导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。
shell脚本能提高用户操作和管理员进行系统管理的效率,一般操作步骤:
source xxx./ xxx执行命令whoami:查看用户自己当前使用的账户名who:查看当前有哪些用户登录到系统中w:查看有哪些用户登录在线,同时显示用户当前的工作clear:清屏命令。. - 当前目录; .. - 父目录/为起点,所有其他的目录都由根目录派生二来用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问哪里的文件。pwd(Present Work Directory)cp -rf ./asic_flow ~cd [目录名](Change Directory)
cd ~ : 返回home目录cd .. : 返回上一级目录mkdir <-m模式> [目录](Make Directory)
<-m模式> :建立目录时,设置目录的权限。(-m用的比较少)mkdir tmpmkdir --helpln <选项> [目标] [链接名](Link )ln <选项> [目标] [目录]ln -s source desls <选项> [文件目录列表]:(List)-a(all),-l(long),-t(time),-s(size),-R(Recursive)(注意该选项是大写),--version,--help
-a所有文件,-l显示文件格式,-t和-s用的少,-R展开子级目录ls --help | more:分屏显示
|:表示管道符,在一个命令行同时执行左右两个命令。more:分屏显示
ls -rta /etc:递归显示目录/etc下所有的文件及目录,并按文件的最新修改时间排序显示。ls -al,简写命令为:ll- rw- r-- r--释义-:常规文件d:目录文件l:链接文件p:管道设备文件b:块特殊设备文件c:字符特殊设备文件u,user)的权限、组中其他人(g,group)的权限、系统中其他人(o,other)的权限。
r),写(w)、执行(x)权限chmod <选项> [文件和目录列表]
chmod ugo+r xxx 等价于 chmod a+r xxx(+表示增加属性,a代表all)chmod ug+w,o-w xxx yyychmod -R a+r *u/g/o的权限r(4)、写w(2)、执行x(1)chmod 777 xxx 等价于 chmod a+rwx xxxchmod 772 xxx 等价于 chmod ug+rwx,o+w xxxmore <选项> [文件]
Q。-num:指定一个整数,表示一屏显示多少行+num:从行号num开始显示-c:不滚屏,在显示下一屏之前先清屏more xxxless <选项> [文件]
PageUp,PageDown翻页,退出按Q。More只能通过空格向下翻页!less xxxhead <选项> [文件]
head xxx-n:显示前面n行,eg:head -5 xxx-q:不显示文件的标题,eg:head -q xxx-v:时钟显示文件的标题,eg:head -v xxx-c n:显示前面的n个字节,eg:head -c 10 xxxtail <选项> [文件]
cat <选项> [文件]
ctrl+s:停止滚屏ctrl+q:恢复滚屏ctrl+c:中断命令| 选项 | 说明 |
|---|---|
-b | 计算所有非空输出行,开始为1 |
-e | 在每行末尾显示$符号 |
-n | 计算所有输出行,开始为1 |
-s | 将相连的多个空行用单一空行代替 |
cp <选项> [源文件 ] [目标文件]
cp <选项> [源文件目录] [目标目录]
| 选项 | 说明 |
|---|---|
-i | 提示是否覆盖已存在的目标文件(默认有) |
-p | 保持原先文件的所有者,组权限和时间标志(默认有) |
-f | 强制覆盖,不加提示 |
-r | 递归拷贝目录,将所有非目录文件当普通文件拷贝 |
-v | 详细,显示文件的复制速度 |
-a | 拷贝文件夹 |
touch [文件名]
touch new.txtrm <选项> [文件列表]
| 选项 | 说明 |
|---|---|
-r | 递归将目录以下文件逐层删除 |
-i | 删除前询问确认 |
-f | 指定强行删除无需确认,即使原文件属性设为只读 |
-v | 详细显示文件的删除速度 |
mv <-f | -i> [文件1] [文件2]
mv <-f | -i> [目录1] [目录2]
mv <-f | -i> [文件列表] [目录]
| 选项 | 说明 |
|---|---|
-f | 若目标文件已存在,不提示直接覆盖已有文件 |
-i | 若目标文件有同名,则先询问是否覆盖已有文件 |
-v | 详细显示文件的移动速度 |
wc <选项> 文件列表
| 选项 | 说明 |
|---|---|
-c | 统计字节数 |
-l | 统计行数 |
-w | 统计字数 |
find 目录 -name 文件名
find ./ -name error:在当前目录下查找名为error的文件。find ./ -name "*.v":在当前目录下查找所有的.v文件find ./ -name *test*:在当前目录下查找名字中间有test字样的文件grep <选项> [匹配字符串] [文件列表]
grep error *:所有文件内容中含有error字样的文件grep error * -r:-r表示递归查找grep error * -i:-i表示不区分大小写(ignore)grep "err*" *:*表示通配符(通配符只能在后面加!)grep只能查找固定的字符,egrep = grep -e (extend)可以查找正则表达式
查找文件里面的内容 -r会对当前目录下的文件夹里面的内容进行查找,查找的时间也稍微长一点,不加只会查找当前目录下的文件,也可以使用通配符,还可以指定文件,但是就不用加通配符*了。
sort <选项> [文件列表]
-n 就是按照数字大小的方式排列diff <参数> [源文件1] [目标文件2]
| 选项 | 说明 |
|---|---|
-b | 忽略空格造成的不同 |
-q | 只报告什么地方不同,不报告具体的不同信息 |
-i | 忽略大小写的变化 |
-r | 在比较目录时比较所有子目录 |
-s | 两个文件相同时才报告 |
-v | 在标准输出上输出版本信息并退出 |
-y | 结果并列放置 |
diff file1 file2 -ydiff -r dir1 dir2 -y注:用
gvimdiff更方便!
重定向:将文件的标准输出重新定向输出到文件,或将数据文件作为另一程序的标准输入内容。
ls -l > file.txt:将内容输出到新文件file.txt中ls -l >> file.txt:将内容输出到已有文件后面grep keyword < file.txt 直接从file.txt里面找keyword ,等价于grep keyword file.txt。用的比较少,输出用的多。管道符|,通常放在两个命令之间,将前一个命令的输出作为下一个命令的输入。
Linux通常是一个命令,但是想在原来的基础上在运行一个,就需要管道符。管道符核心:上一个命令的结果就是下一个命令的输入。
cat sample.txt | grep "High" | wc -l:显示sample.txt 这个文件,显示内容中搜索High,最后再统计一下High行有多少!tar文件打包:tar <主选项> <辅选项> [存档文件名] [文件或目录列表]
常用选项:c(create,打包)/z(使用gzip压缩)/v(verbose,详细的)/f(file,文件夹)/x(extract,解包)/j(使用bzip2压缩)
1)将/home目录下所有文件和目录存档,存档名为archive.tar:tar -cvf archive.tar /home
2)解包存档文件archive.tar:tar -xvf archive.tar
3)不解包存档文件archive.tar,只查看内容:tar -tvf archive.tar
4)将/home目录下所有文件和目录存档,并对存档文件压缩,压缩后文件名archive.tar.gz:tar -czvf archive.tar.gz /home
5)解包以及解压缩archive.tar.gz:tar -xzvf archive.tar.gz
kill <选项> [应用程序PID]
| 选项 | 说明 |
|---|---|
-15 | 通知应用程序关闭(不加选项也是默认-15) |
-9 | 强制关闭应用程序 |
alias ll='ls -al'alias sc='source ~/.bashrc'alias -p查看现有别名设置ps -ups -eftop(使用这个较多)
top比较占资源,及时q退出du -sh(disk usage)du -h、du -h --max-depth=1(当前目录下的第一级目录)man <选项> [命令名]cd --helpwhereis <选项> [命令名]history 可查看先前的指令向上方向键 可用来执行最近的指令; 来间隔几个指令,可以让指令顺序执行(管道符号异曲同工)tab 键可以直接补齐系统中有的指令管道符可以实现多个指令的组合使用:
ps -ef | grep vsimctrl+z:挂起fg:恢复ctrl+c:终止