Linux命令基础2-ls命令

删除回忆录丶 提交于 2019-11-26 02:27:20

本文来介绍下linux中的ls命令,ls的单词是list files的缩写,意思的列出目录文件。为了方便本文操作和介绍

1.ls的基本使用,不带选项参数

[root@cctg-sjc16-grafana ccatgbld]# ls
eclipseLogs                     mongodb-linux-x86_64-rhel70-3.2.0.tgz  nohup.out
grafana-6.2.5-1.x86_64.rpm      ngrok                                  out1.txt
jenkins-api-0.0.1-SNAPSHOT.jar  ngrok-stable-linux-amd64.zip           test.txt

      上面大致步骤是:当前在root@cctg-sjc16-grafana这个路径,这个是用户root@cctg-sjc16-grafana的一个家目录。没一个用户都有一个家目录,一般路径是这个用户的名称,这个和windows上是一样的。

2.ls -a ,显示全部文件,a是单词all的缩写

[root@cctg-sjc16-grafana ccatgbld]# ls -a
.              .bash_profile               jenkins-api-0.0.1-SNAPSHOT.jar         nohup.out  .viminfo
..             .bashrc                     mongodb-linux-x86_64-rhel70-3.2.0.tgz  out1.txt
.bash_history  eclipseLogs                 ngrok                                  .ssh
.bash_logout   grafana-6.2.5-1.x86_64.rpm  ngrok-stable-linux-amd64.zip           test.txt

3.ls -l , 长格式显示文件信息,l 是单词Long的缩写

[root@cctg-sjc16-grafana ccatgbld]# ls -l
total 211100
-rw------- 1 ccatgbld ccatgbld    35876 Aug  6 23:14 eclipseLogs
-rw------- 1 ccatgbld ccatgbld 58307414 Jul 12 00:40 grafana-6.2.5-1.x86_64.rpm
-rw------- 1 ccatgbld ccatgbld 54670107 Aug  1 20:00 jenkins-api-0.0.1-SNAPSHOT.jar
-rw------- 1 ccatgbld ccatgbld 63429437 Jul 16 23:24 mongodb-linux-x86_64-rhel70-3.2.0.tgz
-rwxr-xr-x 1 root     root     26092507 Jul 19 18:16 ngrok
-rw------- 1 ccatgbld ccatgbld 13607069 Aug  1 21:30 ngrok-stable-linux-amd64.zip
-rwxrwxrwx 1 root     root            0 Sep 15  2016 nohup.out
-rw------- 1 root     root          661 Aug  6 23:33 out1.txt
-rw------- 1 ccatgbld ccatgbld       17 Aug  6 22:36 test.txt

通过长格式显示,可以看到关于文件或者目录更多详细的信息。一下用第一行解释。

1) 第一列 drwxrwxr -x ,字母d代表目录或者文件,目录directory的意思,r表示read,w表示wirte,-表示是文件,x表示文件执行权限,一般这有三组权限,前三个rwx表示该文件拥有者的权限,中间三个rwx表示文件的所有组权限,最后三个r-x,表示对其他人访问的权限(读,执行,没有写权限)。

2) 第二列 数字2表示有多少个链接指向这个文件

3) 第三列 root@cctg-sjc16-grafana是这个文件或文件夹的拥有者

4) 第四列,表示谁是这个文件或文件夹的所有组

5) 第五列,表示以字节为单位的大小,目录的大小总是4096大小

6) 第六列,文件的最后修改时间

7) 第八列,文件名或者目录名

4.ls -al ,列出所有文件并长格式显示

[root@cctg-sjc16-grafana ccatgbld]# ls -al
total 211132
drwxrwxrwx  3 ccatgbld ccatgbld     4096 Aug  6 23:49 .
drwx--x--x. 9 root     root         4096 Jul 17 00:37 ..
-rwxrwxrwx  1 ccatgbld ccatgbld     4017 Aug  1 23:47 .bash_history
-rwxrwxrwx  1 ccatgbld ccatgbld       18 Jul 23  2015 .bash_logout
-rwxrwxrwx  1 ccatgbld ccatgbld      176 Jul 23  2015 .bash_profile
-rwxrwxrwx  1 ccatgbld ccatgbld      124 Jul 23  2015 .bashrc
-rw-------  1 ccatgbld ccatgbld    35876 Aug  6 23:14 eclipseLogs
-rw-------  1 ccatgbld ccatgbld 58307414 Jul 12 00:40 grafana-6.2.5-1.x86_64.rpm
-rw-------  1 ccatgbld ccatgbld 54670107 Aug  1 20:00 jenkins-api-0.0.1-SNAPSHOT.jar
-rw-------  1 ccatgbld ccatgbld 63429437 Jul 16 23:24 mongodb-linux-x86_64-rhel70-3.2.0.tgz
-rwxr-xr-x  1 root     root     26092507 Jul 19 18:16 ngrok
-rw-------  1 ccatgbld ccatgbld 13607069 Aug  1 21:30 ngrok-stable-linux-amd64.zip
-rwxrwxrwx  1 root     root            0 Sep 15  2016 nohup.out
-rw-------  1 root     root          661 Aug  6 23:33 out1.txt
drwxrwxrwx  2 ccatgbld ccatgbld     4096 Apr 22  2016 .ssh
-rw-------  1 ccatgbld ccatgbld       17 Aug  6 22:36 test.txt
-rwxrwxrwx  1 ccatgbld ccatgbld     3348 Aug  6 23:14 .viminfo

PS:点号开头的文件表示隐藏文件。

5.ls / 显示根目录下文件清单,你不需要cd到根目录就可以直接查看它下的文件

[root@cctg-sjc16-grafana ccatgbld]# ls /
bin   cctg  dev  home  lib64       media  null  proc  sbin     spare  sys  usr
boot  data  etc  lib   lost+found  mnt    opt   root  selinux  srv    tmp  var

PS: 在实际练习过程,你可以通过命令clear来清屏,如果你向上滚动鼠标滑轮,你还是可以发现之前输入过的命令的历史记录,clear只是给你翻页,让你感觉清屏的效果。

6.ls ~ , 波浪线,这个可以显示用户的家目录

[root@cctg-sjc16-grafana ccatgbld]# ls ~
1  apache-tomcat-7.0.69.tar.gz  err  install.log  install.log.syslog  packages  synctime.sh

7.ls .. 和ls ../.. 查看父目录的文件

..表示上一层,如果你要返回上一层的上一层,就  ../..表示

[root@cctg-sjc16-grafana ccatgbld]# ls ~
1  apache-tomcat-7.0.69.tar.gz  err  install.log  install.log.syslog  packages  synctime.sh
[root@cctg-sjc16-grafana ccatgbld]# ls ..
ccatgbld  devops  lost+found  mongodb  mongodb-linux-x86_64-rhel70-3.2.0.tgz  sdeadmin  wbxbuilds  wbxroot
[root@cctg-sjc16-grafana ccatgbld]# ls ../..
bin   cctg  dev  home  lib64       media  null  proc  sbin     spare  sys  usr
boot  data  etc  lib   lost+found  mnt    opt   root  selinux  srv    tmp  var

8.ls -lS, 小写的L和大写的S,表示文件大小排序,S是size的意思

[root@cctg-sjc16-grafana ccatgbld]# ls -lS
total 211100
-rw------- 1 ccatgbld ccatgbld 63429437 Jul 16 23:24 mongodb-linux-x86_64-rhel70-3.2.0.tgz
-rw------- 1 ccatgbld ccatgbld 58307414 Jul 12 00:40 grafana-6.2.5-1.x86_64.rpm
-rw------- 1 ccatgbld ccatgbld 54670107 Aug  1 20:00 jenkins-api-0.0.1-SNAPSHOT.jar
-rwxr-xr-x 1 root     root     26092507 Jul 19 18:16 ngrok
-rw------- 1 ccatgbld ccatgbld 13607069 Aug  1 21:30 ngrok-stable-linux-amd64.zip
-rw------- 1 ccatgbld ccatgbld    35876 Aug  6 23:14 eclipseLogs
-rw------- 1 root     root          661 Aug  6 23:33 out1.txt
-rw------- 1 ccatgbld ccatgbld       17 Aug  6 22:36 test.txt
-rwxrwxrwx 1 root     root            0 Sep 15  2016 nohup.out

9.ls xxx/*.xxx ,有点类似筛选

这里例如我们要只显示test文件夹下的txt文件类型

[root@cctg-sjc16-grafana ccatgbld]# cd ..
[root@cctg-sjc16-grafana home]# ls ccatgbld/*.txt
ccatgbld/out1.txt  ccatgbld/test.txt

10.ls -lS > out.txt

在当前相同路径下,把文件清单名称输出到一个out.txt的文件里。

[root@cctg-sjc16-grafana home]# ls -lS > out.txt
[root@cctg-sjc16-grafana home]# cat out.txt 
total 61984
-rw-------  1 root      root      63429437 Jul 17 00:37 mongodb-linux-x86_64-rhel70-3.2.0.tgz
drwx------. 2 root      root         16384 Mar 23  2016 lost+found
drwxrwxrwx  3 ccatgbld  ccatgbld      4096 Aug  6 23:49 ccatgbld
drwx------  2 devops    devops        4096 Aug 11  2017 devops
drwx------  4 root      root          4096 Jul 17 00:39 mongodb
drwx------. 3 sdeadmin  sde           4096 Mar 23  2016 sdeadmin
drwx------. 3 wbxbuilds wbxbuilds     4096 Mar 24  2016 wbxbuilds
drwx------  3 wbxroot   wbxbuilds     4096 Mar 31  2018 wbxroot
-rw-------  1 root      root             0 Aug  7 00:05 out.txt

总结:

以上介绍了常用的ls命令和一些带选项的结合的命令。如果还需要更多了解ls命令,可以在终端输入man ls,man是manual的缩写,man是linxu下命令查询的一个手册。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!