关于Linux的ls命令

前言

ls是观察目录的基础命令

ls命令

格式:

ls [-alrtAFR] [name...]

常用参数:

  • a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • l 除文件名称外,同时将文件型态、权限、拥有者、文件大小等资讯详细列出
  • r 将文件以相反次序显示(原定依英文字母次序)
  • t 将文件依建立时间之先后次序列出
  • A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • R 若目录下有文件,则以下之文件亦皆依序列出
  • d 列出文件目录本身
  • f 直接列出目录,不排序
  • F 根据文件,目录显示,*代表可执行,/代表文件夹,@代表软连接,=代表socket文件,|代表FIFO文件,>代表doors文件(我也不知道是什么,233333)
  • h 将文件容量也列出来,我经常和-l一起用
  • i 列出inode号码
  • n 列出UID与GID而非使用者与用户组
  • r 反向显示,emmmmm,相当于逆序
  • S 按照容量大小排列
  • color=never/auto/always 显示颜色 关/自动/开
  • full-time 显示完整时间

ls默认非隐藏文件的文件名,以文件名进行排序及文件名代表的颜色显示。

特别的

ls -l a*

列出当前目录下,所有a开头的文件,包括其详细信息。

ll

在Linux的一些发行版中,该命令可作为ls -l的简写。

文件属性

我们可以通过

ls -al

来查看文件属性。

如:

[root@localhost etc]# ls -al
drwxr-xr-x. 140 root root     8192 7月  26 18:14 .
dr-xr-xr-x.  17 root root      224 7月  23 11:56 ..
drwxr-xr-x.   3 root root      101 7月  20 23:49 abrt
-rw-r--r--.   1 root root       16 7月  20 23:57 adjtime
-rw-r--r--.   1 root root     1529 4月   1 12:29 aliases
-rw-r--r--.   1 root root    12288 7月  21 00:13 aliases.db
drwxr-xr-x.   3 root root       65 7月  20 23:51 alsa
drwxr-xr-x.   2 root root     4096 7月  23 11:58 alternatives
-rw-------.   1 root root      541 8月   9 2019 anacrontab
-rw-r--r--.   1 root root       55 8月   8 2019 asound.conf
-rw-r--r--.   1 root root        1 10月 31 2018 at.deny
drwxr-x---.   3 root root       43 7月  20 23:49 audisp
drwxr-x---.   3 root root       83 7月  21 00:13 audit
drwxr-xr-x.   4 root root       71 7月  20 23:51 avahi
drwxr-xr-x.   2 root root     4096 7月  23 11:57 bash_completion.d
-rw-r--r--.   1 root root     2853 4月   1 12:29 bashrc
。。。。。。

来分析一下这是什么:

-rw-r--r--.   1 root root       16 7月  20 23:57 adjtime
  • 第一段,前面十个字符

 第一个字符,

 【d】代表目录

 【-】代表文件

 【l】代表链接文件

 【b】代表设备文件

 【c】代表串行端口设备

 剩下的9个字符,三个一组;其中,rwx,按顺序分别表示为,可读,可写,可执行。

 第一组代表拥有者权限

 第二组代表同用户组的用户权限

 第三组代表其他用户权限

  • 第二段,数字:后面的数字表示多少个文件名链接到此节点
  • 第三段,用户名:这个文件或目录的拥有者的名字
  • 第四段,用户组名:这文件或目录所属的用户组
  • 第五段,大小:这个文件或目录的大小,单位Bytes
  • 第六段,修改日期:这个文件或目录的修改日期
  • 第七段,文件名:这个文件或目录的文件名,文件名前有【.】就是代表隐藏文件。

那么,上面的那段代码就可以理解为:

文件;拥有者可读可写不能执行,同用户组的用户和其他用户可读不能写不能执行;只有1个文件名链接到此节点;用户与用户组均为root;大小为16Bytes;最后一次修改日期是7月20日,23:57;文件名为adjtime。

通过

ls -l --full-time

可以完整的看到时间。

[root@localhost etc]# ls -l --full-time
drwxr-xr-x.  3 root root      101 2020-07-20 23:49:24.512468022 +0800 abrt
-rw-r--r--.  1 root root       16 2020-07-20 23:57:42.084798203 +0800 adjtime
-rw-r--r--.  1 root root     1529 2020-04-01 12:29:32.000000000 +0800 aliases
。。。。。。

emmmmm,对应目录的话,如果你的身份对应的目录没有执行权限,那么你就不能进入该目录。

绝对路径与相对路径

根据文件名的写法不同,分为绝对路径与相对路径。

绝对路径:由根目录(/)开始写起的文件名或目录名称,例如,/home/teddy/下载/test

相对路径:相对路径,则相对于目前路径的写法,例如,./home/teddy/下载/test或../../home/teddy/

其中,. 代表当前目录,..代表上层目录。

Last modification:December 12th, 2020 at 10:36 pm