第2章Linux文件管理命令
2.1 ls:显示文件名
作用:ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。
用法:ls [选项]...[文件]...
主要选项如下。
● -a:列出目录下的所有文件,包括以“.”开头的隐含文件。
● -b:把文件名中不可输出的字符用反斜杠加字符编号的形式列出。
● -c:输出文件的i结点的修改时间,并以此排序。
● -d:将目录像文件一样显示,而不是显示其下的文件。
● -e:输出时间的全部信息,而不是输出简略信息。
● -f -U:对输出的文件不排序。
● -i:输出文件的i结点的索引信息。
● -k:以K字节的形式表示文件的大小。
● -l:列出文件的详细信息。
● -m:横向输出文件名,并以“,”作为分隔符。
● -n:用数字的UID,GID代替名称。
● -o:显示文件的除组信息外的详细信息。
● -p-F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件,“/”表示目录,“@”表示符号链接,“|”表示FIFOs,“=”表示套接字(sockets)。
● -q:用?代替不可输出的字符。
● -r:对目录反向排序。
● -s:在每个文件名后输出该文件的大小。
● -t:以时间排序。
● -u:以文件上次被访问的时间排序。
● -x:按列输出,横向排序。
● -A:显示除“.”和“..”外的所有文件。
● -B:不输出以“~”结尾的备份文件。
● -C:按列输出,纵向排序。
● -G:输出文件的组的信息。
● -L:列出链接文件名而不是链接到的文件。
● -N:不限制文件长度。
● -Q:把输出的文件名用双引号括起来。
● -R:列出所有子目录下的文件。
● -S:以文件大小排序。
● -X:以文件的扩展名(最后一个“.”后的字符)排序。
● -1:一行只输出一个文件。
SELinux选项如下。
● -Z:显示安全上下文和用户、用户组相关文件。
● --scontext:显示安全上下文和相关文件。
[大小]可以是以下的单位(单位前可加上整数)。
kB:1000,K:1024,mB:1000000,M:1048576,还有G,T,P,E,Z,Y。
应用实例如下。
(1)ls命令的颜色选项
ls命令是Linux系统中使用频率最高的命令,它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色,其中蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,加粗的黑色表示符号链接,灰色表示其他用法文件。ls最常使用的是ls -l。
(2)使用窍门
要想看到ls命令的所有选项,可以通过在shell提示下使用命令man ls来阅读其说明书页。如果想打印这个说明书页,可以在shell提示下,使用命令man ls | col -b | lpr。
(3)使用命令ls -a
现在你将会看到以点开始的文件:
[cjh1@localhost ~]$ ls -a . .. .bash_logout .bash_profile .bashrc .mozilla
隐藏文件多数是配置文件。它们给程序、窗口管理器、Shell等设置首选项。它们被隐藏的目的是防止用户对其无意的篡改。当你在目录中搜寻某项事物时,你一般不是在寻找这些配置文件,因而当你在Shell下查看目录内容时把它们隐藏起来可以避免屏幕的拥挤。使用ls -a命令来查看所有的文件会向你显示大量的细节,但是通过添加更多的选项,你可以看到更多的细节。如果你想查看一个文件或目录的大小、创建时间等,在ls -a命令后面添加long(长)选项(-l)就可以了。这个命令显示了文件创建的日期、大小、所有者、权限等。当你想使用ls命令来查看目录内容时,你不必位于该目录下。例如,要在你的主目录中查看/usr目录中的内容,应使用命令:
[cjh1@localhost ~]$ ls -al /usr 总计 272 drwxr-xr-x 14 root root 40962008-10-30 . drwxr-xr-x 23 root root 4096 03-23 10:31 .. drwxr-xr-x 2 root root 65536 03-04 12:59 bin ……
(4)查看文件被修改或被访问的时间
我们查看文件的属性时,会发现它的时间标记,比如下面的08-21 22:26。这个时间并不代表文件被创建的时间,而是代表文件被访问或被修改的时间。文件被修改的时间比较好理解,比如我们可以用编辑器来修改文本文件,然后保存一下,这样文件的时间就变了。下面是一个例子:
[cjh1@localhost ~]$ ls -l adduml02.sh -rw-rw-r--1 cjh1 cjh1 0 03-23 11:11 adduml02.sh
(5)查看当前Linux支持的文件类型
不同版本的Linux所支持的文件系统类型和种类都有所不同,如何知道自己使用的Linux发行版的文件系统类型呢?下面以RHEL 5为例,讲解如何操作。以超级用户权限登录Linux,进入/lib/modules/2.6.18-164.el5/kernel/fs目录,执行下面的命令:
# cd /lib/modules/2.6.18-164.el5/kernel/fs # ls autofs4 cramfs ext3 fscache hfsplus lockd nfsd vfat cachefiles dlm ext4 fuse jbd msdos nls cifs ecryptfs fat gfs2 jbd2 nfs squashfs configfs exportfs freevxfs hfs jffs2 nfs_common udf
注意 不同Linux发行版本的fs目录的位置可能有所不同,会显示当前系统所支持的文件系统种类。可以看到,笔者使用的RHEL 5支持的文件系统非常多。