仅个人想法,会持续不间断更新和改进。
在Linux世界中,为了更加高效地浏览和定位文件,需要一些常用的目录导航命令。
探索未知世界的cd
cd
命令应该是除了 ls
命令外用的最多的命令了。除非你大门不出二门不迈,做个大家闺秀。
cd
命令的含义为
cd – change directory
可以让我们访问不同的文件夹。
最简单的用法为:$ cd /the/path/you/want/to/go/
接下来说一些技巧,让效率加倍。
让cd命令对参数大小写不敏感
如果你需要同时显示大写和小写的目录名(即便是你给的参数只是小写的),执行下面的bind
命令,此时就可以避免Linux
和linux
的尴尬。$ bind “set completion-ignore-case on”
进入刚才的目录
想要进入刚才进入的地方(目测没有很多人再用,但是真的很好用)运行:$ cd –
快速返回家目录
需要快速地回到你的家目录,输入cd
即可,这里其实不用一级一级的进入$ cd
进入某用户的家目录
这个需要你有root权限cd ~username
进入username的家目录。
这些是一些比较基础和入门的,还有一些高级一点的,这些技巧可能用的比较少,不过也是很有帮助的。
结合CDPATH的妙用
变量CDPATH定义了目录的搜索路径:$ export CDPATH=/the/path/you/add/:/another/path/
现在,不用输入cd /the/path/you/add/hello/
这样长了,我可以直接输入下面的命令进入 /the/path/you/add/hello/
:$ cd html
!$
这个命令目测,用的人不多,其实比较有用,且有效。$ cd !$
表明的意思是将上一个命令的参数作为cd的参数来使用。
用shopt –s cdspell自动纠正cd命令的目录名输入错误
使用shopt -s cdspell
可以自动修正cd
时拼写错误的目录名。
如果你在输入时经常犯些错误,这个命令是很有用的。详见以下示例:# cd /etc/mall
-bash: cd: /etc/mall: No such file or directory
# shopt -s cdspell
# cd /etc/mall
# pwd
/etc/mail
注: 当我错误的把mail敲成了mall,用这个命令mall就自动被换成了mail
最常用的且没有之一的 ls
如果linux
命令来个排名,ls
命令应该是最常用的命令,除非你像黄蓉的母亲,有过目不忘的本领,惹得黄药师抱憾终身。
ls
命令是list
的缩写,通过ls命令,我们可以查看目录的内容,确定各种重要文件和目录的属性。
命令格式
ls [参数] [路径]
不加任何参数
如果不加任何参数,默认列出当前目录的内容。$ ls /etc/sysconfig/network-scriptsifcfg-em1ifcfg-em2ifcfg-em3ifcfg-em4 ….
使用-l显示更多细节
-l 就是使用long listing format长格式,来显示更多的内容信息。$ ls -l /etc/sysconfig/network-scriptstotal 264-rw-r–r–. 1 root root 341 Nov 30 10:56 ifcfg-em1-rw-r–r–. 1 root root 294 May 13 2016 ifcfg-em2-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em3-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em4……
使用-t按照时间排序
如果希望看到最近创建的文件,就需要用到-t参数了。$ ls -lt /etc/sysconfig/network-scripts/total 264-rw-r–r–. 1 root root 341 Nov 30 10:56 ifcfg-em1-rw-r–r–. 1 root root 294 May 13 2016 ifcfg-em2-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em4-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em3…
使用-r按照时间逆序
如果希望删除很早以前的文件,看到最早创建的文件,就需要用到-r参数了。$ ls -ltr /etc/sysconfig/network-scripts/total 264…-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em3-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em4-rw-r–r–. 1 root root 294 May 13 2016 ifcfg-em2-rw-r–r–. 1 root root 341 Nov 30 10:56 ifcfg-em1
使用-S根据文件大小排序
$ ls -lS /etc/sysconfig/network-scripts/total 264…-rw-r–r–. 1 root root 341 Nov 30 10:56 ifcfg-em1-rw-r–r–. 1 root root 294 May 13 2016 ifcfg-em2-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em3-rw-r–r–. 1 root root 272 May 10 2016 ifcfg-em4
查看目录命令pwd
pwd
命令的作用是查看当前目录,没有参数,输入后回车即可显示当前绝对路径。
官方定义为:
pwd – print name of current/working directory
所以pwd
是Print Working Directory第一个字的缩写。
唯二需要了解的参数如下:
-L
,--logical
:打印逻辑路径,与pwd
一致-P
,--physical
:打印物理路径,这里可以从超级链接直达原处
实例展示
此时比如我们进入一个目录,然后在打印出来,如下:$ cd /etc/sysconfig/network-scripts/
$ pwd/etc/sysconfig/network-scripts
可以看到pwd将输出完全路径
逻辑与物理路径
比如如下:$ pwd/opt/test
$ ls -l总用量 1lrwxrwxrwx 1 root root 14 Jan 15 2012 dir -> source/dirdrwxrwxrwx 1 root root 14 Jan 15 2012 source
可以看到此时的路径在/opt/test/里面有两个目录source和dir,其中dir链接到source里面的dir。
接下来对比一下-L和-P的区别。$ cd dir
$ pwd/opt/test/dir
$ pwd -L/opt/test/dir
$ pwd -P/opt/test/source/dir
从上面的输出可以发现,-P
参数会显示文件最原始的路径;而-L
则是逻辑上的路径。
Linux tree命令
Linux tree
命令以树状图列出目录的内容。
执行tree
指令,它会列出指定目录下的所有文件,包括子目录里的文件。
官方定义为:
tree
– list contents of directories in a tree-like format.
使用方法为:$ tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [–nolinks] [-P pattern] [-I pat‐ tern] [–inodes] [–device] [–noreport] [–dirsfirst] [–version] [–help] [–filelimit #] [–si] [–prune] [–du] [–timefmt format] [–matchdirs] [–fromfile] [–] [directory …]
参数比较多,也比较复杂。其中常用的选项为:
-d
显示目录名称而非内容。-D
列出文件或目录的更改时间。
实例 默认显示
默认显示当前目录的信息,比如tree和tree .的含义一样。命令有如下输出结果:$ tree .├── a├── aa│ ├── aab│ ├── aac│ ├── aad│ └── aae├── b├── bb│ └── bbb├── c├── d├── e└── f
2 directories, 11 files
只显示目录
$ tree -d .├── aa└── bb
显示具体的修改时间
$ tree -D.├── [Apr 7 22:34] a├── [Apr 7 22:37] aa│ ├── [Apr 7 22:35] aab│ ├── [Apr 7 22:35] aac│ ├── [Apr 7 22:35] aad│ └── [Apr 7 22:35] aae├── [Apr 7 22:34] b├── [Apr 7 22:39] bb│ └── [Apr 7 22:39] bbb├── [Apr 7 22:34] c├── [Apr 7 22:34] d├── [Apr 7 22:33] e└── [Apr 7 22:33] f
2 directories, 11 files
默认情况下tree可能没有安装,可以通过
apt
/yum
install tree来安装。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/389505.html