不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

時間: 春健736 分享

Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

  你打開瀏覽器,自由地游弋于浩如煙海的互聯(lián)網(wǎng)世界之時,是否也沉迷于下載各種實用軟件?其中也許有很大一部分就是網(wǎng)絡(luò)工具吧!那你知道Linux常用系統(tǒng)及網(wǎng)絡(luò)命令嗎?下面大家跟著學(xué)習(xí)啦小編一起來學(xué)習(xí)一下吧。

  Linux常用系統(tǒng)及網(wǎng)絡(luò)命令

  計算機網(wǎng)絡(luò)的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網(wǎng)絡(luò)命令來為用戶服務(wù),這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執(zhí)行遠程命令等。

  本章介紹下列幾個常用的有關(guān)網(wǎng)絡(luò)操作的命令:

  ftp 傳輸文件

  telnet 登錄到遠程計算機上

  r - 使用各種遠程命令

  netstat 查看網(wǎng)絡(luò)的狀況

  nslookup 查詢域名和IP地址的對應(yīng)

  finger 查詢某個使用者的信息

  ping 查詢某個機器是否在工作

  使用ftp命令進行遠程文件傳輸

  ftp命令是標準的文件傳輸協(xié)議的用戶接口。ftp是在TCP/IP網(wǎng)絡(luò)上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。

  在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內(nèi)容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸?shù)竭h程系統(tǒng)中。

  需要注意的是,如果用戶沒有那個文件的存取權(quán)限,就不能從遠程系統(tǒng)中獲得文件或向遠程系統(tǒng)傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp

  會話,并用來確定用戶對要傳輸?shù)奈募梢赃M行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。

  Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:

  $ ftp 主機名/IP

  其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務(wù)程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:

  $ ftp ftp > 此時在ftp>提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。

  在遠程機上的用戶帳號的讀寫權(quán)限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。如果沒有遠程機的專用登錄帳號,許多ftp站點設(shè)有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。

  如果遠程系統(tǒng)提供匿名ftp服務(wù),用戶使用這項服務(wù)可以登錄到特殊的,供公開使用的目錄。

  一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。

  一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp>”提示符?,F(xiàn)在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在

  help命令后面指定具體的命令名稱,獲得這條命令的說明。

  最常用的命令有:

  ls 列出遠程機的當前目錄

  cd 在遠程機上改變工作目錄

  lcd 在本地機上改變工作目錄

  ascii 設(shè)置文件傳輸方式為ASCII模式

  binary 設(shè)置文件傳輸方式為二進制模式

  close終止當前的ftp會話

  hash 每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后就顯示一個#號

  get(mget) 從遠程機傳送指定文件到本地機

  put(mput) 從本地機傳送指定文件到遠程機

  open 連接遠程ftp站點

  quit斷開與遠程機的連接并退出ftp

  ? 顯示本地幫助信息

  ! 轉(zhuǎn)到Shell中

  下面簡單將ftp常用命令作一簡介。

  啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數(shù)的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為 ftp命令的參數(shù)。

  終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關(guān)閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關(guān)閉用戶與遠程機的連接,然后退出用戶機上的ftp

  程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。

  遠程目錄列表 ls命令列出遠程目錄的內(nèi)容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件]

  如果指定了目錄作為參數(shù),那么ls就列出該目錄的內(nèi)容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統(tǒng)獲取文件

  get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創(chuàng)建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。

  mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。

  向遠程系統(tǒng)發(fā)送文件 put和mput命令用于向遠程機發(fā)送文件。Put命令的一般格式為: put 文件名 mput命令一次發(fā)送多個本地文件,mput命令的一般格式為:

  mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發(fā)送的文件。對其中的每個文件都要求用戶確認是否發(fā)送。 改變文件傳輸模式

  默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設(shè)置傳輸?shù)哪J健S肁SCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。

  檢查傳輸狀態(tài) 傳輸大型文件時,可能會發(fā)現(xiàn)讓ftp提供關(guān)于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后,就在屏幕上打印一個#字符。本命令在發(fā)送和接收文件時都可以使用。

  ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir

  new_dir,那么Linux就在用戶當前的本地目錄中創(chuàng)建一個名為new_dir 的目錄。

  從遠程機grunthos下載二進制數(shù)據(jù)文件的典型對話過程如下:

  $ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc):

  anonymous 33l Guest login ok, send your complete e-mail address as password.

  Password: 230 Guest 1ogin ok, access restrictions apply. Remote system

  type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls

  200 PORT command successful. l50 opening ASCII mode data connection for

  /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200

  type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark).

  ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode

  data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226

  Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)

  ftp > quit 22l Goodbye.

  使用telnet命令訪問遠程計算機

  用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡(luò)在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

  為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統(tǒng)確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權(quán)限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統(tǒng)通常把這些用戶放在一個受限制的shell中,以防系統(tǒng)被懷有惡意的或不小心的用戶破壞。

  用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

  但是,用戶只能使用基于終端的環(huán)境而不是X Wndows環(huán)境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環(huán)境。 telnet命令的一般形式為:

  telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執(zhí)行成功,將從遠程機上得到login:提示符。

  使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統(tǒng)上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統(tǒng)上工作。

  在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯(lián)機幫助手冊中對這些命令有詳細的說明。

  下面是一臺Linux計算機上的telnet會話舉例:

  $ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve.

  somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)

  kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov

  l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$

  logout Connection closed by foreign host $

  用戶結(jié)束了遠程會話后,一定要確保使用logout命令退出遠程系統(tǒng)。然后telnet報告遠程會話被關(guān)閉,并返回到用戶的本地機的Shell提示符下。

  r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網(wǎng)絡(luò)上交換文件。使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發(fā)出一個r-系列命令后,遠程系統(tǒng)檢查名為 /etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.

  rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執(zhí)行r-系列命令就不用提供口令。

  雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。

  rlogin命令

  功能:rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)上的交互命令會話。

  格式: rlogin [ -8EKLdx ] [ -e char ] [-k

  realm ] [ - l username ] host

  參數(shù):

  -8 此選項始終允許8位輸入數(shù)據(jù)通道。該選項允許發(fā)送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。

  -E 停止把任何字符當作轉(zhuǎn)義字符。當和-8選項一起使用時,它提供一個完全的透明連接。

  -K 關(guān)閉所有的Kerberos確認。只有與使用Kerberos 確認協(xié)議的主機連接時才使用這個選項。

  -L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯(lián)機幫助。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多信息,請查閱setsockopt的聯(lián)機幫助。

  -e 為rlogin會話設(shè)置轉(zhuǎn)義字符,默認的轉(zhuǎn)義字符是“~”,用戶可以指定一個文字字符或一個\nnn形式的八進制數(shù)。

  -k 請求rlogin獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos

  許可。

  -x 為所有通過rlogin會話傳送的數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。

  rsh命令

  功能:rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。

  格式:rsh [-Kdnx] [-k realm] [-l username]

  host [command]

  command可以是從shell提示符下鍵人的任何Linux命令。

  參數(shù):

  -K 關(guān)閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請查閱setsockopt的聯(lián)機幫助。

  -k 請求rsh獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。

  -n 重定向來自特殊設(shè)備/dev/null的輸入。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。    Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執(zhí)行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

  rcp命令

  功能:rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。

  rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

  格式:

  rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file

  directory 每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。

  參數(shù):

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。

  -p 試圖保留源文件的修改時間和模式,忽略umask。

  -k 請求rcp獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。

  需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。 - Turbolinux 提供稿件

  This file is decompiled from a .CHM file

  by an UNREGISTERED version of Easy CHM.

  You can download Easy CHM at :

  Linux必學(xué)60個命令文件處理

  作者: artiomgy 中級會員(61.54.106.238)

  日期: 2005-10-07 13:15:19

  Linux系統(tǒng)信息存放在文件里,文件與普通的公務(wù)文件類似。每個文件都有自己的名字、內(nèi)容、存放地址及其它一些管理信息,如文件的用戶、文件的大小等。文件可以是一封信、一個通訊錄,或者是程序的源語句、程序的數(shù)據(jù),甚至可以包括可執(zhí)行的程序和其它非正文內(nèi)容。 Linux文件系統(tǒng)具有良好的結(jié)構(gòu),系統(tǒng)提供了很多文件處理程序。這里主要介紹常用的文件處理命令。

  file

  1.作用

  file通過探測文件內(nèi)容判斷文件類型,使用權(quán)限是所有用戶。

  2.格式

  file [options] 文件名

  3.[options]主?問?

  -v:在標準輸出后顯示版本信息,并且退出。

  -z:探測壓縮過的文件類型。

  -L:允許符合連接。

  -f name:從文件namefile中讀取要分析的文件名列表。

  4.簡單說明

  使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執(zhí)行文件, 還是Shell Script文件,或者是其它的什么格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執(zhí)行文件、C語言源文件、文本文件、DOS的可執(zhí)行文件。

  5.應(yīng)用實例

  如果我們看到一個沒有后綴的文件grap,可以使用下面命令:

  $ file grap

  grap: English text

  此時系統(tǒng)顯示這是一個英文文本文件。需要說明的是,file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。

  mkdir

  1.作用

  mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權(quán)限是所有用戶。

  2.格式

  mkdir [options] 目錄名

  3.[options]主要參數(shù)

  -m, --mode=模式:設(shè)定權(quán)限<模式>,與chmod類似。

  -p, --parents:需要時創(chuàng)建上層目錄;如果目錄早已存在,則不當作錯誤。

  -v, --verbose:每次創(chuàng)建新目錄都顯示信息。

  --version:顯示版本信息后離開。

  4.應(yīng)用實例

  在進行目錄創(chuàng)建時可以設(shè)置目錄的權(quán)限,此時使用的參數(shù)是“-m”。假設(shè)要創(chuàng)建的目錄名是“tsk”,讓所有用戶都有rwx(即讀、寫、執(zhí)行的權(quán)限),那么可以使用以下命令:

  $ mkdir -m 777 tsk

  grep

  1.作用

  grep命令可以指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標準輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。

  2.格式

  grep [options]

  3.主要參數(shù)

  [options]主要參數(shù):

  -c:只輸出匹配行的計數(shù)。

  -I:不區(qū)分大小寫(只適用于單字符)。

  -h:查詢多文件時不顯示文件名。

  -l:查詢多文件時只輸出包含匹配字符的文件名。

  -n:顯示匹配行及行號。

  -s:不顯示不存在或無匹配文本的錯誤信息。

  -v:顯示不包含匹配文本的所有行。

  pattern正則表達式主要參數(shù):

  \:忽略正則表達式中特殊字符的原有含義。

  ^:匹配正則表達式的開始行。

  $: 匹配正則表達式的結(jié)束行。

  \<:從匹配正則表達式的行開始。

  \>:到匹配正則表達式的行結(jié)束。

  [ ]:單個字符,如[A]即A符合要求 。

  [ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。

  。:所有的單個字符。

  * :有字符,長度可以為0。

  正則表達式是Linux/Unix系統(tǒng)中非常重要的概念。正則表達式(也稱為“regex”或“regexp”)是一個可以描述一類字符串的模式(Pattern)。如果一個字符串可以用某個正則表達式來描述,我們就說這個字符和該正則表達式匹配(Match)。這和DOS中用戶可以使用通配符 “*”代表任意字符類似。在Linux系統(tǒng)上,正則表達式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作和其它功能。

  4.應(yīng)用實例

  查詢DNS服務(wù)是日常工作之一,這意味著要維護覆蓋不同網(wǎng)絡(luò)的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網(wǎng)絡(luò)地址,但是卻忘了第二部分中的其余部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3 \}\.[0-0\。含義是任意數(shù)字出現(xiàn)3次,后跟句點,接著是任意數(shù)字出現(xiàn)3次,后跟句點。

  $grep ´[0-9 ]\{3 \}\.[0-0\´ ipfile

  補充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字符串而不是一個模式;egrep是擴展grep,支持基本及擴展的正則表達式,但不支持\q模式范圍的應(yīng)用及與之相對應(yīng)的一些更加規(guī)范的模式。

  dd

  1.作用

  dd命令用來復(fù)制文件,并根據(jù)參數(shù)將數(shù)據(jù)轉(zhuǎn)換和格式化。

  2.格式

  dd [options]

  3.[opitions]主要參數(shù)

  bs=字節(jié):強迫 ibs=<字節(jié)>及obs=<字節(jié)>。

  cbs=字節(jié):每次轉(zhuǎn)換指定的<字節(jié)>。

  conv=關(guān)鍵字:根據(jù)以逗號分隔的關(guān)鍵字表示的方式來轉(zhuǎn)換文件。

  count=塊數(shù)目:只復(fù)制指定<塊數(shù)目>的輸入數(shù)據(jù)。

  ibs=字節(jié):每次讀取指定的<字節(jié)>。

  if=文件:讀取<文件>內(nèi)容,而非標準輸入的數(shù)據(jù)。

  obs=字節(jié):每次寫入指定的<字節(jié)>。

  of=文件:將數(shù)據(jù)寫入<文件>,而不在標準輸出顯示。

  seek=塊數(shù)目:先略過以obs為單位的指定<塊數(shù)目>的輸出數(shù)據(jù)。

  skip=塊數(shù)目:先略過以ibs為單位的指定<塊數(shù)目>的輸入數(shù)據(jù)。

  4.應(yīng)用實例

  dd命令常常用來制作Linux啟動盤。先找一個可引導(dǎo)內(nèi)核,令它的根設(shè)備指向正確的根分區(qū),然后使用dd命令將其寫入軟盤:

  $ rdev vmlinuz /dev/hda

  $dd if=vmlinuz of=/dev/fd0

  上面代碼說明,使用rdev命令將可引導(dǎo)內(nèi)核vmlinuz中的根設(shè)備指向/dev/hda,請把“hda”換成自己的根分區(qū),接下來用dd命令將該內(nèi)核寫入軟盤。

  find

  1.作用

  find命令的作用是在目錄中搜索文件,它的使用權(quán)限是所有用戶。

  2.格式

  find [path][options][expression]

  path指定目錄路徑,系統(tǒng)從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那么默認為當前目錄。

  3.主要參數(shù)

  [options]參數(shù):

  -depth:使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容。

  -maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數(shù),如果level是0的話表示僅在當前目錄中查找。

  -mindepth levels:表示至少查找到開始目錄的第level層子目錄。

  -mount:不在其它文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找。

  -version:打印版本。

  [expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數(shù)非常多,這里只介紹一些常用的參數(shù)。

  —name:支持統(tǒng)配符*和?。

  -atime n:搜索在過去n天讀取過的文件。

  -ctime n:搜索在過去n天修改過的文件。

  -group grpoupname:搜索所有組為grpoupname的文件。

  -user 用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。

  -size n:搜索文件大小是n個block的文件。

  -print:輸出搜索結(jié)果,并且打印。

  已編輯 1 次, 最后一次由 chase 于 05-10-21 12:01。

  管理: 刪除•移動話題•關(guān)閉話題 •隱藏信息及回復(fù) •編輯

  選項: 回復(fù)本帖•引用本帖•跟蹤•舉報

  Linux 的常用網(wǎng)絡(luò)命令

  作者: chase 總版主(219.239.136.141)

  日期: 2005-10-21 12:02:17

  Linux 的常用網(wǎng)絡(luò)命令

  作者: artiomgy 中級會員(61.54.106.238)

  日期: 2005-10-05 09:14:01

  計算機網(wǎng)絡(luò)的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網(wǎng)絡(luò)命令來為用戶服務(wù),這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執(zhí)行遠程命令等。

  本章介紹下列幾個常用的有關(guān)網(wǎng)絡(luò)操作的命令:

  ftp 傳輸文件

  telnet 登錄到遠程計算機上

  r - 使用各種遠程命令

  netstat 查看網(wǎng)絡(luò)的狀況

  nslookup 查詢域名和IP地址的對應(yīng)

  finger 查詢某個使用者的信息

  ping 查詢某個機器是否在工作

  使用ftp命令進行遠程文件傳輸

  ftp命令是標準的文件傳輸協(xié)議的用戶接口。ftp是在TCP/IP網(wǎng)絡(luò)上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。

  在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內(nèi)容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸?shù)竭h程系統(tǒng)中。

  需要注意的是,如果用戶沒有那個文件的存取權(quán)限,就不能從遠程系統(tǒng)中獲得文件或向遠程系統(tǒng)傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp

  會話,并用來確定用戶對要傳輸?shù)奈募梢赃M行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。

  Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:

  $ ftp 主機名/IP

  其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務(wù)程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:

  $ ftp ftp > 此時在ftp>提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。

  在遠程機上的用戶帳號的讀寫權(quán)限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。如果沒有遠程機的專用登錄帳號,許多ftp站點設(shè)有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。

  如果遠程系統(tǒng)提供匿名ftp服務(wù),用戶使用這項服務(wù)可以登錄到特殊的,供公開使用的目錄。

  一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。

  一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp>”提示符。現(xiàn)在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在

  help命令后面指定具體的命令名稱,獲得這條命令的說明。

  最常用的命令有:

  ls 列出遠程機的當前目錄

  cd 在遠程機上改變工作目錄

  lcd 在本地機上改變工作目錄

  ascii 設(shè)置文件傳輸方式為ASCII模式

  binary 設(shè)置文件傳輸方式為二進制模式

  close終止當前的ftp會話

  hash 每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后就顯示一個#號

  get(mget) 從遠程機傳送指定文件到本地機

  put(mput) 從本地機傳送指定文件到遠程機

  open 連接遠程ftp站點

  quit斷開與遠程機的連接并退出ftp

  ? 顯示本地幫助信息

  ! 轉(zhuǎn)到Shell中

  下面簡單將ftp常用命令作一簡介。

  啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數(shù)的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為 ftp命令的參數(shù)。

  終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關(guān)閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關(guān)閉用戶與遠程機的連接,然后退出用戶機上的ftp

  程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。

  遠程目錄列表 ls命令列出遠程目錄的內(nèi)容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件]

  如果指定了目錄作為參數(shù),那么ls就列出該目錄的內(nèi)容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統(tǒng)獲取文件

  get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創(chuàng)建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。

  mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。

  向遠程系統(tǒng)發(fā)送文件 put和mput命令用于向遠程機發(fā)送文件。Put命令的一般格式為: put 文件名 mput命令一次發(fā)送多個本地文件,mput命令的一般格式為:

  mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發(fā)送的文件。對其中的每個文件都要求用戶確認是否發(fā)送。 改變文件傳輸模式

  默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設(shè)置傳輸?shù)哪J?。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。

  檢查傳輸狀態(tài) 傳輸大型文件時,可能會發(fā)現(xiàn)讓ftp提供關(guān)于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后,就在屏幕上打印一個#字符。本命令在發(fā)送和接收文件時都可以使用。

  ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir

  new_dir,那么Linux就在用戶當前的本地目錄中創(chuàng)建一個名為new_dir 的目錄。

  從遠程機grunthos下載二進制數(shù)據(jù)文件的典型對話過程如下:

  $ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc):

  anonymous 33l Guest login ok, send your complete e-mail address as password.

  Password: 230 Guest 1ogin ok, access restrictions apply. Remote system

  type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls

  200 PORT command successful. l50 opening ASCII mode data connection for

  /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200

  type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark).

  ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode

  data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226

  Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)

  ftp > quit 22l Goodbye.

  使用telnet命令訪問遠程計算機

  用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡(luò)在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

  為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統(tǒng)確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權(quán)限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統(tǒng)通常把這些用戶放在一個受限制的shell中,以防系統(tǒng)被懷有惡意的或不小心的用戶破壞。

  用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

  但是,用戶只能使用基于終端的環(huán)境而不是X Wndows環(huán)境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環(huán)境。 telnet命令的一般形式為:

  telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執(zhí)行成功,將從遠程機上得到login:提示符。

  使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統(tǒng)上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統(tǒng)上工作。

  在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯(lián)機幫助手冊中對這些命令有詳細的說明。

  下面是一臺Linux計算機上的telnet會話舉例:

  $ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve.

  somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)

  kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov

  l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$

  logout Connection closed by foreign host $

  用戶結(jié)束了遠程會話后,一定要確保使用logout命令退出遠程系統(tǒng)。然后telnet報告遠程會話被關(guān)閉,并返回到用戶的本地機的Shell提示符下。

  r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網(wǎng)絡(luò)上交換文件。使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發(fā)出一個r-系列命令后,遠程系統(tǒng)檢查名為 /etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.

  rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執(zhí)行r-系列命令就不用提供口令。

  雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。

  rlogin命令

  功能:rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)上的交互命令會話。

  格式: rlogin [ -8EKLdx ] [ -e char ] [-k

  realm ] [ - l username ] host

  參數(shù):

  -8 此選項始終允許8位輸入數(shù)據(jù)通道。該選項允許發(fā)送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。

  -E 停止把任何字符當作轉(zhuǎn)義字符。當和-8選項一起使用時,它提供一個完全的透明連接。

  -K 關(guān)閉所有的Kerberos確認。只有與使用Kerberos 確認協(xié)議的主機連接時才使用這個選項。

  -L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯(lián)機幫助。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多信息,請查閱setsockopt的聯(lián)機幫助。

  -e 為rlogin會話設(shè)置轉(zhuǎn)義字符,默認的轉(zhuǎn)義字符是“~”,用戶可以指定一個文字字符或一個\nnn形式的八進制數(shù)。

  -k 請求rlogin獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos

  許可。

  -x 為所有通過rlogin會話傳送的數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。

  rsh命令

  功能:rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。

  格式:rsh [-Kdnx] [-k realm] [-l username]

  host [command]

  command可以是從shell提示符下鍵人的任何Linux命令。

  參數(shù):

  -K 關(guān)閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請查閱setsockopt的聯(lián)機幫助。

  -k 請求rsh獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。

  -n 重定向來自特殊設(shè)備/dev/null的輸入。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。    Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執(zhí)行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

  rcp命令

  功能:rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。

  rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

  格式:

  rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file

  directory 每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。

  參數(shù):

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。

  -p 試圖保留源文件的修改時間和模式,忽略umask。

  -k 請求rcp獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。

  需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。 - Turbolinux 提供稿件

  This file is decompiled from a .CHM file

  by an UNREGISTERED version of Easy CHM.

  You can download Easy CHM at :

  指令名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。

  范例:

  把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -n textfile1 > textfile2

  把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。

  cat -b textfile1 textfile2 >> textfile3

  cat /dev/null > /etc/test.txt 此為清空/etc/test.txt檔案內(nèi)容

  cat 也可以用來制作 image file。例如要制作軟碟的 image file,將軟碟放好后打

  cat /dev/fd0 > OUTFILE

  相反的,如果想把 image file 寫到軟碟,請打

  cat IMG_FILE > /dev/fd0

  注:

  1. OUTFILE 指輸出的 image 檔名。

  2. IMG_FILE 指 image file。

  3. 若從 image file 寫回 device 時,device 容量需與相當。

  4. 通常用在制作開機磁片。

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案調(diào)用權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所調(diào)用。

  參數(shù) :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中

  u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程序具有root的權(quán)限

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  參數(shù) :

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上

  SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database= ]

  locate [-r ] [--regexp= ]

  locate [-qv] [-o ] [--output= ]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的數(shù)據(jù)庫,之后當尋找時就只需查詢這個數(shù)據(jù)庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,數(shù)據(jù)庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name的型式就可以了。

  參數(shù):

  -u

  -U

  建立數(shù)據(jù)庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將 排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在數(shù)據(jù)庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定數(shù)據(jù)庫存的名稱。

  -d

  指定數(shù)據(jù)庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程序的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立數(shù)據(jù)庫

  locate命令可以在搜尋數(shù)據(jù)庫時快速找到檔案,數(shù)據(jù)庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋數(shù)據(jù)庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到,在內(nèi)定值中,updatedb每天會跑一次,可以由修改crontab來更新設(shè)定值。(etc/crontab)

  locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數(shù)據(jù)庫內(nèi),尋找合乎范本樣式條件的檔案或目錄錄,可以使用特殊字元(如”*” 或”?”等)來指定范本樣式,如指定范本為kcpa*ner, locate會找出所有起始字串為kcpa且結(jié)尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括子目錄在內(nèi)的所有檔案。

  locate指令和find找尋檔案的功能類似,但locate是透過update程序?qū)⒂脖P中的所有檔案和目錄資料先建立一個索引數(shù)據(jù)庫,在執(zhí)行 loacte時直接找該索引,查詢速度會較快,索引數(shù)據(jù)庫一般是由操作系統(tǒng)管理,但也可以直接下達update強迫系統(tǒng)立即修改索引數(shù)據(jù)庫。

  不過第一次在執(zhí)行update後再使用locate尋找檔案常會失敗,此時就要執(zhí)行slocate ˉu該命令(也可執(zhí)行updatedb指令,其效果相同)來更新slocate數(shù)據(jù)庫,該命令會在/usr/sbin下產(chǎn)生slocate執(zhí)行檔,再由 locate到此數(shù)據(jù)庫尋找所要找的資料。

  linux指令大全(一)(轉(zhuǎn)自linuxeden.com)

  cat cd

  chmod chown

  cp cut

  名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3

  名稱 : cd

  使用權(quán)限 : 所有使用者

  使用方式 : cd [dirName]

  說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。

  另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

  范例 : 跳到 /usr/bin/ :

  cd /usr/bin

  跳到自己的 home directory :

  cd ~

  跳到目前目錄的上上兩層 :

  cd ../..

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案存取權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。

  把計 :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程式具有root的權(quán)限

  指令名稱 : chown

  使用權(quán)限 : root

  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

  說明 : Linux/Unix 是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒有權(quán)限可以改變別人的檔案擁有者,也沒有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。

  把計 :

  user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經(jīng)更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對于連結(jié)(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)--help

  : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 file1.txt 的擁有者設(shè)為 users 群體的使用者 jessie :

  chown jessie:users file1.txt

  將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為 users 群體的使用者 lamport :

  chmod -R lamport:users *

  名稱:cp

  使用權(quán)限:所有使用者

  使用方式:

  cp [options] source dest

  cp [options] source... directory

  說明:將一個檔案拷貝至另一檔案,或?qū)?shù)個檔案拷貝至另一目錄。

  把計?

  -a 盡可能將檔案狀態(tài)、權(quán)限等資料都照原狀予以復(fù)制。

  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。

  -f 若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。

  范例:

  將檔案 aaa 復(fù)制(已存在),并命名為 bbb :

  cp aaa bbb

  將所有的C語言程式拷貝至 Finished 子目錄中 :

  cp *.c Finished

  名稱:cut

  使用權(quán)限:所有使用者

  用法:cut -cnum1-num2 filename

  說明:顯示每行從開頭算起 num1 到 num2 的文字。

  范例:

  shell>> cat example

  test2

  this is test1

  shell>> cut -c0-6 example ## print 開頭算起前 6 個字元

  test2

  this i

  名稱 : find

  用法 : find

  使用說明 :

  將檔案系統(tǒng)內(nèi)符合 expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權(quán)限等不同資訊的組合,只有完全相符的才會被列出來。

  find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression?

  expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

  -mount, -xdev : 只檢查和指定目錄在同一個檔案系統(tǒng)下的檔案,避免列出其它檔案系統(tǒng)中的檔案

  -amin n : 在過去 n 分鐘內(nèi)被讀取過

  -anewer file : 比檔案 file 更晚被讀取過的檔案

  -atime n : 在過去 n 天過讀取過的檔案

  -cmin n : 在過去 n 分鐘內(nèi)被修改過

  -cnewer file :比檔案 file 更新的檔案

  -ctime n : 在過去 n 天過修改過的檔案

  -empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

  -ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

  -name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫

  -size n : 檔案大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。

  d: 目錄

  c: 字型裝置檔案

  b: 區(qū)塊裝置檔案

  p: 具名貯列

  f: 一般檔案

  l: 符號連結(jié)

  s: socket

  -pid n : process id 是 n 的檔案

  你可以使用 ( ) 將運算式分隔,并使用下列運算。

  exp1 -and exp2

  ! expr

  -not expr

  exp1 -or exp2

  exp1, exp2

  范例:

  將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

  # find . -name "*.c"

  將目前目錄其其下子目錄中所有一般檔案列出

  # find . -ftype f

  將目前目錄及其子目錄下所有最近 20 分鐘內(nèi)更新過的檔案列出

  # find . -ctime -20

  名稱:less

  使用權(quán)限:所有使用者

  使用方式:

  less [Option] filename

  說明:

  less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內(nèi)容,不同的是 less 允許使用者往回卷動

  以瀏覽已經(jīng)看過的部份,同時因為 less 并未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。

  范例:

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上

  SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database=]

  locate [-r ] [--regexp=]

  locate [-qv] [-o ] [--output=]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name

  的型式就可以了。 參數(shù):

  -u

  -U

  建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將

  排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在資料庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定資料庫存的名稱。

  -d

  指定資料庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程式的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立資料庫

  名稱 : ls

  使用權(quán)限 : 所有使用者

  使用方式 : ls [-alrtAFR] [name...]

  說明 : 顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)。

  -a 顯示所有檔案及目錄 (ls內(nèi)定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)

  -l 除檔案名稱外,亦將檔案型態(tài)、權(quán)限、擁有者、檔案大小等資訊詳細列出

  -r 將檔案以相反次序顯示(原定依英文字母次序)

  -t 將檔案依建立時間之先后次序列出

  -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)

  -F 在列出的檔案名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/"

  -R 若目錄下有檔案,則以下之檔案亦皆依序列出

  范例:

  列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈后面 :

  ls -ltr s*

  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :

  ls -lR /bin

  列出目前工作目錄下所有檔案及目錄;目錄于名稱后加 "/", 可執(zhí)行檔于名稱后加 "*" :

  ls -AF

  名稱:more

  使用權(quán)限:所有使用者

  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

  說明:類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。

  參數(shù):-num 一次顯示的行數(shù)

  -d 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲

  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能

  -f 計算行數(shù)時,以實際上的行數(shù),而非自動換行過后的行數(shù)(有些單行字數(shù)太長的會被擴展為兩行或兩行以上)

  -p 不以卷動的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容

  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料

  -s 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -u 不顯示下引號 (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)

  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示

  +num 從第 num 行開始顯示

  fileNames 欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個數(shù)

  范例:

  more -s testfile 逐頁顯示 testfile 之檔案內(nèi)容,如有連續(xù)兩行以上空白行則以一行空白行顯示。

  more +20 testfile 從第 20 行開始顯示 testfile 之檔案內(nèi)容。

  名稱:mv

  使用權(quán)限:所有使用者

  使用方式:

  mv [options] source dest

  mv [options] source... directory

  說明:將一個檔案移至另一檔案,或?qū)?shù)個檔案移至另一目錄。

  參數(shù):-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。

  范例:

  將檔案 aaa 更名為 bbb :

  mv aaa bbb

  將所有的C語言程式移至 Finished 子目錄中 :

  mv -i *.c

  名稱:rm

  使用權(quán)限:所有使用者

  使用方式:rm [options] name...

  說明:刪除檔案及目錄。

  把計?

  -i 刪除前逐一詢問確認。

  -f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認。

  -r 將目錄及以下之檔案亦逐一刪除。

  范例:

  刪除所有C語言程式檔;刪除前逐一詢問確認 :

  rm -i *.c

  將 Finished 子目錄及子目錄中所有檔案刪除 :

  rm -r Finished

  名稱:rmdir

  使用權(quán)限:于目前目錄有適當權(quán)限的所有使用者

  使用方式: rmdir [-p] dirName

  說明: 刪除空的目錄。

  參數(shù): -p 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。

  范例:

  將工作目錄下,名為 AAA 的子目錄刪除 :

  rmdir AAA

  在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。

  rmdir -p BBB/Test

  名稱:split

  使用權(quán)限:所有使用者

  使用方式:split [OPTION] [INPUT [PREFIX]]

  說明:

  將一個檔案分割成數(shù)個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預(yù)設(shè)值為 `x。若沒有 INPUT 檔或為 `-,則從標準輸入讀進資料。

  匡兜?

  -b, --bytes=SIZE

  SIZE 值為每一輸出檔案的大小,單位為 byte。

  -C, --line-bytes=SIZE

  每一輸出檔中,單行的最大 byte 數(shù)。

  -l, --lines=NUMBER

  NUMBER 值為每一輸出檔的列數(shù)大小。

  -NUMBER

  與 -l NUMBER 相同。

  --verbose

  于每個輸出檔被開啟前,列印出偵錯資訊到標準錯誤輸出。

  --help

  顯示輔助資訊然后離開。

  --version

  列出版本資訊然后離開。

  SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。

  范例:

  PostgresSQL 大型資料庫備份與回存:

  因 Postgres 允許表格大過你系統(tǒng)檔案的最大容量,所以要將表格 dump 到單一的檔案可能會有問題,使用 split進行檔案分割。

  % pg_dump dbname | split -b 1m - filename.dump.

  重新載入

  % createdb dbname

  % cat filename.dump.* | pgsql dbname

  名稱:touch

  使用權(quán)限:所有使用者

  使用方式:

  touch [-acfm]

  [-r reference-file] [--file=reference-file]

  [-t MMDDhhmm[[CC]YY][.ss]]

  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

  [--no-create] [--help] [--version]

  file1 [file2 ...]

  說明:

  touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。

  參數(shù):

  a 改變檔案的讀取時間記錄。

  m 改變檔案的修改時間記錄。

  c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。

  f 不使用,是為了與其他 unix 系統(tǒng)的相容性而保留。

  r 使用參考檔的時間記錄,與 --file 的效果一樣。

  d 設(shè)定時間與日期,可以使用各種不同的格式。

  t 設(shè)定檔案的時間記錄,格式與 date 指令相同。

  --no-create 不會建立新檔案。

  --help 列出指令格式。

  --version 列出版本訊息。

  范例:

  最簡單的使用方式,將檔案的時候記錄改為現(xiàn)在的時間。若檔案不存在,系統(tǒng)會建立一個新的檔案。

  touch file

  touch file1 file2

  將 file 的時間記錄改為 5 月 6 日 18 點 3 分,公元兩千年。時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。

  touch -c -t 05061803 file

  touch -c -t 050618032000 file

  將 file 的時間記錄改變成與 referencefile 一樣。

  touch -r referencefile file

  將 file 的時間記錄改成 5 月 6 日 18 點 3 分,公元兩千年。時間可以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。

  touch -d "6:03pm" file

  touch -d "05/06/2000" file

  touch -d "6:03pm 05/06/2000" file

  linux指令大全(二)(轉(zhuǎn)自linuxeden.com)

  名稱 : at

  使用權(quán)限 : 所有使用者

  使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME

  說明 : at 可以讓使用者指定在 TIME 這個特定時刻執(zhí)行某個程式或指令,TIME 的格式是 HH:MM其中的 HH 為小時,MM 為分鐘,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 點鍾)等口語詞。

  如果想要指定超過一天內(nèi)的時間,則可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 時間間隔來彈性指定時間,其中的時間間隔可以是 minutes, hours, days, weeks?

  另外,使用者也可指定 today 或 tomorrow 來表示今天或明天。當指定了時間并按下 enter 之后,at 會進入交談模式并要求輸入指令或程式,當你輸入完后按下 ctrl+D 即可完成所有動作,至于執(zhí)行的結(jié)果將會寄回你的帳號中。

  把計 :

  -V : 印出版本編號

  -q : 使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者可以同時使用多個 queue,而 queue 的編號為 a, b, c... z 以及 A, B, ... Z 共 52 個

  -m : 即使程式/指令執(zhí)行完成后沒有輸出結(jié)果, 也要寄封信給使用者

  -f file : 讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案后再一次讀入

  -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)

  -d : 刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)

  -v : 列出所有已經(jīng)完成但尚未刪除的指定

  例子 :

  三天后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 3 days /bin/ls

  三個星期后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 2 weeks /bin/ls

  明天的 17:20 執(zhí)行 /bin/date :

  at 17:20 tomorrow /bin/date

  1999 年的最后一天的最后一分鐘印出 the end of world !

  at 23:59 12/31/1999 echo the end of world !

  名稱:cal

  使用權(quán)限:所有使用者

  使用方式:cal [-mjy] [month [year]]

  說明:

  顯示日歷。若只有一個參數(shù),則代表年份(1-9999),顯示該年的年歷。年份必須全部寫出:``cal 89\ 將不會是顯示 1989 年的年歷。使用兩個參數(shù),則表示月份及年份。若沒有參數(shù)則顯示這個月的月歷。

  1752 年 9 月第 3 日起改用西洋新歷,因這時大部份的國家都采用新歷,有 10 天被去除,所以該月份的月歷有些不同。在此之前為西洋舊歷。

  匡兜?

  -m : 以星期一為每周的第一天方式顯示。

  -j : 以凱撒歷顯示,即以一月一日起的天數(shù)顯示。

  -y : 顯示今年年歷。

  范例:

  cal : 顯示本月的月歷。

  [root@mylinux /root]# date

  Tue Aug 15 08:00:18 CST 2000

  [root@mylinux /root]# cal

  August 2000

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal 2001 : 顯示公元 2001 年年歷。

  [root@mylinux /root]# cal 2001

  2001

  January February March

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1 2 3

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24

  28 29 30 31 25 26 27 28 25 26 27 28 29 30 31

  April May June

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 5 1 2

  8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9

  15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16

  22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23

  29 30 27 28 29 30 31 24 25 26 27 28 29 30

  July August September

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 1

  8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8

  15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15

  22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22

  29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29

  30

  October November December

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22

  28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29

  30 31

  [root@mylinux /root]#

  cal 5 2001 : 顯示公元 2001 年 5 月月歷。

  [root@mylinux /root]# cal 5 2001

  May 2001

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal -m : 以星期一為每周的第一天方式,顯示本月的月歷。

  [root@mylinux /root]# cal -m

  August 2000

  Mo Tu We Th Fr Sa Su

  1 2 3 4 5 6

  7 8 9 10 11 12 13

  14 15 16 17 18 19 20

  21 22 23 24 25 26 27

  28 29 30 31

  [root@mylinux /root]#

  cal -jy : 以一月一日起的天數(shù)顯示今年的年歷。

  [root@mylinux /root]# cal -jy

  2000

  January February

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  1 32 33 34 35 36

  2 3 4 5 6 7 8 37 38 39 40 41 42 43

  9 10 11 12 13 14 15 44 45 46 47 48 49 50

  16 17 18 19 20 21 22 51 52 53 54 55 56 57

  23 24 25 26 27 28 29 58 59 60

  30 31

  March April

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  61 62 63 64 92

  65 66 67 68 69 70 71 93 94 95 96 97 98 99

  72 73 74 75 76 77 78 100 101 102 103 104 105 106

  79 80 81 82 83 84 85 107 108 109 110 111 112 113

  86 87 88 89 90 91 114 115 116 117 118 119 120

  121

  May June

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  122 123 124 125 126 127 153 154 155

  128 129 130 131 132 133 134 156 157 158 159 160 161 162

  135 136 137 138 139 140 141 163 164 165 166 167 168 169

  142 143 144 145 146 147 148 170 171 172 173 174 175 176

  149 150 151 152 177 178 179 180 181 182

  July August

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  183 214 215 216 217 218

  184 185 186 187 188 189 190 219 220 221 222 223 224 225

  191 192 193 194 195 196 197 226 227 228 229 230 231 232

  198 199 200 201 202 203 204 233 234 235 236 237 238 239

  205 206 207 208 209 210 211 240 241 242 243 244

  212 213

  September October

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  245 246 275 276 277 278 279 280 281

  247 248 249 250 251 252 253 282 283 284 285 286 287 288

  254 255 256 257 258 259 260 289 290 291 292 293 294 295

  261 262 263 264 265 266 267 296 297 298 299 300 301 302

  268 269 270 271 272 273 274 303 304 305

  November December

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  306 307 308 309 336 337

  310 311 312 313 314 315 316 338 339 340 341 342 343 344

  317 318 319 320 321 322 323 345 346 347 348 349 350 351

  324 325 326 327 328 329 330 352 353 354 355 356 357 358

  331 332 333 334 335 359 360 361 362 363 364 365

  366

  [root@mylinux /root]#

  名稱 : crontab

  使用權(quán)限 : 所有使用者

  使用方式 :

  crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }

  說明 :

  crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設(shè)定指定 user 的時程表,這個前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時程表。

  餐數(shù) :

  -e : 執(zhí)行文字編輯器來設(shè)定時程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL 環(huán)境變數(shù)來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

  -r : 刪除目前的時程表

  -l : 列出目前的時程表

  時程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執(zhí)行的程式。

  當 f1 為 * 時表示每分鐘都要執(zhí)行 program,f2 為 * 時表示每小時都要執(zhí)行程式,其余類推

  當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內(nèi)要執(zhí)行,f2 為 a-b 時表示從第 a 到第 b 小時都要執(zhí)行,其余類推

  當 f1 為 */n 時表示每 n 分鐘個時間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時個時間間隔執(zhí)行一次,其余類推

  當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執(zhí)行,其余類推

  使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來設(shè)定時程表。

  例子 :

  每月每天每小時的第 0 分鐘執(zhí)行一次 /bin/ls :

  0 7 * * * /bin/ls

  在 12 月內(nèi), 每天的早上 6 點到 12 點中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :

  0 6-12/3 * 12 * /usr/bin/backup

  周一到周五每天下午 5:00 寄一封信給 alex@domain.name :

  0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

  每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執(zhí)行 echo "haha"

  20 0-23/2 * * * echo "haha"

  注意 :

  當程式在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程式執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請在每一行空一格之后加上 > /dev/null 2>&1 即可。

  名稱 : date

  使用權(quán)限 : 所有使用者

  使用方式 :

  date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

  說明 :

  date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標記,其中可用的標記列表如下 :

  時間方面 :

  % : 印出 %

  %n : 下一行

  %t : 跳格

  %H : 小時(00..23)

  %I : 小時(01..12)

  %k : 小時(0..23)

  %l : 小時(1..12)

  %M : 分鐘(00..59)

  %p : 顯示本地 AM 或 PM

  %r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)

  %s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)

  %S : 秒(00..61)

  %T : 直接顯示時間 (24 小時制)

  %X : 相當于 %H:%M:%S

  %Z : 顯示時區(qū)

  日期方面 :

  %a : 星期幾 (Sun..Sat)

  %A : 星期幾 (Sunday..Saturday)

  %b : 月份 (Jan..Dec)

  %B : 月份 (January..December)

  %c : 直接顯示日期與時間

  %d : 日 (01..31)

  %D : 直接顯示日期 (mm/dd/yy)

  %h : 同 %b

  %j : 一年中的第幾天 (001..366)

  %m : 月份 (01..12)

  %U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)

  %w : 一周中的第幾天 (0..6)

  %W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)

  %x : 直接顯示日期 (mm/dd/yy)

  %y : 年份的最后兩位數(shù)字 (00.99)

  %Y : 完整年份 (0000..9999)

  若是不以加號作為開頭,則表示要設(shè)定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鐘,CC 為年份前兩位數(shù)字,YY 為年份后兩位數(shù)字,ss 為秒數(shù)

  把計 :

  -d datestr : 顯示 datestr 中所設(shè)定的時間 (非系統(tǒng)時間)

  --help : 顯示輔助訊息

  -s datestr : 將系統(tǒng)時間設(shè)為 datestr 中所設(shè)定的時間

  -u : 顯示目前的格林威治時間

  --version : 顯示版本編號

  例子 :

  顯示時間后跳行,再顯示目前日期 :

  date +%T%n%D

  顯示月份與日數(shù) :

  date +%B %d

  顯示日期與設(shè)定時間(12:34:56) :

  date --date 12:34:56

  注意 :

  當你不希望出現(xiàn)無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變?yōu)?8:9:4。另外,只有取得權(quán)限者(比如說 root)才能設(shè)定系統(tǒng)時間。

  當你以 root 身分更改了系統(tǒng)時間之后,請記得以 clock -w 來將系統(tǒng)時間寫入 CMOS 中,這樣下次重新開機時系統(tǒng)時間才會持續(xù)抱持最新的正確值。

  名稱 : sleep

  使用權(quán)限 : 所有使用者

  使用方式 : sleep [--help] [--version] number[smhd]

  說明 : sleep 可以用來將目前動作延遲一段時間

  參數(shù)說明 :

  --help : 顯示輔助訊息

  --version : 顯示版本編號

  number : 時間長度,后面可接 s、m、h 或 d

  其中 s 為秒,m 為 分鐘,h 為小時,d 為日數(shù)

  例子 :

  顯示目前時間后延遲 1 分鐘,之后再次顯示時間 :

  date;sleep 1m;date

  名稱: time

  使用權(quán)限: 所有使用者

  使用方式: time [options] COMMAND [arguments]

  說明: time 指令的用途,在于量測特定指令執(zhí)行時所需消耗的時間及系統(tǒng)資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因為在 Linux 上部分資源的分配函式與 time 指令所預(yù)設(shè)的方式并不相同,以致于 time 指令無法取得這些資料。

  把計?

  -o or --output=FILE

  設(shè)定結(jié)果輸出檔。這個選項會將 time 的輸出寫入 所指定的檔案中。如果檔案已經(jīng)存在,系統(tǒng)將覆寫其內(nèi)容。

  -a or --append

  配合 -o 使用,會將結(jié)果寫到檔案的末端,而不會覆蓋掉原來的內(nèi)容。

  -f FORMAT or --format=FORMAT

  以 FORMAT 字串設(shè)定顯示方式。當這個選項沒有被設(shè)定的時候,會用系統(tǒng)預(yù)設(shè)的格式。不過你可以用環(huán)境變數(shù) time 來設(shè)定這個格式,如此一來就不必每次登入系統(tǒng)都要設(shè)定一次。

  一般設(shè)定上,你可以用

  \t

  表示跳欄,或者是用

  \n

  表示換行。每一項資料要用 % 做為前導(dǎo)。如果要在字串中使用百分比符號,就用 。(學(xué)過 C 語言的人大概會覺得很熟悉)

  time 指令可以顯示的資源有四大項,分別是:

  Time resources

  Memory resources

  IO resources

  Command info

  詳細的內(nèi)容如下:

  Time Resources

  E 執(zhí)行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數(shù)字并不代表實際的 CPU 時間。

  e 執(zhí)行指令所花費的時間,單位是秒。請注意這個數(shù)字并不代表實際的 CPU 時間。

  S 指令執(zhí)行時在核心模式(kernel mode)所花費的時間,單位是秒。

  U 指令執(zhí)行時在使用者模式(user mode)所花費的時間,單位是秒。

  P 執(zhí)行指令時 CPU 的占用比例。其實這個數(shù)字就是核心模式加上使用者模式的 CPU 時間除以總時間。

  Memory Resources

  M 執(zhí)行時所占用的實體記憶體的最大值。單位是 KB

  t 執(zhí)行時所占用的實體記憶體的平均值,單位是 KB

  K 執(zhí)行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是 KB

  D 執(zhí)行程序的自有資料區(qū)(unshared data area)的平均大小,單位是 KB

  p 執(zhí)行程序的自有堆疊(unshared stack)的平均大小,單位是 KB

  X 執(zhí)行程序間共享內(nèi)容(shared text)的平均值,單位是 KB

  Z 系統(tǒng)記憶體頁的大小,單位是 byte。對同一個系統(tǒng)來說這是個常數(shù)

  IO Resources

  F 此程序的主要記憶體頁錯誤發(fā)生次數(shù)。所謂的主要記憶體頁錯誤是指某一記憶體頁已經(jīng)置換到置換檔(swap file)中,而且已經(jīng)分配給其他程序。此時該頁的內(nèi)容必須從置換檔里再讀出來。

  R 此程序的次要記憶體頁錯誤發(fā)生次數(shù)。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序。此時該頁的內(nèi)容并未被破壞,不必從置換檔里讀出來

  W 此程序被交換到置換檔的次數(shù)

  c 此程序被強迫中斷(像是分配到的 CPU 時間耗盡)的次數(shù)

  w 此程序自愿中斷(像是在等待某一個 I/O 執(zhí)行完畢,像是磁碟讀取等等)的次數(shù)

  I 此程序所輸入的檔案數(shù)

  O 此程序所輸出的檔案數(shù)

  r 此程序所收到的 Socket Message

  s 此程序所送出的 Socket Message

  k 此程序所收到的信號 ( Signal )數(shù)量

  Command Info

  C 執(zhí)行時的參數(shù)以及指令名稱

  x 指令的結(jié)束代碼 ( Exit Status )

  -p or --portability

  這個選項會自動把顯示格式設(shè)定成為:

  real %e

  user %U

  sys %S

  這么做的目的是為了與 POSIX 規(guī)格相容。

  -v or --verbose

  這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習(xí)格式設(shè)定或是剛剛開始接觸這個指令的人相當有用。

  范例:

  利用下面的指令

  time -v ps -aux

  我們可以獲得執(zhí)行 ps -aux 的結(jié)果和所花費的系統(tǒng)資源。如下面所列的資料:

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init

  root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]

  ......

  root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux

  Command being timed: "ps -aux"

  User time (seconds): 0.05

  System time (seconds): 0.06

  Percent of CPU this job got: 68%

  Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16

  Average shared text size (kbytes): 0

  Average unshared data size (kbytes): 0

  Average stack size (kbytes): 0

  Average total size (kbytes): 0

  Maximum resident set size (kbytes): 0

  Average resident set size (kbytes): 0

  Major (requiring I/O) page faults: 238

  Minor (reclaiming a frame) page faults: 46

  Voluntary context switches: 0

  Involuntary context switches: 0

  Swaps: 0

  File system inputs: 0

  File system outputs: 0

  Socket messages sent: 0

  Socket messages received: 0

  Signals delivered: 0

  Page size (bytes): 4096

  Exit status: 0

  名稱: uptime

  使用權(quán)限: 所有使用者

  使用方式: uptime [-V]

  說明: uptime 提供使用者下面的資訊,不需其他參數(shù):

  現(xiàn)在的時間

  系統(tǒng)開機運轉(zhuǎn)到現(xiàn)在經(jīng)過的時間

  連線的使用者數(shù)量

  最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負載

  參數(shù): -V 顯示版本資訊。

  范例: uptime

  其結(jié)果為:

  10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99

  名稱:chfn

  使用權(quán)限:所有使用者

  用法:shell>> chfn

  說明:提供使用者更改個人資訊,用于 finger and mail username

  范例:

  shell>> chfn

  Changing finger information for user

  Password: [del]

  Name[]:Johnney Huang ### 提供 finger 時的資料

  Office[]:NCCU

  Office Phone[]: [del]

  Home Phone[]: [del]

  名稱:chsh

  使用權(quán)限:所有使用者

  用法:shell>> chsh

  說明:更改使用者 shell 設(shè)定

  范例:

  shell>> chsh

  Changing fihanging shell for user1

  Password: [del]

  New shell [/bin/tcsh]: ### [是目前使用的 shell]

  [del]

  shell>> chsh -l ### 展示 /etc/shells 檔案內(nèi)容

  /bin/bash

  /bin/sh

  /bin/ash

  /bin/bsh

  /bin/tcsh

  /bin/csh

  ” finger [返回]

  名稱: finger

  使用權(quán)限: 所有使用者

  使用方式: finger [options] user[@address]

  說明:finger 可以讓使用者查詢一些其他使用者的資料。會列出來的資料有:

  Login Name

  User Name

  Home directory

  Shell

  Login status

  mail status

  .plan

  .project

  .forward

  其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等檔案里的資料。如果沒有就沒有。finger 指令并不限定于在同一伺服器上查詢,也可以尋找某一個遠端伺服器上的使用者。只要給一個像是 E-mail address 一般的地址即可。

  把計?

  -l

  多行顯示。

  -s

  單行顯示。這個選項只顯示登入名稱,真實姓名,終端機名稱,閑置時間,登入時間,辦公室號碼及電話號碼。如果所查詢的使用者是遠端伺服器的使用者,這個選項無效。

  范例:下列指令可以查詢本機管理員的資料:

  finger root

  其結(jié)果如下:

  Login: root Name: root

  Directory: /root Shell: /bin/bash

  Never logged in.

  No mail.

  No Plan.

  名稱:last

  使用權(quán)限:所有使用者

  使用方式:shell>> last [options]

  說明:顯示系統(tǒng)開機以來獲是從每月初登入者的訊息

  把計?

  -R 省略 hostname 的欄位

  -num 展示前 num 個

  username 展示 username 的登入訊息

  tty 限制登入訊息包含終端機代號

  范例:

  shell>> last -R -2

  johnney pts/1 Mon Aug 14 20:42 still logged in

  johnney pts/0 Mon Aug 14 19:59 still logged in

  wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp

  shell>> last -2 minery

  minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)

  minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)

  wtmp begins Tue Aug 1 09:01:10 2000

  名稱:login

  這個命令都不會就不要干算了!呵呵我也不在這里多費筆墨耽誤大家美好青春了^_^

  名稱:passwd

  使用權(quán)限:所有使用者

  使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

  說明:用來更改使用者的密碼

  參數(shù):

  -k

  -l

  -u

  -f

  -d 關(guān)閉使用者的密碼認證功能, 使用者在登入時將可以不用輸入密碼, 只有具備 root 權(quán)限的使用者方可使用.

  -S 顯示指定使用者的密碼認證種類, 只有具備 root 權(quán)限的使用者方可使用.

  [username] 指定帳號名稱.

  名稱 : who

  使用權(quán)線 : 所有使用者都可使用

  使用方式 : who - [husfV] [user]

  說明 : 顯示系統(tǒng)中有那些使用者正在上面,顯示的資料包含了使用者 ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU 使用量,動作等等。

  把計 :

  -h : 不要顯示標題列

  -u : 不要顯示使用者的動作/工作

  -s : 使用簡短的格式來顯示

  -f : 不要顯示使用者的上線位置

  -V : 顯示程式版本

  linux指令大全(三)(轉(zhuǎn)自linuxeden.com)

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: 請用 newaliases 更新資料庫

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  ” mail [返回]

  名稱:mail

  使用權(quán)限:所有使用者

  使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]

  說明:

  mail 不僅只是一個指令, mail 還是一個電子郵件程式,不過利用 mail 來讀信的人應(yīng)該很少吧!對于系統(tǒng)管理者來說 mail 就很有用,因為管理者可以用 mail 寫成 script ,定期寄一些備忘錄提醒系統(tǒng)的使用者。

  參數(shù):

  i 忽略 tty 的中斷訊號。 (interrupt)

  I 強迫設(shè)成互動模式。 (Interactive)

  v 列印出訊息,例如送信的地點、狀態(tài)等等。 (verbose)

  n 不讀入 mail.rc 設(shè)定檔。

  s 郵件標題。

  c cc 郵件地址。

  b bcc 郵件地址。

  范例:

  將信件送給一個或以上的電子郵件地址,由于沒有加入其他的選項,使用者必須輸入標題與信件的內(nèi)容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2 使用者。

  mail user1@email.address

  mail user1@email.address user2

  將 mail.txt 的內(nèi)容寄給 user2 同時 cc 給 user1 。如果將這一行指令設(shè)成 cronjob 就可以定時將備忘錄寄給系統(tǒng)使用者。

  mail -s 標題 -c user1 user2 < mail.txt

  指令:mesg

  使用權(quán)限 : 所有使用者

  使用方式 : mesg [y|n]

  說明 : 決定是否允許其他人傳訊息到自己的終端機介面

  把計 ?

  y : 允許訊息傳到終端機介面上。

  n : 不允許訊息傳到終端機介面上 。

  如果沒有設(shè)定,則訊息傳遞與否則由終端機界面目前狀態(tài)而定。

  例子 :

  改變目前訊息設(shè)定,改成不允許訊息傳到終端機介面上 :

  mesg n

  與 mesg 相關(guān)的指令有: talk,write,wall。

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: newaliases

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。

  參數(shù):沒有任何參數(shù)。 范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  名稱 : talk

  使用權(quán)限 : 所有使用者

  使用方式 :

  talk person [ttyname]

  說明 : 與其他使用者對談

  把計 :

  person : 預(yù)備對談的使用者帳號,如果該使用者在其他機器上,則可輸入 person@machine.name

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  與現(xiàn)在機器上的使用者Rollaend對談,此時 Rollaend 只有一個連線 :

  talk Rollaend

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee`即可開始對談,結(jié)束請按 ctrl+c

  例子.2 :與linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談 :

  talk Rollaend@linuxfab.cx pts/2

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee@jzlee.home`即可開始對談,結(jié)束請按

  ctrl+c

  注意 : 若螢?zāi)坏淖謺霈F(xiàn)不正常的字元,試著按 ctrl+l 更新螢?zāi)划嬅妗?/p>

  名稱 : wall

  使用權(quán)限 : 所有使用者

  使用方式 :

  wall [ message ]

  使用說明:

  wall 會將訊息傳給每一個 mesg 設(shè)定為 yes 的上線使用者。當使用終端機介面做為標準傳入時, 訊息結(jié)束時需加上 EOF (通常用 Ctrl+D)?

  例子 :

  傳訊息"hi" 給每一個使用者 :

  wall hi

  名稱 : write

  使用權(quán)限 : 所有使用者

  使用方式 :

  write user [ttyname]

  說明 : 傳訊息給其他使用者

  把計 :

  user : 預(yù)備傳訊息的使用者帳號

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  傳訊息給 Rollaend,此時 Rollaend 只有一個連線 :

  write Rollaend

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  例子.2 :傳訊息給 Rollaend,Rollaend 的連線有 pts/2,pts/3 :

  write Rollaend pts/2

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  注意 : 若對方設(shè)定 mesg n,則此時訊席將無法傳給對方

  名稱:kill

  使用權(quán)限:所有使用者

  使用方式:

  kill [ -s signal | -p ] [ -a ] pid ...

  kill -l [ signal ]

  說明:kill 送出一個特定的信號 (signal) 給行程 id 為 pid 的行程根據(jù)該信號而做特定的動作, 若沒有指定, 預(yù)設(shè)是送出終止 (TERM) 的信號

  把計?

  -s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著重跑, 砍掉, 結(jié)束; 詳細的信號可以用 kill -l

  -p : 印出 pid , 并不送出信號

  -l (signal) : 列出所有可用的信號名稱

  范例:

  將 pid 為 323 的行程砍掉 (kill) :

  kill -9 323

  將 pid 為 456 的行程重跑 (restart) :

  kill -HUP 456

  名稱:nice

  使用權(quán)限:所有使用者

  使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

  說明:以更改過的優(yōu)先序來執(zhí)行程式, 如果未指定程式, 則會印出目前的排程優(yōu)先序, 內(nèi)定的 adjustment 為 10, 范圍為 -20 (最高優(yōu)先序) 到 19 (最低優(yōu)先序)

  把計?

  -n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優(yōu)先序的增加 adjustment

  --help 顯示求助訊息

  --version 顯示版本資訊

  范例:

  將 ls 的優(yōu)先序加 1 并執(zhí)行 :

  nice -n 1 ls

  將 ls 的優(yōu)先序加 10 并執(zhí)行 :

  nice ls將 ls 的優(yōu)先序加 10 并執(zhí)行

  注意 : 優(yōu)先序 (priority) 為作業(yè)系統(tǒng)用來決定 CPU 分配的參數(shù),Linux 使用『回合制(round-robin)』的演算法來做 CPU 排程,優(yōu)先序越高,所可能獲得的 CPU時間就越多。

  名稱:ps

  使用權(quán)限:所有使用者

  使用方式:ps [options] [--help]

  說明:顯示瞬間行程 (process) 的動態(tài)

  參數(shù):

  ps 的參數(shù)非常多, 在此僅列出幾個常用的參數(shù)并大略介紹含義

  -A 列出所有的行程

  -w 顯示加寬可以顯示較多的資訊

  -au 顯示較詳細的資訊

  -aux 顯示所有包含其他使用者的行程

  au(x) 輸出格式 :

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  USER: 行程擁有者

  PID: pid

  %CPU: 占用的 CPU 使用率

  %MEM: 占用的記憶體使用率

  VSZ: 占用的虛擬記憶體大小

  RSS: 占用的記憶體大小

  TTY: 終端的次要裝置號碼 (minor device number of tty)

  STAT: 該行程的狀態(tài):

  D: 不可中斷的靜止 (通悸□□縝b進行 I/O 動作)

  R: 正在執(zhí)行中

  S: 靜止狀態(tài)

  T: 暫停執(zhí)行

  Z: 不存在但暫時無法消除

  W: 沒有足夠的記憶體分頁可分配

  <: 高優(yōu)先序的行程

  N: 低優(yōu)先序的行程

  L: 有記憶體分頁分配并鎖在記憶體內(nèi) (即時系統(tǒng)或捱A I/O)

  START: 行程開始時間

  TIME: 執(zhí)行的時間

  COMMAND:所執(zhí)行的指令

  范例:

  ps

  PID TTY TIME CMD

  2791 ttyp0 00:00:00 tcsh

  3092 ttyp0 00:00:00 ps

  % ps -A

  PID TTY TIME CMD

  1 ? 00:00:03 init

  2 ? 00:00:00 kflushd

  3 ? 00:00:00 kpiod

  4 ? 00:00:00 kswapd

  5 ? 00:00:00 mdrecoveryd

  .......

  % ps -aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]

  root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]

  root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

  ........

  名稱:pstree

  使用權(quán)限:所有使用者

  使用方式:

  pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]

  pstree -V

  說明:將所有行程以樹狀圖顯示, 樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程為根 (root) ,如果有指定使用者 id , 則樹狀圖會只顯示該使用者所擁有的行程

  參數(shù):

  -a 顯示該行程的完整指令及參數(shù), 如果是被記憶體置換出去的行程則會加上括號

  -c 如果有重覆的行程名, 則分開列出 (預(yù)設(shè)值是會在前面加上 *

  范例:

  pstree

  init-+-amd

  |-apmd

  |-atd

  |-httpd---10*[httpd]

  %pstree -p

  init(1)-+-amd(447)

  |-apmd(105)

  |-atd(339)

  %pstree -c

  init-+-amd

  |-apmd

  |-atd

  |-httpd-+-httpd

  | |-httpd

  | |-httpd

  | |-httpd

  ....

  名稱:renice

  使用權(quán)限:所有使用者

  使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

  說明:重新指定一個或多個行程(Process)的優(yōu)先序(一個或多個將根據(jù)所下的參數(shù)而定)

  把計?

  -p pid 重新指定行程的 id 為 pid 的行程的優(yōu)先序

  -g pgrp 重新指定行程群組(process group)的 id 為 pgrp 的行程 (一個或多個) 的優(yōu)先序

  -u user 重新指定行程擁有者為 user 的行程的優(yōu)先序

  范例:

  將行程 id 為 987 及 32 的行程與行程擁有者為 daemon 及 root 的優(yōu)先序號碼加 1 :

  renice +1 987 -u daemon root -p 32

  注意 : 每一個行程(Process)都有一個唯一的 (unique) id?

  名稱:top

  使用權(quán)限:所有使用者

  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

  說明:即時顯示 process 的動態(tài)

  把計?

  d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s

  q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的權(quán)限,則 top 將會以最高的優(yōu)先序執(zhí)行

  c : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來

  s : 安全模式,將交談式指令取消, 避免潛在的危機

  i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程

  n : 更新的次數(shù),完成后將會退出 top

  b : 批次檔模式,搭配 "n" 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi)

  范例:

  顯示更新十次后退出 ;

  top -n 10

  使用者將不能利用交談式指令來對行程下命令 :

  top -s

  將更新顯示二次的結(jié)果輸入到名稱為 top.log 的檔案里 :

  top -n 2 -b < top.log

  名稱:skill

  使用權(quán)限:所有使用者

  使用方式: skill [signal to send] [options] 選擇程序的規(guī)則

  說明:

  送個訊號給正在執(zhí)行的程序,預(yù)設(shè)的訊息為 TERM (中斷) , 較常使用的訊息為 HUP , INT , KILL , STOP , CONT ,和 0

  訊息有三種寫法:分別為 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的訊息。

  一般參數(shù):

  -f 快速模式/尚未完成

  -i 互動模式/ 每個動作將要被確認

  -v 詳細輸出/ 列出所選擇程序的資訊

  -w 智能警告訊息/ 尚未完成

  -n 沒有動作/ 顯示程序代號

  參數(shù):選擇程序的規(guī)則可以是, 終端機代號,使用者名稱,程序代號,命令名稱。

  -t 終端機代號 ( tty 或 pty )

  -u 使用者名稱

  -p 程序代號 ( pid )

  -c 命令名稱 可使用的訊號:

  以下列出已知的訊號名稱,訊號代號,功能。

  名稱 (代號) 功能/ 描述

  ALRM 14 離開

  HUP 1 離開

  INT 2 離開

  KILL 9 離開/ 強迫關(guān)閉

  PIPE 13 離開

  POLL 離開

  PROF 離開

  TERM 15 離開

  USR1 離開

  USR2 離開

  VTALRM 離開

  STKFLT 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  UNUSED 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  TSTP 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTIN 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTOU 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  STOP 停止 /強迫關(guān)閉

  CONT 從新啟動 /如果在停止狀態(tài)則從新啟動,否則忽略

  PWR 忽略 /在某些系統(tǒng)中會離開

  WINCH 忽略

  CHLD 忽略

  ABRT 6 核心

  FPE 8 核心

  ILL 4 核心

  QUIT 3 核心

  SEGV 11 核心

  TRAP 5 核心

  SYS 核心 /或許尚未實作

  EMT 核心 /或許尚未實作

  BUS 核心 /核心失敗

  XCPU 核心 /核心失敗

  XFSZ 核心 /核心失敗

  范例:

  停止所有在 PTY 裝置上的程序

  skill -KILL -v pts/*

  停止三個使用者 user1 , user2 , user3

  skill -STOP user1 user2 user3

  其他相關(guān)的命令: kill

  名稱:expr

  使用權(quán)限:所有使用者

  ### 字串長度

  shell>> expr length "this is a test"

  14

  ### 數(shù)字商數(shù)

  shell>> expr 14 % 9

  5

  ### 從位置處抓取字串

  shell>> expr substr "this is a test" 3 5

  is is

  ### 數(shù)字串 only the first character

  shell>> expr index "testforthegame" e

  2

  ### 字串真實重現(xiàn)

  shell>> expr quote thisisatestformela

  thisisatestformela

  名稱: tr

  ### 1.比方說要把目錄下所有的大寫檔名換為小寫檔名?

  似乎有很多方式,"tr"是其中一種:

  #!/bin/sh

  dir="/tmp/testdir";

  files=`find $dir -type f`;

  for i in $files

  do

  dir_name=`dirname $i`;

  ori_filename=`basename $i`

  new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;

  #echo $new_filename;

  mv $dir_name/$ori_filename $dir_name/$new_filename

  done

  ### 2.自己試驗中...lowercase to uppercase

  tr abcdef...[del] ABCDE...[del]

  tr a-z A-Z

  tr [:lower:] [:upper:]

  shell>> echo "this is a test" | tr a-z A-Z > www

  shell>> cat www

  THIS IS A TEST

  ### 3.去掉不想要的字串

  shell>> tr -d this ### 去掉有關(guān) t.e.s.t

  this

  man

  man

  test

  e

  ### 4.取代字串

  shell>> tr -s "this" "TEST"

  this

  TEST

  th

  TE

  指令:clear

  用途:清除螢?zāi)挥谩?/p>

  使用方法:在 console 上輸入 clear。

  名稱: reset, tset

  使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

  使用說明:

  reset 其實和 tset 是一同個命令,它的用途是設(shè)定終端機的狀態(tài)。一般而言,這個命令會自動的從環(huán)境變數(shù)、命令列或是其它的組態(tài)檔決定目前終端機的型態(tài)。如果指定型態(tài)是 ? 的話,這個程式會要求使用者輸入終端機的型別。

  由于這個程式會將終端機設(shè)回原始的狀態(tài),除了在 login 時使用外,當系統(tǒng)終端機因為程式不正常執(zhí)行而進入一些奇怪的狀態(tài)時,你也可以用它來重設(shè)終端機o 例如不小心把二進位檔用 cat 指令進到終端機,常會有終端機不再回應(yīng)鍵盤輸入,或是回應(yīng)一些奇怪字元的問題。此時就可以用 reset 將終端機回復(fù)至原始狀態(tài)。選項說明:

  -p

  將終端機類別顯示在螢?zāi)簧?,但不做設(shè)定的動作。這個命令可以用來取得目前終端機的類別。

  -e ch

  將 erase 字元設(shè)成 ch

  -i ch

  將中斷字元設(shè)成 ch

  -k ch

  將刪除一行的字元設(shè)成 ch

  -I

  不要做設(shè)定的動作,如果沒有使用選項 -Q 的話,erase、中斷及刪除字元的目前值依然會送到螢?zāi)簧稀?/p>

  -Q

  不要顯示 erase、中斷及刪除字元的值到螢?zāi)簧稀?/p>

  -r

  將終端機類別印在螢?zāi)簧稀?/p>

  -s

  將設(shè)定 TERM 用的命令用字串的型式送到終端機中,通常在 .login 或 .profile 中用

  范例:

  讓使用者輸入一個終端機型別并將終端機設(shè)到該型別的預(yù)設(shè)狀態(tài)。

  # reset ?

  將 erase 字元設(shè)定 control-h

  # reset -e ^B

  將設(shè)定用的字串顯示在螢?zāi)簧?/p>

  # reset -s

Erase is control-B (^ .

  Kill is control-U (^U).

  Interrupt is control-C (^C).

  TERM=xterm;

  名稱:compress

  使用權(quán)限:所有使用者

  使用方式:compress [-dfvcV] [-b maxbits]

  下載地址

  說明:

  compress 是一個相當古老的 unix 檔案壓縮指令,壓縮后的檔案會加上一個 .Z 延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數(shù)個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由于 gzip 可以產(chǎn)生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。

  參數(shù):

  c 輸出結(jié)果至標準輸出設(shè)備(一般指熒幕)

  f 強迫寫入檔案,若目的檔已經(jīng)存在,則會被覆蓋 (force)

  v 將程式執(zhí)行的訊息印在熒幕上 (verbose)

  b 設(shè)定共同字串數(shù)的上限,以位元計算,可以設(shè)定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預(yù)設(shè)值 16 bits (bits)

  d 將壓縮檔解壓縮

  V 列出版本訊息

  范例:

  將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經(jīng)存在,內(nèi)容則會被壓縮檔覆蓋。

  compress -f source.dat

  將 source.dat 壓縮成 source.dat.Z ,并列印出壓縮比例。

  -v 與 -f 可以一起使用

  compress -vf source.dat

  將壓縮后的資料輸出后再導(dǎo)入 target.dat.Z 可以改變壓縮檔名。

  compress -c source.dat > target.dat.Z

  -b 的值越大,壓縮比例就越大,范圍是 9-16 ,預(yù)設(shè)值是 16 。

  compress -b 12 source.dat

  將 source.dat.Z 解壓成 source.dat ,若檔案已經(jīng)存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會自動覆蓋檔案。由于系統(tǒng)會自動加入 .Z 為延伸檔名,所以 source.dat 會自動當作 source.dat.Z 處理。

  compress -d source.dat

  compress -d source.dat.Z

  名稱: lpd

  使用權(quán)限: 所有使用者

  使用方式:lpd [-l] [#port]

  lpd 是一個常駐的印表機管理程式,它會根據(jù) /etc/printcap 的內(nèi)容來管理本地或遠端的印表機。/etc/printcap 中定義的每一個印表機必須在 /var/lpd 中有一個相對應(yīng)的目錄,目錄中以 cf 開頭的檔案表示一個等待送到適當裝置的印表工作。這個檔案通常是由 lpr 所產(chǎn)生。

  lpr 和 lpd 組成了一個可以離線工作的系統(tǒng),當你使用 lpr 時,印表機不需要能立即可用,甚至不用存在。lpd 會自動監(jiān)視印表機的狀況,當印表機上線后,便立即將檔案送交處理。這個得所有的應(yīng)用程式不必等待印表機完成前一工作。

  參數(shù):

  -l: 將一些除錯訊息顯示在標準輸出上。

  #port: 一般而言,lpd 會使用 getservbyname 取得適當?shù)?TCP/IP port,你可以使用這個參數(shù)強迫 lpd 使用指定的 port。

  范例:

  這個程式通常是由 /etc/rc.d 中的程式在系統(tǒng)啟始階段執(zhí)行。

  名稱 lpq

  -- 顯示列表機貯列中未完成的工作 用法

  lpq [l] [P] [user]

  說明

  lpq 會顯示由 lpd 所管理的列表機貯列中未完成的項目。

  范例

  范例 1. 顯示所有在 lp 列表機貯列中的工作

  # lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes

  相關(guān)函數(shù)

  lpr,lpc,lpd

  名稱: lpr

  使用權(quán)限: 所有使用者

  使用方式:lpr [ -P printer ]

  將檔案或是由標準輸入送進來的資料送到印表機貯列之中,印表機管理程式 lpd 會在稍后將這個檔案送給適當?shù)某淌交蜓b置處理。lpr 可以用來將料資送給本地或是遠端的主機來處理。

  參數(shù):

  -p Printer: 將資料送至指定的印表機 Printer,預(yù)設(shè)值為 lp。

  范例:

  將 www.c 和 kkk.c 送到印表機 lp。

  lpr -Plp www.c kkk.c

  名稱: lprm

  -- 將一個工作由印表機貯列中移除 用法

  /usr/bin/lprm [P]

  下載地址

  說明

  尚未完成的印表機工作會被放在印表機貯列之中,這個命令可用來將常未送到印表機的工作取消。由于每一個印表機都有一個獨立的貯列,你可以用 -P 這個命令設(shè)定想要作用的印列機。如果沒有設(shè)定的話,會使用系統(tǒng)預(yù)設(shè)的印表機。

  這個命令會檢查使用者是否有足夠的權(quán)限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統(tǒng)管理員才有這個權(quán)限。

  范例

  將印表機 hpprinter 中的第 1123 號工作移除

  lprm -Phpprinter 1123

  將第 1011 號工作由預(yù)設(shè)印表機中移除

  lprm 1011

  名稱: fdformat

  使用權(quán)限: 所有使用者

  使用方式:fdformat [-n] device

  使用說明 :

  對指定的軟碟機裝置進行低階格式化。使用這個指令對軟碟格式化的時候,最好指定像是下面的裝置:

  /dev/fd0d360 磁碟機 A: ,磁片為 360KB 磁碟

  /dev/fd0h1440 磁碟機 A: ,磁片為 1.4MB 磁碟

  /dev/fd1h1200 磁碟機 B: ,磁片為 1.2MB 磁碟

  如果使用像是 /dev/fd0 之類的裝置,如果里面的磁碟不是標準容量,格式化可能會失敗。在這種情況之下,使用者可以用 setfdprm 指令先行指定必要參數(shù)。

  參數(shù):

  -n 關(guān)閉確認功能。這個選項會關(guān)閉格式化之后的確認步驟。

  范例:

  fdformat -n /dev/fd0h1440

  將磁碟機 A 的磁片格式化成 1.4MB 的磁片。并且省略確認的步驟。

  名稱: mformat

  使用權(quán)限: 所有使用者

  使用方式:

  mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks]

  [-1] [-k] drive:

  在已經(jīng)做過低階格式化的磁片上建立 DOS 檔案系統(tǒng)。如果在編譯 mtools 的時候把 USE_2M 的參數(shù)打開,部分與 2M 格式相關(guān)的參數(shù)就會發(fā)生作用。否則這些參數(shù)(像是 S,2,1,M)不會發(fā)生作用。

  參數(shù):

  -t 磁柱(synlider)數(shù)

  -h 磁頭(head)數(shù)

  -s 每一磁軌的磁區(qū)數(shù)

  -l 標簽

  -F 將磁碟格式化為 FAT32 格式,不過這個參數(shù)還在實驗中。

  -I 設(shè)定 FAT32 中的版本號。這當然也還在實驗中。

  -S 磁區(qū)大小代碼,計算方式為 sector = 2^(大小代碼+7)

  -c 磁叢(cluster)的磁區(qū)數(shù)。如果所給定的數(shù)字會導(dǎo)致磁叢數(shù)超過 FAT 表的限制,mformat 會自動放大磁區(qū)數(shù)。

  -s

  -M 軟體磁區(qū)大小。這個數(shù)字就是系統(tǒng)回報的磁區(qū)大小。通常是和實際的大小相同。

  -a 如果加上這個參數(shù),mformat 會產(chǎn)生一組 Atari 系統(tǒng)的序號給這塊軟碟。

  -X 將軟碟格式化成 XDF 格式。使用前必須先用 xdfcopy 指令對軟碟作低階格式化的動作。

  -C 產(chǎn)生一個可以安裝 MS-DOS 檔案系統(tǒng)的磁碟影像檔(disk image)。當然對一個實體磁碟機下這個參數(shù)是沒有意義的。

  -H 隱藏磁區(qū)的數(shù)目。這通常適用在格式化硬碟的分割區(qū)時,因為通常一個分割區(qū)的前面還有分割表。這個參數(shù)未經(jīng)測試,能不用就不用。

  -n 磁碟序號

  -r 根目錄的大小,單位是磁區(qū)數(shù)。這個參數(shù)只對 FAT12 和 FAT16 有效。

  -B 使用所指定的檔案或是設(shè)備的開機磁區(qū)做為這片磁片或分割區(qū)的開機磁區(qū)。當然當中的硬體參數(shù)會隨之更動。

  -k 盡量保持原有的開機磁區(qū)。

  -0 第 0 軌的資料傳輸率

  -A 第 0 軌以外的資料傳輸率

  -2 使用 2m 格式

  -1 不使用 2m 格式

  范例:

  mformat a:

  這樣會用預(yù)設(shè)值把 a: (就是 /dev/fd0)里的磁碟片格式化。

  名稱: mkdosfs

  使用權(quán)限: 所有使用者

  使用方式: mkdosfs [ -c | -l filename ]

  [ -f number_of_FATs ]

  [ -F FAT_size ]

  [ -i volume_id ]

  [ -m message_file ]

  [ -n volume_name ]

  [ -r root_dir_entry ]

  [ -s sector_per_cluster ]

  [ -v ]

  device

  [ block_count ]

  說明: 建立 DOS 檔案系統(tǒng)。 device 指你想要建立 DOS 檔案系統(tǒng)的裝置代號。像是 /dev/hda1 等等。 block_count 則是你希望配置的區(qū)塊數(shù)。如果 block_count 沒有指定則系統(tǒng)會自動替你計算符合該裝置大小的區(qū)塊數(shù)。

  參數(shù):

  -c 建立檔案系統(tǒng)之前先檢查是否有壞軌。

  -l 從得定的檔案中讀取壞軌記錄。

  -f 指定檔案配置表(FAT , File Allocation Table)的數(shù)量。預(yù)設(shè)值為 2 。目前 Linux 的 FAT 檔案系統(tǒng)不支援超過 2 個 FAT 表。通常這個不需要改。

  -F 指定 FAT 表的大小,通常是 12 或是 16 個位元組。12 位元組通常用于磁碟片,16 位元組用于一般硬碟的分割區(qū),也就是所謂的 FAT16 格式。這個值通常系統(tǒng)會自己選定適當?shù)闹?。在磁碟片上?FAT16 通常不會發(fā)生作用,反之在硬碟上用 FAT12 亦然。

  -i 指定 Volume ID。一般是一個 4 個位元組的數(shù)字,像是 2e203a47 。如果不給系統(tǒng)會自己產(chǎn)生。

  -m 當使用者試圖用這片磁片或是分割區(qū)開機,而上面沒有作業(yè)系統(tǒng)時,系統(tǒng)會給使用者一段警告訊息。這個參數(shù)就是用來變更這個訊息的。你可以先用檔案編輯好,然后用這個參數(shù)指定,或是用

  -m -

  這樣系統(tǒng)會要求你直接輸入這段文字。要特別注意的是,檔案里的字串長度不要超過 418 個字,包括展開的跳欄符號(TAB)和換行符號(換行符號在 DOS 底下算兩個字元!)

  -n 指定 Volume Name,就是磁碟標簽。如同在 DOS 底下的 format 指令一樣,給不給都可以。沒有預(yù)設(shè)值。

  -r 指定根目錄底下的最大檔案數(shù)。這里所謂的檔案數(shù)包括目錄。預(yù)設(shè)值是在軟碟上是 112 或是 224 ,在硬碟上是 512。沒事不要改這個數(shù)字。

  -s 每一個磁叢(cluster)的磁區(qū)數(shù)。必須是 2 的次方數(shù)。不過除非你知道你在作什么,這個值不要亂給。

  -v 提供額外的訊息

  范例:

  mkdosfs -n Tester /dev/fd0 將 A 槽里的磁碟片格式化為 DOS 格式,并將標簽設(shè)為 Tester

  從零開始:Linux基礎(chǔ)教程之命令的使用

  對于 Linux 新手,或者那些想要重新審視或改進自己對基本 Linux 概念(比如:復(fù)制和移動文件、創(chuàng)建符號和硬鏈接、設(shè)置文件系統(tǒng)對象所有權(quán)和權(quán)限以及同管道和重定向一起使用 Linux 的標準文本處理命令)的理解的人來說,本系列連載文章之一是理想的教材。沿著這個方向,我們將一起分享很多心得、技巧和竅門,使該教程甚至對于那些具有豐富經(jīng)驗的 Linux 老手來說都是“有血有肉”,并且是實用的。

  對于初學(xué)者而言,本系列文章的許多內(nèi)容都很新穎,而更有經(jīng)驗的 Linux 用戶可能會發(fā)現(xiàn)本教程是使他們基本的 Linux 技能“爐火純青”的有效途徑。

  介紹 bash

  shell

  如果您使用過 Linux 系統(tǒng),那么您知道當?shù)卿洉r,將會看到像這樣的提示符:

  $

  您所看到的特殊的提示符可能看起來很不一樣。它可能包含系統(tǒng)的主機名、當前的工作目錄名,或者兩者都有。但是不管這個特殊的提示符看起來像什么,有一件事是肯定的。打印出這個提示符的程序叫“shell”,極有可能您的特殊的 shell 是一個叫 bash 的程序。

  您在運行 bash 嗎?

  您可以通過輸入下面的命令來檢查您是否正在運行 bash:

  $ echo $SHELL

  /bin/bash

  如果上面的命令行報錯或者不會類似地響應(yīng)我們的示例,那么您可能正在運行一個不同于 bash 的 shell。

  關(guān)于 bash

  Bash 是“Bourne-again shell”的首字母縮寫,它是大多數(shù) Linux 系統(tǒng)缺省的 shell。shell 的任務(wù)是執(zhí)行您的命令,使您能夠與 Linux 系統(tǒng)進行交互。當您輸完命令,您可以通知 shell 執(zhí)行 exit 或 logout 命令,在此您將返回到登錄提示符。順便提一下,您還可以通過在 bash 提示符下按 control-D 來注銷。

  使用“cd”

  您可能已經(jīng)發(fā)現(xiàn),目不轉(zhuǎn)睛地盯著bash提示符可不是世界上最讓人感到有勁的事。那么,讓我們來開始用 bash 來瀏覽我們的文件系統(tǒng)。在提示符下,輸入下面的命令(不包括 $):

  $ cd /

  我們只告訴 bash 您想在 /(也稱為根目錄)中工作;系統(tǒng)上的所有目錄形成一棵樹,/ 被認為是這棵樹的頂部,或者是根。cd設(shè)置當前您正在工作的目錄,也稱為“當前工作目錄”。

  路徑

  要看 bash 的當前工作目錄,您可以輸入:

  $ pwd

  /

  在上面的示例中,cd 的 / 參數(shù)叫做路徑。它告訴 cd 我們要轉(zhuǎn)到什么地方。特別是,/ 參數(shù)是一個絕對路徑,意味著它指定了相對于文件系統(tǒng)樹的根的位置。絕對路徑這里有幾個其它的絕對路徑:

  /dev

  /usr

  /usr/bin

  /usr/local/bin

  您可以看到,所有絕對路徑有一個共同點就是,它們都以/開頭。通過路徑/usr/local/bin,我們告訴 cd 進入 / 目錄,接著進入這個目錄之下的usr目錄,然后再進入 local 和 bin。絕對路徑總是通過是否以 / 開頭來判斷。

  相對路徑

  另一種路徑叫相對路徑。在 Bash 中,cd 以及其它命令總是解釋那些相對于當前目錄的路徑。相對路徑絕不會以 / 開頭。這樣,如果我們在 /usr 中:

  $ cd /usr

  那么,我們可以使用相對路徑來轉(zhuǎn)到 /usr/local/bin 目錄:

  $ cd local/bin

  $ pwd

  /usr/local/bin

  使用“..”

  相對路徑還可以包含一個或多個 .. 目錄。.. 目錄是指向父目錄的專門目錄。那么,繼續(xù)前面的示例:

  $ pwd

  /usr/local/bin

  $ cd ..

  $ pwd

  /usr/local

  您可以看到,現(xiàn)在我們的當前目錄是 /usr/local。我們能夠“后退”到相對于我們所在的當前目錄的一個目錄。此外,我們還可以將 \"..\" 添加到一個現(xiàn)有的相對路徑中,使我們可以進入與我們已在目錄并排的目錄,例如:

  $ pwd

  /usr/local

  $ cd ../share

  $ pwd

  /usr/share

  相對路徑示例

  相對路徑可以變得相當復(fù)雜。這里有幾個示例,所有的都沒有顯示出結(jié)果的目標路徑。請試著推斷一下,輸入這些命令后,您最終將會轉(zhuǎn)到什么地方:

  $ cd /bin

  $ cd ../usr/share/zoneinfo

  $ cd /usr/X11R6/bin

  $ cd ../lib/X11

  $ cd /usr/bin

  $ cd ../bin/../bin

  現(xiàn)在,試驗一次,看看您的推斷是否正確。

  理解“.”

  在我們結(jié)束 cd 的介紹之前,我們還需要討論一些更多的內(nèi)容。首先,還有另一個叫 . 的專門的目錄。它表示“當前目錄”。然而該目錄不為 cd 命令使用,它通常用來執(zhí)行一些當前目錄中的程序,如下所示:

  $ ./myprog

  在上面的示例中,駐留在當前工作目錄中的 myprog 可執(zhí)行文件將被執(zhí)行。

  cd 和主目錄

  如果我們想要轉(zhuǎn)到主目錄,我們可以輸入:

  $ cd

  沒有參數(shù),cd 將轉(zhuǎn)到主目錄,對于超級用戶來說是 /root,對于一般用戶來說通常是/home/username。但是,如果我們想要指定一個主目錄中的文件,將會怎樣呢?可能我們想要將一個文件參數(shù)傳給 myprog 命令。如果該文件在主目錄中,我們可以輸入:

  $ ./myprog /home/drobbins/myfile.txt

  但是,使用像這樣的絕對路徑并不總是很方便。幸好,我們可以使用 ~(代字符)字符來完成同樣的事:

  $ ./myprog ~/myfile.txt

  其他用戶的主目錄Bash 將把單獨的 ~ 擴展為指向主目錄,然而您還可以用它來指向其他用戶的主目錄。例如,如果我們想要引用 fred 的主目錄中的名為 fredsfile.txt 的文件,可以輸入:

  $ ./myprog ~fred/fredsfile.txt

  使用 Linux 命令

  介紹 ls

  現(xiàn)在,我們將快速地看一看 ls 命令。很可能,您已經(jīng)很熟悉 ls,并且知道只輸入 ls 本身將列出當前工作目錄的內(nèi)容: $">[b]通過指定 -a 選項,您可以看到目錄中的所有文件,包括隱藏文件 — 那些以 . 開頭的文件。您可以在下面的示例中看到,ls -a 將顯示 . 和 .. 專門的目錄鏈接:$">[b]遞歸和索引節(jié)點清單。

  您可以使用 -d 來查看目錄本身,而您還可以用 -R 來完成相反的工作 — 不僅只查看一個目錄內(nèi)部,而且要遞歸地查看該目錄內(nèi)所有的目錄內(nèi)部!我們將不會有對應(yīng)該選項的任何示例輸出(因為它一般占很大的篇幅),但是為了感覺一下它是怎樣工作的,您可以試幾個 ls -R 和 ls -Rl 命令。最后,ls 的 -i 選項可以用來在清單中顯示文件系統(tǒng)對象的索引節(jié)點號:

  $ ls -i /usr

  1409 X11R6 314258 i686-linux

  43090 libexec 13394 sbin

  1417 bin 1513 i686-pc-linux-gnu

  5120 local 13408 share

  8316 distfiles 1517 include

  776 man 23779 src

  43 doc 1386 info 93892 portage

  36737 ssl

  70744 gentoo-x86 1585 lib 5132

  portage.old 784 tmp

  理解索引節(jié)點,第 1 部分

  文件系統(tǒng)的每個對象都分配到一個獨一無二的索引,叫做索引節(jié)點號。這可能看起來微不足道,但是理解索引節(jié)點對于理解許多文件系統(tǒng)操作來說很重要。例如,請考慮出現(xiàn)在每個目錄中的 . 和 .. 鏈接。為了完全理解 .. 目錄實際上是什么,我們將先來看一看 /usr/local 的索引節(jié)點號:

  $ ls -id /usr/local

  5120 /usr/local

  /usr/local

  目錄有一個 5120 索引節(jié)點號?,F(xiàn)在,我們來看一 看 /usr/local/bin/.. 的索引節(jié)點號:

  $ ls -id /usr/local/bin/..

  5120 /usr/local/bin/..

  您可以看到,/usr/local/bin/..具有和/usr/local相同的索引節(jié)點號!這就是我們抓住的問題的實質(zhì)。過去,我們認為 /usr/local 是這個目錄本身。

  現(xiàn)在,我們發(fā)現(xiàn)索引節(jié)點 5120實際上是這個目錄,并且我們發(fā)現(xiàn)了指向該索引節(jié)點的兩個目錄條目(叫做“鏈接”)。/usr/local 和 /usr/local/bin/..都鏈接到索引節(jié)點 5120。雖然索引節(jié)點 5120 只在磁盤中的一地方存在,但是多個目錄條目都鏈接到它上面。事實上,通過使用 ls -dl 命令,我們可以看到索引節(jié)點 5120 被引用的總次數(shù)

  $ ls -dl /usr/local

  drwxr-xr-x 8 root root 240 Dec 22 20:

  57 /usr/local

  如果我們看一看從左起的第二欄,我們可以看到目錄 /usr/local(索引節(jié)點 5120)被引用了 8 次。在我的系統(tǒng)中,引用該索引節(jié)點的不同路徑有這些:

  /usr/local

  /usr/local/.

  /usr/local/bin/..

  /usr/local/games/..

  /usr/local/lib/..

  /usr/local/sbin/..

  /usr/local/share/..

  /usr/local/src/..

  mkdir

  我們來快速地看一看 mkdir 命令,它可以用來創(chuàng)建新目錄。下面的示例創(chuàng)建了三個新目錄:tic、tac 和 toe,都在 /tmp 下:

  $ cd /tmp

  $ mkdir tic tac toe

  缺省情況下,mkdir 不會為您創(chuàng)建父目錄;鄰接的上一元素的完整路徑必須存在。因此,如果您想要創(chuàng)建目錄 won/der/ful,您將需要發(fā)出三個單獨的 mkdir 命令:

  $ mkdir won/der/ful

  mkdir: cannot create directory

  `won/der/ful': No such file or directory

  $ mkdir won

  $ mkdir won/der

  $ mkdir won/der/ful

  mkdir -p

  然而,mkdir有一個很方便的-p選項,該選項告訴mkdir創(chuàng)建所有缺少的父目錄,如下所示:

  $ mkdir -p easy/as/pie

  總之,非常簡單。要學(xué)習(xí)更多關(guān)于 mkdir 命令的知識,請輸入 man mkdir 來閱讀手冊頁。除 cd(它內(nèi)置在 bash 中)之外,這幾乎適用于這里所涉及的所有命令(比如 man ls)。

  touch

  現(xiàn)在,我們將要快速地看一看 cp 和 mv 命令,這些命令用來復(fù)制、重命名以及移動文件和目錄。為了開始該概述,我們將首先用 touch 命令在 /tmp 中創(chuàng)建一個文件:

  $ cd /tmp

  $ touch copyme

  如果文件存在,touch 命令將更新文件的“mtime”(請回想 ls -l 輸出中的第六欄)。如果文件不存在,那么將創(chuàng)建一個新的空文件。現(xiàn)在您應(yīng)該有一個大小為零的 /tmp/copyme 文件。

  echo 和重定向

  既然文件存在,我們來把一些數(shù)據(jù)添加到文件中。我們可以使用echo命令來完成,它帶有自己參數(shù),并且把這些參數(shù)打印到標準輸出。首先,單獨的 echo 命令是這樣的:

  $ echo \"firstfile\"

  firstfile

  帶有輸出重定向的同樣的 echo 命令為:

  $ echo \"firstfile\" > copyme

  大于符號告訴 shell 將 echo 的輸出寫到名為 copyme 的文件中。如果該文件不存在,將創(chuàng)建這個文件;如果該文件存在,將覆蓋這個文件。通過輸入 ls -l,我們可以看到 copyme 文件為 10 個字節(jié)長,因為它包括 firstfile 這個詞和換行符:

  $ ls -l copyme

  -rw-r--r-- 1 root root 10 Dec 28 14:13 copyme

  cat 和 cp

  為了在終端顯示文件的內(nèi)容,要使用 cat 命令:

  $ cat copyme

  firstfile

  現(xiàn)在,我們可以使用 cp 命令的基本調(diào)用來由原始的 copyme 文件創(chuàng)建 copiedme 文件:

  $ cp copyme copiedme

  通過觀察,我們發(fā)現(xiàn)它們確實是相互獨立的文件;它們的索引節(jié)點號不同:

  $ ls -i copyme copiedme

  648284 copiedme 650704 copyme

  mv

  現(xiàn)在,我們來用“mv”命令將“copiedme”重命名為“movedme”。其索引節(jié)點號將仍然是同一個;但是,指向該索引節(jié)點的文件名將改變。

  $ mv copiedme movedme

  $ ls -i movedme

  648284 movedme

  只要目標文件和源文件駐留在同一文件系統(tǒng)上,被移動的文件的索引節(jié)點號就將仍然不變。在本教程系列的第 3 部分,我們將進一步看一下文件系統(tǒng)。

  創(chuàng)建鏈接和刪除文件

  硬鏈接

  當談及目錄條目和索引節(jié)點之間關(guān)系時,我們提到了鏈接這個術(shù)語。Linux 實際有兩種鏈接。到此為止我們所討論的這種鏈接叫硬鏈接。一個給定的索引節(jié)點可以有任意數(shù)目的硬鏈接,該索引節(jié)點一直存在于文件系統(tǒng),直到所有的硬鏈接消失??梢允褂?ln 命令來創(chuàng)建新的硬鏈接

  $ cd /tmp

  $ touch firstlink

  $ ln firstlink secondlink

  $ ls -i firstlink secondlink

  15782 firstlink 15782 secondlink

  您可以看到,硬鏈接工作于索引節(jié)點級別,指向特殊的文件。在 Linux 系統(tǒng)上,硬鏈接有幾個局限性。第一,您只能給文件建立硬鏈接,而不能給目錄建立硬鏈接。的確如此;即便 . 和 .. 是系統(tǒng)給目錄創(chuàng)建的硬鏈接,也不允許您(“root”用戶也不行)創(chuàng)建任何您自己的硬鏈接。

  硬鏈接的第二個局限性是它們不能跨文件系統(tǒng)。這意味著,如果您的 / 和 /usr 存在于不同的文件系統(tǒng),您不能創(chuàng)建從 /usr/bin/bash 到 /bin/bash 的鏈接。

  符號鏈接

  實際上,符號鏈接(symbolic link,或“symlinks”)比硬鏈接更常用到。符號鏈接是一種專門的文件類型,在這種文件類型中,鏈接通過名稱引用另一個文件,而不是直接引用索引節(jié)點。符號鏈接不阻止文件被刪除;如果目標文件消失,那么符號鏈接僅僅是不可用,或“被破壞”。

  通過將 -s 選項傳給 ln,可以創(chuàng)建符號鏈接。

  $ ln -s secondlink thirdlink

  $ ls -l firstlink secondlink thirdlink

  -rw-rw-r-- 2 agriffis agriffis 0 Dec 31 19:

  08 firstlink

  -rw-rw-r-- 2 agriffis agriffis 0 Dec 31 19:

  08 secondlink

  lrwxrwxrwx 1 agriffis agriffis 10 Dec 31 19:

  39 thirdlink -> secondlink

  在 ls -l 輸出中,可以用三種方式區(qū)分符號鏈接和一般文件。第一,請注意第一欄包含一個 l 字符的輸出表明是符號鏈接。第二,符號鏈接的大小是目標文件(本例是 secondlink)的字符數(shù)。第三,輸出的最后一欄顯示目標文件名。

  符號鏈接通常比硬鏈接更靈活。您可以給任何類型的文件系統(tǒng)對象(包括目錄)創(chuàng)建符號鏈接。又因為符號鏈接的實現(xiàn)是基于路徑的(而不是索引節(jié)點),所以創(chuàng)建指向另一個文件系統(tǒng)上的對象的符號鏈接是完全可行的。但是,這一事實也使符號鏈接理解起來很復(fù)雜。請考慮我們想要在/tmp中創(chuàng)建一個指向 /usr/local/bin的鏈接的情況。我們應(yīng)該輸入:

  $ ln -s /usr/local/bin bin1

  $ ls -l bin1

  lrwxrwxrwx 1 root root 14 Jan 1 15:

  42 bin1 -> /usr/local/bin

  或者還可以輸入:

  $ ln -s ../usr/local/bin bin2

  $ ls -l bin2

  lrwxrwxrwx 1 root root 16 Jan 1 15:

  43 bin2 -> ../usr/local/bin

  您可以看到,兩個符號鏈接都指向同一目錄。但是,如果我們的第二個符號鏈接在任何時刻被移動到另一個目錄,由于相對路徑的緣故,它將遭到“破壞”。

  $ ls -l bin2

  lrwxrwxrwx 1 root root 16 Jan 1 15:

  43 bin2 -> ../usr/local/bin

  $ mkdir mynewdir

  $ mv bin2 mynewdir

  $ cd mynewdir

  $ cd bin2

  bash: cd: bin2: No such file or directory

  因為/tmp/usr/local/bin這個目錄不存在,我們不能再把目錄轉(zhuǎn)到bin2;換句話說,bin2 現(xiàn)在被破壞了。

  由于這個原因,有時避免用相對路徑信息來創(chuàng)建符號鏈接是個好主意。但是,在許多情況下,相對的符號鏈接很管用。請考慮一個示例,在這個示例中您想要給 /usr/bin 中的一個程序創(chuàng)建一個別名:

  # ls -l /usr/bin/keychain

  -rwxr-xr-x 1 root root 10150 Dec 12 20:09 /usr/bin/keychain

  作為 root 用戶,您可能想要給“keychain”創(chuàng)建一個別名,比如“kc”。在這個示例中,我們有 root 訪問權(quán),由 bash 提示符改變?yōu)?ldquo;#”可以證明。我們之所以需要 root 訪問權(quán)是因為一般用戶不能在 /usr/bin 中創(chuàng)建文件。作為 root 用戶,我們可以像下面這樣給 keychain 創(chuàng)建一個別名:

  # cd /usr/bin

  # ln -s /usr/bin/keychain kc

  當這個解決方法起作用時,如果我們想要把兩個文件都移到 /usr/local/bin 時,它將會出現(xiàn)問題。

  # mv /usr/bin/keychain

  /usr/bin/kc /usr/local/bin

  因為在符號鏈接中,我們使用了絕對路徑,而我們的kc符號鏈接仍然指向/usr/bin/keychain,它已不存在了——另一個被破壞的符號鏈接。符號鏈接中的相對路徑和絕對路徑都各具優(yōu)點,您應(yīng)該使用適合于您的特殊應(yīng)用的路徑類型。一般情況下,相對路徑或絕對路徑都能工作得很好。在這種情況下,下面的示例將起作用:

  # cd /usr/bin

  # ln -s keychain kc

  # ls -l kc

  lrwxrwxrwx 1 root root 8 Jan 5 12:

  40 kc -> keychain

  rm

  既然我們知道怎樣使用 cp、mv 和 ln,現(xiàn)在我們該學(xué)習(xí)怎樣把對象從文件系統(tǒng)中刪除了。通常,這用 rm 命令來完成。要刪除文件,只需在命令行中指定它們:

  $ cd /tmp

  $ touch file1 file2

  $ ls -l file1 file2

  -rw-r--r-- 1 root root 0 Jan 1 16:41 file1

  -rw-r--r-- 1 root root 0 Jan 1 16:41 file2

  $ rm file1 file2

  $ ls -l file1 file2

  ls: file1: No such file or directory

  ls: file2: No such file or directory

  rmdir

  要刪除目錄,您有兩種選擇。您可以刪除目錄中所有的對象,然后使用 rmdir 來刪除目錄本身:

  $ mkdir mydir

  $ touch mydir/file1

  $ rm mydir/file1

  $ rmdir mydir

  rm 和目錄

  或者,您可以使用 rm 命令的 recursive force選項來告訴rm刪除您指定的目錄以及目錄中包含的所有對象:

  $ rm -rf mydir

  一般情況下,rm -rf 是刪除目錄樹的首選方法。在使用 rm -rf 時要十分小心,因為它的功能可以被很好地利用,也可能會因使用不當造成惡果。

  介紹通配符

  在您日常的 Linux 使用中,有很多時候您可能需要一次對多個文件系統(tǒng)對象執(zhí)行單一操作(比如 rm)。在這些情況下,在命令行中輸入許多文件通常讓人感到厭煩,為了解決這個問題,您可以利用 Linux 內(nèi)置的通配符支持。這種支持也叫做“globbing”(由于歷史原因),允許您通過使用通配符模式一次指定多個文件。

  Bash 和其它 Linux 命令將通過在磁盤上查找并找到任何與之匹配的文件來解釋這種模式。因此,如果在當前工作目錄中,您有從 file1 到 file8 的文件,那么您可以輸入下面的命令來刪除這些文件:

  $ rm file[1-8]

  或者,如果您只想要刪除文件名以 file 開頭的所有文件,您可以輸入:

  $ rm file*

  理解不匹配

  或者,如果您想要列出 /etc 中以 g 開頭的所有文件系統(tǒng)對象,您可以輸入:

  $ ls -d /etc/g*

  /etc/gconf /etc/ggi /etc/gimp /etc/gnome

  /etc/gnome-vfs-mime-magic /etc/gpm

  /etc/group /etc/group-

  現(xiàn)在,如果您指定了沒有任何文件系統(tǒng)對象與之匹配的模式,會怎么樣呢?在下面的示例中,我們試圖列出 /usr/bin 中以 asdf 開頭并且以 jkl 結(jié)尾的所有文件:

  $ ls -d /usr/bin/asdf*jkl

  ls: /usr/bin/asdf*jkl:

  No such file or directory

  這里是對所發(fā)生情況的說明。通常,當我們指定一種模式時,該模式與底層系統(tǒng)上的一個或多個文件匹配,bash 以空格隔開的所有匹配對象的列表來替換該模式。

  但是,當模式不能找到匹配對象時,bash 將不理會參數(shù)、通配符等等,保留原樣。因此,當“ls”不能找到文件 /usr/bin/asdf*jkl 時,它會報錯。此處的有效的規(guī)則是:glob 模式只在與文件系統(tǒng)中的對象匹配時才可以進行擴展。

  Linux必學(xué)的重要命令

  tar

  1. 作用

  tar命令是Unix/Linux系統(tǒng)中備份文件的可靠方法,幾乎可以工作于任何環(huán)境中,它的使用權(quán)限是所有用戶。

  2. 格式

  tar [主選項+輔選項] 文件或目錄

  3.主要參數(shù)

  使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。

  主選項:

  -c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。

  -r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經(jīng)做好備份文件,又發(fā)現(xiàn)還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。

  -t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。

  -u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。

  -x 從檔案文件中釋放文件。

  輔助選項:

  -b 該選項是為磁帶機設(shè)定的,其后跟一數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預(yù)設(shè)值為20(20×512 bytes)。

  -f 使用檔案文件或設(shè)備,這個選項通常是必選的。

  -k 保存已經(jīng)存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。

  -m 在還原文件時,把所有文件的修改時間設(shè)定為現(xiàn)在。

  -M 創(chuàng)建多卷的檔案文件,以便在幾個磁盤中存放。

  -v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。

  -w 每一步都要求確認。

  -z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。

  3. 應(yīng)用說明

  tar是Tape Archive(磁帶歸檔)的縮寫,最初設(shè)計用于將文件打包到磁帶上。如果下載過Linux的源代碼,或許已經(jīng)碰到過tar文件。tar是一個基于文件的命令,它本質(zhì)上是連續(xù)地、首尾相連地堆放文件。使用tar可以打包整個目錄樹,這使得它特別適合用于備份。歸檔文件可以全部還原,或者從中展開單獨的文件和目錄。備份可以保存到基于文件的設(shè)備或磁帶設(shè)備上。文件可以在還原時重定向,以便將它們重新放到一個與最初保存它們的目錄(或系統(tǒng))不同的目錄(或系統(tǒng))。tar與文件系統(tǒng)無關(guān),可以使用在ext2、ext3、JFS、Reiser和其它文件系統(tǒng)上。它支持各種備份介質(zhì),包括軟盤、光盤寫入器、可重寫的光盤、JazZip、磁帶、高端磁帶等。Linux中以.tar結(jié)尾的文件都是用tar創(chuàng)建的。它的使用超出了單純的備份,可用來把許多不同文件放到一起組成一個易于分開的文件。如果使用Linux源代碼安裝程序,一定使用過tar文件。這是一個基于文件的命令,它本質(zhì)上是連續(xù)地、首尾相連地堆放文件。

  tar官方網(wǎng)址是[www.gnu]. org/software/tar/tar.html。

  請注意,不要忘了Linux是區(qū)分大小寫的。例如,tar命令應(yīng)該總是以小寫的形式執(zhí)行。命令行開關(guān)可以是大寫、小寫或大小寫的混合。例如,-t和-T執(zhí)行不同的功能。文件或目錄名稱可以混合使用大小寫,而且就像命令和命令行開關(guān)一樣是區(qū)分大小寫的。

  4.應(yīng)用實例

  tar是一個命令行的工具,沒有圖形界面。使用Konsole打開一個終端窗口,接下來是一個簡單的備份命令(在/temp目錄中創(chuàng)建一個back.tar的文件,/usr目錄中所有內(nèi)容都包含在其中。):

  $tar cvf - /usr > /temp/back.tar

  另外,tar命令支持前面第三講中講過的crontab命令,可以用crontab工具設(shè)置成基于時間的有規(guī)律地運行。例如,每晚6點把/usr目錄備份到hda—第一個IDE接口的主驅(qū)動器 (總是位于第一個硬盤)中,只要將下面語句添加到root的crontab中即可:

  

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

時間: 春健736 分享

Linux常用系統(tǒng)及網(wǎng)絡(luò)命令大全

  你打開瀏覽器,自由地游弋于浩如煙海的互聯(lián)網(wǎng)世界之時,是否也沉迷于下載各種實用軟件?其中也許有很大一部分就是網(wǎng)絡(luò)工具吧!那你知道Linux常用系統(tǒng)及網(wǎng)絡(luò)命令嗎?下面大家跟著學(xué)習(xí)啦小編一起來學(xué)習(xí)一下吧。

  Linux常用系統(tǒng)及網(wǎng)絡(luò)命令

  計算機網(wǎng)絡(luò)的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網(wǎng)絡(luò)命令來為用戶服務(wù),這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執(zhí)行遠程命令等。

  本章介紹下列幾個常用的有關(guān)網(wǎng)絡(luò)操作的命令:

  ftp 傳輸文件

  telnet 登錄到遠程計算機上

  r - 使用各種遠程命令

  netstat 查看網(wǎng)絡(luò)的狀況

  nslookup 查詢域名和IP地址的對應(yīng)

  finger 查詢某個使用者的信息

  ping 查詢某個機器是否在工作

  使用ftp命令進行遠程文件傳輸

  ftp命令是標準的文件傳輸協(xié)議的用戶接口。ftp是在TCP/IP網(wǎng)絡(luò)上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。

  在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內(nèi)容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸?shù)竭h程系統(tǒng)中。

  需要注意的是,如果用戶沒有那個文件的存取權(quán)限,就不能從遠程系統(tǒng)中獲得文件或向遠程系統(tǒng)傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp

  會話,并用來確定用戶對要傳輸?shù)奈募梢赃M行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。

  Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:

  $ ftp 主機名/IP

  其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務(wù)程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:

  $ ftp ftp > 此時在ftp>提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。

  在遠程機上的用戶帳號的讀寫權(quán)限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。如果沒有遠程機的專用登錄帳號,許多ftp站點設(shè)有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。

  如果遠程系統(tǒng)提供匿名ftp服務(wù),用戶使用這項服務(wù)可以登錄到特殊的,供公開使用的目錄。

  一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。

  一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp>”提示符。現(xiàn)在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在

  help命令后面指定具體的命令名稱,獲得這條命令的說明。

  最常用的命令有:

  ls 列出遠程機的當前目錄

  cd 在遠程機上改變工作目錄

  lcd 在本地機上改變工作目錄

  ascii 設(shè)置文件傳輸方式為ASCII模式

  binary 設(shè)置文件傳輸方式為二進制模式

  close終止當前的ftp會話

  hash 每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后就顯示一個#號

  get(mget) 從遠程機傳送指定文件到本地機

  put(mput) 從本地機傳送指定文件到遠程機

  open 連接遠程ftp站點

  quit斷開與遠程機的連接并退出ftp

  ? 顯示本地幫助信息

  ! 轉(zhuǎn)到Shell中

  下面簡單將ftp常用命令作一簡介。

  啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數(shù)的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為 ftp命令的參數(shù)。

  終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關(guān)閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關(guān)閉用戶與遠程機的連接,然后退出用戶機上的ftp

  程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。

  遠程目錄列表 ls命令列出遠程目錄的內(nèi)容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件]

  如果指定了目錄作為參數(shù),那么ls就列出該目錄的內(nèi)容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統(tǒng)獲取文件

  get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創(chuàng)建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。

  mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。

  向遠程系統(tǒng)發(fā)送文件 put和mput命令用于向遠程機發(fā)送文件。Put命令的一般格式為: put 文件名 mput命令一次發(fā)送多個本地文件,mput命令的一般格式為:

  mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發(fā)送的文件。對其中的每個文件都要求用戶確認是否發(fā)送。 改變文件傳輸模式

  默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設(shè)置傳輸?shù)哪J健S肁SCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。

  檢查傳輸狀態(tài) 傳輸大型文件時,可能會發(fā)現(xiàn)讓ftp提供關(guān)于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后,就在屏幕上打印一個#字符。本命令在發(fā)送和接收文件時都可以使用。

  ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir

  new_dir,那么Linux就在用戶當前的本地目錄中創(chuàng)建一個名為new_dir 的目錄。

  從遠程機grunthos下載二進制數(shù)據(jù)文件的典型對話過程如下:

  $ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc):

  anonymous 33l Guest login ok, send your complete e-mail address as password.

  Password: 230 Guest 1ogin ok, access restrictions apply. Remote system

  type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls

  200 PORT command successful. l50 opening ASCII mode data connection for

  /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200

  type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark).

  ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode

  data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226

  Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)

  ftp > quit 22l Goodbye.

  使用telnet命令訪問遠程計算機

  用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡(luò)在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

  為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統(tǒng)確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權(quán)限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統(tǒng)通常把這些用戶放在一個受限制的shell中,以防系統(tǒng)被懷有惡意的或不小心的用戶破壞。

  用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

  但是,用戶只能使用基于終端的環(huán)境而不是X Wndows環(huán)境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環(huán)境。 telnet命令的一般形式為:

  telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執(zhí)行成功,將從遠程機上得到login:提示符。

  使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統(tǒng)上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統(tǒng)上工作。

  在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯(lián)機幫助手冊中對這些命令有詳細的說明。

  下面是一臺Linux計算機上的telnet會話舉例:

  $ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve.

  somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)

  kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov

  l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$

  logout Connection closed by foreign host $

  用戶結(jié)束了遠程會話后,一定要確保使用logout命令退出遠程系統(tǒng)。然后telnet報告遠程會話被關(guān)閉,并返回到用戶的本地機的Shell提示符下。

  r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網(wǎng)絡(luò)上交換文件。使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發(fā)出一個r-系列命令后,遠程系統(tǒng)檢查名為 /etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.

  rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執(zhí)行r-系列命令就不用提供口令。

  雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。

  rlogin命令

  功能:rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)上的交互命令會話。

  格式: rlogin [ -8EKLdx ] [ -e char ] [-k

  realm ] [ - l username ] host

  參數(shù):

  -8 此選項始終允許8位輸入數(shù)據(jù)通道。該選項允許發(fā)送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。

  -E 停止把任何字符當作轉(zhuǎn)義字符。當和-8選項一起使用時,它提供一個完全的透明連接。

  -K 關(guān)閉所有的Kerberos確認。只有與使用Kerberos 確認協(xié)議的主機連接時才使用這個選項。

  -L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯(lián)機幫助。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多信息,請查閱setsockopt的聯(lián)機幫助。

  -e 為rlogin會話設(shè)置轉(zhuǎn)義字符,默認的轉(zhuǎn)義字符是“~”,用戶可以指定一個文字字符或一個\nnn形式的八進制數(shù)。

  -k 請求rlogin獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos

  許可。

  -x 為所有通過rlogin會話傳送的數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。

  rsh命令

  功能:rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。

  格式:rsh [-Kdnx] [-k realm] [-l username]

  host [command]

  command可以是從shell提示符下鍵人的任何Linux命令。

  參數(shù):

  -K 關(guān)閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請查閱setsockopt的聯(lián)機幫助。

  -k 請求rsh獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。

  -n 重定向來自特殊設(shè)備/dev/null的輸入。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。    Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執(zhí)行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

  rcp命令

  功能:rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。

  rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

  格式:

  rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file

  directory 每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。

  參數(shù):

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。

  -p 試圖保留源文件的修改時間和模式,忽略umask。

  -k 請求rcp獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。

  需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。 - Turbolinux 提供稿件

  This file is decompiled from a .CHM file

  by an UNREGISTERED version of Easy CHM.

  You can download Easy CHM at :

  Linux必學(xué)60個命令文件處理

  作者: artiomgy 中級會員(61.54.106.238)

  日期: 2005-10-07 13:15:19

  Linux系統(tǒng)信息存放在文件里,文件與普通的公務(wù)文件類似。每個文件都有自己的名字、內(nèi)容、存放地址及其它一些管理信息,如文件的用戶、文件的大小等。文件可以是一封信、一個通訊錄,或者是程序的源語句、程序的數(shù)據(jù),甚至可以包括可執(zhí)行的程序和其它非正文內(nèi)容。 Linux文件系統(tǒng)具有良好的結(jié)構(gòu),系統(tǒng)提供了很多文件處理程序。這里主要介紹常用的文件處理命令。

  file

  1.作用

  file通過探測文件內(nèi)容判斷文件類型,使用權(quán)限是所有用戶。

  2.格式

  file [options] 文件名

  3.[options]主?問?

  -v:在標準輸出后顯示版本信息,并且退出。

  -z:探測壓縮過的文件類型。

  -L:允許符合連接。

  -f name:從文件namefile中讀取要分析的文件名列表。

  4.簡單說明

  使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執(zhí)行文件, 還是Shell Script文件,或者是其它的什么格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執(zhí)行文件、C語言源文件、文本文件、DOS的可執(zhí)行文件。

  5.應(yīng)用實例

  如果我們看到一個沒有后綴的文件grap,可以使用下面命令:

  $ file grap

  grap: English text

  此時系統(tǒng)顯示這是一個英文文本文件。需要說明的是,file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。

  mkdir

  1.作用

  mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權(quán)限是所有用戶。

  2.格式

  mkdir [options] 目錄名

  3.[options]主要參數(shù)

  -m, --mode=模式:設(shè)定權(quán)限<模式>,與chmod類似。

  -p, --parents:需要時創(chuàng)建上層目錄;如果目錄早已存在,則不當作錯誤。

  -v, --verbose:每次創(chuàng)建新目錄都顯示信息。

  --version:顯示版本信息后離開。

  4.應(yīng)用實例

  在進行目錄創(chuàng)建時可以設(shè)置目錄的權(quán)限,此時使用的參數(shù)是“-m”。假設(shè)要創(chuàng)建的目錄名是“tsk”,讓所有用戶都有rwx(即讀、寫、執(zhí)行的權(quán)限),那么可以使用以下命令:

  $ mkdir -m 777 tsk

  grep

  1.作用

  grep命令可以指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標準輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。

  2.格式

  grep [options]

  3.主要參數(shù)

  [options]主要參數(shù):

  -c:只輸出匹配行的計數(shù)。

  -I:不區(qū)分大小寫(只適用于單字符)。

  -h:查詢多文件時不顯示文件名。

  -l:查詢多文件時只輸出包含匹配字符的文件名。

  -n:顯示匹配行及行號。

  -s:不顯示不存在或無匹配文本的錯誤信息。

  -v:顯示不包含匹配文本的所有行。

  pattern正則表達式主要參數(shù):

  \:忽略正則表達式中特殊字符的原有含義。

  ^:匹配正則表達式的開始行。

  $: 匹配正則表達式的結(jié)束行。

  \<:從匹配正則表達式的行開始。

  \>:到匹配正則表達式的行結(jié)束。

  [ ]:單個字符,如[A]即A符合要求 。

  [ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。

  。:所有的單個字符。

  * :有字符,長度可以為0。

  正則表達式是Linux/Unix系統(tǒng)中非常重要的概念。正則表達式(也稱為“regex”或“regexp”)是一個可以描述一類字符串的模式(Pattern)。如果一個字符串可以用某個正則表達式來描述,我們就說這個字符和該正則表達式匹配(Match)。這和DOS中用戶可以使用通配符 “*”代表任意字符類似。在Linux系統(tǒng)上,正則表達式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作和其它功能。

  4.應(yīng)用實例

  查詢DNS服務(wù)是日常工作之一,這意味著要維護覆蓋不同網(wǎng)絡(luò)的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網(wǎng)絡(luò)地址,但是卻忘了第二部分中的其余部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3 \}\.[0-0\。含義是任意數(shù)字出現(xiàn)3次,后跟句點,接著是任意數(shù)字出現(xiàn)3次,后跟句點。

  $grep ´[0-9 ]\{3 \}\.[0-0\´ ipfile

  補充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字符串而不是一個模式;egrep是擴展grep,支持基本及擴展的正則表達式,但不支持\q模式范圍的應(yīng)用及與之相對應(yīng)的一些更加規(guī)范的模式。

  dd

  1.作用

  dd命令用來復(fù)制文件,并根據(jù)參數(shù)將數(shù)據(jù)轉(zhuǎn)換和格式化。

  2.格式

  dd [options]

  3.[opitions]主要參數(shù)

  bs=字節(jié):強迫 ibs=<字節(jié)>及obs=<字節(jié)>。

  cbs=字節(jié):每次轉(zhuǎn)換指定的<字節(jié)>。

  conv=關(guān)鍵字:根據(jù)以逗號分隔的關(guān)鍵字表示的方式來轉(zhuǎn)換文件。

  count=塊數(shù)目:只復(fù)制指定<塊數(shù)目>的輸入數(shù)據(jù)。

  ibs=字節(jié):每次讀取指定的<字節(jié)>。

  if=文件:讀取<文件>內(nèi)容,而非標準輸入的數(shù)據(jù)。

  obs=字節(jié):每次寫入指定的<字節(jié)>。

  of=文件:將數(shù)據(jù)寫入<文件>,而不在標準輸出顯示。

  seek=塊數(shù)目:先略過以obs為單位的指定<塊數(shù)目>的輸出數(shù)據(jù)。

  skip=塊數(shù)目:先略過以ibs為單位的指定<塊數(shù)目>的輸入數(shù)據(jù)。

  4.應(yīng)用實例

  dd命令常常用來制作Linux啟動盤。先找一個可引導(dǎo)內(nèi)核,令它的根設(shè)備指向正確的根分區(qū),然后使用dd命令將其寫入軟盤:

  $ rdev vmlinuz /dev/hda

  $dd if=vmlinuz of=/dev/fd0

  上面代碼說明,使用rdev命令將可引導(dǎo)內(nèi)核vmlinuz中的根設(shè)備指向/dev/hda,請把“hda”換成自己的根分區(qū),接下來用dd命令將該內(nèi)核寫入軟盤。

  find

  1.作用

  find命令的作用是在目錄中搜索文件,它的使用權(quán)限是所有用戶。

  2.格式

  find [path][options][expression]

  path指定目錄路徑,系統(tǒng)從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那么默認為當前目錄。

  3.主要參數(shù)

  [options]參數(shù):

  -depth:使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容。

  -maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數(shù),如果level是0的話表示僅在當前目錄中查找。

  -mindepth levels:表示至少查找到開始目錄的第level層子目錄。

  -mount:不在其它文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找。

  -version:打印版本。

  [expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數(shù)非常多,這里只介紹一些常用的參數(shù)。

  —name:支持統(tǒng)配符*和?。

  -atime n:搜索在過去n天讀取過的文件。

  -ctime n:搜索在過去n天修改過的文件。

  -group grpoupname:搜索所有組為grpoupname的文件。

  -user 用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。

  -size n:搜索文件大小是n個block的文件。

  -print:輸出搜索結(jié)果,并且打印。

  已編輯 1 次, 最后一次由 chase 于 05-10-21 12:01。

  管理: 刪除•移動話題•關(guān)閉話題 •隱藏信息及回復(fù) •編輯

  選項: 回復(fù)本帖•引用本帖•跟蹤•舉報

  Linux 的常用網(wǎng)絡(luò)命令

  作者: chase 總版主(219.239.136.141)

  日期: 2005-10-21 12:02:17

  Linux 的常用網(wǎng)絡(luò)命令

  作者: artiomgy 中級會員(61.54.106.238)

  日期: 2005-10-05 09:14:01

  計算機網(wǎng)絡(luò)的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網(wǎng)絡(luò)命令來為用戶服務(wù),這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執(zhí)行遠程命令等。

  本章介紹下列幾個常用的有關(guān)網(wǎng)絡(luò)操作的命令:

  ftp 傳輸文件

  telnet 登錄到遠程計算機上

  r - 使用各種遠程命令

  netstat 查看網(wǎng)絡(luò)的狀況

  nslookup 查詢域名和IP地址的對應(yīng)

  finger 查詢某個使用者的信息

  ping 查詢某個機器是否在工作

  使用ftp命令進行遠程文件傳輸

  ftp命令是標準的文件傳輸協(xié)議的用戶接口。ftp是在TCP/IP網(wǎng)絡(luò)上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。

  在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內(nèi)容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸?shù)竭h程系統(tǒng)中。

  需要注意的是,如果用戶沒有那個文件的存取權(quán)限,就不能從遠程系統(tǒng)中獲得文件或向遠程系統(tǒng)傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp

  會話,并用來確定用戶對要傳輸?shù)奈募梢赃M行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。

  Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:

  $ ftp 主機名/IP

  其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務(wù)程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:

  $ ftp ftp > 此時在ftp>提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。

  在遠程機上的用戶帳號的讀寫權(quán)限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。如果沒有遠程機的專用登錄帳號,許多ftp站點設(shè)有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。

  如果遠程系統(tǒng)提供匿名ftp服務(wù),用戶使用這項服務(wù)可以登錄到特殊的,供公開使用的目錄。

  一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。

  一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp>”提示符?,F(xiàn)在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在

  help命令后面指定具體的命令名稱,獲得這條命令的說明。

  最常用的命令有:

  ls 列出遠程機的當前目錄

  cd 在遠程機上改變工作目錄

  lcd 在本地機上改變工作目錄

  ascii 設(shè)置文件傳輸方式為ASCII模式

  binary 設(shè)置文件傳輸方式為二進制模式

  close終止當前的ftp會話

  hash 每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后就顯示一個#號

  get(mget) 從遠程機傳送指定文件到本地機

  put(mput) 從本地機傳送指定文件到遠程機

  open 連接遠程ftp站點

  quit斷開與遠程機的連接并退出ftp

  ? 顯示本地幫助信息

  ! 轉(zhuǎn)到Shell中

  下面簡單將ftp常用命令作一簡介。

  啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數(shù)的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為 ftp命令的參數(shù)。

  終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關(guān)閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關(guān)閉用戶與遠程機的連接,然后退出用戶機上的ftp

  程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。

  遠程目錄列表 ls命令列出遠程目錄的內(nèi)容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件]

  如果指定了目錄作為參數(shù),那么ls就列出該目錄的內(nèi)容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統(tǒng)獲取文件

  get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創(chuàng)建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。

  mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。

  向遠程系統(tǒng)發(fā)送文件 put和mput命令用于向遠程機發(fā)送文件。Put命令的一般格式為: put 文件名 mput命令一次發(fā)送多個本地文件,mput命令的一般格式為:

  mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發(fā)送的文件。對其中的每個文件都要求用戶確認是否發(fā)送。 改變文件傳輸模式

  默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設(shè)置傳輸?shù)哪J?。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。

  檢查傳輸狀態(tài) 傳輸大型文件時,可能會發(fā)現(xiàn)讓ftp提供關(guān)于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后,就在屏幕上打印一個#字符。本命令在發(fā)送和接收文件時都可以使用。

  ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir

  new_dir,那么Linux就在用戶當前的本地目錄中創(chuàng)建一個名為new_dir 的目錄。

  從遠程機grunthos下載二進制數(shù)據(jù)文件的典型對話過程如下:

  $ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc):

  anonymous 33l Guest login ok, send your complete e-mail address as password.

  Password: 230 Guest 1ogin ok, access restrictions apply. Remote system

  type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls

  200 PORT command successful. l50 opening ASCII mode data connection for

  /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200

  type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark).

  ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode

  data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226

  Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)

  ftp > quit 22l Goodbye.

  使用telnet命令訪問遠程計算機

  用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡(luò)在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

  為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統(tǒng)確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權(quán)限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統(tǒng)通常把這些用戶放在一個受限制的shell中,以防系統(tǒng)被懷有惡意的或不小心的用戶破壞。

  用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

  但是,用戶只能使用基于終端的環(huán)境而不是X Wndows環(huán)境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環(huán)境。 telnet命令的一般形式為:

  telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執(zhí)行成功,將從遠程機上得到login:提示符。

  使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統(tǒng)上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統(tǒng)上工作。

  在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯(lián)機幫助手冊中對這些命令有詳細的說明。

  下面是一臺Linux計算機上的telnet會話舉例:

  $ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve.

  somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)

  kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov

  l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$

  logout Connection closed by foreign host $

  用戶結(jié)束了遠程會話后,一定要確保使用logout命令退出遠程系統(tǒng)。然后telnet報告遠程會話被關(guān)閉,并返回到用戶的本地機的Shell提示符下。

  r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網(wǎng)絡(luò)上交換文件。使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發(fā)出一個r-系列命令后,遠程系統(tǒng)檢查名為 /etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.

  rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執(zhí)行r-系列命令就不用提供口令。

  雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。

  rlogin命令

  功能:rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)上的交互命令會話。

  格式: rlogin [ -8EKLdx ] [ -e char ] [-k

  realm ] [ - l username ] host

  參數(shù):

  -8 此選項始終允許8位輸入數(shù)據(jù)通道。該選項允許發(fā)送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。

  -E 停止把任何字符當作轉(zhuǎn)義字符。當和-8選項一起使用時,它提供一個完全的透明連接。

  -K 關(guān)閉所有的Kerberos確認。只有與使用Kerberos 確認協(xié)議的主機連接時才使用這個選項。

  -L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯(lián)機幫助。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多信息,請查閱setsockopt的聯(lián)機幫助。

  -e 為rlogin會話設(shè)置轉(zhuǎn)義字符,默認的轉(zhuǎn)義字符是“~”,用戶可以指定一個文字字符或一個\nnn形式的八進制數(shù)。

  -k 請求rlogin獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos

  許可。

  -x 為所有通過rlogin會話傳送的數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。

  rsh命令

  功能:rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。

  格式:rsh [-Kdnx] [-k realm] [-l username]

  host [command]

  command可以是從shell提示符下鍵人的任何Linux命令。

  參數(shù):

  -K 關(guān)閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請查閱setsockopt的聯(lián)機幫助。

  -k 請求rsh獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。

  -n 重定向來自特殊設(shè)備/dev/null的輸入。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。    Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執(zhí)行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

  rcp命令

  功能:rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。

  rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

  格式:

  rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file

  directory 每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。

  參數(shù):

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。

  -p 試圖保留源文件的修改時間和模式,忽略umask。

  -k 請求rcp獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。

  需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。 - Turbolinux 提供稿件

  This file is decompiled from a .CHM file

  by an UNREGISTERED version of Easy CHM.

  You can download Easy CHM at :

  指令名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。

  范例:

  把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -n textfile1 > textfile2

  把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。

  cat -b textfile1 textfile2 >> textfile3

  cat /dev/null > /etc/test.txt 此為清空/etc/test.txt檔案內(nèi)容

  cat 也可以用來制作 image file。例如要制作軟碟的 image file,將軟碟放好后打

  cat /dev/fd0 > OUTFILE

  相反的,如果想把 image file 寫到軟碟,請打

  cat IMG_FILE > /dev/fd0

  注:

  1. OUTFILE 指輸出的 image 檔名。

  2. IMG_FILE 指 image file。

  3. 若從 image file 寫回 device 時,device 容量需與相當。

  4. 通常用在制作開機磁片。

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案調(diào)用權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所調(diào)用。

  參數(shù) :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中

  u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程序具有root的權(quán)限

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  參數(shù) :

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上

  SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database= ]

  locate [-r ] [--regexp= ]

  locate [-qv] [-o ] [--output= ]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的數(shù)據(jù)庫,之后當尋找時就只需查詢這個數(shù)據(jù)庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,數(shù)據(jù)庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name的型式就可以了。

  參數(shù):

  -u

  -U

  建立數(shù)據(jù)庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將 排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在數(shù)據(jù)庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定數(shù)據(jù)庫存的名稱。

  -d

  指定數(shù)據(jù)庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程序的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立數(shù)據(jù)庫

  locate命令可以在搜尋數(shù)據(jù)庫時快速找到檔案,數(shù)據(jù)庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋數(shù)據(jù)庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到,在內(nèi)定值中,updatedb每天會跑一次,可以由修改crontab來更新設(shè)定值。(etc/crontab)

  locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數(shù)據(jù)庫內(nèi),尋找合乎范本樣式條件的檔案或目錄錄,可以使用特殊字元(如”*” 或”?”等)來指定范本樣式,如指定范本為kcpa*ner, locate會找出所有起始字串為kcpa且結(jié)尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括子目錄在內(nèi)的所有檔案。

  locate指令和find找尋檔案的功能類似,但locate是透過update程序?qū)⒂脖P中的所有檔案和目錄資料先建立一個索引數(shù)據(jù)庫,在執(zhí)行 loacte時直接找該索引,查詢速度會較快,索引數(shù)據(jù)庫一般是由操作系統(tǒng)管理,但也可以直接下達update強迫系統(tǒng)立即修改索引數(shù)據(jù)庫。

  不過第一次在執(zhí)行update後再使用locate尋找檔案常會失敗,此時就要執(zhí)行slocate ˉu該命令(也可執(zhí)行updatedb指令,其效果相同)來更新slocate數(shù)據(jù)庫,該命令會在/usr/sbin下產(chǎn)生slocate執(zhí)行檔,再由 locate到此數(shù)據(jù)庫尋找所要找的資料。

  linux指令大全(一)(轉(zhuǎn)自linuxeden.com)

  cat cd

  chmod chown

  cp cut

  名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3

  名稱 : cd

  使用權(quán)限 : 所有使用者

  使用方式 : cd [dirName]

  說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。

  另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

  范例 : 跳到 /usr/bin/ :

  cd /usr/bin

  跳到自己的 home directory :

  cd ~

  跳到目前目錄的上上兩層 :

  cd ../..

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案存取權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。

  把計 :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程式具有root的權(quán)限

  指令名稱 : chown

  使用權(quán)限 : root

  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

  說明 : Linux/Unix 是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒有權(quán)限可以改變別人的檔案擁有者,也沒有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。

  把計 :

  user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經(jīng)更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對于連結(jié)(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)--help

  : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 file1.txt 的擁有者設(shè)為 users 群體的使用者 jessie :

  chown jessie:users file1.txt

  將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為 users 群體的使用者 lamport :

  chmod -R lamport:users *

  名稱:cp

  使用權(quán)限:所有使用者

  使用方式:

  cp [options] source dest

  cp [options] source... directory

  說明:將一個檔案拷貝至另一檔案,或?qū)?shù)個檔案拷貝至另一目錄。

  把計?

  -a 盡可能將檔案狀態(tài)、權(quán)限等資料都照原狀予以復(fù)制。

  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。

  -f 若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。

  范例:

  將檔案 aaa 復(fù)制(已存在),并命名為 bbb :

  cp aaa bbb

  將所有的C語言程式拷貝至 Finished 子目錄中 :

  cp *.c Finished

  名稱:cut

  使用權(quán)限:所有使用者

  用法:cut -cnum1-num2 filename

  說明:顯示每行從開頭算起 num1 到 num2 的文字。

  范例:

  shell>> cat example

  test2

  this is test1

  shell>> cut -c0-6 example ## print 開頭算起前 6 個字元

  test2

  this i

  名稱 : find

  用法 : find

  使用說明 :

  將檔案系統(tǒng)內(nèi)符合 expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權(quán)限等不同資訊的組合,只有完全相符的才會被列出來。

  find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression?

  expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

  -mount, -xdev : 只檢查和指定目錄在同一個檔案系統(tǒng)下的檔案,避免列出其它檔案系統(tǒng)中的檔案

  -amin n : 在過去 n 分鐘內(nèi)被讀取過

  -anewer file : 比檔案 file 更晚被讀取過的檔案

  -atime n : 在過去 n 天過讀取過的檔案

  -cmin n : 在過去 n 分鐘內(nèi)被修改過

  -cnewer file :比檔案 file 更新的檔案

  -ctime n : 在過去 n 天過修改過的檔案

  -empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

  -ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

  -name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫

  -size n : 檔案大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。

  d: 目錄

  c: 字型裝置檔案

  b: 區(qū)塊裝置檔案

  p: 具名貯列

  f: 一般檔案

  l: 符號連結(jié)

  s: socket

  -pid n : process id 是 n 的檔案

  你可以使用 ( ) 將運算式分隔,并使用下列運算。

  exp1 -and exp2

  ! expr

  -not expr

  exp1 -or exp2

  exp1, exp2

  范例:

  將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

  # find . -name "*.c"

  將目前目錄其其下子目錄中所有一般檔案列出

  # find . -ftype f

  將目前目錄及其子目錄下所有最近 20 分鐘內(nèi)更新過的檔案列出

  # find . -ctime -20

  名稱:less

  使用權(quán)限:所有使用者

  使用方式:

  less [Option] filename

  說明:

  less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內(nèi)容,不同的是 less 允許使用者往回卷動

  以瀏覽已經(jīng)看過的部份,同時因為 less 并未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。

  范例:

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上

  SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database=]

  locate [-r ] [--regexp=]

  locate [-qv] [-o ] [--output=]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name

  的型式就可以了。 參數(shù):

  -u

  -U

  建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將

  排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在資料庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定資料庫存的名稱。

  -d

  指定資料庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程式的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立資料庫

  名稱 : ls

  使用權(quán)限 : 所有使用者

  使用方式 : ls [-alrtAFR] [name...]

  說明 : 顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)。

  -a 顯示所有檔案及目錄 (ls內(nèi)定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)

  -l 除檔案名稱外,亦將檔案型態(tài)、權(quán)限、擁有者、檔案大小等資訊詳細列出

  -r 將檔案以相反次序顯示(原定依英文字母次序)

  -t 將檔案依建立時間之先后次序列出

  -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)

  -F 在列出的檔案名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/"

  -R 若目錄下有檔案,則以下之檔案亦皆依序列出

  范例:

  列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈后面 :

  ls -ltr s*

  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :

  ls -lR /bin

  列出目前工作目錄下所有檔案及目錄;目錄于名稱后加 "/", 可執(zhí)行檔于名稱后加 "*" :

  ls -AF

  名稱:more

  使用權(quán)限:所有使用者

  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

  說明:類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。

  參數(shù):-num 一次顯示的行數(shù)

  -d 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲

  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能

  -f 計算行數(shù)時,以實際上的行數(shù),而非自動換行過后的行數(shù)(有些單行字數(shù)太長的會被擴展為兩行或兩行以上)

  -p 不以卷動的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容

  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料

  -s 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -u 不顯示下引號 (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)

  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示

  +num 從第 num 行開始顯示

  fileNames 欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個數(shù)

  范例:

  more -s testfile 逐頁顯示 testfile 之檔案內(nèi)容,如有連續(xù)兩行以上空白行則以一行空白行顯示。

  more +20 testfile 從第 20 行開始顯示 testfile 之檔案內(nèi)容。

  名稱:mv

  使用權(quán)限:所有使用者

  使用方式:

  mv [options] source dest

  mv [options] source... directory

  說明:將一個檔案移至另一檔案,或?qū)?shù)個檔案移至另一目錄。

  參數(shù):-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。

  范例:

  將檔案 aaa 更名為 bbb :

  mv aaa bbb

  將所有的C語言程式移至 Finished 子目錄中 :

  mv -i *.c

  名稱:rm

  使用權(quán)限:所有使用者

  使用方式:rm [options] name...

  說明:刪除檔案及目錄。

  把計?

  -i 刪除前逐一詢問確認。

  -f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認。

  -r 將目錄及以下之檔案亦逐一刪除。

  范例:

  刪除所有C語言程式檔;刪除前逐一詢問確認 :

  rm -i *.c

  將 Finished 子目錄及子目錄中所有檔案刪除 :

  rm -r Finished

  名稱:rmdir

  使用權(quán)限:于目前目錄有適當權(quán)限的所有使用者

  使用方式: rmdir [-p] dirName

  說明: 刪除空的目錄。

  參數(shù): -p 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。

  范例:

  將工作目錄下,名為 AAA 的子目錄刪除 :

  rmdir AAA

  在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。

  rmdir -p BBB/Test

  名稱:split

  使用權(quán)限:所有使用者

  使用方式:split [OPTION] [INPUT [PREFIX]]

  說明:

  將一個檔案分割成數(shù)個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預(yù)設(shè)值為 `x。若沒有 INPUT 檔或為 `-,則從標準輸入讀進資料。

  匡兜?

  -b, --bytes=SIZE

  SIZE 值為每一輸出檔案的大小,單位為 byte。

  -C, --line-bytes=SIZE

  每一輸出檔中,單行的最大 byte 數(shù)。

  -l, --lines=NUMBER

  NUMBER 值為每一輸出檔的列數(shù)大小。

  -NUMBER

  與 -l NUMBER 相同。

  --verbose

  于每個輸出檔被開啟前,列印出偵錯資訊到標準錯誤輸出。

  --help

  顯示輔助資訊然后離開。

  --version

  列出版本資訊然后離開。

  SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。

  范例:

  PostgresSQL 大型資料庫備份與回存:

  因 Postgres 允許表格大過你系統(tǒng)檔案的最大容量,所以要將表格 dump 到單一的檔案可能會有問題,使用 split進行檔案分割。

  % pg_dump dbname | split -b 1m - filename.dump.

  重新載入

  % createdb dbname

  % cat filename.dump.* | pgsql dbname

  名稱:touch

  使用權(quán)限:所有使用者

  使用方式:

  touch [-acfm]

  [-r reference-file] [--file=reference-file]

  [-t MMDDhhmm[[CC]YY][.ss]]

  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

  [--no-create] [--help] [--version]

  file1 [file2 ...]

  說明:

  touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。

  參數(shù):

  a 改變檔案的讀取時間記錄。

  m 改變檔案的修改時間記錄。

  c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。

  f 不使用,是為了與其他 unix 系統(tǒng)的相容性而保留。

  r 使用參考檔的時間記錄,與 --file 的效果一樣。

  d 設(shè)定時間與日期,可以使用各種不同的格式。

  t 設(shè)定檔案的時間記錄,格式與 date 指令相同。

  --no-create 不會建立新檔案。

  --help 列出指令格式。

  --version 列出版本訊息。

  范例:

  最簡單的使用方式,將檔案的時候記錄改為現(xiàn)在的時間。若檔案不存在,系統(tǒng)會建立一個新的檔案。

  touch file

  touch file1 file2

  將 file 的時間記錄改為 5 月 6 日 18 點 3 分,公元兩千年。時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。

  touch -c -t 05061803 file

  touch -c -t 050618032000 file

  將 file 的時間記錄改變成與 referencefile 一樣。

  touch -r referencefile file

  將 file 的時間記錄改成 5 月 6 日 18 點 3 分,公元兩千年。時間可以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。

  touch -d "6:03pm" file

  touch -d "05/06/2000" file

  touch -d "6:03pm 05/06/2000" file

  linux指令大全(二)(轉(zhuǎn)自linuxeden.com)

  名稱 : at

  使用權(quán)限 : 所有使用者

  使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME

  說明 : at 可以讓使用者指定在 TIME 這個特定時刻執(zhí)行某個程式或指令,TIME 的格式是 HH:MM其中的 HH 為小時,MM 為分鐘,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 點鍾)等口語詞。

  如果想要指定超過一天內(nèi)的時間,則可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 時間間隔來彈性指定時間,其中的時間間隔可以是 minutes, hours, days, weeks?

  另外,使用者也可指定 today 或 tomorrow 來表示今天或明天。當指定了時間并按下 enter 之后,at 會進入交談模式并要求輸入指令或程式,當你輸入完后按下 ctrl+D 即可完成所有動作,至于執(zhí)行的結(jié)果將會寄回你的帳號中。

  把計 :

  -V : 印出版本編號

  -q : 使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者可以同時使用多個 queue,而 queue 的編號為 a, b, c... z 以及 A, B, ... Z 共 52 個

  -m : 即使程式/指令執(zhí)行完成后沒有輸出結(jié)果, 也要寄封信給使用者

  -f file : 讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案后再一次讀入

  -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)

  -d : 刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)

  -v : 列出所有已經(jīng)完成但尚未刪除的指定

  例子 :

  三天后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 3 days /bin/ls

  三個星期后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 2 weeks /bin/ls

  明天的 17:20 執(zhí)行 /bin/date :

  at 17:20 tomorrow /bin/date

  1999 年的最后一天的最后一分鐘印出 the end of world !

  at 23:59 12/31/1999 echo the end of world !

  名稱:cal

  使用權(quán)限:所有使用者

  使用方式:cal [-mjy] [month [year]]

  說明:

  顯示日歷。若只有一個參數(shù),則代表年份(1-9999),顯示該年的年歷。年份必須全部寫出:``cal 89\ 將不會是顯示 1989 年的年歷。使用兩個參數(shù),則表示月份及年份。若沒有參數(shù)則顯示這個月的月歷。

  1752 年 9 月第 3 日起改用西洋新歷,因這時大部份的國家都采用新歷,有 10 天被去除,所以該月份的月歷有些不同。在此之前為西洋舊歷。

  匡兜?

  -m : 以星期一為每周的第一天方式顯示。

  -j : 以凱撒歷顯示,即以一月一日起的天數(shù)顯示。

  -y : 顯示今年年歷。

  范例:

  cal : 顯示本月的月歷。

  [root@mylinux /root]# date

  Tue Aug 15 08:00:18 CST 2000

  [root@mylinux /root]# cal

  August 2000

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal 2001 : 顯示公元 2001 年年歷。

  [root@mylinux /root]# cal 2001

  2001

  January February March

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1 2 3

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24

  28 29 30 31 25 26 27 28 25 26 27 28 29 30 31

  April May June

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 5 1 2

  8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9

  15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16

  22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23

  29 30 27 28 29 30 31 24 25 26 27 28 29 30

  July August September

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 1

  8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8

  15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15

  22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22

  29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29

  30

  October November December

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22

  28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29

  30 31

  [root@mylinux /root]#

  cal 5 2001 : 顯示公元 2001 年 5 月月歷。

  [root@mylinux /root]# cal 5 2001

  May 2001

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal -m : 以星期一為每周的第一天方式,顯示本月的月歷。

  [root@mylinux /root]# cal -m

  August 2000

  Mo Tu We Th Fr Sa Su

  1 2 3 4 5 6

  7 8 9 10 11 12 13

  14 15 16 17 18 19 20

  21 22 23 24 25 26 27

  28 29 30 31

  [root@mylinux /root]#

  cal -jy : 以一月一日起的天數(shù)顯示今年的年歷。

  [root@mylinux /root]# cal -jy

  2000

  January February

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  1 32 33 34 35 36

  2 3 4 5 6 7 8 37 38 39 40 41 42 43

  9 10 11 12 13 14 15 44 45 46 47 48 49 50

  16 17 18 19 20 21 22 51 52 53 54 55 56 57

  23 24 25 26 27 28 29 58 59 60

  30 31

  March April

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  61 62 63 64 92

  65 66 67 68 69 70 71 93 94 95 96 97 98 99

  72 73 74 75 76 77 78 100 101 102 103 104 105 106

  79 80 81 82 83 84 85 107 108 109 110 111 112 113

  86 87 88 89 90 91 114 115 116 117 118 119 120

  121

  May June

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  122 123 124 125 126 127 153 154 155

  128 129 130 131 132 133 134 156 157 158 159 160 161 162

  135 136 137 138 139 140 141 163 164 165 166 167 168 169

  142 143 144 145 146 147 148 170 171 172 173 174 175 176

  149 150 151 152 177 178 179 180 181 182

  July August

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  183 214 215 216 217 218

  184 185 186 187 188 189 190 219 220 221 222 223 224 225

  191 192 193 194 195 196 197 226 227 228 229 230 231 232

  198 199 200 201 202 203 204 233 234 235 236 237 238 239

  205 206 207 208 209 210 211 240 241 242 243 244

  212 213

  September October

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  245 246 275 276 277 278 279 280 281

  247 248 249 250 251 252 253 282 283 284 285 286 287 288

  254 255 256 257 258 259 260 289 290 291 292 293 294 295

  261 262 263 264 265 266 267 296 297 298 299 300 301 302

  268 269 270 271 272 273 274 303 304 305

  November December

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  306 307 308 309 336 337

  310 311 312 313 314 315 316 338 339 340 341 342 343 344

  317 318 319 320 321 322 323 345 346 347 348 349 350 351

  324 325 326 327 328 329 330 352 353 354 355 356 357 358

  331 332 333 334 335 359 360 361 362 363 364 365

  366

  [root@mylinux /root]#

  名稱 : crontab

  使用權(quán)限 : 所有使用者

  使用方式 :

  crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }

  說明 :

  crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設(shè)定指定 user 的時程表,這個前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時程表。

  餐數(shù) :

  -e : 執(zhí)行文字編輯器來設(shè)定時程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL 環(huán)境變數(shù)來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

  -r : 刪除目前的時程表

  -l : 列出目前的時程表

  時程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執(zhí)行的程式。

  當 f1 為 * 時表示每分鐘都要執(zhí)行 program,f2 為 * 時表示每小時都要執(zhí)行程式,其余類推

  當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內(nèi)要執(zhí)行,f2 為 a-b 時表示從第 a 到第 b 小時都要執(zhí)行,其余類推

  當 f1 為 */n 時表示每 n 分鐘個時間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時個時間間隔執(zhí)行一次,其余類推

  當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執(zhí)行,其余類推

  使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來設(shè)定時程表。

  例子 :

  每月每天每小時的第 0 分鐘執(zhí)行一次 /bin/ls :

  0 7 * * * /bin/ls

  在 12 月內(nèi), 每天的早上 6 點到 12 點中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :

  0 6-12/3 * 12 * /usr/bin/backup

  周一到周五每天下午 5:00 寄一封信給 alex@domain.name :

  0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

  每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執(zhí)行 echo "haha"

  20 0-23/2 * * * echo "haha"

  注意 :

  當程式在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程式執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請在每一行空一格之后加上 > /dev/null 2>&1 即可。

  名稱 : date

  使用權(quán)限 : 所有使用者

  使用方式 :

  date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

  說明 :

  date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標記,其中可用的標記列表如下 :

  時間方面 :

  % : 印出 %

  %n : 下一行

  %t : 跳格

  %H : 小時(00..23)

  %I : 小時(01..12)

  %k : 小時(0..23)

  %l : 小時(1..12)

  %M : 分鐘(00..59)

  %p : 顯示本地 AM 或 PM

  %r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)

  %s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)

  %S : 秒(00..61)

  %T : 直接顯示時間 (24 小時制)

  %X : 相當于 %H:%M:%S

  %Z : 顯示時區(qū)

  日期方面 :

  %a : 星期幾 (Sun..Sat)

  %A : 星期幾 (Sunday..Saturday)

  %b : 月份 (Jan..Dec)

  %B : 月份 (January..December)

  %c : 直接顯示日期與時間

  %d : 日 (01..31)

  %D : 直接顯示日期 (mm/dd/yy)

  %h : 同 %b

  %j : 一年中的第幾天 (001..366)

  %m : 月份 (01..12)

  %U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)

  %w : 一周中的第幾天 (0..6)

  %W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)

  %x : 直接顯示日期 (mm/dd/yy)

  %y : 年份的最后兩位數(shù)字 (00.99)

  %Y : 完整年份 (0000..9999)

  若是不以加號作為開頭,則表示要設(shè)定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鐘,CC 為年份前兩位數(shù)字,YY 為年份后兩位數(shù)字,ss 為秒數(shù)

  把計 :

  -d datestr : 顯示 datestr 中所設(shè)定的時間 (非系統(tǒng)時間)

  --help : 顯示輔助訊息

  -s datestr : 將系統(tǒng)時間設(shè)為 datestr 中所設(shè)定的時間

  -u : 顯示目前的格林威治時間

  --version : 顯示版本編號

  例子 :

  顯示時間后跳行,再顯示目前日期 :

  date +%T%n%D

  顯示月份與日數(shù) :

  date +%B %d

  顯示日期與設(shè)定時間(12:34:56) :

  date --date 12:34:56

  注意 :

  當你不希望出現(xiàn)無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變?yōu)?8:9:4。另外,只有取得權(quán)限者(比如說 root)才能設(shè)定系統(tǒng)時間。

  當你以 root 身分更改了系統(tǒng)時間之后,請記得以 clock -w 來將系統(tǒng)時間寫入 CMOS 中,這樣下次重新開機時系統(tǒng)時間才會持續(xù)抱持最新的正確值。

  名稱 : sleep

  使用權(quán)限 : 所有使用者

  使用方式 : sleep [--help] [--version] number[smhd]

  說明 : sleep 可以用來將目前動作延遲一段時間

  參數(shù)說明 :

  --help : 顯示輔助訊息

  --version : 顯示版本編號

  number : 時間長度,后面可接 s、m、h 或 d

  其中 s 為秒,m 為 分鐘,h 為小時,d 為日數(shù)

  例子 :

  顯示目前時間后延遲 1 分鐘,之后再次顯示時間 :

  date;sleep 1m;date

  名稱: time

  使用權(quán)限: 所有使用者

  使用方式: time [options] COMMAND [arguments]

  說明: time 指令的用途,在于量測特定指令執(zhí)行時所需消耗的時間及系統(tǒng)資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因為在 Linux 上部分資源的分配函式與 time 指令所預(yù)設(shè)的方式并不相同,以致于 time 指令無法取得這些資料。

  把計?

  -o or --output=FILE

  設(shè)定結(jié)果輸出檔。這個選項會將 time 的輸出寫入 所指定的檔案中。如果檔案已經(jīng)存在,系統(tǒng)將覆寫其內(nèi)容。

  -a or --append

  配合 -o 使用,會將結(jié)果寫到檔案的末端,而不會覆蓋掉原來的內(nèi)容。

  -f FORMAT or --format=FORMAT

  以 FORMAT 字串設(shè)定顯示方式。當這個選項沒有被設(shè)定的時候,會用系統(tǒng)預(yù)設(shè)的格式。不過你可以用環(huán)境變數(shù) time 來設(shè)定這個格式,如此一來就不必每次登入系統(tǒng)都要設(shè)定一次。

  一般設(shè)定上,你可以用

  \t

  表示跳欄,或者是用

  \n

  表示換行。每一項資料要用 % 做為前導(dǎo)。如果要在字串中使用百分比符號,就用 。(學(xué)過 C 語言的人大概會覺得很熟悉)

  time 指令可以顯示的資源有四大項,分別是:

  Time resources

  Memory resources

  IO resources

  Command info

  詳細的內(nèi)容如下:

  Time Resources

  E 執(zhí)行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數(shù)字并不代表實際的 CPU 時間。

  e 執(zhí)行指令所花費的時間,單位是秒。請注意這個數(shù)字并不代表實際的 CPU 時間。

  S 指令執(zhí)行時在核心模式(kernel mode)所花費的時間,單位是秒。

  U 指令執(zhí)行時在使用者模式(user mode)所花費的時間,單位是秒。

  P 執(zhí)行指令時 CPU 的占用比例。其實這個數(shù)字就是核心模式加上使用者模式的 CPU 時間除以總時間。

  Memory Resources

  M 執(zhí)行時所占用的實體記憶體的最大值。單位是 KB

  t 執(zhí)行時所占用的實體記憶體的平均值,單位是 KB

  K 執(zhí)行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是 KB

  D 執(zhí)行程序的自有資料區(qū)(unshared data area)的平均大小,單位是 KB

  p 執(zhí)行程序的自有堆疊(unshared stack)的平均大小,單位是 KB

  X 執(zhí)行程序間共享內(nèi)容(shared text)的平均值,單位是 KB

  Z 系統(tǒng)記憶體頁的大小,單位是 byte。對同一個系統(tǒng)來說這是個常數(shù)

  IO Resources

  F 此程序的主要記憶體頁錯誤發(fā)生次數(shù)。所謂的主要記憶體頁錯誤是指某一記憶體頁已經(jīng)置換到置換檔(swap file)中,而且已經(jīng)分配給其他程序。此時該頁的內(nèi)容必須從置換檔里再讀出來。

  R 此程序的次要記憶體頁錯誤發(fā)生次數(shù)。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序。此時該頁的內(nèi)容并未被破壞,不必從置換檔里讀出來

  W 此程序被交換到置換檔的次數(shù)

  c 此程序被強迫中斷(像是分配到的 CPU 時間耗盡)的次數(shù)

  w 此程序自愿中斷(像是在等待某一個 I/O 執(zhí)行完畢,像是磁碟讀取等等)的次數(shù)

  I 此程序所輸入的檔案數(shù)

  O 此程序所輸出的檔案數(shù)

  r 此程序所收到的 Socket Message

  s 此程序所送出的 Socket Message

  k 此程序所收到的信號 ( Signal )數(shù)量

  Command Info

  C 執(zhí)行時的參數(shù)以及指令名稱

  x 指令的結(jié)束代碼 ( Exit Status )

  -p or --portability

  這個選項會自動把顯示格式設(shè)定成為:

  real %e

  user %U

  sys %S

  這么做的目的是為了與 POSIX 規(guī)格相容。

  -v or --verbose

  這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習(xí)格式設(shè)定或是剛剛開始接觸這個指令的人相當有用。

  范例:

  利用下面的指令

  time -v ps -aux

  我們可以獲得執(zhí)行 ps -aux 的結(jié)果和所花費的系統(tǒng)資源。如下面所列的資料:

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init

  root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]

  ......

  root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux

  Command being timed: "ps -aux"

  User time (seconds): 0.05

  System time (seconds): 0.06

  Percent of CPU this job got: 68%

  Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16

  Average shared text size (kbytes): 0

  Average unshared data size (kbytes): 0

  Average stack size (kbytes): 0

  Average total size (kbytes): 0

  Maximum resident set size (kbytes): 0

  Average resident set size (kbytes): 0

  Major (requiring I/O) page faults: 238

  Minor (reclaiming a frame) page faults: 46

  Voluntary context switches: 0

  Involuntary context switches: 0

  Swaps: 0

  File system inputs: 0

  File system outputs: 0

  Socket messages sent: 0

  Socket messages received: 0

  Signals delivered: 0

  Page size (bytes): 4096

  Exit status: 0

  名稱: uptime

  使用權(quán)限: 所有使用者

  使用方式: uptime [-V]

  說明: uptime 提供使用者下面的資訊,不需其他參數(shù):

  現(xiàn)在的時間

  系統(tǒng)開機運轉(zhuǎn)到現(xiàn)在經(jīng)過的時間

  連線的使用者數(shù)量

  最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負載

  參數(shù): -V 顯示版本資訊。

  范例: uptime

  其結(jié)果為:

  10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99

  名稱:chfn

  使用權(quán)限:所有使用者

  用法:shell>> chfn

  說明:提供使用者更改個人資訊,用于 finger and mail username

  范例:

  shell>> chfn

  Changing finger information for user

  Password: [del]

  Name[]:Johnney Huang ### 提供 finger 時的資料

  Office[]:NCCU

  Office Phone[]: [del]

  Home Phone[]: [del]

  名稱:chsh

  使用權(quán)限:所有使用者

  用法:shell>> chsh

  說明:更改使用者 shell 設(shè)定

  范例:

  shell>> chsh

  Changing fihanging shell for user1

  Password: [del]

  New shell [/bin/tcsh]: ### [是目前使用的 shell]

  [del]

  shell>> chsh -l ### 展示 /etc/shells 檔案內(nèi)容

  /bin/bash

  /bin/sh

  /bin/ash

  /bin/bsh

  /bin/tcsh

  /bin/csh

  ” finger [返回]

  名稱: finger

  使用權(quán)限: 所有使用者

  使用方式: finger [options] user[@address]

  說明:finger 可以讓使用者查詢一些其他使用者的資料。會列出來的資料有:

  Login Name

  User Name

  Home directory

  Shell

  Login status

  mail status

  .plan

  .project

  .forward

  其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等檔案里的資料。如果沒有就沒有。finger 指令并不限定于在同一伺服器上查詢,也可以尋找某一個遠端伺服器上的使用者。只要給一個像是 E-mail address 一般的地址即可。

  把計?

  -l

  多行顯示。

  -s

  單行顯示。這個選項只顯示登入名稱,真實姓名,終端機名稱,閑置時間,登入時間,辦公室號碼及電話號碼。如果所查詢的使用者是遠端伺服器的使用者,這個選項無效。

  范例:下列指令可以查詢本機管理員的資料:

  finger root

  其結(jié)果如下:

  Login: root Name: root

  Directory: /root Shell: /bin/bash

  Never logged in.

  No mail.

  No Plan.

  名稱:last

  使用權(quán)限:所有使用者

  使用方式:shell>> last [options]

  說明:顯示系統(tǒng)開機以來獲是從每月初登入者的訊息

  把計?

  -R 省略 hostname 的欄位

  -num 展示前 num 個

  username 展示 username 的登入訊息

  tty 限制登入訊息包含終端機代號

  范例:

  shell>> last -R -2

  johnney pts/1 Mon Aug 14 20:42 still logged in

  johnney pts/0 Mon Aug 14 19:59 still logged in

  wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp

  shell>> last -2 minery

  minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)

  minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)

  wtmp begins Tue Aug 1 09:01:10 2000

  名稱:login

  這個命令都不會就不要干算了!呵呵我也不在這里多費筆墨耽誤大家美好青春了^_^

  名稱:passwd

  使用權(quán)限:所有使用者

  使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

  說明:用來更改使用者的密碼

  參數(shù):

  -k

  -l

  -u

  -f

  -d 關(guān)閉使用者的密碼認證功能, 使用者在登入時將可以不用輸入密碼, 只有具備 root 權(quán)限的使用者方可使用.

  -S 顯示指定使用者的密碼認證種類, 只有具備 root 權(quán)限的使用者方可使用.

  [username] 指定帳號名稱.

  名稱 : who

  使用權(quán)線 : 所有使用者都可使用

  使用方式 : who - [husfV] [user]

  說明 : 顯示系統(tǒng)中有那些使用者正在上面,顯示的資料包含了使用者 ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU 使用量,動作等等。

  把計 :

  -h : 不要顯示標題列

  -u : 不要顯示使用者的動作/工作

  -s : 使用簡短的格式來顯示

  -f : 不要顯示使用者的上線位置

  -V : 顯示程式版本

  linux指令大全(三)(轉(zhuǎn)自linuxeden.com)

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: 請用 newaliases 更新資料庫

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  ” mail [返回]

  名稱:mail

  使用權(quán)限:所有使用者

  使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]

  說明:

  mail 不僅只是一個指令, mail 還是一個電子郵件程式,不過利用 mail 來讀信的人應(yīng)該很少吧!對于系統(tǒng)管理者來說 mail 就很有用,因為管理者可以用 mail 寫成 script ,定期寄一些備忘錄提醒系統(tǒng)的使用者。

  參數(shù):

  i 忽略 tty 的中斷訊號。 (interrupt)

  I 強迫設(shè)成互動模式。 (Interactive)

  v 列印出訊息,例如送信的地點、狀態(tài)等等。 (verbose)

  n 不讀入 mail.rc 設(shè)定檔。

  s 郵件標題。

  c cc 郵件地址。

  b bcc 郵件地址。

  范例:

  將信件送給一個或以上的電子郵件地址,由于沒有加入其他的選項,使用者必須輸入標題與信件的內(nèi)容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2 使用者。

  mail user1@email.address

  mail user1@email.address user2

  將 mail.txt 的內(nèi)容寄給 user2 同時 cc 給 user1 。如果將這一行指令設(shè)成 cronjob 就可以定時將備忘錄寄給系統(tǒng)使用者。

  mail -s 標題 -c user1 user2 < mail.txt

  指令:mesg

  使用權(quán)限 : 所有使用者

  使用方式 : mesg [y|n]

  說明 : 決定是否允許其他人傳訊息到自己的終端機介面

  把計 ?

  y : 允許訊息傳到終端機介面上。

  n : 不允許訊息傳到終端機介面上 。

  如果沒有設(shè)定,則訊息傳遞與否則由終端機界面目前狀態(tài)而定。

  例子 :

  改變目前訊息設(shè)定,改成不允許訊息傳到終端機介面上 :

  mesg n

  與 mesg 相關(guān)的指令有: talk,write,wall。

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: newaliases

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。

  參數(shù):沒有任何參數(shù)。 范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  名稱 : talk

  使用權(quán)限 : 所有使用者

  使用方式 :

  talk person [ttyname]

  說明 : 與其他使用者對談

  把計 :

  person : 預(yù)備對談的使用者帳號,如果該使用者在其他機器上,則可輸入 person@machine.name

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  與現(xiàn)在機器上的使用者Rollaend對談,此時 Rollaend 只有一個連線 :

  talk Rollaend

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee`即可開始對談,結(jié)束請按 ctrl+c

  例子.2 :與linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談 :

  talk Rollaend@linuxfab.cx pts/2

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee@jzlee.home`即可開始對談,結(jié)束請按

  ctrl+c

  注意 : 若螢?zāi)坏淖謺霈F(xiàn)不正常的字元,試著按 ctrl+l 更新螢?zāi)划嬅妗?/p>

  名稱 : wall

  使用權(quán)限 : 所有使用者

  使用方式 :

  wall [ message ]

  使用說明:

  wall 會將訊息傳給每一個 mesg 設(shè)定為 yes 的上線使用者。當使用終端機介面做為標準傳入時, 訊息結(jié)束時需加上 EOF (通常用 Ctrl+D)?

  例子 :

  傳訊息"hi" 給每一個使用者 :

  wall hi

  名稱 : write

  使用權(quán)限 : 所有使用者

  使用方式 :

  write user [ttyname]

  說明 : 傳訊息給其他使用者

  把計 :

  user : 預(yù)備傳訊息的使用者帳號

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  傳訊息給 Rollaend,此時 Rollaend 只有一個連線 :

  write Rollaend

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  例子.2 :傳訊息給 Rollaend,Rollaend 的連線有 pts/2,pts/3 :

  write Rollaend pts/2

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  注意 : 若對方設(shè)定 mesg n,則此時訊席將無法傳給對方

  名稱:kill

  使用權(quán)限:所有使用者

  使用方式:

  kill [ -s signal | -p ] [ -a ] pid ...

  kill -l [ signal ]

  說明:kill 送出一個特定的信號 (signal) 給行程 id 為 pid 的行程根據(jù)該信號而做特定的動作, 若沒有指定, 預(yù)設(shè)是送出終止 (TERM) 的信號

  把計?

  -s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著重跑, 砍掉, 結(jié)束; 詳細的信號可以用 kill -l

  -p : 印出 pid , 并不送出信號

  -l (signal) : 列出所有可用的信號名稱

  范例:

  將 pid 為 323 的行程砍掉 (kill) :

  kill -9 323

  將 pid 為 456 的行程重跑 (restart) :

  kill -HUP 456

  名稱:nice

  使用權(quán)限:所有使用者

  使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

  說明:以更改過的優(yōu)先序來執(zhí)行程式, 如果未指定程式, 則會印出目前的排程優(yōu)先序, 內(nèi)定的 adjustment 為 10, 范圍為 -20 (最高優(yōu)先序) 到 19 (最低優(yōu)先序)

  把計?

  -n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優(yōu)先序的增加 adjustment

  --help 顯示求助訊息

  --version 顯示版本資訊

  范例:

  將 ls 的優(yōu)先序加 1 并執(zhí)行 :

  nice -n 1 ls

  將 ls 的優(yōu)先序加 10 并執(zhí)行 :

  nice ls將 ls 的優(yōu)先序加 10 并執(zhí)行

  注意 : 優(yōu)先序 (priority) 為作業(yè)系統(tǒng)用來決定 CPU 分配的參數(shù),Linux 使用『回合制(round-robin)』的演算法來做 CPU 排程,優(yōu)先序越高,所可能獲得的 CPU時間就越多。

  名稱:ps

  使用權(quán)限:所有使用者

  使用方式:ps [options] [--help]

  說明:顯示瞬間行程 (process) 的動態(tài)

  參數(shù):

  ps 的參數(shù)非常多, 在此僅列出幾個常用的參數(shù)并大略介紹含義

  -A 列出所有的行程

  -w 顯示加寬可以顯示較多的資訊

  -au 顯示較詳細的資訊

  -aux 顯示所有包含其他使用者的行程

  au(x) 輸出格式 :

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  USER: 行程擁有者

  PID: pid

  %CPU: 占用的 CPU 使用率

  %MEM: 占用的記憶體使用率

  VSZ: 占用的虛擬記憶體大小

  RSS: 占用的記憶體大小

  TTY: 終端的次要裝置號碼 (minor device number of tty)

  STAT: 該行程的狀態(tài):

  D: 不可中斷的靜止 (通悸□□縝b進行 I/O 動作)

  R: 正在執(zhí)行中

  S: 靜止狀態(tài)

  T: 暫停執(zhí)行

  Z: 不存在但暫時無法消除

  W: 沒有足夠的記憶體分頁可分配

  <: 高優(yōu)先序的行程

  N: 低優(yōu)先序的行程

  L: 有記憶體分頁分配并鎖在記憶體內(nèi) (即時系統(tǒng)或捱A I/O)

  START: 行程開始時間

  TIME: 執(zhí)行的時間

  COMMAND:所執(zhí)行的指令

  范例:

  ps

  PID TTY TIME CMD

  2791 ttyp0 00:00:00 tcsh

  3092 ttyp0 00:00:00 ps

  % ps -A

  PID TTY TIME CMD

  1 ? 00:00:03 init

  2 ? 00:00:00 kflushd

  3 ? 00:00:00 kpiod

  4 ? 00:00:00 kswapd

  5 ? 00:00:00 mdrecoveryd

  .......

  % ps -aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]

  root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]

  root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

  ........

  名稱:pstree

  使用權(quán)限:所有使用者

  使用方式:

  pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]

  pstree -V

  說明:將所有行程以樹狀圖顯示, 樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程為根 (root) ,如果有指定使用者 id , 則樹狀圖會只顯示該使用者所擁有的行程

  參數(shù):

  -a 顯示該行程的完整指令及參數(shù), 如果是被記憶體置換出去的行程則會加上括號

  -c 如果有重覆的行程名, 則分開列出 (預(yù)設(shè)值是會在前面加上 *

  范例:

  pstree

  init-+-amd

  |-apmd

  |-atd

  |-httpd---10*[httpd]

  %pstree -p

  init(1)-+-amd(447)

  |-apmd(105)

  |-atd(339)

  %pstree -c

  init-+-amd

  |-apmd

  |-atd

  |-httpd-+-httpd

  | |-httpd

  | |-httpd

  | |-httpd

  ....

  名稱:renice

  使用權(quán)限:所有使用者

  使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

  說明:重新指定一個或多個行程(Process)的優(yōu)先序(一個或多個將根據(jù)所下的參數(shù)而定)

  把計?

  -p pid 重新指定行程的 id 為 pid 的行程的優(yōu)先序

  -g pgrp 重新指定行程群組(process group)的 id 為 pgrp 的行程 (一個或多個) 的優(yōu)先序

  -u user 重新指定行程擁有者為 user 的行程的優(yōu)先序

  范例:

  將行程 id 為 987 及 32 的行程與行程擁有者為 daemon 及 root 的優(yōu)先序號碼加 1 :

  renice +1 987 -u daemon root -p 32

  注意 : 每一個行程(Process)都有一個唯一的 (unique) id?

  名稱:top

  使用權(quán)限:所有使用者

  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

  說明:即時顯示 process 的動態(tài)

  把計?

  d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s

  q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的權(quán)限,則 top 將會以最高的優(yōu)先序執(zhí)行

  c : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來

  s : 安全模式,將交談式指令取消, 避免潛在的危機

  i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程

  n : 更新的次數(shù),完成后將會退出 top

  b : 批次檔模式,搭配 "n" 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi)

  范例:

  顯示更新十次后退出 ;

  top -n 10

  使用者將不能利用交談式指令來對行程下命令 :

  top -s

  將更新顯示二次的結(jié)果輸入到名稱為 top.log 的檔案里 :

  top -n 2 -b < top.log

  名稱:skill

  使用權(quán)限:所有使用者

  使用方式: skill [signal to send] [options] 選擇程序的規(guī)則

  說明:

  送個訊號給正在執(zhí)行的程序,預(yù)設(shè)的訊息為 TERM (中斷) , 較常使用的訊息為 HUP , INT , KILL , STOP , CONT ,和 0

  訊息有三種寫法:分別為 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的訊息。

  一般參數(shù):

  -f 快速模式/尚未完成

  -i 互動模式/ 每個動作將要被確認

  -v 詳細輸出/ 列出所選擇程序的資訊

  -w 智能警告訊息/ 尚未完成

  -n 沒有動作/ 顯示程序代號

  參數(shù):選擇程序的規(guī)則可以是, 終端機代號,使用者名稱,程序代號,命令名稱。

  -t 終端機代號 ( tty 或 pty )

  -u 使用者名稱

  -p 程序代號 ( pid )

  -c 命令名稱 可使用的訊號:

  以下列出已知的訊號名稱,訊號代號,功能。

  名稱 (代號) 功能/ 描述

  ALRM 14 離開

  HUP 1 離開

  INT 2 離開

  KILL 9 離開/ 強迫關(guān)閉

  PIPE 13 離開

  POLL 離開

  PROF 離開

  TERM 15 離開

  USR1 離開

  USR2 離開

  VTALRM 離開

  STKFLT 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  UNUSED 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  TSTP 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTIN 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTOU 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  STOP 停止 /強迫關(guān)閉

  CONT 從新啟動 /如果在停止狀態(tài)則從新啟動,否則忽略

  PWR 忽略 /在某些系統(tǒng)中會離開

  WINCH 忽略

  CHLD 忽略

  ABRT 6 核心

  FPE 8 核心

  ILL 4 核心

  QUIT 3 核心

  SEGV 11 核心

  TRAP 5 核心

  SYS 核心 /或許尚未實作

  EMT 核心 /或許尚未實作

  BUS 核心 /核心失敗

  XCPU 核心 /核心失敗

  XFSZ 核心 /核心失敗

  范例:

  停止所有在 PTY 裝置上的程序

  skill -KILL -v pts/*

  停止三個使用者 user1 , user2 , user3

  skill -STOP user1 user2 user3

  其他相關(guān)的命令: kill

  名稱:expr

  使用權(quán)限:所有使用者

  ### 字串長度

  shell>> expr length "this is a test"

  14

  ### 數(shù)字商數(shù)

  shell>> expr 14 % 9

  5

  ### 從位置處抓取字串

  shell>> expr substr "this is a test" 3 5

  is is

  ### 數(shù)字串 only the first character

  shell>> expr index "testforthegame" e

  2

  ### 字串真實重現(xiàn)

  shell>> expr quote thisisatestformela

  thisisatestformela

  名稱: tr

  ### 1.比方說要把目錄下所有的大寫檔名換為小寫檔名?

  似乎有很多方式,"tr"是其中一種:

  #!/bin/sh

  dir="/tmp/testdir";

  files=`find $dir -type f`;

  for i in $files

  do

  dir_name=`dirname $i`;

  ori_filename=`basename $i`

  new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;

  #echo $new_filename;

  mv $dir_name/$ori_filename $dir_name/$new_filename

  done

  ### 2.自己試驗中...lowercase to uppercase

  tr abcdef...[del] ABCDE...[del]

  tr a-z A-Z

  tr [:lower:] [:upper:]

  shell>> echo "this is a test" | tr a-z A-Z > www

  shell>> cat www

  THIS IS A TEST

  ### 3.去掉不想要的字串

  shell>> tr -d this ### 去掉有關(guān) t.e.s.t

  this

  man

  man

  test

  e

  ### 4.取代字串

  shell>> tr -s "this" "TEST"

  this

  TEST

  th

  TE

  指令:clear

  用途:清除螢?zāi)挥谩?/p>

  使用方法:在 console 上輸入 clear。

  名稱: reset, tset

  使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

  使用說明:

  reset 其實和 tset 是一同個命令,它的用途是設(shè)定終端機的狀態(tài)。一般而言,這個命令會自動的從環(huán)境變數(shù)、命令列或是其它的組態(tài)檔決定目前終端機的型態(tài)。如果指定型態(tài)是 ? 的話,這個程式會要求使用者輸入終端機的型別。

  由于這個程式會將終端機設(shè)回原始的狀態(tài),除了在 login 時使用外,當系統(tǒng)終端機因為程式不正常執(zhí)行而進入一些奇怪的狀態(tài)時,你也可以用它來重設(shè)終端機o 例如不小心把二進位檔用 cat 指令進到終端機,常會有終端機不再回應(yīng)鍵盤輸入,或是回應(yīng)一些奇怪字元的問題。此時就可以用 reset 將終端機回復(fù)至原始狀態(tài)。選項說明:

  -p

  將終端機類別顯示在螢?zāi)簧?,但不做設(shè)定的動作。這個命令可以用來取得目前終端機的類別。

  -e ch

  將 erase 字元設(shè)成 ch

  -i ch

  將中斷字元設(shè)成 ch

  -k ch

  將刪除一行的字元設(shè)成 ch

  -I

  不要做設(shè)定的動作,如果沒有使用選項 -Q 的話,erase、中斷及刪除字元的目前值依然會送到螢?zāi)簧稀?/p>

  -Q

  不要顯示 erase、中斷及刪除字元的值到螢?zāi)簧稀?/p>

  -r

  將終端機類別印在螢?zāi)簧稀?/p>

  -s

  將設(shè)定 TERM 用的命令用字串的型式送到終端機中,通常在 .login 或 .profile 中用

  范例:

  讓使用者輸入一個終端機型別并將終端機設(shè)到該型別的預(yù)設(shè)狀態(tài)。

  # reset ?

  將 erase 字元設(shè)定 control-h

  # reset -e ^B

  將設(shè)定用的字串顯示在螢?zāi)簧?/p>

  # reset -s

Erase is control-B (^ .

  Kill is control-U (^U).

  Interrupt is control-C (^C).

  TERM=xterm;

  名稱:compress

  使用權(quán)限:所有使用者

  使用方式:compress [-dfvcV] [-b maxbits]

  下載地址

  說明:

  compress 是一個相當古老的 unix 檔案壓縮指令,壓縮后的檔案會加上一個 .Z 延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數(shù)個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由于 gzip 可以產(chǎn)生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。

  參數(shù):

  c 輸出結(jié)果至標準輸出設(shè)備(一般指熒幕)

  f 強迫寫入檔案,若目的檔已經(jīng)存在,則會被覆蓋 (force)

  v 將程式執(zhí)行的訊息印在熒幕上 (verbose)

  b 設(shè)定共同字串數(shù)的上限,以位元計算,可以設(shè)定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預(yù)設(shè)值 16 bits (bits)

  d 將壓縮檔解壓縮

  V 列出版本訊息

  范例:

  將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經(jīng)存在,內(nèi)容則會被壓縮檔覆蓋。

  compress -f source.dat

  將 source.dat 壓縮成 source.dat.Z ,并列印出壓縮比例。

  -v 與 -f 可以一起使用

  compress -vf source.dat

  將壓縮后的資料輸出后再導(dǎo)入 target.dat.Z 可以改變壓縮檔名。

  compress -c source.dat > target.dat.Z

  -b 的值越大,壓縮比例就越大,范圍是 9-16 ,預(yù)設(shè)值是 16 。

  compress -b 12 source.dat

  將 source.dat.Z 解壓成 source.dat ,若檔案已經(jīng)存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會自動覆蓋檔案。由于系統(tǒng)會自動加入 .Z 為延伸檔名,所以 source.dat 會自動當作 source.dat.Z 處理。

  compress -d source.dat

  compress -d source.dat.Z

  名稱: lpd

  使用權(quán)限: 所有使用者

  使用方式:lpd [-l] [#port]

  lpd 是一個常駐的印表機管理程式,它會根據(jù) /etc/printcap 的內(nèi)容來管理本地或遠端的印表機。/etc/printcap 中定義的每一個印表機必須在 /var/lpd 中有一個相對應(yīng)的目錄,目錄中以 cf 開頭的檔案表示一個等待送到適當裝置的印表工作。這個檔案通常是由 lpr 所產(chǎn)生。

  lpr 和 lpd 組成了一個可以離線工作的系統(tǒng),當你使用 lpr 時,印表機不需要能立即可用,甚至不用存在。lpd 會自動監(jiān)視印表機的狀況,當印表機上線后,便立即將檔案送交處理。這個得所有的應(yīng)用程式不必等待印表機完成前一工作。

  參數(shù):

  -l: 將一些除錯訊息顯示在標準輸出上。

  #port: 一般而言,lpd 會使用 getservbyname 取得適當?shù)?TCP/IP port,你可以使用這個參數(shù)強迫 lpd 使用指定的 port。

  范例:

  這個程式通常是由 /etc/rc.d 中的程式在系統(tǒng)啟始階段執(zhí)行。

  名稱 lpq

  -- 顯示列表機貯列中未完成的工作 用法

  lpq [l] [P] [user]

  說明

  lpq 會顯示由 lpd 所管理的列表機貯列中未完成的項目。

  范例

  范例 1. 顯示所有在 lp 列表機貯列中的工作

  # lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes

  相關(guān)函數(shù)

  lpr,lpc,lpd

  名稱: lpr

  使用權(quán)限: 所有使用者

  使用方式:lpr [ -P printer ]

  將檔案或是由標準輸入送進來的資料送到印表機貯列之中,印表機管理程式 lpd 會在稍后將這個檔案送給適當?shù)某淌交蜓b置處理。lpr 可以用來將料資送給本地或是遠端的主機來處理。

  參數(shù):

  -p Printer: 將資料送至指定的印表機 Printer,預(yù)設(shè)值為 lp。

  范例:

  將 www.c 和 kkk.c 送到印表機 lp。

  lpr -Plp www.c kkk.c

  名稱: lprm

  -- 將一個工作由印表機貯列中移除 用法

  /usr/bin/lprm [P]

  下載地址

  說明

  尚未完成的印表機工作會被放在印表機貯列之中,這個命令可用來將常未送到印表機的工作取消。由于每一個印表機都有一個獨立的貯列,你可以用 -P 這個命令設(shè)定想要作用的印列機。如果沒有設(shè)定的話,會使用系統(tǒng)預(yù)設(shè)的印表機。

  這個命令會檢查使用者是否有足夠的權(quán)限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統(tǒng)管理員才有這個權(quán)限。

  范例

  將印表機 hpprinter 中的第 1123 號工作移除

  lprm -Phpprinter 1123

  將第 1011 號工作由預(yù)設(shè)印表機中移除

  lprm 1011

  名稱: fdformat

  使用權(quán)限: 所有使用者

  使用方式:fdformat [-n] device

  使用說明 :

  對指定的軟碟機裝置進行低階格式化。使用這個指令對軟碟格式化的時候,最好指定像是下面的裝置:

  /dev/fd0d360 磁碟機 A: ,磁片為 360KB 磁碟

  /dev/fd0h1440 磁碟機 A: ,磁片為 1.4MB 磁碟

  /dev/fd1h1200 磁碟機 B: ,磁片為 1.2MB 磁碟

  如果使用像是 /dev/fd0 之類的裝置,如果里面的磁碟不是標準容量,格式化可能會失敗。在這種情況之下,使用者可以用 setfdprm 指令先行指定必要參數(shù)。

  參數(shù):

  -n 關(guān)閉確認功能。這個選項會關(guān)閉格式化之后的確認步驟。

  范例:

  fdformat -n /dev/fd0h1440

  將磁碟機 A 的磁片格式化成 1.4MB 的磁片。并且省略確認的步驟。

  名稱: mformat

  使用權(quán)限: 所有使用者

  使用方式:

  mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks]

  [-1] [-k] drive:

  在已經(jīng)做過低階格式化的磁片上建立 DOS 檔案系統(tǒng)。如果在編譯 mtools 的時候把 USE_2M 的參數(shù)打開,部分與 2M 格式相關(guān)的參數(shù)就會發(fā)生作用。否則這些參數(shù)(像是 S,2,1,M)不會發(fā)生作用。

  參數(shù):

  -t 磁柱(synlider)數(shù)

  -h 磁頭(head)數(shù)

  -s 每一磁軌的磁區(qū)數(shù)

  -l 標簽

  -F 將磁碟格式化為 FAT32 格式,不過這個參數(shù)還在實驗中。

  -I 設(shè)定 FAT32 中的版本號。這當然也還在實驗中。

  -S 磁區(qū)大小代碼,計算方式為 sector = 2^(大小代碼+7)

  -c 磁叢(cluster)的磁區(qū)數(shù)。如果所給定的數(shù)字會導(dǎo)致磁叢數(shù)超過 FAT 表的限制,mformat 會自動放大磁區(qū)數(shù)。

  -s

  -M 軟體磁區(qū)大小。這個數(shù)字就是系統(tǒng)回報的磁區(qū)大小。通常是和實際的大小相同。

  -a 如果加上這個參數(shù),mformat 會產(chǎn)生一組 Atari 系統(tǒng)的序號給這塊軟碟。

  -X 將軟碟格式化成 XDF 格式。使用前必須先用 xdfcopy 指令對軟碟作低階格式化的動作。

  -C 產(chǎn)生一個可以安裝 MS-DOS 檔案系統(tǒng)的磁碟影像檔(disk image)。當然對一個實體磁碟機下這個參數(shù)是沒有意義的。

  -H 隱藏磁區(qū)的數(shù)目。這通常適用在格式化硬碟的分割區(qū)時,因為通常一個分割區(qū)的前面還有分割表。這個參數(shù)未經(jīng)測試,能不用就不用。

  -n 磁碟序號

  -r 根目錄的大小,單位是磁區(qū)數(shù)。這個參數(shù)只對 FAT12 和 FAT16 有效。

  -B 使用所指定的檔案或是設(shè)備的開機磁區(qū)做為這片磁片或分割區(qū)的開機磁區(qū)。當然當中的硬體參數(shù)會隨之更動。

  -k 盡量保持原有的開機磁區(qū)。

  -0 第 0 軌的資料傳輸率

  -A 第 0 軌以外的資料傳輸率

  -2 使用 2m 格式

  -1 不使用 2m 格式

  范例:

  mformat a:

  這樣會用預(yù)設(shè)值把 a: (就是 /dev/fd0)里的磁碟片格式化。

  名稱: mkdosfs

  使用權(quán)限: 所有使用者

  使用方式: mkdosfs [ -c | -l filename ]

  [ -f number_of_FATs ]

  [ -F FAT_size ]

  [ -i volume_id ]

  [ -m message_file ]

  [ -n volume_name ]

  [ -r root_dir_entry ]

  [ -s sector_per_cluster ]

  [ -v ]

  device

  [ block_count ]

  說明: 建立 DOS 檔案系統(tǒng)。 device 指你想要建立 DOS 檔案系統(tǒng)的裝置代號。像是 /dev/hda1 等等。 block_count 則是你希望配置的區(qū)塊數(shù)。如果 block_count 沒有指定則系統(tǒng)會自動替你計算符合該裝置大小的區(qū)塊數(shù)。

  參數(shù):

  -c 建立檔案系統(tǒng)之前先檢查是否有壞軌。

  -l 從得定的檔案中讀取壞軌記錄。

  -f 指定檔案配置表(FAT , File Allocation Table)的數(shù)量。預(yù)設(shè)值為 2 。目前 Linux 的 FAT 檔案系統(tǒng)不支援超過 2 個 FAT 表。通常這個不需要改。

  -F 指定 FAT 表的大小,通常是 12 或是 16 個位元組。12 位元組通常用于磁碟片,16 位元組用于一般硬碟的分割區(qū),也就是所謂的 FAT16 格式。這個值通常系統(tǒng)會自己選定適當?shù)闹?。在磁碟片上?FAT16 通常不會發(fā)生作用,反之在硬碟上用 FAT12 亦然。

  -i 指定 Volume ID。一般是一個 4 個位元組的數(shù)字,像是 2e203a47 。如果不給系統(tǒng)會自己產(chǎn)生。

  -m 當使用者試圖用這片磁片或是分割區(qū)開機,而上面沒有作業(yè)系統(tǒng)時,系統(tǒng)會給使用者一段警告訊息。這個參數(shù)就是用來變更這個訊息的。你可以先用檔案編輯好,然后用這個參數(shù)指定,或是用

  -m -

  這樣系統(tǒng)會要求你直接輸入這段文字。要特別注意的是,檔案里的字串長度不要超過 418 個字,包括展開的跳欄符號(TAB)和換行符號(換行符號在 DOS 底下算兩個字元!)

  -n 指定 Volume Name,就是磁碟標簽。如同在 DOS 底下的 format 指令一樣,給不給都可以。沒有預(yù)設(shè)值。

  -r 指定根目錄底下的最大檔案數(shù)。這里所謂的檔案數(shù)包括目錄。預(yù)設(shè)值是在軟碟上是 112 或是 224 ,在硬碟上是 512。沒事不要改這個數(shù)字。

  -s 每一個磁叢(cluster)的磁區(qū)數(shù)。必須是 2 的次方數(shù)。不過除非你知道你在作什么,這個值不要亂給。

  -v 提供額外的訊息

  范例:

  mkdosfs -n Tester /dev/fd0 將 A 槽里的磁碟片格式化為 DOS 格式,并將標簽設(shè)為 Tester

  從零開始:Linux基礎(chǔ)教程之命令的使用

  對于 Linux 新手,或者那些想要重新審視或改進自己對基本 Linux 概念(比如:復(fù)制和移動文件、創(chuàng)建符號和硬鏈接、設(shè)置文件系統(tǒng)對象所有權(quán)和權(quán)限以及同管道和重定向一起使用 Linux 的標準文本處理命令)的理解的人來說,本系列連載文章之一是理想的教材。沿著這個方向,我們將一起分享很多心得、技巧和竅門,使該教程甚至對于那些具有豐富經(jīng)驗的 Linux 老手來說都是“有血有肉”,并且是實用的。

  對于初學(xué)者而言,本系列文章的許多內(nèi)容都很新穎,而更有經(jīng)驗的 Linux 用戶可能會發(fā)現(xiàn)本教程是使他們基本的 Linux 技能“爐火純青”的有效途徑。

  介紹 bash

  shell

  如果您使用過 Linux 系統(tǒng),那么您知道當?shù)卿洉r,將會看到像這樣的提示符:

  $

  您所看到的特殊的提示符可能看起來很不一樣。它可能包含系統(tǒng)的主機名、當前的工作目錄名,或者兩者都有。但是不管這個特殊的提示符看起來像什么,有一件事是肯定的。打印出這個提示符的程序叫“shell”,極有可能您的特殊的 shell 是一個叫 bash 的程序。

  您在運行 bash 嗎?

  您可以通過輸入下面的命令來檢查您是否正在運行 bash:

  $ echo $SHELL

  /bin/bash

  如果上面的命令行報錯或者不會類似地響應(yīng)我們的示例,那么您可能正在運行一個不同于 bash 的 shell。

  關(guān)于 bash

  Bash 是“Bourne-again shell”的首字母縮寫,它是大多數(shù) Linux 系統(tǒng)缺省的 shell。shell 的任務(wù)是執(zhí)行您的命令,使您能夠與 Linux 系統(tǒng)進行交互。當您輸完命令,您可以通知 shell 執(zhí)行 exit 或 logout 命令,在此您將返回到登錄提示符。順便提一下,您還可以通過在 bash 提示符下按 control-D 來注銷。

  使用“cd”

  您可能已經(jīng)發(fā)現(xiàn),目不轉(zhuǎn)睛地盯著bash提示符可不是世界上最讓人感到有勁的事。那么,讓我們來開始用 bash 來瀏覽我們的文件系統(tǒng)。在提示符下,輸入下面的命令(不包括 $):

  $ cd /

  我們只告訴 bash 您想在 /(也稱為根目錄)中工作;系統(tǒng)上的所有目錄形成一棵樹,/ 被認為是這棵樹的頂部,或者是根。cd設(shè)置當前您正在工作的目錄,也稱為“當前工作目錄”。

  路徑

  要看 bash 的當前工作目錄,您可以輸入:

  $ pwd

  /

  在上面的示例中,cd 的 / 參數(shù)叫做路徑。它告訴 cd 我們要轉(zhuǎn)到什么地方。特別是,/ 參數(shù)是一個絕對路徑,意味著它指定了相對于文件系統(tǒng)樹的根的位置。絕對路徑這里有幾個其它的絕對路徑:

  /dev

  /usr

  /usr/bin

  /usr/local/bin

  您可以看到,所有絕對路徑有一個共同點就是,它們都以/開頭。通過路徑/usr/local/bin,我們告訴 cd 進入 / 目錄,接著進入這個目錄之下的usr目錄,然后再進入 local 和 bin。絕對路徑總是通過是否以 / 開頭來判斷。

  相對路徑

  另一種路徑叫相對路徑。在 Bash 中,cd 以及其它命令總是解釋那些相對于當前目錄的路徑。相對路徑絕不會以 / 開頭。這樣,如果我們在 /usr 中:

  $ cd /usr

  那么,我們可以使用相對路徑來轉(zhuǎn)到 /usr/local/bin 目錄:

  $ cd local/bin

  $ pwd

  /usr/local/bin

  使用“..”

  相對路徑還可以包含一個或多個 .. 目錄。.. 目錄是指向父目錄的專門目錄。那么,繼續(xù)前面的示例:

  $ pwd

  /usr/local/bin

  $ cd ..

  $ pwd

  /usr/local

  您可以看到,現(xiàn)在我們的當前目錄是 /usr/local。我們能夠“后退”到相對于我們所在的當前目錄的一個目錄。此外,我們還可以將 \"..\" 添加到一個現(xiàn)有的相對路徑中,使我們可以進入與我們已在目錄并排的目錄,例如:

  $ pwd

  /usr/local

  $ cd ../share

  $ pwd

  /usr/share

  相對路徑示例

  相對路徑可以變得相當復(fù)雜。這里有幾個示例,所有的都沒有顯示出結(jié)果的目標路徑。請試著推斷一下,輸入這些命令后,您最終將會轉(zhuǎn)到什么地方:

  $ cd /bin

  $ cd ../usr/share/zoneinfo

  $ cd /usr/X11R6/bin

  $ cd ../lib/X11

  $ cd /usr/bin

  $ cd ../bin/../bin

  現(xiàn)在,試驗一次,看看您的推斷是否正確。

  理解“.”

  在我們結(jié)束 cd 的介紹之前,我們還需要討論一些更多的內(nèi)容。首先,還有另一個叫 . 的專門的目錄。它表示“當前目錄”。然而該目錄不為 cd 命令使用,它通常用來執(zhí)行一些當前目錄中的程序,如下所示:

  $ ./myprog

  在上面的示例中,駐留在當前工作目錄中的 myprog 可執(zhí)行文件將被執(zhí)行。

  cd 和主目錄

  如果我們想要轉(zhuǎn)到主目錄,我們可以輸入:

  $ cd

  沒有參數(shù),cd 將轉(zhuǎn)到主目錄,對于超級用戶來說是 /root,對于一般用戶來說通常是/home/username。但是,如果我們想要指定一個主目錄中的文件,將會怎樣呢?可能我們想要將一個文件參數(shù)傳給 myprog 命令。如果該文件在主目錄中,我們可以輸入:

  $ ./myprog /home/drobbins/myfile.txt

  但是,使用像這樣的絕對路徑并不總是很方便。幸好,我們可以使用 ~(代字符)字符來完成同樣的事:

  $ ./myprog ~/myfile.txt

  其他用戶的主目錄Bash 將把單獨的 ~ 擴展為指向主目錄,然而您還可以用它來指向其他用戶的主目錄。例如,如果我們想要引用 fred 的主目錄中的名為 fredsfile.txt 的文件,可以輸入:

  $ ./myprog ~fred/fredsfile.txt

  使用 Linux 命令

  介紹 ls

  現(xiàn)在,我們將快速地看一看 ls 命令。很可能,您已經(jīng)很熟悉 ls,并且知道只輸入 ls 本身將列出當前工作目錄的內(nèi)容: $">[b]通過指定 -a 選項,您可以看到目錄中的所有文件,包括隱藏文件 — 那些以 . 開頭的文件。您可以在下面的示例中看到,ls -a 將顯示 . 和 .. 專門的目錄鏈接:$">[b]遞歸和索引節(jié)點清單。

  您可以使用 -d 來查看目錄本身,而您還可以用 -R 來完成相反的工作 — 不僅只查看一個目錄內(nèi)部,而且要遞歸地查看該目錄內(nèi)所有的目錄內(nèi)部!我們將不會有對應(yīng)該選項的任何示例輸出(因為它一般占很大的篇幅),但是為了感覺一下它是怎樣工作的,您可以試幾個 ls -R 和 ls -Rl 命令。最后,ls 的 -i 選項可以用來在清單中顯示文件系統(tǒng)對象的索引節(jié)點號:

  $ ls -i /usr

  1409 X11R6 314258 i686-linux

  43090 libexec 13394 sbin

  1417 bin 1513 i686-pc-linux-gnu

  5120 local 13408 share

  8316 distfiles 1517 include

  776 man 23779 src

  43 doc 1386 info 93892 portage

  36737 ssl

  70744 gentoo-x86 1585 lib 5132

  portage.old 784 tmp

  理解索引節(jié)點,第 1 部分

  文件系統(tǒng)的每個對象都分配到一個獨一無二的索引,叫做索引節(jié)點號。這可能看起來微不足道,但是理解索引節(jié)點對于理解許多文件系統(tǒng)操作來說很重要。例如,請考慮出現(xiàn)在每個目錄中的 . 和 .. 鏈接。為了完全理解 .. 目錄實際上是什么,我們將先來看一看 /usr/local 的索引節(jié)點號:

  $ ls -id /usr/local

  5120 /usr/local

  /usr/local

  目錄有一個 5120 索引節(jié)點號。現(xiàn)在,我們來看一 看 /usr/local/bin/.. 的索引節(jié)點號:

  $ ls -id /usr/local/bin/..

  5120 /usr/local/bin/..

  您可以看到,/usr/local/bin/..具有和/usr/local相同的索引節(jié)點號!這就是我們抓住的問題的實質(zhì)。過去,我們認為 /usr/local 是這個目錄本身。

  現(xiàn)在,我們發(fā)現(xiàn)索引節(jié)點 5120實際上是這個目錄,并且我們發(fā)現(xiàn)了指向該索引節(jié)點的兩個目錄條目(叫做“鏈接”)。/usr/local 和 /usr/local/bin/..都鏈接到索引節(jié)點 5120。雖然索引節(jié)點 5120 只在磁盤中的一地方存在,但是多個目錄條目都鏈接到它上面。事實上,通過使用 ls -dl 命令,我們可以看到索引節(jié)點 5120 被引用的總次數(shù)

  $ ls -dl /usr/local

  drwxr-xr-x 8 root root 240 Dec 22 20:

  57 /usr/local

  如果我們看一看從左起的第二欄,我們可以看到目錄 /usr/local(索引節(jié)點 5120)被引用了 8 次。在我的系統(tǒng)中,引用該索引節(jié)點的不同路徑有這些:

  /usr/local

  /usr/local/.

  /usr/local/bin/..

  /usr/local/games/..

  /usr/local/lib/..

  /usr/local/sbin/..

  /usr/local/share/..

  /usr/local/src/..

  mkdir

  我們來快速地看一看 mkdir 命令,它可以用來創(chuàng)建新目錄。下面的示例創(chuàng)建了三個新目錄:tic、tac 和 toe,都在 /tmp 下:

  $ cd /tmp

  $ mkdir tic tac toe

  缺省情況下,mkdir 不會為您創(chuàng)建父目錄;鄰接的上一元素的完整路徑必須存在。因此,如果您想要創(chuàng)建目錄 won/der/ful,您將需要發(fā)出三個單獨的 mkdir 命令:

  $ mkdir won/der/ful

  mkdir: cannot create directory

  `won/der/ful': No such file or directory

  $ mkdir won

  $ mkdir won/der

  $ mkdir won/der/ful

  mkdir -p

  然而,mkdir有一個很方便的-p選項,該選項告訴mkdir創(chuàng)建所有缺少的父目錄,如下所示:

  $ mkdir -p easy/as/pie

  總之,非常簡單。要學(xué)習(xí)更多關(guān)于 mkdir 命令的知識,請輸入 man mkdir 來閱讀手冊頁。除 cd(它內(nèi)置在 bash 中)之外,這幾乎適用于這里所涉及的所有命令(比如 man ls)。

  touch

  現(xiàn)在,我們將要快速地看一看 cp 和 mv 命令,這些命令用來復(fù)制、重命名以及移動文件和目錄。為了開始該概述,我們將首先用 touch 命令在 /tmp 中創(chuàng)建一個文件:

  $ cd /tmp

  $ touch copyme

  如果文件存在,touch 命令將更新文件的“mtime”(請回想 ls -l 輸出中的第六欄)。如果文件不存在,那么將創(chuàng)建一個新的空文件?,F(xiàn)在您應(yīng)該有一個大小為零的 /tmp/copyme 文件。

  echo 和重定向

  既然文件存在,我們來把一些數(shù)據(jù)添加到文件中。我們可以使用echo命令來完成,它帶有自己參數(shù),并且把這些參數(shù)打印到標準輸出。首先,單獨的 echo 命令是這樣的:

  $ echo \"firstfile\"

  firstfile

  帶有輸出重定向的同樣的 echo 命令為:

  $ echo \"firstfile\" > copyme

  大于符號告訴 shell 將 echo 的輸出寫到名為 copyme 的文件中。如果該文件不存在,將創(chuàng)建這個文件;如果該文件存在,將覆蓋這個文件。通過輸入 ls -l,我們可以看到 copyme 文件為 10 個字節(jié)長,因為它包括 firstfile 這個詞和換行符:

  $ ls -l copyme

  -rw-r--r-- 1 root root 10 Dec 28 14:13 copyme

  cat 和 cp

  為了在終端顯示文件的內(nèi)容,要使用 cat 命令:

  $ cat copyme

  firstfile

  現(xiàn)在,我們可以使用 cp 命令的基本調(diào)用來由原始的 copyme 文件創(chuàng)建 copiedme 文件:

  $ cp copyme copiedme

  通過觀察,我們發(fā)現(xiàn)它們確實是相互獨立的文件;它們的索引節(jié)點號不同:

  $ ls -i copyme copiedme

  648284 copiedme 650704 copyme

  mv

  現(xiàn)在,我們來用“mv”命令將“copiedme”重命名為“movedme”。其索引節(jié)點號將仍然是同一個;但是,指向該索引節(jié)點的文件名將改變。

  $ mv copiedme movedme

  $ ls -i movedme

  648284 movedme

  只要目標文件和源文件駐留在同一文件系統(tǒng)上,被移動的文件的索引節(jié)點號就將仍然不變。在本教程系列的第 3 部分,我們將進一步看一下文件系統(tǒng)。

  創(chuàng)建鏈接和刪除文件

  硬鏈接

  當談及目錄條目和索引節(jié)點之間關(guān)系時,我們提到了鏈接這個術(shù)語。Linux 實際有兩種鏈接。到此為止我們所討論的這種鏈接叫硬鏈接。一個給定的索引節(jié)點可以有任意數(shù)目的硬鏈接,該索引節(jié)點一直存在于文件系統(tǒng),直到所有的硬鏈接消失??梢允褂?ln 命令來創(chuàng)建新的硬鏈接

  $ cd /tmp

  $ touch firstlink

  $ ln firstlink secondlink

  $ ls -i firstlink secondlink

  15782 firstlink 15782 secondlink

  您可以看到,硬鏈接工作于索引節(jié)點級別,指向特殊的文件。在 Linux 系統(tǒng)上,硬鏈接有幾個局限性。第一,您只能給文件建立硬鏈接,而不能給目錄建立硬鏈接。的確如此;即便 . 和 .. 是系統(tǒng)給目錄創(chuàng)建的硬鏈接,也不允許您(“root”用戶也不行)創(chuàng)建任何您自己的硬鏈接。

  硬鏈接的第二個局限性是它們不能跨文件系統(tǒng)。這意味著,如果您的 / 和 /usr 存在于不同的文件系統(tǒng),您不能創(chuàng)建從 /usr/bin/bash 到 /bin/bash 的鏈接。

  符號鏈接

  實際上,符號鏈接(symbolic link,或“symlinks”)比硬鏈接更常用到。符號鏈接是一種專門的文件類型,在這種文件類型中,鏈接通過名稱引用另一個文件,而不是直接引用索引節(jié)點。符號鏈接不阻止文件被刪除;如果目標文件消失,那么符號鏈接僅僅是不可用,或“被破壞”。

  通過將 -s 選項傳給 ln,可以創(chuàng)建符號鏈接。

  $ ln -s secondlink thirdlink

  $ ls -l firstlink secondlink thirdlink

  -rw-rw-r-- 2 agriffis agriffis 0 Dec 31 19:

  08 firstlink

  -rw-rw-r-- 2 agriffis agriffis 0 Dec 31 19:

  08 secondlink

  lrwxrwxrwx 1 agriffis agriffis 10 Dec 31 19:

  39 thirdlink -> secondlink

  在 ls -l 輸出中,可以用三種方式區(qū)分符號鏈接和一般文件。第一,請注意第一欄包含一個 l 字符的輸出表明是符號鏈接。第二,符號鏈接的大小是目標文件(本例是 secondlink)的字符數(shù)。第三,輸出的最后一欄顯示目標文件名。

  符號鏈接通常比硬鏈接更靈活。您可以給任何類型的文件系統(tǒng)對象(包括目錄)創(chuàng)建符號鏈接。又因為符號鏈接的實現(xiàn)是基于路徑的(而不是索引節(jié)點),所以創(chuàng)建指向另一個文件系統(tǒng)上的對象的符號鏈接是完全可行的。但是,這一事實也使符號鏈接理解起來很復(fù)雜。請考慮我們想要在/tmp中創(chuàng)建一個指向 /usr/local/bin的鏈接的情況。我們應(yīng)該輸入:

  $ ln -s /usr/local/bin bin1

  $ ls -l bin1

  lrwxrwxrwx 1 root root 14 Jan 1 15:

  42 bin1 -> /usr/local/bin

  或者還可以輸入:

  $ ln -s ../usr/local/bin bin2

  $ ls -l bin2

  lrwxrwxrwx 1 root root 16 Jan 1 15:

  43 bin2 -> ../usr/local/bin

  您可以看到,兩個符號鏈接都指向同一目錄。但是,如果我們的第二個符號鏈接在任何時刻被移動到另一個目錄,由于相對路徑的緣故,它將遭到“破壞”。

  $ ls -l bin2

  lrwxrwxrwx 1 root root 16 Jan 1 15:

  43 bin2 -> ../usr/local/bin

  $ mkdir mynewdir

  $ mv bin2 mynewdir

  $ cd mynewdir

  $ cd bin2

  bash: cd: bin2: No such file or directory

  因為/tmp/usr/local/bin這個目錄不存在,我們不能再把目錄轉(zhuǎn)到bin2;換句話說,bin2 現(xiàn)在被破壞了。

  由于這個原因,有時避免用相對路徑信息來創(chuàng)建符號鏈接是個好主意。但是,在許多情況下,相對的符號鏈接很管用。請考慮一個示例,在這個示例中您想要給 /usr/bin 中的一個程序創(chuàng)建一個別名:

  # ls -l /usr/bin/keychain

  -rwxr-xr-x 1 root root 10150 Dec 12 20:09 /usr/bin/keychain

  作為 root 用戶,您可能想要給“keychain”創(chuàng)建一個別名,比如“kc”。在這個示例中,我們有 root 訪問權(quán),由 bash 提示符改變?yōu)?ldquo;#”可以證明。我們之所以需要 root 訪問權(quán)是因為一般用戶不能在 /usr/bin 中創(chuàng)建文件。作為 root 用戶,我們可以像下面這樣給 keychain 創(chuàng)建一個別名:

  # cd /usr/bin

  # ln -s /usr/bin/keychain kc

  當這個解決方法起作用時,如果我們想要把兩個文件都移到 /usr/local/bin 時,它將會出現(xiàn)問題。

  # mv /usr/bin/keychain

  /usr/bin/kc /usr/local/bin

  因為在符號鏈接中,我們使用了絕對路徑,而我們的kc符號鏈接仍然指向/usr/bin/keychain,它已不存在了——另一個被破壞的符號鏈接。符號鏈接中的相對路徑和絕對路徑都各具優(yōu)點,您應(yīng)該使用適合于您的特殊應(yīng)用的路徑類型。一般情況下,相對路徑或絕對路徑都能工作得很好。在這種情況下,下面的示例將起作用:

  # cd /usr/bin

  # ln -s keychain kc

  # ls -l kc

  lrwxrwxrwx 1 root root 8 Jan 5 12:

  40 kc -> keychain

  rm

  既然我們知道怎樣使用 cp、mv 和 ln,現(xiàn)在我們該學(xué)習(xí)怎樣把對象從文件系統(tǒng)中刪除了。通常,這用 rm 命令來完成。要刪除文件,只需在命令行中指定它們:

  $ cd /tmp

  $ touch file1 file2

  $ ls -l file1 file2

  -rw-r--r-- 1 root root 0 Jan 1 16:41 file1

  -rw-r--r-- 1 root root 0 Jan 1 16:41 file2

  $ rm file1 file2

  $ ls -l file1 file2

  ls: file1: No such file or directory

  ls: file2: No such file or directory

  rmdir

  要刪除目錄,您有兩種選擇。您可以刪除目錄中所有的對象,然后使用 rmdir 來刪除目錄本身:

  $ mkdir mydir

  $ touch mydir/file1

  $ rm mydir/file1

  $ rmdir mydir

  rm 和目錄

  或者,您可以使用 rm 命令的 recursive force選項來告訴rm刪除您指定的目錄以及目錄中包含的所有對象:

  $ rm -rf mydir

  一般情況下,rm -rf 是刪除目錄樹的首選方法。在使用 rm -rf 時要十分小心,因為它的功能可以被很好地利用,也可能會因使用不當造成惡果。

  介紹通配符

  在您日常的 Linux 使用中,有很多時候您可能需要一次對多個文件系統(tǒng)對象執(zhí)行單一操作(比如 rm)。在這些情況下,在命令行中輸入許多文件通常讓人感到厭煩,為了解決這個問題,您可以利用 Linux 內(nèi)置的通配符支持。這種支持也叫做“globbing”(由于歷史原因),允許您通過使用通配符模式一次指定多個文件。

  Bash 和其它 Linux 命令將通過在磁盤上查找并找到任何與之匹配的文件來解釋這種模式。因此,如果在當前工作目錄中,您有從 file1 到 file8 的文件,那么您可以輸入下面的命令來刪除這些文件:

  $ rm file[1-8]

  或者,如果您只想要刪除文件名以 file 開頭的所有文件,您可以輸入:

  $ rm file*

  理解不匹配

  或者,如果您想要列出 /etc 中以 g 開頭的所有文件系統(tǒng)對象,您可以輸入:

  $ ls -d /etc/g*

  /etc/gconf /etc/ggi /etc/gimp /etc/gnome

  /etc/gnome-vfs-mime-magic /etc/gpm

  /etc/group /etc/group-

  現(xiàn)在,如果您指定了沒有任何文件系統(tǒng)對象與之匹配的模式,會怎么樣呢?在下面的示例中,我們試圖列出 /usr/bin 中以 asdf 開頭并且以 jkl 結(jié)尾的所有文件:

  $ ls -d /usr/bin/asdf*jkl

  ls: /usr/bin/asdf*jkl:

  No such file or directory

  這里是對所發(fā)生情況的說明。通常,當我們指定一種模式時,該模式與底層系統(tǒng)上的一個或多個文件匹配,bash 以空格隔開的所有匹配對象的列表來替換該模式。

  但是,當模式不能找到匹配對象時,bash 將不理會參數(shù)、通配符等等,保留原樣。因此,當“ls”不能找到文件 /usr/bin/asdf*jkl 時,它會報錯。此處的有效的規(guī)則是:glob 模式只在與文件系統(tǒng)中的對象匹配時才可以進行擴展。

  Linux必學(xué)的重要命令

  tar

  1. 作用

  tar命令是Unix/Linux系統(tǒng)中備份文件的可靠方法,幾乎可以工作于任何環(huán)境中,它的使用權(quán)限是所有用戶。

  2. 格式

  tar [主選項+輔選項] 文件或目錄

  3.主要參數(shù)

  使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。

  主選項:

  -c 創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。

  -r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經(jīng)做好備份文件,又發(fā)現(xiàn)還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。

  -t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。

  -u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。

  -x 從檔案文件中釋放文件。

  輔助選項:

  -b 該選項是為磁帶機設(shè)定的,其后跟一數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預(yù)設(shè)值為20(20×512 bytes)。

  -f 使用檔案文件或設(shè)備,這個選項通常是必選的。

  -k 保存已經(jīng)存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。

  -m 在還原文件時,把所有文件的修改時間設(shè)定為現(xiàn)在。

  -M 創(chuàng)建多卷的檔案文件,以便在幾個磁盤中存放。

  -v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。

  -w 每一步都要求確認。

  -z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。

  3. 應(yīng)用說明

  tar是Tape Archive(磁帶歸檔)的縮寫,最初設(shè)計用于將文件打包到磁帶上。如果下載過Linux的源代碼,或許已經(jīng)碰到過tar文件。tar是一個基于文件的命令,它本質(zhì)上是連續(xù)地、首尾相連地堆放文件。使用tar可以打包整個目錄樹,這使得它特別適合用于備份。歸檔文件可以全部還原,或者從中展開單獨的文件和目錄。備份可以保存到基于文件的設(shè)備或磁帶設(shè)備上。文件可以在還原時重定向,以便將它們重新放到一個與最初保存它們的目錄(或系統(tǒng))不同的目錄(或系統(tǒng))。tar與文件系統(tǒng)無關(guān),可以使用在ext2、ext3、JFS、Reiser和其它文件系統(tǒng)上。它支持各種備份介質(zhì),包括軟盤、光盤寫入器、可重寫的光盤、JazZip、磁帶、高端磁帶等。Linux中以.tar結(jié)尾的文件都是用tar創(chuàng)建的。它的使用超出了單純的備份,可用來把許多不同文件放到一起組成一個易于分開的文件。如果使用Linux源代碼安裝程序,一定使用過tar文件。這是一個基于文件的命令,它本質(zhì)上是連續(xù)地、首尾相連地堆放文件。

  tar官方網(wǎng)址是[www.gnu]. org/software/tar/tar.html。

  請注意,不要忘了Linux是區(qū)分大小寫的。例如,tar命令應(yīng)該總是以小寫的形式執(zhí)行。命令行開關(guān)可以是大寫、小寫或大小寫的混合。例如,-t和-T執(zhí)行不同的功能。文件或目錄名稱可以混合使用大小寫,而且就像命令和命令行開關(guān)一樣是區(qū)分大小寫的。

  4.應(yīng)用實例

  tar是一個命令行的工具,沒有圖形界面。使用Konsole打開一個終端窗口,接下來是一個簡單的備份命令(在/temp目錄中創(chuàng)建一個back.tar的文件,/usr目錄中所有內(nèi)容都包含在其中。):

  $tar cvf - /usr > /temp/back.tar

  另外,tar命令支持前面第三講中講過的crontab命令,可以用crontab工具設(shè)置成基于時間的有規(guī)律地運行。例如,每晚6點把/usr目錄備份到hda—第一個IDE接口的主驅(qū)動器 (總是位于第一個硬盤)中,只要將下面語句添加到root的crontab中即可:

  

06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr

  一般情況下,以下這些目錄是需要備份的:

  ◆ /etc 包含所有核心配置文件,其中包括網(wǎng)絡(luò)配置、系統(tǒng)名稱、防火墻規(guī)則、用戶、組,以及其它全局系統(tǒng)項。

  ◆ /var 包含系統(tǒng)守護進程(服務(wù))所使用的信息,包括DNS配置、DHCP租期、郵件緩沖文件、HTTP服務(wù)器文件、dB2實例配置等。

  ◆ /home 包含所有默認用戶的主目錄,包括個人設(shè)置、已下載的文件和用戶不希望失去的其它信息。

  ◆ /root 根(root)用戶的主目錄。

  ◆ /opt 是安裝許多非系統(tǒng)文件的地方。IBM軟件就安裝在這里。OpenOffice、JDK和其它軟件在默認情況下也安裝在這里。

  有些目錄是可以不備份的:

  ◆ /proc 應(yīng)該永遠不要備份這個目錄。它不是一個真實的文件系統(tǒng),而是運行內(nèi)核和環(huán)境的虛擬化視圖,包括諸如/proc/kcore這樣的文件,這個文件是整個運行內(nèi)存的虛擬視圖。備份這些文件只是在浪費資源。

  ◆ /dev 包含硬件設(shè)備的文件表示。如果計劃還原到一個空白的系統(tǒng),就可以備份/dev。然而,如果計劃還原到一個已安裝的Linux 系統(tǒng),那么備份/dev是沒有必要的。

  unzip

  1. 作用

  unzip命令位于/usr/bin目錄中,它們和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip軟件功能一樣,將文件壓縮成.zip文件,以節(jié)省硬盤空間,當需要的時候再將壓縮文件用unzip命令解開。該命令使用權(quán)限是所有用戶。

  2. 格式

  unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目錄>][-x <文件>]

  3. 主要參數(shù)

  -c:將解壓縮的結(jié)果顯示到屏幕上,并對字符做適當?shù)霓D(zhuǎn)換。

  -f:更新現(xiàn)有的文件。

  -l:顯示壓縮文件內(nèi)所包含的文件。

  -p:與-c參數(shù)類似,會將解壓縮的結(jié)果顯示到屏幕上,但不會執(zhí)行任何的轉(zhuǎn)換。

  -t:檢查壓縮文件是否正確。

  -u:與-f參數(shù)類似,但是除了更新現(xiàn)有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中。

  -v:執(zhí)行是時顯示詳細的信息。

  -z:僅顯示壓縮文件的備注文字。

  -a:對文本文件進行必要的字符轉(zhuǎn)換。

  b:不要對文本文件進行字符轉(zhuǎn)換。

  -C:壓縮文件中的文件名稱區(qū)分大小寫。

  -j:不處理壓縮文件中原有的目錄路徑。

  -L:將壓縮文件中的全部文件名改為小寫。

  -M:將輸出結(jié)果送到more程序處理。

  -n:解壓縮時不要覆蓋原有的文件。

  -o:不必先詢問用戶,unzip執(zhí)行后覆蓋原有文件。

  -P<密碼>:使用zip的密碼選項。

  -q:執(zhí)行時不顯示任何信息。

  -s:將文件名中的空白字符轉(zhuǎn)換為底線字符。

  -V:保留VMS的文件版本信息。

  -X:解壓縮時同時回存文件原來的UID/GID。

  [.zip文件]:指定.zip壓縮文件。

  [文件]:指定要處理.zip壓縮文件中的哪些文件。

  -d<目錄>:指定文件解壓縮后所要存儲的目錄。

  -x<文件>:指定不要處理.zip壓縮文件中的哪些文件。

  -Z unzip:-Z等于執(zhí)行zipinfo指令。在Linux中,還提供了一個叫zipinfo的工具,能夠察看zip壓縮文件的詳細信息。unzip最新版本是5.50。

  gunzip

  1.作用

  gunzip命令作用是解壓文件,使用權(quán)限是所有用戶。

  2.格式

  gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][文件...]

  或者gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][目錄]

  3.主要參數(shù)

  -a或--ascii:使用ASCII文字模式。

  -c或--stdout或--to-stdout:把解壓后的文件輸出到標準輸出設(shè)備。

  -f或-force:強行解開壓縮文件,不理會文件名稱或硬連接是否存在,以及該文件是否為符號連接。

  -h或--help:在線幫助。

  -l或--list:列出壓縮文件的相關(guān)信息。

  -L或--license:顯示版本與版權(quán)信息。

  -n或--no-name:解壓縮時,若壓縮文件內(nèi)含有原來的文件名稱及時間戳記,則將其忽略不予處理。

  -N或--name:解壓縮時,若壓縮文件內(nèi)含有原來的文件名稱及時間戳記,則將其回存到解開的文件上。

  -q或--quiet:不顯示警告信息。

  -r或--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

  -S<壓縮字尾字符串>或--suffix<壓縮字尾字符串>:更改壓縮字尾字符串。

  -t或--test:測試壓縮文件是否正確無誤。

  -v或--verbose:顯示指令執(zhí)行過程。

  -V或--version:顯示版本信息。

  4.說明

  gunzip是個使用廣泛的解壓縮程序,它用于解開被gzip壓縮過的文件,這些壓縮文件預(yù)設(shè)最后的擴展名為“.gz”。事實上,gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。gunzip最新版本是1.3.3 。

  unarj

  1.作用

  unarj解壓縮格式為.arj格式的文件,使用權(quán)限是所有用戶。

  2.格式

  unarj [eltx][.arj壓縮文件]

  3.主要參數(shù)

  e:解壓縮.arj文件。

  l:顯示壓縮文件內(nèi)所包含的文件。

  t:檢查壓縮文件是否正確。

  x:解壓縮時保留原有的路徑。

  4.說明

  帶有.arj擴展名的文件是由用于MS DOS和Windows的ARJ實用程序創(chuàng)建的。因為ARJ是一種不能免費獲得源代碼的共享件程序,所以在Linux平臺上幾乎不存在與其功能匹配的工具,要解壓縮.arj文件,就要使用unarj實用程序。unarj比ARJ慢,能力也不如ARJ,但至少能夠順利地抽取大多數(shù).arj文件。unarj 只能將文件抽取到當前的工作目錄、列出檔案內(nèi)容,或者測試檔案。從ARJ Software的站點或攜帶所需Linux發(fā)行版的FTP服務(wù)器上可以下載unarj源碼。另外,unarj通常是基本Linux發(fā)行版的一部分,因此可以在主要發(fā)行版本的CD-ROM上找到它。如果需要可到所有Linux發(fā)行版鏈接的列表下載,ARJ軟件網(wǎng)址為[www.arjsoft.com],ARJ的下載頁面為[www.arjsoft.com]。unarj最新版本是2.65,注意unarj選項不是以減號(-)開頭的。

  mtools

  1.作用

  mtools實際上是一個命令集合,是DOS文件系統(tǒng)的工具程序,它可以模擬許多DOS命令,使用起來非常方便。使用權(quán)限是所有用戶。Linux系統(tǒng)提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀、寫文件和目錄。它們對DOS和Linux環(huán)境之間交換文件非常有用。 mtools的使用非常簡單,如果想把軟盤里所有的文件都拷貝到硬盤上,那么就可以執(zhí)行以下命令:

  mcopy a:*.*

  也就是說,只需要在相應(yīng)的DOS命令之前加上一個字母“m”,就可以完成對應(yīng)的功能了。一般Linux發(fā)行版本中都有這個軟件,可以使用下面命令檢查一下。

  rpm -qa|grep mtools

  如果沒有安裝,也沒有關(guān)系,可以從網(wǎng)上下載(http://mtools.linux.lu/)一個最新版本來安裝。目前可供下載的最新mtools版本是3.9.9,下載鏈接為[mtools.linux.lu]。下載后安裝一下即可。

  2.包括的命令

  mcd 目錄名:改變MS DOS下的目錄。

  mcopy 源文件 目標文件:在MS DOS和Unix之間復(fù)制文件。

  mdel 文件名:刪除MS DOS下的文件。

  mdir 目錄名:顯示MS DOS下的目錄。

  mformat 驅(qū)動器號:在低級格式化的軟盤上創(chuàng)建MS DOS文件系統(tǒng)。

  rnlabel 驅(qū)動器號:產(chǎn)生MS DOS下的卷標

  mmd 目錄名:建立MS DOS下的目錄。

  mrd 目錄名:刪除MS DOS下的目錄。

  mren 源文件 目標文件:重新命名已存在的MS DOS文件。

  mtype 文件名:顯示MS DOS文件的內(nèi)容。

  請注意,這些命令和對應(yīng)的MS DOS命令非常相似。在mtools命令中,“/”和“\”是可以混用的。因為文件列表的是DOS系統(tǒng)下的文檔,對大小寫并不敏感,所以“CDE”和“cde”在這里是一樣的。

  3.應(yīng)用實例

  (1)如果把軟盤進行快速格式化,可以使用命令mformat:

  mformat A:

  mtools當初發(fā)展的目的是用來處理DOS文件系統(tǒng)的,所以只能用在FAT文件格式的分區(qū)上。需要注意的是,如果用mount命令來掛載了 FAT16/32分區(qū),那么就不能使用mtools的指令來處理這些分區(qū)上的文件。這是因為一旦FAT16/32分區(qū)掛到了Linux文件目錄下, Linux就會將其視為文件系統(tǒng)本身的一部分,這時如果要對其操作就必須使用Linux本身所附帶的指令集。

  (2)將DOS盤上的文件htca.c復(fù)制到當前目錄下,并用ls命令進行驗證。

  $ mcopy a:\htca.c

  $ ls -l htca.c

  -rw-r- -r- - 1 xxq xxq 27136 Jan 1 01:80 htca.c

  man

  1.作用

  man命令用來提供在線幫助,使用權(quán)限是所有用戶。在Linux系統(tǒng)中存儲著一部聯(lián)機使用的手冊,以供用戶在終端上查找。使用man命令可以調(diào)閱其中的幫助信息,非常方便和實用。

  2.格式

  man 命令名稱

  man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ...

  1. 參數(shù)

  -C config_file:指定設(shè)定文件man.conf,缺省值是/etc/man.conf。

  -M path:指定了聯(lián)機手冊的搜尋路徑, 如果沒有指定則使用環(huán)境變數(shù)MANPATH的設(shè)定;如果沒有使用MANPATH, 則會使用/usr/lib/man.conf內(nèi)的設(shè)定;如果MANPATH是空字串,則表示使用缺省值。

  -P pager:指定使用何種pager.man會優(yōu)先使用此選項設(shè)定,然后是依環(huán)境變數(shù)MANPAGER設(shè)定,然后是環(huán)境變數(shù)PAGER;man缺省使用/usr/bin/less -is。

  -S section_list man:所搜尋的章節(jié)列表(以冒號分隔),此選項會覆蓋環(huán)境變數(shù)MANSECT的設(shè)定。

  -a man:缺省情況是在顯示第一個找到的手冊之后,就會停止搜尋,使用此選項會強迫man繼續(xù)顯示所有符合name的聯(lián)機手冊。

  -c:即使有最新的cat page,也繼續(xù)對聯(lián)機手冊重新作排版,本選項在屏幕的行列數(shù)改變時或已排版的聯(lián)機手冊損壞時特別有意義。

  -d:不要真的顯示聯(lián)機手冊,只顯示除錯訊息。

  -D:同時顯示聯(lián)機手冊與除錯訊息。

  -h:顯示求助訊息然后結(jié)束程式 。

  -K:對所有的聯(lián)機手冊搜尋所指定的字串。請注意,本功能回應(yīng)速度可能很慢,如果指定section(區(qū)域)會對速度有幫助。

  -m system:依所指定的system名稱而指定另一組的聯(lián)機手冊。

  man:是manual(手冊)的縮寫。在輸入命令有困難時,可以立刻得到這個文檔。例如, 如果使用ps命令時遇到困難,可以輸入man ps得到幫助信息,此時會顯示出ps的手冊頁(man page)。

  由于手冊頁man page是用less程序來看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有選項。

  less中比較重要的功能鍵有:

  [q] 退出;

  [Enter] 一行行地下翻;

  [Space] 一頁頁地下翻;

  上翻一頁;

  [/] 后跟一個字符串和[Enter]來查找字符串;

  [n] 發(fā)現(xiàn)上一次查找的下一個匹配。

  unencode

  1.作用

  unencode命令可以把一個二進制文件表編碼為一個文本文件,使用權(quán)限是所有用戶。

  2.格式

  uuencode [-hv] [源文件] 目標文件

  3.主要參數(shù)

  -h:列出指令使用格式(help) 。

  -v:列出版本信息。

  4.應(yīng)用說明

  uuencode指令可以將二進制文件轉(zhuǎn)化成可使用電子郵件發(fā)送的ASCII編碼形式。uuencode編碼后的資料都以 begin開始,以end作為結(jié)束,且通常其中的每一行的開始均為“M”,中間部分是編碼過的文件,編碼后的文件比源文件要大一些。

  uudecode

  1.作用

  uudecode命令用來將uuencode編碼后的檔案還原,uudecode只會將begin與end標記之間的編碼資料還原,程序會跳過標記以外的資料。它的使用權(quán)限為所有用戶。

  2.格式

  uuencode [-hv] [file1 ...]

  3.主要參數(shù)

  -h:列出指令使用格式(help)。

  -v:列出版本信息。

  Linux必學(xué)的系統(tǒng)安全命令

  雖然Linux和Windows NT/2000系統(tǒng)一樣是一個多用戶的系統(tǒng),但是它們之間有不少重要的差別。對于很多習(xí)慣了Windows系統(tǒng)的管理員來講,如何保證Linux操作系統(tǒng)安全、可靠將會面臨許多新的挑戰(zhàn)。本文將重點介紹Linux系統(tǒng)安全的命令。

  passwd

  1.作用

  passwd命令原來修改賬戶的登陸密碼,使用權(quán)限是所有用戶。

  2.格式

  passwd [選項] 賬戶名稱

  3.主要參數(shù)

  -l:鎖定已經(jīng)命名的賬戶名稱,只有具備超級用戶權(quán)限的使用者方可使用。

  -u:解開賬戶鎖定狀態(tài),只有具備超級用戶權(quán)限的使用者方可使用。

  -x, --maximum=DAYS:最大密碼使用時間(天),只有具備超級用戶權(quán)限的使用者方可使用。

  -n, --minimum=DAYS:最小密碼使用時間(天),只有具備超級用戶權(quán)限的使用者方可使用。

  -d:刪除使用者的密碼, 只有具備超級用戶權(quán)限的使用者方可使用。

  -S:檢查指定使用者的密碼認證種類, 只有具備超級用戶權(quán)限的使用者方可使用。

  4.應(yīng)用實例

  $ passwd

  Changing password for user cao.

  Changing password for cao

  (current) UNIX password:

  New UNIX password:

  Retype new UNIX password:

  passwd: all authentication tokens updated successfully.

  從上面可以看到,使用passwd命令需要輸入舊的密碼,然后再輸入兩次新密碼。

  su

  1.作用

  su的作用是變更為其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。

  2.格式

  su [選項]... [-] [USER [ARG]...]

  3.主要參數(shù)

  -f , --fast:不必讀啟動文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。

  -l , --login:加了這個參數(shù)之后,就好像是重新登陸為該使用者一樣,大部分環(huán)境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。如果沒有指定USER,缺省情況是root。

  -m, -p ,--preserve-environment:執(zhí)行su時不改變環(huán)境變數(shù)。

  -c command:變更賬號為USER的使用者,并執(zhí)行指令(command)后再變回原來使用者。

  USER:欲變更的使用者賬號,ARG傳入新的Shell參數(shù)。

  4.應(yīng)用實例

  變更賬號為超級用戶,并在執(zhí)行df命令后還原使用者。

  su -c df root

  umask

  1.作用

  umask設(shè)置用戶文件和目錄的文件創(chuàng)建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶后續(xù)所建文件的存取許可。它告訴系統(tǒng)在創(chuàng)建文件時不給誰存取許可。使用權(quán)限是所有用戶。

  2.格式

  umask [-p] [-S] [mode]

  3.參數(shù)

  -S:確定當前的umask設(shè)置。

  -p:修改umask 設(shè)置。

  [mode]:修改數(shù)值。

  4.說明

  傳統(tǒng)Unix的umask值是022,這樣就可以防止同屬于該組的其它用戶及別的組的用戶修改該用戶的文件。既然每個用戶都擁有并屬于一個自己的私有組,那么這種“組保護模式”就不在需要了。嚴密的權(quán)限設(shè)定構(gòu)成了Linux安全的基礎(chǔ),在權(quán)限上犯錯誤是致命的。需要注意的是,umask命令用來設(shè)置進程所創(chuàng)建的文件的讀寫權(quán)限,最保險的值是0077,即關(guān)閉創(chuàng)建文件的進程以外的所有進程的讀寫權(quán)限,表示為-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動Shell后, 進程的umask權(quán)限都可以被正確設(shè)定。

  5.應(yīng)用實例

  umask -S

  u=rwx,g=rx,o=rx

  umask -p 177

  umask -S

  u=rw,g=,o=

  上述5行命令,首先顯示當前狀態(tài),然后把umask值改為177,結(jié)果只有文件所有者具有讀寫文件的權(quán)限,其它用戶不能訪問該文件。這顯然是一種非常安全的設(shè)置。

  chgrp

  1.作用

  chgrp表示修改一個或多個文件或目錄所屬的組。使用權(quán)限是超級用戶。

  2.格式

  chgrp [選項]... 組 文件...

  或

  chgrp [選項]... --reference=參考文件 文件...

  將每個<文件>的所屬組設(shè)定為<組>。

  3.參數(shù)

  -c, --changes :像 --verbose,但只在有更改時才顯示結(jié)果。

  --dereference:會影響符號鏈接所指示的對象,而非符號鏈接本身。

  -h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統(tǒng)支持更改符號鏈接的所有者,此選項才有效)。

  -f, --silent, --quiet:去除大部分的錯誤信息。

  --reference=參考文件:使用<參考文件>的所屬組,而非指定的<組>。

  -R, --recursive:遞歸處理所有的文件及子目錄。

  -v, --verbose:處理任何文件都會顯示信息。

  4.應(yīng)用說明

  該命令改變指定指定文件所屬的用戶組。其中g(shù)roup可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。

  5.應(yīng)用實例

  改變/opt/local /book/及其子目錄下的所有文件的屬組為book,命令如下:

  $ chgrp - R book /opt/local /book

  chmod

  1.作用

  chmod命令是非常重要的,用于改變文件或目錄的訪問權(quán)限,用戶可以用它控制文件或目錄的訪問權(quán)限,使用權(quán)限是超級用戶。

  2.格式

  chmod命令有兩種用法。一種是包含字母和操作符表達式的字符設(shè)定法(相對權(quán)限設(shè)定);另一種是包含數(shù)字的數(shù)字設(shè)定法(絕對權(quán)限設(shè)定)。

  (1)字符設(shè)定法

  chmod [who] [+   -   =] [mode] 文件名

  ◆操作對象who可以是下述字母中的任一個或它們的組合

  u:表示用戶,即文件或目錄的所有者。

  g:表示同組用戶,即與文件屬主有相同組ID的所有用戶。

  o:表示其它用戶。

  a:表示所有用戶,它是系統(tǒng)默認值。

  ◆操作符號

  +:添加某個權(quán)限。

  -:取消某個權(quán)限。

  =:賦予給定權(quán)限,并取消其它所有權(quán)限(如果有的話)。

  ◆設(shè)置mode的權(quán)限可用下述字母的任意組合

  r:可讀。

  w:可寫。

  x:可執(zhí)行。

  X:只有目標文件對某些用戶是可執(zhí)行的或該目標文件是目錄時才追加x屬性。

  s:文件執(zhí)行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設(shè)置文件的用戶ID位,“g+s”設(shè)置組ID位。

  t:保存程序的文本到交換設(shè)備上。

  u:與文件屬主擁有一樣的權(quán)限。

  g:與和文件屬主同組的用戶擁有一樣的權(quán)限。

  o:與其它用戶擁有一樣的權(quán)限。

  文件名:以空格分開的要改變權(quán)限的文件列表,支持通配符。

  一個命令行中可以給出多個權(quán)限方式,其間用逗號隔開。

  (2) 數(shù)字設(shè)定法

  數(shù)字設(shè)定法的一般形式為:

  chmod [mode] 文件名

  數(shù)字屬性的格式應(yīng)為3個0到7的八進制數(shù),其順序是(u)(g)(o)文件名,以空格分開的要改變權(quán)限的文件列表,支持通配符。

  數(shù)字表示的權(quán)限的含義如下:0001為所有者的執(zhí)行權(quán)限;0002為所有者的寫權(quán)限;0004為所有者的讀權(quán)限;0010為組的執(zhí)行權(quán)限;0020為組的寫權(quán)限;0040為組的讀權(quán)限;0100為其他人的執(zhí)行權(quán)限;0200為其他人的寫權(quán)限;0400為其他人的讀權(quán)限;1000為粘貼位置位;2000表示假如這個文件是可執(zhí)行文件,則為組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個文件是可執(zhí)行文件,則為用戶ID為位置位。

  3.實例

  如果一個系統(tǒng)管理員寫了一個表格(tem)讓所有用戶填寫,那么必須授權(quán)用戶對這個文件有讀寫權(quán)限,可以使用命令:

  #chmod 666 tem

  上面代碼中,這個666數(shù)字是如何計算出來的呢?0002為所有者的寫權(quán)限,0004為所有者的讀權(quán)限,0020為組的寫權(quán)限,0040為組的讀權(quán)限, 0200為其他人的寫權(quán)限,0400為其他人的讀權(quán)限,這6個數(shù)字相加就是666(注以上數(shù)字都是八進制數(shù)),結(jié)果見圖1所示。

  圖1 用chmod數(shù)字方法設(shè)定文件權(quán)限

  從圖1可以看出,tem文件的權(quán)限是-rw-rw-rw-,即用戶對這個文件有讀寫權(quán)限。

  如果用字符權(quán)限設(shè)定使用下面命令:

  #chmod a =wx tem

  chown

  1.作用

  更改一個或多個文件或目錄的屬主和屬組。使用權(quán)限是超級用戶。

  2.格式

  chown [選項] 用戶或組 文件

  3.主要參數(shù)

  --dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。

  -h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統(tǒng)支持更改符號鏈接的所有者,此選項才有效)。

  --from=目前所有者:目前組只當每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。

  -f, --silent, --quiet:去除大部分的錯誤信息。

  -R, --recursive:遞歸處理所有的文件及子目錄。

  -v, --verbose:處理任何文件都會顯示信息。

  4.說明

  chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或用戶ID;組可以是組名或組ID;文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。系統(tǒng)管理員經(jīng)常使用chown命令,在將文件拷貝到另一個用戶的目錄下以后,讓用戶擁有使用該文件的權(quán)限。

  5.應(yīng)用實例

  1.把文件shiyan.c的所有者改為wan

  $ chown wan shiyan.c

  2.把目錄/hi及其下的所有文件和子目錄的屬主改成wan,屬組改成users。

  $ chown - R wan.users /hi

  chattr

  1.作用

  修改ext2和ext3文件系統(tǒng)屬性(attribute),使用權(quán)限超級用戶。

  2.格式

  chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目錄

  3.主要參數(shù)

  -R:遞歸處理所有的文件及子目錄。

  -V:詳細顯示修改內(nèi)容,并打印輸出。

  -:失效屬性。

  +:激活屬性。

  = :指定屬性。

  A:Atime,告訴系統(tǒng)不要修改對這個文件的最后訪問時間。

  S:Sync,一旦應(yīng)用程序?qū)@個文件執(zhí)行了寫操作,使系統(tǒng)立刻把修改的結(jié)果寫到磁盤。

  a:Append Only,系統(tǒng)只允許在這個文件之后追加數(shù)據(jù),不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統(tǒng)將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。

  i:Immutable,系統(tǒng)不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那么任何的進程只能修改目錄之下的文件,不允許建立和刪除文件。

  D:檢查壓縮文件中的錯誤。

  d:No dump,在進行文件系統(tǒng)備份時,dump程序?qū)⒑雎赃@個文件。

  C:Compress,系統(tǒng)以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之后的數(shù)據(jù);而向這個文件中寫入數(shù)據(jù)時,數(shù)據(jù)首先被壓縮之后才寫入磁盤。

  s:Secure Delete,讓系統(tǒng)在刪除這個文件時,使用0填充文件所在的區(qū)域。

  u:Undelete,當一個應(yīng)用程序請求刪除這個文件,系統(tǒng)會保留其數(shù)據(jù)塊以便以后能夠恢復(fù)刪除這個文件。

  4.說明

  chattr命令的作用很大,其中一些功能是由Linux內(nèi)核版本來支持的,如果Linux內(nèi)核版本低于2.2,那么許多功能不能實現(xiàn)。同樣-D檢查壓縮文件中的錯誤的功能,需要2.5.19以上內(nèi)核才能支持。另外,通過chattr命令修改屬性能夠提高系統(tǒng)的安全性,但是它并不適合所有的目錄。 chattr命令不能保護/、/dev、/tmp、/var目錄。

  5.應(yīng)用實例

  1.恢復(fù)/root目錄,即子目錄的所有文件

  # chattr -R +u/root

  2.用chattr命令防止系統(tǒng)中某個關(guān)鍵文件被修改

  在Linux下,有些配置文件(passwd ,fatab)是不允許任何人修改的,為了防止被誤刪除或修改,可以設(shè)定該文件的“不可修改位(immutable)”,命令如下:

  # chattr +i /etc/fstab

  sudo

  1.作用

  sudo是一種以限制配置文件中的命令為基礎(chǔ),在有限時間內(nèi)給用戶使用,并且記錄到日志中的命令,權(quán)限是所有用戶。

  2.格式

  sudo [-bhHpV] [-s ] [-u <用戶>] [指令]

  sudo [-klv]

  3.主要參數(shù)

  -b:在后臺執(zhí)行命令。

  -h:顯示幫助。

  -H:將HOME環(huán)境變量設(shè)為新身份的HOME環(huán)境變量。

  -k:結(jié)束密碼的有效期,即下次將需要輸入密碼。

  -l:列出當前用戶可以使用的命令。

  -p:改變詢問密碼的提示符號。

  -s :執(zhí)行指定的Shell。

  -u <用戶>:以指定的用戶為新身份,不使用時默認為root。

  -v:延長密碼有效期5分鐘。

  4.說明

  sudo命令的配置在/etc/sudoers文件中。當用戶使用sudo時,需要輸入口令以驗證使用者身份。隨后的一段時間內(nèi)可以使用定義好的命令,當使用配置文件中沒有的命令時,將會有報警的記錄。sudo是系統(tǒng)管理員用來允許某些用戶以root身份運行部分/全部系統(tǒng)命令的程序。一個明顯的用途是增強了站點的安全性,如果需要每天以超級用戶的身份做一些日常工作,經(jīng)常執(zhí)行一些固定的幾個只有超級用戶身份才能執(zhí)行的命令,那么用sudo是非常適合的。

  ps

  1.作用

  ps顯示瞬間進程 (process) 的動態(tài),使用權(quán)限是所有使用者。

  2.格式

  ps [options] [--help]

  3.主要參數(shù)

  ps的參數(shù)非常多, 此出僅列出幾個常用的參數(shù)。

  -A:列出所有的進程。

  -l:顯示長列表。

  -m:顯示內(nèi)存信息。

  -w:顯示加寬可以顯示較多的信息。

  -e:顯示所有進程。

  -a:顯示終端上的所有進程,包括其它用戶的進程。

  -au:顯示較詳細的信息。

  -aux:顯示所有包含其它使用者的進程。

  4.說明

  要對進程進行監(jiān)測和控制,首先要了解當前進程的情況,也就是需要查看當前進程。ps命令就是最基本、也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行、運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵尸、哪些進程占用了過多的資源等。圖2給出了ps-aux命令詳解。大部分信息都可以通過執(zhí)行該命令得到。最常用的三個參數(shù)是u、a、x。下面就結(jié)合這三個參數(shù)詳細說明ps命令的作用:ps aux

  圖2 ps-aux命令詳解

  圖2第2行代碼中,USER表示進程擁有者;PID表示進程標示符;%CPU表示占用的CPU使用率;%MEM占用的物理內(nèi)存使用率;VSZ表示占用的虛擬內(nèi)存大小;RSS為進程占用的物理內(nèi)存值;TTY為終端的次要裝置號碼。

  STAT表示進程的狀態(tài),其中D為不可中斷的靜止(I/O動作);R正在執(zhí)行中;S靜止狀態(tài);T暫停執(zhí)行;Z不存在,但暫時無法消除;W沒有足夠的內(nèi)存分頁可分配;高優(yōu)先序的進程;N低優(yōu)先序的進程;L有內(nèi)存分頁分配并鎖在內(nèi)存體內(nèi) (實時系統(tǒng)或 I/O)。START為進程開始時間。TIME為執(zhí)行的時間。COMMAND是所執(zhí)行的指令。

  4.應(yīng)用實例

  在進行系統(tǒng)維護時,經(jīng)常會出現(xiàn)內(nèi)存使用量驚人,而又不知道是哪一個進程占用了大量進程的情況。除了可以使用top命令查看內(nèi)存使用情況之外,還可以使用下面的命令:

  ps aux   sort +5n

  who

  1.作用

  who顯示系統(tǒng)中有哪些用戶登陸系統(tǒng),顯示的資料包含了使用者ID、使用的登陸終端、上線時間、呆滯時間、CPU占用,以及做了些什么。 使用權(quán)限為所有用戶。

  2.格式

  who - [husfV] [user]

  3.主要參數(shù)

  -h:不要顯示標題列。

  -u:不要顯示使用者的動作/工作。

  -s:使用簡短的格式來顯示。

  -f:不要顯示使用者的上線位置。

  -V:顯示程序版本。

  4.說明

  該命令主要用于查看當前在線上的用戶情況。如果用戶想和其它用戶建立即時通信,比如使用talk命令,那么首先要確定的就是該用戶確實在線上,不然 talk進程就無法建立起來。又如,系統(tǒng)管理員希望監(jiān)視每個登錄的用戶此時此刻的所作所為,也要使用who命令。who命令應(yīng)用起來非常簡單,可以比較準確地掌握用戶的情況,所以使用非常廣泛。

  動手練習(xí)

  1.使用Linux命令檢測系統(tǒng)入侵者

  安裝過Mandrake Linux和Red Hat Linux的用戶都會知道,Linux系統(tǒng)會內(nèi)置三種不同級別(標準、高、更高)的防火墻,當進行了Linux服務(wù)器的安裝和一些基本的設(shè)置后,服務(wù)器應(yīng)該說是比較安全的,但是也會有黑客通過各種方法利用系統(tǒng)管理員的疏忽侵入系統(tǒng)。如何快速查找黑客非常重要。一般來說,可以使用命令查詢黑客是否入侵,見表 1。

  表1 查詢黑客入侵現(xiàn)象的命令對應(yīng)表

  舉例說明,如果黑客嗅探網(wǎng)絡(luò),那么它必須使網(wǎng)卡接口處于混雜模式,使用下面命令進行查詢:

  #ifconfig -a

  eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86

  inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0

  UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1

  ......

  從這個命令的輸出中,可以看到上面講到的這些概念。第一行的00:00:E8:A0:25:86是mac地址,第二行的192.168.1.7是IP地址,第四行講的是接收數(shù)據(jù)狀態(tài),這時正在被黑客嗅探。一般而言,網(wǎng)卡有幾種接收數(shù)據(jù)幀的狀態(tài),如Broadcast、Multicast、 Promiscuous等。Broadcast是指接收所有類型為廣播報文的數(shù)據(jù)幀;Multicast是指接收特定的組播報文;Promiscuous 則是通常說的混雜模式,是指對報文中的目的硬件地址不加任何檢查、全部接收的工作模式。

  2.限制su命令的濫用

  我們知道,超級用戶在Linux中有最大的權(quán)利,幾乎所有黑客都想得到這個目標。Linux可以增加對切換到超級用戶的限制。使用PAM (Pluggable Authentication Modules)可以禁止除在wheel組以外的任何人su成root,修改/etc/pam.d/su文件,除去屏蔽標識#。使用 /usr/sbin/usermod G10 bjecadm將bjecadm這個賬號加入gid為10的組,就是wheel組。命令如下:

  /etc/pam.d/su # 使用密碼驗證#

  auth sufficient /lib/security/pam_wheel.so debug

  # 限制只有wheel組用戶才可以切換到root#

  auth required /lib/security/pam_wheel.so use_uid

  chmod -G10 bjecadm

  另外,每當用戶試圖使用su命令進入系統(tǒng)用戶時,命令將在/usr/adm/sulog文件中寫一條信息,若該文件記錄了大量試圖用su進入root的無效操作信息,則表明了可能有人企圖破譯root口令。

  Linux命令有著強大的功能。對于Linux系統(tǒng)管理員來說,往往只需要通過各種安全命令技巧,組合構(gòu)成安全防線。從計算機安全的角度看,世界上沒有絕對安全的計算機系統(tǒng),Linux系統(tǒng)也不例外。

  Linux 系統(tǒng)命令精通指南

  在“Linux 文件命令精通指南”中,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對 Linux 系統(tǒng)命令作同樣的討論。

  對于文件命令,我們在此處詳盡討論了某些相當簡單和直觀的管理命令。而只描述了其他較復(fù)雜命令的功能,以便在您需要使用時,知道存在這些命令及其用途。本文不涉及對每個命令使用背后的基本原理的詳細討論,但是我們將討論最基本和最有用的命令,這些命令用于監(jiān)視和管理打印機服務(wù)、文件系統(tǒng)、磁盤和進程。

  有關(guān)超級用戶的更多信息

  這里討論的很多命令可以由常規(guī)用戶在其自己的文件和進程中執(zhí)行。但是,某些命令,如 fdisk,需要有 root 權(quán)限才能運行。

  為了您的系統(tǒng)的完整性,建議您避免直接以 "root" 登錄到系統(tǒng)中。相反,通常更適合以常規(guī)用戶登錄,然后執(zhí)行 su 或從 X window 執(zhí)行 sux 命令來運行系統(tǒng)管理功能。(Sux 為您提供 X window 環(huán)境以及 root 權(quán)限。)當您以 root 用戶登錄時,您會始終知道您處于這種狀態(tài),因為您的提示符變?yōu)?ldquo;#”。

  超級用戶能夠使用 sudo,有選擇地將那些通常為 root 用戶或其他特殊用戶所保留的權(quán)限分配給一個不同的常規(guī)用戶。root 用戶可以定義實際和有效的用戶和組標識號 uid 和 gid,以便與預(yù)期用戶的標識相匹配。這種預(yù)期用戶可以是(但不必是)被允許運行該命令的用戶。

  換言之,超級用戶可以允許其他用戶執(zhí)行某個命令,但也可以確定由進程所產(chǎn)生的任何結(jié)果文件應(yīng)該屬于 root 用戶或任何由超級用戶指定的其他用戶。Sudo 權(quán)限一經(jīng)分配,則只需要用戶使用自己的口令進行驗證,而不需要 root 用戶口令。

  通用命令

  從技術(shù)上講,Uname、diff、date、sort 和 uniq 應(yīng)該看作文件命令,但由于它們經(jīng)常用于診斷和維護例程的系統(tǒng)管理方面,在這里解釋它們更有意義。

  Uname

  Uname 提供了常規(guī)系統(tǒng)信息。當指定 -a 選項時,顯示所有可用信息:

  $ uname -a

  Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

  在這里我們從左向右看到常規(guī)的系統(tǒng)信息。每條信息都有自己的選項(在下面的圓括號中),可以單獨顯示:

  操作系統(tǒng)名稱為 Linux(-s)。

  本機的網(wǎng)絡(luò)節(jié)點名為 linux (-n)。

  操作系統(tǒng)發(fā)布版本為 4.5.18-4GB (-r)。

  操作系統(tǒng)版本為 #1 Wed Mar 27 13:57:05 UTC 2002 (-v)。

  機器類型為 i686 (-m)。

  這里的處理器類型 (-p) 為未知。

  類似地,stty 顯示關(guān)于您的終端設(shè)置的信息:

  $ stty -a

  speed 38400 baud; rows 40; columns 103; line = 0;

  intr = ^C; quit = ^/; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; start = ^Q;

  stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

  -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck

  -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel

  opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0

  isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

  第二行和第三行顯示了將在命令行分別調(diào)用的特殊字符和鍵序列。例如,"^Z" 即 CNTRL-Z 在本系統(tǒng)中發(fā)送一個終端休止符。退出符號以 "^/" 即 CNTRL-/ 發(fā)送,而我們可以將其改為 "^X",如下所示:

  $ stty quit ^X

  在這種情況下,您實際要輸入 ^ 符號,而不是 CNTRL 鍵。這種改變只在當前窗口中起效。為了使這種改變永久生效,需要在您的 .bashrc 文件中輸入該語句。

  Diff 和 Date。顧名思義,Diff 比較兩個文件。它返回那些導(dǎo)致文件不同的行,并返回關(guān)于如何使文件變得相同的一些含義隱晦的輸出:

  $ diff test.out test2.out

  0a1

  > Another test.

  在這里我們被告知,需要將 "Another test." 這一行添加到 test.out,以便使它與 test2.out 相似。第一個字符 "0" 是要在 test.out 中編輯的行號;"a" 表示該行應(yīng)該被添加到 test.out,以便與 test2.out 的第一行 "1" 相匹配。如果我們需要更改 test.out,則第二個字符也可以是 "c",而如果我們需要從 test.out 中刪除一些內(nèi)容,則第二個字符是 "d"。

  您可能希望使一個文件與另一個文件相似,以便為某些代碼提供補丁。diff 還經(jīng)常作為分析工具,用于驗證程序或腳本 — 例如 sed 腳本 — 的輸出是否是所預(yù)期的輸出。

  date 命令可用于顯示或設(shè)置日期。如果用戶具有超級用戶權(quán)限,則他或她可以通過在以下命令中提供一個數(shù)字型字符串來設(shè)置日期:

  $ date 0101010004

  此命令將日期設(shè)置為 2004 年 (04) 1 月 1 日 (0101) 凌晨 1 時 (0100)。

  但是,任何用戶可以用所需的格式來顯示日期。注意在格式序列之前需要一個加號 "+"。如果沒有出現(xiàn)此命令的預(yù)期輸出,則嘗試將它包含在單引號中:

  $ date +´%H%M%S´

  204748

  您可以在序列中包含空格,這時您需要使用雙引號:

  $ date +"%H %M %S"

  20 47 51

  在日期的主頁上列有三十多種不同的格式序列,這些序列可以按需要結(jié)合起來,以獲得您最后的輸出格式。

  date 的輸出還可以用于腳本中,如:

  $ date -d ´2 day´

  Thu Jan 29 19:02:02 EST 2004

  -d 選項指示 date 顯示其后字符串中所描述的時間。在上例中,我們要求顯示從現(xiàn)在起(2004 年 1 月 27 日)兩天后的日期。我們也可以要求顯示三天前的日期,其命令為:

  $ date -d ´-3 day´

  Sun Jan 25 20:56:59 EST 2004

  date 多種功能的另一個示例是能夠向其輸出附加字符串,為生成唯一的文件名提供了一種便利的方法。

  $ ls -l | cat > $(date +ls_%d%b%y%H%M.out)

  $ ls ls_*.out

  ls_04Feb041633.out

  在這里,我們將一個長文件列表的輸出傳送給 cat,它將我們的輸出再傳送到一個名為 ls_04Feb041609.out 的文件。注意我們?yōu)槲募褂昧艘粋€變量,由美元符號 "$" 表示。依次將 "ls_" 和 ".out" 附加到日期,其格式為月份中的日 (%d)、本地的月份名稱縮寫 (%b)、年份的最后兩位數(shù)字 (%y)、小時 (%H) 和分鐘 (%M),從而產(chǎn)生此文件名。

  Sort 和 Uniq。 您可以從管道或從命令行所指定的文件對文本文件的行進行 sort 操作。除非另外指定,sort 對多列輸出的第一列進行操作。在默認情況下,除非使用 -n 選項,數(shù)字型的列按字母順序排序。

  Sort 列可以用兩種不同的格式指定。如果使用 -k 選項,則列的位置從 1 開始進行編號。您還可以使用 +POS1 格式,從第一列編號為零開始進行列的編號。以下兩個命令產(chǎn)生相同的輸出:

  $ ls -l *.out | sort +5 -7

  $ ls -l *.out | sort -k 6,8

  -rw-rr 1 bluher users 375 Dec 5 2002 fdisk.out

  -rw-rr 1 bluher users 2447 Dec 28 20:15 ls.out

  -rw-rr 1 bluher users 590 Jan 4 21:24 greps.out

  -rw-rr 1 bluher users 78 Jan 4 21:25 sgrep.out

  ...

  在默認情況下,sort 命令的列分隔符是空格和制表符。可以使用 -t SEP 選項指定其他分隔符,其中 SEP 是您指定的分隔符號。sort 的默認順序是從最低到最高,利用 -r 選項可以將順序顛倒。

  Sort 可用于很多不同的任務(wù)。例如,它可用于對文件輸出進行排序(如 /etc/passwd),或者如我們在下面所看到的那樣,對 du 的輸出進行排序。當使用 -m 選項時,sort 將文件合并,實際上并沒有對它們進行排序。但是,如果您希望將它們排序,就應(yīng)該在文件合并前對它們排序。

  Sort 經(jīng)常與 uniq 命令一起使用,從已排序的文件中刪除完全相同的行。uniq 命令在管道中經(jīng)常跟在 sort 命令的后面,還可以使用 -c 選項來計算某一行所出現(xiàn)的次數(shù),或者使用 -d 選項,只報告完全相同的行:

  $ sort -m test.out test2_sort.out | uniq -c

  1 Another test.

  1 Testing testing

  2 This is a test.

  在這里我們合并兩個文件 test.out 和 test2_sort.out。然后我們使用 -c 選項,將輸出傳送到 uniq,這樣最后的結(jié)果是按字母順序排列的列表,完全相同的行被刪除,并帶有一個關(guān)于每行出現(xiàn)頻率的報告。

  打印機控制

  在多數(shù)情況下,打印機命令的使用相對較為明確。通過在 lpr 命令后面指定文件名,將作業(yè)發(fā)送到打印機。如果沒有提供文件名,則假定使用標準輸入。使用 lpq 命令,您可以獲得關(guān)于發(fā)送到打印機的作業(yè)的狀態(tài)報告。當您指定作業(yè)號時,Lprm 將作業(yè)從行打印機后臺打印隊列中刪除。

  $ lpr grep2.out

  $ lpq

  Printer:lp@linux ´lpdfilter drv=upp method=auto color=yes´

  Queue:1 printable job

  Server:pid 1929 active

  Unspooler:pid 1930 active

  Status:waiting for subserver to exit at 21:24:14.637

  Rank Owner/ID Class Job Files Size Time

  active bluher@linux+928 A 928 grep2.out 779 21:24:14

  done bluher A 877 (STDIN) 117258 13:09:53

  $ lprm 928

  Printer lp@linux:

  checking perms ´cfA928linux.local´

  dequeued ´cfA928linux.local´

  在這里,當我們將作業(yè)發(fā)送到打印機后,我們查詢其狀態(tài)。Lpq 向我們顯示編號為 877 的作業(yè)已經(jīng)完成,而我們剛發(fā)送的作業(yè)編號為 928。我們使用命令 lprm 928 將活動的作業(yè)從隊列中刪除。

  磁盤信息

  無論您是維護自己的系統(tǒng)還是支持具有很多用戶的企業(yè),監(jiān)視磁盤空間都是系統(tǒng)管理員更重要的職責(zé)之一。du、df 和 fdisk 命令提供了可用磁盤空間的不同視圖。

  du 命令提供對每個目錄的文件空間使用情況的評估。在默認情況下,測量的單位是塊的數(shù)目,塊的大小通常在安裝您的系統(tǒng)時確定。

  在以下的示例中,系統(tǒng)是使用 1024 字節(jié)的塊安裝的。如果沒有指定目錄,則 du 開始對當前目錄進行計算。-h 選項以易于讀懂的形式提供大小的值:

  $ du -h Documents

  105k Documents/jj

  573k Documents/John

  682k Documents

  可以使用 -a 選項更改輸出,該選項指示 du 顯示文件和目錄的塊數(shù)。選項 block-size=SIZE 指示 du 以 SIZE 所指定字節(jié)大小的塊的數(shù)目來顯示輸出。

  $ du block-size=512 Documents

  209 Documents/jj

  1146 Documents/John

  1363 Documents

  在默認情況下,du 還為每個子目錄遞歸地打印信息。通過使用 max-depth=N 選項可以限制這種操作,其中 N 等于被報告的最大級數(shù):

  $ du max-depth=2 .

  $ du max-depth=2 | sort -n

  4 ./.xemacs

  4 ./public_html

  105 ./Documents/jj

  573 ./Documents/Ian

  682 ./Documents

  2420 ./jdevhome/system

  8350 ./jdevhome/system9.0.3.1035

  13483 ./jdevhome/mywork

  24252 ./jdevhome

  ...

  du 報告目錄和子目錄的空間使用情況,而 df 報告已安裝文件系統(tǒng)的磁盤空間使用情況:

  $ df

  Filesystem 1k-blocks Used Available Use% Mounted on

  /dev/hda6 4195632 1983656 2211976 48% /

  /dev/hda5 14607 3778 10075 28% /boot

  /dev/hda9 937372 494028 443344 53% /home

  /dev/hda8 6297248 3876880 2420368 62% /opt

  shmfs 256220 0 256220 0% /dev/shm

  在這里,df 報告了五個文件系統(tǒng)的狀態(tài)。與 du 類似,df 利用 -h 選項提供人類可讀的輸出:

  $ df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/hda6 4.0G 1.9G 2.1G 48% /

  /dev/hda5 14M 3.7M 9.8M 28% /boot

  /dev/hda9 915M 476M 440M 52% /home

  /dev/hda8 6.0G 3.7G 2.3G 62% /opt

  shmfs 250M 0 250M 0% /dev/shm

  df 命令還允許您利用 -block-size=SIZE 選項來指定塊的大小。

  fdisk 命令是 Linux 的分區(qū)表操作命令。與 du 和 df 不同,沒有 root 用戶權(quán)限時不能運行該命令。如果指定了 -l 選項,則可以將它僅用于報告的目的。它提供了您的整個分區(qū)表的完整視圖,而不僅僅是您使用 df 所看到的擴展 Linux 分區(qū):

  # fdisk -l

  Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders

  Units = cylinders of 15120 * 512 bytes

  Device Boot Start End Blocks Id System

  /dev/hda1 1 286 2162128+ c Win95 FAT32 (LBA)

  /dev/hda2 * 288 1940 12496680 5 Extended

  /dev/hda5 288 289 15088+ 83 Linux

  /dev/hda6 290 844 4195768+ 83 Linux

  /dev/hda7 845 983 1050808+ 82 Linux swap

  /dev/hda8 984 1816 6297448+ 83 Linux

  /dev/hda9 1817 1940 937408+ 83 Linux

  進程監(jiān)視

  在繁忙的多用戶系統(tǒng)中,進程監(jiān)視也是 Linux 系統(tǒng)管理員的一項重要職責(zé)。在這方面,ps 和 top 是兩個最有用的命令。

  ps 命令提供了當前運行進程的快照。

  生動翔實的一課

  以下是 ps 的最簡單形式:

  $ ps

  PID TTY TIME CMD

  3884 pts/1 00:00:00 bash

  3955 pts/2 00:00:00 more

  3956 pts/5 00:00:05 sqlplus

  PID 是進程的標識號。

  TTY 是進程所屬的終端控制臺。

  TIME 列是進程所使用的總的 CPU 時間。

  CMD 列列出正在執(zhí)行的命令行。

  使用帶有 -ef 選項的 ps,返回系統(tǒng)中所有用戶的所有進程的完整列表。如果您將此 ps 命令的結(jié)果傳送到 grep 中,則該結(jié)果更易于查看。例如:

  $ ps -ef | grep oracle

  UID PID PPID C STIME TTY TIME CMD

  oracle 1633 1 0 13:58 ?00:00:00 ora_pmon_ora1

  oracle 1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1

  oracle 1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1

  oracle 1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1

  oracle 1641 1 0 13:58 ?00:00:02 ora_smon_ora1

  oracle 1643 1 0 13:58 ?00:00:00 ora_reco_ora1

  oracle 1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1

  oracle 1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1

  oracle 1649 1 0 13:58 ?00:00:00 ora_s000_ora1

  oracle 1651 1 0 13:58 ?00:00:00 ora_d000_ora1

  注意,當您將 ps 的輸出傳送到 grep 命令時,列標題并不象在 ps 命令本身所使用時那樣正常地顯示。為便于說明,標題位于輸出的上方,以便清楚地顯示其聯(lián)系。

  雖然 uid 通常是指數(shù)字型的標識,但在第一列下指定的是用戶名,標記為 UID。

  PPID 是父進程的標識號。對于 Oracle 進程,這里的標識號為 1 — 它是 init 進程(所有進程的父進程)的 id,因為在本系統(tǒng)中安裝的 Oracle 是作為登錄進程的一部分而啟動的。

  標為 C 的列是由 CPU 用于計算執(zhí)行優(yōu)先級的因子。

  STIME 是指進程的啟動時間。

  問號表示這些進程不屬于任何 TTY,因為它們是由系統(tǒng)啟動的。

  以下是 ps 命令帶有某些不同選項的另一個示例。注意,其中很多列與執(zhí)行帶有 -ef 選項的 ps 時的列相同:

  $ ps aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  bluh 4024 0.0 0.2 2240 1116 pts/1 S 20:59 0:00 su bluher

  bluh 4025 0.0 0.3 2856 1668 pts/1 S 20:59 0:00 bash

  bluh 4051 0.0 0.2 2488 1504 pts/1 R 21:01 0:00 ps aux

  bluh 4052 0.0 0.1 1636 600 pts/1 S 21:01 0:00 grep bluher

  除了提供重要的診斷信息,ps 命令還經(jīng)常用于找出失控進程的 PID。例如,您的一個用戶在 SQL*Plus 會話中輸入一個笛卡爾聯(lián)接。您可以執(zhí)行以下的 ps 命令來找出其 PID:

  $ ps -ef | grep bluher

  ...

  bluher 4068 4064 0 21:14 pts/6 00:00:00 less

  bluher 4112 3945 0 21:28 pts/5 00:08:42 sqlplus

  ...

  然后您可以使用以下命令將其終止:

  $ kill 4112

  常規(guī)用戶可以看到所有的系統(tǒng)進程,但他們只能終止他們自己擁有的進程。

  Ps 只為您提供當前進程的快照。要即時查看最活躍的進程,可使用 top。Top 實時地提供進程信息。它還擁有交互式的狀態(tài),允許用戶輸入命令,如 n 后面跟有 5 或 10 等數(shù)字。其結(jié)果是指示 top 顯示 5 或 10 個最活躍的進程。Top 持續(xù)運行,直到您按 "q" 退出 top 為止。

  以下是 top 的部分顯示:

  8:14pm up 51 min, 7 users, load average: 0.02, 0.03, 0.05

  96 processes:87 sleeping, 2 running, 0 zombie, 7 stopped

  CPU states:6.4% user, 3.5% system, 0.0% nice, 89.9% idle

  Mem:512440K av, 392288K used, 120152K free, 0K shrd, 55668K buff

  Swap:1050800K av, 0K used, 1050800K free 236128K cached

  PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND

  1289 root 18 0 78008 11M 1796 R 3.7 2.2 0:49 X

  1965 bluher 20 0 12244 11M 10456 S 1.9 2.3 0:01 kdeinit

  1986 bluher 18 0 996 996 768 R 1.5 0.1 0:00 top

  1803 bluher 20 0 16960 16M 13508 S 0.9 3.3 0:03 kdeinit

  1804 bluher 20 0 16964 16M 13508 S 0.9 3.3 0:03 kdeinit

  1800 bluher 19 0 12260 11M 10076 S 0.1 2.3 0:04 kdeinit

  1 root 20 0 220 220 188 S 0.0 0.0 0:04 init

  ...

  關(guān)閉

  看來應(yīng)該以 shutdown 命令來結(jié)束本次討論。與本文以及上一篇文章中所討論的許多命令一樣,通常有一種 GUI 形式的替代方法可以關(guān)閉您的系統(tǒng)。但是,當您需要手動關(guān)閉時,您可以使用以下命令立即進行關(guān)閉:

  $ shutdown -h now

  您可以使用以下命令手動地重新啟動系統(tǒng):

  $ shutdown -r now

  注意這兩個命令都需要指定時間。您可以指定 "now" 或使用帶有時間秒數(shù)的 -t 選項。

  我們在這兩篇文章中討論了大量內(nèi)容,但我們絕對無法涵蓋 Linux 可能具有的全部內(nèi)容。我們沒有討論的命令還有很多,而我們沒有看到的命令選項則更多。但是,在這里我們希望您至少找到了開始管理 Linux 系統(tǒng)所需的最少限度的工具。

  Linux開發(fā)中的常用命令

  基本操作命令:

  -----------------------------------------

  ls #以默認方式顯示當前目錄文件列表

  ls –a #顯示所有文件包括隱藏文件

  ls –l #顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執(zhí)行

  ls --color=never *.so > obj #不顯示文字顏色,將所有so文件記錄到obj文件中

  ----------------------------------------------------------------------

  cd dir #切換到當前目錄下的dir目錄

  cd / #切換到根目錄

  cd .. #切換到到上一級目錄

  cd ../.. #切換到上二級目錄

  cd ~ #切換到用戶目錄,比如是root用戶,則切換到/root下

  ----------------------------------------------------------------------

  rm file #刪除某一個文件

  rm -fr dir #刪除當前目錄下叫dir的整個目錄

  ----------------------------------------------------------------------

  cp source target #將文件source 復(fù)制為 target

  cp /root/source . #將/root下的文件source復(fù)制到當前目錄

  cp –av soure_dir target_dir #將整個目錄復(fù)制,兩目錄完全一樣

  cp –fr source_dir target_dir #將整個目錄復(fù)制,并且是以非鏈接方式復(fù)制,當source目錄帶有符號鏈接時,兩個目錄不相同

  ----------------------------------------------------------------------

  mv source target #將文件source更名為target

  ---------------------------------------------------------------------

  diff dir1 dir2 #比較目錄1與目錄2的文件列表是否相同,但不比較文件的實際內(nèi)容,不同則列出

  diff file1 file2 #比較文件1與文件2的內(nèi)容是否相同,如果是文本格式的文件,則將不相同的內(nèi)容顯示,如果是二進制代碼則只表示兩個文件是不同的

  comm file1 file2 #比較文件,顯示兩個文件不相同的內(nèi)容

  ---------------------------------------------------------------------

  echo message #顯示一串字符

  echo "message message2" #顯示不連續(xù)的字符串

  cat:

  cat file #顯示文件的內(nèi)容,和DOS的type相同

  cat file | more #顯示文件的內(nèi)容并傳輸?shù)絤ore程序?qū)崿F(xiàn)分頁顯示,使用命令less file可實現(xiàn)相同的功能

  more #分頁命令,一般通過管道將內(nèi)容傳給它,如ls | more

  ----------------------------------------------------------------------

  export LC_ALL=zh_CN.GB2312 #將環(huán)境變量LC_ALL的值設(shè)為zh_CN.GB2312

  export DISPLAY=0:0 #通過該設(shè)置,當前字符終端下運行的圖形程序可直接運行于Xserver

  date #顯示當前日期時間

  date -s 20:30:30 #設(shè)置系統(tǒng)時間為20:30:30

  date -s 2002-3-5 #設(shè)置系統(tǒng)時期為2003-3-5

  clock –r #對系統(tǒng)Bios中讀取時間參數(shù)

  clock –w #將系統(tǒng)時間(如由date設(shè)置的時間)寫入Bios

  ----------------------------------------------------------------------

  eject #umout掉CDROM并將光碟彈出,但cdrom不能處于busy的狀態(tài),否則無效

  ---------------------------------------------------------------------

  du #計算當前目錄的容量

  du -sm /root #計算/root目錄的容量并以M為單位

  find -name /path file #在/path目錄下查找看是否有文件file

  grep -ir “chars” #在當前目錄的所有文件查找字串chars,并忽略大小寫,-i為大小寫,-r為下一級目錄

  ----------------------------------------------------------------------

  vi file #編輯文件file

  vi 原基本使用及命令:

  輸入命令的方式為先按ctrl+c, 然后輸入:x(退出),:x!(退出并保存) :w(寫入文件),:w!(不詢問方式寫入文件), :r file(讀文件file) ,:%s/oldchars/newchars/g(將所有字串oldchars換成newchars) 這一類的命令進行操作

  ----------------------------------------------------------------------

  man ls #讀取關(guān)于ls命令的幫助

  man ls | grep color #讀取關(guān)于ls命令的幫助并通過grep程序在其中查找color字串

  ----------------------------------------------------------------------

  startx #運行Linux圖形有環(huán)境

  Xfree86 #只運行X圖形server

  ----------------------------------------------------------------------

  reboot #重新啟動計算機

  halt #關(guān)閉計算機

  init 0 #關(guān)閉所有應(yīng)用程序和服務(wù),進入純凈的操作環(huán)境

  init 1 #重新啟動應(yīng)用及服務(wù)

  init 6 #重新啟動計算機

  ----------------------------------------------------------------------

  擴展命令

  ---------------------------------------------------------------------- ----------------------------------------------------------------------

  tar xfzv file.tgz #將文件file.tgz解壓

  tar xfzv file.tgz -C target_path #將文件file.tgz解壓到target_path目錄下

  tar cfzv file.tgz source_path #將文件source_path壓縮為file.tgz

  tar c directory > directory.tar #將目錄directory打包成不壓縮的directory.tar

  gzip directory.tar #將覆蓋原文件生成壓縮的 directory.tar.gz

  gunzip directory.tar.gz #覆蓋原文件解壓生成不壓縮的 directory.tar。

  tar xf directory.tar #可將不壓縮的文件解包

  ----------------------------------------------------------------------

  dmesg #顯示kernle啟動及驅(qū)動裝載信息

  uname #顯示操作系統(tǒng)的類型

  uname -R #顯示操作系統(tǒng)內(nèi)核的version

  ----------------------------------------------------------------------

  strings file 顯示file文件中的ASCII字符內(nèi)容

  ----------------------------------------------------------------------

  rpm -ihv program.rpm #安裝程序program并顯示安裝進程

  rpm2targz program.rpm program.tgz #將rpm格式的文件轉(zhuǎn)換成tarball格式

  ----------------------------------------------------------------------

  su root #切換到超級用戶

  sulogin /dev/tty4 #在tty4即alt+F4終端等待用戶登陸或直接登陸開啟一個shell

  chmod a+x file #將file文件設(shè)置為可執(zhí)行,腳本類文件一定要這樣設(shè)置一個,否則得用bash file才能執(zhí)行

  chmod 666 file #將文件file設(shè)置為可讀寫

  chown user /dir #將/dir目錄設(shè)置為user所有

  ----------------------------------------------------------------------

  mknod /dev/hda1 b 3 1 #創(chuàng)建塊設(shè)備hda1,主設(shè)備號為3,從設(shè)備號為1,即master硬盤的的第一個分區(qū)

  mknod /dev/tty1 c 4 1 #創(chuàng)建字符設(shè)備tty1,主設(shè)備號為4,眾設(shè)備號為1,即第一個tty終端

  ----------------------------------------------------------------------

  touch /tmp/running #在/tmp下創(chuàng)建一個臨時文件running,重新啟動后消失

  ----------------------------------------------------------------------

  sleep 9 #系統(tǒng)掛起9秒鐘的時間

  ----------------------------------------------------------------------

  lpd stop 或 cups stop #停止打印服務(wù)程序

  lpd start 或 cups start #啟動打印服務(wù)程序

  lpd restart 或 cups restart #重新啟動打印服務(wù)程序

  lpr file.txt #打印文件file.txt

  ----------------------------------------------------------------------

  fdisk /dev/hda #就像執(zhí)行了dos的fdisk一樣

  cfdisk /dev/hda #比fdisk界面稍為友好些

  mount -t ext2 /dev/hda1 /mnt #把/dev/hda1裝載到 /mnt目錄

  df #顯示文件系統(tǒng)裝載的相關(guān)信息

  mount -t iso9660 /dev/cdrom /mnt/cdrom #將光驅(qū)加載到/mnt/cdrom目錄

  mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #將windows的的共享目錄加載到/mnt/smb目錄,用戶名及密碼均為tomlinux

  mount -t nfs 192.168.1.1:/sharedir /mnt #將nfs服務(wù)的共享目錄sharedir加載到/mnt/nfs目錄

  umount /mnt #將/mnt目錄卸載,/mnt目錄必須處于空閑狀態(tài)

  umount /dev/hda1 #將/dev/hda1設(shè)備卸載,設(shè)備必須處于空親狀態(tài)

  sync #將cache中的內(nèi)容與磁盤同步,在Linux中復(fù)制文件,一般要系統(tǒng)空閑才去寫文件

  e2fsck /dev/hda1 #檢查/dev/hda1是否有文件系統(tǒng)錯誤,提示修復(fù)方式

  e2fsck -p /dev/hda1#檢查/dev/hda1是否有錯誤,如果有則自動修復(fù)

  e2fsck -y /dev/hda1#檢查錯誤,所有提問均于yes方式執(zhí)行

  e2fsck -c /dev/hda1#檢查磁盤是否有壞區(qū)

  mkfs /dev/hda1 #格式化/dev/hda1為ext2格式

  mkfs.minix /dev/hda1 #格式化/dev/hda1為minix格式文件系統(tǒng)

  mfks /dev/hda9 #格工化/dev/hda9為Linux swap格式

  swapon /dev/hda9 #將swap分區(qū)裝載當作內(nèi)存來用

  swapoff /dev/hda9 #將swap分區(qū)卸載

  ----------------------------------------------------------------------

  lilo #運行l(wèi)ilo程序,程序自動查找/etc/lilo.conf并按該配置生效

  lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效

  grub #在Linux shell狀態(tài)下運行boot loader設(shè)置程序

  grub-install #安裝grub磁盤引導(dǎo)程序,成功后升級內(nèi)核無須像lilo一樣要重新啟動系統(tǒng),只需修改/etc/grub.conf即可實現(xiàn)新引導(dǎo)配置

  rdev bzImage #顯示kernel的根分區(qū)信息

  rdev bzImage /dev/hda1 #將kernel的根分區(qū)設(shè)置為/dev/hda1,這在沒有l(wèi)ilo等引導(dǎo)程序的系統(tǒng)中非常重要.

  ----------------------------------------------------------------------

  dd if=/dev/fd0 of=floppy.fd #將軟盤的內(nèi)容復(fù)制成一個鏡像,功能與舊石器時代常用的hd-copy相同

  dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一個大小為1M的塊設(shè)備,可以把它當作硬盤的一個分區(qū)來用

  mkfs root.ram #將塊設(shè)備格式化為ext2格式

  dd if=root.ram of=/dev/ram0 #將init.rd格式的root.ram的內(nèi)容導(dǎo)入內(nèi)存

  mount /dev/ram0 /mnt #ramdisk /dev/ram0裝載到/mnt 目錄

  ----------------------------------------------------------------------

  gcc hello.c #將hello.c編譯成名為a.out二進制執(zhí)行文件

  gcc hello.c -o hello #將hello.c編譯成名為hello的二進制執(zhí)行文件

  gcc -static -o hello hello.c #將hello.c編譯成名為hello的二進制靜態(tài)執(zhí)行文件

  ldd program #顯示程序所使用了哪些庫

  objcopy -S program #將程序中的符號表及無用的調(diào)試信息去掉,可以小很多

  ----------------------------------------------------------------------

  strace netscape #跟蹤程序netscape的執(zhí)行,看調(diào)用的庫,環(huán)境變量設(shè)置,配置文件,使用的設(shè)備,調(diào)用的其它應(yīng)用程序等,在strace下,程序干了什么東東一目了然。

  ps #顯示當前系統(tǒng)進程信息

  ps –ef #顯示系統(tǒng)所有進程信息

  kill -9 500 #將進程編號為500的程序干掉

  killall -9 netscape #將所有名字為netscape的程序殺死,kill不是萬能的,對僵死的程序則無效。

  top #顯示系統(tǒng)進程的活動情況,按占CPU資源百分比來分

  free #顯示系統(tǒng)內(nèi)存及swap使用情況

  time program #在program程序結(jié)束后,將計算出program運行所使用的時間

  ----------------------------------------------------------------------

  chroot . #將根目錄切換至當前目錄,調(diào)試新系統(tǒng)時使用

  chroot /tomlinux #將根目錄切換至/tomlinux目錄

  chroot /tomlinux sbin/init #將根目錄切換至/tomlinux并執(zhí)行sbin/init

  adduser id #增加一個叫id的用戶

  userdel id #增除叫id的用戶

  userlist #顯示已登陸的用戶列表

  passwd id #修改用戶id的密碼

  passwd -d root #將root用戶的密碼刪除

  chown id /work #指定/work目錄為id用戶所擁有

  ----------------------------------------------------------------------

  ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #設(shè)置網(wǎng)卡1的地址192.168.1.1,掩碼為255.255.255.0,不寫netmask參數(shù)則默認為255.255.255.0

  ifconfig eth0:1 192.168.1.2 #捆綁網(wǎng)卡1的第二個地址為192.168.1.2

  ifconfig eth0:x 192.168.1.x #捆綁網(wǎng)卡1的第二個地址為192.168.1.x

  ifconfig down eth1 #關(guān)閉第二塊網(wǎng)卡,使其停止工作

  hostname -F tomlinux.com #將主機名設(shè)置為tomlinux.com

  route #顯示當前路由設(shè)置情況

  route add default gw 192.168.1.1 metric 1 #設(shè)置192.168.1.1為默認的路由

  route del default #將默認的路由刪除

  dhcp #啟動dhcp服務(wù)

  dhclient #啟動dhcp終端并自動獲取IP地址

  ping 163.com #測試與163.com的連接

  ping 202.96.128.68 #測試與IP 202。96.128.68的連接

  ----------------------------------------------------------------------

  probe rtl8139 #檢查驅(qū)動程序rtl8139.o是否正常工作

  lsmod #顯示已裝載的驅(qū)動程序

  insmod rtl8139.o #裝載驅(qū)動程序rtl8139.o

  insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #裝載驅(qū)動程序并設(shè)置相關(guān)的irq,dma參數(shù)

  rmmod rtl8139 #刪除名為rtl8139的驅(qū)動模塊

  gpm -k #停止字符狀態(tài)下的mouse服務(wù)

  gpm -t ps2 #在字符狀態(tài)下以ps2類型啟動mouse的服務(wù)

  ----------------------------------------------------------------------

  telnet 192.168.1.1 #登陸IP為192.168.1.1的telnet服務(wù)器

  telnet iserver.com #登陸域名為iserver.com的telnet服務(wù)器

  ftp 192.168.1.1 或 ftp iserver.com #登陸到ftp服務(wù)

  Linux系統(tǒng)命令整理:磁盤管理篇

  LINUX中增加硬盤:

  1、裝上硬盤

  IDE和SCSI方法各有不同

  2、讓計算機認出硬盤

  IDE和SCSI方法各有不同

  3、分區(qū)

  啟動Linux,然后給新硬盤分區(qū): 以root身份,執(zhí)行 fdisk /dev/hdb.

  [主分區(qū),Linux native]

  4、格式化新硬盤

  mke2fs -cv /dev/hdb1

  [詳細的輸出和檢查壞塊]

  5、創(chuàng)建一個mount point。

  決定你想把它Mount在那里,并創(chuàng)建這個mount point。

  例如,你想把它作為/mnt/drive2,以root身份執(zhí)行:

  cd /mnt

  mkdir drive2

  6、測試

  以root身份,執(zhí)行: mount -t ext2 /dev/hdb1 /mnt/drive2. 如果沒有錯誤信息,cd /mnt/drive2, 然后試著創(chuàng)建一個目錄,并創(chuàng)建幾個文件。如果可以,那就行了。繼續(xù)最后的幾步。

  7、修改 /etc/fstab.

  把下面的行加到/etc/fstab文件里:

  /dev/hdb1 /mnt/drive2 ext2 defaults 1 1

  8、重新啟動,看看新硬盤是否被自動mounts上了。

  Yves Bellefeuille的Hard-Disk-Upgrade miniHOWTO文檔包含了一些上面的信息,但大都是針對另外一些不同的情況的。

  Posted by Peak at May 21, 2004 02:19 AM | Comments (0) | TrackBack (0)

  Linux系統(tǒng)命令(磁盤管理)

  sync

  symlinks(symbolic links)

  swapon

  swapoff

  sfdisk

  mpartition

  mkswap

  mkisofs(make iso file system)

  mkinitrd(make initial ramdisk images)

  mkfs(make file system)

  mkfs.minix

  mke2fs(make ext2 file system)

  mkdosfs(make Dos file system)

  mkbootdisk(make boot disk)

  mformat

  mbadblocks

  losetup(loop setup)

  hdparm(hard disk parameters)

  fsconf(file system configurator)

  fsck(file system check)

  fsck.minix(file system check-minix filesystem)

  fsck.ext2(file system check-second filesystem)

  fdisk

  ext2ed(ext2 file system editor)

  e2fsck(ext2 file system check)

  dd

  cfdisk

  badblocks

  ==================================

  sync

  功能說明:將內(nèi)存緩沖區(qū)內(nèi)的數(shù)據(jù)寫入磁盤。

  語 法:sync [--help][--version]

  補充說明:在Linux系統(tǒng)中,當數(shù)據(jù)需要存入磁盤時,通常會先放到緩沖區(qū)內(nèi),等到適當?shù)臅r刻再寫入磁盤,如此可提高系統(tǒng)的執(zhí)行效率。

  參 數(shù):

  --help 顯示幫助。

  --version 顯示版本信息。

  -----------------------------------------------

  symlinks(symbolic links)

  功能說明:維護符號連接的工具程序。

  語 法:symlinks [-cdrstv][目錄]

  補充說明:symlinks可檢查目錄中的符號連接,并顯示符號連接類型。以下為symlinks可判斷的符號連接類型:

  absolute:符號連接使用了絕對路徑。

  dangling:原始文件已經(jīng)不存在。

  lengthy:符號連接的路徑中包含了多余的"../"。

  messy:符號連接的路徑中包含了多余的"/"。

  other_fs:原始文件位于其他文件系統(tǒng)中。

  relative:符號連接使用了相對路徑。

  參 數(shù):

  -c 將使用絕對路徑的符號連接轉(zhuǎn)換為相對路徑。

  -d 移除dangling類型的符號連接。

  -r 檢查目錄下所有子目錄中的符號連接。

  -s 檢查lengthy類型的符號連接。

  -t 與-c一并使用時,會顯示如何將絕對路徑的符號連接轉(zhuǎn)換為相對路徑,但不會實際轉(zhuǎn)換。

  -v 顯示所有類型的符號連接。

  ----------------------------------------------

  swapon

  功能說明:啟動系統(tǒng)交換區(qū)(swap area)。

  語 法:swapon [-ahsV][-p <優(yōu)先順序>][設(shè)備]

  補充說明:Linux系統(tǒng)的內(nèi)存管理必須使用交換區(qū)來建立虛擬內(nèi)存。

  -a 將/etc/fstab文件中所有設(shè)置為swap的設(shè)備,啟動為交換區(qū)。

  -h 顯示幫助。

  -p<優(yōu)先順序> 指定交換區(qū)的優(yōu)先順序。

  -s 顯示交換區(qū)的使用狀況。

  -V 顯示版本信息。

  ----------------------------------------------

  swapoff

  功能說明:關(guān)閉系統(tǒng)交換區(qū)(swap area)。

  語 法:swapoff [設(shè)備]

  補充說明:swapoff實際上為swapon的符號連接,可用來關(guān)閉系統(tǒng)的交換區(qū)。

  sfdisk

  功能說明:硬盤恩區(qū)工具程序。

  語 法:sfdisk [-?Tvx][-d <硬盤>][-g <硬盤>][-l <硬盤>][-s <分區(qū)>][-V <硬盤>]

  補充說明:sfdisk為硬盤分區(qū)工具程序,可顯示分區(qū)的設(shè)置信息,并檢查分區(qū)是否正常。

  參 數(shù):

  -?或--help 顯示幫助。

  -d<硬盤> 顯示硬盤分區(qū)的設(shè)置。

  -g<硬盤>或--show-geometry<硬盤> 顯示硬盤的CHS參數(shù)。

  -l<硬盤> 顯示后硬盤分區(qū)的相關(guān)設(shè)置。

  -s<分區(qū)> 顯示分區(qū)的大小,單位為區(qū)塊。

  -T或--list-types 顯示所有sfdisk能辨識的文件系統(tǒng)ID。

  -v或--version 顯示版本信息。

  -V<硬盤>或--verify<硬盤> 檢查硬盤分區(qū)是否正常。

  -x或--show-extend 顯示擴展分區(qū)中的邏輯分區(qū)。

  --------------------------------------------

  mpartition

  功能說明:建立或刪除MS-DOS的分區(qū)。

  語 法:mpartition [-acdfIprv][-b <磁區(qū)數(shù)>][-h <磁頭數(shù)>][l <磁區(qū)數(shù)>][-s <磁區(qū)數(shù)>][-t <柱面數(shù)>][驅(qū)動器代號]

  補充說明:mpartition為mtools工具指令,可建立或刪除磁盤分區(qū)。

  參 數(shù):

  -a 將分區(qū)設(shè)置為可開機分區(qū)。

  -b<磁區(qū)數(shù)> 建立分區(qū)時,指定要從第幾個磁區(qū)開始建立分區(qū)。

  -c 建立分區(qū)。

  -d 將分區(qū)設(shè)置為無法開機的分區(qū)。

  -f 強制地修改分區(qū)而不管檢查時發(fā)生的錯誤信息。

  -h<磁頭數(shù)> 建立分區(qū)時,指定分區(qū)的磁頭數(shù)。

  -I 刪除全部的分區(qū)。

  -l<磁區(qū)數(shù)> 建立分區(qū)時,指定分區(qū)的容量大小,單位為磁區(qū)數(shù)。

  -p 當要重新建立分區(qū)時,顯示命令列。

  -r 刪除分區(qū)。

  -s<磁區(qū)數(shù)> 建立分區(qū)時,指定每個磁軌的磁區(qū)數(shù)。

  -t<柱面數(shù)> 建立分區(qū)時,指定分區(qū)的柱面數(shù)。

  -v 與-p參數(shù)一并使用,若沒有同時下達修改分區(qū)的命令,則顯示目前分區(qū)的狀態(tài)。

  mkswap

  功能說明:設(shè)置交換區(qū)(swap area)。

  語 法:mkswap [-cf][-v0][-v1][設(shè)備名稱或文件][交換區(qū)大小]

  補充說明:mkswap可將磁盤分區(qū)或文件設(shè)為Linux的交換區(qū)。

  參 數(shù):

  -c 建立交換區(qū)前,先檢查是否有損壞的區(qū)塊。

  -f 在SPARC電腦上建立交換區(qū)時,要加上此參數(shù)。

  -v0 建立舊式交換區(qū),此為預(yù)設(shè)值。

  -v1 建立新式交換區(qū)。

  [交換區(qū)大小] 指定交換區(qū)的大小,單位為1024字節(jié)。

  ----------------------------------------------

  mkisofs(make iso file system)

  功能說明:建立ISO 9660映像文件。

  語 法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A <應(yīng)用程序ID>][-abstract <摘要文件>][-b <開機映像文件>][-biblio ][-c <開機文件名稱>][-C <盤區(qū)編號,磁區(qū)編號>][-copyright <版權(quán)信息文件>][-hide <目錄或文件名>][-hide-joliet <文件或目錄名>][-log-file <記錄文件>][-m <目錄或文件名>][-M <開機映像文件>][-o <映像文件>][-p <數(shù)據(jù)處理人>][-P

  <光盤發(fā)行人>][-sysid <系統(tǒng)ID >][-V <光盤ID >][-volset <卷冊集ID>][-volset-size <光盤總數(shù)>][-volset-seqno <卷冊序號>][-x <目錄>][目錄或文件]

  補充說明:mkisofs可將指定的目錄與文件做成ISO 9660格式的映像文件,以供刻錄光盤。

  參 數(shù):

  -a或--all mkisofs通常不處理備份文件。使用此參數(shù)可以把備份文件加到映像文件中。

  -A<應(yīng)用程序ID>或-appid<應(yīng)用程序ID> 指定光盤的應(yīng)用程序ID。

  -abstract<摘要文件> 指定摘要文件的文件名。

  -b<開機映像文件>或-eltorito-boot<開機映像文件> 指定在制作可開機光盤時所需的開機映像文件。

  -biblio 指定ISBN文件的文件名,ISBN文件位于光盤根目錄下,記錄光盤的ISBN。

  -c<開機文件名稱> 制作可開機光盤時,mkisofs會將開機映像文件中的全-eltorito-catalog<開機文件名稱>全部內(nèi)容作成一個文件。

  -C<盤區(qū)編號,盤區(qū)編號> 將許多節(jié)區(qū)合成一個映像文件時,必須使用此參數(shù)。

  -copyright<版權(quán)信息文件> 指定版權(quán)信息文件的文件名。

  -d或-omit-period 省略文件后的句號。

  -D或-disable-deep-relocation ISO 9660最多只能處理8層的目錄,超過8層的部分,RRIP會自動將它們設(shè)置成ISO 9660兼容的格式。使用-D參數(shù)可關(guān)閉此功能。

  -f或-follow-links 忽略符號連接。

  -h 顯示幫助。

  -hide<目錄或文件名> 使指定的目錄或文件在ISO 9660或Rock RidgeExtensions的系統(tǒng)中隱藏。

  -hide-joliet<目錄或文件名> 使指定的目錄或文件在Joliet系統(tǒng)中隱藏。

  -J或-joliet 使用Joliet格式的目錄與文件名稱。

  -l或-full-iso9660-filenames 使用ISO 9660 32字符長度的文件名。

  -L或-allow-leading-dots 允許文件名的第一個字符為句號。

  -log-file<記錄文件> 在執(zhí)行過程中若有錯誤信息,預(yù)設(shè)會顯示在屏幕上。

  -m<目錄或文件名>或-exclude<目錄或文件名> 指定的目錄或文件名將不會房入映像文件中。

  -M<映像文件>或-prev-session<映像文件> 與指定的映像文件合并。

  -N或-omit-version-number 省略ISO 9660文件中的版本信息。

  -o<映像文件>或-output<映像文件> 指定映像文件的名稱。

  -p<數(shù)據(jù)處理人>或-preparer<數(shù)據(jù)處理人> 記錄光盤的數(shù)據(jù)處理人。

  -print-size 顯示預(yù)估的文件系統(tǒng)大小。

  -quiet 執(zhí)行時不顯示任何信息。

  -r或-rational-rock 使用Rock Ridge Extensions,并開放全部文件的讀取權(quán)限。

  -R或-rock 使用Rock Ridge Extensions。

  -sysid<系統(tǒng)ID> 指定光盤的系統(tǒng)ID。

  -T或-translation-table 建立文件名的轉(zhuǎn)換表,適用于不支持Rock Ridge Extensions的系統(tǒng)上。

  -v或-verbose 執(zhí)行時顯示詳細的信息。

  -V<光盤ID>或-volid<光盤ID> 指定光盤的卷冊集ID。

  -volset-size<光盤總數(shù)> 指定卷冊集所包含的光盤張數(shù)。

  -volset-seqno<卷冊序號> 指定光盤片在卷冊集中的編號。

  -x<目錄> 指定的目錄將不會放入映像文件中。

  -z 建立通透性壓縮文件的SUSP記錄,此記錄目前只在Alpha機器上的Linux有效。

  -----------------------------------------

  mkinitrd(make initial ramdisk images)

  功能說明:建立要載入ramdisk的映像文件。

  語 法:mkinitrd [-fv][--omit-scsi-modules][--version][--preload=<模塊名稱>][--with=<模塊名稱>][映像文件][Kernel 版本]

  補充說明:mkinitrd可建立映像文件,以供Linux開機時載入ramdisk。

  參 數(shù):

  -f 若指定的映像問家名稱與現(xiàn)有文件重復(fù),則覆蓋現(xiàn)有的文件。

  -v 執(zhí)行時顯示詳細的信息。

  --omit-scsi-modules 不要載入SCSI模塊。

  --preload=<模塊名稱> 指定要載入的模塊。

  --with=<模塊名稱> 指定要載入的模塊。

  --version 顯示版本信息。

  mkfs(make file system)

  功能說明:建立各種文件系統(tǒng)。

  語 法:mkfs [-vV][fs][-f <文件系統(tǒng)類型>][設(shè)備名稱][區(qū)塊數(shù)]

  補充說明:mkfs本身并不執(zhí)行建立文件系統(tǒng)的工作,而是去調(diào)用相關(guān)的程序來執(zhí)行。

  參 數(shù):

  fs 指定建立文件系統(tǒng)時的參數(shù)。

  -t<文件系統(tǒng)類型> 指定要建立何種文件系統(tǒng)。

  -v 顯示版本信息與詳細的使用方法。

  -V 顯示簡要的使用方法。

  --------------------------------------------

  mkfs.minix

  功能說明:建立Minix文件系統(tǒng)。

  語 法:mkfs.minix [-cv][-i ][-l <文件>][-n <文件名長度>][設(shè)備名稱][區(qū)塊數(shù)]

  補充說明:mkfs.minix可建立Minix文件系統(tǒng)。

  參 數(shù):

  -c 檢查是否有損壞的區(qū)塊。

  -i 指定文件系統(tǒng)的inode總數(shù)。

  -l<文件> 從指定的文件中,讀取文件系統(tǒng)中損壞區(qū)塊的信息。

  -n<文件名長度> 指定文件名稱長度的上限。

  -v 建立第2版的Minix文件系統(tǒng)。

  ---------------------------------------

  mke2fs(make ext2 file system)

  功能說明:建立ext2文件系統(tǒng)。

  語 法:mke2fs [-cFMqrSvV][-b <區(qū)塊大小>][-f <不連續(xù)區(qū)段大小>][-i <字節(jié)>][-N ][-l <文件>][-L <標簽>][-m <百分比值>][-R=<區(qū)塊數(shù)>][ 設(shè)備名稱][區(qū)塊數(shù)]

  補充說明:mke2fs可建立Linux的ext2文件系統(tǒng)。

  參 數(shù):

  -b<區(qū)塊大小> 指定區(qū)塊大小,單位為字節(jié)。

  -c 檢查是否有損壞的區(qū)塊。

  -f<不連續(xù)區(qū)段大小> 指定不連續(xù)區(qū)段的大小,單位為字節(jié)。

  -F 不管指定的設(shè)備為何,強制執(zhí)行mke2fs。

  -i<字節(jié)> 指定"字節(jié)/inode"的比例。

  -N 指定要建立的inode數(shù)目。

  -l<文件> 從指定的文件中,讀取文件西中損壞區(qū)塊的信息。

  -L<標簽> 設(shè)置文件系統(tǒng)的標簽名稱。

  -m<百分比值> 指定給管理員保留區(qū)塊的比例,預(yù)設(shè)為5%。

  -M 記錄最后一次掛入的目錄。

  -q 執(zhí)行時不顯示任何信息。

  -r 指定要建立的ext2文件系統(tǒng)版本。

  -R=<區(qū)塊數(shù)> 設(shè)置磁盤陣列參數(shù)。

  -S 僅寫入superblock與group descriptors,而不更改inode able inode bitmap以及block bitmap。

  -v 執(zhí)行時顯示詳細信息。

  -V 顯示版本信息。

  --------------------------------------------

  mkdosfs(make Dos file system)

  功能說明:建立MS-DOS文件系統(tǒng)。

  語 法:mkdosfs [-cv][-f ][-F ][-i <磁盤序號>][-l <文件名>][-m <信息文件>][-n <標簽>][-r <根目錄項目數(shù)>][-s <磁區(qū)數(shù)>][設(shè)備名稱][區(qū)塊數(shù)]

  補充說明:mkdosfs可在Linux下,將磁盤格式化為MS-DOS文件系統(tǒng)的格式。

  參 數(shù):

  -c 檢查是否有損壞的區(qū)塊。

  -f 指定FAT的數(shù)目,目前支持1與2兩種選項。

  -F 指定FAT記錄的單位為12或16位。

  -i<磁盤序號> 設(shè)置文件系統(tǒng)的磁盤序號。

  -l<文件名> 從指定的文件中,讀取文件系統(tǒng)中損壞區(qū)塊的信息。

  -m<信息文件> 若以次文件系統(tǒng)開機,而卻因操作系統(tǒng)沒有正常安裝,則會顯示選項中所指定的信息文件內(nèi)容。

  -n<標簽> 設(shè)置文件系統(tǒng)的磁盤標簽名稱。

  -r<根目錄項目數(shù)> 設(shè)置根目錄最多能記載項目數(shù)。

  -s<磁區(qū)數(shù)> 指定每個叢集所包含的磁區(qū)數(shù)。

  -v 執(zhí)行時顯示詳細的信息。

  ---------------------------------------------------

  mkbootdisk(make boot disk)

  功能說明:建立目前系統(tǒng)的啟動盤。

  語 法:mkbootdisk [--noprompt][--verbose][--version][--device <設(shè)備>][--mkinitrdargs <參數(shù)>][kernel 版本]

  補充說明:mkbootdisk可建立目前系統(tǒng)的啟動盤。

  參 數(shù):

  --device<設(shè)備> 指定設(shè)備。

  --mkinitrdargs<參數(shù)> 設(shè)置mkinitrd的參數(shù)。

  --noprompt 不會提示用戶插入磁盤。

  --verbose 執(zhí)行時顯示詳細的信息。

  --version 顯示版本信息。

  -----------------------------------------------------

  mformat

  功能說明:對MS-DOS文件系統(tǒng)的磁盤進行格式化。

  語 法:mformat [-1aCFIKX][-0 <數(shù)據(jù)傳輸率>][-2 <磁區(qū)數(shù)>][-A <數(shù)據(jù)傳輸率>][-B <開機區(qū)文件>][-c <叢集大小>][-h <磁頭數(shù)>][-H <隱藏磁區(qū)數(shù)>][-l <磁盤標簽>][-M <磁區(qū)大小>][-n <序號>][-r <根目錄大小>][-s <磁區(qū)數(shù)>][-S <磁區(qū)大小>][-t <柱面數(shù)>][驅(qū)動器代號]

  補充說明:mformat為mtools工具指令,模擬MS-DOS的format指令,可將指定的磁盤或硬盤分區(qū)格式化為MS-DOS文件系統(tǒng)。

  參 數(shù):

  -0<數(shù)據(jù)傳輸率> 指定第0磁軌的數(shù)據(jù)傳輸率。

  -1 不使用2M格式。

  -2<磁區(qū)數(shù)> 指定在第0磁軌的第0個磁頭的磁區(qū)數(shù),也就是所謂的2M格式。

  -a 指定產(chǎn)生Atari格式的序號。

  -A<數(shù)據(jù)傳輸率> 指定第0磁軌以外所有磁軌的數(shù)據(jù)傳輸率。

  -B<開機區(qū)文件> 從指定的文件來建立開機區(qū)。

  -c<叢集大小> 指定叢集大小,單位為磁區(qū)。

  -C 建立磁盤MS-DOS文件系統(tǒng)的映像文件。

  -F 以FAT32來格式化磁盤。

  -H<隱藏磁區(qū)數(shù)> 指定隱藏磁區(qū)的數(shù)目。

  -I 指定FAT32的frVersion編號。

  -k 盡可能地保留原有的開機區(qū)。

  -l<磁盤標簽> 指定磁盤標簽名稱。

  -M<磁區(qū)大小> 指定MS-DOS文件系統(tǒng)所使用的磁區(qū)大小,預(yù)設(shè)應(yīng)該與硬體磁區(qū)大小相同,單位為字節(jié)。

  -n<序號> 指定序號。

  -r<根目錄大小> 指定根目錄的大小,單位為磁區(qū)。

  -s<磁區(qū)數(shù)> 指定每一磁軌所包含的磁區(qū)數(shù)目。

  -S<磁區(qū)大小> 指定硬件磁區(qū)大小。

  -t<柱面數(shù)> 指定柱面數(shù)目。

  -X 格式化XDF磁盤。

  mbadblocks

  功能說明:檢查MS-DOS文件系統(tǒng)的磁盤是否有損壞的磁區(qū)。

  語 法:mbadblocks [驅(qū)動器代號]

  補充說明:mbadblocks為mtools工具指令,可用來掃描MS-DOS文件系統(tǒng)的磁盤驅(qū)動器,并標示出損壞的磁區(qū)。

  ----------------------------------------------------

  losetup(loop setup)

  功能說明:設(shè)置循環(huán)設(shè)備。

  語 法:losetup [-d][-e <加密方式>][-o <平移數(shù)目>][循環(huán)設(shè)備代號][文件]

  補充說明:循環(huán)設(shè)備可把文件虛擬成區(qū)塊設(shè)備,籍以模擬整個文件系統(tǒng),讓用戶得以將其視為硬盤驅(qū)動器,光驅(qū)或軟驅(qū)等設(shè)備,并掛入當作目錄來使用。

  參 數(shù):

  -d 卸除設(shè)備。

  -e<加密方式> 啟動加密編碼。

  -o<平移數(shù)目> 設(shè)置數(shù)據(jù)平移的數(shù)目。

  ----------------------------

  hdparm(hard disk parameters)

  功能說明:顯示與設(shè)定硬盤的參數(shù)。

  語 法:hdparm [-CfghiIqtTvyYZ][-a <快取分區(qū)>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分區(qū)數(shù)>][-n <0或1>][-p ][-P <分區(qū)數(shù)>][-r <0或1>][-S <時間>][-u <0或1>][-W <0或1>][-X <傳輸模式>][設(shè)備]

  補充說明:hdparm可檢測,顯示與設(shè)定IDE或SCSI硬盤的參數(shù)。

  參 數(shù):

  -a<快取分區(qū)> 設(shè)定讀取文件時,預(yù)先存入塊區(qū)的分區(qū)數(shù),若不加上<快取分區(qū)>選項,則顯示目前的設(shè)定。

  -A<0或1> 啟動或關(guān)閉讀取文件時的快取功能。

  -c 設(shè)定IDE32位I/O模式。

  -C 檢測IDE硬盤的電源管理模式。

  -d<0或1> 設(shè)定磁盤的DMA模式。

  -f 將內(nèi)存緩沖區(qū)的數(shù)據(jù)寫入硬盤,并清楚緩沖區(qū)。

  -g 顯示硬盤的磁軌,磁頭,磁區(qū)等參數(shù)。

  -h 顯示幫助。

  -i 顯示硬盤的硬件規(guī)格信息,這些信息是在開機時由硬盤本身所提供。

  -I 直接讀取硬盤所提供的硬件規(guī)格信息。

  -k<0或1> 重設(shè)硬盤時,保留-dmu參數(shù)的設(shè)定。

  -K<0或1> 重設(shè)硬盤時,保留-APSWXZ參數(shù)的設(shè)定。

  -m<磁區(qū)數(shù)> 設(shè)定硬盤多重分區(qū)存取的分區(qū)數(shù)。

  -n<0或1> 忽略硬盤寫入時所發(fā)生的錯誤。

  -p 設(shè)定硬盤的PIO模式。

  -P<磁區(qū)數(shù)> 設(shè)定硬盤內(nèi)部快取的分區(qū)數(shù)。

  -q 在執(zhí)行后續(xù)的參數(shù)時,不在屏幕上顯示任何信息。

  -r<0或1> 設(shè)定硬盤的讀寫模式。

  -S<時間> 設(shè)定硬盤進入省電模式前的等待時間。

  -t 評估硬盤的讀取效率。

  -T 平谷硬盤快取的讀取效率。

  -u<0或1> 在硬盤存取時,允許其他中斷要求同時執(zhí)行。

  -v 顯示硬盤的相關(guān)設(shè)定。

  -W<0或1> 設(shè)定硬盤的寫入快取。

  -X<傳輸模式> 設(shè)定硬盤的傳輸模式。

  -y 使IDE硬盤進入省電模式。

  -Y 使IDE硬盤進入睡眠模式。

  -Z 關(guān)閉某些Seagate硬盤的自動省電功能。

  ---------------------------------------------

  fsconf(file system configurator)

  功能說明:設(shè)置文件系統(tǒng)相關(guān)功能。

  語 法:fsconf [--check]

  補充說明:fsconf是Red Hat Linux發(fā)行版專門用來調(diào)整Linux各項設(shè)置的程序。

  參 數(shù):

  --chedk 檢查特定文件的權(quán)限。

  -------------------------------------------------

  fsck(file system check)

  功能說明:檢查文件系統(tǒng)并嘗試修復(fù)錯誤。

  語 法:fsck [-aANPrRsTV][-t <文件系統(tǒng)類型>][文件系統(tǒng)...]

  補充說明:當文件系統(tǒng)發(fā)生錯誤四化,可用fsck指令嘗試加以修復(fù)。

  參 數(shù):

  -a 自動修復(fù)文件系統(tǒng),不詢問任何問題。

  -A 依照/etc/fstab配置文件的內(nèi)容,檢查文件內(nèi)所列的全部文件系統(tǒng)。

  -N 不執(zhí)行指令,僅列出實際執(zhí)行會進行的動作。

  -P 當搭配"-A"參數(shù)使用時,則會同時檢查所有的文件系統(tǒng)。

  -r 采用互動模式,在執(zhí)行修復(fù)時詢問問題,讓用戶得以確認并決定處理方式。

  -R 當搭配"-A"參數(shù)使用時,則會略過/目錄的文件系統(tǒng)不予檢查。

  -s 依序執(zhí)行檢查作業(yè),而非同時執(zhí)行。

  -t<文件系統(tǒng)類型> 指定要檢查的文件系統(tǒng)類型。

  -T 執(zhí)行fsck指令時,不顯示標題信息。

  -V 顯示指令執(zhí)行過程。

  ---------------------------------------------------

  fsck.minix(file system check-minix filesystem)

  功能說明:檢查文件系統(tǒng)并嘗試修復(fù)錯誤。

  語 法:fsck.minix [-aflmrsv][外圍設(shè)備代號]

  補充說明:當minix文件系統(tǒng)發(fā)生錯誤時,可用fsck.minix指令嘗試加以參考。

  參 數(shù):

  -a 自動修復(fù)文件系統(tǒng),不詢問任何問題。

  -f 強制對該文件系統(tǒng)進行完整檢查,縱然該文件系統(tǒng)在慨略檢查下沒有問題。

  -l 列出所有文件名稱。

  -m 使用類似MINIX操作系統(tǒng)的警告信息。

  -r 采用互動模式,在執(zhí)行修復(fù)時詢問問題,讓用戶得以確認并決定處理方式。

  -s 顯示該分區(qū)第一個磁區(qū)的相關(guān)信息。

  -v 顯示指令執(zhí)行過程。

  ------------------------------------------------

  fsck.ext2(file system check-second filesystem)

  功能說明:檢查文件系統(tǒng)并嘗試修復(fù)錯誤。

  語 法:fsck.ext2 [-acdfFnprsStvVy][-b <分區(qū)第一個磁區(qū)地址>][-B <區(qū)塊大小>][-C <反敘述器>][-I ][-l/L <損壞區(qū)塊文件>][-P <處理inode大小>][外圍設(shè)備代號]

  補充說明:當ext2文件系統(tǒng)發(fā)生錯誤時,可用fsck.ext2指令嘗試加以修復(fù)。

  參 數(shù):

  -a 自動修復(fù)文件系統(tǒng),不詢問任何問題。

  -b<分區(qū)第一個磁區(qū)地址> 指定分區(qū)的第一個磁區(qū)的起始地址,也就是Super Block。

  -B<區(qū)塊大小> 設(shè)置該分區(qū)每個區(qū)塊的大小。

  -c 檢查指定的文件系統(tǒng)內(nèi),是否存在有損壞的區(qū)塊。

  -C<反敘述器> 指定反敘述器,fsck.ext2指令會把全部的執(zhí)行過程,都交由其逆向敘述,便于排錯或監(jiān)控程序執(zhí)行的情形。

  -d 詳細顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形。

  -f 強制對該文件系統(tǒng)進行完整檢查,縱然該文件系統(tǒng)在慨略檢查下沒有問題。

  -F 檢查文件系統(tǒng)之前,先清理該保存設(shè)備塊區(qū)內(nèi)的數(shù)據(jù)。

  -I 設(shè)置欲檢查的文件系統(tǒng),其inode緩沖區(qū)的區(qū)塊數(shù)目。

  -l<損壞區(qū)塊文件> 把文件中所列出的區(qū)塊,視為損壞區(qū)塊并將其標示出來,避免應(yīng)用程序使用該區(qū)塊。

  -L<損壞區(qū)塊文件> 此參數(shù)的效果和指定"-l"參數(shù)類似,但在參考損壞區(qū)塊文件標示損壞區(qū)塊之前,會先將原來標示成損壞區(qū)塊者統(tǒng)統(tǒng)清楚,即全部重新設(shè)置,而非僅是加入新的損壞區(qū)塊標示。

  -n 把欲檢查的文件系統(tǒng)設(shè)成只讀,并關(guān)閉互動模式,否決所有詢問的問題。

  -p 此參數(shù)的效果和指定"-a"參數(shù)相同。

  -P<處理inode大小> 設(shè)置fsck.ext2指令所能處理的inode大小為多少。

  -r 此參數(shù)將忽略不予處理,僅負責(zé)解決兼容性的問題。

  -s 檢查文件系統(tǒng)時,交換每對字節(jié)的內(nèi)容。

  -S 此參數(shù)的效果和指定"-s"參數(shù)類似,但不論該文件系統(tǒng)是否已是標準位順序,一律交換每對字節(jié)的內(nèi)容。

  -t 顯示fsck.ext2指令的時序信息。

  -v 詳細顯示指令執(zhí)行過程。

  -V 顯示版本信息。

  -y 關(guān)閉互動模式,且同意所有詢問的問題。

  ------------------------------------------------------

  fdisk

  功能說明:磁盤分區(qū)。

  語 法:fdisk [-b <分區(qū)大小>][-uv][外圍設(shè)備代號] 或 fdisk [-l][-b <分區(qū)大小>][-uv][外圍設(shè)備代號...] 或 fdisk [-s <分區(qū)編號>]

  補充說明:fdisk是用來磁盤分區(qū)的程序,它采用傳統(tǒng)的問答式界面,而非類似DOS fdisk的cfdisk互動式操作界面,因此在使用上較為不便,但功能卻絲毫不打折扣。

  參 數(shù):

  -b<分區(qū)大小> 指定每個分區(qū)的大小。

  -l 列出指定的外圍設(shè)備的分區(qū)表狀況。

  -s<分區(qū)編號> 將指定的分區(qū)大小輸出到標準輸出上,單位為區(qū)塊。

  -u 搭配"-l"參數(shù)列表,會用分區(qū)數(shù)目取代柱面數(shù)目,來表示每個分區(qū)的起始地址。

  -v 顯示版本信息。

  -------------------------------------------------

  ext2ed(ext2 file system editor)

  功能說明:ext2文件系統(tǒng)編輯程序。

  語 法:ext2ed

  補充說明:ext2ed可直接處理硬盤分區(qū)上的數(shù)據(jù),這指令只有Red Hat Linux才提供。

  參 數(shù):

  一般指令

  setdevice[設(shè)備名稱] 指定要處理的設(shè)備。

  disablewrite 將ext2ed設(shè)為只讀的狀態(tài)。

  enablewrite 將ext2ed設(shè)為可讀寫的狀態(tài)。

  help[指令] 顯示個別指令的幫助。

  next 移至下一個單位,單位會依目前所在的模式而異。

  prev 移至前一個單位,單位會依目前所在的模式而異。

  pgup 移至下一頁。

  pgdn 移至上一頁。

  set 修改目前的數(shù)據(jù),參數(shù)會依目前所在的模式而異。

  writedata 在執(zhí)行此指令之后,才會實際修改分區(qū)中的數(shù)據(jù)。

  ext2進入3種模式的指令:

  super 進入main superblock,即Superblock模式。

  group<編號> 進入指定的group,即Group模式。

  cd<目錄或文件> 在inode模式下,進入指定的目錄或文件,即Inode模式。

  Superblock模式:

  gocopy<備份編號> 進入指定的superblock備份。

  setactivecopy 將目前所在的superblock,復(fù)制到main superblock。

  Group模式:

  blockbitmap 顯示目前groupo的區(qū)塊圖。

  inode 進入目前group的第一個inode。

  inodebitmap 顯示目前group的inode二進制碼。

  Inode模式:

  dir 進入目錄模式。

  file 進入文件模式。

  ------------------------------------------------------

  e2fsck(ext2 file system check)

  功能說明:檢查ext2文件系統(tǒng)的正確性。

  語 法:e2fsck [-acCdfFnprsStvVy][-b ][-B <區(qū)塊大小>][-l <文件>][-L <文件>][設(shè)備名稱]

  補充說明:e2fsck執(zhí)行后的傳回值及代表意義如下。

  0 沒有任何錯誤發(fā)生。

  1 文件系統(tǒng)發(fā)生錯誤,并且已經(jīng)修正。

  2 文件系統(tǒng)發(fā)生錯誤,并且已經(jīng)修正。

  4 文件系統(tǒng)發(fā)生錯誤,但沒有修正。

  8 運作時發(fā)生錯誤。

  16 使用的語法發(fā)生錯誤。

  128 共享的函數(shù)庫發(fā)生錯誤。

  參 數(shù):

  -a 不詢問使用者意見,便自動修復(fù)文件系統(tǒng)。

  -b 指定superblock,而不使用預(yù)設(shè)的superblock。

  -B<區(qū)塊大小> 指定區(qū)塊的大小,單位為字節(jié)。

  -c 一并執(zhí)行badblocks,以標示損壞的區(qū)塊。

  -C 將檢查過程的信息完整記錄在file descriptor中,使得整個檢查過程都能完整監(jiān)控。

  -d 顯示排錯信息。

  -f 即使文件系統(tǒng)沒有錯誤跡象,仍強制地檢查正確性。

  -F 執(zhí)行前先清除設(shè)備的緩沖區(qū)。

  -l<文件> 將文件中指定的區(qū)塊加到損壞區(qū)塊列表。

  -L<文件> 先清除損壞區(qū)塊列表,再將文件中指定的區(qū)塊加到損壞區(qū)塊列表。因此損壞區(qū)塊列表的區(qū)塊跟文件中指定的區(qū)塊是一樣的。

  -n 以只讀模式開啟文件系統(tǒng),并采取非互動方式執(zhí)行,所有的問題對話均設(shè)置以"no"回答。

  -p 不詢問使用者意見,便自動修復(fù)文件系統(tǒng)。

  -r 此參數(shù)只為了兼容性而存在,并無實際作用。

  -s 如果文件系統(tǒng)的字節(jié)順序不適當,就交換字節(jié)順序,否則不做任何動作。

  -S 不管文件系統(tǒng)的字節(jié)順序,一律交換字節(jié)順序。

  -t 顯示時間信息。

  -v 執(zhí)行時顯示詳細的信息。

  -V 顯示版本信息。

  -y 采取非互動方式執(zhí)行,所有的問題均設(shè)置以"yes"回答。

  ----------------------------------------------

  dd

  功能說明:讀取,轉(zhuǎn)換并輸出數(shù)據(jù)。

  語 法:dd [bs=<字節(jié)數(shù)>][cbs=<字節(jié)數(shù)>][conv=<關(guān)鍵字>][count=<區(qū)塊數(shù)>] [ibs=<字節(jié)數(shù)>][if=<文件>][obs=<字節(jié)數(shù)>][of=<文件>][seek= <區(qū)塊數(shù)>][skip=<區(qū)塊數(shù)>][--help][--version]

  補充說明:dd可從標準輸入或文件讀取數(shù)據(jù),依指定的格式來轉(zhuǎn)換數(shù)據(jù),再輸出到文件,設(shè)備或標準輸出。

  參 數(shù):

  bs=<字節(jié)數(shù)> 將ibs( 輸入)與obs(輸出)設(shè)成指定的字節(jié)數(shù)。

  cbs=<字節(jié)數(shù)> 轉(zhuǎn)換時,每次只轉(zhuǎn)換指定的字節(jié)數(shù)。

  conv=<關(guān)鍵字> 指定文件轉(zhuǎn)換的方式。

  count=<區(qū)塊數(shù)> 僅讀取指定的區(qū)塊數(shù)。

  ibs=<字節(jié)數(shù)> 每次讀取的字節(jié)數(shù)。

  if=<文件> 從文件讀取。

  obs=<字節(jié)數(shù)> 每次輸出的字節(jié)數(shù)。

  of=<文件> 輸出到文件。

  seek=<區(qū)塊數(shù)> 一開始輸出時,跳過指定的區(qū)塊數(shù)。

  skip=<區(qū)塊數(shù)> 一開始讀取時,跳過指定的區(qū)塊數(shù)。

  --help 幫助。

  --version 顯示版本信息。

  -------------------------------------------

  cfdisk

  功能說明:磁盤分區(qū)。

  語 法:cfdisk [-avz][-c <柱面數(shù)目>-h <磁頭數(shù)目>-s <盤區(qū)數(shù)目>][-P ][外圍設(shè)備代號]

  補充說明:cfdisk是用來磁盤分區(qū)的程序,它十分類似DOS的fdisk,具有互動式操作界面而非傳統(tǒng)fdisk的問答式界面,您可以輕易地利用方向鍵來操控分區(qū)操作。

  參 數(shù):

  -a 在程序里不用反白代表選取,而以箭頭表示。

  -c<柱面數(shù)目> 忽略BIOS的數(shù)值,直接指定磁盤的柱面數(shù)目。

  -h<磁頭數(shù)目> 忽略BIOS的數(shù)值,直接指定磁盤的磁頭數(shù)目。

  -P 顯示分區(qū)表的內(nèi)容,附加參數(shù)"r"會顯示整個分區(qū)表的詳細資料,附加參數(shù)"s"會依照磁區(qū)的順序顯示相關(guān)信息,附加參數(shù)"t"則會以磁頭,磁區(qū),柱面的方式來顯示資料。

  -s<磁區(qū)數(shù)目> 忽略BIOS的數(shù)值,直接指定磁盤的磁區(qū)數(shù)目。

  -v 顯示版本信息。

  -z 不讀取現(xiàn)有的分區(qū),直接當作沒有分區(qū)的新磁盤使用。

  -------------------------------------------

  badblocks

  功能說明:檢查磁盤裝置中損壞的區(qū)塊。

  語 法:badblocks [-svw][-b <區(qū)塊大小>][-o <輸出文件>][磁盤裝置][磁盤區(qū)塊數(shù)][啟始區(qū)塊]

  補充說明:執(zhí)行指令時須指定所要檢查的磁盤裝置,及此裝置的磁盤區(qū)塊數(shù)。

  參 數(shù):

  -b<區(qū)塊大小> 指定磁盤的區(qū)塊大小,單位為字節(jié)。

  -o<輸出文件> 將檢查的結(jié)果寫入指定的輸出文件。

  -s 在檢查時顯示進度。

  -v 執(zhí)行時顯示詳細的信息。

  -w 在檢查時,執(zhí)行寫入測試。

  [磁盤裝置] 指定要檢查的磁盤裝置。

  [磁盤區(qū)塊數(shù)] 指定磁盤裝置的區(qū)塊總數(shù)。

  [啟始區(qū)塊] 指定要從哪個區(qū)塊開始檢查。

  Linux 的常用網(wǎng)絡(luò)命令

  計算機網(wǎng)絡(luò)的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網(wǎng)絡(luò)命令來為用戶服務(wù),這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執(zhí)行遠程命令等。

  本章介紹下列幾個常用的有關(guān)網(wǎng)絡(luò)操作的命令:

  ftp 傳輸文件

  telnet 登錄到遠程計算機上

  r - 使用各種遠程命令

  netstat 查看網(wǎng)絡(luò)的狀況

  nslookup 查詢域名和IP地址的對應(yīng)

  finger 查詢某個使用者的信息

  ping 查詢某個機器是否在工作

  使用ftp命令進行遠程文件傳輸

  ftp命令是標準的文件傳輸協(xié)議的用戶接口。ftp是在TCP/IP網(wǎng)絡(luò)上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。

  在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內(nèi)容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸?shù)竭h程系統(tǒng)中。

  需要注意的是,如果用戶沒有那個文件的存取權(quán)限,就不能從遠程系統(tǒng)中獲得文件或向遠程系統(tǒng)傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp

  會話,并用來確定用戶對要傳輸?shù)奈募梢赃M行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。

  Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:

  $ ftp 主機名/IP

  其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務(wù)程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令:

  $ ftp ftp > 此時在ftp>提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。

  在遠程機上的用戶帳號的讀寫權(quán)限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。如果沒有遠程機的專用登錄帳號,許多ftp站點設(shè)有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。

  如果遠程系統(tǒng)提供匿名ftp服務(wù),用戶使用這項服務(wù)可以登錄到特殊的,供公開使用的目錄。

  一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。

  一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp>”提示符。現(xiàn)在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在

  help命令后面指定具體的命令名稱,獲得這條命令的說明。

  最常用的命令有:

  ls 列出遠程機的當前目錄

  cd 在遠程機上改變工作目錄

  lcd 在本地機上改變工作目錄

  ascii 設(shè)置文件傳輸方式為ASCII模式

  binary 設(shè)置文件傳輸方式為二進制模式

  close終止當前的ftp會話

  hash 每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后就顯示一個#號

  get(mget) 從遠程機傳送指定文件到本地機

  put(mput) 從本地機傳送指定文件到遠程機

  open 連接遠程ftp站點

  quit斷開與遠程機的連接并退出ftp

  ? 顯示本地幫助信息

  ! 轉(zhuǎn)到Shell中

  下面簡單將ftp常用命令作一簡介。

  啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數(shù)的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為 ftp命令的參數(shù)。

  終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關(guān)閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關(guān)閉用戶與遠程機的連接,然后退出用戶機上的ftp

  程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。

  遠程目錄列表 ls命令列出遠程目錄的內(nèi)容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件]

  如果指定了目錄作為參數(shù),那么ls就列出該目錄的內(nèi)容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統(tǒng)獲取文件

  get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創(chuàng)建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。

  mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。

  向遠程系統(tǒng)發(fā)送文件 put和mput命令用于向遠程機發(fā)送文件。Put命令的一般格式為: put 文件名 mput命令一次發(fā)送多個本地文件,mput命令的一般格式為:

  mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發(fā)送的文件。對其中的每個文件都要求用戶確認是否發(fā)送。 改變文件傳輸模式

  默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設(shè)置傳輸?shù)哪J?。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。

  檢查傳輸狀態(tài) 傳輸大型文件時,可能會發(fā)現(xiàn)讓ftp提供關(guān)于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)后,就在屏幕上打印一個#字符。本命令在發(fā)送和接收文件時都可以使用。

  ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir

  new_dir,那么Linux就在用戶當前的本地目錄中創(chuàng)建一個名為new_dir 的目錄。

  從遠程機grunthos下載二進制數(shù)據(jù)文件的典型對話過程如下:

  $ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc):

  anonymous 33l Guest login ok, send your complete e-mail address as password.

  Password: 230 Guest 1ogin ok, access restrictions apply. Remote system

  type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls

  200 PORT command successful. l50 opening ASCII mode data connection for

  /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200

  type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark).

  ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode

  data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226

  Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec)

  ftp > quit 22l Goodbye.

  使用telnet命令訪問遠程計算機

  用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡(luò)在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

  為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統(tǒng)確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權(quán)限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統(tǒng)通常把這些用戶放在一個受限制的shell中,以防系統(tǒng)被懷有惡意的或不小心的用戶破壞。

  用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

  但是,用戶只能使用基于終端的環(huán)境而不是X Wndows環(huán)境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環(huán)境。 telnet命令的一般形式為:

  telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執(zhí)行成功,將從遠程機上得到login:提示符。

  使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統(tǒng)上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統(tǒng)上工作。

  在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯(lián)機幫助手冊中對這些命令有詳細的說明。

  下面是一臺Linux計算機上的telnet會話舉例:

  $ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve.

  somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)

  kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov

  l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$

  logout Connection closed by foreign host $

  用戶結(jié)束了遠程會話后,一定要確保使用logout命令退出遠程系統(tǒng)。然后telnet報告遠程會話被關(guān)閉,并返回到用戶的本地機的Shell提示符下。

  r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網(wǎng)絡(luò)上交換文件。使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發(fā)出一個r-系列命令后,遠程系統(tǒng)檢查名為 /etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為. rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執(zhí)行r-系列命令就不用提供口令。

  雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。

  rlogin命令

  功能:rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)上的交互命令會話。

  格式: rlogin [ -8EKLdx ] [ -e char ] [-k

  realm ] [ - l username ] host

  參數(shù):

  -8 此選項始終允許8位輸入數(shù)據(jù)通道。該選項允許發(fā)送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。

  -E 停止把任何字符當作轉(zhuǎn)義字符。當和-8選項一起使用時,它提供一個完全的透明連接。

  -K 關(guān)閉所有的Kerberos確認。只有與使用Kerberos 確認協(xié)議的主機連接時才使用這個選項。

  -L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯(lián)機幫助。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多信息,請查閱setsockopt的聯(lián)機幫助。

  -e 為rlogin會話設(shè)置轉(zhuǎn)義字符,默認的轉(zhuǎn)義字符是“~”,用戶可以指定一個文字字符或一個\nnn形式的八進制數(shù)。

  -k 請求rlogin獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos

  許可。

  -x 為所有通過rlogin會話傳送的數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。

  rsh命令

  功能:rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。

  格式:rsh [-Kdnx] [-k realm] [-l username]

  host [command]

  command可以是從shell提示符下鍵人的任何Linux命令。

  參數(shù):

  -K 關(guān)閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。

  -d 打開與遠程主機進行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請查閱setsockopt的聯(lián)機幫助。

  -k 請求rsh獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。

  -n 重定向來自特殊設(shè)備/dev/null的輸入。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。    Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執(zhí)行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

  rcp命令

  功能:rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。

  rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

  格式:

  rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file

  directory 每個文件或目錄參數(shù)既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。

  參數(shù):

  -r 遞歸地把源目錄中的所有內(nèi)容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。

  -p 試圖保留源文件的修改時間和模式,忽略umask。

  -k 請求rcp獲得在指定區(qū)域內(nèi)的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區(qū)域內(nèi)的遠程主機的Kerberos許可。

  -x 為傳送的所有數(shù)據(jù)打開DES加密。這會影響響應(yīng)時間和CPU利用率,但是可以提高安全性。如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。

  需要說明的是,rcp不提示輸入口令,它通過rsh命令來執(zhí)行拷貝。 - Turbolinux 提供稿件

  This file is decompiled from a .CHM file

  by an UNREGISTERED version of Easy CHM.

  You can download Easy CHM at :

  經(jīng)典:Linux菜鳥入門級命令大全

  1. man 對你熟悉或不熟悉的命令提供幫助解釋

  eg:man ls 就可以查看ls相關(guān)的用法

  注:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當前程序運行。

  2. ls 查看目錄或者文件的屬*,列舉出任一目錄下面的文件

  eg: ls /usr/man

  ls -l

  a.d表示目錄(directory),如果是一個"-"表示是文件,如果是l則表示是一個連接文件(link)

  b.表示文件或者目錄許可權(quán)限.分別用可讀(r),可寫(w),可運行(x)。

  3. cp 拷貝文件

  eg: cp filename1 filename2 //把filename1拷貝成filename2

  cp 1.c netseek/2.c //將1.c拷到netseek目錄下命名為2.c

  4. rm 刪除文件和目錄

  eg: rm 1.c //將1.c這個文件刪除

  5. mv 移走目錄或者改文件名

  eg: mv filename1 filename2 //將filename1 改名為filename2

  mv qib.tgz ../qib.tgz //移到上一級目錄

  6. cd 改變當前目錄 pwd 查看當前所在目錄完整路徑

  eg: pwd //查看當前所在目錄路徑

  cd netseek //進入netseek這個目錄

  cd //退出當前目錄

  7. cat,more命令

  將某個文件的內(nèi)容顯示出來。兩個命令所不同的是:cat把文件內(nèi)容一直打印出來,而 more則分屏顯示

  eg; cat>1.c //就可以把代碼粘帖到1.c文件里,按ctrl+d 保存代碼。

  cat 1.c 或more 1.c //都可以查看里面的內(nèi)容。

  gcc -o 1 1.c //將1.c編譯成.exe文件,我們可以用此命編譯出代碼。

  8.chmod 命令 權(quán)限修改 用法:chmod 一位8進制數(shù) filename。

  eg: chmod u+x filenmame //只想給自己運行,別人只能讀

  //u表示文件主人, g 表示文件文件所在組。 o 表示其他人 ;r 表可讀,w 表可寫,x 表可以運行

  chmod g+x filename //同組的人來執(zhí)行

  9. clear,date命令

  clear:清屏,相當與DOS下的cls;date:顯示當前時間。

  10. mount 加載一個硬件設(shè)備

  用法:mount [參數(shù)] 要加載的設(shè)備 載入點

  eg: mount /dev/cdrom

  cd /mnt/cdrom //進入光盤目錄

  11. su 在不退出登陸的情況下,切換到另外一個人的身份

  用法: su -l 用戶名(如果用戶名缺省,則切換到root狀態(tài))

  eg:su -l netseek (切換到netseek這個用戶,將提示輸入密碼)

  12.whoami,whereis,which,id

  //whoami:確認自己身份

  //whereis:查詢命令所在目錄以及幫助文檔所在目錄

  //which:查詢該命令所在目錄(類似whereis)

  //id:打印出自己的UID以及GID。(UID:用戶身份唯一標識。GID:用戶組身份唯一標識。每一個用戶只能有一個唯一的UID和 GID)

  eg: whoami //顯示你自已登陸的用戶名

  whereis bin 顯示bin所在的目錄,將顯示為:/usr/local/bin

  which bin

  13. grep,find

  grep:文本內(nèi)容搜索;find:文件或者目錄名以及權(quán)限屬主等匹配搜索

  eg: grep success *    /*查找當前目錄下面所有文件里面含有success字符的文件

  14. kill 可以殺死某個正在進行或者已經(jīng)是dest狀態(tài)的進程

  eg; ps ax

  15. passwd 可以設(shè)置口令

  16. history 用戶用過的命令

  eg: history //可以顯示用戶過去使用的命令

  17. !! 執(zhí)行最近一次的命令

  18. mkdir命令

  eg: mkdir netseek //創(chuàng)建netseek這個目錄

  19. tar 解壓命令

  eg: tar -zxvf nmap-3.45.tgz //將這個解壓到nmap-3.45這個目錄里

  20. finger 可以讓使用者查詢一些其他使用者的資料

  eg: finger //查看所用用戶的使用資料

  finger root //查看root的資料

  關(guān)于指令

  cat cd

  chmod chown

  cp cut

  名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3

  名稱 : cd

  使用權(quán)限 : 所有使用者

  使用方式 : cd [dirName]

  說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。

  另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

  范例 : 跳到 /usr/bin/ :

  cd /usr/bin

  跳到自己的 home directory :

  cd ~

  跳到目前目錄的上上兩層 :

  cd ../..

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案存取權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。

  把計 :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程式具有root的權(quán)限

  指令名稱 : chown

  使用權(quán)限 : root

  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

  說明 : Linux/Unix 是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒有權(quán)限可以改變別人的檔案擁有者,也沒有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。

  把計 :

  user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經(jīng)更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對于連結(jié)(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 file1.txt 的擁有者設(shè)為 users 群體的使用者 jessie :

  chown jessie:users file1.txt

  將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為 users 群體的使用者 lamport :

  chmod -R lamport:users *

  名稱:cp

  使用權(quán)限:所有使用者

  使用方式:

  cp [options] source dest

  cp [options] source... directory

  說明:將一個檔案拷貝至另一檔案,或?qū)?shù)個檔案拷貝至另一目錄。

  把計?

  -a 盡可能將檔案狀態(tài)、權(quán)限等資料都照原狀予以復(fù)制。

  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。

  -f 若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。

  范例:

  將檔案 aaa 復(fù)制(已存在),并命名為 bbb :

  cp aaa bbb

  將所有的C語言程式拷貝至 Finished 子目錄中 :

  cp *.c Finished

  名稱:cut

  使用權(quán)限:所有使用者

  用法:cut -cnum1-num2 filename

  說明:顯示每行從開頭算起 num1 到 num2 的文字。

  范例:

  shell>> cat example

  test2

  this is test1

  shell>> cut -c0-6 example ## print 開頭算起前 6 個字元

  test2

  this i

  名稱 : find

  用法 : find

  使用說明 :

  將檔案系統(tǒng)內(nèi)符合 expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權(quán)限等不同資訊的組合,只有完全相符的才會被列出來。

  find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression?

  expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

  -mount, -xdev : 只檢查和指定目錄在同一個檔案系統(tǒng)下的檔案,避免列出其它檔案系統(tǒng)中的檔案

  -amin n : 在過去 n 分鐘內(nèi)被讀取過

  -anewer file : 比檔案 file 更晚被讀取過的檔案

  -atime n : 在過去 n 天過讀取過的檔案

  -cmin n : 在過去 n 分鐘內(nèi)被修改過

  -cnewer file :比檔案 file 更新的檔案

  -ctime n : 在過去 n 天過修改過的檔案

  -empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

  -ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

  -name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫

  -size n : 檔案大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。

  d: 目錄

  c: 字型裝置檔案

  b: 區(qū)塊裝置檔案

  p: 具名貯列

  f: 一般檔案

  l: 符號連結(jié)

  s: socket

  -pid n : process id 是 n 的檔案

  你可以使用 ( ) 將運算式分隔,并使用下列運算。

  exp1 -and exp2

  ! expr

  -not expr

  exp1 -or exp2

  exp1, exp2

  范例:

  將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

  # find . -name "*.c"

  將目前目錄其其下子目錄中所有一般檔案列出

  # find . -ftype f

  將目前目錄及其子目錄下所有最近 20 分鐘內(nèi)更新過的檔案列出

  # find . -ctime -20

  名稱:less

  使用權(quán)限:所有使用者

  使用方式:

  less [Option] filename

  說明:

  less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內(nèi)容,不同的是 less 允許使用者往回卷動

  以瀏覽已經(jīng)看過的部份,同時因為 less 并未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。

  范例:

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database=]

  locate [-r ] [--regexp=]

  locate [-qv] [-o ] [--output=]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name

  的型式就可以了。 參數(shù):

  -u

  -U

  建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將

  排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在資料庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定資料庫存的名稱。

  -d

  指定資料庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程式的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立資料庫

  名稱 : ls

  使用權(quán)限 : 所有使用者

  使用方式 : ls [-alrtAFR] [name...]

  說明 : 顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)。

  -a 顯示所有檔案及目錄 (ls內(nèi)定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)

  -l 除檔案名稱外,亦將檔案型態(tài)、權(quán)限、擁有者、檔案大小等資訊詳細列出

  -r 將檔案以相反次序顯示(原定依英文字母次序)

  -t 將檔案依建立時間之先后次序列出

  -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)

  -F 在列出的檔案名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/"

  -R 若目錄下有檔案,則以下之檔案亦皆依序列出

  范例:

  列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈后面 :

  ls -ltr s*

  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :

  ls -lR /bin

  列出目前工作目錄下所有檔案及目錄;目錄于名稱后加 "/", 可執(zhí)行檔于名稱后加 "*" :

  ls -AF

  名稱:more

  使用權(quán)限:所有使用者

  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

  說明:類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。

  參數(shù):-num 一次顯示的行數(shù)

  -d 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲

  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能

  -f 計算行數(shù)時,以實際上的行數(shù),而非自動換行過后的行數(shù)(有些單行字數(shù)太長的會被擴展為兩行或兩行以上)

  -p 不以卷動的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容

  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料

  -s 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -u 不顯示下引號 (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)

  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示

  +num 從第 num 行開始顯示

  fileNames 欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個數(shù)

  范例:

  more -s testfile 逐頁顯示 testfile 之檔案內(nèi)容,如有連續(xù)兩行以上空白行則以一行空白行顯示。

  more +20 testfile 從第 20 行開始顯示 testfile 之檔案內(nèi)容。

  名稱:mv

  使用權(quán)限:所有使用者

  使用方式:

  mv [options] source dest

  mv [options] source... directory

  說明:將一個檔案移至另一檔案,或?qū)?shù)個檔案移至另一目錄。

  參數(shù):-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。

  范例:

  將檔案 aaa 更名為 bbb :

  mv aaa bbb

  將所有的C語言程式移至 Finished 子目錄中 :

  mv -i *.c

  名稱:rm

  使用權(quán)限:所有使用者

  使用方式:rm [options] name...

  說明:刪除檔案及目錄。

  把計?

  -i 刪除前逐一詢問確認。

  -f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認。

  -r 將目錄及以下之檔案亦逐一刪除。

  范例:

  刪除所有C語言程式檔;刪除前逐一詢問確認 :

  rm -i *.c

  將 Finished 子目錄及子目錄中所有檔案刪除 :

  rm -r Finished

  名稱:rmdir

  使用權(quán)限:于目前目錄有適當權(quán)限的所有使用者

  使用方式: rmdir [-p] dirName

  說明: 刪除空的目錄。

  參數(shù): -p 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。

  范例:

  將工作目錄下,名為 AAA 的子目錄刪除 :

  rmdir AAA

  在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。

  rmdir -p BBB/Test

  名稱:split

  使用權(quán)限:所有使用者

  使用方式:split [OPTION] [INPUT [PREFIX]]

  說明:

  將一個檔案分割成數(shù)個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預(yù)設(shè)值為 `x。若沒有 INPUT 檔或為 `-,則從標準輸入讀進資料。

  匡兜?

  -b, --bytes=SIZE

  SIZE 值為每一輸出檔案的大小,單位為 byte。

  -C, --line-bytes=SIZE

  每一輸出檔中,單行的最大 byte 數(shù)。

  -l, --lines=NUMBER

  NUMBER 值為每一輸出檔的列數(shù)大小。

  -NUMBER

  與 -l NUMBER 相同。

  --verbose

  于每個輸出檔被開啟前,列印出偵錯資訊到標準錯誤輸出。

  --help

  顯示輔助資訊然后離開。

  --version

  列出版本資訊然后離開。

  SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。

  范例:

  PostgresSQL 大型資料庫備份與回存:

  因 Postgres 允許表格大過你系統(tǒng)檔案的最大容量,所以要將表格 dump 到單一的檔案可能會有問題,使用 split進行檔案分割。

  % pg_dump dbname | split -b 1m - filename.dump.

  重新載入

  % createdb dbname

  % cat filename.dump.* | pgsql dbname

  名稱:touch

  使用權(quán)限:所有使用者

  使用方式:

  touch [-acfm]

  [-r reference-file] [--file=reference-file]

  [-t MMDDhhmm[[CC]YY][.ss]]

  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

  [--no-create] [--help] [--version]

  file1 [file2 ...]

  說明:

  touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。

  參數(shù):

  a 改變檔案的讀取時間記錄。

  m 改變檔案的修改時間記錄。

  c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。

  f 不使用,是為了與其他 unix 系統(tǒng)的相容性而保留。

  r 使用參考檔的時間記錄,與 --file 的效果一樣。

  d 設(shè)定時間與日期,可以使用各種不同的格式。

  t 設(shè)定檔案的時間記錄,格式與 date 指令相同。

  --no-create 不會建立新檔案。

  --help 列出指令格式。

  --version 列出版本訊息。

  范例:

  最簡單的使用方式,將檔案的時候記錄改為現(xiàn)在的時間。若檔案不存在,系統(tǒng)會建立一個新的檔案。

  touch file

  touch file1 file2

  將 file 的時間記錄改為 5 月 6 日 18 點 3 分,公元兩千年。時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。

  touch -c -t 05061803 file

  touch -c -t 050618032000 file

  將 file 的時間記錄改變成與 referencefile 一樣。

  touch -r referencefile file

  將 file 的時間記錄改成 5 月 6 日 18 點 3 分,公元兩千年。時間可以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。

  touch -d "6:03pm" file

  touch -d "05/06/2000" file

  touch -d "6:03pm 05/06/2000" file

  Linux 指令大全(1)

  cat cd

  chmod chown

  cp cut

  名稱:cat

  使用權(quán)限:所有使用者

  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

  說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)

  參數(shù):

  -n 或 --number 由 1 開始對所有輸出的行數(shù)編號

  -b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

  -s 或 --squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -v 或 --show-nonprinting

  范例:

  cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里

  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3

  名稱 : cd

  使用權(quán)限 : 所有使用者

  使用方式 : cd [dirName]

  說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。

  另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

  范例 : 跳到 /usr/bin/ :

  cd /usr/bin

  跳到自己的 home directory :

  cd ~

  跳到目前目錄的上上兩層 :

  cd ../..

  指令名稱 : chmod

  使用權(quán)限 : 所有使用者

  使用方式 : chmod [-cfvR] [--help] [--version] mode file...

  說明 : Linux/Unix 的檔案存取權(quán)限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控制檔案如何被他人所存取。

  把計 :

  mode : 權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  -c : 若該檔案權(quán)限確實已經(jīng)更改,才顯示其更改動作

  -f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息

  -v : 顯示權(quán)限變更的詳細資料

  -R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)

  --help : 顯示輔助說明

  --version : 顯示版本

  范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod ugo+r file1.txt

  將檔案 file1.txt 設(shè)為所有人皆可讀取 :

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

  chmod ug+w,o-w file1.txt file2.txt

  將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :

  chmod -R a+r *

  此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file

  語法為:chmod abc file

  其中a,b,c各為一個數(shù)字,分別表示User、Group、及Other的權(quán)限。

  r=4,w=2,x=1

  若要rwx屬性則4+2+1=7;

  若要rw-屬性則4+2=6;

  若要r-x屬性則4+1=7。

  范例:

  chmod a=rwx file

  和

  chmod 777 file

  效果相同

  chmod ug=rwx,o=x file

  和

  chmod 771 file

  效果相同

  若用chmod 4755 filename可使此程式具有root的權(quán)限

  指令名稱 : chown

  使用權(quán)限 : root

  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

  說明 : Linux/Unix 是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒有權(quán)限可以改變別人的檔案擁有者,也沒有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。

  把計 :

  user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經(jīng)更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對于連結(jié)(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 file1.txt 的擁有者設(shè)為 users 群體的使用者 jessie :

  chown jessie:users file1.txt

  將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為 users 群體的使用者 lamport :

  chmod -R lamport:users *

  名稱:cp

  使用權(quán)限:所有使用者

  使用方式:

  cp [options] source dest

  cp [options] source... directory

  說明:將一個檔案拷貝至另一檔案,或?qū)?shù)個檔案拷貝至另一目錄。

  把計?

  -a 盡可能將檔案狀態(tài)、權(quán)限等資料都照原狀予以復(fù)制。

  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。

  -f 若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。

  范例:

  將檔案 aaa 復(fù)制(已存在),并命名為 bbb :

  cp aaa bbb

  將所有的C語言程式拷貝至 Finished 子目錄中 :

  cp *.c Finished

  名稱:cut

  使用權(quán)限:所有使用者

  用法:cut -cnum1-num2 filename

  說明:顯示每行從開頭算起 num1 到 num2 的文字。

  范例:

  shell>> cat example

  test2

  this is test1

  shell>> cut -c0-6 example ## print 開頭算起前 6 個字元

  test2

  this i

  名稱 : find

  用法 : find

  使用說明 :

  將檔案系統(tǒng)內(nèi)符合 expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權(quán)限等不同資訊的組合,只有完全相符的才會被列出來。

  find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression?

  expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

  -mount, -xdev : 只檢查和指定目錄在同一個檔案系統(tǒng)下的檔案,避免列出其它檔案系統(tǒng)中的檔案

  -amin n : 在過去 n 分鐘內(nèi)被讀取過

  -anewer file : 比檔案 file 更晚被讀取過的檔案

  -atime n : 在過去 n 天過讀取過的檔案

  -cmin n : 在過去 n 分鐘內(nèi)被修改過

  -cnewer file :比檔案 file 更新的檔案

  -ctime n : 在過去 n 天過修改過的檔案

  -empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

  -ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

  -name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫

  -size n : 檔案大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。

  d: 目錄

  c: 字型裝置檔案

  b: 區(qū)塊裝置檔案

  p: 具名貯列

  f: 一般檔案

  l: 符號連結(jié)

  s: socket

  -pid n : process id 是 n 的檔案

  你可以使用 ( ) 將運算式分隔,并使用下列運算。

  exp1 -and exp2

  ! expr

  -not expr

  exp1 -or exp2

  exp1, exp2

  范例:

  將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

  # find . -name "*.c"

  將目前目錄其其下子目錄中所有一般檔案列出

  # find . -ftype f

  將目前目錄及其子目錄下所有最近 20 分鐘內(nèi)更新過的檔案列出

  # find . -ctime -20

  名稱:less

  使用權(quán)限:所有使用者

  使用方式:

  less [Option] filename

  說明:

  less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內(nèi)容,不同的是 less 允許使用者往回卷動

  以瀏覽已經(jīng)看過的部份,同時因為 less 并未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。

  范例:

  指令名稱 : ln

  使用權(quán)限 : 所有使用者

  使用方式 : ln [options] source dist,其中 option 的格式為 :

  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

  [--help] [--version] [--]

  說明 : Linux/Unix 檔案系統(tǒng)中,有所謂的連結(jié)(link),我們可以將其視為檔案的別名,而連結(jié)又可分為兩種 : 硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個檔案可以有多個名稱,而軟連結(jié)的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬連結(jié)是存在同一個檔案系統(tǒng)中,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)。

  ln source dist 是產(chǎn)生一個連結(jié)(dist)到 source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定。

  不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份,只會占用非常少量的磁碟空間。

  -f : 鏈結(jié)時先將與 dist 同檔名的檔案刪除-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i : 在刪除與 dist 同檔名的檔案時先進行詢問-n : 在進行軟連結(jié)時,將 dist 視為一般的檔案-s : 進行軟鏈結(jié)(symbolic link)-v : 在連結(jié)之前顯示其檔名-b : 將在鏈結(jié)時會被覆寫或刪除的檔案進行備份-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾-V METHOD : 指定備份的方式--help : 顯示輔助說明--version : 顯示版本

  范例 :

  將檔案 yy 產(chǎn)生一個 symbolic link : zz

  ln -s yy zz

  將檔案 yy 產(chǎn)生一個 hard link : zz

  ln yy xx

  名稱:locate

  使用權(quán)限:所有使用者

  使用方式: locate [-q] [-d ] [--database=]

  locate [-r ] [--regexp=]

  locate [-qv] [-o ] [--output=]

  locate [-e ] [-f ] <[-l ] [-c]

  <[-U ] [-u]>

  locate [-Vh] [--version] [--help]

  說明:

  locate 讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案。其方法是先建立一個包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫,之后當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統(tǒng)之中了。

  在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執(zhí)行。一般使用者在使用時只要用

  # locate your_file_name

  的型式就可以了。 參數(shù):

  -u

  -U

  建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

  -e

  將

  排除在尋找的范圍之外。

  -l

  如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的權(quán)限資料。

  -f

  將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案放在資料庫中。

  -q

  安靜模式,不會顯示任何錯誤訊息。

  -n

  至多顯示 個輸出。

  -r

  使用正規(guī)運算式 做尋找的條件。

  -o

  指定資料庫存的名稱。

  -d

  指定資料庫的路徑

  -h

  顯示輔助訊息

  -v

  顯示更多的訊息

  -V

  顯示程式的版本訊息 范例:

  locate chdrv : 尋找所有叫 chdrv 的檔案

  locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個

  locate -u : 建立資料庫

  名稱 : ls

  使用權(quán)限 : 所有使用者

  使用方式 : ls [-alrtAFR] [name...]

  說明 : 顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)。

  -a 顯示所有檔案及目錄 (ls內(nèi)定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)

  -l 除檔案名稱外,亦將檔案型態(tài)、權(quán)限、擁有者、檔案大小等資訊詳細列出

  -r 將檔案以相反次序顯示(原定依英文字母次序)

  -t 將檔案依建立時間之先后次序列出

  -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)

  -F 在列出的檔案名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/"

  -R 若目錄下有檔案,則以下之檔案亦皆依序列出

  范例:

  列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈后面 :

  ls -ltr s*

  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :

  ls -lR /bin

  列出目前工作目錄下所有檔案及目錄;目錄于名稱后加 "/", 可執(zhí)行檔于名稱后加 "*" :

  ls -AF

  名稱:more

  使用權(quán)限:所有使用者

  使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

  說明:類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。

  參數(shù):-num 一次顯示的行數(shù)

  -d 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲

  -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能

  -f 計算行數(shù)時,以實際上的行數(shù),而非自動換行過后的行數(shù)(有些單行字數(shù)太長的會被擴展為兩行或兩行以上)

  -p 不以卷動的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容

  -c 跟 -p 相似,不同的是先顯示內(nèi)容再清除其他舊資料

  -s 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行

  -u 不顯示下引號 (根據(jù)環(huán)境變數(shù) TERM 指定的 terminal 而有所不同)

  +/ 在每個檔案顯示前搜尋該字串(pattern),然后從該字串之后開始顯示

  +num 從第 num 行開始顯示

  fileNames 欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個數(shù)

  范例:

  more -s testfile 逐頁顯示 testfile 之檔案內(nèi)容,如有連續(xù)兩行以上空白行則以一行空白行顯示。

  more +20 testfile 從第 20 行開始顯示 testfile 之檔案內(nèi)容。

  名稱:mv

  使用權(quán)限:所有使用者

  使用方式:

  mv [options] source dest

  mv [options] source... directory

  說明:將一個檔案移至另一檔案,或?qū)?shù)個檔案移至另一目錄。

  參數(shù):-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。

  范例:

  將檔案 aaa 更名為 bbb :

  mv aaa bbb

  將所有的C語言程式移至 Finished 子目錄中 :

  mv -i *.c

  名稱:rm

  使用權(quán)限:所有使用者

  使用方式:rm [options] name...

  說明:刪除檔案及目錄。

  把計?

  -i 刪除前逐一詢問確認。

  -f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認。

  -r 將目錄及以下之檔案亦逐一刪除。

  范例:

  刪除所有C語言程式檔;刪除前逐一詢問確認 :

  rm -i *.c

  將 Finished 子目錄及子目錄中所有檔案刪除 :

  rm -r Finished

  名稱:rmdir

  使用權(quán)限:于目前目錄有適當權(quán)限的所有使用者

  使用方式: rmdir [-p] dirName

  說明: 刪除空的目錄。

  參數(shù): -p 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除。

  范例:

  將工作目錄下,名為 AAA 的子目錄刪除 :

  rmdir AAA

  在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除后,BBB 目錄成為空目錄,則 BBB 亦予刪除。

  rmdir -p BBB/Test

  名稱:split

  使用權(quán)限:所有使用者

  使用方式:split [OPTION] [INPUT [PREFIX]]

  說明:

  將一個檔案分割成數(shù)個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序為 PREFIXaa, PREFIXab...;PREFIX 預(yù)設(shè)值為 `x。若沒有 INPUT 檔或為 `-,則從標準輸入讀進資料。

  匡兜?

  -b, --bytes=SIZE

  SIZE 值為每一輸出檔案的大小,單位為 byte。

  -C, --line-bytes=SIZE

  每一輸出檔中,單行的最大 byte 數(shù)。

  -l, --lines=NUMBER

  NUMBER 值為每一輸出檔的列數(shù)大小。

  -NUMBER

  與 -l NUMBER 相同。

  --verbose

  于每個輸出檔被開啟前,列印出偵錯資訊到標準錯誤輸出。

  --help

  顯示輔助資訊然后離開。

  --version

  列出版本資訊然后離開。

  SIZE 可加入單位: b 代表 512, k 代表 1K, m 代表 1 Meg。

  范例:

  PostgresSQL 大型資料庫備份與回存:

  因 Postgres 允許表格大過你系統(tǒng)檔案的最大容量,所以要將表格 dump 到單一的檔案可能會有問題,使用 split進行檔案分割。

  % pg_dump dbname | split -b 1m - filename.dump.

  重新載入

  % createdb dbname

  % cat filename.dump.* | pgsql dbname

  名稱:touch

  使用權(quán)限:所有使用者

  使用方式:

  touch [-acfm]

  [-r reference-file] [--file=reference-file]

  [-t MMDDhhmm[[CC]YY][.ss]]

  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

  [--no-create] [--help] [--version]

  file1 [file2 ...]

  說明:

  touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。

  參數(shù):

  a 改變檔案的讀取時間記錄。

  m 改變檔案的修改時間記錄。

  c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。

  f 不使用,是為了與其他 unix 系統(tǒng)的相容性而保留。

  r 使用參考檔的時間記錄,與 --file 的效果一樣。

  d 設(shè)定時間與日期,可以使用各種不同的格式。

  t 設(shè)定檔案的時間記錄,格式與 date 指令相同。

  --no-create 不會建立新檔案。

  --help 列出指令格式。

  --version 列出版本訊息。

  范例:

  最簡單的使用方式,將檔案的時候記錄改為現(xiàn)在的時間。若檔案不存在,系統(tǒng)會建立一個新的檔案。

  touch file

  touch file1 file2

  將 file 的時間記錄改為 5 月 6 日 18 點 3 分,公元兩千年。時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。

  touch -c -t 05061803 file

  touch -c -t 050618032000 file

  將 file 的時間記錄改變成與 referencefile 一樣。

  touch -r referencefile file

  將 file 的時間記錄改成 5 月 6 日 18 點 3 分,公元兩千年。時間可以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。

  touch -d "6:03pm" file

  touch -d "05/06/2000" file

  touch -d "6:03pm 05/06/2000" file

  名稱 : at

  使用權(quán)限 : 所有使用者

  使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME

  說明 : at 可以讓使用者指定在 TIME 這個特定時刻執(zhí)行某個程式或指令,TIME 的格式是 HH:MM其中的 HH 為小時,MM 為分鐘,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 點鍾)等口語詞。

  如果想要指定超過一天內(nèi)的時間,則可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可以使用像是 now + 時間間隔來彈性指定時間,其中的時間間隔可以是 minutes, hours, days, weeks?

  另外,使用者也可指定 today 或 tomorrow 來表示今天或明天。當指定了時間并按下 enter 之后,at 會進入交談模式并要求輸入指令或程式,當你輸入完后按下 ctrl+D 即可完成所有動作,至于執(zhí)行的結(jié)果將會寄回你的帳號中。

  把計 :

  -V : 印出版本編號

  -q : 使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者可以同時使用多個 queue,而 queue 的編號為 a, b, c... z 以及 A, B, ... Z 共 52 個

  -m : 即使程式/指令執(zhí)行完成后沒有輸出結(jié)果, 也要寄封信給使用者

  -f file : 讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案后再一次讀入

  -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)

  -d : 刪除指定 (使用者也可以直接使用 atrm 而不用 at -d)

  -v : 列出所有已經(jīng)完成但尚未刪除的指定

  例子 :

  三天后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 3 days /bin/ls

  三個星期后的下午 5 點鍾執(zhí)行 /bin/ls :

  at 5pm + 2 weeks /bin/ls

  明天的 17:20 執(zhí)行 /bin/date :

  at 17:20 tomorrow /bin/date

  1999 年的最后一天的最后一分鐘印出 the end of world !

  at 23:59 12/31/1999 echo the end of world !

  名稱:cal

  使用權(quán)限:所有使用者

  使用方式:cal [-mjy] [month [year]]

  說明:

  顯示日歷。若只有一個參數(shù),則代表年份(1-9999),顯示該年的年歷。年份必須全部寫出:``cal 89\ 將不會是顯示 1989 年的年歷。使用兩個參數(shù),則表示月份及年份。若沒有參數(shù)則顯示這個月的月歷。

  1752 年 9 月第 3 日起改用西洋新歷,因這時大部份的國家都采用新歷,有 10 天被去除,所以該月份的月歷有些不同。在此之前為西洋舊歷。

  匡兜?

  -m : 以星期一為每周的第一天方式顯示。

  -j : 以凱撒歷顯示,即以一月一日起的天數(shù)顯示。

  -y : 顯示今年年歷。

  范例:

  cal : 顯示本月的月歷。

  [root@mylinux /root]# date

  Tue Aug 15 08:00:18 CST 2000

  [root@mylinux /root]# cal

  August 2000

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal 2001 : 顯示公元 2001 年年歷。

  [root@mylinux /root]# cal 2001

  2001

  January February March

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1 2 3

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24

  28 29 30 31 25 26 27 28 25 26 27 28 29 30 31

  April May June

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 5 1 2

  8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9

  15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16

  22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23

  29 30 27 28 29 30 31 24 25 26 27 28 29 30

  July August September

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 7 1 2 3 4 1

  8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8

  15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15

  22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22

  29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29

  30

  October November December

  Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

  1 2 3 4 5 6 1 2 3 1

  7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8

  14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15

  21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22

  28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29

  30 31

  [root@mylinux /root]#

  cal 5 2001 : 顯示公元 2001 年 5 月月歷。

  [root@mylinux /root]# cal 5 2001

  May 2001

  Su Mo Tu We Th Fr Sa

  1 2 3 4 5

  6 7 8 9 10 11 12

  13 14 15 16 17 18 19

  20 21 22 23 24 25 26

  27 28 29 30 31

  [root@mylinux /root]#

  cal -m : 以星期一為每周的第一天方式,顯示本月的月歷。

  [root@mylinux /root]# cal -m

  August 2000

  Mo Tu We Th Fr Sa Su

  1 2 3 4 5 6

  7 8 9 10 11 12 13

  14 15 16 17 18 19 20

  21 22 23 24 25 26 27

  28 29 30 31

  [root@mylinux /root]#

  cal -jy : 以一月一日起的天數(shù)顯示今年的年歷。

  [root@mylinux /root]# cal -jy

  2000

  January February

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  1 32 33 34 35 36

  2 3 4 5 6 7 8 37 38 39 40 41 42 43

  9 10 11 12 13 14 15 44 45 46 47 48 49 50

  16 17 18 19 20 21 22 51 52 53 54 55 56 57

  23 24 25 26 27 28 29 58 59 60

  30 31

  March April

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  61 62 63 64 92

  65 66 67 68 69 70 71 93 94 95 96 97 98 99

  72 73 74 75 76 77 78 100 101 102 103 104 105 106

  79 80 81 82 83 84 85 107 108 109 110 111 112 113

  86 87 88 89 90 91 114 115 116 117 118 119 120

  121

  May June

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  122 123 124 125 126 127 153 154 155

  128 129 130 131 132 133 134 156 157 158 159 160 161 162

  135 136 137 138 139 140 141 163 164 165 166 167 168 169

  142 143 144 145 146 147 148 170 171 172 173 174 175 176

  149 150 151 152 177 178 179 180 181 182

  July August

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  183 214 215 216 217 218

  184 185 186 187 188 189 190 219 220 221 222 223 224 225

  191 192 193 194 195 196 197 226 227 228 229 230 231 232

  198 199 200 201 202 203 204 233 234 235 236 237 238 239

  205 206 207 208 209 210 211 240 241 242 243 244

  212 213

  September October

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  245 246 275 276 277 278 279 280 281

  247 248 249 250 251 252 253 282 283 284 285 286 287 288

  254 255 256 257 258 259 260 289 290 291 292 293 294 295

  261 262 263 264 265 266 267 296 297 298 299 300 301 302

  268 269 270 271 272 273 274 303 304 305

  November December

  Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat

  306 307 308 309 336 337

  310 311 312 313 314 315 316 338 339 340 341 342 343 344

  317 318 319 320 321 322 323 345 346 347 348 349 350 351

  324 325 326 327 328 329 330 352 353 354 355 356 357 358

  331 332 333 334 335 359 360 361 362 363 364 365

  366

  [root@mylinux /root]#

  名稱 : crontab

  使用權(quán)限 : 所有使用者

  使用方式 :

  crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }

  說明 :

  crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設(shè)定指定 user 的時程表,這個前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時程表。

  餐數(shù) :

  -e : 執(zhí)行文字編輯器來設(shè)定時程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL 環(huán)境變數(shù)來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

  -r : 刪除目前的時程表

  -l : 列出目前的時程表

  時程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執(zhí)行的程式。

  當 f1 為 * 時表示每分鐘都要執(zhí)行 program,f2 為 * 時表示每小時都要執(zhí)行程式,其余類推

  當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內(nèi)要執(zhí)行,f2 為 a-b 時表示從第 a 到第 b 小時都要執(zhí)行,其余類推

  當 f1 為 */n 時表示每 n 分鐘個時間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時個時間間隔執(zhí)行一次,其余類推

  當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執(zhí)行,其余類推

  使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來設(shè)定時程表。

  例子 :

  每月每天每小時的第 0 分鐘執(zhí)行一次 /bin/ls :

  0 7 * * * /bin/ls

  在 12 月內(nèi), 每天的早上 6 點到 12 點中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup :

  0 6-12/3 * 12 * /usr/bin/backup

  周一到周五每天下午 5:00 寄一封信給 alex@domain.name :

  0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

  每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執(zhí)行 echo "haha"

  20 0-23/2 * * * echo "haha"

  注意 :

  當程式在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程式執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請在每一行空一格之后加上 > /dev/null 2>&1 即可。

  名稱 : date

  使用權(quán)限 : 所有使用者

  使用方式 :

  date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

  說明 :

  date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標記,其中可用的標記列表如下 :

  時間方面 :

  % : 印出 %

  %n : 下一行

  %t : 跳格

  %H : 小時(00..23)

  %I : 小時(01..12)

  %k : 小時(0..23)

  %l : 小時(1..12)

  %M : 分鐘(00..59)

  %p : 顯示本地 AM 或 PM

  %r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)

  %s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)

  %S : 秒(00..61)

  %T : 直接顯示時間 (24 小時制)

  %X : 相當于 %H:%M:%S

  %Z : 顯示時區(qū)

  日期方面 :

  %a : 星期幾 (Sun..Sat)

  %A : 星期幾 (Sunday..Saturday)

  %b : 月份 (Jan..Dec)

  %B : 月份 (January..December)

  %c : 直接顯示日期與時間

  %d : 日 (01..31)

  %D : 直接顯示日期 (mm/dd/yy)

  %h : 同 %b

  %j : 一年中的第幾天 (001..366)

  %m : 月份 (01..12)

  %U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)

  %w : 一周中的第幾天 (0..6)

  %W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)

  %x : 直接顯示日期 (mm/dd/yy)

  %y : 年份的最后兩位數(shù)字 (00.99)

  %Y : 完整年份 (0000..9999)

  若是不以加號作為開頭,則表示要設(shè)定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鐘,CC 為年份前兩位數(shù)字,YY 為年份后兩位數(shù)字,ss 為秒數(shù)

  把計 :

  -d datestr : 顯示 datestr 中所設(shè)定的時間 (非系統(tǒng)時間)

  --help : 顯示輔助訊息

  -s datestr : 將系統(tǒng)時間設(shè)為 datestr 中所設(shè)定的時間

  -u : 顯示目前的格林威治時間

  --version : 顯示版本編號

  例子 :

  顯示時間后跳行,再顯示目前日期 :

  date +%T%n%D

  顯示月份與日數(shù) :

  date +%B %d

  顯示日期與設(shè)定時間(12:34:56) :

  date --date 12:34:56

  注意 :

  當你不希望出現(xiàn)無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變?yōu)?8:9:4。另外,只有取得權(quán)限者(比如說 root)才能設(shè)定系統(tǒng)時間。

  當你以 root 身分更改了系統(tǒng)時間之后,請記得以 clock -w 來將系統(tǒng)時間寫入 CMOS 中,這樣下次重新開機時系統(tǒng)時間才會持續(xù)抱持最新的正確值。

  名稱 : sleep

  使用權(quán)限 : 所有使用者

  使用方式 : sleep [--help] [--version] number[smhd]

  說明 : sleep 可以用來將目前動作延遲一段時間

  參數(shù)說明 :

  --help : 顯示輔助訊息

  --version : 顯示版本編號

  number : 時間長度,后面可接 s、m、h 或 d

  其中 s 為秒,m 為 分鐘,h 為小時,d 為日數(shù)

  例子 :

  顯示目前時間后延遲 1 分鐘,之后再次顯示時間 :

  date;sleep 1m;date

  名稱: time

  使用權(quán)限: 所有使用者

  使用方式: time [options] COMMAND [arguments]

  說明: time 指令的用途,在于量測特定指令執(zhí)行時所需消耗的時間及系統(tǒng)資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因為在 Linux 上部分資源的分配函式與 time 指令所預(yù)設(shè)的方式并不相同,以致于 time 指令無法取得這些資料。

  把計?

  -o or --output=FILE

  設(shè)定結(jié)果輸出檔。這個選項會將 time 的輸出寫入 所指定的檔案中。如果檔案已經(jīng)存在,系統(tǒng)將覆寫其內(nèi)容。

  -a or --append

  配合 -o 使用,會將結(jié)果寫到檔案的末端,而不會覆蓋掉原來的內(nèi)容。

  -f FORMAT or --format=FORMAT

  以 FORMAT 字串設(shè)定顯示方式。當這個選項沒有被設(shè)定的時候,會用系統(tǒng)預(yù)設(shè)的格式。不過你可以用環(huán)境變數(shù) time 來設(shè)定這個格式,如此一來就不必每次登入系統(tǒng)都要設(shè)定一次。

  一般設(shè)定上,你可以用

  \t

  表示跳欄,或者是用

  \n

  表示換行。每一項資料要用 % 做為前導(dǎo)。如果要在字串中使用百分比符號,就用 。(學(xué)過 C 語言的人大概會覺得很熟悉)

  time 指令可以顯示的資源有四大項,分別是:

  Time resources

  Memory resources

  IO resources

  Command info

  詳細的內(nèi)容如下:

  Time Resources

  E 執(zhí)行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數(shù)字并不代表實際的 CPU 時間。

  e 執(zhí)行指令所花費的時間,單位是秒。請注意這個數(shù)字并不代表實際的 CPU 時間。

  S 指令執(zhí)行時在核心模式(kernel mode)所花費的時間,單位是秒。

  U 指令執(zhí)行時在使用者模式(user mode)所花費的時間,單位是秒。

  P 執(zhí)行指令時 CPU 的占用比例。其實這個數(shù)字就是核心模式加上使用者模式的 CPU 時間除以總時間。

  Memory Resources

  M 執(zhí)行時所占用的實體記憶體的最大值。單位是 KB

  t 執(zhí)行時所占用的實體記憶體的平均值,單位是 KB

  K 執(zhí)行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是 KB

  D 執(zhí)行程序的自有資料區(qū)(unshared data area)的平均大小,單位是 KB

  p 執(zhí)行程序的自有堆疊(unshared stack)的平均大小,單位是 KB

  X 執(zhí)行程序間共享內(nèi)容(shared text)的平均值,單位是 KB

  Z 系統(tǒng)記憶體頁的大小,單位是 byte。對同一個系統(tǒng)來說這是個常數(shù)

  IO Resources

  F 此程序的主要記憶體頁錯誤發(fā)生次數(shù)。所謂的主要記憶體頁錯誤是指某一記憶體頁已經(jīng)置換到置換檔(swap file)中,而且已經(jīng)分配給其他程序。此時該頁的內(nèi)容必須從置換檔里再讀出來。

  R 此程序的次要記憶體頁錯誤發(fā)生次數(shù)。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序。此時該頁的內(nèi)容并未被破壞,不必從置換檔里讀出來

  W 此程序被交換到置換檔的次數(shù)

  c 此程序被強迫中斷(像是分配到的 CPU 時間耗盡)的次數(shù)

  w 此程序自愿中斷(像是在等待某一個 I/O 執(zhí)行完畢,像是磁碟讀取等等)的次數(shù)

  I 此程序所輸入的檔案數(shù)

  O 此程序所輸出的檔案數(shù)

  r 此程序所收到的 Socket Message

  s 此程序所送出的 Socket Message

  k 此程序所收到的信號 ( Signal )數(shù)量

  Command Info

  C 執(zhí)行時的參數(shù)以及指令名稱

  x 指令的結(jié)束代碼 ( Exit Status )

  -p or --portability

  這個選項會自動把顯示格式設(shè)定成為:

  real %e

  user %U

  sys %S

  這么做的目的是為了與 POSIX 規(guī)格相容。

  -v or --verbose

  這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習(xí)格式設(shè)定或是剛剛開始接觸這個指令的人相當有用。

  范例:

  利用下面的指令

  time -v ps -aux

  我們可以獲得執(zhí)行 ps -aux 的結(jié)果和所花費的系統(tǒng)資源。如下面所列的資料:

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init

  root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]

  ......

  root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux

  Command being timed: "ps -aux"

  User time (seconds): 0.05

  System time (seconds): 0.06

  Percent of CPU this job got: 68%

  Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16

  Average shared text size (kbytes): 0

  Average unshared data size (kbytes): 0

  Average stack size (kbytes): 0

  Average total size (kbytes): 0

  Maximum resident set size (kbytes): 0

  Average resident set size (kbytes): 0

  Major (requiring I/O) page faults: 238

  Minor (reclaiming a frame) page faults: 46

  Voluntary context switches: 0

  Involuntary context switches: 0

  Swaps: 0

  File system inputs: 0

  File system outputs: 0

  Socket messages sent: 0

  Socket messages received: 0

  Signals delivered: 0

  Page size (bytes): 4096

  Exit status: 0

  名稱: uptime

  使用權(quán)限: 所有使用者

  使用方式: uptime [-V]

  說明: uptime 提供使用者下面的資訊,不需其他參數(shù):

  現(xiàn)在的時間

  系統(tǒng)開機運轉(zhuǎn)到現(xiàn)在經(jīng)過的時間

  連線的使用者數(shù)量

  最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負載

  參數(shù): -V 顯示版本資訊。

  范例: uptime

  其結(jié)果為:

  10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99

  名稱:chfn

  使用權(quán)限:所有使用者

  用法:shell>> chfn

  說明:提供使用者更改個人資訊,用于 finger and mail username

  范例:

  shell>> chfn

  Changing finger information for user

  Password: [del]

  Name[]:Johnney Huang ### 提供 finger 時的資料

  Office[]:NCCU

  Office Phone[]: [del]

  Home Phone[]: [del]

  名稱:chsh

  使用權(quán)限:所有使用者

  用法:shell>> chsh

  說明:更改使用者 shell 設(shè)定

  范例:

  shell>> chsh

  Changing fihanging shell for user1

  Password: [del]

  New shell [/bin/tcsh]: ### [是目前使用的 shell]

  [del]

  shell>> chsh -l ### 展示 /etc/shells 檔案內(nèi)容

  /bin/bash

  /bin/sh

  /bin/ash

  /bin/bsh

  /bin/tcsh

  /bin/csh

  ” finger [返回]

  名稱: finger

  使用權(quán)限: 所有使用者

  使用方式: finger [options] user[@address]

  說明:finger 可以讓使用者查詢一些其他使用者的資料。會列出來的資料有:

  Login Name

  User Name

  Home directory

  Shell

  Login status

  mail status

  .plan

  .project

  .forward

  其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等檔案里的資料。如果沒有就沒有。finger 指令并不限定于在同一伺服器上查詢,也可以尋找某一個遠端伺服器上的使用者。只要給一個像是 E-mail address 一般的地址即可。

  把計?

  -l

  多行顯示。

  -s

  單行顯示。這個選項只顯示登入名稱,真實姓名,終端機名稱,閑置時間,登入時間,辦公室號碼及電話號碼。如果所查詢的使用者是遠端伺服器的使用者,這個選項無效。

  范例:下列指令可以查詢本機管理員的資料:

  finger root

  其結(jié)果如下:

  Login: root Name: root

  Directory: /root Shell: /bin/bash

  Never logged in.

  No mail.

  No Plan.

  名稱:last

  使用權(quán)限:所有使用者

  使用方式:shell>> last [options]

  說明:顯示系統(tǒng)開機以來獲是從每月初登入者的訊息

  把計?

  -R 省略 hostname 的欄位

  -num 展示前 num 個

  username 展示 username 的登入訊息

  tty 限制登入訊息包含終端機代號

  范例:

  shell>> last -R -2

  johnney pts/1 Mon Aug 14 20:42 still logged in

  johnney pts/0 Mon Aug 14 19:59 still logged in

  wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp

  shell>> last -2 minery

  minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)

  minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)

  wtmp begins Tue Aug 1 09:01:10 2000

  名稱:login

  這個命令都不會就不要干算了!呵呵我也不在這里多費筆墨耽誤大家美好青春了^_^

  名稱:passwd

  使用權(quán)限:所有使用者

  使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

  說明:用來更改使用者的密碼

  參數(shù):

  -k

  -l

  -u

  -f

  -d 關(guān)閉使用者的密碼認證功能, 使用者在登入時將可以不用輸入密碼, 只有具備 root 權(quán)限的使用者方可使用.

  -S 顯示指定使用者的密碼認證種類, 只有具備 root 權(quán)限的使用者方可使用.

  [username] 指定帳號名稱.

  名稱 : who

  使用權(quán)線 : 所有使用者都可使用

  使用方式 : who - [husfV] [user]

  說明 : 顯示系統(tǒng)中有那些使用者正在上面,顯示的資料包含了使用者 ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU 使用量,動作等等。

  把計 :

  -h : 不要顯示標題列

  -u : 不要顯示使用者的動作/工作

  -s : 使用簡短的格式來顯示

  -f : 不要顯示使用者的上線位置

  -V : 顯示程式版本

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: 請用 newaliases 更新資料庫

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  ” mail [返回]

  名稱:mail

  使用權(quán)限:所有使用者

  使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]

  說明:

  mail 不僅只是一個指令, mail 還是一個電子郵件程式,不過利用 mail 來讀信的人應(yīng)該很少吧!對于系統(tǒng)管理者來說 mail 就很有用,因為管理者可以用 mail 寫成 script ,定期寄一些備忘錄提醒系統(tǒng)的使用者。

  參數(shù):

  i 忽略 tty 的中斷訊號。 (interrupt)

  I 強迫設(shè)成互動模式。 (Interactive)

  v 列印出訊息,例如送信的地點、狀態(tài)等等。 (verbose)

  n 不讀入 mail.rc 設(shè)定檔。

  s 郵件標題。

  c cc 郵件地址。

  b bcc 郵件地址。

  范例:

  將信件送給一個或以上的電子郵件地址,由于沒有加入其他的選項,使用者必須輸入標題與信件的內(nèi)容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2 使用者。

  mail user1@email.address

  mail user1@email.address user2

  將 mail.txt 的內(nèi)容寄給 user2 同時 cc 給 user1 。如果將這一行指令設(shè)成 cronjob 就可以定時將備忘錄寄給系統(tǒng)使用者。

  mail -s 標題 -c user1 user2 < mail.txt

  指令:mesg

  使用權(quán)限 : 所有使用者

  使用方式 : mesg [y|n]

  說明 : 決定是否允許其他人傳訊息到自己的終端機介面

  把計 ?

  y : 允許訊息傳到終端機介面上。

  n : 不允許訊息傳到終端機介面上 。

  如果沒有設(shè)定,則訊息傳遞與否則由終端機界面目前狀態(tài)而定。

  例子 :

  改變目前訊息設(shè)定,改成不允許訊息傳到終端機介面上 :

  mesg n

  與 mesg 相關(guān)的指令有: talk,write,wall。

  名稱:/etc/aliases

  使用權(quán)限:系統(tǒng)管理者

  使用方式: newaliases

  說明:

  sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的

  mailinglist,但實際上并沒有一個叫 redlinux 的使用者。實際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負責(zé)分送的工作。

  /etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。

  參數(shù):沒有任何參數(shù)。 范例:

  # newaliases

  下面命令會做相同的事,

  # sendmail -bi

  相關(guān)命令:

  mail, mailq, newaliases, sendmail

  名稱 : talk

  使用權(quán)限 : 所有使用者

  使用方式 :

  talk person [ttyname]

  說明 : 與其他使用者對談

  把計 :

  person : 預(yù)備對談的使用者帳號,如果該使用者在其他機器上,則可輸入 person@machine.name

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  與現(xiàn)在機器上的使用者Rollaend對談,此時 Rollaend 只有一個連線 :

  talk Rollaend

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee`即可開始對談,結(jié)束請按 ctrl+c

  例子.2 :與linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談 :

  talk Rollaend@linuxfab.cx pts/2

  接下來就是等Rollaend回應(yīng),若Rollaend接受,則Rollaend輸入 `talk jzlee@jzlee.home`即可開始對談,結(jié)束請按

  ctrl+c

  注意 : 若螢?zāi)坏淖謺霈F(xiàn)不正常的字元,試著按 ctrl+l 更新螢?zāi)划嬅妗?/p>

  名稱 : wall

  使用權(quán)限 : 所有使用者

  使用方式 :

  wall [ message ]

  使用說明:

  wall 會將訊息傳給每一個 mesg 設(shè)定為 yes 的上線使用者。當使用終端機介面做為標準傳入時, 訊息結(jié)束時需加上 EOF (通常用 Ctrl+D)?

  例子 :

  傳訊息"hi" 給每一個使用者 :

  wall hi

  名稱 : write

  使用權(quán)限 : 所有使用者

  使用方式 :

  write user [ttyname]

  說明 : 傳訊息給其他使用者

  把計 :

  user : 預(yù)備傳訊息的使用者帳號

  ttyname : 如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息

  例子.1 :

  傳訊息給 Rollaend,此時 Rollaend 只有一個連線 :

  write Rollaend

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  例子.2 :傳訊息給 Rollaend,Rollaend 的連線有 pts/2,pts/3 :

  write Rollaend pts/2

  接下來就是將訊息打上去,結(jié)束請按 ctrl+c

  注意 : 若對方設(shè)定 mesg n,則此時訊席將無法傳給對方

  名稱:kill

  使用權(quán)限:所有使用者

  使用方式:

  kill [ -s signal | -p ] [ -a ] pid ...

  kill -l [ signal ]

  說明:kill 送出一個特定的信號 (signal) 給行程 id 為 pid 的行程根據(jù)該信號而做特定的動作, 若沒有指定, 預(yù)設(shè)是送出終止 (TERM) 的信號

  把計?

  -s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著重跑, 砍掉, 結(jié)束; 詳細的信號可以用 kill -l

  -p : 印出 pid , 并不送出信號

  -l (signal) : 列出所有可用的信號名稱

  范例:

  將 pid 為 323 的行程砍掉 (kill) :

  kill -9 323

  將 pid 為 456 的行程重跑 (restart) :

  kill -HUP 456

  名稱:nice

  使用權(quán)限:所有使用者

  使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

  說明:以更改過的優(yōu)先序來執(zhí)行程式, 如果未指定程式, 則會印出目前的排程優(yōu)先序, 內(nèi)定的 adjustment 為 10, 范圍為 -20 (最高優(yōu)先序) 到 19 (最低優(yōu)先序)

  把計?

  -n adjustment, -adjustment, --adjustment=adjustment 皆為將該原有優(yōu)先序的增加 adjustment

  --help 顯示求助訊息

  --version 顯示版本資訊

  范例:

  將 ls 的優(yōu)先序加 1 并執(zhí)行 :

  nice -n 1 ls

  將 ls 的優(yōu)先序加 10 并執(zhí)行 :

  nice ls將 ls 的優(yōu)先序加 10 并執(zhí)行

  注意 : 優(yōu)先序 (priority) 為作業(yè)系統(tǒng)用來決定 CPU 分配的參數(shù),Linux 使用『回合制(round-robin)』的演算法來做 CPU 排程,優(yōu)先序越高,所可能獲得的 CPU時間就越多。

  名稱:ps

  使用權(quán)限:所有使用者

  使用方式:ps [options] [--help]

  說明:顯示瞬間行程 (process) 的動態(tài)

  參數(shù):

  ps 的參數(shù)非常多, 在此僅列出幾個常用的參數(shù)并大略介紹含義

  -A 列出所有的行程

  -w 顯示加寬可以顯示較多的資訊

  -au 顯示較詳細的資訊

  -aux 顯示所有包含其他使用者的行程

  au(x) 輸出格式 :

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  USER: 行程擁有者

  PID: pid

  %CPU: 占用的 CPU 使用率

  %MEM: 占用的記憶體使用率

  VSZ: 占用的虛擬記憶體大小

  RSS: 占用的記憶體大小

  TTY: 終端的次要裝置號碼 (minor device number of tty)

  STAT: 該行程的狀態(tài):

  D: 不可中斷的靜止 (通悸□□縝b進行 I/O 動作)

  R: 正在執(zhí)行中

  S: 靜止狀態(tài)

  T: 暫停執(zhí)行

  Z: 不存在但暫時無法消除

  W: 沒有足夠的記憶體分頁可分配

  <: 高優(yōu)先序的行程

  N: 低優(yōu)先序的行程

  L: 有記憶體分頁分配并鎖在記憶體內(nèi) (即時系統(tǒng)或捱A I/O)

  START: 行程開始時間

  TIME: 執(zhí)行的時間

  COMMAND:所執(zhí)行的指令

  范例:

  ps

  PID TTY TIME CMD

  2791 ttyp0 00:00:00 tcsh

  3092 ttyp0 00:00:00 ps

  % ps -A

  PID TTY TIME CMD

  1 ? 00:00:03 init

  2 ? 00:00:00 kflushd

  3 ? 00:00:00 kpiod

  4 ? 00:00:00 kswapd

  5 ? 00:00:00 mdrecoveryd

  .......

  % ps -aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]

  root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]

  root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]

  root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

  ........

  名稱:pstree

  使用權(quán)限:所有使用者

  使用方式:

  pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]

  pstree -V

  說明:將所有行程以樹狀圖顯示, 樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程為根 (root) ,如果有指定使用者 id , 則樹狀圖會只顯示該使用者所擁有的行程

  參數(shù):

  -a 顯示該行程的完整指令及參數(shù), 如果是被記憶體置換出去的行程則會加上括號

  -c 如果有重覆的行程名, 則分開列出 (預(yù)設(shè)值是會在前面加上 *

  范例:

  pstree

  init-+-amd

  |-apmd

  |-atd

  |-httpd---10*[httpd]

  %pstree -p

  init(1)-+-amd(447)

  |-apmd(105)

  |-atd(339)

  %pstree -c

  init-+-amd

  |-apmd

  |-atd

  |-httpd-+-httpd

  | |-httpd

  | |-httpd

  | |-httpd

  ....

  名稱:renice

  使用權(quán)限:所有使用者

  使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

  說明:重新指定一個或多個行程(Process)的優(yōu)先序(一個或多個將根據(jù)所下的參數(shù)而定)

  把計?

  -p pid 重新指定行程的 id 為 pid 的行程的優(yōu)先序

  -g pgrp 重新指定行程群組(process group)的 id 為 pgrp 的行程 (一個或多個) 的優(yōu)先序

  -u user 重新指定行程擁有者為 user 的行程的優(yōu)先序

  范例:

  將行程 id 為 987 及 32 的行程與行程擁有者為 daemon 及 root 的優(yōu)先序號碼加 1 :

  renice +1 987 -u daemon root -p 32

  注意 : 每一個行程(Process)都有一個唯一的 (unique) id?

  名稱:top

  使用權(quán)限:所有使用者

  使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n]

  說明:即時顯示 process 的動態(tài)

  把計?

  d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s

  q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的權(quán)限,則 top 將會以最高的優(yōu)先序執(zhí)行

  c : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來

  s : 安全模式,將交談式指令取消, 避免潛在的危機

  i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程

  n : 更新的次數(shù),完成后將會退出 top

  b : 批次檔模式,搭配 "n" 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi)

  范例:

  顯示更新十次后退出 ;

  top -n 10

  使用者將不能利用交談式指令來對行程下命令 :

  top -s

  將更新顯示二次的結(jié)果輸入到名稱為 top.log 的檔案里 :

  top -n 2 -b < top.log

  名稱:skill

  使用權(quán)限:所有使用者

  使用方式: skill [signal to send] [options] 選擇程序的規(guī)則

  說明:

  送個訊號給正在執(zhí)行的程序,預(yù)設(shè)的訊息為 TERM (中斷) , 較常使用的訊息為 HUP , INT , KILL , STOP , CONT ,和 0

  訊息有三種寫法:分別為 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的訊息。

  一般參數(shù):

  -f 快速模式/尚未完成

  -i 互動模式/ 每個動作將要被確認

  -v 詳細輸出/ 列出所選擇程序的資訊

  -w 智能警告訊息/ 尚未完成

  -n 沒有動作/ 顯示程序代號

  參數(shù):選擇程序的規(guī)則可以是, 終端機代號,使用者名稱,程序代號,命令名稱。

  -t 終端機代號 ( tty 或 pty )

  -u 使用者名稱

  -p 程序代號 ( pid )

  -c 命令名稱 可使用的訊號:

  以下列出已知的訊號名稱,訊號代號,功能。

  名稱 (代號) 功能/ 描述

  ALRM 14 離開

  HUP 1 離開

  INT 2 離開

  KILL 9 離開/ 強迫關(guān)閉

  PIPE 13 離開

  POLL 離開

  PROF 離開

  TERM 15 離開

  USR1 離開

  USR2 離開

  VTALRM 離開

  STKFLT 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  UNUSED 離開/ 只適用于i386, m68k, arm 和 ppc 硬體

  TSTP 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTIN 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  TTOU 停止 /產(chǎn)生與內(nèi)容相關(guān)的行為

  STOP 停止 /強迫關(guān)閉

  CONT 從新啟動 /如果在停止狀態(tài)則從新啟動,否則忽略

  PWR 忽略 /在某些系統(tǒng)中會離開

  WINCH 忽略

  CHLD 忽略

  ABRT 6 核心

  FPE 8 核心

  ILL 4 核心

  QUIT 3 核心

  SEGV 11 核心

  TRAP 5 核心

  SYS 核心 /或許尚未實作

  EMT 核心 /或許尚未實作

  BUS 核心 /核心失敗

  XCPU 核心 /核心失敗

  XFSZ 核心 /核心失敗

  范例:

  停止所有在 PTY 裝置上的程序

  skill -KILL -v pts/*

  停止三個使用者 user1 , user2 , user3

  skill -STOP user1 user2 user3

  其他相關(guān)的命令: kill

  名稱:expr

  使用權(quán)限:所有使用者

  ### 字串長度

  shell>> expr length "this is a test"

  14

  ### 數(shù)字商數(shù)

  shell>> expr 14 % 9

  5

  ### 從位置處抓取字串

  shell>> expr substr "this is a test" 3 5

  is is

  ### 數(shù)字串 only the first character

  shell>> expr index "testforthegame" e

  2

  ### 字串真實重現(xiàn)

  shell>> expr quote thisisatestformela

  thisisatestformela

  名稱: tr

  ### 1.比方說要把目錄下所有的大寫檔名換為小寫檔名?

  似乎有很多方式,"tr"是其中一種:

  #!/bin/sh

  dir="/tmp/testdir";

  files=`find $dir -type f`;

  for i in $files

  do

  dir_name=`dirname $i`;

  ori_filename=`basename $i`

  new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;

  #echo $new_filename;

  mv $dir_name/$ori_filename $dir_name/$new_filename

  done

  ### 2.自己試驗中...lowercase to uppercase

  tr abcdef...[del] ABCDE...[del]

  tr a-z A-Z

  tr [:lower:] [:upper:]

  shell>> echo "this is a test" | tr a-z A-Z > www

  shell>> cat www

  THIS IS A TEST

  ### 3.去掉不想要的字串

  shell>> tr -d this ### 去掉有關(guān) t.e.s.t

  this

  man

  man

  test

  e

  ### 4.取代字串

  shell>> tr -s "this" "TEST"

  this

  TEST

  th

  TE

  指令:clear

  用途:清除螢?zāi)挥谩?/p>

  使用方法:在 console 上輸入 clear。

  名稱: reset, tset

  使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

  使用說明:

  reset 其實和 tset 是一同個命令,它的用途是設(shè)定終端機的狀態(tài)。一般而言,這個命令會自動的從環(huán)境變數(shù)、命令列或是其它的組態(tài)檔決定目前終端機的型態(tài)。如果指定型態(tài)是 ? 的話,這個程式會要求使用者輸入終端機的型別。

  由于這個程式會將終端機設(shè)回原始的狀態(tài),除了在 login 時使用外,當系統(tǒng)終端機因為程式不正常執(zhí)行而進入一些奇怪的狀態(tài)時,你也可以用它來重設(shè)終端機o 例如不小心把二進位檔用 cat 指令進到終端機,常會有終端機不再回應(yīng)鍵盤輸入,或是回應(yīng)一些奇怪字元的問題。此時就可以用 reset 將終端機回復(fù)至原始狀態(tài)。選項說明:

  -p

  將終端機類別顯示在螢?zāi)簧?,但不做設(shè)定的動作。這個命令可以用來取得目前終端機的類別。

  -e ch

  將 erase 字元設(shè)成 ch

  -i ch

  將中斷字元設(shè)成 ch

  -k ch

  將刪除一行的字元設(shè)成 ch

  -I

  不要做設(shè)定的動作,如果沒有使用選項 -Q 的話,erase、中斷及刪除字元的目前值依然會送到螢?zāi)簧稀?/p>

  -Q

  不要顯示 erase、中斷及刪除字元的值到螢?zāi)簧稀?/p>

  -r

  將終端機類別印在螢?zāi)簧稀?/p>

  -s

  將設(shè)定 TERM 用的命令用字串的型式送到終端機中,通常在 .login 或 .profile 中用

  范例:

  讓使用者輸入一個終端機型別并將終端機設(shè)到該型別的預(yù)設(shè)狀態(tài)。

  # reset ?

  將 erase 字元設(shè)定 control-h

  # reset -e ^B

  將設(shè)定用的字串顯示在螢?zāi)簧?/p>

  # reset -s

Erase is control-B (^ .

  Kill is control-U (^U).

  Interrupt is control-C (^C).

  TERM=xterm;

  名稱:compress

  使用權(quán)限:所有使用者

  使用方式:compress [-dfvcV] [-b maxbits]

  下載地址

  說明:

  compress 是一個相當古老的 unix 檔案壓縮指令,壓縮后的檔案會加上一個 .Z 延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數(shù)個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由于 gzip 可以產(chǎn)生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。

  參數(shù):

  c 輸出結(jié)果至標準輸出設(shè)備(一般指熒幕)

  f 強迫寫入檔案,若目的檔已經(jīng)存在,則會被覆蓋 (force)

  v 將程式執(zhí)行的訊息印在熒幕上 (verbose)

  b 設(shè)定共同字串數(shù)的上限,以位元計算,可以設(shè)定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預(yù)設(shè)值 16 bits (bits)

  d 將壓縮檔解壓縮

  V 列出版本訊息

  范例:

  將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經(jīng)存在,內(nèi)容則會被壓縮檔覆蓋。

  compress -f source.dat

  將 source.dat 壓縮成 source.dat.Z ,并列印出壓縮比例。

  -v 與 -f 可以一起使用

  compress -vf source.dat

  將壓縮后的資料輸出后再導(dǎo)入 target.dat.Z 可以改變壓縮檔名。

  compress -c source.dat > target.dat.Z

  -b 的值越大,壓縮比例就越大,范圍是 9-16 ,預(yù)設(shè)值是 16 。

  compress -b 12 source.dat

  將 source.dat.Z 解壓成 source.dat ,若檔案已經(jīng)存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會自動覆蓋檔案。由于系統(tǒng)會自動加入 .Z 為延伸檔名,所以 source.dat 會自動當作 source.dat.Z 處理。

  compress -d source.dat

  compress -d source.dat.Z

  名稱: lpd

  使用權(quán)限: 所有使用者

  使用方式:lpd [-l] [#port]

  lpd 是一個常駐的印表機管理程式,它會根據(jù) /etc/printcap 的內(nèi)容來管理本地或遠端的印表機。/etc/printcap 中定義的每一個印表機必須在 /var/lpd 中有一個相對應(yīng)的目錄,目錄中以 cf 開頭的檔案表示一個等待送到適當裝置的印表工作。這個檔案通常是由 lpr 所產(chǎn)生。

  lpr 和 lpd 組成了一個可以離線工作的系統(tǒng),當你使用 lpr 時,印表機不需要能立即可用,甚至不用存在。lpd 會自動監(jiān)視印表機的狀況,當印表機上線后,便立即將檔案送交處理。這個得所有的應(yīng)用程式不必等待印表機完成前一工作。

  參數(shù):

  -l: 將一些除錯訊息顯示在標準輸出上。

  #port: 一般而言,lpd 會使用 getservbyname 取得適當?shù)?TCP/IP port,你可以使用這個參數(shù)強迫 lpd 使用指定的 port。

  范例:

  這個程式通常是由 /etc/rc.d 中的程式在系統(tǒng)啟始階段執(zhí)行。

  名稱 lpq

  -- 顯示列表機貯列中未完成的工作 用法

  lpq [l] [P] [user]

  說明

  lpq 會顯示由 lpd 所管理的列表機貯列中未完成的項目。

  范例

  范例 1. 顯示所有在 lp 列表機貯列中的工作

  # lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes

  相關(guān)函數(shù)

  lpr,lpc,lpd

  名稱: lpr

  使用權(quán)限: 所有使用者

  使用方式:lpr [ -P printer ]

  將檔案或是由標準輸入送進來的資料送到印表機貯列之中,印表機管理程式 lpd 會在稍后將這個檔案送給適當?shù)某淌交蜓b置處理。lpr 可以用來將料資送給本地或是遠端的主機來處理。

  參數(shù):

  -p Printer: 將資料送至指定的印表機 Printer,預(yù)設(shè)值為 lp。

  范例:

  將 www.c 和 kkk.c 送到印表機 lp。

  lpr -Plp www.c kkk.c

  名稱: lprm

  -- 將一個工作由印表機貯列中移除 用法

  /usr/bin/lprm [P]

  下載地址

  說明

  尚未完成的印表機工作會被放在印表機貯列之中,這個命令可用來將常未送到印表機的工作取消。由于每一個印表機都有一個獨立的貯列,你可以用 -P 這個命令設(shè)定想要作用的印列機。如果沒有設(shè)定的話,會使用系統(tǒng)預(yù)設(shè)的印表機。

  這個命令會檢查使用者是否有足夠的權(quán)限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統(tǒng)管理員才有這個權(quán)限。

  范例

  將印表機 hpprinter 中的第 1123 號工作移除

  lprm -Phpprinter 1123

  將第 1011 號工作由預(yù)設(shè)印表機中移除

  lprm 1011

  名稱: fdformat

  使用權(quán)限: 所有使用者

  使用方式:fdformat [-n] device

  使用說明 :

  對指定的軟碟機裝置進行低階格式化。使用這個指令對軟碟格式化的時候,最好指定像是下面的裝置:

  /dev/fd0d360 磁碟機 A: ,磁片為 360KB 磁碟

  /dev/fd0h1440 磁碟機 A: ,磁片為 1.4MB 磁碟

  /dev/fd1h1200 磁碟機 B: ,磁片為 1.2MB 磁碟

  如果使用像是 /dev/fd0 之類的裝置,如果里面的磁碟不是標準容量,格式化可能會失敗。在這種情況之下,使用者可以用 setfdprm 指令先行指定必要參數(shù)。

  參數(shù):

  -n 關(guān)閉確認功能。這個選項會關(guān)閉格式化之后的確認步驟。

  范例:

  fdformat -n /dev/fd0h1440

  將磁碟機 A 的磁片格式化成 1.4MB 的磁片。并且省略確認的步驟。

  名稱: mformat

  使用權(quán)限: 所有使用者

  使用方式:

  mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectorserials_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks]

  [-1] [-k] drive:

  在已經(jīng)做過低階格式化的磁片上建立 DOS 檔案系統(tǒng)。如果在編譯 mtools 的時候把 USE_2M 的參數(shù)打開,部分與 2M 格式相關(guān)的參數(shù)就會發(fā)生作用。否則這些參數(shù)(像是 S,2,1,M)不會發(fā)生作用。

  參數(shù):

  -t 磁柱(synlider)數(shù)

  -h 磁頭(head)數(shù)

  -s 每一磁軌的磁區(qū)數(shù)

  -l 標簽

  -F 將磁碟格式化為 FAT32 格式,不過這個參數(shù)還在實驗中。

  -I 設(shè)定 FAT32 中的版本號。這當然也還在實驗中。

  -S 磁區(qū)大小代碼,計算方式為 sector = 2^(大小代碼+7)

  -c 磁叢(cluster)的磁區(qū)數(shù)。如果所給定的數(shù)字會導(dǎo)致磁叢數(shù)超過 FAT 表的限制,mformat 會自動放大磁區(qū)數(shù)。

  -s

  -M 軟體磁區(qū)大小。這個數(shù)字就是系統(tǒng)回報的磁區(qū)大小。通常是和實際的大小相同。

  -a 如果加上這個參數(shù),mformat 會產(chǎn)生一組 Atari 系統(tǒng)的序號給這塊軟碟。

  -X 將軟碟格式化成 XDF 格式。使用前必須先用 xdfcopy 指令對軟碟作低階格式化的動作。

  -C 產(chǎn)生一個可以安裝 MS-DOS 檔案系統(tǒng)的磁碟影像檔(disk image)。當然對一個實體磁碟機下這個參數(shù)是沒有意義的。

  -H 隱藏磁區(qū)的數(shù)目。這通常適用在格式化硬碟的分割區(qū)時,因為通常一個分割區(qū)的前面還有分割表。這個參數(shù)未經(jīng)測試,能不用就不用。

  -n 磁碟序號

  -r 根目錄的大小,單位是磁區(qū)數(shù)。這個參數(shù)只對 FAT12 和 FAT16 有效。

  -B 使用所指定的檔案或是設(shè)備的開機磁區(qū)做為這片磁片或分割區(qū)的開機磁區(qū)。當然當中的硬體參數(shù)會隨之更動。

  -k 盡量保持原有的開機磁區(qū)。

  -0 第 0 軌的資料傳輸率

  -A 第 0 軌以外的資料傳輸率

  -2 使用 2m 格式

  -1 不使用 2m 格式

  范例:

  mformat a:

  這樣會用預(yù)設(shè)值把 a: (就是 /dev/fd0)里的磁碟片格式化。

  名稱: mkdosfs

  使用權(quán)限: 所有使用者

  使用方式: mkdosfs [ -c | -l filename ]

  [ -f number_of_FATs ]

  [ -F FAT_size ]

  [ -i volume_id ]

  [ -m message_file ]

  [ -n volume_name ]

  [ -r root_dir_entry ]

  [ -s sector_per_cluster ]

  [ -v ]

  device

  [ block_count ]

  說明: 建立 DOS 檔案系統(tǒng)。 device 指你想要建立 DOS 檔案系統(tǒng)的裝置代號。像是 /dev/hda1 等等。 block_count 則是你希望配置的區(qū)塊數(shù)。如果 block_count 沒有指定則系統(tǒng)會自動替你計算符合該裝置大小的區(qū)塊數(shù)。

  參數(shù):

  -c 建立檔案系統(tǒng)之前先檢查是否有壞軌。

  -l 從得定的檔案中讀取壞軌記錄。

  -f 指定檔案配置表(FAT , File Allocation Table)的數(shù)量。預(yù)設(shè)值為 2 。目前 Linux 的 FAT 檔案系統(tǒng)不支援超過 2 個 FAT 表。通常這個不需要改。

  -F 指定 FAT 表的大小,通常是 12 或是 16 個位元組。12 位元組通常用于磁碟片,16 位元組用于一般硬碟的分割區(qū),也就是所謂的 FAT16 格式。這個值通常系統(tǒng)會自己選定適當?shù)闹?。在磁碟片上?FAT16 通常不會發(fā)生作用,反之在硬碟上用 FAT12 亦然。

  -i 指定 Volume ID。一般是一個 4 個位元組的數(shù)字,像是 2e203a47 。如果不給系統(tǒng)會自己產(chǎn)生。

  -m 當使用者試圖用這片磁片或是分割區(qū)開機,而上面沒有作業(yè)系統(tǒng)時,系統(tǒng)會給使用者一段警告訊息。這個參數(shù)就是用來變更這個訊息的。你可以先用檔案編輯好,然后用這個參數(shù)指定,或是用

  -m -

  這樣系統(tǒng)會要求你直接輸入這段文字。要特別注意的是,檔案里的字串長度不要超過 418 個字,包括展開的跳欄符號(TAB)和換行符號(換行符號在 DOS 底下算兩個字元!)

  -n 指定 Volume Name,就是磁碟標簽。如同在 DOS 底下的 format 指令一樣,給不給都可以。沒有預(yù)設(shè)值。

  -r 指定根目錄底下的最大檔案數(shù)。這里所謂的檔案數(shù)包括目錄。預(yù)設(shè)值是在軟碟上是 112 或是 224 ,在硬碟上是 512。沒事不要改這個數(shù)字。

  -s 每一個磁叢(cluster)的磁區(qū)數(shù)。必須是 2 的次方數(shù)。不過除非你知道你在作什么,這個值不要亂給。

  -v 提供額外的訊息

  范例:

  mkdosfs -n Tester /dev/fd0 將 A 槽里的磁碟片格式化為 DOS 格式,并將標簽設(shè)為 Teste

  LINUX網(wǎng)絡(luò)通信類命令大全

  ytalk

  功能說明:與其他用戶交談。

  語  法:ytalk [-isxY][-h<主機名稱IP地址>][用戶名稱...]

  補充說明:通過ytalk指令,你可以和其他用戶線上交談,如果想和其他主機的用戶交談,在用戶名稱后加上其主機名稱或IP地址即可。

  參  數(shù):

  -h<主機名稱IP地址> 指定交談對象所在的遠端主機。

  -i 用提醒聲響代替顯示信息。

  -s 在指令提示符號先開啟ytalk交談窗。

  -x 關(guān)閉圖形界面。

  -Y 所有必須回應(yīng)yes或no的問題,都必須用大寫英文字母"Y"或"N"回答。

  write

  功能說明:傳送信息。

  語  法:write [用戶名稱][終端機編號]

  補充說明:通過write指令可傳遞信息給另一位登入系統(tǒng)的用戶,當輸入完畢后,鍵入EOF表示信息結(jié)束,write指令就會將信息傳給對方。如果接收信息的用戶不只登入本地主機一次,你可以指定接收信息的終端機編號。

  wall(write all)

  功能說明:傳送信息。

  語  法:wall [公告信息]

  補充說明:通過wall指令可將信息發(fā)送給每位同意接收公眾信息的終端機用戶,若不給予其信息內(nèi)容,則wall指令會從標準輸入設(shè)備讀取數(shù)據(jù),然后再把所得到的數(shù)據(jù)傳送給所有終端機用戶。

  uux

  功能說明:在遠端的UUCP主機上執(zhí)行指令。

  語  法:uux [-bcCIjlnrvz][-a<地址>][-g<等級>][-s<文件>][-x<層級>][--help][指令]

  補充說明:uux可在遠端的UUCP主機上執(zhí)行指令或是執(zhí)行本機上的指令,但在執(zhí)行時會使用遠端電腦的文件。

  參  數(shù):

  -或-p或--stdin 直接從鍵盤讀取要執(zhí)行的指令。

  -a<地址>或--requestor<地址> 執(zhí)行郵件地址,以便寄送狀態(tài)信息。

  -b或--erturn-stdin 在屏幕上顯示狀態(tài)信息。

  -c或--nocopy 不用將文件復(fù)制到緩沖區(qū)。

  -C或--copy 將文件復(fù)制到緩沖區(qū)。

  -g<等級>或--grade<等級> 指定文件傳送作業(yè)的優(yōu)先順序。

  -I或--config file 指定uux配置文件。

  -j或--jobid 顯示作業(yè)編號。

  -l或--link 將本機上的文件連接到緩沖區(qū)。

  -n或--notification=no 無論發(fā)生任何狀態(tài),都不寄郵件通知用戶。

  -r或--nouucico 不要立即啟動uucico服務(wù)程序,僅將作業(yè)送到隊列中,然后再執(zhí)行。

  -s<文件>或--status<文件> 將完成狀態(tài)保存為指定的文件。

  -v或--version 顯示版本信息。

  -x<層級>或--debug<層級> 指定排錯層級。

  -z或--notification=error 若發(fā)生錯誤,則以郵件來通知用戶。

  --help 顯示幫助。

  uustat

  功能說明:顯示UUCP目前的狀況。

  語  法:uustat [-aeiKmMNpqQRv][-B<行數(shù)>][-c<指令>][-C<指令>][-I<配置文件 >][-k<工作>][-o<小時>][-r<工作>][-s<主機>][-S<主機 >][-u<用戶>][-U<用戶>][-W<附注>][-y<小時>][-x<層級 >][--help]

  補充說明:執(zhí)行uucp與uux指令后,會先將工作送到隊列,再由uucico來執(zhí)行工作。uustat可顯示,刪除或啟動隊列中等待執(zhí)行的工作。

  參  數(shù):

  -a或-all 顯示全部的UUCP工作。

  -B<行數(shù)>或--mail-lines<行數(shù)> 與-M或-N參數(shù)一并使用,用來指定郵件中要包含多少行的信息。

  -c<指令>或--command<指令> 顯示與<指令>有關(guān)的工作。

  -C<指令>或--not-command<指令> 顯示與<指令>無關(guān)的工作。

  -e或--executions 僅顯示待執(zhí)行的工作。

  -i或--prompt 針對隊列中的每項工作,詢問使用是否要刪除工作。

  -I<配置文件>或--config<配置文件> 指定配置文件。

  -k<工作>或--kill<工作> 刪除指定的工作。

  -m或--status 刪除全部的工作。

  -M或-mail 將狀態(tài)信息郵寄給UUCP管理員。

  -N或--notify 將狀態(tài)信息分別郵寄給提出該項工作的用戶。

  -o<小時>或--older-than<小時> 顯示超過指定時數(shù)的工作。

  -p或--ps 顯示負責(zé)UUCP鎖定的程序。

  -q或--list 顯示每臺遠端主機上所要執(zhí)行工作的狀態(tài)。

  -Q或--no-list 不顯示工作。

  -r<工作>或--rejuvenate<工作> 重新啟動指定的工作。

  -R或--rejuvenate-all 重新啟動全部的工作。

  -s<主機>或--system<主機> 顯示與<主機>有關(guān)的工作。

  -S<主機>或--not-system<主機> 顯示與<主機>無關(guān)的工作。

  -v或--version 顯示版本信息。

  -u<用戶>或--user<用戶> 顯示與<用戶>有關(guān)的工作。

  -U<用戶>或--not-user<用戶> 顯示與<用戶>無關(guān)的工作。

  -W<附注>或--comment<附注> 要放在郵件信息中的附注。

  -y<小時>或--younger-than<小時> 顯示低于指定時數(shù)的工作。

  -x<層級>或--debug<層級> 指定排錯層級。

  --help 顯示幫助。

  statserial(status ofserial port)

  功能說明:顯示串口狀態(tài)。

  語  法:statserial [-dnx][串口設(shè)備名稱]

  補充說明:statserial可顯示各個接腳的狀態(tài),常用來判斷串口是否正常。

  參  數(shù):

  -d 以10進制數(shù)字來表示串口的狀態(tài)。

  -n 僅顯示一次串口的狀態(tài)后即結(jié)束程序。

  -x 與-n參數(shù)類似,但是以16進制來表示。

  talk

  功能說明:與其他用戶交談。

  語  法:talk [用戶名稱][終端機編號]

  補充說明:通過talk指令,你可以和另一個用戶線上交談。

  smbd(samba daemon)

  功能說明:Samba服務(wù)器程序。

  語  法:smbd [-aDhoP][-d<排錯層級>][-i<范圍>][-l<記錄文件>][-O<連接槽選項>][-p<連接端口編號>][-s<配置文件>]

  補充說明:smbd為Samba服務(wù)器程序,可分享文件與打印機等網(wǎng)絡(luò)資源供Windows相關(guān)的用戶端程序存取。

  參  數(shù):

  -a 所有的連線記錄都會加到記錄文件中。

  -d<排錯層級> 指定記錄文件所記載事件的詳細程度。

  -D 使用此參數(shù)時,smbd會以服務(wù)程序的方式在后臺執(zhí)行。

  -h 顯示幫助。

  -i<范圍> 指定NetBIOS名稱的范圍。

  -l<記錄文件> 指定記錄文件的名稱。

  -o 每次啟動時,會覆蓋原有的記錄文件。

  -O<連接槽選項> 設(shè)置連接槽選項。

  -p<連接端口編號> 設(shè)置連接端口編號。

  -P 僅用來測試smbd程序的正確性。

  -s<配置文件> 指定smbd的設(shè)置文件。

  smbclient(samba client)

  功能說明:可存取SMB/CIFS服務(wù)器的用戶端程序。

  語  法:smbclient [網(wǎng)絡(luò)資源][密碼][-EhLN][-B<IP地址>][-d<排錯層級>][-i<范圍>][-I<IP 地址>][-l<記錄文件>][-M<NetBIOS名稱>][-n<NetBIOS名稱>][-O< 連接槽選項>][-p<TCP連接端口>][-R<名稱解析順序>][-s<目錄>][-t<服務(wù)器字碼>][-T<tar選項>][-U<用戶名稱>][-W<工作群組>]

  補充說明:SMB與CIFS為服務(wù)器通信協(xié)議,常用于Windows95/98/NT等系統(tǒng)。smbclient可讓Linux系統(tǒng)存取Windows系統(tǒng)所分享的資源。

  參  數(shù):

  [網(wǎng)絡(luò)資源] [網(wǎng)絡(luò)資源]的格式為//服務(wù)器名稱/資源分享名稱。

  [密碼] 輸入存取網(wǎng)絡(luò)資源所需的密碼。

  -B<IP地址> 傳送廣播數(shù)據(jù)包時所用的IP地址。

  -d<排錯層級> 指定記錄文件所記載事件的詳細程度。

  -E 將信息送到標準錯誤輸出設(shè)備。

  -h 顯示幫助。

  -i<范圍> 設(shè)置NetBIOS名稱范圍。

  -I<IP地址> 指定服務(wù)器的IP地址。

  -l<記錄文件> 指定記錄文件的名稱。

  -L 顯示服務(wù)器端所分享出來的所有資源。

  -M<NetBIOS名稱> 可利用WinPopup協(xié)議,將信息送給選項中所指定的主機。

  -n<NetBIOS名稱> 指定用戶端所要使用的NetBIOS名稱。

  -N 不用詢問密碼。

  -O<連接槽選項> 設(shè)置用戶端TCP連接槽的選項。

  -p<TCP連接端口> 指定服務(wù)器端TCP連接端口編號。

  -R<名稱解析順序> 設(shè)置NetBIOS名稱解析的順序。

  -s<目錄> 指定smb.conf所在的目錄。

  -t<服務(wù)器字碼> 設(shè)置用何種字符碼來解析服務(wù)器端的文件名稱。

  -T<tar選項> 備份服務(wù)器端分享的全部文件,并打包成tar格式的文件。

  -U<用戶名稱> 指定用戶名稱。

  -W<工作群組> 指定工作群組名稱。

  tcpdump

  功能說明:傾倒網(wǎng)絡(luò)傳輸數(shù)據(jù)。

  語  法:tcpdump [-adeflnNOpqStvx][-c<數(shù)據(jù)包數(shù)目>][-dd][-ddd][-F<表達文件>][-i<網(wǎng)絡(luò)界面 >][-r<數(shù)據(jù)包文件>][-s<數(shù)據(jù)包大小>][-tt][-T<數(shù)據(jù)包類型>][-vv][- w<數(shù)據(jù)包文件>][輸出數(shù)據(jù)欄位]

  補充說明:執(zhí)行tcpdump指令可列出經(jīng)過指定網(wǎng)絡(luò)界面的數(shù)據(jù)包文件頭,在Linux操作系統(tǒng)中,你必須是系統(tǒng)管理員。

  參  數(shù):

  -a 嘗試將網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱。

  -c<數(shù)據(jù)包數(shù)目> 收到指定的數(shù)據(jù)包數(shù)目后,就停止進行傾倒操作。

  -d 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式,并傾倒到標準輸出。

  -dd 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式,并傾倒到標準輸出。

  -ddd 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進制數(shù)字的格式,并傾倒到標準輸出。

  -e 在每列傾倒資料上顯示連接層級的文件頭。

  -f 用數(shù)字顯示網(wǎng)際網(wǎng)絡(luò)地址。

  -F<表達文件> 指定內(nèi)含表達方式的文件。

  -i<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包。

  -l 使用標準輸出列的緩沖區(qū)。

  -n 不把主機的網(wǎng)絡(luò)地址轉(zhuǎn)換成名字。

  -N 不列出域名。

  -O 不將數(shù)據(jù)包編碼最佳化。

  -p 不讓網(wǎng)絡(luò)界面進入混雜模式。

  -q 快速輸出,僅列出少數(shù)的傳輸協(xié)議信息。

  -r<數(shù)據(jù)包文件> 從指定的文件讀取數(shù)據(jù)包數(shù)據(jù)。

  -s<數(shù)據(jù)包大小> 設(shè)置每個數(shù)據(jù)包的大小。

  -S 用絕對而非相對數(shù)值列出TCP關(guān)聯(lián)數(shù)。

  -t 在每列傾倒資料上不顯示時間戳記。

  -tt 在每列傾倒資料上顯示未經(jīng)格式化的時間戳記。

  -T<數(shù)據(jù)包類型> 強制將表達方式所指定的數(shù)據(jù)包轉(zhuǎn)譯成設(shè)置的數(shù)據(jù)包類型。

  -v 詳細顯示指令執(zhí)行過程。

  -vv 更詳細顯示指令執(zhí)行過程。

  -x 用十六進制字碼列出數(shù)據(jù)包資料。

  -w<數(shù)據(jù)包文件> 把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件。

  shapecfg(shaper configuration)

  功能說明:管制網(wǎng)絡(luò)設(shè)備的流量。

  語  法:shapecfg attach [流量管制器][網(wǎng)絡(luò)設(shè)備] 或 shapecfg speed [流量管制器][帶寬]

  補充說明:自Linux-2.15開始,便支持流量管制的功能。

  參  數(shù):

  attach 將流量管制器與實際的網(wǎng)絡(luò)設(shè)備結(jié)合。

  speed 設(shè)置流量管制器的對外傳輸帶寬。

  setserial

  功能說明:設(shè)置或顯示串口的相關(guān)信息。

  語  法:setserial [-abgGqvVz][設(shè)備][串口參數(shù)]

  補充說明:setserial可用來設(shè)置串口或顯示目前的設(shè)置。

  參  數(shù):

  -a 顯示詳細信息。

  -b 顯示摘要信息。

  -g 顯示串口的相關(guān)信息。

  -G 以指令列表的格式來顯示信息。

  -q 執(zhí)行時顯示較少的信息。

  -v 執(zhí)行時顯示較多的信息。

  -V 顯示版本信息。

  -z 設(shè)置前,先將所有的標記歸零。

  samba

  功能說明:Samba服務(wù)器控制。

  語  法:samba [start][stop][status][restart]

  補充說明:samba為script文件,可啟動,停止Samba服務(wù)器或回報目前的狀態(tài)。

  參  數(shù):

  start 啟動Samba服務(wù)器的服務(wù)。

  stop 停止Samba服務(wù)器的服務(wù)。

  status 顯示Samba服務(wù)器目前的狀態(tài)。

  restart 重新啟動Samba服務(wù)器。

  pppstats(point to point protocol status)

  功能說明:顯示PPP連線狀態(tài)。

  語  法:pppstats [-adrv][-c<執(zhí)行次數(shù)>][-w<間隔秒數(shù)>][網(wǎng)絡(luò)界面]

  補充說明:利用pppstats指令可讓你得知PPP連接網(wǎng)絡(luò)的相關(guān)信息。

  參  數(shù):

  -a 顯示絕對統(tǒng)計值。

  -c<執(zhí)行次數(shù)> 設(shè)置回報狀況的次數(shù)。

  -d 顯示相對統(tǒng)計值。

  -r 顯示數(shù)據(jù)包壓縮比率的統(tǒng)計值。

  -v 顯示VJTCP文件頭的壓縮效率統(tǒng)計值。

  -w<間隔秒數(shù)> 設(shè)置顯示統(tǒng)計信息的間隔時間。

  pppsetup

  功能說明:設(shè)置PPP連線。

  語  法:pppsetup

  補充說明:這是Slackware發(fā)行版內(nèi)附程序,它具有互動式的問答界面,讓用戶輕易完成PPP的連線設(shè)置。

  ppp-off

  功能說明:關(guān)閉ppp連線。

  語  法:ppp-of

  補充說明:這是Slackware發(fā)行版內(nèi)附的程序,讓用戶切斷PPP的網(wǎng)絡(luò)連線。

  ping

  功能說明:檢測主機。

  語  法:ping [-dfnqrRv][-c<完成次數(shù)>][-i<間隔秒數(shù)>][-I<網(wǎng)絡(luò)界面>][-l<前置載入 >][-p<范本樣式>][-s<數(shù)據(jù)包大小>][-t<存活數(shù)值>][主機名稱或IP地址]

  補充說明:執(zhí)行ping指令會使用ICMP傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠端主機的網(wǎng)絡(luò)功能沒有問題,就會回應(yīng)該信息,因而得知該主機運作正常。

  參  數(shù):

  -d 使用Socket的SO_DEBUG功能。

  -c<完成次數(shù)> 設(shè)置完成要求回應(yīng)的次數(shù)。

  -f 極限檢測。

  -i<間隔秒數(shù)> 指定收發(fā)信息的間隔時間。

  -I<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。

  -l<前置載入> 設(shè)置在送出要求信息之前,先行發(fā)出的數(shù)據(jù)包。

  -n 只輸出數(shù)值。

  -p<范本樣式> 設(shè)置填滿數(shù)據(jù)包的范本樣式。

  -q 不顯示指令執(zhí)行過程,開頭和結(jié)尾的相關(guān)信息除外。

  -r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠端主機上。

  -R 記錄路由過程。

  -s<數(shù)據(jù)包大小> 設(shè)置數(shù)據(jù)包的大小。

  -t<存活數(shù)值> 設(shè)置存活數(shù)值TTL的大小。

  -v 詳細顯示指令的執(zhí)行過程。

  uuname

  功能說明:顯示全部的UUCP遠端主機。

  語  法:uuname [-alv][-I<配置文件>][--help]

  補充說明:uuname可顯示UUCP遠端主機。

  參  數(shù):

  -a或--aliases 顯示別名。

  -I<配置文件>或--config<配置文件> 指定程序的配置文件。

  -l或--local 顯示本機名稱。

  -v或--version 顯示版本信息。

  --help 顯示幫助。

  uulog

  功能說明:顯示UUCP記錄文件。

  語  法:uulog [-DFISv][-<行數(shù)>][-f<主機>][-I<配置文件>][-n<行數(shù)>][-s<主機>][-u<用戶>][-X<層級>][--help]

  補充說明:uulog可用來顯示UUCP記錄文件中記錄。

  參  數(shù):

  -D或--debuglog 顯示排錯記錄。

  -f<主機>或--follow<主機> 與-F參數(shù)類似,但僅顯示與指定主機相關(guān)的記錄。

  -I<配置文件>或--config<配置文件> 指定程序的配置文件。

  -<行數(shù)>,-n<行數(shù)>或--lines<行數(shù)> 顯示記錄文件中,從最后算起指定行數(shù)的數(shù)值。

  -s<主機> 僅顯示記錄文件中,與指定文件相關(guān)的記錄。

  -S或--statslog 顯示統(tǒng)計記錄。

  -u<用戶>或--suer<用戶> 僅顯示記錄文件中,與指定用戶相關(guān)的記錄。

  -v或--version 顯示版本信息。

  -X<層級>或--debug<層級> 設(shè)定排錯層級。

  --help 顯示幫助。

  tty(teletypewriter)

  功能說明:顯示終端機連接標準輸入設(shè)備的文件名稱。

  語  法:tty [-s][--help][--version]

  補充說明:在Linux操作系統(tǒng)中,所有外圍設(shè)備都有其名稱與代號,這些名稱代號以特殊文件的類型存放于/dev目錄下。你可以執(zhí)行tty指令查詢目前使用的終端機的文件名稱。

  參  數(shù):

  -s或--silent或--quiet 不顯示任何信息,只回傳狀態(tài)代碼。

  --help 在線幫助。

  --version 顯示版本信息。

  traceroute

  功能說明:顯示數(shù)據(jù)包到主機間的路徑。

  語  法:traceroute [-dFlnrvx][-f<存活數(shù)值>][-g<網(wǎng)關(guān)>...][-i<網(wǎng)絡(luò)界面>][-m<存活數(shù)值 >][-p<通信端口>][-s<來源地址>][-t<服務(wù)類型>][-w<超時秒數(shù)>][主機名稱或IP地址][數(shù)據(jù)包大小]

  補充說明:traceroute指令讓你追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預(yù)設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。

  參  數(shù):

  -d 使用Socket層級的排錯功能。

  -f<存活數(shù)值> 設(shè)置第一個檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。

  -F 設(shè)置勿離斷位。

  -g<網(wǎng)關(guān)> 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個。

  -i<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。

  -I 使用ICMP回應(yīng)取代UDP資料信息。

  -m<存活數(shù)值> 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。

  -n 直接使用IP地址而非主機名稱。

  -p<通信端口> 設(shè)置UDP傳輸協(xié)議的通信端口。

  -r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠端主機上。

  -s<來源地址> 設(shè)置本地主機送出數(shù)據(jù)包的IP地址。

  -t<服務(wù)類型> 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值。

  -v 詳細顯示指令的執(zhí)行過程。

  -w<超時秒數(shù)> 設(shè)置等待遠端主機回報的時間。

  -x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗。

  testparm(test parameter)

  功能說明:測試Samba的設(shè)置是否正確無誤。

  語  法:testparm [-s][配置文件][<主機名稱><IP地址>]

  補充說明:執(zhí)行testparm指令可以簡單測試Samba的配置文件,假如測試結(jié)果無誤,Samba常駐服務(wù)就能正確載入該設(shè)置值,但并不保證其后的操作如預(yù)期般一切正常。

  參  數(shù):

  -s 不顯示提示符號等待用戶按下Enter鍵,就直接列出Samba服務(wù)定義信息。

  telnet

  功能說明:遠端登入。

  語  法:telnet [-8acdEfFKLrx][-b<主機別名>][-e<脫離字符>][-k<域名>][-l<用戶名稱 >][-n<記錄文件>][-S<服務(wù)類型>][-X<認證形態(tài)>][主機名稱或IP地址<通信端口 >]

  補充說明:執(zhí)行telnet指令開啟終端機階段作業(yè),并登入遠端主機。

  參  數(shù):

  -8 允許使用8位字符資料,包括輸入與輸出。

  -a 嘗試自動登入遠端系統(tǒng)。

  -b<主機別名> 使用別名指定遠端主機名稱。

  -c 不讀取用戶專屬目錄里的.telnetrc文件。

  -d 啟動排錯模式。

  -e<脫離字符> 設(shè)置脫離字符。

  -E 濾除脫離字符。

  -f 此參數(shù)的效果和指定"-F"參數(shù)相同。

  -F 使用Kerberos V5認證時,加上此參數(shù)可把本地主機的認證數(shù)據(jù)上傳到遠端主機。

  -k<域名> 使用Kerberos認證時,加上此參數(shù)讓遠端主機采用指定的領(lǐng)域名,而非該主機的域名。

  -K 不自動登入遠端主機。

  -l<用戶名稱> 指定要登入遠端主機的用戶名稱。

  -L 允許輸出8位字符資料。

  -n<記錄文件> 指定文件記錄相關(guān)信息。

  -r 使用類似rlogin指令的用戶界面。

  -S<服務(wù)類型> 設(shè)置telnet連線所需的IP TOS信息。

  -x 假設(shè)主機有支持數(shù)據(jù)加密的功能,就使用它。

  -X<認證形態(tài)> 關(guān)閉指定的認證形態(tài)。

  netstat

  功能說明:顯示網(wǎng)絡(luò)狀態(tài)。

  語  法:netstat [-acCeFghilMnNoprstuvVwx][-A<網(wǎng)絡(luò)類型>][--ip]

  補充說明:利用netstat指令可讓你得知整個Linux系統(tǒng)的網(wǎng)絡(luò)情況。

  參  數(shù):

  -a或--all 顯示所有連線中的Socket。

  -A<網(wǎng)絡(luò)類型>或--<網(wǎng)絡(luò)類型> 列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。

  -c或--continuous 持續(xù)列出網(wǎng)絡(luò)狀態(tài)。

  -C?-cache 顯示路由器配置的快取信息。

  -e或--extend 顯示網(wǎng)絡(luò)其他相關(guān)信息。

  -F或--fib 顯示FIB。

  -g或--groups 顯示多重廣播功能群組組員名單。

  -h或--help 在線幫助。

  -i或--interfaces 顯示網(wǎng)絡(luò)界面信息表單。

  -l或--listening 顯示監(jiān)控中的服務(wù)器的Socket。

  -M或--masquerade 顯示偽裝的網(wǎng)絡(luò)連線。

  -n或--numeric 直接使用IP地址,而不通過域名服務(wù)器。

  -N或--netlink或--symbolic 顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號連接名稱。

  -o或--timers 顯示計時器。

  -p或--programs 顯示正在使用Socket的程序識別碼和程序名稱。

  -r或--route 顯示Routing Table。

  -s或--statistice 顯示網(wǎng)絡(luò)工作信息統(tǒng)計表。

  -t或--tcp 顯示TCP傳輸協(xié)議的連線狀況。

  -u或--udp 顯示UDP傳輸協(xié)議的連線狀況。

  -v或--verbose 顯示指令執(zhí)行過程。

  -V或--version 顯示版本信息。

  -w或--raw 顯示RAW傳輸協(xié)議的連線狀況。

  -x或--unix 此參數(shù)的效果和指定"-A unix"參數(shù)相同。

  --ip或--inet 此參數(shù)的效果和指定"-A inet"參數(shù)相同。

  mingetty

  功能說明:精簡版的getty。

  語  法:mingetty [--long-hostname][--noclear][tty]

  補充說明:mingetty適用于本機上的登入程序。

  參  數(shù):

  --long-hostname 顯示完整的主機名稱。

  --noclear 在詢問登入的用戶名稱之前不要清楚屏幕畫面。

  mesg

  功能說明:設(shè)置終端機的寫入權(quán)限。

  語  法:mesg [ny]

  補充說明:將mesg設(shè)置y時,其他用戶可利用write指令將信息直接顯示在您的屏幕上。

  參  數(shù):

  n 不允許氣筒用戶將信息直接顯示在你的屏幕上。

  y 允許氣筒用戶將信息直接顯示在你的屏幕上。

  ifconfig

  功能說明:顯示或設(shè)置網(wǎng)絡(luò)設(shè)備。

  語  法:ifconfig [網(wǎng)絡(luò)設(shè)備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網(wǎng)絡(luò)設(shè)備類型><硬件地址 >][io_addr<I/O地址>][irq<IRQ地址>][media<網(wǎng)絡(luò)媒介類型>] [mem_start<內(nèi)存地址>][metric<數(shù)目>][mtu<字節(jié)>][netmask<子網(wǎng)掩碼 >][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP 地址]

  補充說明:ifconfig可設(shè)置網(wǎng)絡(luò)設(shè)備的狀態(tài),或是顯示目前的設(shè)置。

  參  數(shù):

  add<地址> 設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址。

  del<地址> 刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址。

  down 關(guān)閉指定的網(wǎng)絡(luò)設(shè)備。

  <hw<網(wǎng)絡(luò)設(shè)備類型><硬件地址> 設(shè)置網(wǎng)絡(luò)設(shè)備的類型與硬件地址。

  io_addr<I/O地址> 設(shè)置網(wǎng)絡(luò)設(shè)備的I/O地址。

  irq<IRQ地址> 設(shè)置網(wǎng)絡(luò)設(shè)備的IRQ。

  media<網(wǎng)絡(luò)媒介類型> 設(shè)置網(wǎng)絡(luò)設(shè)備的媒介類型。

  mem_start<內(nèi)存地址> 設(shè)置網(wǎng)絡(luò)設(shè)備在主內(nèi)存所占用的起始地址。

  metric<數(shù)目> 指定在計算數(shù)據(jù)包的轉(zhuǎn)送次數(shù)時,所要加上的數(shù)目。

  mtu<字節(jié)> 設(shè)置網(wǎng)絡(luò)設(shè)備的MTU。

  netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)絡(luò)設(shè)備的子網(wǎng)掩碼。

  tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。

  up 啟動指定的網(wǎng)絡(luò)設(shè)備。

  -broadcast<地址> 將要送往指定地址的數(shù)據(jù)包當成廣播數(shù)據(jù)包來處理。

  -pointopoint<地址> 與指定地址的網(wǎng)絡(luò)設(shè)備建立直接連線,此模式具有保密功能。

  -promisc 關(guān)閉或啟動指定網(wǎng)絡(luò)設(shè)備的promiscuous模式。

  [IP地址] 指定網(wǎng)絡(luò)設(shè)備的IP地址。

  [網(wǎng)絡(luò)設(shè)備] 指定網(wǎng)絡(luò)設(shè)備的名稱。

  getty(get teletypewriter)

  功能說明:設(shè)置終端機模式,連線速率和管制線路。

  語  法:getty [-h][-d<組態(tài)配置文件>][-r<延遲秒數(shù)>][-t<超時秒數(shù)>][-w<等待字符串>] [終端機編號][連線速率<終端機類型><管制線路>] 或 getty [-c<定義配置文件>]

  補充說明:getty指令是UNIX之類操作系統(tǒng)啟動時所必須的3個步驟之一。

  參  數(shù):

  -c<定義配置文件> 指定定義配置文件,預(yù)設(shè)為/etc/gettydefs。

  -d<組態(tài)配置文件> 指定組態(tài)配置文件,預(yù)設(shè)為/etc/conf.getty。

  -h 當傳輸速率為0時就強制斷線。

  -r<延遲秒數(shù)> 設(shè)置延遲時間。

  -t<超時秒數(shù)> 設(shè)置等待登入的時間。

  -w<等待字符串> 設(shè)置等待回應(yīng)的字符串。

  efax

  功能說明:收發(fā)傳真。

  語  法:efax [-sw][-a<AT指令>][-c<調(diào)制解調(diào)器屬性>][-d<驅(qū)動程序>][-f<字體文件>] [-g<指令>][-h<傳真標題字符串>][-i<AT指令>][-j<AT指令>][-k< AT指令>][-l<識別碼>][-o<選項>][-q<錯誤次數(shù)>][-r<文件名>][- v<信息類型>][-x<UUCP鎖定文件>][-t<電話號碼><傳真文件>]

  補充說明:支持Class 1與Class 2的調(diào)制解調(diào)器來收發(fā)傳真。

  參  數(shù):

  -a<AT指令> 以指定的AT指令來接電話。

  -c<調(diào)制解調(diào)器屬性> 設(shè)置本機調(diào)制解調(diào)器的屬性。

  -d<驅(qū)動程序> 指定調(diào)制解調(diào)器驅(qū)動程序。

  -f<字體文件> 使用指定的字體文件來建立傳真標題。

  -g<指令> 若接到的電話為數(shù)據(jù),則執(zhí)行指定的指令。

  -h<傳真標題字符串> 指定字符串為每頁最前端的標題。

  -i<AT指令> 在調(diào)制解調(diào)器進入傳真模式前,傳送AT指令到調(diào)制解調(diào)器。

  -j<AT指令> 在調(diào)制解調(diào)器進入傳真模式后,傳送AT指令到調(diào)制解調(diào)器。

  -k<AT指令> 在調(diào)制解調(diào)器離開傳真模式前,傳送AT指令到調(diào)制解調(diào)器。

  -l<識別碼> 設(shè)置本機調(diào)制解調(diào)器的識別碼。

  -o<選項> 使用非標準調(diào)制解調(diào)器時設(shè)置相關(guān)選項。

  -q<錯誤次數(shù)> 接收傳真時,當每頁發(fā)生錯誤次數(shù)超過指定的數(shù)目時,要求對方重發(fā)。

  -r<文件名> 在接收傳真時,將每頁分別保存成文件。

  -v<信息類型> 選擇要印出的信息類型。

  -w 不要接聽電話,等待OK或CONNECT的信號。

  -x<UUCP鎖定文件> 使用UUCP格式的鎖定文件來鎖定調(diào)制解調(diào)器。

  -t<電話號碼><傳真文件> 以<電話號碼>中的號碼來撥號,并將<傳真文件>傳真出去。

  netconfig

  功能說明:設(shè)置網(wǎng)絡(luò)環(huán)境。

  語  法:netconfig

  補充說明:這是Slackware發(fā)行版內(nèi)附程序,它具有互動式的問答界面,讓用戶輕易完成網(wǎng)絡(luò)環(huán)境的設(shè)置。

  netconf

  功能說明:設(shè)置各項網(wǎng)絡(luò)功能。

  語  法:netconf

  補充說明:netconf是Red Hat Linux發(fā)行版專門用來調(diào)整Linux各項設(shè)置的程序。

  nc

  功能說明:設(shè)置路由器。

  語  法:nc [-hlnruz][-g<網(wǎng)關(guān)...>][-G<指向器數(shù)目>][-i<延遲秒數(shù)>][-o<輸出文件 >][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數(shù)>][主機名稱][通信端口...]

  補充說明:執(zhí)行本指令可設(shè)置路由器的相關(guān)參數(shù)。

  參  數(shù):

  -g<網(wǎng)關(guān)> 設(shè)置路由器躍程通信網(wǎng)關(guān),最丟哦可設(shè)置8個。

  -G<指向器數(shù)目> 設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)。

  -h 在線幫助。

  -i<延遲秒數(shù)> 設(shè)置時間間隔,以便傳送信息及掃描通信端口。

  -l 使用監(jiān)聽模式,管控傳入的資料。

  -n 直接使用IP地址,而不通過域名服務(wù)器。

  -o<輸出文件> 指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進制字碼傾倒成該文件保存。

  -p<通信端口> 設(shè)置本地主機使用的通信端口。

  -r 亂數(shù)指定本地與遠端主機的通信端口。

  -s<來源位址> 設(shè)置本地主機送出數(shù)據(jù)包的IP地址。

  -u 使用UDP傳輸協(xié)議。

  -v 顯示指令執(zhí)行過程。

  -w<超時秒數(shù)> 設(shè)置等待連線的時間。

  -z 使用0輸入/輸出模式,只在掃描通信端口時使用。

  cu(call up)

  功能說明:連接另一個系統(tǒng)主機。

  語  法:cu [dehnotv][-a<通信端口>][-c<電話號碼>][-E<脫離字符>][-I<設(shè)置文件 >][-l<外圍設(shè)備代號>][-s<連線速率>][-x<排錯模式>][-z<系統(tǒng)主機>] [--help][-nostop][--parity=none][<系統(tǒng)主機>/<電話號碼>]

  補充說明:本指令可連接另一臺主機,并采用類似撥號終端機的接口工作,也可執(zhí)行簡易的文件傳輸作業(yè)。

  參  數(shù):

  -a<通信端口>或-p<通信端口>或--port<通信端口> 使用指定的通信端口進行連線。

  -c<電話號碼>或--phone<電話號碼> 撥打該電話號碼。

  -d 進入排錯模式。

  -e或--parity=even 使用雙同位檢查。

  -E<脫離字符>或--escape<脫離字符> 設(shè)置脫離字符。

  -h或--halfduple 使用半雙工模式。

  -I<配置文件>或--config<配置文件> 指定要使用的配置文件。

  -l<外圍設(shè)備代號>或--line<外圍設(shè)備代號> 指定某項外圍設(shè)備,作為連接的設(shè)備。

  -n或--prompt 撥號時等待用戶輸入電話號碼。

  -o或--parity=odd 使用單同位檢查。

  -s<連線速率>或--speed<連線速率>或--baud<連線速率>或-<連線速率> 設(shè)置連線的速率,單位以鮑率計算。

  -t或--maper 把CR字符置換成LF+CR字符。

  -v或--version 顯示版本信息。

  -x<排錯模式>或--debug<排錯模式> 使用排錯模式。

  -z<系統(tǒng)主機>或--system<系統(tǒng)主機> 連接該系統(tǒng)主機。

  --help 在線幫助。

  --nostop 關(guān)閉Xon/Xoff軟件流量控制。

  --parity=none 不使用同位檢查。

  arpwatch(ARP watcher)

  功能說明:監(jiān)聽網(wǎng)絡(luò)上ARP的記錄。

  語  法:arpwatch [-d][-f<記錄文件>][-i<接口>][-r<記錄文件>]

  補充說明:ARP(Address Resolution Protocol)是用來解析IP與網(wǎng)絡(luò)裝置硬件地址的協(xié)議。arpwatch可監(jiān)聽區(qū)域網(wǎng)絡(luò)中的ARP數(shù)據(jù)包并記錄,同時將監(jiān)聽到的變化通過E-mail來報告。

  參  數(shù):

  -d 啟動排錯模式。

  -f<記錄文件> 設(shè)置存儲ARP記錄的文件,預(yù)設(shè)為/var/arpwatch/arp.dat。

  -i<接口> 指定監(jiān)聽ARP的接口,預(yù)設(shè)的接口為eth0。

  -r<記錄文件> 從指定的文件中讀取ARP記錄,而不是從網(wǎng)絡(luò)上監(jiān)聽。

  apachectl(Apache control interface)

  功能說明:可用來控制Apache HTTP服務(wù)器的程序。

  語  法:apachectl [configtest][fullstatus][graceful][help][restart][start][status][stop]

  補充說明:apachectl是slackware內(nèi)附Apache HTTP服務(wù)器的script文件,可供管理員控制服務(wù)器,但在其他Linux的Apache HTTP服務(wù)器不一定有這個文件。

  參  數(shù):

  configtest 檢查設(shè)置文件中的語法是否正確。

  fullstatus 顯示服務(wù)器完整的狀態(tài)信息。

  graceful 重新啟動Apache服務(wù)器,但不會中斷原有的連接。

  help 顯示幫助信息。

  restart 重新啟動Apache服務(wù)器。

  start 啟動Apache服務(wù)器。

  status 顯示服務(wù)器摘要的狀態(tài)信息。

  stop 停止Apache服務(wù)器。

  minicom

  功能說明:調(diào)制解調(diào)器通信程序。

  語  法:minicom [-8lmMostz][-a<on或0ff>][-c<on或off>][-C<取文件>][-d<編號 >][-p<模擬終端機>][-S<script文件>][配置文件]

  補充說明:minicom是一個相當受歡迎的PPP撥號連線程序。

  參  數(shù):

  -8 不要修改任何8位編碼的字符。

  -a<on或0ff> 設(shè)置終端機屬性。

  -c<on或off> 設(shè)置彩色模式。

  -C<取文件> 指定取文件,并在啟動時開啟取功能。

  -d<編號> 啟動或直接撥號。

  -l 不會將所有的字符都轉(zhuǎn)成ASCII碼。

  -m 以Alt或Meta鍵作為指令鍵。

  -M 與-m參數(shù)類似。

  -o 不要初始化調(diào)制解調(diào)器。

  -p <模擬終端機> 使用模擬終端機。

  -s 開啟程序設(shè)置畫面。

  -S<script文件> 在啟動時,執(zhí)行指定的script文件。

  -t 設(shè)置終端機的類型。

  -z 在終端機上顯示狀態(tài)列。

  [配置文件] 指定minicom配置文件。

  dip

  功能說明:IP撥號連接。

  語  法:dip [-aikltv][-m<MTU數(shù)目>][-p<協(xié)議>][撥號script文件]

  補充說明:dip可控制調(diào)制解調(diào)器,以撥號IP的方式建立對外的雙向連接。

  參  數(shù):

  -a 詢問用戶名稱與密碼。

  -i 啟動撥號服務(wù)器功能。

  -k 刪除執(zhí)行中的dip程序。

  -l 指定要刪除的連線,必須配合-k參數(shù)一起使用。

  -m<MTU數(shù)目> 設(shè)置最大傳輸單位,預(yù)設(shè)值為296。

  -p<協(xié)議> 設(shè)置通信協(xié)議。

  -t 進入dip的指令模式。

  -v 執(zhí)行時顯示詳細的信息。

  dnsconf(dns configurator)

  功能說明:設(shè)置DNS服務(wù)器組態(tài)。

  語  法:dnsconf [--deldomain<域>][--delsecondary<域>][--newdomain<域>][-- set<主機><IP>][--setcname<CNAME><主機>][--setmx<域 ><主機>][--setns<域><主機>][--unset<主機>]

  補充說明:dnsconf實際上為linuxconf的符號連接,提供圖形截面的操作方式,供管理員管理DNS服務(wù)器。

  參  數(shù):

  --deldomain<域> 刪除域。

  --delsecondary<域> 刪除次級域。

  --newdomain<域> 新增域。

  --set<主機><IP> 新增主機記錄。

  --setcname<CNAME><主機> 設(shè)置<CNAME>。

  --setmx<域><主機> 指定域的郵件主機。

  --setns<域><主機> 指定域的DNS服務(wù)器。

  --unset<主機> 刪除DNS中某臺主機的記錄

666585