一个合格ICer,必需要熟练掌握常用的Linux命令。今天来介绍一下IC设计中常用的Linux命令。(管理员相关的命令后面另写一篇文章。)
Linux常见命令一览
文件及目录操作
cd pwd ls tree mkdir touch cp rm mvln cat more head tail
查找
echo env which find grep
压缩和解压缩
tar
查看系统状态
date top free kill ps who w df du stat chmod
详细介绍
cd 改变工作目录
cd prj
cd /home/exasic/prj
cd ~prj
pwd 查看当前所在工作路径
pwd
ls 列出当前目录的子目录及文件
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列出子目录和文件树型结构
tree .
Tips:列出两层子目录结构
tree -dfi -L 2
mkdir 新建目录
mkdir xxx
mkdir -p xxx/yyy/zzz
touch新建文件或修改文件访问(修改)时间
touch xxx
touch -a xxx
touch -m xxx
cp 复制文件
cp a.v b.v
cp a.v c
alias cp 'cp -i'
mv 移动或重命令
mv a.v b.v
mv a.v c
alias mv 'mv -i'
rm 删除目录或文件
rm a.v
rm -r c
alias rm 'rm -i'
Tips: 在工作中如何避免误删(误覆盖)文件
set rmstar
set noclobber
rm -i, mv -i, cp -i操作确认
编辑器的自动定时备份
用版本管理工具管理源代码
用mv代替rm
异地备份
ln 创建链接
ln -s xxx/a.v a.v
cat显示文件内容
cat a.v | more
more分页显示文件内容
more a.v
head, tail显示文件的开头或末尾n行
head -n 1 a.v
tail -n 5 a.v
echo打印字符串或变量值
echo "I'am an ICer"
echo $PATH
env打印当前所有的环境变量
env
which查看命令所在软件或目录
which irun
find查找文件
find . -name "*.v"
find . -mtime -10 -name "*.log"
find . -path "*rtl*"
Tips: 合并所有的.v文件
find . -name "*.v" | xargs > all.v
Tips: 删除所有的*~文件
find . -name "*~" | xargs rm -f
Tips: 删除所有波形文件
find . -name "*.fsdb" -exec rm {} \;
grep查找文件内容
grep "FAIL" *.log
grep -r "DLY2" .
tar压缩和解压缩
tar -zcvf rtl.tar.gz rtl
tar -zxvf rtl.tar.gz
Tips:选项的-可以省略
tar zxvf rtl.tar.gz
date显示当前日期或时间
date +%s
date +%F' '%T
top显示当前CPU、内存、进程等信息
top
Tips:top的子命令
u 按用户筛选
k kill进程
c 进程显示详细命令路径
1 详细CPU状态
o 设置显示列,及顺序
q 退出
free查看内存状态
free
kill杀死进程
kill -9 pid
kill -9 -1
ps查看进程
ps -ef | grep "user"
ps -ef | grep "vcs"
who, w查看用户登陆情况
who
w
df查看硬盘使用情况
df -h
du统计目录或文件大小
du -s /home/user
du -s *
stat查看文件的详细信息
stat a.v
chmod修改目录或文件的权限
chmod -R 600 prj
chmod -R 755 sim.py
chmod +x sim.py
chmod -x *.v
欢迎关注ExASIC
分享数字集成电路设计中的经验和方法
分享让工作更轻松