ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 【Linux高频命令专题(9)】ls与目录结构 标签(空格分隔): Linux --- ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的linux操作中用的很多! ## 常用参数 -a:显示所有文件,包括隐藏文件(以.开头的文件) -l:列出文件详细信息如属性与权限信息 可用别名命令 ll -t:按修改时间先后显示 -R:显示目录及下级子目录结构(递归) -m: 横向输出文件名,并以“,”作分格符。 -S: 以文件大小排序。 ## 常用范例 ``` # 按文件修改时间 从新到旧 [root@localhost ~]# ls -lt total 58200 -rw-r--r-- 1 root root 448 Sep 4 14:33 test drwxr-xr-x 3 root root 20 Aug 29 18:52 home drwxr-xr-x 2 root root 97 Aug 26 20:21 crond -rw-r--r-- 1 root root 57 Aug 25 12:50 sort.txt ``` 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):   rwx(Owner)r-x(Group)r-x(Other)   这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。  第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。  第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。  第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。  第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。 第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。   第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。 ``` # 支持通配符 ls -l *.txt # 有微秒的显示文件 ls -l --full-time # 连文件的id都显示出来 ls -li # 以容易识别的单位显示如GB/MB/KB ls -lh # 按文件大小排序 从大到小 ls -lSh # 按文件大小排序 从小到大 ls -lShr ls -lc filename # 列出文件的 ctime (ls -l --time=ctime) ls -lu filename # 列出文件的 atime (ls -l --time=atime) ls -l filename # 列出文件的 mtime (ls -l --time=mtime) ```