linux中cd命令有哪些,linux中cd命令使用技巧

本文介绍了几个实用的Shell脚本技巧,包括创建目录后自动进入、在最近访问目录间快速切换、使用dirs、pushd和popd管理目录栈,以及启用cdspell自动纠正cd命令的拼写错误。这些技巧能大幅提升你在终端中的工作效率。
摘要由CSDN通过智能技术生成

alias cd4="cd ../../../.."

alias cd5="cd ../../../../.."

技巧 3:用一条语句执行―mkdir‖和―cd‖命令

有时候当你需要新建一个目录后,希望马上进入到这个目录中去(cd),你可以按照下面的方法

去做。

# mkdir -p /tmp/subdir1/subdir2/subdir3

# cd /tmp/subdir1/subdir2/subdir3

# pwd

/tmp/subdir1/subdir2/subdir3

如果将 mkdir 和 cd 操作在一个单独的命令中实现会不会很棒呢?试着将如下代码加

入./.bash_profile 并重新登录。

$ vi .bash_profile

function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\"";

}

好了,现在看一下吧,mkdir 和 cd 已经可以在一个命令行中实现了。

# mkdircd /tmp/subdir1/subdir2/subdir3

[注: 该命令在创建目录后并自动切换到该目录下]

# pwd

/tmp/subdir1/subdir2/subdir3

技巧 4:用―cd -‖在最近访问的两个目录之间切换

你可以用“cd -”在最近访问的两个目录之间进行切换,如下所示:

# cd /tmp/very/long/directory/structure/that/is/too/deep

# cd /tmp/subdir1/subdir2/subdir3

# cd -# pwd

/tmp/very/long/directory/structure/that/is/too/deep

# cd -# pwd

/tmp/subdir1/subdir2/subdir3

# cd -# pwd

/tmp/very/long/directory/structure/that/is/too/deep

技巧 5:用―dirs‖、―pushd‖、―popd‖来操作目录栈

你可以将目录压入目录栈,也可以稍后将该目录弹出。在随后的示例中,将会用到以下三个命

令:

* dirs:显示目录栈

* pushd:将目录压入目录栈

* popd:将目录弹出目录栈

dirs 命令显示当前所在目录及目录栈中的内容。即使目录栈为空,dirs 也会显示当前所在的目

录,示例如下:

# popd

-bash: popd: directory stack empty

# dirs

~

# pwd

/home/ramesh

如何使用 pushd 和 popd 呢?让我们先创建一些临时的目录然后把他们压入目录堆栈中去。

# mkdir /tmp/dir1

# mkdir /tmp/dir2

# mkdir /tmp/dir3

# mkdir /tmp/dir4

# cd /tmp/dir1

# pushd .

# cd /tmp/dir2

# pushd .

# cd /tmp/dir3

# pushd .

# cd /tmp/dir4

# pushd .

# dirs

/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1

[注:显示的第一个目录名总会是当前所在的目录,而不是显式压入堆栈里的内容]

此时,目录堆栈就包含以下内容:

/tmp/dir4

/tmp/dir3

/tmp/dir2

/tmp/dir1

最后被压入的目录会在堆栈的顶端。当你执行“popd”,系统就会跳转到栈顶的目录中,并且

从堆栈中把它清除掉。正如上面所展示的,最后压入堆栈的是/tmp/dir4,所以当进行一次

popd 时,就会跳转到/tmp/dir4 目录下同时从堆栈中将它移除。如下所示:

# popd

# pwd

/tmp/dir4

[注:执行完上 popd 命令之后,目录栈包括以下目录

/tmp/dir3

/tmp/dir2

/tmp/dir1]

# popd

# pwd

/tmp/dir3

[注:执行完上 popd 命令之后,目录栈包括以下目录]

/tmp/dir2

/tmp/dir1]

# popd

# pwd

/tmp/dir2

[注:执行完上 popd 命令之后,目录栈包括以下目录

/tmp/dir1]

# popd

# pwd

/tmp/dir1

[注:执行完上 popd 命令之后,目录栈包括以下目录]

# popd

-bash: popd: directory stack empty

技巧 6:用―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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值