UNIX Shell 编程(1)

Unix只能识别3种基本的文件类型:普通文件、目录文件和特殊文件。
普通文件:any file on the system that contains data, test, program instructions, or just about anything else.

统计文件中的单词数:wc命令
如:
[root@localhost test]# wc Makefile
 22 84 600 Makefile
第一个数字表示文件Makefile包含的行数;第二个数字表示文件包含的单词数目;第三个数字表示文件包含的字符数。
命令参数:
-l 表示显示行数
-c 表示显示字符数
-w 表示显示单词数

显示工作目录:pwd命令
如:
[root@localhost test]# pwd
/tools/test

ls命令详细说明:
[root@localhost test]# ls -l
total 44
drwxrwxrwx 8 1000 1000 4096 2006-04-01 14:42 make-3.81
-rw-r--r-- 1 root root 600 2009-04-13 15:45 Makefile
-rw-r--r-- 1 root root 364 2009-04-13 16:01 Makefile2
-rwxrwxr-x 1 root root 4995 2009-04-03 15:43 test_endian
-rw-r--r-- 1 root root 215 2009-04-03 15:43 test_endian.c
——————
第一行说明文件占用存储空间的块数。
后续行显示目录中每个文件的详细信息。

链接文件:ln命令
命令格式:ln from to
它类似于Windows平台上的快捷方式。
如:
ln abc writeback
ls -l
显示:
total 48
-rw-r--r-- 2 root root 13 2009-04-13 17:45 abc
-rw-r--r-- 1 root root 6 2009-04-13 17:39 collect
-rw-r--r-- 1 root root 6 2009-04-13 17:39 mon
-rw-r--r-- 1 root root 6 2009-04-13 17:38 wb
-rw-r--r-- 1 root root 6 2009-04-13 17:34 wbx
-rw-r--r-- 2 root root 13 2009-04-13 17:45 writeback
注:数字2表示链接数为2,这意味着一个文件可以链接多次。
执行:
[root@localhost programs]rm abc
rm: remove regular file `abc'? y
[root@localhost programs]# ls
collect mon wb wbx writeback
[root@localhost programs]# ls -l
total 40
-rw-r--r-- 1 root root 6 2009-04-13 17:39 collect
-rw-r--r-- 1 root root 6 2009-04-13 17:39 mon
-rw-r--r-- 1 root root 6 2009-04-13 17:38 wb
-rw-r--r-- 1 root root 6 2009-04-13 17:34 wbx
-rw-r--r-- 1 root root 13 2009-04-13 17:45 writeback
————————————————
文件writeback的链接数变成1了;文件仍然存在,所以它与Windows平台的快捷方式是有区别的。
ln最通常的用途是链接不同目录中的文件。
链接文件的唯一限制是,链接在一起的文件必须共存于同一文件系统。
要链接到不同文件系统中的文件,可以给ln命令加-s选项,这样可以建立一个符号化链接。

 

符号化链接与初始链接有一点不同:符号化链接指向初始文件,如初始文件被删除,该符号化链接则不起作用。
如:
[root@localhost programs]# ln -s wb wbb
[root@localhost programs]# ls -l
total 44
-rw-r--r-- 1 root root 6 2009-04-13 17:39 collect
-rw-r--r-- 1 root root 6 2009-04-13 17:39 mon
-rw-r--r-- 1 root root 6 2009-04-13 17:38 wb
lrwxrwxrwx 1 root root 2 2009-04-14 10:26 wbb -> wb
-rw-r--r-- 1 root root 6 2009-04-13 17:34 wbx
-rw-r--r-- 1 root root 13 2009-04-13 17:45 writeback
注意:wbb文件类型显示为1,表示它是一个符号化链接。