第一篇:Linux操作系統及常用命令
Linux提供了大量的命令,利用它可以有效地完成大量的工
作,如磁盤操作、文件存取、目錄操作、進程管理、文件權限設定等。所以,在Linux系統上工作離不開使用系統提供的命令。
下面我將比較常用的命令,按照系統中的作用分成以下6個部分
安裝和登錄命令:shutdown、reboot、install、mount、umount、exit、last; 文件處理命令:file、mkdir、grep、find、mv、ls、diff、cat;
系統管理相關命令:df、top、free、adduser、groupadd、kill、crontab; 網絡操作命令:ifconfig、ping、netstat、telnet、ftp、route、scp、finger; 系統安全相關命令:passwd、su、chmod、chown、sudo、ps、who;
其它命令:tar、unzip、unarj、man
安裝與登陸命令 shutdown
1.作用
shutdown命令的作用是關閉計算機,它的使用權限是超級用戶root。2.格式
shutdown [-h][-i][-k][-m][-t] 3.重要參數
-t:在改變到其它運行級別之前,告訴init程序多久以后關機。-k:并不真正關機,只是送警告信號給每位登錄者。-h:關機后關閉電源。
-c:cancel current process取消目前正在執行的關機程序。所以這個選項當然沒有時間參數,但是可以輸入一個用來解釋的訊息,而這信息將會送到每位使用者。-F:在重啟計算機時強迫fsck。-time:設定關機前的時間。-m: 將系統改為單用戶模式。-i:關機時顯示系統信息。-r:重啟。4.實用例子
遠程重啟滿天星服務器192.168.0.25 shutdown-m 192.168.0.25-r-f-t 0 遠程重啟興通博服務器 192.168.0.41 shutdown-m 192.168.0.41-r-f-t 0
reboot
1.作用
reboot命令的作用是重新啟動計算機,它的使用權限是系統管理者root。2.格式 reboot [-n] [-w] [-d] [-f] [-i] 3.主要參數
-n: 在重開機前不做將記憶體資料寫回硬盤的動作。
-w: 并不會真的重開機,只是把記錄寫到/var/log/wtmp文件里。-d: 不把記錄寫到/var/log/wtmp文件里(-n這個參數包含了-d)。-i: 在重開機之前先把所有與網絡相關的裝置停止。4.常用例子
直接重啟服務器
[root@gaop ~]# reboot
install
1.作用
install命令的作用是安裝或升級軟件或備份數據,它的使用權限是所有用戶。2.格式
(1)install [選項]...來源 目的地(2)install [選項]...來源...目錄(3)install -d [選項]...目錄...在
前兩種格式中,會將復制至或將多個文件復制至已存在的,同時設定權
限模式及所有者/所屬組。在第三種格式中,會創建所有指定的目錄及它們的主目錄。長選項必須用的參數在使用短選項時也是必須的。3.主要參數
--backup[=CONTROL]:為每個已存在的目的地文件進行備份。-b:類似 --backup,但不接受任何參數。-c:(此選項不作處理)。
-d,--directory:所有參數都作為目錄處理,而且會創建指定目錄的所有主目錄。-D:創建前的所有主目錄,然后將復制至 ;在第一種使用格式中有用。-g,--group=組:自行設定所屬組,而不是進程目前的所屬組。
-m,--mode=模式:自行設定權限模式(像chmod),而不是rwxr-xr-x。-o,--owner=所有者:自行設定所有者(只適用于超級用戶)。
-p,--preserve-timestamps:以文件的訪問/修改時間作為相應的目的地文件的時間屬性。
-s,--strip:用strip命令刪除symbol table,只適用于第一及第二種使用格式。-S,--suffix=后綴:自行指定備份文件的。
-v,--verbose:處理每個文件/目錄時印出名稱。--help:顯示此幫助信息并離開。--version:顯示版本信息并離開。4.常用例子
yum下使用,安裝軟件 yum install-y libaio-devel mount
1.作用
mount命令的作用是加載文件系統,它的用權限是超級用戶或/etc/fstab中允許的使用者。2.格式
mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir 3.主要參數
-h:顯示輔助信息。
-v:顯示信息,通常和-f用來除錯。
-a:將/etc/fstab中定義的所有文件系統掛上。
-F:這個命令通常和-a一起使用,它會為每一個mount的動作產生一個行程負責執行。在系統需要掛上大量NFS文件系統時可以加快加載的速度。
-f:通常用于除錯。它會使mount不執行實際掛上的動作,而是模擬整個掛上的過程,通常會和-v一起使用。
-t vfstype:顯示被加載文件系統的類型。
-n:一般而言,mount掛上后會在/etc/mtab中寫入一筆資料,在系統中沒有可寫入文件系統的情況下,可以用這個選項取消這個動作。4.常用例子
mount-o loop /dev/sr0 /mnt
umount
1.作用
umount命令的作用是卸載一個文件系統,它的使用權限是超級用戶root或/etc/fstab中允許的使用者。2.格式
unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir 3.常用例子
nagios顯示DISK CRITICAL| =] [mode] 文件名
操作對象who可以是下述字母中的任一個或它們的組合 u:表示用戶,即文件或目錄的所有者。
g:表示同組用戶,即與文件屬主有相同組ID的所有用戶。o:表示其它用戶。
a:表示所有用戶,它是系統默認值。
操作符號
+:添加某個權限。-:取消某個權限。=:賦予給定權限,并取消其它所有權限(如果有的話)。設置mode的權限可用下述字母的任意組合 r:可讀。w:可寫。x:可執行。
X:只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
s:文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t:保存程序的文本到交換設備上。u:與文件屬主擁有一樣的權限。
g:與和文件屬主同組的用戶擁有一樣的權限。o:與其它用戶擁有一樣的權限。
文件名:以空格分開的要改變權限的文件列表,支持通配符。一個命令行中可以給出多個權限方式,其間用逗號隔開。4.常用例子
給database文件夾賦予777權限 chmod-R 777 database
chown 1.作用
更改一個或多個文件或目錄的屬主和屬組。使用權限是超級用戶。2.格式
chown [選項] 用戶或組 文件 3.主要參數
--dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h,--no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
--from=目前所有者:目前組只當每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。-f,--silent,--quiet:去除大部分的錯誤信息。-R,--recursive:遞歸處理所有的文件及子目錄。-v,--verbose:處理任何文件都會顯示信息。4.常用例子
更改/backup01/expdp/的屬主和屬組
chown oracle:oinstall /backup01/expdp/
sudo
1.作用
sudo是一種以限制配置文件中的命令為基礎,在有限時間內給用戶使用,并且記錄到日志中的命令,權限是所有用戶。2.格式
sudo [-bhHpV] [-s ] [-u ] [指令] sudo [-klv] 3.主要參數
-b:在后臺執行命令。-h:顯示幫助。
-H:將HOME環境變量設為新身份的HOME環境變量。-k:結束密碼的有效期,即下次將需要輸入密碼。-l:列出當前用戶可以使用的命令。-p:改變詢問密碼的提示符號。-s :執行指定的Shell。
-u :以指定的用戶為新身份,不使用時默認為root。-v:延長密碼有效期5分鐘。
ps
1.作用
ps顯示瞬間進程(process)的動態,使用權限是所有使用者。2.格式
ps [options] [--help] 3.主要參數
ps的參數非常多, 此出僅列出幾個常用的參數。-A:列出所有的進程。-l:顯示長列表。-m:顯示內存信息。
-w:顯示加寬可以顯示較多的信息。-e:顯示所有進程。
a:顯示終端上的所有進程,包括其它用戶的進程。-au:顯示較詳細的信息。
-aux:顯示所有包含其它使用者的進程。4.常用例子
who
1.作用
who顯示系統中有哪些用戶登陸系統,顯示的資料包含了使用者ID、使用的登陸終端、上線時間、呆滯時間、CPU占用,以及做了些什么。使用權限為所有用戶。2.格式
who-[husfV] [user] 3.主要參數
-h:不要顯示標題列。
-u:不要顯示使用者的動作/工作。-s:使用簡短的格式來顯示。-f:不要顯示使用者的上線位置。-V:顯示程序版本。
4.常用例子
whereis 1.作用
找到程序的源、二進制文件或手冊。2.格式
whereis [-s ] [-b ] [-m ] [-u ] [ { {-S |-B |-M } Directory...}...-f ] 要找的文件名.3.主要參數
-b 搜索文件的二進制部分。-m 搜索文件的手冊部分。-s 搜索文件的源部分。-u 沒有說明文檔的文件
-B、-M 和-S 標志可以用于更改或限制 whereis 命令搜索的位置。由于該程序為了運行得更快而使用了 chdir 子例程,所以用-M、-S 和-B 標志目錄列表給出的路徑名必須是完整的;例如,它們必須以一個 /(斜杠)開始。
-B 與-b 一樣,但是添加了要搜索的目錄。更改或限制 whereis 命令搜索二進制文件的位置。
-M 與-m 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索手冊部分的位置。
-S 與-s 一樣,但是添加了要搜索的目錄。更改或限定 whereis 命令搜索源的位置。-f 終止最后的-M、-S 或-B 目錄列表并發文件名起始位置信號。其他命令 tar
1.作用
tar命令是Unix/Linux系統中備份文件的可靠方法,幾乎可以工作于任何環境中,它的使用權限是所有用戶。2.格式
tar [主選項+輔選項] 文件或目錄 3.主要參數
使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。主選項:
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。-r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
-u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。-x 從檔案文件中釋放文件。輔助選項:
-b 該選項是為磁帶機設定的,其后跟一數字,用來說明區塊的大小,系統預設值為20(20×512 bytes)。
-f 使用檔案文件或設備,這個選項通常是必選的。
-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。
-m 在還原文件時,把所有文件的修改時間設定為現在。-M 創建多卷的檔案文件,以便在幾個磁盤中存放。
-v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。-w 每一步都要求確認。
-z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。4.常用例子
解壓cmake-2.8.4.tar.gz文件 tar zxvf cmake-2.8.4.tar.gz
unzip 1.作用 unzip 命令位于/usr/bin目錄中,它們和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip軟件功能一樣,將文件壓縮成.zip文件,以節省硬盤空間,當需要的時候再將壓縮文件用unzip命令解開。該命令使用權 限是所有用戶。2.格式
unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip文件][文件][-d ][-x ] 3.主要參數
-c:將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。-f:更新現有的文件。
-l:顯示壓縮文件內所包含的文件。
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。-t:檢查壓縮文件是否正確。
-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中。
-v:執行是時顯示詳細的信息。-z:僅顯示壓縮文件的備注文字。
-a:對文本文件進行必要的字符轉換。-b:不要對文本文件進行字符轉換。
-C:壓縮文件中的文件名稱區分大小寫。-j:不處理壓縮文件中原有的目錄路徑。-L:將壓縮文件中的全部文件名改為小寫。-M:將輸出結果送到more程序處理。-n:解壓縮時不要覆蓋原有的文件。
-o:不必先詢問用戶,unzip執行后覆蓋原有文件。-P:使用zip的密碼選項。-q:執行時不顯示任何信息。
-s:將文件名中的空白字符轉換為底線字符。-V:保留VMS的文件版本信息。
-X:解壓縮時同時回存文件原來的UID/GID。[.zip文件]:指定.zip壓縮文件。
[文件]:指定要處理.zip壓縮文件中的哪些文件。-d:指定文件解壓縮后所要存儲的目錄。
-x:指定不要處理.zip壓縮文件中的哪些文件。
-Z unzip:-Z等于執行zipinfo指令。在Linux中,還提供了一個叫zipinfo的工具,能夠察看zip壓縮文件的詳細信息。unzip最新版本是5.50。4.常用例子
解壓oracle軟件
unarj
1.作用
unarj解壓縮格式為.arj格式的文件,使用權限是所有用戶。2.格式
unarj [eltx][.arj壓縮文件] 3.主要參數
e:解壓縮.arj文件。
l:顯示壓縮文件內所包含的文件。t:檢查壓縮文件是否正確。x:解壓縮時保留原有的路徑。
man
1.作用
man命令用來提供在線幫助,使用權限是所有用戶。在Linux系統中存儲著一部聯機使用的手冊,以供用戶在終端上查找。使用man命令可以調閱其中的幫助信息,非常方便和實用。2.格式
man 命令名稱
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name...3.參數
-C config_file:指定設定文件man.conf,缺省值是/etc/man.conf。
-M path:指定了聯機手冊的搜尋路徑, 如果沒有指定則使用環境變數MANPATH的設定;如果沒有使用MANPATH,則會使用/usr/lib/man.conf內的設定;如果MANPATH是空字串,則表示使用缺省值。-P pager:指定使用何種pager.man會優先使用此選項設定,然后是依環境變數MANPAGER設定,然后是環境變數PAGER;man缺省使用/usr/bin/less-is。
-S section_list man:所搜尋的章節列表(以冒號分隔),此選項會覆蓋環境變數MANSECT的設定。-a man:缺省情況是在顯示第一個找到的手冊之后,就會停止搜尋,使用此選項會強迫man繼續顯示所有符合name的聯機手冊。
-c:即使有最新的cat page,也繼續對聯機手冊重新作排版,本選項在屏幕的行列數改變時或已排版的聯機手冊損壞時特別有意義。
-d:不要真的顯示聯機手冊,只顯示除錯訊息。-D:同時顯示聯機手冊與除錯訊息。-h:顯示求助訊息然后結束程式。
-K:對所有的聯機手冊搜尋所指定的字串。請注意,本功能回應速度可能很慢,如果指定section(區域)會對速度有幫助。
-m system:依所指定的system名稱而指定另一組的聯機手冊。
man:是manual(手冊)的縮寫。在輸入命令有困難時,可以立刻得到這個文檔。例如, 如果使用ps命令時遇到困難,可以輸入man ps得到幫助信息,此時會顯示出ps的手冊頁(man page)。
由于手冊頁man page是用less程序來看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有選項。less中比較重要的功能鍵有: [q] 退出;
[Enter] 一行行地下翻; [Space] 一頁頁地下翻; 上翻一頁; [/] 后跟一個字符串和[Enter]來查找字符串; [n] 發現上一次查找的下一個匹配。
第二篇:UNIX操作系統命令
UNIX系統操作命令大全
UNIX系統操作命令 第一章 登錄和退出
用戶在登錄前,首先要向系統管理員申請一個用戶注冊名,不論用戶從哪臺計
算機登錄到ITPNET上都將訪問相同的文件系統。
1.1 登錄
當屏幕上出現Login提示符時,用戶可以輸入自己的用戶注冊名,并按回車鍵。
若有口令,系統將提示用戶輸入密碼,并按回車鍵,口令輸入正確后,用戶登錄成
功。這時,屏幕上會顯示出一些信息和命令提示符。如:
Login: guest [Enter]
passwd: ****** [Enter]
sun%
注: 用戶名要用小寫字母輸入,UNIX系統區分大小寫字母。
[hide]
1.2 退出
當用戶準備退出自己的計算機帳號時,可在系統示符下輸入logout或exit或按
[Ctrl-D]。當屏幕出現Login時,用戶可以安全地離開計算機了。如:
sun% logout [Enter]
Login:
1.3 修改口令 為了防止他人使用自己的帳號,在你首次登錄后,請用passwd命令修改只有本
人知道的保密口令,口令通常由此可6到8個字母數字組成。如:
sun% passwd[Enter]
Old Passwd: ******
New Passwd: ******
update 更新磁盤 val SCCS實用程序 vc SCCS實用程序 vi 全屏幕編輯器 volcopy 文件系統的文字拷貝 wait 等待所有字進程結束 while 循環語句 who 顯示誰在使用系統 whodo 顯示哪些用戶在做什么 write 和另一用戶直接對話 xargs 建立參數表并執行命令 yacc 語法分析程序生成器;)cl
注:當你退出系統再次登錄時,就要使用新的口令。
第二章 目錄操作命令
2.1 顯示目錄
命令:pwd(print working directory)
格式:pwd
功能:顯示出用戶當前工作目錄的全路徑名。
例如:% pwd
2.2 建立目錄
命令:mkdir(make directory)
格式:mkdir directory_name
功能:建立新目錄
例如:% mkdir directory
2.3 改變目錄
命令:cd(change directory)
格式:cd directory_name
功能:改變當前工作目錄
注釋:目錄名選項有:
(1)目錄名,轉到當前目錄下的子目錄。
(2)..表示轉到當前目錄的父目錄。
(3)/ 表示轉到根目錄。
(4)沒有選項時,轉到用戶的主目錄。
例如:% cd directory
2.4 刪除目錄
命令:rmdir(remove directory)
格式:rmdir directory_name
功能:刪除不存在文件的子目錄名。
注釋:
(1)刪除子目錄時,要求被刪除的目錄中不存在文件或子目錄,否則無法刪除。
(2)若被刪除的目錄中有文件或子目錄,請參考命令rm-r directory_name。
例如:% rmdir directory
第三章 文件操作命令
3.1 列出文件目錄
命令:ls(list)
格式:ls [option] directory_name
功能:列出指定目錄中的文件名和子目錄名。當無子目錄名時,列出當前目錄
中的文件名和子目錄名。
選項:-a列出所有文件,包括以點開頭的隱含文件。
-l按長格式列出文件名,包括文件類型標識,權限,鏈接數,文件主名,文件組名,字節數,日期。
-r列出包括子目錄下所有文件
-g在長格式中給出用戶組的標識。
-t安文件生成日期排序。
例如:% ls-la
3.2 顯示文件內容
命令:cat(catenae)全屏滾動顯示
格式:cat filename
功能:顯示出文件的內容。
注釋:當文件內容在屏幕上滾動顯示時,可按Ctrl+S鍵屏幕滾暫停,按Ctrl+Q
鍵繼續顯示。
例如:% cat filename
3.3 按屏幕顯示文件內容
命令:more
格式:more filename
功能:按屏幕一屏一屏顯示出文件內容
選項:
注釋:在屏幕顯示過程中有功能鍵。空格鍵 繼續下一屏的輸出;回車鍵 看下
一行的輸出;q鍵 跳出more狀態;/字符串 查旬字符串所在處;a鍵 返
回到上一屏。
例如:% more filename
3.4 分頁顯示文件內容
命令:pg(page)
格式:pg [option] filename
功能:分頁顯示指定文件的內容。在顯示一頁文件時,最后一行將顯示等待用
戶輸入指令。可輸入的指令有如下選項。
選項:h
顯示pg命令中可使用的幫助(help)命令。
q
退出pg命令。
[return] 顯示下一頁正文。
顯示正文的下一行
[Space] 顯示下一頁
d/[Ctrl-D] 將屏幕滾動半屏。
n
顯示pg命令行中說明的下一個文件。
p
顯示pg命令行中說明的前一個文件。
%
顯示正文當前頁的前面一頁。
/pattern 在文件中向前搜索指定的字符模式。
?pattern 在文件中向后搜索指定的字符模式。
注釋:當pg命令顯示到文件的末尾時,顯示一個文件結束信息EOF(end of file)。
例如:% pg filename
3.5 讀文件
命令:view
格式:view filename
功能:只能讀出文件內容。
注釋:此命令不能對讀出的原文件進行寫操作。若對原文件進行了修改,可利
用命令“:w newfilename”將修改后的文件寫到新文件中。
例如:% view filename
3.6 顯示文件頭部
命令:head
格式:head [option] filename
功能:顯示文件的頭部
選項:缺省 顯示文件的頭10行。
-i 顯示文件的開始 i行。
例如:% head filename
3.7 顯示文件尾部
命令:tail
格式:tail [option] filename
功能:顯示文件的尾部
選項:缺省 顯示文件的末10行。
-i 顯示文件最后 i行。
+i 從文件的第i行開始顯示。
例如:% tail filename
3.8 顯示格式化的文件內容
命令:pr(print)
格式:pr filename
功能:在屏幕上顯示格式化的文件內容,即印出每頁66行的文本文件,包括5
行頁頭和5行頁尾。頁頭包括兩行空行,一行含有文件的時間、文件名
和頁號,另外兩行為空行。頁尾為5行空行。
例如:% pr filename
3.9 拷貝文件
命令:cp(copy)
格式:cp [option] filename1 filename2
cp [option] filename...directory
cp-r directory1 directon2
功能:把一個文件的全部內容拷貝到另一個文件,也可將一個或多個文件拷貝
到另一個目錄中。
選項:-i 按提示進行拷貝文件。
-p 按原文件日期進行拷貝。
-r 對子目錄下所有文件進行拷貝。
注釋:當filename1拷貝到filename2時,若filename2已經存在,則filename2 的內容將被filename1覆蓋。
例如:% cp filename1 filename2
3.10移動文件或文件改名
命令:mv(move)
格式:mv filename1 filename2
mv filename...direction
mv direction1 direction2
功能:改變文件或目錄的名子,或把一些文件移到另一目錄下。
注釋:當filename1更名為filename2時,若filename2已經存在,則filename2 的內容將被filename1覆蓋
例如:% mv filename1 filename2
3.11刪除文件
命令:rm(remove)
格式:rm filename
rm-r direction
功能:刪除指定的文件或一個目錄中的文件。
注釋:用-r選項時,將刪除指定目錄的所用文件,包括目錄名。
例如:% rm filename
3.12鏈接文件
命令:ln(link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:為文件或目錄建立一個鏈。其中,filename和directory是源文件名和
源目錄名;linkname和pathname分別表示與源文件或源目錄名相鏈接的
文件或目錄。
選項:-s 為文件或目錄建立符號鏈接。
注釋:鏈接的目地在于,對一個文件或目錄賦予兩個以上的名字,使其可以出
現在不同的目錄中,既可以使文件或目錄共享,又可以節省磁盤空間。
例如:% ln-s filename linkname
3.13改變文件讀取權限
命令:chmod(change mode)
格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
chmod [who][op][mode] directory
功能:改變文件的讀寫和執行權限。有符號法和八進制數字法。
選項:(1)符號法:
u(user)表示用戶本人。
g(group)表示同組用戶。
o(oher)表示其他用戶。
a(all)表示所有用戶。
+
用于給予指定用戶的許可權限。
用于取消指定用戶的許可權限。
=
將所許可的權限賦給文件。
r(read)讀許可,表示可以拷貝該文件或目錄的內容。
w(write)寫許可,表示可以修改該文件或目錄的內容。
x(execute)執行許可,表示可以執行該文件或進入目錄。
(2)八進制數字法:
此方法用三位八進制數作任選項,每位數字分別表示用戶本人、同組用
戶、其他用戶的權限,其中:(100)表示可讀。(010)表示可寫。(001)表示可執行。
注釋:
例如:% chmod a+rx filename
讓所有用戶可以讀和執行文件filename。
% chmod go-rx filename
取消同組和其他用戶的讀和執行文件filename的權限。
% chmod 741 filename
讓本人可讀寫執行、同組用戶可讀、其他用戶可執行文件filename。
3.14改變文件所有權
命令:chown(change owner)
格式:chown username filename
chown-R username directory
功能:改變文件或目錄的所有權。
選項:-R 將改變目錄中所有文件及目錄的擁有者。
注釋:只有文件的主人和超級用戶才能改變文件的所有權。
例如:% chown username filename
3.15尋找文件
命令:find
格式:find pathname [option] expression
功能:在所給的路經名下尋找符合表達式相匹配的文件。
選項:-name 表示文件名
-user 用戶名,選取該用戶所屬的文件
-group 組名,選取該用戶組屬的文件
-mtime n 選取n天內被修改的文件
-newer fn 選取比文件名為fn更晚修改的文件
注釋:
例如:% find.-name '*abc*'-print
3.16搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或標準輸入,并顯示匹配模式的每一行。
選項:-v找出模式失配的行
-c統計匹配行的數量
-n顯示匹配模式的每一行
注釋:
例如:% ps-aux | grep R
3.17比較文件不同
命令:diff(difference)
格式:diff filename1 filename2
功能:顯示兩文件的不同之處。
選項:
注釋:
例如:% diff file1 file2
3.18比較文件
命令:cmp(compare)
格式:cmp [-l] [-s] filename1 filename2
功能:顯示比較兩文件不同處的信息
選項:-l 給出兩文件不同的字節數
-s 不顯示兩文件的不同處,給出比較結果
注釋:
例如:% cmp file1 file2
3.19比較文件共同處
命令:comm(common)
格式:comm [-123] filename1 filename2
功能:選擇或拒絕比較兩文件出現的共同行
選項:-1 不顯示第1列
-2 不顯示第2列
-3 不顯示第3列
注釋:輸出三列,第一列表示在file1中出現的行,第二列表示在file2中出現 的行,第三列表示在file1和file2中共同出現的行。
例如:% comm file1 file2
3.20排序文件
命令:sort
格式:sort [option] filename
功能:將制定的文件按要求排序
選項:-r 按字母倒排序
-n 按數字的值從小到大排序
-r 按當前排序規則逆序排序
-f 不區分大小寫排序
-d 按典型順序排序
注釋:選項缺省時按ascii碼順序排序
例如:% sort-nr file
3.21壓縮文件
命令:compress
格式:compress [option] filename 功能:壓縮文件。
選項:-f 強制壓縮
-v 壓縮時顯示壓縮百分比
注釋:
例如:% comproess files
3.22解縮文件
命令:uncompress
zcat
格式:compress [option] filename
zcat filename
功能:展開或顯示壓縮文件。
選項:-c 不改變文件寫到標準輸出
注釋:zcat命令相當于uncompress-c
例如:% uncomproess files.Z
3.23顯示文件類型
命令:file
格式:file filename...功能:按文件內容來推測文件類型,如text,ascii,C,executable,core。
選項:
注釋:
例如:% file *
3.24建立檔案文件
命令:tar(tape archive)
格式:tar [option] tarfile filename
功能:建立文件的存檔或讀存檔文件。
選項:-c 建立一個新的檔案文件
-x 從檔案文件中讀取文件
-v 顯示處理文件的信息
-f 指定檔案文件名,缺省時為磁帶機即/dev/rmt/0
-t 列出存檔文件的信息
注釋:
例如:% tar cvf tarfile.% tar xvf tarfile
% tar tvf tarfile
3.25磁帶拷貝文件
命令:dd
格式:dd [option=value] 功能:用磁帶機轉換或拷貝文件。
選項:if=name 指定輸入文件名
of=name 指定輸出文件名
ibs=n 指定輸入文件塊大小為n字節(缺省為512字節)
obs=n 指定輸出文件塊大小為n字節(缺省為512字節)
注釋:
例如:% dd if=filename of=/dev/rmt/0
% dd if=/dev/rmt/0 of=filename ibs=1024
3.26修改文件日期
命令:touch
格式:touch filenae
功能:改變文件的日期,不對文件的內容做改動,若文件不存在則建立新文件。
選項:
注釋:
例如:% touch file
3.27統計文件字數
命令:wc(word characters)
格式:wc [option] filename
功能:統計文件中的文件行數、字數和字符數。
選項:-l 統計文件的行數
-w 統計文件的字數
-c 統計文件的字符數
注釋:若缺省文件名則指標準輸入
例如:% wc file
3.28檢查拼寫
命令:spell(spelling)
格式:spell [option] filename...功能:檢查文件中的拼寫錯誤
選項:-b 按英國拼法檢查
-v 顯示字面上不在拼法字典上的詞
-x 顯示每一個可能合理的詞根
注釋:
例如:% spell file
第四章 有關狀態信息命令
4.1顯示當前注冊的用戶
命令:w
格式:w [option] [username]
功能:顯示當前正在使用系統的用戶名、注冊時間和當前執行的命令。
選項:-h 不顯示起始行
-s 按短格式顯示
-l 按長格式顯示(缺省設置)
注釋:
例如:% w
4.2 顯示都誰登錄到機器上
命令:who
格式:who
功能:顯示當前正在系統中的所有用戶名字,使用終端設備號,注冊時間。
例如:% who
4.3 顯示當前終端上的用戶名
命令:whoami
格式:whoami
功能:顯示出當前終端上使用的用戶。
例如:% whoami
4.4 確定命令位置
命令:whereis
格式:whereis command
功能:確定一個命令的二進制行碼、源碼及聯機手冊所在的位置。
選項:
注釋:
例如:% whereis ls
4.5 查找非標準命令
命令:which
格式:which command
功能:查找非標準命令,即使用別名或系統中標準命令集之外的命令。
選項:
注釋:
例如:% which ls
4.6 顯示日期
命令:date
格式:date
功能:顯示或設置日期和時間。
選項:
注釋:只有超級用戶有權設置日期。
例如:% date
4.7 顯示日歷
命令:cal(calendar)
格式:cal [month] year
功能:顯示某年內指定的日歷
選項:
注釋:
例如:% cal 1998
4.8 計算命令執行時間
命令:time
格式:time [command]
功能:計算程序或命令在執行其間所用的時間。
選項:
注釋:計算出的時間為:real是命令在系統駐留的總時間,user是命令消耗CPU 的時間,sys是命令I/O所開銷的時間。
例如:% time myprog
4.9 查詢帳目
命令:acseek(account seek)
格式:acseek [-d n] [-m usersname]
功能:查詢本月的用戶帳目。
選項:-d n
-m username
注釋:若沒有選項,則顯示本人當月的帳單。
例如:% acseek
4.10顯示用戶標識
命令:id 格式:id [option] [user]
功能:顯示用戶標識及用戶所屬的所有組。
選項:-a 顯示用戶名、用戶標識及用戶所屬的所有組
注釋:
例如:% id username
4.11顯示主機標識
命令:hostid
格式:hostid
功能:顯示主機的唯一標識,是被用來限時軟件的使用權限,不可改變。
選項:
注釋:
例如:% hostid
4.12顯示主機名
命令:hostname
格式:hostname
功能:顯示或設置主機名。
選項:
注釋:只有超級用戶才能設置主機名。
例如:% hostname
4.13顯示進程
命令:ps 格式:ps [option]
功能:顯示系統中進程的信息。包括進程ID、控制進程終端、執行時間和命令。
選項:-a 列出當前系統中所有進程的信息
-l 顯示一個長列表
-e 顯示當前運行的每一個進程信息
-f 顯示一個完整的列表
注釋:
例如:% ps-ef
4.14顯示磁盤空間
命令:df(disk free)
格式:df [option]
功能:顯示磁盤空間的使用情況,包括文件系統安裝的目錄名、塊設備名、總
字節數、已用字節數、剩余字節數占用百分比。
選項:-i 顯示已用和未用的字節數
-k 顯示磁盤空間的使用信息
注釋:
例如:% df-k
4.15顯示文件盤空間
命令:du(disk usage)
格式:du [option] [filename]
功能:顯示目錄或文件所占磁盤空間大小
選項:-a 顯示所有文件的大小
-s 顯示制定目錄所占磁盤大小
注釋:
例如:% du
4.16顯示盤空間限制
命令:quota
格式:quota-v [username]
功能:顯示用戶的磁盤空間限制和使用情況。包擴盤空間的限額和已使用數,允許建立的節點數限額和使用節點數。
選項:-v 查看用戶在系統中的盤空間
注釋:只有超級用戶可以顯示任何用戶的使用情況,用edquota命令可修改。
例如:% quota-v
4.17顯示終端選項
命令:stty
格式:stty [option]
功能:顯示或設置終端的任選項。
選項:-a 顯示所有設置情況
-g 顯示當前設置
注釋:
例如:% stty-a
4.18顯示終端名
命令:tty
格式:tty
功能:顯示終端名
選項:
注釋:
例如:% tty
4.19回憶命令
命令:history
格式:history
功能:幫助用戶回憶執行過的命令。
選項:
注釋:
例如:% history
4.20聯機幫助手冊
命令:man(manual)
格式:man command_name
功能:顯示參考手冊,提供聯機幫助信息。
選項:
注釋:-k 按制定關鍵字查詢有關命令
例如:% man tar
4.21建立別名
命令:alias
格式:alias newname name
功能:用戶可以將常用的命令用自己習慣的名稱來重新命名。
選項:
注釋:
例如:% alias dir 'ls-F'
第五章 網絡命令
5.1顯示網絡地址
命令:arp
格式:arp hostname
功能:顯示系統當前訪問的遠程主機名、IP地址和硬件地址。
選項:-a
注釋:
例如:% arp-a
5.2 顯示用戶信息
命令:finger
格式:finger username
功能:顯示網上用戶使用機器的情況,包括用戶何時登錄和最后一次注冊記錄。
選項:
注釋:
例如:% finger username
5.3 網上對話
命令:talk
格式:talk username
功能:在網上與另一用戶進行對話。
選項:
注釋:對話時系統把終端分為上下兩部分,上半部顯示自己鍵入信息,下半部
顯示對方用戶鍵入的信息。鍵入delete或Ctrl+C則結束對話。
例如:% talk username
5.4 允許或拒絕接受信息
命令:mesg(message)
格式:mesg [n/y]
功能:允許或拒絕其它用戶向自己所用的終端發送信息。
選項:n 拒絕其它用戶向自己所用的終端寫信息
y 允許其它用戶向自己所用的終端寫信息(缺省值)
注釋:
例如:% mesg n
5.5 給其他用戶寫信息
命令:write
格式:write username [ttyname]
功能:給其他用戶的終端寫信息。
選項:
注釋:若對方沒有拒絕,兩用戶可進行交談,鍵入EOF或Ctrl+C則結束對話。
例如:write username
5.6 測試網路
命令:ping
格式:ping hostname
功能:向網絡上的主機發送ICMP ECHO REQUEST信息包,檢測網絡是否暢通。
選項:
注釋:被測試的主機名可用IP地址。當丟包率為(100% packet loss)則說明
當前網絡不通。
例如:% ping hostsname
5.7 遠程shell命令
命令:rsh(remote shell)
格式:rsh hostsname command
功能:在本地機執行遠程主機的shell命令。
選項:
注釋:
例如:% rsh hostname who
5.8 遠程拷貝文件
命令:rcp(remote copy)
格式:rcp [-r] file newfile
功能:拷貝遠程主機上的文件。
選項:-r 拷貝目錄
注釋:
例如:% rcp hostname:/tmp/file.5.9 遠程注冊
命令:rlogin(remote login)
格式:rlogin hostname [-l username]
功能:注冊到遠程主機上。
選項:-l username 注冊到另一用戶
注釋:要有用戶口令才能注冊。
例如:% rlogin hostname
5.10 遠程登錄
命令:telnet
格式:telnet hostname
功能:遠程登錄到網上其它主機。
選項:
注釋:支持不同的操作系統。
例如:% telnet bbs.tsinghua.edu.cn
5.11文件傳輸
命令:ftp(file transfer program)
格式:ftp hostname
功能:網絡文件傳輸及遠程操作。
選項:ftp命令:
?/help ftp的聯機幫助
open hostname 打開制定的遠程機
cd [dirname] 進入遠程機的目錄
lcd [dirname] 設置本地機的目錄
binary 以二進制方式進行傳輸
dir/ls 顯示遠程的目錄文件
get/mget 從遠程機取一個或多個文件
put/mput 向遠程機送一個或多個文件
prompt 打開或關閉多個文件傳送時的交互提示
close
關閉與遠程機的連接
quit
退出ftp
注釋:
例如:% ftp hostname
5.12顯示到網絡主機的路徑
命令:traceroute
格式:traceroute hostname
功能:顯示本機到達某一網絡主機所經的路經和使用的時間。
選項:
注釋:
例如:% traceroute hostname
第六章 Mail命令
6.1 發送或接受電子郵件
命令:mail/Mail/mailx
格式:mail username(發送)
mail [option](接受)
功能:向網上用戶發送或接受電子郵件。
選項:-r 郵件按先進先出順序排序。缺省時為后進先出順序排序
-q 中斷mail后不改變信箱內容
-p 顯示mail每份郵件,不顯示提示信息
-f 從郵件格式文件中讀郵件
注釋:mail命令:
? 顯示mail幫助命令
h 郵件標題列表
p 顯示當前郵件
n 顯示下一郵件
r [uers] 給發信人或用戶回信
s [file] 將郵件保存到文件中,保存標題信息
w [file] 將郵件寫到文件中,不保存標題信息
d [n] 刪除當前郵件或第n封郵件
q 將未刪除的郵件存入mbox文件,并退出mail
x 所有郵件不作修改,退出mail
例如:% mail-s “Subjet...” username < messages
6.2 顯示郵件隊列
命令:mailq
格式:mailq
功能:查看正在發送或接收郵件的排隊情況。選項:
注釋:此命令一般在系統或網絡不同時使用。
例如:% mailq
6.3 郵件操作命令
命令:pine
格式:pine
功能:對自己郵件操作的程序。
選項:
注釋:此操作是在菜單提示下進行。
例如:% pine
第七章 運行程序命令
7.1 按時間執行命令
命令:at/batch
格式:at [option] [time] [data] [file]
功能:在制定的時間執行命令或命令文件。
選項:-r 取消以前用at命令提交的作業
-l 顯示用at命令提交的所有作業狀態和作業號
注釋:
例如:at 0030 Jan 20 myfile
7.2 參數回至標準輸出
命令:echo
格式:echo [-n] [arguments]
功能:將參數即字符串至標準輸出即顯示器
選項:-n 不向標準輸出回送換行符
注釋:
例如:echo *
7.3 復制至文件
命令:tee
格式:tee [option] filename
功能:至標準輸出的同時復制至文件
選項:-a 輸出時附加到文件中
-i 不理采中斷
注釋:
例如:% who | tee file
7.4 給程序優先級
命令:nice
格式:nice [-n] command
功能:以低的優先級運行程序或命令。選項:-n 為優先級0-20從高到低
注釋:
例如:nice-5 progame
7.5 終止進程
命令:kill
格式:kill [option] pid
功能:向指定的進程送信號或終止進程。
選項:-9 強行終止進程
-17 將進程掛起
-19 將掛起的進程激活
注釋:pid標示進程號,可由ps命令得到。
例如:% kill-9 pid
7.6 進程睡眠
命令:sleep
格式:sleep time
功能:使當前正在執行的進程在規定的時間內處于睡眠。
選項:
注釋:time為進程將睡眠的時間,以秒為單位。
例如:% sleep time
7.7 顯示作業狀態
命令:jobs
格式:jobs [-l]
功能:顯示當前作業的狀態
選項:-l 長列表顯示作業狀態,包括所有者、作業號、終端和狀態。
注釋:作業狀態為 +表示最近被停止的作業,-表示先前的作業,exit 1表示
退出的作業,job# done表示已完成的作業。
例如:% jobs
7.8 前臺作業
命令:fg
格式:fg job#
功能:將指定作業號的作業轉入前臺運行。job#表示作業號。
選項:
注釋:
例如:% fg job#
7.9 后臺作業
命令:bg/&
格式:bg job#
command &
功能:將指定作業號的作業或命令推到后臺運行。選項:
注釋:
例如:% bg job#
7.10掛起作業
命令:stop
格式:stop job#
功能:將指定作業號的后臺作業掛起.選項:
注釋:
例如:% stop job#
第八章 程序編譯執行命令
8.1 C程序編譯
命令:cc
格式:cc [option] filename
功能:編譯或鏈接指定的C文件。
選項:-o 指定輸出文件名,缺省時為a.out
-c 只編譯,產生.o的目標文件
-g 產生用于符號測試的執行文件
-lm 進行連接cc數學庫
-O 進行代碼的一般優化
-O2 二級優化
注釋:C編譯器參考手冊可用命令man cc查看。
例如:% cc-o test test.c
8.2 C++程序編譯
命令:CC
格式:CC [option] filename
功能:編譯或鏈接指定的C++文件。
選項:同C編譯選項
注釋:C++編譯器參考手冊可用命令man CC查看。
例如:% CC-O2 test.cc
8.3 FORTRAN77程序編譯
命令:f77
格式:f77 [option] filename
功能:編譯或鏈接指定的Fortran文件
選項:-o 指定輸出文件名,缺省時為a.out
-c 只編譯,產生.o的目標文件
-g 產生用于符號測試的執行文件
-O0 不進行代碼優化
-O1 盡快進行代碼優化
-O2 二級優化
-O3 三級優化
注釋:FORTRAN77編譯器參考手冊可用命令man f77查看
例如:% f77-c test.f
8.4 FORTRAN90程序編譯
命令:f90
格式:f90 [option] filename
功能:編譯或鏈接指定的Fortran90文件
選項:同FORTRAN77編譯選項
注釋:FORTRAN90編譯器參考手冊可用命令man f90查看
例如:% f90-O-o test test.f
8.5 GNU程序編譯
命令:gcc(GNU C)
g++/c++(GNU C++)
g77(GNU FORTRAN77)
格式:gcc [option] filename
g++ [option] filename
g77 [option] filename
功能:編譯或鏈接指定的編譯文件。
選項:-o 指定輸出文件名,缺省時為a.out
-c 只編譯,產生.o的目標文件
-O 進行代碼的一般優化
-O2 二級優化
注釋:GNU編譯器參考手冊可進入emacs中info菜單下查看。
例如:% gcc-o test test.c
8.6 運行文件
格式:a.out
filename
功能:源程序經編譯后產生目標代碼文件,放在a.out文件或指定輸出文件名。
補充常用配置文件
1./etc/hosts
主機名字解析文件,提供主機名和IP地址的對應。
2./etc/passwd
口令文件,內容為:
登錄用戶名:加密口令:用戶ID:組ID:保留:初始工作目錄:shell路徑
3. /etc/group
內容為:
組名:加密密碼:組ID:所有屬于該組的用戶。
4. /etc/profile
如果該文件存在,則每個用戶登錄時將執行該文件。該文件一般用于設置一些通用環境變量,如果用戶的home目錄中存在.profile文件,則在執行/etc/profile之后,再執行用戶的.profile文件。
5. /etc/inittab
內部初始化之后,系統將啟動/etc/init這個deamon進程,使/etc/init進程取得引導序列的控制權。而init進程從文件 /etc/inittab(init table,初始化表)取得指示,該文件 的內容控制所有init狀態,同時也控制那些已消亡進程的再生。
6. /etc/fstab
系統中可以mount的文件系統的信息。
7. /etc/lvmtab
使用命令:
# strings /etc/lvmtab;查看系統VG和磁盤信息。
8. /etc/rc.config.d/netconf
包含系統名稱和網絡配置信息,如IP地址、子網掩碼和路由信息等。
9. /stand/system
包含系統的驅動程序和子系統信息,內核設備信息和一些系統可調參數信息。
附錄 UNIX 常用命令簡單說明
UNIX 命令大多數可用聯機幫助手冊 man 獲得幫助,下面是常用命令及簡單說明,可供用戶快速查找使用。命令 功能簡述
cctcom 等于進程記帳文件 accton 啟動或中止記帳進程
adb 匯編語言調試工具
admin 創建和管理SCCS文件 ar 檔案文件和庫文件管理程序 as 匯編器 asa 回車控制 at 在指定時間執行程序 awk 模式搜索和處理語言 banner 制作標題 basename 生成文件基本名(無前。后綴)batch 命令的延遲執行
bc 計算器 bdiff 大型文件比較 bfs 大文件搜索 break 退出循環
cal 打印日歷表
calendar 打印日歷表 cancel 取消打印任務 case 分支語句 cb C語言整理程序 cd 改變當前目錄 cc C語言編譯器 cdc SCCS實用程序 cflow 生成C語言流程圖 checkeq 數學公式排版命令 chgrp 改變文件組 chmod 改變文件存取模式 chown 改變文件主 chroot 改變根目錄 cksum 顯示校驗和 clri 清除指定的I節點 cmp 文件比較 col 過濾反向換行 comb SCCS實用程序 comm 顯示兩個排序文件的公共行
command 執行簡單命令 continue 進入下一循環 cp 復制文件 cpio 復制文件檔案 cpp C語言預處理程序 crash 檢查系統內存映象 create 建立臨時文件 cref 生成交叉引用表
cron 在指定時間執行一組命令 crontab 為命令cron 準備crontab文件 crypt 加密/解密 csplit 將一個文件分解 ct 遠程終端注冊
ctags 創建供vi使用的標識符 cu 呼叫另一UNIX系統 cut 斷開一文件中所選擇的字段 cxref 生成C程序交叉訪問表 date 打印和設置時間
dc 桌面計算器 dd 轉換和復制文件 delta SCCS實用程序
deroff 去掉排版格式 devnm 標識設備名 df 顯示可用磁盤空間 diff 顯示兩個文件的差異 diff3 顯示三個文件的差異 dircmp 目錄比較 dis 反匯編程序 du 顯示對磁盤的占用情況 dump 對指定文件備份 echo 回顯指定參數 ed 行編輯器 edit 文本編輯器 egrep 在文件中查找指定模式 env 設置命令執行環境 eqn 數學公式排版命令 eval 執行指定命令 ex 行編輯器 exec 執行指定命令 exit 進程中止 expand 使表格占滿行寬 export 將變量傳遞給子程序 expr 計算表達式值 factor 因式分解 false 返回FALSE fgrep 在文件中查找指定模式 file 確定文件類型 find 查找符號條件的文件 fmt 安排簡單的文本格式 fold 折行 for 循環語句
fsck 文件系統檢查和修復 fsdb 文件系統調試程序
fumount 強制性拆協指定資源 function 函數說明 fuser 列出使用文件的進程 fwtmp 產生記帳記錄 get SCCS實用程序 getconf 查找配置參數
getopt 獲得命令中的選擇項
getopts 獲得命令中的選擇項
getty 設置終端類型、模式、行律等 grep 在文件中查找指定模式 head 打印文件的頭若干行
hexdump 按十六進制轉儲文件 id 顯示用戶號 if 條件語句 init UNIX 初啟進程 install 安裝一個文件到文件系統
ipcrm 刪除IPC隊列 ipcs 顯示IPC狀態 join 連接兩個文件(關系操作〕
kill 中止指定進程 killall 中止所有活動進程 labelit 給文件系統提供標號 ld 目標文件鏈接編輯器 lex 詞法分析程序 line 讀一行 link 連接文件 lint C程序檢查程序 ln 鏈接文件 local 建立局部變量 logger 顯示注冊信息
login 注冊
logname 獲取注冊名 look 在排序文件中查找某行
lorder 查找目標庫的次序關系
lp 打印文件
lpr 打印文件
lpstat 顯示打印隊列狀態
ls 目錄列表 mail 發送或接收電子郵件
mailx 發送、接收或處理電子郵件
make 執行有選擇的編譯
makekey 生成加密碼 man 顯示命令用法
mesg 接收或取消對話方式
mkdir 建立目錄 mkfifo 建立FIFO文件
mkfs 建立文件系統 mknod 建立文件系統的I節點 mount 安裝文件系統 mv 移動文件 mvdir 移動目錄 ncheck 按節點號生成節點名清單
neqn 數學公式排版命令
newgrp 把用戶加入到新組 news 打印消息 nice 改變命令執行優先級 nl 給文件加行號 nm 顯示目標文件符號表
nohup 忽略掛起或退出執行命令 nroff 文本文件排版 od 按八進制轉儲文件 pack 壓縮文件 passwd 改變口令
paste 文件合并 pax 可移植檔案管理程序
pcat 顯示壓縮格式文件 pg 分屏顯示 pr 按打印格式顯示文件
pstat 報告系統信息 pwck 口令文件校驗程序
pwd 顯示當前工作目錄
quot 檢查文件系統所有權 ratfor 轉換成標準FORTRANC程序
read 從標準輸入讀一行 readonly 標記變量為只讀 red 文本編輯器 regcmp 正規表達式編輯 restor 文件系統恢復程序 restore 文件系統恢復程序 return 返回語句 rev 顛倒文件中每行字符次序 rm 刪除文件
rmdel SCCS使用程序 rmdir 刪除目錄 rsh(net)遠程SHELL rsh(sec)受限SHELL runacct 運行日常記帳程序 sact SCCS實用程序 sag 打印系統活動圖
sar 報告系統活動 sccsdiff SCCS實用程序 sdb 符號調試器 sdiff 并列顯示兩個文件的差別 sed 流編輯器 sendto 發送郵件
set 設置選項或參數
setmnt 建立文件系統安裝表
sh SHELL解釋器 shift 命令行參數移位
shl SHELL層(layer)管理程序 shutdown 關機 size 顯示目標文件長度 sleep 掛起進程一段時間
sort 文件排序和合并 spell 拼寫錯誤檢查程序 spellin 拼寫錯誤檢查 spellout 拼寫錯誤檢查 spline 按平滑曲線輸出數據 split 分解一個文件 strings 在目標文件中尋找可打印字符
strip 刪除符號表 stty 設置終端模式 su 改變用戶 sum 顯示文件校驗和及塊數 sync 更新磁盤 tabs 設置制表符
tbl 表格排版 tee 在管道上建立多通路 tic 終端數據庫編譯程序 time 打印執行命令所花時間 tiemx 報告命令所花時間及活動
touch 更新文件時間 tput 恢復終端或查詢數據庫 tr 轉換字符 trap 捕獲信號
troff 文本文件排版
true 返回TRUE tsort 拓撲排序 tty 顯示終端設備名 umask 設置文件掩碼 umount 拆卸文件系統 uname 顯示系統名 unget SCCS實用程序 uniq 刪除文件中重復行 units 度量單位轉換 unlink 刪除文件 unpack 將壓縮文件還原
until 循環語句 update 更新磁盤 val SCCS實用程序 vc SCCS實用程序 vi 全屏幕編輯器 volcopy 文件系統的文字拷貝 wait 等待所有字進程結束 while 循環語句 who 顯示誰在使用系統 whodo 顯示哪些用戶在做什么 write 和另一用戶直接對話 xargs 建立參數表并執行命令 yacc 語法分析程序生成器;
#!/bin/csh
#Scriptname: test.csh goto main usage: echo “(EXAMPLE):test.csh 1(A number in [0-3])” echo “Please input the ARGV!”
main:
if($#argv == 0)then
goto usage
exit();endif
if($argv[1] >= 0 && $argv[1] <= 3)then
switch($argv[1])case 1:
foreach file(1 2 3 4 5 6 7 8 9 10)touch file_$file end
mkdir dir1 dir2 foreach dir_file(file*)switch($dir_file)case “file1”: mv $dir_file
dir1 case “file2”: mv $dir_file
dir1 case “file3”: mv $dir_file
dir1 case “file4”: mv $dir_file
dir1 case “file5”: mv $dir_file
dir1 case “file6”: mv $dir_file
dir2 case “file7”: mv $dir_file
dir2 case “file8”: mv $dir_file
dir2 case “file9”: mv $dir_file
dir2 case “file10”: mv $dir_file
dir2
endsw end
touch 'history.his' foreach cur_dir(dir*)if(-d $cur_dir)then echo directory $cur_dir ls $cur_dir >>'history.his' endif end breaksw
case 2: foreach file(1 2 3 4 5 6 7 8 9 10)touch file_$file end
mkdir dir1 dir2 foreach dir_file(file*)switch($dir_file)case “file1”: mv $dir_file
dir1 case “file2”: mv $dir_file
dir2 case “file3”: mv $dir_file
dir1 case “file4”: mv $dir_file
dir2 case “file5”: mv $dir_file
dir1 case “file6”: mv $dir_file
dir2 case “file7”: mv $dir_file
dir1 case “file8”: mv $dir_file
dir2 case “file9”: mv $dir_file
dir1 case “file10”: mv $dir_file
dir2
endsw end
touch 'history.his' foreach cur_dir(dir*)if(-d $cur_dir)then echo directory $cur_dir ls $cur_dir >>'history.his' endif end breaksw
case 3: foreach file(1 2 3 4 5 6 7 8 9 10)touch file_$file end
`mkdir./dir1/dir2` foreach dir_file(file*)`mv $dir_file./dir1/dir2` end
touch 'history.his' `ls./dir1/dir2 >>history.his` breaksw
case 0: if(!-z `pwd`)then echo “I do not know why you want to do this!” else rm-r * touch 'history.his' echo “You have deleted all the files.” >>'history.his' endif breaksw
default:
echo “You had input the wrong number!” endsw else echo “Input num exceed restriction!!” endif
第三篇:操作系統命令接口設計課程設計說明書
佛山科學技術學院課程設計用紙
課程設計說明書
設計名稱:操作系統課程設計
題目:操作系統命令接口設計
學生姓名: 專業: 班級: 學號: 指導教師:
日期: 2016 年 6 月 28 日 佛山科學技術學院課程設計用紙
課程設計任務書
網絡工程專業年級班一、二、主要內容
利用C語言、DOS中斷中21H與屏幕顯示相關的中斷調用完成設計,具體包括:
1、命令解釋器
2、列目錄命令
3、顯示時間命令
4、顯示日期命令
5、回顯字符串命令
6、創建目錄命令
7、刪除目錄命令
8、更改路徑命令
9、顯示當前工作目錄命令
10、刪除文件命令
11、打印文本命令
12、文件重新命名
13、顯示文本命令
14、顯示版本命令
15、顯示目錄結構命令
16、清除當前顯示內容命令
上述內容中,所有命令通過命令解釋器能夠執行,即啟動命令解釋器以后,輸入相應命令,按照輸入指令執行相應功能,并在屏幕上顯示相應結果。設計題目
操作系統命令接口設計
三、具體要求
本設計的目的是通過設計一些簡單的操作系統的命令接口,使學生掌握操作系統接口的設計方法。要求學生在熟悉操作系統的命令接口及程序接口的基礎上,利用C語言設計簡單的命令接口。命令接口基于DOS的命令行接口。
佛山科學技術學院課程設計用紙
四、進度安排
1.要求講解、資料查找、系統分析,概要設計(2天)2.系統詳細設計、功能設計(2天)3.算法實現、編程調試(5天)
4.功能演示、資料整理、課程設計說明書編寫。(1天)依照教學計劃,課程設計時間為:2周。五、六、指導教師
簽名日期 年 月 日
系主任
審核日期 年 月 日 完成后應上交的材料
課程設計說明書紙質文檔
總評成績 佛山科學技術學院課程設計用紙
目 錄
一、程序概述...........................................................................................................................................................1 1.1完成的任務...............................................................................................................................................1 1.2解決的問題.............................................................................................................錯誤!未定義書簽。
二、概念原理...........................................................................................................................................................1 2.1基本概念...................................................................................................................................................1 2.2基本原理...................................................................................................................................................1
三、總體設計...........................................................................................................................................................2
四、詳細設計...........................................................................................................................................................3 4.1主要調用DOS的功能號...........................................................................................................................3 4.2主要函數...................................................................................................................................................3
五、完成情況...........................................................................................................................................................3
六、使用說明...........................................................................................................................................................4
七、設計總結...........................................................................................................................................................7 7.1系統特色...................................................................................................................................................7 7.2實踐感受...................................................................................................................................................4 參考資料...................................................................................................................................................................5 附錄(程序源代碼)...............................................................................................................................................9
佛山科學技術學院課程設計用紙
一、程序概述
1.1完成的任務
本設計是要求編寫一個簡單的命令解釋器,利用C語言、DOS中斷中21H與屏幕顯示相關的中斷調用進行設計的,主要完成要求中所提到的功能如:可打開提示符,并獲取用戶輸入的指令、可解析指令、可尋找命令文件、可執行基本的命令。在本設計中,設計了一個dos命令提示行,主要完成的功能有:顯示系統時間和日期,顯示系統版本號,刪除文件,創建目錄,刪除目錄,重命名目錄或文件名,回顯字符串,打印文件,清屏等功能。
1.2解決的問題
在設計過程中主要遇到了兩個難題,一是如何理解和設計中斷,對匯編和c語言的結合,如引入#include
二、概念原理
2.1基本概念
中斷
當CPU(中央處理器)執行一條現行指令的時候,出現必須CPU立即執行處理的情況,CPU暫時停止當前程序的執行轉而而執行新情況叫中斷,此時如果外設向CPU發出中斷請求,那么CPU在滿足響應的情況下,將發出中斷響應信號,與此同時關閉中斷,表示CPU不在受理另外一個設備的中斷。此次課程設計涉及有DOS中斷和BIOS中斷。
命令接口處理器
命令處理器是一個讀入并解釋你輸入的命令的程序,它是介于使用者和操作系統之核心程序(kernel)間的一個接口。它是一個交互性命令解釋器。命令處理器獨立于操作系統,這種設計讓用戶可以靈活選擇適合自己的命令處理器。命令處理器讓你在命令行鍵入命令,經過命令處理器解釋后傳送給操作系統(內核)執行。
命令提示符
“命令提示符”也就是Windows 95/98 下的“MS-DOS方式”,雖然隨著計算機產業的發展,Windows 操作系統的應用越來越廣泛,DOS 面臨著被淘汰的命運,但是因為它運行安全、穩定,有的用戶還在使用,所以一般Windows 的各種版本都與其兼容,用戶可以在Windows系統下運行DOS,中文版Windows XP 中的命令提示符進一步提高了與DOS下操作命令的兼容性,用戶可以在命令提示符直接輸入中文調用文件。
消息循環
通過這個循環機制應用程序從消息隊列中檢索消息,再把它分派給適當的窗口,然后繼續從消息隊列中檢索下一條消息,再分派給適當的窗口,依次進行。
系統調用
系統調用,顧名思義,說的是操作系統提供給用戶程序調用的一組“特殊”接口。用戶程序可以通過這組“特殊”接口來獲得操作系統內核提供的服務,比如用戶可以通過文件系統相關的調用請求系統打開文件、關閉文件或讀寫文件,可以通過時鐘相關的系統調用獲得系統時間或設置定時器等。
從邏輯上來說,系統調用可被看成是一個內核與用戶空間程序交互的接口,它好比一個中間人,把用戶進程的請求傳達給內核,待內核把請求處理完畢后再將處理結果送回給用戶空間。
佛山科學技術學院課程設計用紙
2.2基本原理
首先進入一個消息循環,不斷地接收消息,根據輸入的命令進行解析,然后執行命令,遇exit命令退出。
基本流程圖:
開始輸入指令否判斷指令是否存在或者輸入正確?是命令解釋器顯示系統時間顯示系統日期顯示版本號刪除文件創建目錄刪除目錄重命名目錄重命名文件回顯字符串打印文件內容清除屏幕內容否退出?是結束
三、總體設計
程序主要通過文件來存儲帳戶信息。進入提示符后,在消息循環中運用了一個do while循環,2 佛山科學技術學院課程設計用紙
switch?case將dos條用編寫的函數組合起來供用戶選擇使用。連續的獲取用戶輸入,直到用戶輸入0退出循環,結束程序。在處理文件或文件夾過程中,沒有使用系統當前文件夾變量,只是在程序中單獨設定了一個變量作為系統當前目錄,每次獲得的目錄路徑,如果是相對路徑,則自動在前面加上當前目錄路徑。整個程序的設計流程,圍繞著消息循環這一主線,根據消息判斷調用不同的功能函數來完成相應的功能,主要使用了一些函數和匯編調用DOS接口和21號中斷。
四、詳細設計
4.1、主要調用DOS的功能號
2AH 讀取日期
2CH 讀取時間
30H 讀取MS-DOS版本號 39H 創建目錄 41H
刪除文件
3AH 表示刪除目錄 56H 重命名文件 3DH 打開文件 47H 讀取當前目錄 3FH 讀文件或目錄
4.2、主要函數 void time()通過定義該函數實現調用dos的2C號功能讀取系統時間的功能 void day()
通過定義該函數實現調用dos的2A功能讀取系統日期的功能 void dos()通過定義該函數調用dos的30H功能讀取系統的版本號功能 void DeleteFile(char filename[80])定義該函數用于刪除文件或目錄如果刪除成功顯示“success”,刪除失敗表示找不到該文件 void Createfile(char filename[80])
定義該函數調用dos的39H號功能用于創建一個目錄 void file(char filename1[80],char filename2[80])定于該函數調用dos系統的56號功能用于重命名目錄名和文件名的 void showlist()
定于該函數調用dos系統的47號功能讀取當前的工作目錄 void rewords()定于該函數用于調用dos的9號功能實現回顯字符串功能 void ReadFromFile(char filename[80])定于該函數用于調用dos的3F功能用于讀取文件或目錄的內容。clrscr();引用該函數實現清除屏幕內容的功能。
五、完成情況
本程序完成了要求中的13項列目錄,包括獲取系統時間,獲取系統日期,創建目錄,刪除目錄,創建文件并寫內容到文件中,打印文本,刪除文件,更改目錄或文件名,顯示版本,清屏操作,獲得當前的工 佛山科學技術學院課程設計用紙 作目錄等13個要求
六、使用說明
運行程序首先回出現下圖的界面,顯示的是各項操作的命令,根據相關命令可以執行相關的操作
功能1:顯示系統時間 功能2:系統日期:
功能3:顯示版本
功能4:刪除文件:
佛山科學技術學院課程設計用紙
功能5:創建目錄
功能6:刪除目錄 刪除new文件夾:
功能7:重命名目錄或文件
修改目錄(重命名目錄):將上面目錄123修改為101
修改文件(重命名文件):將文件名1.txt改為new1.txt 5 佛山科學技術學院課程設計用紙
功能8:顯示當前工作目錄
功能9:回顯字符串
功能10:打印文件內容(讀文件)
已知new1.txt文件里面的內容如下,通過該系統讀出文件的內容
功能11:清除屏幕所有內容
佛山科學技術學院課程設計用紙
清屏后:
直至輸入指令為0(代表exit)時退出系統。
七、設計總結
7.1系統特色
本系統基本實現命令訪問接口的設計,能正常解釋命令并執行,在命令的解釋和執行直接采用DOS系統的中斷調用以及功能類型號碼的選擇和設置,能夠符合操作系統命令接口設計的要求。
7.2實踐感受
課程設計是理論知識和實際操作的一種結合,對所學的知識進行強化。從確立課題到遇到問題查找資料,直到做出基本的結果,在這個過程中學到了之前所沒有接觸的知識點。例如在編程過程中要多使用庫函數中自帶的內容,不必另外再去編寫已有的功能,這樣不僅能節省時間,也能提高程序的可靠性。要多了解庫函數,可以閱讀相應的幫助文件來獲得有用的信息。遇到問題多與老師同學討論,可以幫助自己跳出定向思維。
佛山科學技術學院課程設計用紙
參考資料
《c程序設計》(第三版)譚浩強著清華大學出版社
《80x86匯編語言程序設計》沈美明,溫冬嬋 著清華大學出版社 《c與c++標準類庫及函數.chm》
《Windows API for 2000/XP實例精解》王強周明李定國等編著電子工業出版社 《數據結構(c語言版)》嚴蔚敏,吳偉民等編著清華大學出版社
佛山科學技術學院課程設計用紙
附錄
源代碼(Torbo C 3.0環境下)
#include
void menu(){
printf(“----------n”);
} void time(){
}
void day(){
} void dos(){ union REGS inregs,outregs;//定義中斷信息結構體 union REGS inregs,outregs;//定義中斷信息結構體 struct SREGS segregs;inregs.h.ah=0x2a;//讀取日期
int86x(INTER,&inregs,&outregs,&segregs);
printf(“Now the day is:%d,%d,%dn”,outregs.x.cx,outregs.h.dh,outregs.h.dl);getchar();union REGS inregs,outregs;//定義中斷信息結構體 struct SREGS segregs;inregs.h.ah=0x2C;//讀取時間
int86x(INTER,&inregs,&outregs,&segregs);printf(“Now the time is:%d:%d:%dn”,outregs.h.ch,outregs.h.cl,outregs.h.dh);getchar();printf(“0.exitn”);printf(“1.Display system timen”);printf(“2.Display system dayn”);printf(“3.Display Mos-dos versionn”);printf(“4.Deletefilen”);printf(“5.Createcontentn”);printf(“6.Deletecontentsn”);printf(“7.Filenamen”);printf(“8.Display currrent listn”);printf(“9.Echo stringn”);printf(“10.ReadingFilen”);printf(“11.Clear screenn”);printf(“----------n”);9 佛山科學技術學院課程設計用紙
}
void DeleteFile(char filename[80]){
}
void Createfile(char filename[80]){
{ }
}
void Deletefile(char filename[80]){
int result;union REGS inregs,outregs;printf(“success!n”);union REGS inregs,outregs;struct SREGS segregs;inregs.h.ah=0x39;
inregs.x.dx=FP_OFF(filename);segregs.ds=FP_SEG(filename);
int86x(INTER,&inregs,&outregs,&segregs);
printf(“nFILE %s is not exist!n”,filename);int result;union REGS inregs,outregs;struct SREGS segregs;
inregs.h.ah=0x41;//DOS 中斷號 41 是刪除文件 inregs.x.dx=FP_OFF(filename);segregs.ds=FP_SEG(filename);
int86x(INTER,&inregs,&outregs,&segregs);if(result==2||result==5){ } else { } printf(“nThe file:%s has been delete successfully!n”,filename);printf(“nCan't delete the file:%s
The file may not be exist!n”,filename);struct SREGS segregs;
inregs.h.ah=0x30;//DOS 30號功能讀取MS-DOS版本號 int86x(INTER,&inregs,&outregs,&segregs);printf(“The DOS
version
of
this
machine is:%d,%d,%d,%d:%dn”,outregs.h.al,outregs.h.ah,outregs.h.bh,outregs.h.ah,outregs.x.cx);getchar();if(02==outregs.x.ax)//02 表示文件未找到
佛山科學技術學院課程設計用紙
}
void file(char filename1[80],char filename2[80]){
}
} void rewords()void showlist(){ char list[80];union REGS reg;struct SREGS segreg;reg.h.ah = 0x47;//47H 讀取當前目錄 reg.h.dl = 0;reg.x.si = FP_OFF(list);segreg.ds = FP_SEG(list);intdosx(®, ®, &segreg);
printf(“The current working directory is:%sn”, list);union REGS inregs,outregs;struct SREGS segregs;
inregs.h.ah=0x56;//DOS 中斷號 56 是重命名文件 inregs.x.dx=FP_OFF(filename1);segregs.ds=FP_SEG(filename1);inregs.x.di=FP_OFF(filename2);segregs.es=FP_SEG(filename2);
int86x(INTER,&inregs,&outregs,&segregs);if(outregs.x.ax==02){
} printf(“success!n”);printf(“nFILE %s is not exist!n”,filename1);struct SREGS segregs;inregs.h.ah=0x3A;//3A 表示刪除目錄 inregs.x.dx=FP_OFF(filename);segregs.ds=FP_SEG(filename);
int86x(INTER,&inregs,&outregs,&segregs);result=outregs.x.ax;if(result==2||result==5){ } else { } printf(“nThe file:%s has been delete successfully!n”,filename);printf(“nCan't delete the file:%s
The file may not be exist!n”,filename);11 佛山科學技術學院課程設計用紙
{
}
{
union REGS inregs,outregs;struct SREGS segregs;int result;char ReadContents[9*1024];inregs.h.ah=0x3D;//3D 打開文件 inregs.x.dx=FP_OFF(filename);segregs.ds=FP_SEG(filename);inregs.h.al=2;int86x(0x21,&inregs,&outregs,&segregs);result=outregs.x.ax;if(2==result){ } else {
inregs.x.bx=result;inregs.h.ah=0x3F;//讀文件或者目錄 inregs.x.dx=FP_OFF(ReadContents);segregs.ds=FP_SEG(ReadContents);inregs.x.cx=1024;int86x(0x21,&inregs,&outregs,&segregs);printf(“n Real Number of read characters in file:%s:%dn”,filename,outregs);printf(“nThe contents of file:%s!n”,filename);for(int i=0;i void ReadFromFile(char filename[80])union REGS reg,reg1;struct SREGS sreg;char word[200]; for(int i=0;i<200;i++)word[i]='$';scanf(“%s”,&word);reg1.x.dx = FP_OFF(word);sreg.ds = FP_SEG(word);reg1.h.ah=0x09; int86x(INTER,®1,®1,&sreg);printf(“n”); 佛山科學技術學院課程設計用紙 } } int main(){ char DeleteFileName[80]; char ReadingFileName[80];char file1[80],file2[80]; int a; menu();do { printf(“Please input the number:”); scanf(“%d”,&a); switch(a){ case 1: time(); break; case 2: day(); break; case 3: dos(); break; case 4: printf(“nInput the name of existing file to delete: ”);scanf(“%s”,DeleteFileName); DeleteFile(DeleteFileName);break; case 5: printf(“n Input createcontent: ”); scanf(“%s”,&DeleteFileName);Createfile(DeleteFileName);break; case 6: printf(“n Input deletecontents: ”);scanf(“%s”,&DeleteFileName);Deletefile(DeleteFileName);break; case 7: printf(“name:”); scanf(“%s”,&file1); printf(“new name:”);scanf(“%s”,&file2);file(file1,file2);break;佛山科學技術學院課程設計用紙 case 8: showlist();break;case 9: rewords();break;case 10: printf(“nInput the name of existing file to ReadingFileName: ”); scanf(“%s”,ReadingFileName); ReadFromFile(ReadingFileName);break;case 11: clrscr(); menu();break; default: break; } } while(a!=0); return 0;} 【支招】系統安全之利用操作系統自帶命令殺毒 關 鍵 詞:命令 殺毒 操作系統 安全 利用 文件 病毒 進程 備份 啟動 閱讀提示:文章列舉了一些通用的殺毒方法,你可以自己親自動手來用系統自帶的工具來絞殺各種病毒。具體如何來做,請仔細閱讀本文。 上網最恐怖的事莫過于新病毒出來的時候,盡管電腦上我們都裝有各種強大的殺毒軟件,也配置了定時自動更新病毒庫,但病毒總是要先于病毒庫的更新的,所以中招的每次都不會是少數,這里列舉一些通用的殺毒方法,自己親自動手來用系統自帶的工具絞殺病毒: 一、自己動手前,切記有備無患——用TaskList備份系統進程 新型病毒都學會了用進程來隱藏自己,所以我們最好在系統正常的時候,備份一下電腦的進程列表,當然最好在剛進入Windows時不要運行任何程序的情況下備份,樣以后感覺電腦異常的時候可以通過比較進程列表,找出可能是病毒的進程。 在命令提示符下輸入: TaskList /fo:csv>g:zc.csv 上述命令的作用是將當前進程列表以csv格式輸出到―zc.csv‖文件中,g:為你要保存到的盤,可以用Excel打開該文件。 二、自己動手時,必須火眼金睛——用FC比較進程列表文件 如果感覺電腦異常,或者知道最近有流行病毒,那么就有必要檢查一下。 進入命令提示符下,輸入下列命令: TaskList /fo:csv>g:yc.csv 生成一個當前進程的yc.csv文件列表,然后輸入: FC g:zccsv g:yc.csy 回車后就可以看到前后列表文件的不同了,通過比較發現,電腦多了一個名為―Winion0n.exe‖(這里以這個進程為例)不是―Winionon.exe‖的異常進程。 三、進行判斷時,切記證據確鑿——用Netstat查看開放端口 對這樣的可疑進程,如何判斷它是否是病毒呢?根據大部分病毒(特別是木馬)會通過端口進行對外連接來傳播病毒,可以查看一下端口占有情況。 在命令提示符下輸入: Netstat-an /-aon 參數含義如下: a:顯示所有與該主機建立連接的端口信息 n:顯示打開端口進程PID代碼 o:以數字格式顯示地址和端口信息 回車后就可以看到所有開放端口和外部連接進程,這里一個PID為1756(以此為例)的進程最為可疑,它的狀態是―ESTABLISHED‖,通過任務管理器可以知道這個進程就是―Winion0n.exe‖,通過查看本機運行網絡程序,可以判斷這是一個非法連接! 連接參數含義如下: LISTENINC:表示處于偵聽狀態,就是說該端口是開放的,等待連接,但還沒有被連接,只有TCP協議的服務端口才能處于LISTENINC狀態。 ESTABLISHED的意思是建立連接。表示兩臺機器正在通信。TIME-WAIT意思是結束了這次連接。說明端口曾經有過訪問,但訪問結束了,用于判斷是否有外部電腦連接到本機。 四、下手殺毒時,一定要心狠手辣——用NTSD終止進程 雖然知道 ―Winion0n.exe‖是個非法進程,但是很多病毒的進程無法通過任務管理器終止,怎么辦? 在命令提示符下輸入下列命令: ntsd –c q-p 1756 回車后可以順利結束病毒進程。 提示:―1756‖為進程PID值,如果不知道進程的ID,打開任務管理器,單擊―查看→選擇列→勾上PID(進程標識符)即可。NTSD可以強行終止除Sytem,SMSS.EXE,CSRSS.EXE外的所有進程。 五、斷定病毒后,定要斬草除根——搜出病毒原文件 對于已經判斷是病毒文件的―Winion0n.exe‖文件,通過搜索―本地所有分區‖、―搜索系統文件夾和隱藏的文件和文件夾‖,找到該文件的藏身之所,將它刪除。不過這樣刪除的只是病毒主文件,通過查看它的屬性,依據它的文件創建日期、大小再次進行搜索,找出它的同伙并刪除。如果你不確定還有那些文件是它的親戚,通過網絡搜索查找病毒信息獲得幫助。 六、清除病毒后一定要打掃戰場 手動修復注冊表雖然把病毒文件刪除了,但病毒都會在注冊表留下垃圾鍵值,還需要把這些垃圾清除干凈。 1、用reg export備份自啟動。由于自啟動鍵值很多,發現病毒時手動查找很不方便。這里用reg export+批處理命令來備份。 啟動記事本輸入下列命令: reg export HKLMsoftwareMicrosoftWindows CurrentVersionRun fo:hklmrun.reg reg export HKCUSoftwareMicrosoftWindows CurrentVersionPoliciesExplorerRun f:hklcu.reg reg export HKLMSOFTWAREMicrosoftWindows CurrentVersionPoliciesExplorerRun hklml.reg 注:這里只列舉幾個常見鍵值的備份,其它鍵值請參照上述方法制作。 然后將它保存為ziqidong.bat在命令提示符下運行它,即可將所有自啟動鍵值備份到相應的reg文件中,接著再輸入: copy f:*.reg ziqidong.txt 命令的作用是將所有備份的reg文件輸出到―ziqidong.txt‖中,這樣如果發現病毒新增自啟動項,同上次導出自啟動值,利用上面介紹的FC命令比較前后兩個txt文件,即可快速找出新增自啟動項目。 2、用reg delete刪除新增自啟動鍵值。比如:通過上面的方法在[HKER_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionRun] 找到一個―Logon‖自啟動項,啟動程序為―c:windowswinlogon.exe‖,現在輸入下列命令即可刪除病毒自啟動鍵值: reg delete HKLMsoftwareMicrossoftWindows CurrentVersionRun /f3、用reg import恢復注冊表。Reg de-lete刪除是的是整個RUN鍵值,現在用備份好的reg文件恢復即可,輸入下列命令即可迅速還原注冊表: reg import f:hklmrun.reg 上面介紹手動殺毒的幾個系統命令,其實只要用好這些命令,我們基本可以KILL掉大部分的病毒,當然平時就一定要做好備份工作。 提示:上述操作也可以在注冊表編輯器里手動操作,但是REG命令有個好處,那就是即使注冊表編輯器被病毒設置為禁用,也可以通過上述命令導出/刪除/導入操作,而且速度更快! 七、捆綁木馬克星——FIND 上面介紹利用系統命令查殺一般病毒,下面再介紹一個檢測捆綁木馬的―FIND‖命令。相信很很多網蟲都遭遇過捆綁木刀,這些―批著羊皮的狼‖常常躲在圖片、FLASH、甚至音樂文件后面。當我們打開這些文件的時候,雖然在當前窗口顯示的確實是一幅圖片(或是播放的FLASH),但可惡的木馬卻已經在后臺悄悄地運行了。比如近日我就收到一張好友從QQ傳來的超女壁紙,但是當我打開圖片時卻發現:圖片已經用―圖片和傳真查看器‖打開了,硬盤的指示燈卻一直在狂閃。顯然在我打開圖片的同時,有不明的程序在后臺運行。現在用FIND命令檢測圖片是否捆綁木馬,在命令提示符輸入: FIND /c /I〝This program〞g:chaonv.jpe.exe 其中: g:chaonv.jpe.exe表示需要檢測的文件;FIND命令返回的提示是―___G:CHAONV.EXE: 2‖。這表明―G:、CHAONV.EXE‖確實捆綁了其它文件。因為FIND命令的檢測:如果是EXE文件,正常情況下返回值應該為―1‖;如果是不可執行文件,正常情況下返回值應該為―0‖,其它結果就要注意了。 提示:其實很多捆綁木馬是利用Windows默認的―隱藏已知類型文件擴展名‖來迷惑我們,比如本例的―chaonv.jpe.exe‖,由于這個文件采用了JPG文件的圖標,才導致上當。打開―我的電腦‖,單擊―工具→文件夾選項‖,―單擊‖―查看‖,去除―隱藏已知類型文件擴展名‖前的小勾,即可看清―狼‖的真面目。 八、總結 最后我們再來總結一下手動毒的流程: 用TSKLIST備份好進程列表→通過FC比較文件找出病毒→用NETSTAT判斷進程→用FIND終止進程→搜索找出病毒并刪除→用REG命令修復注冊表。這樣從發現病毒、刪除病毒、修復注冊表,這完成整個手動查毒、殺毒過程。 嵌入式Linux學習心得 1、Linux命令 ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當前的目錄 cd:改變當前操作目錄cd /直接跳到根目錄 cd..回到上一級目錄 cat: 打印顯示當前文件的內容信息 mkdir:創建目錄 fdisk: 查看硬盤分區信息,-l以列表方式查看 ->代表是鏈接文件,類似window下的快捷方式。 cp: 復制命令,例子cp 文件名 /home/dir/ mv: 移動或改名,如mv sonf.confsonf.txt(改名)移動:mv sonf.conf / rm:刪除命令,如rm –f test.c;如刪除目錄rm –fr d man:查看某個命令的幫助,man 命令 2、各系統目錄的功能 drw—r—w--:d代表是目錄,drw代表當前用戶的權限,r代表組用戶的權限,w代表其它用戶的權限。x代表有執行權限。 /boot/gruff.conf: 啟動引導程序 /dev:brw—rw--:b代表是塊設備。Linux設備有三種,塊設備(b開頭)、字符設備(c開頭)、網絡設備。had代表第一個硬盤,hdb代表第二個硬盤。Hdb2代表第二塊硬盤的第二個分區。3,67代表主設備為3,從設備為67./etc:存放的是系統的配置文件。Inittab文件存放不同啟動方式下必須啟動的進程。Inittab文件中有6個啟動level,wait中對應著6個level的目錄,respawn代表當一個進程被意外終止了,但會自動啟動的進程,如守護進程。rc.d目錄中存放了一個rc.sysinit文件,里面存放系統初始化配置信息。/etc還有一個vsftpd里面存放tcp、ftp的配置。 /home : 用戶目錄,存放用戶的文件,/lib:存放庫文件,后綴為so的文件代表動態鏈接庫。 /lost+found:系統意外終止,存放一些可以找回的文件。 /mnt:掛載外部設備,如掛載光驅:mount –t /dev/cdrom/mnt/cdrom,如 果在雙系統中,要查看windows中D盤的文件,首先應該將D盤的文件映射過來,mount –t /dev/hda2/mnt/windows/d /opt:用戶安裝的應用程序 /proc:是系統運行的映射,比較重要。里面的文件數字代表進程號。每個進程號目錄下包含進程的基本信息。還有其他信息,如cpuinfo等,內核支持的文件系統filesystem等。系統支持的中斷interrupts,iomen代表內存分配情況。ioport存放IO端口號。還有分區信息,modole信息,狀態信息,版本信息 對于Linux的設備驅動程序,有兩種加載模式,一種是直接加載進linux內核,一種是以模塊的方式加載到內核。 /sbin: 系統管理的一些工具。如poweroff關機工具。 /usr: 安裝系統時很多文件放在此目錄下面,包含一些更新等,include包含的頭文件,lib 是Linux的庫文件,src包含Linux2.4的內核源碼 /var:存放是臨時變量 3、第四篇:系統安全之利用操作系統自帶命令殺毒
第五篇:嵌入式linu學習心得