Solaris 基本命令(轉)

amyz發表於2007-08-10
Solaris 基本命令(轉)[@more@]

  (一)基本命令

  命令格式: 命令 引數

  1.ls 顯示檔名,等同於dos下dir命令

  命令格式:ls [option] file

  option:

  -l 顯示詳細列表

  域1 :檔案型別和檔案許可權

  域2 :檔案連線數

  域3 :檔案所有者名字

  域4 :檔案使用者組名字

  域5 :檔案長度

  域6-8 :最近修改日期

  域9 :檔名

  -a 顯示所有檔案,包含隱藏檔案(以. 起頭的檔名)

  -R 顯示檔案及所有子目錄

  -F 顯示檔案(後跟*)和目錄(後跟/)

  -d 與l選項合用,顯示目錄名而非其內容

  2.cd 目錄轉換,等同於dos下cd命令

  注意目錄分隔符為“/”,與dos相反

  命令格式:cd dirname

  3.pwd 顯示當前路徑

  4.cat 顯示檔案內容,等同於dos下type命令

  命令格式:cat filename

  5.more 以分頁方式檢視檔案內容.

  命令格式:more filename

  6.rm 刪除檔案

  命令格式: rm [-r] filename (filename 可為檔名,或檔名縮寫符號.)

  例子 :

  rm file1 刪除檔名為 file1 之文件.

  rm file? 刪除檔名中有五個字元,前四個字元為file 之所有文件.

  rm f* 刪除檔名中,以 f 為字首之所有文件.

  rm -r dir1 刪除目錄 dir1,及其下所有文件及子目錄.

  7.mkdir 建立目錄

  命令格式: mkdir [-p] directory-name

  Exmaple :

  mkdir dir1 建立一新目錄 dir1.

  mkdir -p dir/subdir 直接建立多級目錄

  8.rmdir 刪除目錄

  目錄必須首先為空

  命令格式: rmdir directory

  9.cp 文件複製

  命令格式: cp [-r] source destination

  例子:

  cp file1 file2 將文件 file1 複製成 file2

  cp file1 dir1 將文件 file1 複製到目錄 dir1 下,檔名仍為 file1.

  cp /tmp/file1 . 將目錄 /tmp 下的文件 file1複製到現行目錄下,

  檔名仍為 file1.

  cp /tmp/file1 file2 將目錄 /tmp 下的文件 file1現行目錄下,檔名

  為file2

  cp -r dir1 dir2 (recursive copy) 複製整個目錄.

  若目錄 dir2 不存在,則將目錄dir1,及其所有文件和子目錄,

  複製到目錄 dir2 下,新目錄名稱為dir1.若目錄dir2不存在,

  則將dir1,及其所有文件和子目錄,複製為目錄 dir2.

  10.mv 檔案移動

  命令格式: mv source destination

  例子:

  mv file1 file2 將文件 file1,更改檔名為 file2.

  mv file1 dir1 將文件 file1,移到目錄 dir1 下,檔名仍為 file1.

  mv dir1 dir2 若目錄 dir2 不存在,則將目錄 dir1,及其所有檔

  案和子目錄,移到目錄 dir2 下,新目錄名稱為 dir1.

  若目錄 dir2 不存在,則將dir1,及其所有文件和子

  目錄,更改為目錄 dir2.

  11.du 檢視目錄所佔磁碟容量

  命令格式: du [-sk] directory

  例子 :

  du dir1 顯示目錄 dir1 的總容量及其次目錄的容量

  du -sk dir1 顯示目錄 dir1 的總容量,以k bytes為計量

  12.find 檔案查詢

  命令格式: find dir -name filename command

  例子:

  find . -name hello -print 尋找目前目錄及所有的子目錄內叫

  hello的文件.

  find . -ctime +7 -print 找出七天內未被更動的文件

  find . -size +2000m -print 找出大小超過2000 bytes的文件

  find /tmp -user b1234567 -print 在/tmp下屬於b1234567的文件

  find 刪除所有的.c檔

  find . -name test* -print 顯示當前目錄及其子目錄檔名前4

  位為test的檔名

  13.vi 編輯器

  命令狀態:

  j,k,h,l:上下左右

  0: 行首

  $: 行尾

  i,I :插入命令,i 在當前游標處插入 I 行首插入

  a,A:追加命令,a 在當前游標後追加,A 在行末追加

  o,O:開啟命令,o 在當前行下開啟一行,O在當前行上插入一行

  r,R :替換命令,r 替換當前游標處字元,R從游標處開始替換

  數字s: 替換指定數量字元

  x: 刪除游標處字元

  dd: 刪除當前行

  d0: 刪除游標前半行

  d$: 刪除游標後半行

  ctrl+f :後翻頁

  ctrl+b:前翻頁

  G : 檔案尾

  數字G: 數字所指定行

  /string 查詢字串

  n 繼續查詢

  N 反向繼續查詢

  % 查詢對應括號

  u 取消上次操作

  ex命令狀態

  :set number 顯示行號

  :set smd 顯示顯示狀態

  :0 檔案首

  :1,5 copy 7 塊複製

  :1,5 del 塊刪除

  :1,5 move 7 塊移動

  :1,$s/string1/string2/g 全檔案查詢string1並替換為string2

  :wq! 存檔退出

  (二) 增強命令

  1. ln 文件連結

  命令格式:ln -s oldname newname ( Hard link )

  同一文件,可擁有一個以上之名稱,可將文件做數個連結.

  例子 :

  ln -s file1 file2   將名稱 file2,連結至文件 file1.

  2.grep 搜尋字串

  命令格式:

  grep string filename

  尋找字串的方法很多,比如說我想找所有以M開頭的行.此時必須引進pattern的觀

  念.以下是一些簡單的□例,以及說明:

  ^M 以M開頭的行,^表示開始的意思

  M$ 以M結尾的行,$表示結束的意思

  ^[0-9] 以數字開始的行,[]內可列舉字母

  ^[124ab] 以1,2,4,a,或b開頭的行

  ^b.503 句點表示任一字母

  * 星號表示0個以上的字母(可以沒有)

  + 加號表示1個以上的字母

  . 斜線可以去掉特殊意義

   cat passwd | grep ^b 列出大學部有申請帳號者名單

  cat passwd | grep ^s 列出交換學生申請帳號者名單

  cat passwd | grep '^b.503' 列出電機系各年級...

  grep '^.' myfile.txt 列出所有以句點開頭的行

  3.fgrep 搜尋字串

  命令格式:fgrep string file

  4.file 顯示檔案型別

  命令格式:file fileall

  檔案型別為shell script,ELF 32bit,ASCII text,data or tar file

  5.diff 比較文件或目錄之不同內容

  命令格式:diff [-r] name1 name2 ( name1 name2 可同時為檔名,或目錄名稱.)

  例子 :

  %diff file1 file2

  比較文件 file1 與 file2 內,各行之不同處.

  %diff -r dir1 dir2

  比較目錄 dir1 與 dir2 內,各文件之不同處.

  6.cmp 比較文件相同部分

  命令格式:cmp file1 file2

  7.ftp 遠端檔案傳輸

  命令格式: ftp [hostname|IP address]

  在進入 ftp 之後,如果與 remote host 連線上了,它將會詢問你 username

  與密碼,如果輸入對了就可以開始進行文件傳輸.

  注意:如使用者無密碼,無法註冊

  (1) ftp 命令

  ascii 將傳輸模式設為 ascii 模式.通常用於傳送文字檔.

  binary 將傳輸模式設為 binary 模式,通常用於傳送執行檔,壓縮檔與影像

  檔等.

  cd remote-directory 將遠端主機上的工作目錄改變.

  lcd [ directory ] 更改本地主機的工作目錄.

  ls [ remote-directory ] [ local-file ] 列出遠端主機上的文件.

  get remote-file [ local-file ] 取得遠方的文件.

  mget remote-files 可使用通用字元一次取得多個文件.

  put local-file [ remote-file] 將本地主機的文件送到遠端主機.

  mput local-files 可使用通用字元一次將多個文件放到遠端主機上.

  help [ command ] 線上輔助指令.

  mkdir directory-name 在遠端主機建立一個目錄.

  prompt 更改交談模式,若為 on 則在 mput 與 mget 時每作一個文件之傳

  輸時均會詢問.

  quit/bye 離開ftp .

  (2) 後臺執行ftp

  1.首先,將過程所用到的指令依順序放入文件中,如下:

  %cat ftp_command

  !mkdir test

  lcd test

  cd test

  prompt

  binary

  mget *.*

  bye

  2.其次,建一個.netrc檔,屬性為400,讓ftp 自動到此讀取Username

  與Password,方可順利login 到的主機,如下:

  %cat .netrc

  machine remote login anonymous password guest

  3.最後再執行下面指令即可.

  %nohup ftp remote < ftp_command > message &

  8.telnet 遠端終端訪問

  命令格式:

  telnet [hostname|IP address]

  9.IO 重新導向

  UNIX所有的程式執行時,均需要資料的輸入以及輸出資料.一般而言,資料是

  從鍵盤輸入,並將資料輸出到螢幕上,這就叫做標準輸入及標準輸出,而我們

  可以更改標準出輸出入.

  A. 更改標準輸入 —— 在命令後方加"< " ,即可從

  個文件輸入資料.

  B. 更改標準輸出 —— 在命令後方加"> " ,即可將螢幕輸出的資

  料導向到這個文件上.

  C. 更改標準輸出 —— 在命令後方加">> ",功能與B.相似,只不

  過這會將資料加在文件後方.

  D. 管道 —— 在兩個命令中間加上'|',即可將前方指令的輸出當成後方指令

  D. 管道 —— 在兩個命令中間加上'|',即可將前方指令的輸出當成後方指令

  的輸入.

  例:

  cd /tmp

  ls -l > /tmp/ls.out

  cat /tmp/ls.out

  more /tmp/ls.out

  rm /tmp/ls.out

  ls | more

  ls | wc -l (word count, count line number,算出文件數目)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章