Ubuntu/Linux入門介紹-系統管理(轉)

BSDLite發表於2007-08-17
Ubuntu/Linux入門介紹-系統管理(轉)[@more@]一些細節
--------
Linux是大小寫敏感的系統,所有的命令、路徑、引數、變數……都區分大小寫
您可以使用TAB鍵補全您的命令,無論任何時候,多按幾次TAB總會有所幫助
Shell的功能鍵能夠協助您更高效的編輯命令,請熟悉其鍵繫結,儘量使用它

命令由命令名、分隔符、引數、操作物件構成

命令名標識命令的功能,例如cp(copy)、mv(move)、rm(remove)……
有些命令包含一些子命令,您可以認為它的命令名由兩個單詞構成,例如“apt”軟體包管理系統:
apt-get install 安裝一個軟體
apt-get remove 刪除一個軟體

分隔符為空格,多個連續的空格視為一個空格,下面兩個命令相同:
cp a b
cp a b
有一些特殊符號也屬於分隔符,例如管道(“|”)、重定向(“>”、“>>”、“ls -al|less
我們寫為以下形式,只是為了您更容易的閱讀它:
ls -al | less

引數可以精細調節命令的行為,以“-”引導,通常為引數名的首字母。許多軟體都可以使用“-h”引數來閱讀使用說明,例如:
apt-get -h
您也可以使用引數的全名,一般以“--”引導,例如:
apt-get --help
多數命令中,使用“-”引導多個字元,將會被視為多個引數,例如:
apt-get -help
系統會解讀為以下命令
apt-get -h -e -l -p
少數命令的引數,不需要以“-”引導,或者使用“-”引導引數全名,例如:
ps aux
/etc/init.d/gdm start
mplayer -loop xxx

當您需要對多個物件進行操作時,您可以使用空格分隔符將它們隔開:
touch 1 2 3 4 5 6
使用空格分隔的多個物件,視為一個整體,作為命令的一個操作物件:
mv 1 2 3 4 5 6 /home/
這個命令把“1 2 3 4 5 6”作為一個操作物件,移動到另一個操作物件,“/home/”目錄

遞迴 表示在子層次中重複相同操作。例如遞迴複製某目錄,不但複製當前目錄及其下的所有檔案;而且對當前目錄的子目錄,也進行遞迴複製的操作。


格式約定
--------
使用“[]”表示可選項,實際輸入為方括號中的內容,例如
ls [-al]
ls是必須的,引數不需要以方括號包圍起來。
使用“<>”表示必需項,實際輸入為尖括號中的內容
使用“|”表示“或”,以“|”分隔的專案不能同時使用,例如
tar [-z|j c|x vf] [原始檔]
引數通常緊跟命令名,除非必要,在命令格式中,我們通常省略它們


系統資訊
--------
uptime
聯機資訊-時間,顯示如下

11:27pm up 9 days, 7:12, 3 user, load average: 0.07, 0.12, 0.14
當前系統時間 系統執行時間 當前線上使用者數 系統負荷 1分鐘前 5分鐘前 15分鐘前


w
聯機資訊-已登入使用者,顯示如下

01:04:10 up 1:34, 2 users, load average: 0.25, 0.16, 0.11
uptime 資訊

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user tty1 192.168.0.1 23:30 1:33 0.14s 0.12s -bash
使用者名稱 登入方式 來源地址 登入時間 發呆時間 資源佔用 當前任務

Tips:w [使用者名稱稱] : 顯示某一使用者相關資訊


who
聯機資訊,常用引數
-r 執行級別


whoami
顯示當前使用者名稱


last
最近使用者登入資訊
- 使用數字作為引數,控制顯示條目。例如
last -10 顯示10條紀錄


uname
系統資訊
-s 核心名稱(預設引數)
-a 全部
-p CPU資訊
-n 主機名
-r 核心發行資訊(版本號)
-v 核心版本資訊


date
顯示、設定系統時間
-u 顯示格林尼洛時間(UTC)
MMDDhhmm[[CC]YY][.ss] 設定時間,需要管理員許可權。例如: date 12292359
MM 月份 DD 天數 hh 小時 mm 分鐘 CC 年份前兩位 YY 年份後兩位 ss 秒鐘
秒鐘、年份為可選,例如: date 122923592006.59
+[%X]設定顯示格式,以下為date預設輸出格式:
date +%Y年 %m月 %d日 %A %H:%M:%S %Z
格式控制
%n 換行
%t 製表符
小時
%H(00~23) %I(01~12) %k(0~23) %l(1~12) %p(AM|PM)
分、秒
%M分鐘(00~59)
%S秒(00..61)
%T(hh:mm:ss) %r(hh:mm:ss [AM|PM])
%s 從1970年1月1日00:00:00 UTC到目前為止的秒數
%X(%H:%M:%S)
%Z時區
星期
%a(Sun~Sat) %A(Sunday~Saturday) %w : 一週中的第幾天 (0..6)
年份
%Y(0000~9999) %y(00~99)
月份
%m(01~12) %b %h(Jan~Dec) %B(January~December)
日期
%d(01~31) %j(001~366)
%x(本地格式mm/dd/yy) %D(mm/dd/yy) %c
一年中的第幾周
%U(00~53)以Sunday為一週的第一天 %W(00~53)以Monday為一週的第一天


cal
顯示日曆


檔案管理
--------
連結
為當前檔案建立在其它路徑中的訪問方法。例如將系統中其它位置的可執行檔案,連結到“/usr/local/bin”目錄下,使用命令呼叫。

ls [路徑]
顯示當前目錄檔案列表
--color 不同屬性以不同顏色顯示(預設引數)
-a 全部顯示
-i 顯示inode值
-l 詳細資訊
-F 顯示檔案型別字尾 目錄/ 連結@ 可執行檔案* 埠檔案= 管道檔案| >
-A 顯示隱藏檔案
-R 遞迴顯示子目錄檔案列表
-S 按檔案大小排序
-t 按修改時間排序
-u 按訪問時間排序
-d 只顯示目錄,不遞迴顯示目錄下的檔案


cd [目錄路徑] | [特殊路徑]
切換目錄
目錄路徑可以使用絕對路徑或者相對路徑
特殊路徑:
~ $HOME目錄(預設值)
- 上一次目錄
.. 上一級目錄
. 當前目錄

Tips:您可以透過修改“/etc/environment”檔案,來定義$CDPATH變數,設定“cd”命令的搜尋路徑。


pwd
顯示當前路徑


file
顯示檔案型別
-i 顯示mime型別


du [檔名]
計算檔案或目錄空間佔用
-h 人性化顯示。自動以G、M、K為單位顯示佔用空間大小
-l 重複計算硬連結檔案大小
-L 計算符號連結檔案大小
-a 顯示當前目錄子目錄中的檔案
-c 顯示檔案數


less
瀏覽檔案,使用VI和Emacs兩種風格的鍵繫結。以下為VI風格鍵繫結
Ctrl+f(orward) 向下翻一頁 Ctrl+d(own) 向下翻半頁
Ctrl+b(ackward) 向上翻一頁 Ctrl+u(p) 向上翻半頁
/ 查詢 q(uit) 退出


touch
建立一個空檔案


cp
將原始檔複製為目錄檔案,或者將原始檔複製到目標目錄。多個原始檔使用空格分隔
cp
將源目錄複製到目標目錄中,如果複製多個源目錄,需要使用“-R”引數
-a 相當於-dpr引數
-d 保留連結
-f 強制複製,覆蓋目標檔案
-i 覆蓋時詢問使用者
-p 保留修改時間和訪問許可權
-r -R 遞迴複製(目錄=>目錄)
-l 建立連結
-v 顯示過程


rm
-r -R 遞迴刪除
-f 強制刪除(無需確認,直接刪除。慎用!)
-i 互動式刪除(詢問使用者)


rmdir
刪除目錄時,建議您使用“rm -r”命令


mv
相當於cp後刪除原始檔,也可以作為“重新命名”使用。
mv
-r -R 遞迴


ln
-s 符號連結
-f 強制連結,覆蓋目標檔案
-i 覆蓋前詢問使用者


檔案操作
--------
nano
一個簡單輕便的文字編輯器,使用Emacs風格的鍵繫結。


split [目標檔名字首]
將原始檔按一定規則分割成若干個目標檔案。預設檔名字首為“x”
- 按行數分割檔案
-l 同上
-b 按大小分割檔案。可以使用b、k、m作單位,不指定單位的情況下,預設單位為b
-C 按大小分割檔案,並儘量保持每行的完整

示例:
split -C 100k file.split x


cat
輸出檔案內容。用空格分隔多個檔名,可以將多個檔案內容連線到一起輸出。使用重定向合併為一個檔案
-n 在輸出中新增行號
-b 在輸出中新增行號,空行不編號
-s 將兩行或以上的空行,合併為一個空行

示例:
cat xaa xab xac > file.split


sort [-o ] [-t ] [+ - ] [檔案]
對文字內容排序
-m 合併檔案
-c 檢查檔案是否已按規則排序
-b 忽略行首空格字元
-u 忽略內容重複行
-f 忽略大小寫
-l 忽略非列印字元
-M 作為月份比較
-d 按字典順序排序,按照字母、數字、空格、製表符排序
-r 逆序輸出


more
檢視檔案內容,我們建議您使用“less”


diff
比較檔案


cksum [檔名]
計算檔案的CRC值。不指定檔名則從標準輸入裝置讀入資料,例如:
echo xxx | cksum

md5sum [檔名]
計算檔案的md5值。同上


許可權管理
--------
一個檔案主要包含下列屬性,“ls -l”
- rwx rwx rwx user group date filename
111 101 101
其中,第一組為歸屬使用者的許可權,第二組為歸屬群組的許可權,第三組為其它使用者群組的許可權。user為檔案的歸屬使用者,group為檔案的歸屬群組,date為日期資訊,filename為檔名。
可以使用3位的二進位制數字來描述一組許可權,某一許可權對應的數字為1,則表示具有該種許可權,為0,則不具有該種許可權。
對於資料夾,必須擁有它的可執行許可權,才能夠使用“cd”命令進入該資料夾;擁有可讀許可權,才能夠使用“ls”命令檢視該資料夾的檔案列表。
root使用者擁有最高許可權。

使用二進位制數字來描述一組許可權,雖然非常直觀,但是3組許可權需要用9位數來表示,使用不夠方便。因此我們將三組許可權使用3位8進位制數字來表示。它們的對應關係為:
r 100 4
w 010 2
x 001 1
將這三位8進位制數字相加的結果,就可以表示該組許可權的具體內容,例如:
7=4+2+1=rwx
5=4+1=rx
755=4+2+1 4+1 4+1=rwx r-x r-x

我們還可以使用“a、u、g、o”表示歸屬關係,使用“=、+、-”表示許可權變化,使用“r、w、x”表示許可權內容,
a 所有使用者 u 歸屬使用者 g 歸屬群組 o 其它使用者
= 具有許可權 + 增加許可權 - 去除許可權
r 可讀許可權 w 可寫許可權 x 可執行許可權
例如:
a+x 給所有使用者增加可執行許可權
go-wx 將歸屬群組和其它使用者的可寫、可執行許可權去掉
u=rwx 歸屬使用者具有可讀、可寫、可執行許可權


chmod
改變檔案的許可權。許可權的表示式可以使用三位8進位制數字表示,或者使用+-=來表示
-R 遞迴
-v 顯示過程
-c 類似“-v”,僅顯示更改部分
--reference= 以指定檔案為參考改變許可權
示例:
chmod -R a+x path
chmod -Rv 755 path


chown [:歸屬群組]
改變檔案的歸屬使用者。可以使用使用者名稱或者UID
-R 遞迴
-v 顯示過程
-c 類似“-v”,僅顯示更改部分
--reference= 以指定檔案為參考改變許可權
示例:
chown user:admin path
chown -R user.admin path
chown user path

chgrp
改變檔案的歸屬群組。可以使用群組名或者GID
引數同上


SUID、SGID、Sticky bit
某些情況下,需要以可執行檔案歸屬使用者的身份執行該檔案,可以為該檔案設定SUID。同樣,設定SGID能夠以該檔案歸屬群組的身份執行它。
例如:使用者自行設定密碼。
出於安全方面的考慮,“/etc/shadow”只能由root使用者直接修改。
-rw------- root root /etc/shadow
這個時候,可以為程式“/usr/bin/passwd”設定SUID,當普通使用者執行“passwd”命令時,便能夠以該程式歸屬使用者root的身份修改“/etc/shadow”檔案。而“passwd”程式自身帶有身份驗證機制,不能透過驗證時拒絕執行,從而保證了安全。
ls -l /usr/bin/passwd
-r-s--x--x root root /usr/bin/passwd
我們發現,歸屬使用者的可執行許可權位使用“s”,表示SUID。同樣,歸屬群組的可執行許可權位使用“s”,表示SGID。
任何使用者或群組都擁有“其它使用者”的許可權,所以不需要以“其它使用者”身份執行檔案,其它使用者的可執行許可權位便不會出現“s”。該許可權位可能出現的屬性為“t”,也就是粘著位Sticky bit。
ls -ld /tmp
drwxrwxrwt root root /tmp
粘著位表示任何使用者都可能具有寫許可權,但只有該歸屬使用者或root使用者才能夠刪除

SUID、SGID、Sticky bit也可以像許可權一樣,使用一個八位數表示,如下:
4 SUID
2 SGID
1 Sticky bit
透過在“chmod”命令中使用四個八位數的表示式,如“4755”,用第一位表示SUID、SGID、或Sticky bit,便能夠為檔案設定這些特殊許可權。
示例:
chmod -R 4755 path


lsattr [路徑]
檢視檔案的特殊屬性
-a 全部顯示
-d 只顯示目錄
-R 遞迴

特殊屬性包括:
 a:僅供附加用途
 b:不更新最後存取時間
 c:壓縮後存放
 d:排除在傾倒操作之外
 i:不得任意更動檔案或目錄
 s:保密性刪除檔案或目錄
 S:即時更新檔案或目錄
 u:預防以外刪除

chattr
-R 遞迴
-V 顯示過程


壓縮解壓
--------
tar -c|x|u|r|t[z|j][v] -f [未打包檔案]
將多個檔案打包為一個歸檔檔案,可以在打包的同時進行壓縮。支援的格式為tar(歸檔)、gz(壓縮)、bz2(壓縮率更高,比較耗時)
-c 建立
-x 解包
-u 更新
-r 新增
-t 檢視
-d 比較壓縮包內檔案和檔案
-A 將tar檔案新增到歸檔檔案中

-z 使用gz壓縮格式
-j 使用bz2壓縮格式

-v 顯示過程
-f 歸檔檔案的檔名
[未打包檔案] 建立、更新時必須填寫

示例:
tar -czvf xxx.tar.gz xxx/ xxx1 xxx2 xxx3 多個待打包檔案以空格分隔
tar -czvf xxx.tar.gz /home/user/xxx/ 使用絕對路徑打包,解包也使用絕對路徑
tar -xzvf xxx.tar.gz 按相對路徑解包到當前目錄下,或按絕對路徑解包
tar -czvf xxx.tar.gz xxx | split -b 1m 打包後,使用split分割為1m大小的多個檔案

其它引數
-P 使用絕對路徑壓縮時,保留根目錄“/”
-W 校驗
-p 還原檔案許可權
-w 詢問使用者
--totals 統計
-T 處理符合條件的檔案
-X 排除符合條件的檔案


zip [引數]
使用zip格式打包檔案
-r 遞迴,將指定目錄下的所有檔案和子目錄一併處理
-S 包含系統和隱藏檔案
-y 直接儲存符號連線,而非該連線所指向的檔案
-X 不儲存額外的檔案屬性
-m 將檔案壓縮並加入壓縮檔案後,刪除原始檔
- 1~9,數字越大,壓縮率越高
-F 嘗試修復已損壞的壓縮檔案
-T 檢查備份檔案內的每個檔案是否正確無誤
-q 不顯示指令執行過程

-g 將檔案壓縮後附加在既有的壓縮檔案之後,而非另行建立新的壓縮檔案
-u 更新壓縮包內檔案
-f 更新壓縮包內檔案。如果符合條件的檔案沒有包含在壓縮包中,則壓縮後新增

-$ 儲存第一個被壓縮檔案所在磁碟的卷標
-j 只儲存檔名稱及其內容
-D 壓縮檔案內不建立目錄名稱
-i 壓縮目錄時,只壓縮符合條件的檔案
-x 排除符合條件的檔案
-n 排除指定檔名字尾的檔案

-b 指定臨時檔案目錄
-d 從壓縮檔案內刪除指定的檔案

-t 把壓縮檔案的日期設成指定的日期
-o 以壓縮檔案內擁有最新更改時間的檔案為準,將壓縮檔案的更改時間設成和該檔案相同

-A 調整可執行的自動解壓縮檔案
-c 替每個被壓縮的檔案加上註釋
-z 替壓縮檔案加上註釋

-k 使用MS-DOS相容格式的檔名稱。
-l 壓縮檔案時,把LF字元置換成LF+CR字元。
-ll 壓縮檔案時,把LF+CR字元置換成LF字元。


unzip [引數] [壓縮包中將被釋放的檔案]
解壓zip壓縮包檔案
-P zip壓縮包的密碼
-d 指定解壓路徑
-n 解壓縮時不覆蓋原有檔案
-f 覆蓋原有檔案
-o 不經詢問,直接覆蓋原有檔案
-u 覆蓋原有檔案,並將壓縮檔案中的其他檔案解壓縮到目錄中
-l 顯示壓縮檔案內所包含的檔案
-t 檢查壓縮檔案是否正確
-z 顯示壓縮包註釋
-Z unzip -Z等於執行zipinfo指令

-j 不處理壓縮檔案中原有的目錄路徑
-C 壓縮檔案中的檔名稱區分大小寫
-L 將壓縮檔案中的全部檔名改為小寫
-s 將檔名中的空格轉換下劃線
-X 解壓縮時保留檔案原來的UID/GID

-q 執行時不顯示任何資訊
-v 執行是時顯示詳細的資訊
-c 將解壓縮的結果顯示到螢幕上,並對字元做適當的轉換
-p 與-c引數類似,會將解壓縮的結果顯示到螢幕上,但不會執行任何的轉換
-a 對文字檔案進行必要的字元轉換
-b 不要對文字檔案進行字元轉換

-x 處理裡排除壓縮包中的指定檔案
-M 將輸出結果送到more程式處理


7z|7za [引數] [檔案]
子命令
a 新增
d 刪除
e 解壓
x 帶路徑解壓
l 列表檢視
t 測試
u 更新
引數
-m
-m0= 預設使用lzma
-mx=<1~9> 壓縮級別
-mfb=64 number of fast bytes for LZMA = 64
-md= 設定字典大小,例如 -md=32m
-ms= 是否固實壓縮
-o 設定輸出目錄
-p[密碼] 使用密碼
-r[數字] 遞迴,使用數字定義遞迴子目錄的深度
-sfx[] 使用自解壓模組
-si 從標準輸入裝置讀入資料
-so 將資料寫入標準輸出裝置
-y 所有詢問均回答Yes
-w


rar [引數] [檔案|檔案列表|路徑]
子命令
x 帶路徑解壓
e 解壓到當前目錄
a 將檔案新增到壓縮包內
d 從壓縮包中刪除檔案
u 更新壓縮包內檔案
f 更新壓縮包內檔案,並新增壓縮包內不存在的檔案
m 新增並刪除原始檔
r 修復
l 列表檢視壓縮包內檔案資訊 lt 更詳細資訊 lb 簡簡訊息
c 新增壓縮包註釋
cf 將檔案內容新增為註釋
cw 將註釋儲存為檔案
t 測試壓縮包
rr 新增恢復紀錄
rv 恢復到檔案
引數
-p 設定密碼
-m<0~5> 設定壓縮級別,數字越大,壓縮級別越高

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

相關文章