ls 命令
ls 命令
ls 命令可以用来查看文件和文件夹的权限、所属用户、所属组等详细信息。使用 -l 参数,可以以长格式列出文件信息,帮助查看权限。
基本用法
ls -l [目录或文件路径]权限的显示格式解析
在使用 ls -l 命令后,会得到一列文件信息,通常如下所示:
drwxr-xr-x 2 user group 4096 Oct 31 12:00 foldername
-rw-r--r-- 1 user group 1024 Oct 31 11:30 filename.txt每行输出分为几列,每一列含义如下:
- 文件类型和权限:第一个字符表示文件类型,接下来的9个字符表示文件权限。
- 硬链接数:文件或文件夹的硬链接数量。
- 文件所有者:文件的拥有者用户名。
- 文件所属组:文件的所属组。
- 文件大小:以字节为单位显示文件大小。
- 最后修改时间:文件的最后修改日期和时间。
- 文件或文件夹名称:文件或文件夹的名称。
文件类型和权限的解析
文件类型和权限信息是整个权限控制的关键部分,例如 drwxr-xr-x 或 -rw-r--r--。格式如下:
第一个字符表示文件类型:
-:普通文件d:目录l:符号链接b:块设备文件c:字符设备文件p:命名管道s:套接字
接下来的9个字符按组划分,表示文件权限,格式如下:
[rwx][rwx][rwx]每组三个字符分别表示所有者、所属组和其他用户的权限:
r:读权限(Read)w:写权限(Write)x:执行权限(eXecute)-:没有权限
例子解析
示例 1:drwxr-xr-x
d:这是一个目录。rwx:目录所有者的权限(可读、可写、可执行)。r-x:目录所属组的权限(可读、可执行,但不可写)。r-x:其他用户的权限(可读、可执行,但不可写)。
示例 2:-rw-r--r--
-:这是一个普通文件。rw-:文件所有者的权限(可读、可写,但不可执行)。r--:文件所属组的权限(可读,但不可写或执行)。r--:其他用户的权限(可读,但不可写或执行)。
使用选项查看权限的详细信息
ls 命令有许多选项可以用于增强查看权限的功能:
-l:长格式输出,显示文件权限、所有者、大小等信息。-a:显示所有文件,包括隐藏文件(以.开头的文件)。-h:将文件大小用更易读的格式显示(例如,KB、MB 等)。-d:如果指定了目录名称,则显示目录本身的信息而不是其内容。-R:递归显示目录下的所有文件和子目录的信息。
常用示例
# 查看当前目录下所有文件和文件夹的详细信息
ls -l
# 查看包括隐藏文件在内的所有文件的详细信息
ls -la
# 以更易读的格式显示文件大小
ls -lh
# 递归显示目录下的所有文件和权限
ls -lR总结
通过 ls -l 查看文件和文件夹的权限,可以清楚地了解文件的访问权限、拥有者、大小和时间等信息。不同用户组的权限可以根据需求进行调整,从而保护文件的安全性
提示
执行 ls --help 获取相同菜单
- 用法:ls [选项]... [文件]...
列出给定文件(默认为当前目录)的信息。
如果不指定 -cftuvSUX 中任意一个或--sort 选项,则根据字母大小排序。
必选参数对长短选项同时适用。
-a, --all 不隐藏任何以 . 开始的项目
-A, --almost-all 列出除 . 及 .. 以外的任何项目
--author 与 -l 同时使用时,列出每个文件的作者
-b, --escape 以 C 风格的转义序列表示不可打印的字符
--block-size=大小 与 -l 同时使用时,将文件大小以此处给定的大小为
单位进行缩放;例如:“--block-size=M”;
请参考下文的大小格式说明
-B, --ignore-backups 不列出任何以 ~ 字符结束的项目
-c 与 -lt 共同使用时:根据 ctime 排序并显示
ctime(文件状态最后更改的时间);
与 -l 共同使用时:显示 ctime 并按照名称排序;
其它情况:按照 ctime 排序,最新的最前
-C 每栏由上至下列出项目
--color[=WHEN] 控制是否使用带颜色的输出;WHEN 可以是
“always”(默认缺省值)、“auto”或
“never”;更多信息请见下文
-d, --directory 当遇到目录时列出目录本身而非目录内的文件
-D, --dired 产生适合 Emacs 的 dired 模式使用的结果
-f 不进行排序,-aU 选项生效,禁用 -ls --color
-F, --classify 加上文件类型的指示符号(*/=@| 其中一个)
--file-type 类似,但不后缀‘*’字符
--format=关键字 交错 -x,逗号分隔 -m,水平 -x,长 -l,
单栏 -1,详细 -l,垂直 -C
--full-time 类似 -l --time-style=full-iso
-g 类似 -l,但不列出所有者
--group-directories-first
在文件前分组目录;
此选项可与--sort 一起使用,但是一旦使用
--sort=none (-U) 将禁用分组
-G, --no-group 以一个长列表的形式,不输出组名
-h, --human-readable 与 -l 和 -s 一起,以易于阅读的格式输出文件
大小(例如 1K 234M 2G等)
--si 同上面类似,但是使用 1000 为基底而非 1024
-H, --dereference-command-line
跟随命令行列出的符号链接
--dereference-command-line-symlink-to-dir
跟随命令行列出的指向目录的符号链接
--hide=PATTERN 隐藏符合 shell PATTERN 模式的项目
(-a 或 -A 将覆盖此选项)
--hyperlink[=WHEN] 文件名使用超链接;WHEN 可以是“always”
(缺省时的默认选项)、“auto”或
“never”
--indicator-style=方式 指定在每个项目名称后加上指示符号方式:
none(默认)、slash(-p)、
file-type(--file-type)以及 classify(-F)
-i, --inode 显示每个文件的索引编号(inode 号)
-I, --ignore=模式 不显示任何匹配指定 shell <模式>的项目
-k, --kibibytes 默认使用 1024 字节的块显示磁盘使用量;
只用于 -s 和每个目录的总计
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出用户和组的 ID 号
-N, --literal 输出未经引号括起的项目名称
-o 类似 -l,但不列出有关组的信息
-p, --indicator-style=slash
对目录附加“/”作为指示符号
-q, --hide-control-chars 以“?”字符代替无法打印的字符
--show-control-chars 原样显示无法打印的字符(这是默认行为,除非被调用
本程序的名称是“ls”而且是在终端中进行输出)
-Q, --quote-name 将条目名称括上双引号
--quoting-style=方式 使用指定引用的方式显示条目的名称:
literal, locale, shell, shell-always,
shell-escape, shell-escape-always, c, escape
(该选项优先于 QUOTING_STYLE 环境变量的配置)
-r, --reverse 逆序排列
-R, --recursive 递归显示子目录
-s, --size 以块数形式显示每个文件分配的尺寸
-S 按文件大小排序,最大的文件优先
--sort=WORD 用 WORD 代替文件名进行排序:无排序(-U)、按大小排序(-S)、按时间排序(-t)、按版本排序(-v)、按扩展名排序(-X)
--time=WORD 更改默认的使用修改时间排序的方式;
访问时间 (-u):atime、access、use;
更改时间 (-c):ctime、status;
创建时间:birth、creation;
使用 -l 时,WORD 决定显示哪种时间;
使用 --sort=time 时,根据 WORD 排序(最新的优先)
--time-style=TIME_STYLE 使用 -l 时显示的时间/日期格式;请见下面
TIME_STYLE 的相关内容
-t 按时间排序,最新的最前;参见 --time
-T, --tabsize=COLS 指定制表符(Tab)的宽度,而非默认8字符
-u 同 -lt 一起使用:按照访问时间排序并显示;
同 -l 一起使用:显示访问时间并按文件名排序
其它:按照访问时间排序,最新的最靠前
-U 不进行排序;按照目录顺序列出项目
-v 在文本中进行数字(版本)的自然排序
-w, --width=COLS 设置输出宽度为 COLS 对应的值。0 代表无限制
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名按字母顺序排序
-Z, --context 输出每个文件的所有安全上下文信息
-1 每行只列出一个文件。与 -q 或 -b 共用时避免 '\n'
--help 显示此帮助信息并退出
--version 显示版本信息并退出The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).
Binary prefixes can be used, too: KiB=K, MiB=M, and so on.TIME_STYLE 参数可以是 full-iso、long-iso、iso、locale 或 +格式。
这里的格式字符串按照类似 date(1) 的方式进行解读。如果格式字符串是格式1<换行符>格式2 的形式的话,格式1对应的字符串将应用于不是最近使用的文件,而格式2对应的字符串将应用于最近使用的文件。TIME_STYLE 如果带有“posix-”前缀,它只会在 POSIX locale 之外发挥作用。另外,TIME_STYLE 环境变量如果存在则会作为默认使用的格式。使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。退出状态:
0 正常
1 一般问题 (例如:无法访问子文件夹)
2 严重问题 (例如:无法使用命令行参数)
GNU coreutils 在线帮助:https://www.gnu.org/software/coreutils/
请向 http://translationproject.org/team/zh_CN.html 报告任何翻译错误
完整文档 https://www.gnu.org/software/coreutils/ls
或者在本地使用:info '(coreutils) ls invocation'