1. 各类shell介绍,主要两个类:
①Bounce shell:bash sh,sh,ksh,zsh.
②C shell:csh,tcsh
2. 不同shell安装地点:
① Bounce shell → /bin/sh
② Korn shell → /bin/ksh或/usr/bin/ksh
③ Bounce Again shell → /bin/bash和/bin/sh
④ Z shell → /bin/zsh和/bin/sh
⑤ C shell → /bin/csh
⑥ TENEX/TOPS C shell → /bin/tcsh
3. 在UNIX中,大多数命令存在磁盘上单独的文件里,各个命令都以文件方式存在。
4. 记录是由一些域组成的,每个域之间是由一个冒号“:”区别的。例如:
ranga:x:500:100:Sriranga Veeraraghavan:/home/ranga:/bin/bash
其中,最后一个域存储的是与帐号相关的shelll,倒数第二个域存储的是帐号的主目录。
5. 各个操作系统默认的shell:
① Solaris → Bourne shell或C shell
② HP-UX → POSIX shell(它是ksh的一变种)
③ BSD → korn shell或C shell
④ Mac OS X → Z shell或C shell
⑤ Linux → Bourne Again shell
6. 一般情况下,每个shell都会使用/etc目录下默认的或系统配置文件以及主目录下的一系列个人配置文件。
7. bash初始化过程(相关的初始化文件,即init文件有:/etc/profile、.bash_profile、.bash_login和.profile):
① bash检查文件/etc/profile是否存在
② 如果存在,bash就读取该文件;否则,跳过。
③ bash检查主目录下的文件.bash_profile是否存在。
④ 如果存在,bash就读取该文件;否则,跳过。
⑤ bash检查主目录下的文件.bash_login是否存在。
⑥ 如果存在,bash就读取该文件;否则,跳过。
⑦ bash检查主目录下的文件.profile是否存在。
⑧ 如果存在,bash就读取该文件;否则,跳过。
8. shell的初始化文件都了配置一个完整的工作路径。例如,启动文件.profile中放置了你的shell初始化的所有设置,可以添,但是至少要放置①命令的目录列表。②命令手册的目录列表。
9. 初始化文件内容:
① PATH → 指定shell查找命令的目录。
如,PATH=/bin:/usr/bin(其中用“:”分开不同目录)
② MANPATH → 指定shell帮助手册的位置
如,MANPATH=/usr/man:/usr/share/man
10. shell能在两种模型下运行:
① 交互式启动shell
如,$ /bin/basj
② 非交互式启动shell
如,$ /bin/sh filename(filename是包含可执行命令的文件名),用vi编辑filename
11. shell脚本就是包含一系列命令的文件,为了使shell脚本能够运行必须:
① 把文件标为可执行:chmod a+x filename
② 确保使用了适当的shell来执行脚本:须加入一行“幻行”:
#!shell(其中shell为执行脚本需要的shell名称,如/bin/sh,/bin/ksh等等),添加这一条以后执行此脚本,只要输入filename即可。
12. shell脚本的注释是“#”
13. manual page片段:
14. wc结果格式:文件行数 文件单词数 文件字符数 文件名
15. 管道中的每个命令都是作为一个独立的进程运行的,管道的退出状态就是最后一个命令的退出状态。
16. 文件描述符:是一种机制,用它把一个数字和一文件关联起来,然后使用该数字读写该文件,它也叫文件句柄。
17. cmd1 | cmd2 | … | cmdN 这是一个管道的例子,管道符号|将一个命令的输出重定向到另一个命令的输入,即把cmd1的标准输出和cmd2的标准输入关联起来。
18. cmd | tee file 此条语句可以把cmd命令产生的结果既在屏幕上显示又存入file文件中去。
19. 每个命令打开的3个及其相应的文件描述符:
Ø STDIN 0
Ø STDOUT 1
Ø STDERR 2
20. 在输出重定向中”>”与”>>”的区别:前者将覆盖原文件内容,后者是在原文件后追加。
21. exec命令将任何文件和文件描述符关联起来。
22. cmd 1>file1 2>file2或cmd >file1 2>file2都表示把标准输出重定向到文件file1中,标准重定向到文件file2中。
23. 文件/dev/null是UNIX中用于丢弃输出信息的特殊文件,有时称为bit bucket,如将一命令的输出重定向到/dev/null,那么输出将被丢弃。
24. 用cat命令显示/dev/null文件内容到一文件,该文件内容将被擦除。
$cat /dev/null >file
执行后文件file仍存在,但大小变为0。
25. cmd >>file 2>&,此命令把cmd的标准错误和标准输出追加到同一个文件file中。
26. exec n>-,此命令将关闭文件描述符,此处n是一个打开的文件描述符。
27. file filename,此命令可以的到更多关于filename文件的信息。
28. 硬连接限制:
① 硬连接不能指向目录,只能指向文件。
② 硬连接和它所指的原文件无法辨别,没有方法可以告知一个特定的文件是硬连接还是它所指向的原文件。
29. 一个文件会有多个硬连接,只删除该文件并不能有效的释放磁盘空间,要将所有硬连接都删除才可以。
30. 符号连接(symbolic link或symlink)是一个存储另一个文件路径的特殊文件。
31. 符号连接即软连接,相当于“快捷方式”。
32. 字符设备文件:是在和设备通信时每次只传输一个字符,通常字符设备代表一个“raw”。
33. 块设备文件:时在设备通信时传递大块大块的数据而不是单个字符。(一般用于访问硬盘和可移动媒体)。
34. ls –l 字符设备文件,该命令的显示结果中在日期前的两个数字是主/次设备号,用这两个数字来标识和字符设备文件相联系的设备驱动程序。
35. mkfifo file,命令来创建命名管道文件。
36. 系统的登陆密码存于/etc/shadow文件中。
37. 改变文件的属主和组命令:chown user:group files(其中user表示系统中的用户名或用户ID,group表示系统中的组名或组ID)。
38. 当你指定另一个用户为你所拥有文件的属主时,你不能重新成为该文件的属主,只能该文件的新属主和超级用户能让你再次成为该文件的属主。
39. 在UNIX中,每个进程都会运行一段进程,一段进程时运行一个程序的实例没。在UNIX中,使用了一条命令,它就会开始执行一段进程。
40. 运行后台进程:在命令后加一个”&”符号。
|
|
|