常用命令 tcl & shell
TCL 常用命令:
1. 当前时间 [exec date +%m%d_%H%M] (实际是调用shell命令 date),比如在 icc 中保存cell 时可以用:save_mw_cel -as place_opt_[exec date +%m%d_%H%M]
2. 在 Makefile 中调用当前时间: `date +%Y%m%d` ,注意不是用方括号,而是 ` (键盘 ESC 下方的那个按键)
3. tcl 语法中的一个巨坑:在花括号内的所有特殊字符都将成为普通字符, 失去其特殊意义,比如置换符 $ ,在花括号中不再起到置换作用。
eg: get_flat_cells -filter { ref_name == $ref } ,这条命令中的变量 ref 不会被替换,所以无法抓取到任何cell,正确写法应该是将花括号改成双引号。
一个例外:在 if { } 这个条件花括号中的特殊字符可以正常解析,如 if { $val == true } { ... } 可以正常识别 $val 的值。而且 if { } 可以用小括号 :if ( ){ ... } 。
花括号与双引号的区别:花括号中所有特殊字符都被当成普通字符;而双引号中大部分特殊字符都被当做普通字符(只有三个特殊符号除外:换行符,变量置换符$,命令置换符 [ ] )
4. ICC中 filter 选项怎样组合: 用小括号括起来,比如 get_shapes -filter “ ( layer_name == M2 || layer_name == M3 ) && shape_use == detail_route ”
Shell 常用命令:
1. 查看当前目录下的文件及目录大小: du -sh ./*
2. 在当前目录及子目录下搜索文件: find ./ -name "aa.txt"
find /home/user/ -name "*txt*" ( 注意双引号)
3. linux 任务前台后台切换命令:
启动任务时在后面加上符号 & ,表示在后台启动该任务并运行,eg: bkend &
显示后台所有任务:jobs , 加上 -l 则显示任务详细信息
将前台任务切换到后台运行: ctrl+z 暂停当前任务并切换到后台,注意这时候任务是暂停状态,还需要用 bg %num(num是用jobs查询到的任务号,不是PID)使其在后台运行起来
将后台任务切换到前台: fg %num
终止后台任务:kill %num,或者 kill PID
终止前台任务:ctrl+c
4. 压缩和解压:
.tar 文件:
压缩: tar -cvf cc.tar aa bb 将文件 aa 和 bb 打包压缩成 cc.tar ,其中选项 c 是 create, v 是 visible (打印压缩过程), f 是 file (这个 f 参数是必须的)
解压: tar -xvf cc.tar 将文件 cc.tar 解压到当前目录,其中选项 x 是 extract, v 是 visible,f 是 file (参数 f 是必须的)
.gz 文件:
压缩: gzip aa.txt (注意压缩后原文件会消失)
解压: gzip -d aa.txt.gz (解压后原来的压缩文件也会消失)
.rar 文件:
压缩:rar a cc.rar aa bb
解压:unrar x cc.tar
5. 好用的grep:
grep aa file.rpt | grep -v bb : 抓取文件file.rpt 中包含aa 但是不包含bb 的行并打印出来,其中 “ | ” 为管道,表示将前面命令的输出结果作为后面命令的输入,选项 “ -v ” 表示反选
6. to be continue……
|-----------------------------------------|