工作中用到的linux命令就会记一下,主要是自用,不一定全,会持续补充。
对文件/文件夹操作
- 复制文件:
cp 文件名 文件夹
- 复制文件夹:
如果目标目录dir2不存在,可以直接使用
cp -r dir1 dir2
(创建2把1的内容复制进2)
如果dir2已存在,则需要使用
cp -r dir1/* dir2
如果这时使用cp -r dir1 dir2(把文件夹1复制进2里面),则也会将dir1目录复制到dir2
(-r表示递归持续复制/删除) - 删除:
rm –f
,删非空文件夹用rm –rf
后面跟多个文件/文件夹名字就可以一次性删除多个 - 改名字:
mv test TEST
(名字改成TEST) - 移动:
mv test /TEST/
(文件/文件夹移动到TEST里) - 可视化当前文件夹
nautilus .
可视化指定文件夹nautilus /home/test
(举例) - 文件/文件夹之间的连接
ln默认硬连接
ln –s flie1 flie2
是建立一个到f1的软连接,效果是f2->f1,两个file的路径要用绝对路径 gvim -On fileA fileB fileC
可以在同一页面中打开多个文件
搜索:
- find(find path expression)
指定目录:find /path -name filename
(可以前后加*扩大范围)
当前目录:find . –name filename
根目录:find / -name fliename
用 -iname 可忽略大小写
还可以按文件特征查找,用到了再说,具体可参考 - grep,根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找
我目前常用grep -r fliename
,用于查找那些文件例化/定义了这个名字的module
PS:如果要在文件中查找一个module在哪里定义的,假设叫test_top,直接搜greb –r test_top
,不用加.v后缀,因为定义这个module的.v文件不一定叫一样的名字
PS2:grep搜索也可以用通配符*,但最近发现好像只能加在需搜索的字符串末尾,加在中间和前面不行,不知道是我这边系统的问题还是这个命令本身的规定。可以使用别的方式替代。用中括号匹配一个字符[],[0-9]表示数字,[Aa]表示a或者A,[A-Za-z]表示字母等,也可以组合使用。
例如grep -r [0-3]reset_fifio[a-z]
载入工具
module av
命令可以查看可载入的工具
比如coreConsultant所需要的工具是synopsys/coretools_vO-2018.09-SP2-1- 用
module load XXX
命令载入具体工具 - 用
module unload
可以卸载 - 用beyond compare工具可以对比文件和文件夹内容(需load后使用)
例如:
比较两个文件:bcompare file1.v file2.v
比较两个文件夹:bcompare folder1 folder2
其他
- 查看pdf(一般默认安装有文件阅读器Evince)
evince fliename.pdf
- 打开.xlsx文件(这是Microsoft Excel的文件格式)
libreoffice filename.xlsx
没有安装LibreOffice的话需要先安装 - 显示当前目录的绝对路径:
pwd
全称是print working directory
快捷键
- ctrl+H可以显示和隐藏(隐藏文件)
- ctrl+shift+t可以在一个窗口中打开多个终端
- ctrl+L可以清空终端
- ctrl+A,将光标移动到命令行行首(A-ahead),ctrl+E是移动到行尾(E-end)