Linux中ls命令用法

时间:2021-09-08 22:14:23

ls 命令的含义是list显示当前目录中的文件名字。注意不加参数它显示除隐藏文件外的所有文件及目录的名字。

 

 1)ls –a 显示当前目录中的所有文件,包含隐藏文件

命令:

aijian.shi@U-aijian-shi:~/Downloads$ ls -a

 

输出:

1 aijian.shi@U-aijian-shi:~/Downloads$ ls -a
2 . *-installer-beta.apk Zombiesrunfree.apk
3 .. *-installer-beta.zip 照片资料
4 1.07.apk Pokémon.GO_com.nianticlabs.pokemongo.apk 软件下载
5 com_pokemongo.apk Psiphon3.apk 邮件附件下载
6 Green.apk yxzx.apk 雏鹰日志

ps:隐藏文件是在文件名字以“.”(英文句号)开头的文件

2)ls –l 显示文件及其详细信息

命令:

aijian.shi@U-aijian-shi:~/Downloads$ ls -l

输出:

 1 aijian.shi@U-aijian-shi:~/Downloads$ ls -l
2 total 207440
3 -rw-r--r-- 1 aijian.shi tdsw1 6023990 Aug 9 15:53 1.07.apk
4 -rw-r--r-- 1 aijian.shi tdsw1 62823571 Aug 9 16:43 com_pokemongo.apk
5 -rw-r--r-- 1 aijian.shi tdsw1 7193125 Aug 9 16:05 Green.apk
6 -rw-r--r-- 1 aijian.shi tdsw1 5406068 Mar 23 21:31 *-installer-beta.apk
7 -rw-r--r-- 1 aijian.shi tdsw1 4572221 Aug 8 19:16 *-installer-beta.zip
8 -rw-r--r-- 1 aijian.shi tdsw1 62823571 Aug 8 15:28 Pokémon.GO_com.nianticlabs.pokemongo.apk
9 -rw-r--r-- 1 aijian.shi tdsw1 6447294 Aug 9 16:15 Psiphon3.apk
10 -rw-r--r-- 1 aijian.shi tdsw1 9789834 Aug 9 19:39 yxzx.apk
11 -rw-r--r-- 1 aijian.shi tdsw1 47297545 Aug 9 19:50 Zombiesrunfree.apk
12 drwxr-xr-x 2 aijian.shi tdsw1 4096 Aug 1 14:58 照片资料
13 drwxr-xr-x 3 aijian.shi tdsw1 4096 Aug 3 14:56 软件下载
14 drwxr-xr-x 4 aijian.shi tdsw1 4096 Aug 5 13:16 邮件附件下载
15 drwxr-xr-x 2 aijian.shi tdsw1 4096 Aug 3 16:17 雏鹰日志

在这里,total 207440表示当前目录下文件大小总和为207440K。

以最后一行输出为例,

drwxr-xr-x 第一个字符有3种情况:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件。显然最后的“雏鹰日志”是一个目录文件。

后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。每组中“r”、“w”、“x”三个字符分别代表读、写、执行的权限,若没有其中的任何一个权限则用“-”表示。执行的权限有两个字符可选,最常见的一个是“x”代表可执行,另一个是s”代表套接口文件。

      紧接着的数字“2”代表 “雏鹰日志”这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)。(如果这只是一个普通文件,那“2”就代表这个文件有两个别名,这个文件被人创建了一个硬链接文件)

      后面的aijian.shi代表这个文件(目录)的属主(Owner)为用户aijian.shi 

      再接下来的tdsw1代表这个文件(目录)所属的用户组(Group)为组tdsw1(本人软件组) 

      4096 代表文件的大小(字节数),目录的大小总是为4096字节。

Aug   3   16:17代表文件(目录)的修改时间。

“雏鹰日志“代表文件(目录)在名字。

 

3)文件名颜色的含义

默认色代表普通文件。例:install.log

绿色代表可执行文件。例:rc.news

红色代表tar包文件。    例:vim-7.1.tar.bz2

      蓝色代表目录文件。   例:aa

      水红代表图象文件。   例:Sunset.jpg

      青色代表链接文件。   例:rc4.d  (此类文件相当于快捷方式)

      黄色代表设备文件。   例:fd0

ps:设置显示彩色目录列表方法
      打开/etc/bashrc, 加入如下一行:
     alias ls="ls --color"
     下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
    1. 蓝色-->目录
    2. 绿色-->可执行文件
    3. 红色-->压缩文件
    4. 浅蓝色-->链接文件
    5. 灰色-->其他文件

 

4)几个比较常用的指令和参数。

 

只列出子目录
   1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
   2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

计算当前目录下的文件数和目录数
   下面命令可以分别计算当前目录下的文件和目录个数:
   # ls -l * |grep "^-"|wc -l ---- to count files
   # ls -l * |grep "^d"|wc -l ----- to count dir

 

-t按最后修改时间排序。

-S按文件大小排序。(大写的S

-r排序时按倒序。

-h显示文件大小时增加可读性(例:1K 234M 2G

 

 

5)其他

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-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 一行只输出一个文件。

--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。