大家好,欢迎来到IT知识分享网。
Linux命令 – ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写,用来打印出当前目录的清单。如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
1.语法:
ls [选项] [目录或者文件]
2.功能:
列出目录的内容,包括文件和子目录的名称。
3.参数:
-1 每列仅显示一个文件或目录名称。 -a或--all 列出目录下所有文件和目录,包括以 . 开头的隐含文件。 -A或--almost-all 显示所有文件和目录,但不显示现行目录(当前目录)和上层目录(当前目录的父目录)。 -b或--escape 显示脱离字符,即以八进制溢出序列表示不可打印的字符。 -B或--ignore-backups 忽略备份文件和目录,即不列出任何以"~"字符结束的项目。 -c 以更改时间排序,显示文件和目录。 -C 以又上至下,从左到右的直行方式显示文件和目录名称。 -d或--directory 显示目录名称而非其内容。 -D或--dired 用Emacs的模式产生文件和目录列表。 -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效。 -F或--classify 在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。 -g 次参数将忽略不予处理,即类似 -l,但不列出所有者。 -G或--no-group 不显示群组名称。 -h或--human-readable 用"K","M","G"来显示文件和目录的大小。 -H或--si 此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。 -i或--inode 显示文件和目录的inode编号。 -I<范本样式>或--ignore=<范本样式> 不显示符合范本样式的文件或目录名称。 -k或--kilobytes 此参数的效果和指定"block-size=1024"参数相同。 -l 使用详细格式列表,除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。ls -l 等于 ll -L或--dereference 如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。 -m 用","号区隔每个文件和目录的名称。 -n或--numeric-uid-gid 以用户识别码和群组识别码替代其名称。 -N或--literal 直接列出文件和目录名称,包括控制字符。 -o 此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。 -p或--file-type 此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。 -q或--hide-control-chars 用"?"号取代控制字符,列出文件和目录名称。 -Q或--quote-name 把文件和目录名称以""号标示起来。 -r或--reverse 反向排序。 -R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。 -s或--size 显示文件和目录的大小,以区块为单位。 -S 用文件和目录的大小排序。 -t 用文件和目录的更改时间排序。 -T<跳格字符>或--tabsize=<跳格字数> 设置跳格字符所对应的空白字符数。 -u 以最后存取时间排序,显示文件和目录。 同-lt 一起使用:按照访问时间排序并显示。 同-l一起使用:显示访问时间并按文件名排序。 其他:按照访问时间排序。 -U 列出文件和目录名称时不予排序,以文件系统原有的次序列出项目。 -v 文件和目录的名称列表以版本进行排序。 -w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。 -x 以从左到右,由上至下的横列方式显示文件和目录名称。 -X 以文件和目录的最后一个扩展名排序。 --block-size=<区块大小> 指定存放文件的区块大小。 --color=<列表格式> 培植文件和目录的列表格式。 --full-time 列出完整的日期与时间。 --help 在线帮助。 --indicator-style=<标注样式> 在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。 --quoting-syte=<引号样式> 把文件和目录名称以指定的引号样式标示起来。 --show-control-chars 在文件和目录列表时,使用控制字符。 --sort=<排序方式> 配置文件和目录列表的排序方式。 --time=<时间戳记> 用指定的时间戳记取代更改时间。 --version 显示版本信息。
4.显示说明:
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
5.常用范例:
例一: 列出/home/peidachang文件夹下的所有文件和目录的详细资料
命令:ls -l -R /home/peidachang
在使用 ls 命令时要注意命令的格式,在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线“-”或者两个短横线“–”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。比如在以上这条命令“ ls -l -R /home/peidachang”中,“ls” 是命令关键字,“-l -R”是参数,“ /home/peidachang”是命令的操作对象。在这条命令中,使用到了两个参数,分别为“l”和“R”,当然,你也可以把他们放在一起使用,如下所示:
命令:ls -lR /home/peidachang
这种形式和上面的命令形式执行的结果是完全一样的。另外,如果命令的操作对象位于当前目录中,可以直接对操作对象进行操作,ls -l 或者 ll;如果不在当前目录则需要给出操作对象的完整路径,例如上面的例子中,我的当前文件夹是peidachang文件夹,我想对home文件夹下的peidachang文件进行操作,我可以直接输入 ls -lR peidachang,也可以用 ls -lR /home/peidachang。
例二:列出当前目录中所有以“t”开头的目录的详细内容
命令:ls -l t*
可以查看当前目录下文件名以“t”开头的所有文件的信息。其实,在命令格式中,方括号内的内容都是可以省略的,对于命令ls而言,如果省略命令参数和操作对象,直接输入“ ls ”,则将会列出当前工作目录的内容清单。
[root@localhost /]# ls -l t* 总用量 16 -rw-r--r--. 1 root root 1663 5月 12 14:29 anaconda.log -rw-r--r--. 1 root root 2286 5月 12 14:25 dbus.log -rwx------. 1 root root 701 5月 12 14:24 ks-script-chn3kk2k -rw-r--r--. 1 root root 0 5月 12 14:25 packaging.log -rw-r--r--. 1 root root 131 5月 12 14:25 program.log -rw-r--r--. 1 root root 0 5月 12 14:25 sensitive-info.log drwx------. 3 root root 17 5月 12 14:25 systemd-private-c5d0377e4a8d40a884a8a99ea769deed-chronyd.service-qvwwMa drwx------. 3 root root 17 5月 12 14:29 systemd-private-c5d0377e4a8d40a884a8a99ea769deed-colord.service-EnggMp drwx------. 3 root root 17 5月 12 14:30 systemd-private-c5d0377e4a8d40a884a8a99ea769deed-fwupd.service-S3ALd4 drwx------. 3 root root 17 5月 12 14:25 systemd-private-c5d0377e4a8d40a884a8a99ea769deed-ModemManager.service-GT8a2G drwx------. 3 root root 17 5月 12 14:25 systemd-private-c5d0377e4a8d40a884a8a99ea769deed-rtkit-daemon.service-sx5yWE drwx------. 2 root root 6 5月 12 14:30 tracker-extract-files.0 drwx------. 2 root root 6 5月 12 14:25 vmware-root_922-
例三:只列出文件下的子目录
命令:ls -F //usr/lib |grep /$
列出 /usr/lib 文件下面的子目录
[root@localhost /]# ls -F /usr/lib |grep /$ alsa/ binfmt.d/ cups/ debug/ dracut/ environment.d/ firewalld/ firmware/ fontconfig/ games/ grub/ kbd/ kdump/ kernel/ locale/ mdadm/ modprobe.d/ modules/ modules-load.d/ mozilla/ NetworkManager/ ostree/ polkit-1/ python3.6/ realmd/ rpm/ sse2/ sysctl.d/ sysimage/ systemd/ sysusers.d/ tmpfiles.d/ tuned/ udev/
命令:ls -l /usr/lib | grep "^d"
列出 /usr/lib 文件下面的子目录详细情况
[root@localhost /]# ls -l /usr/lib | grep "^d" drwxr-xr-x. 3 root root 18 5月 12 14:18 alsa drwxr-xr-x. 2 root root 6 9月 2 2020 binfmt.d drwxr-xr-x. 9 root root 109 5月 12 14:19 cups drwxr-xr-x. 4 root root 76 5月 12 14:16 debug drwxr-xr-x. 4 root root 236 5月 12 14:17 dracut drwxr-xr-x. 2 root root 33 5月 12 14:17 environment.d drwxr-xr-x. 7 root root 81 5月 12 14:16 firewalld drwxr-xr-x. 84 root root 12288 5月 12 14:20 firmware drwxr-xr-x. 3 root root 19 5月 12 14:17 fontconfig dr-xr-xr-x. 2 root root 6 11月 3 2020 games drwxr-xr-x. 3 root root 21 5月 12 14:16 grub drwxr-xr-x. 6 root root 76 5月 12 14:16 kbd drwxr-xr-x. 2 root root 56 5月 12 14:19 kdump drwxr-xr-x. 3 root root 23 9月 2 2020 kernel drwxr-xr-x. 50 root root 4096 5月 12 14:16 locale drwxr-xr-x. 2 root root 26 5月 12 14:19 mdadm drwxr-xr-x. 2 root root 95 5月 12 14:17 modprobe.d drwxr-xr-x. 4 root root 64 5月 12 14:17 modules drwxr-xr-x. 2 root root 32 5月 12 14:19 modules-load.d drwxr-xr-x. 4 root root 39 5月 12 14:16 mozilla drwxr-xr-x. 6 root root 77 5月 12 14:17 NetworkManager drwxr-xr-x. 2 root root 55 5月 12 14:17 ostree drwxr-xr-x. 2 root root 50 5月 12 14:17 polkit-1 drwxr-xr-x. 3 root root 27 8月 25 2020 python3.6 drwxr-xr-x. 2 root root 74 5月 12 14:19 realmd drwxr-xr-x. 5 root root 4096 5月 12 14:18 rpm dr-xr-xr-x. 2 root root 6 11月 3 2020 sse2 drwxr-xr-x. 2 root root 169 5月 12 14:19 sysctl.d drwxr-xr-x. 2 root root 6 11月 3 2020 sysimage drwxr-xr-x. 16 root root 4096 5月 12 14:19 systemd drwxr-xr-x. 2 root root 81 5月 12 14:19 sysusers.d drwxr-xr-x. 2 root root 4096 5月 12 14:19 tmpfiles.d drwxr-xr-x. 16 root root 4096 5月 12 14:19 tuned drwxr-xr-x. 4 root root 4096 5月 12 14:19 udev
例四:列出目前工作目录下所有名称是s 开头的档案,越新的排最后面
命令:ls -ltr s*
[root@localhost /]# ls -ltr s* lrwxrwxrwx. 1 root root 8 11月 3 2020 sbin -> usr/sbin srv: 总用量 0 sys: 总用量 0 drwxr-xr-x. 175 root root 0 5月 12 14:25 module drwxr-xr-x. 14 root root 0 5月 12 14:25 kernel drwxr-xr-x. 8 root root 0 5月 12 14:25 fs drwxr-xr-x. 16 root root 0 5月 12 14:25 devices drwxr-xr-x. 58 root root 0 5月 12 14:25 class drwxr-xr-x. 6 root root 0 5月 12 14:25 firmware drwxr-xr-x. 35 root root 0 5月 12 14:25 bus drwxr-xr-x. 4 root root 0 5月 12 14:25 dev drwxr-xr-x. 2 root root 0 5月 12 14:25 block drwxr-xr-x. 2 root root 0 5月 12 14:25 power drwxr-xr-x. 2 root root 0 5月 12 14:25 hypervisor
例五:列出目前工作目录下所有档案及目录;目录于名称后加”/”, 可执行档于名称后加”*”
命令:ls -AF
[root@localhost /]# ls -AF bin@ dev/ home/ lib64@ mnt/ proc/ run/ srv/ tmp/ var/ boot/ etc/ lib@ media/ opt/ root/ sbin@ sys/ usr/
例六:计算当前目录下的文件数和目录数
命令:ls -l * |grep "^-"|wc -l
文件个数
[root@localhost /]# ls -l * |grep "^-"|wc -l 181
命令:ls -l * |grep "^d"|wc -l
目录个数
[root@localhost /]# ls -l * |grep "^d"|wc -l 530
例七: 在ls中列出文件的绝对路径
命令:ls | sed "s:^:
pwd/:"
[root@localhost usr]# ls | sed "s:^:`pwd`/:" /usr/bin /usr/games /usr/include /usr/lib /usr/lib64 /usr/libexec /usr/local /usr/sbin /usr/share /usr/src /usr/tmp
例八:列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归
命令:find $PWD -maxdepth 1 | xargs ls -ld
[root@localhost usr]# find $PWD -maxdepth 1 | xargs ls -ld drwxr-xr-x. 12 root root 144 5月 12 14:16 /usr dr-xr-xr-x. 2 root root 45056 5月 12 14:20 /usr/bin drwxr-xr-x. 2 root root 6 11月 3 2020 /usr/games drwxr-xr-x. 4 root root 43 5月 12 14:19 /usr/include dr-xr-xr-x. 37 root root 4096 5月 12 14:19 /usr/lib dr-xr-xr-x. 126 root root 81920 5月 12 14:23 /usr/lib64 drwxr-xr-x. 49 root root 12288 5月 12 14:20 /usr/libexec drwxr-xr-x. 12 root root 131 5月 12 14:16 /usr/local dr-xr-xr-x. 2 root root 20480 5月 12 14:20 /usr/sbin drwxr-xr-x. 223 root root 8192 5月 12 14:19 /usr/share drwxr-xr-x. 4 root root 34 5月 12 14:16 /usr/src lrwxrwxrwx. 1 root root 10 11月 3 2020 /usr/tmp -> ../var/tmp
例九:递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径
命令: find $PWD | xargs ls -ld
例十:指定文件时间输出格式
命令: ls -tl --time-style=full-iso
[root@localhost usr]# ls -tl --time-style=full-iso 总用量 244 dr-xr-xr-x. 126 root root 81920 2021-05-12 14:23:01. +0800 lib64 dr-xr-xr-x. 2 root root 45056 2021-05-12 14:20:00. +0800 bin dr-xr-xr-x. 2 root root 20480 2021-05-12 14:20:00. +0800 sbin drwxr-xr-x. 49 root root 12288 2021-05-12 14:20:00. +0800 libexec drwxr-xr-x. 223 root root 8192 2021-05-12 14:19:58. +0800 share drwxr-xr-x. 4 root root 43 2021-05-12 14:19:35. +0800 include dr-xr-xr-x. 37 root root 4096 2021-05-12 14:19:35. +0800 lib drwxr-xr-x. 4 root root 34 2021-05-12 14:16:35. +0800 src drwxr-xr-x. 12 root root 131 2021-05-12 14:16:35. +0800 local drwxr-xr-x. 2 root root 6 2020-11-03 23:22:25.000000000 +0800 games lrwxrwxrwx. 1 root root 10 2020-11-03 23:22:25.000000000 +0800 tmp -> ../var/tmp
命令:ls -ctl --time-style=long-iso
[root@localhost usr]# ls -ctl --time-style=long-iso 总用量 244 dr-xr-xr-x. 126 root root 81920 2021-05-12 14:23 lib64 dr-xr-xr-x. 2 root root 45056 2021-05-12 14:20 bin dr-xr-xr-x. 2 root root 20480 2021-05-12 14:20 sbin drwxr-xr-x. 49 root root 12288 2021-05-12 14:20 libexec drwxr-xr-x. 223 root root 8192 2021-05-12 14:19 share drwxr-xr-x. 4 root root 43 2021-05-12 14:19 include dr-xr-xr-x. 37 root root 4096 2021-05-12 14:19 lib drwxr-xr-x. 4 root root 34 2021-05-12 14:16 src lrwxrwxrwx. 1 root root 10 2021-05-12 14:16 tmp -> ../var/tmp drwxr-xr-x. 12 root root 131 2021-05-12 14:16 local drwxr-xr-x. 2 root root 6 2021-05-12 14:16 games
6.扩展:
- 显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
1. 蓝色-->目录 2. 绿色-->可执行文件 3. 红色-->压缩文件 4. 浅蓝色-->链接文件 5. 灰色-->其他文件
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/155845.html