[root@localhost ~]# ls -l
成都創(chuàng)新互聯(lián)公司是專業(yè)的新吳網(wǎng)站建設(shè)公司,新吳接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行新吳網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
權(quán)限--引用計數(shù) 所有者 -- 所屬組--- 大小-- 文件修改時間 文件名
ls [選項] [文件名或目錄名]
選項:
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習(xí)慣的顯示文件大小
-i :顯示文件的i節(jié)點號
-l:長格式顯示
pwd 命令是查詢當前所在的目錄的絕對路徑
選項:
-L (默認值)打印環(huán)境變量"$PWD"的值,可能為符號鏈接。
-P 打印當前工作目錄的物理位置。
mkdir 是創(chuàng)建目錄的命令
選項:
-Z:設(shè)置安全上下文,當使用SELinux時有效;
-m或--mode:建立目錄的同時設(shè)置目錄的權(quán)限;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創(chuàng)建空文件或修改文件的時間戳
[root@localhost ~]# touch [選項] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時間;
-c:或--no-create 不建立任何文件;
-d:時間日期 使用指定的日期時間,而非現(xiàn)在的時間;
-f:此參數(shù)將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動時間;
-r:參考文件或目錄 把指定文件或目錄的日期時間,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時間相同;
-t:日期時間 使用指定的日期時間,而非現(xiàn)在的時間;
--help:在線幫助;
--version:顯示版本信息。
stat 是查看文件詳細信息的命令,而且可以看到文件的這三個時間戳
選項:
-L:支持符號連接;
-f:顯示文件系統(tǒng)狀態(tài)而非文件狀態(tài);
-t:以簡潔方式輸出信息;
cat 命令用來查看文件內(nèi)容
選項:
-A: 相當于-vET 選項的整合,用于列出所有隱藏符號
-E: 列出每行結(jié)尾的回車符$
-n: 顯示行號
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字符
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應(yīng)按Q鍵。
選項:
-e:文件內(nèi)容顯示完畢后,自動退出;
-f:強制顯示文件;
-g:不加亮顯示搜索到的所有關(guān)鍵詞,僅顯示當前顯示的關(guān)鍵字,以提高顯示速度;
-l:搜索時忽略大小寫的差異;
-N:每一行行首顯示行號;
-s:將連續(xù)多個空行壓縮成一行顯示;
-S:在單行顯示較長的內(nèi)容,而不換行顯示;
-x數(shù)字:將TAB字符顯示為指定個數(shù)的空格字符。
head 是用來顯示文件開頭的命令
選項:
-c --bytes=[-]NUM 顯示前NUM字節(jié);如果NUM前有"-",那么會打印除了文件末尾的NUM字節(jié)以外的其他內(nèi)容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認的10行;如果NUM前有"-",那么會打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 總是打印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來顯示文件末尾的命令
選項:
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數(shù))個字節(jié)內(nèi)容。
-f, --follow[={name|descript}] 顯示文件最新追加的內(nèi)容。“name”表示以文件名的方式監(jiān)視文件的變化。
-F 與 “--follow=name --retry” 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數(shù)字)行內(nèi)容。
--pid=進程號 與“-f”選項連用,當指定的進程號的進程終止后,自動退出tail命令。
-q, --quiet, --silent 當有多個文件參數(shù)時,不輸出各個文件名。
--retry 即是在tail命令啟動時,文件不可訪問或者文件稍后變得不可訪問,都始終嘗試打開文件。使用此選項時需要與選項“--follow=name”連用。
-s, --sleep-interal=秒數(shù) 與“-f”選項連用,指定監(jiān)視文件變化時間隔的秒數(shù)。
-v, --verbose 當有多個文件參數(shù)時,總是輸出各個文件名。
ln 是用來為文件創(chuàng)建鏈接的命令
[root@localhost ~]# ln [選項] 源文件 目標文件
選項:
-s: 建立軟鏈接文件。如果不加“-s”選項,則建立硬鏈接文件
-f: 強制。如果目標文件已經(jīng)存在,則刪除目標文件后再建立鏈接文件
-d, -F, --directory 創(chuàng)建指向目錄的硬鏈接(只適用于超級用戶)
-f, --force 強行刪除任何已存在的目標文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創(chuàng)建相對于鏈接位置的軟鏈接
-s, --symbolic 對源文件建立軟鏈接
硬鏈接特征:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
? 修改任意一個文件,另一個都改變
? 刪除任意一個文件,另一個都能使用
? 硬鏈接標記不清,很難確認硬鏈接文件位置,不建議使用
? 硬鏈接不能鏈接目錄
? 硬鏈接不能跨分區(qū)
軟鏈接特征:
? 軟鏈接和源文件擁有不同的 Inode 和 Block
? 兩個文件修改任意一個,另一個都改變
? 刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
? 軟鏈接沒有實際數(shù)據(jù),只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
? 軟鏈接的權(quán)限是最大權(quán)限 lrwxrwxrwx.,但是由于沒有實際數(shù)據(jù),最終訪問時需要參考源文
件權(quán)限
? 軟鏈接可以鏈接目錄
? 軟鏈接可以跨分區(qū)
? 軟鏈接特征明顯,建議使用軟連接
rm 是強大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項] 文件或目錄
選項:
d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執(zhí)行過程。
cp 是文件或目錄用于復(fù)制的命令
[root@localhost ~]# cp [選項] 源文件 目標文件
選項:
-a:此參數(shù)的效果和同時指定"-dpR"參數(shù)相同;
-d:當復(fù)制軟鏈接時,把目標文件或目錄也建立為軟鏈接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復(fù)制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立軟鏈接,而非復(fù)制文件;
-u:使用這項參數(shù)后只會在源文件的更改時間較目標文件更新時或是名稱相互對應(yīng)的目標文件并不存在時,才復(fù)制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執(zhí)行的操作。
mv 是用來對文件或目錄重新命名,或者將文件移動至其他目錄
[root@localhost ~]# mv [選項] 源文件 目標文件
選項:
-b:當文件存在時,覆蓋前,為其創(chuàng)建一個備份;
-f:若目標文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“ / ”;
-S后綴:為備份文件指定后綴,而不使用默認的后綴;
--target-directory=目錄:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執(zhí)行移動操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的權(quán)限位如果不計算最后的“.”,則共有 10 位。
第 2~4 位代表文件所有者的權(quán)限。
chmod 用來變更文件或目錄的權(quán)限
[root@localhost ~]# chmod [選項] 權(quán)限模式 文件名
選項:
-c, --changes:當文件的權(quán)限更改時輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認選項。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數(shù)錯誤消息的輸出。
-v, --verbose:無論文件是否更改了權(quán)限,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的權(quán)限來設(shè)置目標文件或目錄的權(quán)限。
-R, --recursive:對目錄以及目錄下的文件遞歸執(zhí)行更改權(quán)限操作。
用戶身份
首先,讀、寫、執(zhí)行權(quán)限對文件和目錄的作用是不同的。
目錄的可用權(quán)限其實只有以下幾個。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項] 所有者:所屬組 文件或目錄
選項:
-c或——changes:效果類似“-v”參數(shù),但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤信息;
-h或--no-dereference:只對軟鏈接的文件作修改,而不更改其他任何相關(guān)文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
-v或——version:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的擁有者與所屬群組全部設(shè)成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行
普通用戶可以修改所有者是自己的文件的權(quán)限
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似“-v”參數(shù),但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤信息;
-h或--no-dereference:只對符號連接的文件作修改,而不是該其他任何相關(guān)文件;
-H如果命令行參數(shù)是一個通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-L:遍歷每一個遇到的通到目錄的軟鏈接
-P:不遍歷任何符號鏈接(默認)
-v或——verbose:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同;
umask 是顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼。我們需要先了解一下新建文件和目錄的默認最大權(quán)限。
我們在這里按照權(quán)限字母來講解 umask 權(quán)限的計算方法。我們就按照默認的 umask 值是 022來分別計算一下新建文件和目錄的默認權(quán)限吧。
先設(shè)定實驗環(huán)境:
#
造
5
個
目錄,每個目錄下,造
3
個
文件和兩個子目錄如下:
cd
$home/tmp
for
i
in
d1
d2
d3
d4
d5
do
mkdir
-p
$i
touch
$i/1.txt
$i/2.txt
$i/3.txt
mkdir
-p
$i/tmp1
$i/tmp2
done
#
檢驗測試環(huán)境:
$
ls
-lr
d1
total
-rw-r--r--
1
wenlee
comm
dec
22
10:35
1.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
2.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
3.txt
drwxr-sr-x
2
wenlee
comm
256
dec
22
10:35
tmp1/
drwxr-sr-x
2
wenlee
comm
256
dec
22
10:35
tmp2/
#
利用下列腳本來實現(xiàn)你要做的:
cd
$home/tmp
for
i
in
*/1.txt
do
echo
"found
$i,
save
$i
and
remove
everything
else
under
$(dirname
$i)/"
save_this_file=$(basename
$i)
curr_dir=$(dirname
$i)
#
把這個1.txt暫時存到/tmp里面去,為了避免已經(jīng)有同樣的檔案名稱在/tmp,加上$$
(i.e.
pid)
mv
$i
/tmp/${save_this_file}.$$
rm
-rf
$curr_dir
mkdir
-p
$curr_dir
mv
/tmp/${save_this_file}.$$
$curr_dir
done
#
屏幕執(zhí)行輸出如下:
found
d1/1.txt,
save
d1/1.txt
and
remove
everything
else
under
d1/
found
d2/1.txt,
save
d2/1.txt
and
remove
everything
else
under
d2/
found
d3/1.txt,
save
d3/1.txt
and
remove
everything
else
under
d3/
found
d4/1.txt,
save
d4/1.txt
and
remove
everything
else
under
d4/
found
d5/1.txt,
save
d5/1.txt
and
remove
everything
else
under
d5/
#
復(fù)驗實驗環(huán)境:
$
ls
-l
d?/*
-rw-r--r--
1
wenlee
comm
dec
22
10:35
d1/1.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
d2/1.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
d3/1.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
d4/1.txt
-rw-r--r--
1
wenlee
comm
dec
22
10:35
d5/1.txt
ok?
thanks!
所有命令的參數(shù)都是使用空格分隔的,例如 ls -l 。在這里ls即為命令名, -l 為此命令的參數(shù),在 ls 與 -l 之間有一個空格,但是在 -l 內(nèi)部不能有空格。
由于Linux繼承于Unix,而Unix操作系統(tǒng)在當初設(shè)計的時候,鍵盤并不可靠,而且敲鍵盤比較費勁(比如容易卡住),因此大部分命令都非常簡短,一般是完整的英文單詞去掉元音字母(aeiou)后的縮寫,這是一個歷史問題。
整個操作系統(tǒng)的磁盤都被劃分為很多個目錄(directory)或稱文件夾(folder),還有文件(file)。每個目錄下還可以有子目錄(sub direcotory)與文件,這樣就形成了一個樹狀結(jié)構(gòu),樹根為 / ,被稱為根目錄(root directory)。
在 任何時候 ,你都有一個 當前目錄 (Working Directory),你所有的操作都是相對于當前目錄做出的,以當前目錄為基準的目錄名或者文件名叫做相對目錄。例如若你的當前目錄是/home/alex,在/home/alex目錄下有一個叫Public的子目錄,還有一個叫l(wèi)og.txt的文件,則Public與log.txt就是相對目錄名與相對文件名。
每個目錄與文件都有一個全路徑(full path)名,這個全路徑以/開頭,遍歷整個目錄,直到最終的目錄名或者文件名為止。例如在Linux中,/下有etc、home、usr、lib等子目錄,而home目錄下有alex目錄,alex目錄下有Public目錄。則在這里Public的全路徑名就是 /home/alex/Public ,注意在這里必須大小寫一致。
當然也有可能在其它的名叫Public的目錄或者文件,但是它們的全路徑肯定是不一樣的。就像在中國有一個叫Alex的人,在美國也有一個叫Alex的人,他們可以分別稱為中國的Alex與美國的Alex,這就是他們的全路徑 ;)。全路徑又叫絕對路徑(absolute path)。
在Linux里,每個用戶都有一個家目錄(home directory),一般情況下用戶的家目錄就是/home目錄下相應(yīng)的用戶名,例如alex用戶的家目錄就是/home/alex。
大部分文件都有擴展名(extension name),擴展名即為文件名最后一個點號(.)后面的文字,擴展名一般都表示了文件的類型。例如在log.txt這個文件名中,txt是擴展名,表示這個文件是一個文本文件(TeXT file),而文本文件一般都是可以直接查看內(nèi)容的。而在house.1.jpg這個文件名中,其擴展名為jpg,表示這個文件是一個JPG格式的圖形文件,而圖形文件一般都是需要使用圖形軟件打開才能看到其內(nèi)容的。
pwd 是Pring Working Directory的縮寫,此命令的作用是打印(print)當前的(working)目錄(directory)的全路徑名。
當你打開終端或者切換目錄之后,你最好運行一下 pwd 命令,確認當前的目錄是不是你想要切換的目錄。
pwd 命令一般不需要參數(shù)。
ls 是LiSt的縮寫,此命令的作用是列舉目錄下的文件與子目錄。
當你不帶參數(shù)運行 ls 命令時,此命令將列舉出當前目錄下的文件與子目錄的名稱。
當你加上-l參數(shù)運行 ls 命令時,此命令將列舉出當前目錄下的文件與子目錄的名稱,以及它們的修改時間、大小等信息。
你也可以使用 ls 命令列舉其它目錄下的文件與子目錄的名稱,例如,運行 ls / 即可列舉出根目錄下的文件與子目錄名,運行 ls -l / 即可列舉出根目錄下的文件與子目錄名,以及它們的修改時間、大小等信息。
cd 是Change Directory的縮寫,此命令的作用是切換當前的工作目錄。
例如,運行 cd /home/alex 將把當前目錄切換為 /home/alex 。當然,cd后面的參數(shù)也可以是相對目錄。例如若當前目錄為 /home/alex ,而 /home/alex 目錄下有一個目錄叫Public,則運行 cd Public 則會將當前目錄變?yōu)?/home/alex/Public 。
如果cd命令后面不接任何參數(shù),則將把當前目錄設(shè)置為用戶的家目錄。
cp 是CoPy的縮寫,此命令的作用是復(fù)制文件或者文件夾。
例如,運行 cp 1.txt 2.txt 將把當前目錄下的 1.txt 文件復(fù)制成 2.txt 文件。運行 cp 1.txt /tmp/2.txt 將把當前目錄下的 1.txt 復(fù)制成 /tmp/2.txt 文件,運行 cp 1.txt /home/alex/ 將把 1.txt 文件復(fù)制到 /home/alex/ 目錄下。
rm 是ReMove的縮寫,此命令的作用是刪除文件或者文件夾。
例如,運行 rm 2.txt 將刪除當前目錄下的 2.txt 文件,運行 rm /tmp/2.txt 將刪除 /tmp/2.txt 文件。
你也可以使用 rm 來刪除目錄,此時需要帶上-R參數(shù)(recursive,即遞歸的意思),例如 rm -R /tmp/abc 將刪除整個 /tmp/abc 目錄。
刪除時一般都會詢問你讓你確認是否要刪除,如果你不需要被提問確認,可以加上-f參數(shù),例如 rm -f /tmp/1.txt 。
mv 是MoVe的縮寫,此命令的作用是移動文件或者文件夾,或說是為文件或者文件夾改名。注意,一旦移動成功,則原來的文件或者文件夾就不存在了。
例如,運行 mv 1.txt 2.txt 將把當前目錄下的 1.txt 改名為 2.txt ,運行 mv 1.txt /tmp/2.txt 將把當前目錄下的 1.txt 移動成為 /tmp/2.txt 文件。
mkdir 是MaKe DIRectory的縮寫,此命令的作用是創(chuàng)建目錄。
例如 mkdir abc 將在當前目錄下創(chuàng)建一個名為 abc 的目錄, mkdir /tmp/xyz123 將在 /tmp 目錄下創(chuàng)建一個名為 xyz123 的目錄。
mkdir 可以帶-p參數(shù),這樣即可同時創(chuàng)建多層目錄,例如 mkdir -p a/b/c/123 將在當前目錄下創(chuàng)建a目錄,在a目錄下創(chuàng)建b目錄,在b目錄下創(chuàng)建c目錄,在c目錄下創(chuàng)建123目錄。
在Linux下還有幾個特殊的目錄,它們分別是:
有一個特殊的符號表示文件名匹配,即 * 。例如 cp *.txt /tmp/ 將把當前目錄下的以 .txt 結(jié)尾的文件名都復(fù)制到 /tmp/ 目錄下, ls a*.txt 將列舉出當前目錄下所有以 a 開頭,以 .txt 結(jié)尾的文件名與目錄, rm /tmp/1*log 將刪除 /tmp 目錄下所有文件名以 1 開頭,以 log 結(jié)尾的文件。
所有以 . 開頭的文件與目錄都表示是隱藏文件 / 目錄,例如 .vimrc ,例如 .. ,在 ls 時一般是看不到這些文件與目錄的,如果想要看到,需要使用 ls 的 -a 參數(shù),例如 ls -al 。
Linux下有大量命令/軟件,在此我們僅列舉幾個可能會用到的,可以在使用過程中慢慢熟悉。
[1] 每兩行合并在一起
@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]? 對一個文件,多目標刪除
@dahused -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'
[8] 獲得不規(guī)則fplan的坐標組
@innovusdbget top.fplan.boxes
[9] 在某個目錄下找到帶某個字符的文件[區(qū)分大小寫]
@dahufind -iname "*tcic*"
[10] 在某個目錄下,遍歷所有文件內(nèi)容,得到含有某個字符/字符串的行
@dahugrep -r 'insertion delay' ./
[11] 查看當前的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的坐標 {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]
先設(shè)定實驗環(huán)境:
# 造 5 個 目錄,每個目錄下,造 3 個 文件和兩個子目錄如下:
cd $HOME/tmp
for i in d1 d2 d3 d4 d5
do
mkdir -p $i
touch $i/1.txt $i/2.txt $i/3.txt
mkdir -p $i/tmp1 $i/tmp2
done
# 檢驗測試環(huán)境:
$ ls -lR d1
total 0
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 1.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 2.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 3.txt
drwxr-sr-x 2 wenlee comm 256 Dec 22 10:35 tmp1/
drwxr-sr-x 2 wenlee comm 256 Dec 22 10:35 tmp2/
# 利用下列腳本來實現(xiàn)你要做的:
cd $HOME/tmp
for i in */1.txt
do
echo "Found $i, save $i and remove everything else under $(dirname $i)/"
save_this_file=$(basename $i)
curr_dir=$(dirname $i)
# 把這個1.txt暫時存到/tmp里面去,為了避免已經(jīng)有同樣的檔案名稱在/tmp,加上$$ (i.e. PID)
mv $i /tmp/${save_this_file}.$$
rm -rf $curr_dir
mkdir -p $curr_dir
mv /tmp/${save_this_file}.$$ $curr_dir
done
# 屏幕執(zhí)行輸出如下:
Found d1/1.txt, save d1/1.txt and remove everything else under d1/
Found d2/1.txt, save d2/1.txt and remove everything else under d2/
Found d3/1.txt, save d3/1.txt and remove everything else under d3/
Found d4/1.txt, save d4/1.txt and remove everything else under d4/
Found d5/1.txt, save d5/1.txt and remove everything else under d5/
# 復(fù)驗實驗環(huán)境:
$ ls -l d?/*
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 d1/1.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 d2/1.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 d3/1.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 d4/1.txt
-rw-r--r-- 1 wenlee comm 0 Dec 22 10:35 d5/1.txt
OK?
thanks!