[1] 每兩行合并在一起
創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、自適應(yīng)網(wǎng)站建設(shè)、展示型成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
@dahuawk 'ORS=NR%2?" ":"\n"{print}'
[2] 每三行合并在一起
@dahuawk 'ORS=NR%3?" ":"\n"{print}'
[3] 每四行合并在一起
@dahuawk 'ORS=NR%4?" ":"\n"{print}'
[4] 統(tǒng)計std cell和sRam占的面積
@dahusummaryReport
[5] 找出drc的port相關(guān)的數(shù)量
@dahucat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-
[6] 獲得選中的pin的名字
@innovusdbget selected.name
[7]? 對一個文件,多目標(biāo)刪除
@dahused -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'
[8] 獲得不規(guī)則fplan的坐標(biāo)組
@innovusdbget top.fplan.boxes
[9] 在某個目錄下找到帶某個字符的文件[區(qū)分大小寫]
@dahufind -iname "*tcic*"
[10] 在某個目錄下,遍歷所有文件內(nèi)容,得到含有某個字符/字符串的行
@dahugrep -r 'insertion delay' ./
[11] 查看當(dāng)前的INNOVUS版本號
@dahuecho $INVS_VER
[12] 替換某個目錄下所有文件內(nèi)容
@dahused -i"s/查找的內(nèi)容/替換后的內(nèi)容/g"`grep -rl"查找的內(nèi)容"./`
[13] 在gui界面下highlight某條path
@dahu ctd_trace?-from * ?-to * ?-color *
[14] 引用${REV},為什么采用大括號{}
為了防止引用造成后面錯亂。
如:/fs/omp_com_03/RELEASE/top2hlb/R1/HLB_DEF/${REV}/${top}.def.gz
[15] 解壓命令
gzip -d FileName.gz
[16] 換某個cell的坐標(biāo) {AAA, BBB}
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_x AAA
@innovus dbset [dbget top.inst.name XXXXXXXX].pt_y BBB
@innovus zoomSelected
[17] 設(shè)置某一個cell不用
@innovus set_dont_touch BUFF false
@innovus set_dont_touch BUFF true
[18] 找某個性質(zhì)
@innovus dbSet [].?h
[19] 刪去空白行
vim 中:g/^s*$/d
簡單解釋一下:
g :全區(qū)命令
/ :分隔符
^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重復(fù)0到n個前面的字符,$表示行尾。連起來就是匹配只有空字符的行,也就是空行。
/d :刪除該行
[20] echo 寫入帶有雙引號""的內(nèi)容。
echo ‘ “AAAbbb” ’ 1.tcl
[21] echo 寫入帶有單引號‘’的內(nèi)容。
echo “ ‘AAAbbb' ” 1.tcl
[22] keep CPU 數(shù)目
@innovussetMultiCpuUsage -localCpu 16
@innovushistory keep 999999
[23] 打開xlsm文件
openoffice.org 文件
[24] 顯示clock path路徑
@innovus report_timing -to XXX -path_type full_clock
[25]報出沒有被約束到的path
@innovus report_timing -to XXX -uncounstrained
[26]報出穿過path中的某一點
@innovus report_timing -to XXX -view
view = MODE + corner
[27] vim 全選(高亮顯示 ):按esc后,然后ggvG或者ggVG
[28]
在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計的命令:
通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個命令的詳細的介紹(主要是跟著 生信技能樹小郭老師 學(xué)習(xí)做的筆記)
接下來通過示例把10個命令的常用參數(shù)和用法展示出來:
參數(shù)的用法介紹:
注意事項:
用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號,退出時,另起一行,按 control C 退出
zcat可以查看壓縮的文本文件,tac逆向查看
結(jié)合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默認 10 行 (在R語言里head和tail默認是前6行)。
less命令用得最多 ,more命令用得比較少
3.1 less命令
less [參數(shù)] 文件名
less命令重要的補充用法1 :
需要注意 退出 :只要使用less命令, 按q鍵
less命令重要的補充用法2 :
參數(shù)用法:
less命令 不加參數(shù) 查看文件:
less命令加 -N參數(shù) 查看文件:顯示行號
less命令加 -S參數(shù) 查看文件:單行顯示,非常規(guī)整
對比:less和cat命令顯示文本行號的用法:less -N,cat -n
3.2 more命令
**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好
查看壓縮文件
wc 統(tǒng)計字符是也把換行符統(tǒng)計進去,但是別的命令不一定會把換行符算進去,。
常見參數(shù):
切記:用less命令,按q退出
cut命令是按關(guān)鍵詞來切的
常見參數(shù):
排列前:
排列后:
解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一個表格結(jié)構(gòu)時,因為制表符對齊的原因,出現(xiàn)一個錯位的現(xiàn)象。還有 字典排序 可能和我們平時的認知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學(xué)意義上的大小來排序 。
uniq命令去重,只有兩行出現(xiàn)重復(fù),而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會去重。
uniq命令通常和sort命令搭配使用
換其它文件試試
總之,uniq命令使用時經(jīng)常和sort一起
常見參數(shù):
常見用法1:
paste file1 file2
-s :按行合并 演示
常見用法2 : paste - -
常見參數(shù):
要養(yǎng)成一個好習(xí)慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)
1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc
2. 截取 example.gtf 第 9 列的內(nèi)容
3. 在第2步的基礎(chǔ)上截取分號分割的第1列
4. 在第3步的基礎(chǔ)上排序、去重復(fù)并統(tǒng)計
5. 在第4步的基礎(chǔ)上,將空格替換成制表符
補充小知識 :
清屏 :control L
查看歷史(輸入過的)命令 :history
1、linux分區(qū)
--在linux里面所有的設(shè)備、任何東西,在linux看來都是文件。
--文件在它看來,有兩種形式:
第一種是字符型(鍵盤輸入、打印機);
第二種是二進制型(硬盤、光驅(qū)、U盤)
--linux中所有硬件
--手動分區(qū)
--A、至少有兩個分區(qū)
/ 根分區(qū)
SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍)
--B、個人桌面分區(qū)
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盤刻錄)
2、linux目錄說明
--/dev/xxyN
--xx (分區(qū)所在設(shè)備類型:hd--IDE硬盤 sd--SCSI硬盤)
--y (標(biāo)明分區(qū)所在設(shè)備
例如:/dev/hda 第一個IDE硬盤 或 /dev/hdb 第二個IDE硬盤 或 /dev/sdb 第二個SCSI硬盤)
--N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴展分區(qū);邏輯分區(qū)從5開始!
例如:/dev/hda3 第一個IDE硬盤上的第三個主分區(qū)或擴展分區(qū)
/dev/sdb6 第二個SCSI硬盤上的第二個邏輯分區(qū))
3、linux目錄結(jié)構(gòu)
/ 根目錄,最高級別
/bin 系統(tǒng)基本命令存放目錄(/usr/bin)
/boot linux的內(nèi)核及引導(dǎo)系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理也位于這個目錄
/dev 設(shè)備文件存儲目錄,如聲卡、光驅(qū)...
/ect 存放系統(tǒng)設(shè)置文件(如用戶賬號密碼、服務(wù)器配置文件等)
/home 普通用戶家目錄,默認存放目錄
/lib 庫文件存放目錄
/lost+found 在ext2或ext3文件系統(tǒng)中,當(dāng)系統(tǒng)以外崩潰或機器意外關(guān)機,而產(chǎn)生一些文件碎片放在這里。
當(dāng)系統(tǒng)啟動的過程中,fsck工具會檢查這里,并修復(fù)已經(jīng)損壞的文件系統(tǒng)。
有事喜用發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復(fù),或者移文件到原來的位置上。
/media 即插即用型存儲設(shè)備的掛載點自動在這個目錄下創(chuàng)建。
如USB盤系統(tǒng)自動掛在后,會在這個目錄下產(chǎn)生一個目錄;
類似cdrom的目錄
/mnt 存放掛載存儲設(shè)備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟件包也會被安裝在此,也就是自定義軟件包,
比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。
/proc 操作系統(tǒng)運行時,進程(正在運行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。
/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)
/root linux超級權(quán)限用戶root的家目錄
/sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級權(quán)限用戶root才可執(zhí)行命令存放,普通用戶無權(quán)限執(zhí)行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root權(quán)限才能執(zhí)行)
/tmp 臨時文件目錄,有時用戶運行程序的時候,會產(chǎn)生臨時文件。
/var/tmp目錄和此目錄相似
/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。
大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務(wù)器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級權(quán)限用戶root可執(zhí)行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經(jīng)常變動
/var/log 用來存放系統(tǒng)日志
/var/www 用來定義Apache服務(wù)器站點存放
/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL數(shù)據(jù)庫的存放地。
4、基本命令
--查看幫助 *** --help *** --?
--查看詳細幫助 man ***
--登錄 login
--退出窗口 exit
--關(guān)機 shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--進入根目錄 cd /
--回上層目錄 cd ..
--相對路徑 cd dev
--絕對路徑 cd /dev
--查用戶名 whoami
--查當(dāng)前目錄 pwd
--列出當(dāng)前目錄內(nèi)容 ls
-l(樹詳細顯示目錄內(nèi)容)
-m(橫列顯示目錄內(nèi)容,是屏幕長度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創(chuàng)建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內(nèi)容,詢問每個準(zhǔn)備刪除的文件)
rm -rf ***-(強制刪除該目錄下所有內(nèi)容,不詢問)
--創(chuàng)建空白文件 touch ***
(ps:從技術(shù)的角度來講,linux的文件后綴名沒有任何意義)
--復(fù)制 cp
cp -r **1 **2 (復(fù)制1到2中)
--移動 mv
mv -t **1 **2 (把2移動到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開始顯示文本內(nèi)容
tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示文檔內(nèi)容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
tail 只看后幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
nl 顯示的時候,順序輸出行號
od 以二進制位的方式讀取檔案內(nèi)容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環(huán)境變量 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復(fù)制一個新文件,joe.txt刪除后,a還存在)
a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個快捷方式,joe.txt刪除后,b不存在)
--wc 統(tǒng)計指定文本文件的行數(shù)、字數(shù)、字符數(shù)
--grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
--col 見管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設(shè)置日期
--stat 顯示指定文件的相關(guān)信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當(dāng)前用戶的id信息
--hostname 顯示主機名稱
--uname 顯示操作系統(tǒng)信息
--dmesg 顯示系統(tǒng)啟動信息
--du 顯示指定的文件(目錄)已使用的磁盤空間
--df 顯示文件系統(tǒng)磁盤空間的使用情況
--free 顯示當(dāng)前內(nèi)存和交換空間的使用情況
--fdisk -l 顯示磁盤信息
--locale 顯示當(dāng)前語言環(huán)境
5、掛載點(mount 設(shè)備目錄 掛載目錄)
--訪問設(shè)備 (那設(shè)備當(dāng)成一個文件,和另外一個文件夾進行綁定)
--例如掛載光驅(qū):步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光驅(qū)內(nèi)容
--卸載掛載設(shè)備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯誤.
6、startup-shutdown(linux啟動流程)
--A、boot sequence(important) linux啟動過程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬盤第一個物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導(dǎo)程序和硬盤分區(qū)表)
c. load the kernel of the OS
(加載為kernel核心的OS)
d. init process starts...
(啟動linux第一個進程init)
e. execute /etc/rc.d/sysinit
(執(zhí)行系統(tǒng)最重要的配置文件,后臺啟用進程)
(rc.d--run command)
f. start other modules(stc/modules.conf)
(開啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊)
g. execute the run level scripts
(系統(tǒng)啟動是分層次的,根據(jù)情況執(zhí)行,每個層次之間沒關(guān)系)
0 - 系統(tǒng)停機狀態(tài)
1 - 單用戶工作狀態(tài) root
2 - 多用戶狀態(tài)(沒有NFS)
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
4 - 系統(tǒng)未使用,留給用戶
5 - 圖形界面
6 - 系統(tǒng)正常關(guān)閉并重新啟動
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執(zhí)行的進程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進程腳本,如tomcat自動啟動,要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...
7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-光標(biāo)后添加
i insert-光標(biāo)前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存盤
:wq 存盤退出
:q 退出
:q! 不存盤退出
dd 刪除其中一行
dw 刪除一個單詞
(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)
8、用戶設(shè)置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個用戶組)
(創(chuàng)建后會自動在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)
--設(shè)置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個數(shù)字,代表用戶組,當(dāng)添加用戶沒有指定用戶組時,系統(tǒng)會創(chuàng)建一個和用戶ID一樣的組ID;
第二個數(shù)字:用戶ID號;
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令---SHELL[解釋命令]---kenrel內(nèi)核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然后把/home的文件夾刪除了 rm -rf 文件夾
9、權(quán)限file privilege
--linux把文件的權(quán)限分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權(quán)限設(shè)置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶權(quán)限
--設(shè)置權(quán)限 (隨意應(yīng)用,靈活組合!)
1、普通用法
--添加權(quán)限 [chmod +x 文件]
如:-rw-r--r-- --- -rwxr-xr-x
--刪除權(quán)限 [chmod -x 文件]
如:-rwxr-xr-x --- -rw-r--r--
--給自己添加權(quán)限 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- --- -rwxr--r--
chmod g+x -rw-r--r-- --- -rw-r-xr--
chmod o+x -rw-r--r-- --- -rw-r--r-x
2、專業(yè)用法 chmod 755/777
--原理,八進制轉(zhuǎn)二進制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者權(quán)限 chown (change owner)
如:chown 原來文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一個命令執(zhí)行的結(jié)果交給下一個命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制臺模式下,無法返回前面過去的信息),因此需要管道執(zhí)行該查詢,實現(xiàn)分頁的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結(jié)果,再數(shù)數(shù)有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結(jié)果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統(tǒng)啟動的信息,再查找包含eth0的行--真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常)
--$man bash | col -b bash.txt
語法:col [-bfx][-l緩沖區(qū)列數(shù)]
補充說明:在許多UNIX說明文件里,都有RLF控制字符。當(dāng)我們運用shell特殊字符""和"",把說明文件的內(nèi)容輸出成純文本文件時,控制字符會變成亂碼,col指令則能有效濾除這些控制字符。
參數(shù):
-b 過濾掉所有的控制字符,包括RLF和HRLF。
-f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來。
-x 以多個空格字符來表示跳格字符。
-l緩沖區(qū)列數(shù) 預(yù)設(shè)的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。
--$ls -l | grep "^d"
(用正則表達式篩選出目錄列表中 頭字母為'd' 的內(nèi)容--目錄)(^是正則表達式開頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字符為'-'的內(nèi)容--文件,并統(tǒng)計顯示的行數(shù)wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺
ls cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall cmd.txt,把文本內(nèi)容發(fā)給所有人
12、修改系統(tǒng)的默認系統(tǒng)級別
常用3和5
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
5 - 圖形界面
PS.設(shè)置用戶權(quán)限: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執(zhí)行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權(quán)限.
755表示文件所有者可讀寫,執(zhí)行.
第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.
第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉(zhuǎn)載于Joewalker在本人空間也有詳細說明
Linux系統(tǒng)下\t參數(shù)是水平制表(制表符) ,就是鍵盤上的tab鍵的功能,代碼案例分析:
echo -e "a\tb" #輸出的就是a b,a與b中間的空位就是水平制表(制表符)。
在linux下想從鍵盤輸入制表符,需要同時按下Ctrl+v+tab 即可(或者用命令/t參數(shù)代替tab鍵的功能)。