Linux中最常用的目录导航命令
仅个人想法,会持续不间断更新和改进。
在Linux世界中,为了更加高效地浏览和定位文件,需要一些常用的目录导航命令。
探索未知世界的cd
.. note::
月桥花院,琐窗朱户,只有春知处。
宋 辛弃疾《青玉案·元夕》
cd
命令应该是除了 ls
命令外用的最多的命令了。除非你大门不出二门不迈,做个大家闺秀。
cd
命令的含义为
cd - change directory
可以让我们访问不同的文件夹。
最简单的用法为:
1 | $ cd /the/path/you/want/to/go/ |
接下来说一些技巧,让效率加倍。
让cd命令对参数大小写不敏感
如果你需要同时显示大写和小写的目录名(即便是你给的参数只是小写的),执行下面的bind
命令,此时就可以避免Linux
和linux
的尴尬。
1 | $ bind "set completion-ignore-case on" |
进入刚才的目录
想要进入刚才进入的地方(目测没有很多人再用,但是真的很好用)运行:
1 | $ cd – |
快速返回家目录
需要快速地回到你的家目录,输入cd
即可,这里其实不用一级一级的进入
1 | $ cd |
进入某用户的家目录
这个需要你有root权限
1 | cd ~username |
进入username的家目录。
这些是一些比较基础和入门的,还有一些高级一点的,这些技巧可能用的比较少,不过也是很有帮助的。
结合CDPATH的妙用
变量CDPATH定义了目录的搜索路径:
1 | $ export CDPATH=/the/path/you/add/:/another/path/ |
现在,不用输入cd /the/path/you/add/hello/
这样长了,我可以直接输入下面的命令进入 /the/path/you/add/hello/
:
1 | $ cd html |
!$
这个命令目测,用的人不多,其实比较有用,且有效。
1 | $ cd !$ |
表明的意思是将上一个命令的参数作为cd的参数来使用。
用shopt –s cdspell自动纠正cd命令的目录名输入错误
使用shopt -s cdspell
可以自动修正cd
时拼写错误的目录名。
如果你在输入时经常犯些错误,这个命令是很有用的。详见以下示例:
1 | # cd /etc/mall |
注: 当我错误的把mail敲成了mall,用这个命令mall就自动被换成了mail
最常用的且没有之一的 ls
.. note::
寻寻觅觅,冷冷清清,凄凄惨惨戚戚。
宋 李清照《声声慢·寻寻觅觅》
如果linux
命令来个排名,ls
命令应该是最常用的命令,除非你像黄蓉的母亲,有过目不忘的本领,惹得黄药师抱憾终身。
ls
命令是list
的缩写,通过ls命令,我们可以查看目录的内容,确定各种重要文件和目录的属性。
命令格式
1 | ls [参数] [路径] |
不加任何参数
如果不加任何参数,默认列出当前目录的内容。
1 | $ ls /etc/sysconfig/network-scripts |
使用-l显示更多细节
-l 就是使用long listing format长格式,来显示更多的内容信息。
1 | $ ls -l /etc/sysconfig/network-scripts |
使用-t按照时间排序
如果希望看到最近创建的文件,就需要用到-t参数了。
1 | $ ls -lt /etc/sysconfig/network-scripts/ |
使用-r按照时间逆序
如果希望删除很早以前的文件,看到最早创建的文件,就需要用到-r参数了。
1 | $ ls -ltr /etc/sysconfig/network-scripts/ |
使用-S根据文件大小排序
1 | $ ls -lS /etc/sysconfig/network-scripts/ |
查看目录命令pwd
pwd
命令的作用是查看当前目录,没有参数,输入后回车即可显示当前绝对路径。
官方定义为:
pwd - print name of current/working directory
所以pwd
是Print Working Directory第一个字的缩写。
唯二需要了解的参数如下:
-L
,--logical
:打印逻辑路径,与pwd
一致-P
,--physical
:打印物理路径,这里可以从超级链接直达原处
实例展示
此时比如我们进入一个目录,然后在打印出来,如下:
1 | $ cd /etc/sysconfig/network-scripts/ |
可以看到pwd将输出完全路径
逻辑与物理路径
比如如下:
1 | $ pwd |
可以看到此时的路径在/opt/test/里面有两个目录source和dir,其中dir链接到source里面的dir。
接下来对比一下-L和-P的区别。
1 | $ cd dir |
从上面的输出可以发现,-P
参数会显示文件最原始的路径;而-L
则是逻辑上的路径。
Linux tree命令
Linux tree
命令以树状图列出目录的内容。
执行tree
指令,它会列出指定目录下的所有文件,包括子目录里的文件。
官方定义为:
tree
- list contents of directories in a tree-like format.
使用方法为:
1 | $ tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pat‐ |
参数比较多,也比较复杂。其中常用的选项为:
-d
显示目录名称而非内容。-D
列出文件或目录的更改时间。
实例 默认显示
默认显示当前目录的信息,比如tree和tree .的含义一样。命令有如下输出结果:
1 | $ tree |
只显示目录
1 | $ tree -d |
显示具体的修改时间
1 | $ tree -D |
默认情况下tree可能没有安装,可以通过
apt
/yum
install tree来安装。