探索未知世界的cd .. _linux_cd_beginner:
.. 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"
cd之进入刚才的目录 想要进入刚才进入的地方(目测没有很多人再用 ,但是真的很好用)运行:
快速返回家目录 需要快速地回到你的家目录 ,输入cd
即可,这里其实不用一级一级的进入
进入某用户的家目录 这个需要你有root权限
进入username的家目录。
这些是一些比较基础和入门的,还有一些高级一点的,这些技巧可能用的比较少,不过也是很有帮助的。
一步直达 - CDPATH的妙用
适用于贼长的目录路径
如果你的目录路径足够长长长长长长长长长长长长长长长 那么一定要用一下这个技巧。
变量CDPATH定义了目录的搜索路径,这个设置特别适合经常需要进入到某个目录,此时这个设置就及其有用
1 $ export CDPATH=/the/first/path/you/want/to/go/:/the/second/path/you/want/to/go
现在,不用输入/the/first/path/you/want/to/go/hello
这样长了,我可以直接输入下面的命令进入 :
此时即可一步直达/the/first/path/you/want/to/go/hello
目录
快速折返的 cd和alias 有没有碰到这个痛点,一直需要cd ..
,如此这番,好多次,那么此时就可以通过结合cd和alias的强大结合,快速折返,如下:在一个多级的目录下希望返回上级目录是,经常要使用cd ../../../../../..
,如果层次很多,比如,在目录/home/username/1/2/3/4/5/6/7/8/9中,希望返回,那么可以使用cd ../../../
,或者在bashrc中定义如下:
1 2 3 4 5 6 7 8 9 10 alias ..=”cd .. ”alias ..2=”cd ../..”alias ..3=”cd ../../..”alias ..4=”cd ../../../..”alias ..5=”cd ../../../../.. ”alias ..6=”cd ../../../../../.. ”alias ..7=”cd ../../../../../../.. ”alias ..8=”cd ../../../../../../../.. ”alias ..9=”cd ../../../../../../../../.. ”alias ..10=”cd ../../../../../../../../.. ”
这样就可以通过..N
来快速返回N级父目录了。
进入某用户的家目录 如果你拥有root权限,可以进入某个用户的家目录
其中username为实际用户名
创建后立即进入该目录的mkdircd 经常需要的操作是创建一个目录,然后再进入该目录,那么可以把下面的一行语句放在bashrc里面即可实现。
1 function mkdircd () { mkdir –p "$@ " && eval cd "\"\$$# \"" ; }
此时使用如下的命令进行测试:
1 $ mkdircd /tmp/the/test/folder/we/want/to/create
!$ 这个命令目测,用的人不多,其实比较有用,且有效。
表明的意思是将上一个命令的参数作为cd的参数来使用。
用shopt –s cdspell自动纠正cd命令的目录名输入错误 使用shopt -s cdspell
可以自动修正cd
时拼写错误的目录名。
如果你在输入时经常犯些错误,这个命令是很有用的。详见以下示例:
1 2 3 4 5 6 7 8 9 10 11 -bash: cd : /etc/mall: No such file or directory /etc/mail
注: 当我错误的把mail敲成了mall,用这个命令mall就自动被换成了mail
详细的配置信息可以参考:
.. literalinclude:: ../../src/linux-bashrc.sh