Linux下的常用命令
Linux下的常用命令
一、檔案處理命令
1. 顯示目錄檔案
命令名稱:ls
英文名稱原意:list
命令所在路徑:/bin/ls
執行許可權:所有使用者
功能描述:顯示目錄檔案
語法:ls 選項[-ald] [檔案或目錄]
-a 顯示所有檔案,包括隱藏檔案
-l 詳細資訊顯示
-d 檢視目錄屬性
ls -a
ls -l
ls -a /tmp
拓:當檢視ls其他的選項時,可以利用命令:ls --help 列出ls命令的選項,--help也適用於其他命令。
注:3個選項可以組合使用,如:ls -ld / (其中-ld可以互換)
顏色表示:(每種版本也不相同)
黑色: 二進位制標記
(其他後補)
再怎麼把顏色去掉
————————————————
輸入後顯示的資訊
ls -l /
drwxr-xr-x 2 root root 4096 2012-02-22 03:21 bin
顯示 |
d |
rwx |
r-x |
r-x |
2 |
root |
root |
4096 |
2012-02-22 03:21 |
bin |
示意 |
檔案型別 |
U |
G |
O |
硬連線數 |
所有者 |
所屬組 |
檔案大小(不精確) |
時間 |
檔名 |
d:
4種檔案型別:
d:目錄 directory
-:普通檔案
b:塊裝置檔案
l:軟連結檔案link
rwx:
3種基本許可權
r:read 讀許可權 ——
w:write 寫許可權
x:execute 執行許可權
每一種代表了一類使用者
rwx: ——所有者u:包括user,onwer
r-x: ——所屬組g, group
r-x: ——其他人o,Other
舉例:
rwxr-xr-x
rwx r-x r-x (即上面每三個分為一組)
所有者 u 所屬組 其他人o
user g other
owner
所以三組的各個許可權就都知道了
————————————————
後面的數字:“2”
硬連結:
4096: 檔案大小(不準確)表示建立或最後修改的時間
解釋:每個檔案至少要佔用一個資料塊,資料塊是linux最小的資料存取單位,一個資料塊一般是512位元組,可調整大小,如果有很少的資料,則512位元組其他的空間就被浪費掉了。
2.切換目錄
命令名稱:cd
命令英文原意:change directory
功能描述:切換目錄
命令所在路徑:shell內建命令
執行許可權:所有使用者
語法:cd [目錄]
範例:$cd / 切換到根目錄
$cd .. 回到上一級目錄
3.顯示當前工作目錄
命令名稱:pwd
命令英文原意:print working directory
功能描述:顯示當前所在的工作目錄
命令所在路徑:/bin/pwd
執行許可權:所有使用者
語法:pwd
範例:$pwd
4.建立新目錄
命令名稱:mkdir
命令英文原意:make directories
功能描述:建立新目錄
語法:mkdir [目錄名]
範例:$mkdir newdir
在根目錄下建立新目錄:$mkdir /newdir
在當前目錄下建立新目錄:$mkdir newdir
5.建立檔案
命令名稱:touch
命令英文原意:touch
功能描述:建立空檔案
執行許可權:所有使用者
命令所在路徑:/bin/touch
語法:touch 【檔名】
範例:#touch newfile 當前檔案下建立空檔案
6.複製
命令名稱:cp
命令英文原意:copy
功能描述:複製檔案或目錄
語法:
cp [原始檔] [目的目錄]
cp -R [原始檔或目錄] [目的目錄]
cp -R 複製目錄
注:如果複製時間太長,想終止複製,可用終止命令
中止命令:ctrl+c
7.剪下
命令名稱:mv
命令英文原意:move
功能描述:移動檔案,更名(dos下游rename命令,而linux沒有)
命令所在路徑:bin/mv
執行許可權:所有使用者
語法:mv [原始檔或目錄][目的目錄]
範例:$mv file1 file3 將當前目錄下檔案file1移動到file3中
$mv file1 dir1
舉例:
mv services service 將services更名為service
mv text/textfile /tmp 將Text目錄下的textfile移動到tmp目錄中
mv text/textfile /tmp/filetext 移動的同時將名字也改變
8.刪除
rm
remove
/bin/rm
所用使用者
語法:rm -r [檔案或目錄]
-r 刪除目錄
功能:刪除檔案
注:rmdir: 刪除“空目錄”,很少用到。
$rm file3 刪除檔案file3
$rm -r dir1 刪除目錄dir1 (注 1.-r不能省略,2.這種情況下,它會逐一問你該目錄下的所有檔案是否要被刪除,所以最常用到的命令是:$rm -rf dir1 強制刪除)
強制刪除檔案: $rm -f file1 (這樣可以沒有提示“刪除”的將檔案刪除掉)
注:Ubuntu使用者預設情況下是沒有root許可權的,所以也就沒有許可權刪除檔案。如何在終端模式下切換到root身份?
sudo -s -H
Password: <在此輸入密碼>
關閉root的優點:
buntu預設是關閉root帳戶的,這樣做有如下優點:
起初Ubuntu團隊希望安裝儘可能的簡單,不使用root,在安裝期間的兩個使用者互動步驟可以省略。(科林·沃森)
更進一步, 如果在安裝中使用root,使用者將被要求永遠記住他們選擇的密碼--即使他們很少使用到它。Root密碼經常被對Unix安全模型不熟悉的使用者忘記。(馬特·齊默曼)
它防止了預設登入時“我能做任何事情”--在較大的變化發生之前,你將被提示輸入口令,這可以使你考慮你這樣做的結果。 如果你作為root登入,你可以刪除一些“沒用的資料夾”並且不會意識到你正處於錯誤的目錄,那時已經太晚了。它是在Unix下長時間使用“su-command-^D”練習的情況下,代替一直呆在root shell--除非你做嚴重的系統維護(那時你仍然可以使用 "sudo su")。(吉姆·奇塔姆 和 安德魯·索巴拉)
Sudo 增加了執行命令的日誌記錄(在/var/log/auth.log)。如果你陷入困境,你總是可以返回並看見那些執行的命令。(安德魯·Zbikowski)
開啟root帳號的方法:
為了啟用root 帳號(也就是設定一個口令)使用:
sudo passwd root
當你使用完畢後遮蔽root帳號使用:
sudo passwd -l root
這個將鎖住root帳號。
如何在終端模式下切換到root身份?
sudo -s -H
Password: <在此輸入密碼>
第二節
9.1顯示檔案內容
命令名稱:cat
命令英文原意:concatenate and display files
功能描述:顯示檔案內容
命令所在路徑:/bin/cat
執行許可權:所有使用者
語法:cat [檔名]
範例: $cat /etc/issue
$cat /etc/services
注:不適合顯示較大的檔案,否則都顯示出來時間很長,且不方便觀看(優化見後面命令)。
9.2 分頁顯示檔案
命令名稱:more
命令英文原意:more
功能描述:分頁顯示檔案內容,按回車換屏
檔案所在路徑:/bin/more
執行許可權:所有使用者
語法:more [檔名]
(空格)或f 顯示下一頁
(Enter) 顯示下一行
q或Q, 退出
範例: $more /etc/services
9.3 檢視檔案前幾行
命令名稱:head
命令英文原意:head
功能描述:檢視檔案前幾行
檔案所在路徑:/bin/head
執行許可權:所有使用者
語法: head -num [檔名]
-num:顯示檔案的前num行
範例:$head -20 /etc/services
9.4 檢視檔案後幾行
命令名稱:tail
命令英文原意:tail
功能描述:檢視檔案後幾行
檔案所在路徑:/bin/tail
執行許可權:所有使用者
語法: tail -num [檔名]
-num:顯示檔案的後num行
-f :動態顯示檔案資訊
範例:$tail -20 /etc/services
10.產生連結檔案(注意區分軟硬連結檔案的不同)
命令名稱:ln
命令英文原意:link
功能描述:產生連結檔案,這裡相當與windows下的快捷方式,是符號連結
命令所在路徑:/bin/ln
執行許可權:所用使用者
語法: ln -s [原始檔][目標檔案]
-s :建立軟連結
連結檔案有軟/硬兩種檔案
10.1
範例:ln -s /etc/issue /issue.soft
ls -s /etc/issue /issue.soft
注:(1)所有的軟連結檔案許可權都是:lrwxrwxrwx,(注意“l”)即所有人都有許可權,這時會看到--> 這裡實際上操作的還是原始檔,操作原始檔時的許可權取決於原始檔的許可權
(2)時間值:建立軟連線的時間,
10.2 產生硬連結檔案
不需要加“-s”
ln /etc/issue /issue.head
ls /etc/issue /issue.head
執行後會發現檔案大小與原始檔相同,類似於windows下的copy,但不完全相同
硬連結:“cp+同步更新”,即更新一個另一個也更新,時間值也不相同,操作cp時兩個時間是相同的。相當於有個實時備份。
軟/硬連結的不同,刪除原始檔時,軟連結一無法使用,硬連結依然可以使用。
i結點的相關知識:
(核心不認識字母,只認識數字,所以每個檔案要有個檔案標識,即i結點,每個檔案必須有個i結點, ls -i)
硬連結和原始檔有相同的i結點,只不過i結點有兩個對映,所以可是實現同步更新。
注:軟連線可以跨檔案系統生成,如/etc中的檔案可以在/tmp檔案系統中生成。硬連結不可以跨檔案系統,(“無效的跨裝置連結”)
==================================================================
二、許可權管理命令
1. 改變檔案目錄許可權
命令名稱:chmod
命令英文原意:change the permissions mode of a file
功能描述:改變檔案或目錄許可權
命令所在路徑:/bin/chmod
執行許可權:所有使用者
語法:chmod [{ugo} {+-=} {rwx}] [檔案/目錄]
[mode=421] [檔案/目錄]
chmod u
g
o
u-所有者
g-所屬組
o-其他人
+:授權
-:去權
=:賦權
r:讀
w:寫
e:執行
所以:
chmod u+wx
chmod o-rx
chmod g=rwx
如:
-rw-r--r-- 2 root root 0 12-01 23:11 a
[root@localhost test]# chmod u+x
[root@localhost test]# ls -la
-rwxr--r-- 2 root root 0 12-01 23:11 a
通過數字的方法進行授權:
r:4 (100)
w:2 (10)
x:1 (1)
許可權對應的數字:
rwxr-xr--
7 5 4
rw-r-x--x
6 5 1
數字對應的許可權
7 5 2
rwxr-xx-w
RWX的深入理解:
代表字元 |
許可權 |
對檔案的含義 |
對目錄的含義 |
r |
讀許可權 |
可以檢視檔案的內容 |
可以列出目錄中的內容 |
w |
寫許可權 |
可以修改檔案 |
可以在目錄中建立、刪除檔案 |
x |
執行許可權 |
可以執行檔案 |
可以進入目錄 |
各許可權下可用到的命令:
(下面是對“目錄”的操作)
r -ls
w -touch mkdir rm
x -cd (可以進入這個目錄,所以大部分的目錄是有x許可權的)
注:“檔案”有寫許可權時,只是可以修改檔案的內容,是不能刪除此檔案的,而如果你在“目錄”有寫許可權,那麼你可以對其裡面的檔案作建立、刪除操作。
2.改變檔案目錄所有者
命令名稱:chown
命令英文原意:change file ownership
命令所在路徑:/bin/chown
命令英文原意:改變檔案/目錄的所有者
語法:chown [使用者] [檔案/目錄]
範例:$chown user1 file1
改變檔案file1 的所有者為user1
注:Linux環境下要有user1才可以使用,“nobody”是linux有的使用者,類似windows下的guest使用者。
$chown nobody file1 (nobody是Linux自帶的使用者,類似於windows的guest)
拓:
linux新增使用者:
usetadd zhangsan 新增使用者
passwd *** 設定密碼
3.改變檔案/目錄的所屬組
命令名稱:chgrp
命令英文原意:change file group owership
功能描述:改變檔案/目錄的所屬組
命令所在路徑:bin/chgrp
語法:chgrp [使用者組] [檔案/目錄]
範例:$chgrp adm file1
改變檔案file1的所屬組為adm
3.
命令名稱:
命令英文原意:
功能描述:
命令所在路徑:
語法:
範例:
umask :檢視訪問許可權
範例:
1.
umask
0022
示意:“0022”是掩碼,
0:
777
- 022
-----------------
755
各許可權是755
2.umask -S
u=rwx g=rx o=rx
注:當touch一個檔案時是沒有x許可權的,即使有755許可權
將新建立的檔案改成750的方法:umask 750(×:錯誤)
umask 027
su -使用者名稱 :切換使用者
檢視目錄/檔案許可權;
umask
預設許可權:
mkdir newdir和touch newfile 時沒有提示輸入目錄/檔案許可權,因為他們都有一個預設的許可權:U:rwx G:r-x O:r-x
建立預設檔案許可權如圖:
建立預設目錄的許可權如圖:
但預設建立的新檔案將x的許可權去掉,防止惡意病毒木馬的產生。
硬該其許可權:改掩碼值
如改成750
:777-750=027
所以:umask 027
再建立其他目錄時就會改變其許可權了,但建立檔案時的x許可權去掉了。
檔案搜尋命令:
which
命令所在路徑:/usr/bin/which
執行許可權:所有使用者
功能描述:顯示命令所在的目錄
語法:which [命令名稱]
範例:$which ls
拓:命令也是有操作許可權的,如,bin下和user.bin下的命令,所有使用者都可以使用,而在 sbin下的命令只有超級管理員才可以使用。
which可以查詢所有的命令的路徑,另外,whereis命令也可以用來查詢檔案路徑,
區別:which檢視命令時還用攜帶檔案的別名。(Ubuntu下沒有顯示出檔案的別名)
而whereis會顯示出被查命令的幫助文件所在的位置。如圖:
理論上,查詢命令時兩者都可以使用。
find
命令所在路徑:/usr/bin/find
執行許可權:所有使用者
功能描述:查詢檔案/目錄
語法:find [搜尋路徑][搜尋關鍵字]
使用的基本原則:儘量節省系統資源,儘量不要再根目錄下查詢。
-name的用法:
find /etc -name init
注:跟windows的區別這裡只查詢init的檔案,包含“init”的檔案不會被查詢到,需要時可以加萬用字元
* :匹配任意字元
?:匹配單個字元
-size
檔案大小,block資料塊:512位元組
100MB=102400KB=102400*2B=204800 block
大於:+
小於:-
等於:空,一般沒大有
如:find / -size +202800
-user
按照檔案的擁有者查詢,如:
find /home -user wangminli
-time
1、天:ctime 、atime 、mtime
2、分鐘:cmin 、amin、 mmin
c:change改變,修改
a:access瀏覽,訪問
m:modify 修改
c m的區別:
c表示檔案的屬性被修改過,屬性包括所有者,所屬組,許可權
m表示檔案的內容被修改過
-:表示多長時間之內 ,-1:一天之內,如find /etc -mmin -120 2個小時之內檔案被修改
+:超過多長時間。
-type
find /etc -name init* -a -type -l (查詢int*的二進位制檔案)
選項:
-f :二進位制檔案,
-l:軟連線檔案
-d:目錄
find的選項非常多,還有type燈,不一一列舉,學會查詢幫助檔案。
查詢大於80MB小於100MB的檔案?見下面:
連線符1:
-a:and 邏輯與
-o: or邏輯或
find /etc -size +16380 -a -size 204800 大於80MB小於100MB的檔案
連線符2:-exec執行
固定格式:
1.、-exec 命令 {} \ ;
{}:f前面ind查詢的結果
\:轉義符,使用符號本身的含義
find /etc -name inittab -exec ls -ls {} \; 查詢inittab檔案並列舉出該檔案
find /test -name testfile3 -exec rm {} \; 查詢testfile3檔案並刪除該檔案
;:結束
2、-OK
含義同上,但會詢問使用者
知識:i節點
有些檔案用rm是刪不掉的,如 touch “a b”建立時,用rm a b 是刪不掉的,這是可以直接刪除其該i節點,每個字元都有i節點。
find .-inum 16 -exec rm {} \; 查詢並刪除i節點為16的檔案
lacate(有的系統不提供,但find一定有)
如:locate services
與find的不同,根據系統安裝和定期更新的資料庫裡查詢的,所以查詢非常快,但新建立的檔案不一定能找到。
lacate要配合一個一個命令uptatedb,
命令名稱:updatedb
命令英文原意:update the slocate database
執行許可權:root
功能描述:建立整個系統目錄檔案的資料庫
語法:updatedb
範例:#updatedb
updatedb在系統安裝完成以後會建立一個整個linux系統的檔案目錄的資料庫,所以使用locate時會直接呼叫updatedb裡面生成的資料庫,不需要在整個硬碟裡檢索,所以查詢速度非常快。但是這個資料庫有個計劃任務,定期執行updatedb(也可以手動執行),所以有的時候新建立的檔案可能找不到,所以比較適合查詢系統預設安裝的命令,配置檔案等。
grep
命令名稱:grep
命令所在路徑:/bin/grep
執行許可權:所有使用者
功能描述:在檔案中搜尋匹配的行並輸出
語法:grep [指定字串][原始檔]
範例:#grep ftp/etc/services
檔案幫助命令
man
命令名稱:man
命令英文原意:manual
命令所在路徑:/usr/bin/man
功能描述:獲得幫助資訊
語法:man [命令或配置檔案]
範例:$ man ls 檢視ls命令的幫助資訊
$man serivces 檢視配置檔案services的幫助資訊
注1:執行man命令時,它會呼叫more進行幫助瀏覽文件
所以:按回車換行,空格下一頁,q退出
注2:當檢視配置檔案的幫助時,只寫配置檔名即可,如man services ,用man /etc/services 反而不行。
問題:當“man passwd”時,是檢視 “passwd”命令的幫助,還是“/etc/passwd”配置檔案的幫助資訊呢?
答:man時會優先檢視命令的幫助,那麼怎麼檢視同名的配置檔案的幫助呢?可以“man man ”一下,發現有9型別的幫助:
配置檔案是第5種,所以可以用“man 5 passwd”,所以man passwd時實際上是 man 1 passwd。
2.info
命令名稱:info
命令英文原意:information
命令所在路徑:/usr/bin/info
執行許可權: 所有使用者
功能描述:獲取幫助資訊
語法:info [任何關鍵字]
範例:$info ls 檢視指令的幫助資訊
注1:瀏覽方式也同more,
注2:info同man差不多,只是顯示有所不同
3.whatis
命令名稱:whatis apropos makewhatis
命令英文原意:search the whatis database for strings
執行許可權:All User ,All User ,root
功能描述:獲取索引的簡短說明資訊,也需要更新資料庫目錄
語法:whatis apropos [任何關鍵字]
範例:$whatis ls
$apropos fstab 相當於man -k
簡單列出被查命令的用法,例如選項等(whatis ls),同--help差不多。
4.help
檢視shell內建命令的幫助
help cd
可以用man bash 檢視到shell內建命令
相關文章
- Linux下常用命令Linux
- Linux 下的tar常用命令及操作Linux
- linux下常用命令總結_1Linux
- Linux 的常用命令Linux
- Linux的常用命令Linux
- Linux下tar,jar壓縮,解壓常用命令LinuxJAR
- Linux的docker常用命令LinuxDocker
- Linux入門(二) ~ Linux的常用命令Linux
- Linux的常用命令學習Linux
- 常用命令[Linux]Linux
- Linux 常用命令Linux
- Linux常用命令Linux
- 【Linux】Linux基本常用命令Linux
- Linux-Linux常用命令Linux
- Ubuntu 下常用命令Ubuntu
- windows下常用命令Windows
- Ubuntu下常用命令Ubuntu
- Linux系統下systemctl常用命令以及service檔案配置Linux
- Linux的使用2 常用命令列Linux命令列
- linux的一些常用命令Linux
- Linux常用命令使用Linux
- Linux裡常用命令Linux
- Linux常用命令整理Linux
- Linux常用命令大全Linux
- Linux常用命令分享Linux
- linux常用命令速查Linux
- Linux——常用命令整理Linux
- Linux-常用命令Linux
- Linux常用命令全名Linux
- Linux 常用命令2Linux
- Linux GCC常用命令LinuxGC
- 轉linux常用命令Linux
- linux之常用命令Linux
- Linux 常用命令整理Linux
- linux常用命令(轉)Linux
- linux 不常用命令Linux
- Linux 常用命令合集Linux
- linux vim 常用命令Linux