查看文件和目录:ls

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”时再次强调。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值