先谈一下 ls 命令。
打开 Xshell ,登录,输入命令 ls -l ,见下图,
-l ,可以把文件的详细信息列出来:第一列 rw 表示权限;第二列 1 表示有多少个文件使用了相同的 inode ;第三列表示文件的所有者是 root ;第四列表示文件的所有组是 root ,一个组下面会有多个文件;第五列 1422 表示文件的大小,单位是 b(字节);第六列后面的 12月 10 06:35 ,表示的意思是12月10日6点35分创建的文件;最后一列 anaconda-ks.cfg 是文件名。
然后用 ls -i anaconda-ks.cfg ,来查看 anaconda-ks.cfg 这个文件的 inode ,上图中可以看到该文件的 inode 号是 33582987 。那么 inode 是什么? inode 存的就是这些文件的详细信息,文件的所有者、所属组、权限、属性、大小、时间等信息。这也意味着 inode 会记录这些文件。
再用命令 ls -lh anaconda-ks.cfg ,可以查看文件的大小,即 1422 的单位,1.4K 就是 1422b 。
-la 的命令,可以查看该目录下面的所有隐藏文件,见下图,
上图中最后右侧的,以”.“开头的文件都是隐藏的文件或目录,每一个目录下面都有一个”.“和”..“, ”.“表示当前的目录,即 root 。可以用命令 ls -ld /root/ 来查看显示的信息跟上面是否一致。从上图我们可以看出,两者信息是完全一致的,红色框框中的数字”3“,表示有3个目录 inode 号是一样的。我们可以来看一下是哪3个?具体操作见下图,
我们也可以理解为,有几个子目录就有几个相同的 inode 。
使用命令 ls -a /root/ ,把隐藏的文件都列出来,可以看到目录:”.“,”..“,和”.ssh“。一共有3个。其中,“.”是当前目录,“..”是上一级的目录。故 .ssh/.. 即 .ssh 的上一级目录,表示也是 root 。再输入命令 ls -a . ,见下图,表示的结果也是一样的。
输入命令 ls -lta ,和命令 ls -la ,见下图,可以看出红色框框中的时间顺序是按最新的日期,从上往下排列。说明 -t 是按时间排序的,时间越早的排在越下面的位置。
ls 还有一个命令是后面跟 -d ,注意查看下面3个命令的区别,单纯的 -l 的话,会把 root 下面的子目录和子文件列出来,加上 -d ,就只列出目录本身。
还有一组更明显的对比,见下图,没加 -d ,根目录下的所有文件都列出来了。加了 -d 之后,只显示根目录 / 本身。
关于 ls 的用法还有很多,我们可以用命令 man ls 来查看,回车,见下图,还是用上下方向键来查看。
从上图可以看出 ls 的用法非常多,工作中当然不会全部用到,我们只要了解一些比较常用的就行。
总结一下 ls 的常用命令:
1、 -l 查看详细信息
2、 -i 查看inode
3、 -a 全部文件,包括隐藏的
4、 -t 按时间排序
5、 -h 在显示文件大小的时候,可以自动变换单位
6、 -d 列目录的时候,只列目录本身
有时候会看到命令 ll ,和命令 ls -l 的效果是一样的,也可以说 ll 是 ls -l 的别名。
说到别名,再来看一下,
从图中可以看出, ll 就是 ls -l 再加上颜色,命令 ls / 之后就出现有颜色的目录,而使用命令 /bin/ls / 之后就没有颜色。
补充一下 ls -l 的另一个知识点,见下图命令结果,
我们对这个命令的结果进行分析一下,具体见下图,
第一位的文件类型中, d 表示目录(显示蓝色); - 表示普通文件(没有颜色)和二进制文件(二进制文件为绿色)。
其中, - 表示的普通文件中,没有颜色的这些文件是可以用 cat 命令查看的,而有颜色的,比如上上图中的绿色文件,就无法用 cat 命令查看,这是因为绿色的 /bin/ls 文件是二进制文件,无法用 cat 这种查看文本文档的命令来查看。而且我们无法使用任何命令来查看二进制文件,因为这是被编译过的文件,类似于 windows 中的 exe 文件,是查看不了的。
查看 dev 下文件,见下图,
第一位的文件类型中, c 表示字符串设备文件(显示为×××),例如鼠标、键盘、tty这些; l 表示软链接文件(显示粉绿色),相当于 windows 里的快捷方式, 后面会指向一个真正的文件; b 表示块设备文件(显示为×××),例如光驱、光盘、磁盘这些;s 表示 socket 文件(显示为粉色),是用来通信的。
文件类型就这些: d , - , c , l , b , s 。
下面谈一下 alias 命令。
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。
前面说到 ls 和 ll 都是有别名的,我们用 which 命令来查看, which 命令是用来查看一个文件所在的路径的,见下图,
上图中,我们可以看出有的命令是有 alias 的,有的没有。 alias 表示命令是由命令+选项组合形成的新的命令。如果 ls 不想使用 alias ,不想使用别名的话,可以使用 /usr/bin/ls 这个绝对路径,这样就不带颜色了,见下图,
/bin/ls 和 /usr/bin/ls ,这两个文件实际上是一个文件,做的是软链接,后面会再说到软链接。
用 slias 这个命令,可以查看系统里面都有哪些 alias 命令。
有一个概念 PATH ,是系统的环境变量名,PATH 的意思,可以用 echo 这个命令来看一下,见下图,
表示的就是一系列的路径,如果一个命令在上图这些执行目录下面,直接运行这个命令就可以生效,即不在这些执行目录下的命令不能生效。这个就是 PATH 的作用。
而 which 查看一个命令在哪,看的就是这些 PATH 下面的目录,在这几个目录下面去查的。当然有 alias 的除外, alias 肯定需要先查一查,命令在 alias 里面有没有做别名。
下面我们来自定义一个命令:lys ,这个命令本来是没有的,想让这个命令生效的话,可以做一个别名,见下图,
上图中,我们可以看出 lys 这个命令生效了。用 which 这个命令查看一下,见下图,
可以看出,真正的命令是:ls -lha ,lys 只是一个别名。
如果我们想取消掉 lys 这个别名,用 unalias 这个命令就可以了,见下图,
可以看到,命令 lys 又不能执行了。
以上就是 alias 这个别名的用法。
转载于:https://blog.51cto.com/13503302/2051607