一个合格ICer,必需要熟练掌握常用的Linux命令。今天来介绍一下IC设计中常用的Linux命令。(管理员相关的命令后面另写一篇文章。)
文件及目录操作
cd pwd ls tree mkdir touch cp rm mv ln cat more head tail
查找
echo env which find grep
压缩和解压缩
tar
查看系统状态
date top free kill ps who w df du stat chmod
cd prj
cd /home/exasic/prj
cd ~prj
pwd
ls -1
ls -l
ls -lh
ls -R
ls -a
ls -A
ls -ltr
alias ls 'ls -h --color=tty'
Tips:
#列出子目录
ls -l | grep '^d' | awk '{print $9}'
tree .
Tips:
#列出两层子目录结构
tree -dfi -L 2
mkdir xxx
mkdir -p xxx/yyy/zzz
touch xxx
touch -a xxx
touch -m xxx
cp a.v b.v
cp a.v c
alias cp 'cp -i'
mv a.v b.v
mv a.v c
alias mv 'mv -i'
rm a.v
rm -r c
alias rm 'rm -i'
Tips: 在工作中如何避免误删(误覆盖)文件
set rmstar
set noclobber
rm -i, mv -i, cp -i操作确认
编辑器的自动定时备份
用版本管理工具管理源代码
异地备份
ln -s xxx/a.v a.v
cat a.v | more
more a.v
head -n 1 a.v
tail -n 5 a.v
echo "I'am an ICer"
echo $PATH
env
which irun
find . -name "*.v"
find . -mtime -10 -name "*.log"
find . -path "*rtl*"
Tips:
#合并所有的.v文件
find . -name "*.v" | xargs cat > all.v
#删除所有的*~文件
find . -name "*~" | xargs rm -f
#删除所有波形文件
find . -name "*.fsdb" -exec rm {} \;
grep "FAIL" *.log
grep -r "DLY2" .
tar -zcvf rtl.tar.gz rtl
tar -zxvf rtl.tar.gz
Tips:
#选项的-可以省略
tar zxvf rtl.tar.gz
date +%s
date +%F' '%T
top
Tips: top的子命令
u 按用户筛选
o 其它列筛选(可筛选多次),如COMMAND=verdi
= 按等于号清除筛选
k kill进程
c 进程显示详细命令路径
1 详细CPU状态
f 设置显示列,及顺序
q 退出
注:不同版本的操作系统的Top子命令(如o、f、=等)有些差异,可按h/?查看帮助。
free
内存使用率=used / total。例如,下面的使用率为2153048/3880180=55%。
其中,buffer表示尚未写到硬盘的数据,cache表示从硬盘读出来的数据,这两项由操作系统管理。
$ free
total used free shared buff/cache available
Mem: 3880180 2153048 164196 184148 1562936 1160220
Swap: 4063228 1024 4062204
kill -9 pid
kill -9 -1
ps -ef | grep "user"
ps -ef | grep "vcs"
who
w
df -h
du -s /home/user
du -s *
stat a.v
chmod -R 600 prj
chmod -R 755 sim.py
chmod +x sim.py
chmod -x *.v