多方参考
ls命令:列出文件的信息
默认参数是 .
表示当前目录
用法是ls+空格+选项+空格+文件
比如ls
ls -a
ls -alt filename
选项可以不加,文件也可以不加。
选项和文件都可以有好几个,也可以文件在前选项在后。ls . -a
ls -al
和ls -a -l
一样
如果没有文件参数,默认为.
。
文件参数为文件,就显示该文件的内容。
文件参数为目录,就显示该目录下文件和文件夹/目录的信息。输出的简称为条目。
选项:
-a或-all :显示隐藏文件/文件夹
ls默认不显示以.
开头的隐藏文件和文件夹。加上-a选项会把这些.
开头的也输出。-a是-all的简写,二者效果一样。
-A或–almost-all :显示隐藏文件/文件夹 但不显示.
和..
–author:和-l选项一起使用会加一行输出各个文件(夹)的作者
-b或–escape :以C语言转义符的形式输出非图形字符
非图形字符是指非图形字符是指在计算机系统中用于表示控制字符和格式控制字符的字符,这些字符通常不会显示为可见的图形符号。这些字符包括空格、制表符、换行符等。–来自chatGPT
比如对于含有空格
或\
的文件名n m.txt和\n.txt,使用ls
会输出'n m.txt' '\n.txt'
,而加上-b参数ls -b
会输出n\ m.txt \\n.txt
–block-size=SIZE :设置输出文件大小的单位
比如ls -l --block-size=M
文件大小以M(兆)显示,测试会向上取整。单位有K,M,G,T,P,E,Z,Y
,测试小写也可以。
-B或–ignore-backups:忽略以~
结尾的(备份)文件
-c :时间显示为文件状态改变时间
ctime指文件状态改变时间
ls -c
条目按ctime排序,最新在前
ls -c -l
按文件名排序,时间列显示ctime
ls -c -lt
按ctime排序,时间列显示ctime
-C : 按列输出条目
???
–color[=WHEN]:设置何时对输出着色
when的可选项有:
- ‘always’, ‘yes’, ‘force’
- ‘never’, ‘no’, ‘none’
- ‘auto’, ‘tty’, ‘if-tty’
可以省略=WHEN,默认是always即ls --color
相当于ls --color=always
-d或–directory:只输出目录
-D或–dired:generate output designed for Emacs’ dired mode
生成为 Emacs dired 模式设计的输出
-f:不排序输出所有条目,包括隐藏的,但是没有颜色
可以和--color
一起使用来显示颜色
-F, --classify[=WHEN]:(何时)给条目加上标志
-F
就是设置加标志,--classify[=WHEN]
设置何时给条目加标志
标志包括*/=>@|
比如在文件夹后加/
表示是文件夹,在软链接后加@
–file-type:和-F类似,少了’*’
–format=WORD:
–full-time:显示完整时间
ls --full-time
等同于ls -l --time-style=full-iso
输出示例-rw------- 1 u0_a809 u0_a809 332 2024-01-14 11:07:20.743455559 +0800 my.cnf
-g:类似-l,不过输出少了拥有者列
–group-directories-first:先输出文件夹后输出文件,可以和排序一起使用。但是如果有–sort=none或-U这样禁用排序的选项时本选项不起作用。
-G, --no-group:不显示组一列(和-l一起使用)
-h, --human-readable:自动调整文件大小的单位,方便人阅读(进制是1024)
1K=1024 ; 1M=1024K …
–si :类似-h,不过进制是1000
1K=1000 ; 1M=1000K …
-H, --dereference-command-line:follow symbolic links listed on the command line;遵循命令行列出的符号链接
–dereference-command-line-symlink-to-dir :follow each command line symbolic link that points to a directory
–hide=PATTERN:do not list implied entries matching shell;不列出匹配PATTERN的条目
当有-a
或-A
选项时无效
–hyperlink[=WHEN]:?
–indicator-style=WORD:在条目后加相关标志
WORD可以取得值有
none:默认
slash:ls --indicator-style=slash
相当于 ls -p
file-type:相当于--file-type
classify:相当于-F
-i, --inode:输出每个条目的index索引节点号
-I, --ignore=PATTERN :不列出匹配PATTERN的条目
有-a
、-A
选项也有效
ls -I *.txt
相当于 ls --ignore=*.txt
-k, --kibibytes:磁盘默认使用 1024 字节块
??
-l:以长格式显示文件和目录信息
示例
lrwxrwxrwx 1 root root 5 Feb 16 17:44 c.txt -> a.txt
-rw-r--r-- 1 root root 11K Feb 16 18:09 d.txt
第一列第一个字符表示类型
-
表示普通文件 白色
d
表示目录/文件夹 深蓝色
l
表示ln -s
创建的软连接 浅蓝
b
表示块设备文件 比如/dev/vda
亮黄色
c
表示字符设备文件 比如/dev/pts/0
/dev/tty
亮黄色
p
表示pipe管道文件 (mkfifo可以创建) 暗黄色
s
表示socket套接字文件 紫色
后九个字符三个一组,分别表示文件拥有者/所在组/其他 的权限(即owner/group/other)
r表示读取,w表示写入,x表示运行,-表示
…未完