Linux ls 命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)
语法: ls [-alrtAFR] [name...]
1.参数
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -d 只列出目录(不递归列出目录内的文件)
- -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等
- -r 倒序显示文件和目录
- -t 将按照修改时间排序,最新的文件在最前面
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -h 列出文件大小 (例如 1K 234M 2G)
- -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- -R 递归显示目录中的所有文件和子目录
ls -l # 以长格式显示当前目录中的文件和目录
ls -a # 显示当前目录中的所有文件和目录,包括隐藏文件
ls -lh # 以人类可读的方式显示当前目录中的文件和目录大小
ls -t # 按照修改时间排序显示当前目录中的文件和目录
ls -R # 递归显示当前目录中的所有文件和子目录
ls -l /etc/passwd # 显示/etc/passwd文件的详细信息ls / # 列出根目录(\)下的所有目录
ls -lR /bin # /bin 目录以下所有目录及文件详细资料列出
注意: 当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来
ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[...] 表示匹配指定范围内的字符
ls *.txt # 列出所有扩展名为.txt的文件 ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符 ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
2. ls -l 命令
在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:
- - 表示普通文件
- d 表示目录
- l 表示符号链接
- c 表示字符设备文件
- b 表示块设备文件
- s 表示套接字文件
- p 表示管道文件
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限。例如:
- r 表示读取权限
- w 表示写入权限
- x 表示执行权限
- - 表示没有对应权限
前三个字符表示所有者的权限,中间三个字符表示所属组的权限,后三个字符表示其他用户的权限。例如:
表示文件名为file.txt的文件,所有者具有读写权限,所属组和其他用户只有读取权限
-rw-r--r-- 1 user group 4096 Feb 21 12:00 file.txt
3.详解 ls -ahl
[root@localhost ~]# ls -ahl
total 28K
dr-xr-x---. 2 root root 135 Dec 16 02:34 .
dr-xr-xr-x. 17 root root 224 Dec 14 01:38 ..
-rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg
-rw-------. 1 root root 1.2K Dec 16 02:34 .bash_history
-rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout
第一列共10位,第1位表示文档类型,d
表示目录,-
表示文件,l
表示链接文件,d
表示可随机存取的设备,c
表示一次性读取设备
后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,
权限顺序为:readable、writable、executable。
如:-r-xr-x---
的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
- 第二列表示链接数,表示有多少个文件链接到inode号码。
- 第三列表示拥有者
- 第四列表示所属群组
- 第五列表示文档容量大小,单位字节
- 第六列表示文档最后修改时间,注意不是文档的创建时间哦
- 第七列表示文档名称。以点(.)开头的是隐藏文档
4. 常用指令
. 当前目录(每个文件夹中都有)
.. 上级目录(每个文件夹中都有)
1.显示文件大小 ls -lh
2.按文件大小逆向排序 ls -lSr
小文件在前
3.按文件大小排序 ls -lS
按照大文件在前排序
4.按时间逆向排序展示 ls -lrt
按照最新更新的文件在前逆向排序
5.按时间排序展示 ls -lt
按照最新更新的文件在前进行排序
6.默认排序展示 ls -l
默认ls 查看文件的时候,是以文件名称进行排序的
7.别名
给ls命令设置如下别名之后,当我们执行ls命令的时候它会默认执行-l选项并且像上文提到的那样显示长列表
alias ls="ls -l"
注意:我们可以通过不加任何参数的alias命令来看到目前系统中可用的所有alias设置,当然它们同时也可以unalias来取消
# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
删除一项之前定义的alias设置,只需用unalias命令即可
# unalias ls