ls命令及常用参数详解
ls命令及常用参数详解
ls命令及常用参数详解
? \color{red}{\diamondsuit} ?
ls命令详解
ls命令:全称list,显示文件的文件名与相关属性。(目前工作目录所含之文件及子目录)
ls [-aAdfFhilnrRSt] 文件名或目录名称..
ls [--color={never,auto,always}] 文件名或目录名称..
ls [--full-time] 文件名或目录名称..
参数 | 含义 |
---|---|
-a | all, 显示所有文件及目录 (. 开头的隐藏文件也会列出) |
-A | 同-a ,但不列出 “.” (目前目录) 及 “…” (父目录) |
-l | 以长格式显示目录下的内容列表,包括文件的权限、链接数、所有者名称和组所有者、文件大小、最后修改日期时间和文件/目录名称 |
-r | reverse,将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小 |
-R | –recursive,连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来 |
-S | sort by file size。根据文件大小排序,而不是文件名 |
-t | sort by modification time,以文件修改时间排序(从最新开始排) |
-d | 仅列出目录本身,而不是列出目录内的文件数据(常用) |
-f | 直接列出结果,而不进行排序 (ls 默认以文件名排序) |
-F | 根据文件、目录等信息,给予附加数据结构,例如:*:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件 |
-g | 像-l,但是不列出所有者 |
-G, | no-group, 不列出任何有关于组的信息 |
–author | 打印出每一个文件的作者 |
-n | 类似-l,用数字UID和GID代替名称 |
-h | 将文件大小以人类较易读的方式(例如 GB KB 等等)列 |
-c | 输出文件的ctime(文件状态最后更改的时间),并根据ctime排序 |
-C | 由上至下的列出项目 |
--full-time | 显示完整时间格式 |
--time | 输出 access 时间或改变权限属性时间 (ctime)而非内容变更时间 (modification time) |
--color=never | 不要依据文件特性给予颜色显示 |
--color=always | 显示颜色 |
以上是我摘抄的比较常用的参数。实际上还有很多,需要的使用 ls --help 或 man ls 或 info ls自己查询
范例1:将主文件夹下的所有文件列出来(含属性与隐藏文件)
[root@study ~]# ls -al ~
total 56
dr-xr-x---. 5 root root 4096 Jun 4 19:49 .
dr-xr-xr-x. 17 root root 4096 May 4 17:56 ..
-rw-------. 1 root root 1816 May 4 17:57 anaconda-ks.cfg
-rw-------. 1 root root 6798 Jun 4 19:53 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-rw-rw-. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 176 Jun 3 00:04 .bashrc_test
drwx------. 4 root root 29 May 6 00:14 .cache
drwxr-xr-x. 3 root root 17 May 6 00:14 .config
可以看到以 . 为开头的几个文件,以及目录档 (.) (…) .config
范例2:承上题,不显示颜色,但在文件名末显示出该文件名代表的类型(type)
[root@study ~]# ls -alF --color=never
total 56
dr-xr-x---. 5 root root 4096 Jun 4 19:49 ./
dr-xr-xr-x. 17 root root 4096 May 4 17:56 ../
-rw-------. 1 root root 1816 May 4 17:57 anaconda-ks.cfg
-rw-------. 1 root root 6798 Jun 4 19:53 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-rw-rw-. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 176 Jun 3 00:04 .bashrc_test
drwx------. 4 root root 29 May 6 00:14 .cache/
drwxr-xr-x. 3 root root 17 May 6 00:14 .config/
范例3:完整显示文件的修改时间 (modification time)
[root@study ~]# ls -al --full-time
total 56
dr-xr-x---. 5 root root 4096 2015-06-04 19:49:54.520684829 +0800 .
dr-xr-xr-x. 17 root root 4096 2015-05-04 17:56:38.888000000 +0800 ..
-rw-------. 1 root root 1816 2015-05-04 17:57:02.326000000 +0800 anaconda-ks.cfg
-rw-------. 1 root root 6798 2015-06-04 19:53:41.451684829 +0800 .bash_history
-rw-r--r--. 1 root root 18 2013-12-29 10:26:31.000000000 +0800 .bash_logout
-rw-r--r--. 1 root root 176 2013-12-29 10:26:31.000000000 +0800 .bash_profile
-rw-rw-rw-. 1 root root 176 2013-12-29 10:26:31.000000000 +0800 .bashrc
-rw-r--r--. 1 root root 176 2015-06-03 00:04:16.916684829 +0800 .bashrc_test
drwx------. 4 root root 29 2015-05-06 00:14:56.960764950 +0800 .cache
drwxr-xr-x. 3 root root 17 2015-05-06 00:14:56.975764950 +0800 .config
可以看到,上面的“时间”字段变为完整的格式。一般来说, ls -al 仅列出目前短格式的时间,有时不会列出年份,
借由 --full-time
可以查阅到比较正确的完整时间格式。
其实 ls 的用法还有很多,包括查阅文件
注意:有时候会看到输入 ll
就等于是输入 ls -l
是一样的。
Linux中执行ls -l后,显示的各列代表什么意思?
比如
drwxr-xr-x 2 root root 4096 Mar 14 04:03 bin
drwxr-xr-x 4 root root 1024 Feb 15 14:45 boot
图片来自[鸟哥Linux私房菜 基础版-第四版].pdf
图片来自博主Linux ls -l 输出信息每列所代表的含义
第1列:第一个字母d表示文件类型。’-‘(减号):普通文件;d:目录文件;l(小写l字符):链接文件;b:区块设备文件;c:字符设备文件;s:数据接口文件;p:数据输送档(FIFO, pipe);。
往下的9个字符是关于文件权限(r:read读、w:write写;x: execute可执行权限,-:无权限)这三个
权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
前3个rwx字符是文件的所有者权限,第二组r-x是组用户权限(组中所有者的权限),最后的r-x是其他用户权限。
第2列:有多少链接指向该文件。
第3列:该文件/文件夹的所有者。
第4列:该文件/文件夹的所有组名。
第5列:文件/文件夹的大小(以字节为单位)。目录的大小总是4096字节。
第6列:表示文件最后的修改时间。
第7列:表示文件名或者目录名。
如果看完上面还是有点懵懵,那用下面几道例题加深下理解吧
例题
-rwxr-xr--
可以把它划分为四部分:[-][rwx][r-x][r--]
- -:代表这个文件类型文件;
- rwx:拥有者的权限,本例中为可读、可写、可执行;
- r-x:同群组使用者权限,本例中为可读可执行;
- r--:其他使用者权限,本例中为可读,就是只读之意.
例题:假设test1, test2, test3同属于testgroup这个群组,如果有下面的两个文件,请说明两个文件的拥有者与其相关的权限?
-rw-r--r-- 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai
答:
文件test.txt的拥有者为root,所属群组为root。至于权限方面则只有root这个帐号可以存取此文件,其他人则仅能读此文件;
另一个文件ping_tsai的拥有者为test1,而所属群组为testgroup。其中test1 可以针对此文件具有可读可写可执行的权力;而同群组的test2, test3两个人与test1同样是testgroup的群组帐号,则仅可读可执行但不能写(亦即不能修改);
至于没有加入testgroup这一个群组的其他人则仅可以读,不能写也不能执行!
例题:承上一题如果目录为下面的样式,请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?
drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
答:
文件拥有者test1[rwx]可以在本目录中进行任何工作;
而testgroup这个群组[r-x]的帐号,例如test2, test3亦可以进入本目录进行工作,但是不能在本目录下进行写入的动作;
至于other的权限中[r–]虽然有r,但是由于没有x的权限,因此others的使用者,并不能进入此目录!
如果使用-n参数,看到的是这样的,0表示什么意思?
如果懵逼,那你需要去了解linux的UID和GID
drwxr-xr-x 2 0 0 4096 Mar 14 04:03 bin
drwxr-xr-x 4 0 0 1024 Feb 15 14:45 boot
drwxr-xr-x 6 0 0 4096 Jan 12 10:26 data
drwxr-xr-x 10 0 0 3520 Apr 26 15:38 dev
[root@study ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Dec 29 2013 .bashrc
集思广益,整理不易
国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/7/isos/
官网:http://isoredirect.centos.org/centos
官方网站:http://mirror.centos.org/centos/7/iso
参考文章来源:
[鸟哥Linux私房菜 基础版]
Linux ls 命令
Linux ls -l 输出信息每列所代表的含义
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!