1. 最常用的命令列表
下面列出十個在使用linux過程中使用頻率最高的命令。這裡只作簡單介紹,具體用法請參考後面內容。
cat,顯示檔案內容。
cd,改變目錄路徑。
cp,複製檔案。
find,尋找檔案。
grep,搜尋、過濾資訊。
ls,列出目錄資訊。
more,分頁顯示。
rm,刪除檔案或目錄。
vi,調用vi文字編輯器。
who,顯示登入使用者資訊。
2. chmod----改變一個或多個檔案的存模數式(mode)
chmod [options] mode files
只能檔案屬主或特權使用者才能使用該功能來改變檔案存模數式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,預設是a(所有使用者)。只能選擇一個opcode(作業碼)。可指定多個mode,以逗號分開。
options:
-
-c,--changes
-
只輸出被改變檔案的資訊
-
-f,--silent,--quiet
-
當chmod不能改變檔案模式時,不通知檔案的使用者
-
--help
-
輸出協助資訊。
-
-R,--recursive
-
可遞迴遍曆子目錄,把修改應到目錄下所有檔案和子目錄
-
--reference=filename
-
參照filename的許可權來設定許可權
-
-v,--verbose
-
無論修改是否成功,輸出每個檔案的資訊
-
--version
-
輸出版本資訊。
who
-
u
-
使用者
-
g
-
組
-
o
-
其它
-
a
-
所有使用者(預設)
opcode
-
+
-
增加許可權
-
-
-
刪除許可權
-
=
-
重新分配許可權
permission
-
r
-
讀
-
w
-
寫
-
x
-
執行
-
s
-
設定使用者(或組)的ID號
-
t
-
設定粘著位(sticky bit),防止檔案或目錄被非屬主刪除
-
u
-
使用者的當前許可權
-
g
-
組的當前許可權
-
o
-
其他使用者的當前許可權
作為選擇,我們多數用三位八位元字的形式來表示許可權,第一位指定屬主的許可權,第二位指定組許可權,第三位指定其他使用者的許可權,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定許可權。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的許可權。
還可設定第四位,它位於三位許可權序列的前面,第四位元字取值是4,2,1,代表意思如下:
4,執行時設定使用者ID,用於授權給基於檔案屬主的進程,而不是給建立此進程的使用者。
2,執行時設定使用者組ID,用於授權給基於檔案所在組的進程,而不是基於建立此進程的使用者。
1,設定粘著位。
執行個體:
$ chmod u+x file 給file的屬主增加執行許可權 $ chmod 751 file 給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他使用者指派執行(1)的許可權 $ chmod u=rwx,g=rx,o=x file 上例的另一種形式 $ chmod =r file 為所有使用者指派讀許可權 $ chmod 444 file 同上例 $ chmod a-wx,a+r 同上例 $ chmod -R u+r directory 遞迴地給directory目錄下所有檔案和子目錄的屬主分配讀的許可權 $ chmod 4755 設定用ID,給屬主分配讀、寫和執行許可權,給組和其他使用者指派讀、執行的許可權。
3. chgrp----修改檔案或目錄的所屬組
chgrp [options] newgroup files/directorys
組名可以用組的ID號,也可用/etc/group中的組名。只有檔案的屬主或特權使用者(root)才可改變它的組。
options:
-
-c,--changes
-
只輸出被改變檔案的資訊
-
-f,--silent,--quiet
-
當不能改變檔案組屬性時,不通知檔案的使用者
-
--help
-
輸出協助資訊。
-
-R,--recursive
-
可遞迴遍曆子目錄,把修改應到目錄下所有檔案和子目錄
-
--reference=filename
-
參照filename的組資訊來設定當前檔案的組
-
-v,--verbose
-
輸出詳細資料
-
--version
-
輸出版本資訊。
執行個體:
$ chgrp root test 把test的所屬組更改root組 $ chgrp -R mysql test 遞迴地把test目錄及該目錄下所有檔案和子目錄的組屬性設定成mysql $ chgrp root * 把目前的目錄中所有檔案的組屬性設定成root
4. chown----設定一個或多個檔案或目錄的屬主身份
chown [options] newowner files/directorys
新的屬主可以是使用者的ID號,也可以是/etc/passwd裡的登入名稱。chown也可接受這樣的形式:newowner:newgroup或newowner.newgroup。同時改變所屬組的屬性。如果句點和冒號後沒有組名,則組改變為新屬主的組。只有檔案或目錄的當前屬主才有權改變它的屬性。
options:
-
-c,--changes
-
只輸出被改變檔案的資訊
-
--dereference
-
跟蹤符號連結
-
-h,--no-dereference
-
改變每一個符號鏈的屬主身份,而不是被引用檔案的屬主身份
-
-f,--silent,--quiet
-
當不能改變檔案屬主屬性時,不通知檔案的使用者
-
--help
-
輸出協助資訊。
-
-R,--recursive
-
可遞迴遍曆子目錄,把修改應到目錄下所有檔案和子目錄
-
--reference=filename
-
把屬主改變成filename檔案的屬主
-
-v,--verbose
-
輸出詳細資料
-
--version
-
輸出版本資訊。
執行個體:
$ chown root test 把test檔案的屬主改進root $ chown -R root test_directory 遞迴地把test_directory目錄下的所有檔案屬主改成root $ chown --dereference root test_link 把test_link連結的原檔案屬主改成root,連結檔案屬主不變 $ chown --no-dereference root test_link 把test_link的連結檔案屬主改成root,原檔案屬主不變
5. date----顯示、修改系統時間
date [options][+format][date]
$ date -s 06/09/2004 修改日期(按月日年格式) $ date -s 13:56:00 修改時間(按時分秒格式) $ date -r test 顯示test檔案最後一次的修改時間 $ date +'%Y-%m-%d' 以yyyy-mm-dd格式顯示日期,其它格式請參考說明 $ clock -r 查詢BIOS時間 $ clock -w 把修改後的時間寫回BIOS
6. df-----顯示已安裝檔案系統的磁碟容量狀態
df [options][name]
$ df -h 以友好的格式輸出所有已安裝檔案系統的磁碟容量狀態 $ df -m /home 以M為單位輸出home目錄的磁碟容量狀態 $ df -k 以K為單位輸出所有已安裝檔案系統的磁碟容量狀態 $ df -i 報告閒置、用過的或部份用過的(百份比)索引節點 $ df -t ext3 僅顯示檔案類型為ext3的檔案系統的磁碟狀態 $ df -x ext3 僅顯示檔案類型不為ext3的檔案系統的磁碟狀態 $ df -T 除顯示檔案系統磁碟容量大小外還顯示檔案系統類型 $ df -l 僅顯示本地檔案系統。
7. fdisk----分區表查詢工具
fdisk [options][driver]
$ fdisk -l 列出所有分區資訊
8. hdparm----硬碟管理
hdparm [options][driver]
$ hdparm -d /dev/hda 顯示硬碟的DMA模式是不開啟,1代表on $ hdparm -tT /dev/hda 測試硬碟的寫效能 $ hdparm -d1 /dev/hda 開啟dma功能 $ hdparm -d1 -X68 -c3 -m16 /dev/hda 選項說明: -c3:把硬碟的IO模式從16位轉成32位。 -m16:改變硬碟的多路扇區的讀功能,-m16使硬碟在一次I/O中斷中讀入16個扇區的資料。 -d1:開啟DMA模式。 -X68:支援ATA66的資料轉送模式。下面是其它模式的設定對照 ATA33.......參數是-X66 ATA66.......參數是-X68 ATA100......參數是-X69 $ hdparm -k1 /dev/hda 儲存設定
9. ln-----為檔案建立別名
ln [options] sourcename [destname]
ln [options] sourcenames destdirectory
$ ln -s file1 file2 建立一個到file1的符號連結file2,刪除file2不會影響file1 $ ln -s -f file1 file2 建立一個到file1的符號連結file2,並不提示是否重寫
10. shutdown-----終止所有進程式,關閉電腦。
shutdown [options] when [message]
用when可以是指定的關機時間(以hh:mm格式)、關機前要等待的時間(以+m格式)、或者now。message指定一條廣播訊息通知所有使用者退出系統。showdown給所有進程發送SIGTERM訊號,並調用init 1執行實際的關機動作。
$ shutdown -c 取消進行中的關閉操作 $ shutdown -f 快速重新啟動,在重新啟動時禁止對fsck的常規調用 $ shutdown -h 當關閉完成時停止系統 $ shutdown -k 輸出警告資訊,但禁止實際的關閉 $ shutdown -n 不調用init就執行關閉 $ shutdown -r 當關閉完成時重新啟動系統 $ shutdown -t 5 在殺死進程和改變運行層級之間確保延時5秒
11. sleep-----執行另一個命令之前等待的時間
sleep amount [units]
units預設為秒(s),m表示分鐘,h表示小時,d表示天。
12. swapon/swapoff-----啟動和關閉交換分區
swapon/swapoff [options] device
$ swapon -s 顯示交換分區資訊 $ swapon -a 啟用所有在/etc/fstab中有sw標記的分區 $ swapon -p 1 設定交換分區優先順序為1
13. tune2fs-----調整Linux第二擴充檔案系統的參數
tune2fs [options] device
$ tune2fs -l /dev/hda1 顯示hda1分區的超級塊內容 $ tune2fs -c 100 /dev/hda1 設定hda1分區每mount100次就進行磁碟檢查
14. uniq----過濾、統計、重複資料刪除行
uniq [options][file1 [files]]
$ uniq -c file file中的重複行輸出一次,並在每行前顯示重複次數 $ uniq -d file file中的重複行輸出一次,但不輸出唯一的行 $ uniq -u file 只輸出file中的唯一行 $ uniq file1 file2 把file1中的重複的相鄰行刪除,並把每行的一個拷貝送到file2
15. wc-----輸出每個檔案中的字元數、單詞數及行數。
wc [options][files]
$ wc -l file 輸出file中的行數 $ wc -w file 輸出file中的單詞數 $ wc -c file 輸出file中的字元數