目录
1 ls命令
1.1 简介
ls命令作用:列出有关文件(默认为当前目录)的信息。如果没有指定 -cftuvSUX 或 --sort,则按字母顺序对条目进行排序
1.2 说明
使用:ls [OPTION]… [FILE]…
OPTION:
- -a, --all:显示所有文件,包括隐藏文件,也就是以 . 开头的文件
- -A, --almost-all:显示所有文件,包括隐藏文件,但是不列出 . 和 …
- –author:配合 -l 选项,列出每个文件的作者
- -B, --ignore-backups:不列出以 ~ 结尾的隐含条目。
- -c:-c 与 -lt 一起使用时:按 ctime(文件状态信息的最后修改时间)排序并显示;与 -l 一起使用时:显示 ctime 并按名称排序;否则:按 ctime 排序,最新的排在最前面。
- -d, --directory:只显示目录本身,不显示其他内容
- –format=WORD:显示指定内容
- -g:与-l选项类似,但是不列出所有者
- -i:列出文件的inode号
- -1:单列输出,只输出文件名
- -k:列出文件大小,以kb为单位
- -h:列出文件大小,以人类可识别的单位
- -l,–format=long, --format=verbose:除每个文件名外,增加显示文件类型、权限、硬链接数、所有者名、组名、大小( byte )、及时间信息(如未指明是其它时间即指修改时间)
- -m, --format=commas:水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。
- -n, --numeric-uid-gid:列出数字化的 UID 和 GID 而不是用户名和组名
- -o:以长格式列出目录内容,但是不显示组信息
- -R:列出当前目录及其子目录下的所有文件
- -s:在每个文件名左侧输出该文件的大小,以1024字节的块为单位
- -t:按文件最近修改时间顺序排序
- -u:按访问时间排序
1.3 实例
1、列出所有文件,包括隐藏文件,注意:-a和-A的区别
ls -a
# -A:不包括表示当前目录 .和上级目录 ..这两个文件
ls -A
2、只列出目录本身,不列出目录下的文件
root@node1:~# ls python/
hello_send.py
root@node1:~# ls python/ -d
python/
3、显示完整时间
ls --full-time
total 651044
-rw-r--r-- 1 root root 11 2024-04-26 18:49:56.499397748 +0800 a
drwxr-xr-x 2 root root 4096 2024-04-09 18:45:46.240419985 +0800 python
4、以易读方式显示列表
ls -lh
total 636M
# 当前目录下所有文件和文件夹总大小,文件夹默认为4k。不算文件夹下的文件大小
-rw-r--r-- 1 root root 11 Apr 26 18:49 a
drwxr-xr-x 3 root root 4.0K Apr 29 12:14 harbor
-rw-rw-r-- 1 root root 636M Apr 29 12:01 harbor-offline-installer-v2.9.0.tgz
drwxr-xr-x 2 root root 4.0K Apr 9 18:45 python
drwxr-xr-x 5 root root 4.0K Apr 9 18:21 rabbitmq
drwx------ 3 root root 4.0K Aug 17 2023 snap
drwxr-xr-x 5 root root 4.0K Apr 22 17:46 venv
### 参数解释:
-rw-r--r--:文件的权限,它显示了文件的类型和权限设置。
- 表示这是一个普通文件(如果是 d 则表示目录)。
rw- 表示文件所有者(在这里是 root)具有读写权限。
r-- 表示与文件所有者同一组的用户(在这里也是 root)只有读权限。
r-- 表示其他用户只有读权限。
1:表示链接数,即有多少个硬链接指向这个文件。对于普通文件,这个数字通常是1。对于目录,这个数字至少是 2(目录自身和 . 目录)
root:文件所有者的用户名,也就是属主
root:文件所属组的组名,也就是属组
11:文件大小
Apr 26 18:49:文件的最后修改时间
a:文件名
5、以文件大小排序
## 顺序排序
ls -lSh
#### 输出
total 636M
-rw-rw-r-- 1 root root 636M Apr 29 12:01 harbor-offline-installer-v2.9.0.tgz
drwxr-xr-x 3 root root 4.0K Apr 29 12:14 harbor
drwxr-xr-x 2 root root 4.0K Apr 9 18:45 python
drwxr-xr-x 5 root root 4.0K Apr 9 18:21 rabbitmq
drwx------ 3 root root 4.0K Aug 17 2023 snap
drwxr-xr-x 5 root root 4.0K Apr 22 17:46 venv
-rw-r--r-- 1 root root 11 Apr 26 18:49 a
## 倒序排
ls -lShr
#### 输出
total 636M
-rw-r--r-- 1 root root 11 Apr 26 18:49 a
drwxr-xr-x 5 root root 4.0K Apr 22 17:46 venv
drwx------ 3 root root 4.0K Aug 17 2023 snap
drwxr-xr-x 5 root root 4.0K Apr 9 18:21 rabbitmq
drwxr-xr-x 2 root root 4.0K Apr 9 18:45 python
drwxr-xr-x 3 root root 4.0K Apr 29 12:14 harbor
-rw-rw-r-- 1 root root 636M Apr 29 12:01 harbor-offline-installer-v2.9.0.tgz
root@node1:~#
6、显示inode号
ls -i
#### 以下输出,多数时候和 -l参数一起使用
786448 a 788010 python 788047 venv
789555 harbor 786447 rabbitmq
917516 harbor-offline-installer-v2.9.0.tgz 786438 snap
7、以列表形式显示文件名
ls -1
#### 输出:多用于脚本中
a
harbor
harbor-offline-installer-v2.9.0.tgz
python
rabbitmq
snap
venv