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
3alias ..='cd ../../'
alias ...='cd ../../../'
alias ....='cd ../../../..'
每个点代表向上返1级目录,后面自己补上,大师兄手指头不想继续写了。
注意:
1):不要设置 alias **.**='cd ../'
因为 **.**
在linux里面等于 source
命令。
2):等号左右没有空格。
3):等号右侧命令需要用单引号或者双引号括起来, 最好是用单引号。
不会的请自己查找前面关于alias
的介绍章节。
4 高级篇: cd
与 alias
、&
、ls
的结合
大师兄linux走火入魔,养成了一个进入文件夹就敲击 ls
命令的习惯,但是也舍不得折磨我那双精细的老手,于是,就组合了cd
、alias
、&
、和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
2alias cd='cd ~'
alias cd='echo "you are a dumbass" '
大家好好练习这些关于cd的基本命令,等手指头熟悉了cd的味道,大师兄下一节就会继续传授给大家其他的高级操作,进一步减轻手指头的负担。