ls命令适用于Ubuntu、Debian、Fedora、Red Hat、SUSE、CentOS等Linux系统。linux用户和系统管理员无法离开这个两个字母的命令,了解ls命令的威力可以让你使用linux更加丝滑。
让我们看一下这个强大的ls命令的15个实用示例。
1.ls -t打开最后编辑的文件
使用ls、head和vi命令的组合来打开当前目录中的最后编辑文件,如下所示。
$ vi ls -t | head -1
ls -t按修改时间对文件进行排序,显示最后编辑的文件在前面。head -1选择第一个文件。
2. ls -1每行显示一个文件
使用-1选项以每行一个条目的方式显示。
$ ls -1
bin
boot
cdrom
dev
etc
home
initrd
3. 使用ls -l显示有关文件/目录的所有信息
显示文件/目录的长列表信息。
$ ls -l
total 4
-rw-r--r-- 1 root root 2311 Jan 11 14:55 Dockerfile
第1个字符 - 文件类型:第一个字符指定文件类型。
第1个字段 - 文件权限:接下来的9个字符指定文件的权限。每3个字符分别对应用户、组和其他用户的读、写、执行权限。
第2个字段 - 链接数量:第二个字段指定该文件的链接数量。在此示例中,1表示只有一个指向该文件的链接。
第3个字段 - 拥有者:第三个字段指定文件的所有者。
第4个字段 - 拥有组:第四个字段指定文件所属的组。
第5个字段 - 大小:第五个字段指定文件的大小。
第6个字段 - 最后修改日期和时间:第六个字段指定文件的最后修改日期和时间。
第7个字段 - 文件名:最后一个字段是文件名。
4. 使用ls -lh以易读的格式显示文件大小
使用ls -lh(h表示人类可读形式),以易于阅读的格式显示文件大小,即M表示MB,K表示KB,G表示GB。
$ ls -l
-rw-r--r-- 1 root root 2311 Jan 11 14:55 Dockerfile
$ ls -lh
-rw-r--r-- 1 root root 2.3K Jan 11 14:55 Dockerfile
5.使用ls -ld显示目录信息
当使用“ls -l”时,您将获取目录内容的详细信息。但是,如果您想要显示目录的详细信息,则可以使用-d选项。
$ ls -ld /etc
drwxr-xr-x 138 root root 12288 Jan 18 15:25 /etc
6.使用ls -lt根据最后修改时间对文件排序
使用-t选项按最后修改时间的顺序排序文件名。与-l选项结合使用时,您会发现它非常方便。
$ ls -lt
total 76
drwxr-xr-x 2 root root 4096 Jan 25 14:38 back
drwx------ 7 root root 4096 Jan 25 14:38 root
drwxrwxrwt 18 root root 4096 Jan 25 14:36 tmp
drwxr-xr-x 36 root root 1080 Jan 25 14:36 run
.......
7.使用ls -ltr根据最后修改时间(以相反顺序)对文件排序
按最后修改时间的倒序对文件名进行排序。这将显示在列表超过一页时最后编辑的文件显示在最后一行,
$ ls -ltr
drwxr-xr-x 2 root root 4096 Aug 1 2020 srv
drwxr-xr-x 2 root root 4096 Aug 1 2020 mnt
drwx------ 2 root root 16384 Oct 19 14:38 lost+found
.......
8.使用ls -a(或)ls -A显示隐藏文件
使用“-a选项”显示目录中的所有隐藏文件。Unix中的隐藏文件以其文件名中的“.”开头。
$ ls -a
它将显示所有文件,包括“.”(当前目录)和“..”(上级目录)。
要显示隐藏文件,但不显示“.”(当前目录)和“..”(上级目录),请使用选项-A。
9.使用ls -R递归显示文件
ls -R /etc 要递归显示所有文件,请使用-R选项。当您从/开始时,它会递归地显示整个文件系统中的所有非隐藏文件。
10.使用ls -i显示文件的inode号
有时,您可能想要知道文件的inode号以进行内部维护。使用-i选项来显示inode号,如下所示。比如使用inode号可以删除文件名中带有特殊字符的文件
$ ls -i
1572866 dir1 1572867 test
11.使用ls -q在打印非图形控制字符时使用问号代替。
Unix系统中,文件名中可能包含非图形的控制字符,这些字符无法直接在终端中显示。使用“ls -q”命令,可以将这些控制字符替换为问号,以便更清晰地显示文件名。这对于在终端中查看文件列表时,防止控制字符干扰可读性非常有用。
ls -q
12.使用ls -n显示文件的UID和GID
以数值格式显示uid和gid,而不是名称。
$ ls -l ~/.bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 /root/.bash_profile
$ ls -n ~/.bash_profile
-rw-r--r--. 1 0 0 176 Dec 29 2013 /root/.bash_profile
13.使用ls -F对文件进行可视化分类
使用'ls -l'然后检查第一个字符以确定文件类型可能有些麻烦。您可以使用-F来对不同类型的文件进行分类,每种类型都有不同的特殊字符。
$ ls -F
dir1/ test
在上面的输出中,
/ 目录
没有/ 普通文件
@ 链接文件
* 可执行文件
14.使用ls -F对文件进行颜色可视化分类
通过以不同的颜色显示文件来识别文件类型是另一种分类文件的方法。在上面的输出中,目录以蓝色显示,符号链接以绿色显示,默认颜色显示普通文件。
$ ls --color=auto
15.有用的ls命令别名
可以将一些常用的ls选项放在上面,并将其作为别名使用。
以可读形式长列表显示文件大小。别名ll="ls -lh" 通过附加特殊字符对文件进行分类。别名lv="ls -F" 通过颜色和特殊字符进行文件分类。别名ls="ls -F --color=auto"
以上ls范例覆盖了大多数使用场景,希望能对你使用linux 有所帮助。