您所在的位置:读书频道 > 操作系统 > Linux > 7.2.1 查看文件和目录:ls

7.2.1 查看文件和目录:ls

2007-09-27 09:58 鸟哥 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜》一书全面而详细地介绍了Linux操作系统,第六章介绍的是Linux的文件属性与目录配置,本节是查看文件和目录:ls。

AD:

7.2  管理文件与目录

谈了目录与路径之后,下面讨论文件的基本管理。文件与目录的管理就是“显示属性”、“复制”、“删除文件”及“移动文件或目录”等等。文件与目录的管理在Linux中很重要,特别是,每个人家目录的数据也都需要管理。我们在执行程序后,系统默认有一个搜索路径顺序,如果有两个以上相同文件名的执行文件分别在不同的路径,就需要特别注意。这里我们来谈一谈文件与目录的基本管理。

7.2.1  查看文件和目录:ls

[root@linux ~]# ls [-aAdfFhilRS] 目录名
[root@linux ~]# ls [--color={none,auto,always}] 目录名
[root@linux ~]# ls [--full-time] 目录名
参数:
-a  : 全部文件,连同隐藏文件(开头为 . 的文件)一起列出来。
-A  : 全部文件,连同隐藏文件,但不包括 . 与 .. 这两个目录,一起列出来。
-d  : 仅列出目录本身,而不是列出目录内的文件数据
-f  : 直接列出结果,而不进行排序(ls默认会以文件名排序)。
-F  : 根据文件、目录等信息,附加数据结构,例如:
*:表示可执行文件;/:表示目录;=:表示套接字文件;|:表示FIFO文件。
-h  : 列出文件大小(例如GB, KB等等)。
-i  : 列出inode位置,而非列出文件属性。
-l  : 列出长数据串,包含文件的属性等等。
-n  : 列出UID与GID而非用户与用户组的名称(UID与GID会在账号管理提到)。
-r  : 将排序结果反向输出,例如:原文件名由小到大,反向则为由大到小。
-R  : 连同子目录内容一起列出来。
-S  : 按文件大小排序。
-t  : 按时间排序
--color=never        : 不要按照文件属性用不同的颜色显示。
--color=always       : 显示颜色
--color=auto         : 让系统自行按照设置来判断是否使用颜色
--full-time          : 以完整时间模式(包含年、月、日、时、分)输出
--time={atime,ctime} : 输出存取时间或改变权限属性时间(ctime)
而非内容更改时间(modification time)
范例:

在Linux系统中,ls命令可能是最常执行的。因为我们随时都要知道文件或目录的相关信息。不过,Linux文件所记录的信息实在是太多了,ls没有必要全部都列出来。所以,只使用ls时,默认显示的只有非隐藏文件的文件名、以文件名进行排序及文件名的颜色显示。举例来说,执行命令ls /etc之后,只显示经过排序的文件名,蓝色显示目录,白色显示普通文件,如此而已。
如果还要加入其他显示信息时,可以加入前面提到的哪些参数呢?举例来说,我们一直用 -l显示长数据内容,用a将隐藏文件也一起显示出来。

范例一:将家目录下的所有文件列出来(含属性与隐藏文件)
[root@linux ~]# ls -al ~
total 252
drwxr-x---   9 root root  4096 Jul 16 23:40 .
drwxr-xr-x  24 root root  4096 Jul 16 23:45 ..
-rw-------   1 root root  1491 Jun 25 08:53 anaconda-ks.cfg
-rw-------   1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r--   1 root root    24 Dec  4  2004 .bash_logout
-rw-r--r--   1 root root   191 Dec  4  2004 .bash_profile
-rw-r--r--   1 root root   395 Jul  4 11:45 .bashrc
-rw-r--r--   1 root root 68495 Jun 25 08:53 install.log
-rw-r--r--   1 root root  5976 Jun 25 08:53 install.log.syslog
drwx------   2 root root  4096 Jul  4 16:03 .ssh
-rw-------   1 root root 12613 Jul 16 23:40 .viminfo
# 这个时候会看到以 . 为开头的几个文件,以及目录文件 ./../.ssh等等,
# 不过,目录文件都是以深蓝色显示,有点不容易看清楚。

范例二:承上题,不显示颜色,但在文件名末尾显示出该文件名表示的类型(type)
[root@linux ~]# ls -alF --color=never  ~
total 252
drwxr-x---   9 root root  4096 Jul 16 23:40 ./
drwxr-xr-x  24 root root  4096 Jul 16 23:45 ../
-rw-------   1 root root  1491 Jun 25 08:53 anaconda-ks.cfg
-rw-------   1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r--   1 root root    24 Dec  4  2004 .bash_logout
-rw-r--r--   1 root root   191 Dec  4  2004 .bash_profile
-rw-r--r--   1 root root   395 Jul  4 11:45 .bashrc
-rw-r--r--   1 root root 68495 Jun 25 08:53 install.log
-rw-r--r--   1 root root  5976 Jun 25 08:53 install.log.syslog
drwx------   2 root root  4096 Jul  4 16:03 .ssh/
-rw-------   1 root root 12613 Jul 16 23:40 .viminfo
# 注意显示结果的第一行,知道为什么我们会使用类似 ./command
# 之类的命令了吧?因为 ./ 表示“当前目录下”。什么是FIFO/套接字呢?
# 请参考前一章的介绍。

范例三:完整显示文件的修改时间 *(modification time)
[root@linux ~]# ls -al --full-time  ~
total 252
drwxr-x---   9 root root  4096 2005-07-16 23:40:13.000000000 +0800 .
drwxr-xr-x  24 root root  4096 2005-07-16 23:45:05.000000000 +0800 ..
-rw-------   1 root root  1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg
-rw-------   1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history
-rw-r--r--   1 root root    24 2004-12-04 05:44:13.000000000 +0800 .bash_logout
-rw-r--r--   1 root root   191 2004-12-04 05:44:13.000000000 +0800 .bash_profile
-rw-r--r--   1 root root   395 2005-07-04 11:45:16.000000000 +0800 .bashrc
-rw-r--r--   1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log
-rw-r--r--   1 root root  5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog
drwx------   2 root root  4096 2005-07-04 16:03:24.000000000 +0800 .ssh
-rw-------   1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo
# 请仔细看,“时间”字段变了。变成较为完整的格式。
# 一般来说,ls -al仅列出当前短格式的时间,有时不会列出年份,
# 通过 --full-time可以查看到比较正确的完整时间格式。

ls的用法还有很多,包括查看文件所在i-node的ls -i参数,以及用来进行文件排序的 -S参数,还有用来查看不同时间的 --time=atime等参数。这些参数之所以存在,是因为Linux文件系统记录了很多有用信息。那么,Linux的文件系统中,这些与权限、属性有关的数据放在哪里呢?放在i-node里。这部分我们会在下一章继续深入介绍。
ls最常用到的还是 -l参数,为此,很多版本在默认情况中,已经将ll(L的小写)设置成为ls -l的意思。其实,这是Bash shell的别名(alias)功能。也就是说,我们直接输入ll就等于是输入ls -l。这部分内容会在介绍“bash shell”时再次强调。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

关于ls  文件  目录  Linux  操作系统  shell  鸟哥  鸟哥的Linux私房菜的更多文章
你需要了解的Linux实用命令大全

Linux系统的魅力之一就是你可以直接从终端使用命令行来管理整个[详细]

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

WebWork in Action中文版
本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院