Linux命令之cd使用心得

科研狗必备技能

前面27节,我们已经通过气相分子的例子,带领大家顺利度过了菜鸟这一关。如果你掌握了其中的思想,勤加操练,看官网,认真阅读看大师兄推荐的参考书,相信你的能力足以甩出那些整天只知道搜集VASP学习资料,搜集DFT阅读书籍,而不去行动的人好几条街了。科研忌讳的就是眼高手低,你学到的知识和你下载的书成反比。

在菜鸟篇结束之后,大师兄需要把自己日常工作的一些小技巧展示给大家。一是作为大家摆脱菜鸟身份的奖励,二来为大家的进阶篇做好准备。今天我们主要讲解一下cd命令。

在Linux系统下,cd是必不可少的一个命令: cd 可以实现进入文件夹,返回上一级文件夹等操作等,日常操作中一些简单的做法可以极大的简化我们的工作方式,减轻手指的负担,有效避免键盘手的形成。大师兄结合自己多年来理论计算化学的操作实践,简单列举了一些组合使用 cd 命令的方法,希望大家可以熟练使用。

注意: 本节没有大师兄的截图操作,大家需要认真练习,思考这些命令是怎么运行的。希望大家阅读完本文后,按照内容练习一番,至少要达到高级篇的水平。此外,本节内容和前面的密切相关,如果前面没有掌握的话,在具体的应用部分中阅读起来会有些吃力。此时,建议从头学习。

1 菜鸟篇: 正常使用 cd 命令

进入文件夹: cd xxx/xxx/xxx

返回上一级: cd ..

返回上二级:cd ../..

2 初出茅庐: 懂得如何快速返回原来的文件夹目录

1):cd -

2):cd $OLDPWD

两者效果是一样的,区别是前者会在屏幕显示上一级的目录。

具体使用参见本书前面几节关于VASP批量操作的相关内容,尤其是在批量提交任务中的应用。这个命令一定一定一定要掌掌掌掌…握!!!

3 进阶篇: 知道如何结合 cd 与 alias

试想一下,如果你的文件系统下,一层套一层,好东西藏的很深(大师兄内心荡漾着邪恶清脆的笑声),问题是,当你进入这个文件夹,后退时需要不停地敲击:cd ../../../../../../../..

为避免这样的麻烦,可以这么做:

1
2
3
alias ..='cd ../../'
alias ...='cd ../../../'
alias ....='cd ../../../..'

每个点代表向上返1级目录,后面自己补上,大师兄手指头不想继续写了。

注意:

1):不要设置 alias **.**='cd ../' 因为 **.** 在linux里面等于 source 命令。

2):等号左右没有空格。

3):等号右侧命令需要用单引号或者双引号括起来, 最好是用单引号。

不会的请自己查找前面关于alias的介绍章节。

4 高级篇: cdalias&ls的结合

大师兄linux走火入魔,养成了一个进入文件夹就敲击 ls 命令的习惯,但是也舍不得折磨我那双精细的老手,于是,就组合了cdalias&、和ls 命令,如下alias ....='cd ../../../.. && ls'

这样你敲击4个点 .... 返回上面4级目录的时候, 自动显示当前目录下的所有东西,避免再一次敲击ls 命令了。

在这里我们用到的是 && 这个命令,它表示如果前面的命令成功了就进行 && 的命令。

无聊的师弟师妹们可以这样玩一下:cd ../../../.. && cd -

但是如果 && 前面的命令失败了,直接退出,后面的便不会运行,这种情况下你就需要用到 双排管 这个命令了。

什么是双排管? 答: || (中间没有空格,大师兄给起的名字)

师兄,这玩意怎么使用? 看下面的例子就明白了:

1
cd ../abc && ls

上一级目录没有abc文件夹,&& 前面命令的失败了,ls 不会运行。

cd ../abc || ls 上一级目录没有abc文件夹, || 前面命令的失败了,ls依然会运行。

此外,还有单管 | (pipe)这个 命令,后面一般跟着前面一步结束的进一步操作。比如:

1) head –n 10 POSCAR | tail –n 1

2) grep ' without' OUTCAR | tail -n 1

3) grep ' without' OUTCAR | awk '{print $4}'

4) 前面获取零点能的就是一个很好的例子

5) ……(大家自由发挥)

5 cd 私人定制篇

如果你的一个课题的计算都在一个文件夹里面,可以这么设置,下次敲击命令时直接进入这个文件夹

1
alias xxx='cd ~/bigbro/a/b/c/d/e/f/g/h/i/k'

藏得这么深(师弟们懂的!),肯定是好东西,不拿出来分享愧对大师兄谆谆教诲!学会了这个命令,就避免了用鼠标乱点进入目录了。还可以避免文件找不到….

6 cd 整蛊篇

如果你闲的蛋疼,还可以尝试着在办公室其他人的Linux终端下这样设置alias。二选一即可。

1
2
alias cd='cd ~'
alias cd='echo "you are a dumbass" '

大家好好练习这些关于cd的基本命令,等手指头熟悉了cd的味道,大师兄下一节就会继续传授给大家其他的高级操作,进一步减轻手指头的负担。