常见命令都可以直接在terminal下通过man列出帮助信息,如:man ls
1. ls
列出文件和文件夹。
ls * # 列出所有文件
ls ../../rtl/ #列出指令路径下的文件
ls -la ~/ #列出home路径下的所有文件(包括隐藏文件)
运用举例:
ls ../../rtl/* > rtl.lst # 将命令输出保存到一个新建的list文本文件中,
# 可以用于生成include.f等仿真rtl列表文件
ls ../../lib/* >> rtl.lst
说明: “〉”表示新建一个文件rtl.lst, 并将输出重定向至该新建文件
“>>”表示将命令的输出附加到已存在的文本文件rtl.lst中
其他基本命名,如cd,mkdir,rm等暂不说明。
2. touch
生成一个空的新文件
3. cat
在terminal显示文本文件内容
运用举例:
cat a.txt >> b.txt #将a.txt文件内容附加到b.txt文件中
4. find
搜索指定路径下与表达式匹配的文件
find ./ -iname "*_top.v" #在当前路径以及子路径下搜索名字为*_top.v的文件
5. alias
类似于为指定命令指定一个快捷键
alias ... "cd ../../../" #指定“...”等价于cd ../../../命令
建议:
home路径下建立一个.alias隐藏文件,常用的命令都在该文件中建立alias
.alias
----------------
alias h 'history'
alias draw 'eog'
alias e 'emacs'
...
source .alias #一次性设置.alias中的所有命令快捷键
6. history
列出历史命令。一般情况下还可以在home路径下的.history中看到最近的一些操作命令。
运用举例:
history #列出所有命令
命令输出为:
115 cd .
116 cat ~/.alias
...
以上输出的第一个数字为命令序号,可以通过 "!命令序号"的方式快捷调用,例如:!116
7. du
列出用户磁盘占用空间
du -hs . #看当前路径下磁盘占用的空间
8. df
列出所在硬盘分区的占用情况
df -h . #看当前硬盘分区的占用情况
9. top
动态显示所在服务器进程情况。可显示每一个任务占用了多少cpu和mem资源。类似windows的任务
管理器。
10. jobs
列出当前terminal下打开的命令。对各命令以数字顺序编号。
运用举例:
jobs #列出命令
命令输出为:
[1] + Running evince ./aaa.pdf
...
kill -9 %1 #强制关闭任务1的evince进程
11. ps
列出进程
运用举例:
ps -ef | grep user01
说明:
1)-ef 选项表示列出所用进程
2)“|”表示管道,即将ps -ef的输出传递给另一个命令,上例中是传递给grep命令。
3)上例命令总体的目的是列出所用的进程并将属于用户user01的进程过滤出来
12. tee
接收标准输入的内容并写出到标准输出或文件
运用举例:
ps -ef | grep user01 | tee ps.lst
说明:列出所用的进程并将属于用户user01的进程过滤出来,结果写入到ps.lst文件
13. ssh
远程登录服务器。或在各个server中切换。
ssh aaa.bbb.com
登录后会要求输入用户名和密码。一般情况下仅可执行terminal命令,不可打开图形界面工具。
运用举例:
在服务器1打开一个工具后,发现系统被挂住。鼠标和键盘失效。可考虑借助另一台服务器2登录
服务器1,通过ps命令找到导致系统挂住的工具,然后通过kill命令结束该命令。
14. kill
结束进程。
例如上例10中和jobs配合,或13中和ssh和ps配合。
15. echo
一般用于打印一行文本信息,如可将环境变量或用户设置的变量打印出来。
运用举例:
setenv sim '/work/my_design/sim/' #设置环境变量sim
echo $sim #打印出环境变量sim
16. setenv
设置环境变量。
如上例的sim变量。
运用举例
cd $sim #直接进入/work/my_design/sim/路径
17. cp
复制文件或文件夹
cp -r my_folder ../ #将my_folder 复制到../
18. ln
建立文件或文件夹的链接
ln -s ../sim/run_nc ./ #在本路径下建立run_nc的链接
19. chmod
改变文件的属性。
chmod -R uog+rwx * #u:user,o:others,g:group;r:read,w:write,x:execute
#uog+rwx将所有文件包含子目录下的文件开放所有权限。
#不建议这么做,可调整uog和rwx选项合理开放权限
#如chmod -R g+r 表示对同一个group开放读权限
20. 压缩和解压相关命令
tar,gunzip,unzip
tar -xvzf aaa.tar #解压aaa.tar文件
21. sed命令
可完成文本搜索替换等。参考:
http://www.cnblogs.com/maxincai/p/5146338.html
22. scp 命令
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。
scp -r node00.aaa.com:~/work/ . #从远程服务器node00.aaa.com的home路径下将work拷贝到本地
23. echo $SHELL
显示当前所用的shell类型, 如csh等