Linux核心应用命令速查
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第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支持的文件系统非常多。