Linux新手必備的20個命令
我們都知道在linux系統下,操作都是靠命令來實現的,對於新手來説,忘記了命令根本就無法操作,為此YJBYS小編為各位新手準備了20個必備的命令,希望對大家有所幫助!
1. ls命令
ls命令是列出目錄內容(List Directory Contents)的意思。運行它就是列出文件夾裏的內容,可能是文件也可能是文件夾。
root@tecmint:~# ls
Android-Games Music
Pictures Public
Desktop
Documents TecMint-Sync
Downloads Templates
“ls -l”命令已詳情模式(long listing fashion)列出文件夾的內容。
root@tecmint:~# ls -l
total 40588
drwxrwxr-x 2 ravisaive ravisaive 4096 May 8 01:06 Android Games
drwxr-xr-x 2 ravisaive ravisaive 4096 May 15 10:50 Desktop
drwxr-xr-x 2 ravisaive ravisaive 4096 May 16 16:45 Documents
drwxr-xr-x 6 ravisaive ravisaive 4096 May 16 14:34 Downloads
drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Music
drwxr-xr-x 2 ravisaive ravisaive 4096 May 9 17:54 Pictures
drwxrwxr-x 5 ravisaive ravisaive 4096 May 3 18:44
drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Templates
“ls -a”命令會列出文件夾裏的所有內容,包括以"."開頭的隱藏文件。
root@tecmint:~# ls -a
. g putstream-PI5VVW ion-control
e deja-dup nc lla es
eamer-0.10 int bnails -bookmarks derbird
hots l_history cess uthority
ile _history s _logout ssenger
t e rc rea_1.8 e-cookie
hority f l WW e
omedia ina amon -2.8
sion-errors iz e teamviewer_
ig e2 olor
注意:在Linux中,文件以“.”開頭的就是隱藏文件,並且每個文件,文件夾,設備或者命令都是以文件對待。ls -l 命令輸出:
d (代表了是目錄).
rwxr-xr-x 是文件或者目錄對所屬用户,同一組用户和其它用户的權限。
上面例子中第一個ravisaive 代表了文件文件屬於用户ravisaive
上面例子中的第二個ravisaive代表了文件文件屬於用户組ravisaive
4096 代表了文件大小為4096字節.
May 8 01:06 代表了文件最後一次修改的日期和時間.
最後面的就是文件/文件夾的名字
更多"ls"例子請查看 15 linux中ls命令實例。
2. lsblk命令
“lsblk”就是列出塊設備。除了RAM外,以標準的樹狀輸出格式,整齊地顯示塊設備。
root@tecmint:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
“lsblk -l”命令以列表格式顯示塊設備(而不是樹狀格式)。
root@tecmint:~# lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
sda1 8:1 0 46.6G 0 part /
sda2 8:2 0 1K 0 part
sda5 8:5 0 190M 0 part /boot
sda6 8:6 0 3.7G 0 part [SWAP]
sda7 8:7 0 93.1G 0 part /data
sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
注意:lsblk是最有用和最簡單的方式來了解新插入的USB設備的名字,特別是當你在終端上處理磁盤/塊設備時。
3. md5sum命令
“md5sum”就是計算和檢驗MD5信息簽名。md5 checksum(通常叫做哈希)使用匹配或者驗證文件的文件的完整性,因為文件可能因為傳輸錯誤,磁盤錯誤或者無惡意的干擾等原因而發生改變。
root@tecmint:~# md5sum teamviewer_
47790ed345a7b7970fc1f2ac50c97002 teamviewer_
注意:用户可以使用官方提供的和md5sum生成簽名信息匹對以此檢測文件是否改變。Md5sum沒有sha1sum安全,這點我們稍後討論。
4. dd命令
“dd”命令代表了轉換和複製文件。可以用來轉換和複製文件,大多數時間是用來複制iso文件(或任何其它文件)到一個usb設備(或任何其它地方)中去,所以可以用來製作USB啟動器。
root@tecmint:~# dd if=/home/user/Downloads/ of=/dev/sdb1 bs=512M; sync
注意:在上面的例子中,usb設備就是sdb1(你應該使用lsblk命令驗證它,否則你會重寫你的磁盤或者系統),請慎重使用磁盤的名,切忌。
dd 命令在執行中會根據文件的大小和類型 以及 usb設備的讀寫速度,消耗幾秒到幾分鐘不等。
5. uname命令
"uname"命令就是Unix Name的簡寫。顯示機器名,操作系統和內核的詳細信息。
root@tecmint:~# uname -a
Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux
注意: uname顯示內核類別, uname -a顯示詳細信息。上面的輸出詳細説明了uname -a
“Linux“: 機器的內核名
“tecmint“: 機器的分支名
“3.8.0-19-generic“: 內核發佈版本
“#30-Ubuntu SMP“: 內核版本
“i686“: 處理器架構
“GNU/Linux“: 操作系統名
6. history命令
“history”命令就是歷史記錄。它顯示了在終端中所執行過的所有命令的歷史。
root@tecmint:~# history
1 sudo add-apt-repository ppa:tualatrix/ppa
2 sudo apt-get update
3 sudo apt-get install ubuntu-tweak
4 sudo add-apt-repository ppa:diesch/testing
5 sudo apt-get update
6 sudo apt-get install indicator-privacy
7 sudo add-apt-repository ppa:atareao/atareao
8 sudo apt-get update
9 sudo apt-get install my-weather-indicator
10 pwd
11 cd && sudo cp -r unity/6 /usr/share/unity/
12 cd /usr/share/unity/icons/
13 cd /usr/share/unity
注意:按住“CTRL + R”就可以搜索已經執行過的命令,它可以你寫命令時自動補全。
(reverse-i-search)`if': ifconfig
7. sudo命令
“sudo”(super user do)命令允許授權用户執行超級用户或者其它用户的命令。通過在sudoers列表的安全策略來指定。
root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa
注意:sudo 允許用户借用超級用户的權限,然而"su"命令實際上是允許用户以超級用户登錄。所以sudo比su更安全。
並不建議使用sudo或者su來處理日常用途,因為它可能導致嚴重的錯誤如果你意外的做錯了事,這就是為什麼在linux社區流行一句話:
“To err is human, but to really foul up everything, you need root password.”
“人非聖賢孰能無過,但是擁有root密碼就真的萬劫不復了。” span>
8. mkdir命令
“mkdir”(Make directory)命令在命名路徑下創建新的目錄。然而如果目錄已經存在了,那麼它就會返回一個錯誤信息"不能創建文件夾,文件夾已經存在了"("cannot create folder, folder already exists")
root@tecmint:~# mkdir tecmint
注意:目錄只能在用户擁有寫權限的目錄下才能創建。mkdir:不能創建目錄`tecmint`,因為文件已經存在了。(上面的輸出中不要被文件迷惑了,你應該記住我開頭所説的-在linux中,文件,文件夾,驅動,命令,腳本都視為文件)。
9. touch 命令
“touch”命令代表了將文件的訪問和修改時間更新為當前時間。touch命令只會在文件不存在的時候才會創建它。如果文件已經存在了,它會更新時間戳,但是並不會改變文件的內容。
root@tecmint:~# touch tecmintfile
注意:touch 可以用來在用户擁有寫權限的目錄下創建不存在的文件。
10. chmod 命令
“chmod”命令就是改變文件的模式位。chmod會根據要求的模式來改變每個所給的文件,文件夾,腳本等等的文件模式(權限)。
在文件(文件夾或者其它,為了簡單起見,我們就使用文件)中存在3中類型的權限。
Read (r)=4
Write(w)=2
Execute(x)=1
所以如果你想給文件只讀權限,就設置為'4';只寫權限,設置權限為'2';只執行權限,設置為1; 讀寫權限,就是4+2 = 6, 以此類推。
現在需要設置3種用户和用户組權限。第一個是擁有者,然後是用户所在的組,最後是其它用户。
rwxr-x--x
這裏root的權限是 rwx(讀寫和執行權限),
所屬用户組權限是 r-x (只有讀寫權限, 沒有寫權限),
對於其它用户權限是 -x(只有只執行權限)
為了改變它的權限,為擁有者,用户所在組和其它用户提供讀,寫,執行權限。
root@tecmint:~# chmod 777
三種都只有讀寫權限:
root@tecmint:~# chmod 666
擁有者用户有讀寫和執行權限,用户所在的組和其它用户只有可執行權限:
root@tecmint:~# chmod 711
注意:對於系統管理員和用户來説,這個命令是最有用的命令之一了。在多用户環境或者服務器上,對於某個用户,如果設置了文件不可訪問,那麼這個命令就可以解決,如果設置了錯誤的權限,那麼也就提供了為授權的訪問。
11. chown命令
“chown”命令就是改變文件擁有者和所在用户組。每個文件都屬於一個用户組和一個用户。在你的目錄下,使用"ls -l",你就會看到像這樣的東西。
root@tecmint:~# ls -l
drwxr-xr-x 3 server root 4096 May 10 11:14 Binary
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
在這裏,目錄Binary屬於用户"server",和用户組"root",而目錄"Desktop"屬於用户“server”和用户組"server"
“chown”命令用來改變文件的所有權,所以僅僅用來管理和提供文件的用户和用户組授權。
root@tecmint:~# chown server:server Binary
drwxr-xr-x 3 server server 4096 May 10 11:14 Binary
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
注意:“chown”所給的文件改變用户和組的所有權到新的擁有者或者已經存在的用户或者用户組。
12. apt命令