常用快捷鍵:
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫定當前程序,暫停後按下任意鍵恢復運行
Ctrl+z 將當前程序放到後台運行,恢復到前台為命令fg
Ctrl+a 將光標移至輸入行頭,相當於Home鍵
Ctrl+e 將光標移至輸入行末,相當於End鍵
Ctrl+k 刪除從光標所在位置到行末
Alt+Backspace 向前刪除一個單詞
Shift+PgUp 將終端顯示向上滾動
Shift+PgDn 將終端顯示向下滾動
通配符
終端裡面輸入的通配符是由shell處理的,不是由所涉及到命令語句處理的,它只會出現在命令的“參數值”裡。當shell在“參數值”中遇到了通配符時,shell會將其當作路徑或文件名去在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展);否則就將該通配符作為一個普通字符傳遞給“命令”,然後再由命令進行處理。總之,通配符 實際上就是一種shell實現的路徑擴展功能。在通配符被處理後,shell會先完成該命令的重組,然後再繼續處理重組後的命令,直至執行該命令。
例如:
復制代碼代碼如下:touch love_{1..10}_linux.txt可以創建love_1_linux.txt到love_10_linux.txt共10個文件。
* 匹配0 或多個字符
? 匹配任意一個字符
[list] 匹配 list 中的任意單一字符
[!list] 匹配 除list 中的任意單一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z]
{string1,string2,…} 匹配 sring1 或 string2 (或更多)其一字符串
{c2..c2} 匹配 c1-c2 中全部字符 如{1..10}
在命令行中獲取幫助
復制代碼代碼如下:
$ man <command_name>
可以獲得某個命令的說明和使用方式的詳細介紹。man命令是Manual page的縮寫。使用這個命令顯示手冊時會進入一個類似VIM的編輯界面,可以使用VIM的快捷鍵來導航,如/<你要搜索的關鍵字>,查找到後你可以使用n鍵切換到下一個關鍵字所在處,shift+n為上一個關鍵字所在處。使用Space翻頁,Enter向下滾動一行,或者使用j或k(vim編輯器的移動鍵)進行向前向後滾動一行。按下h鍵為顯示使用幫助(因為man使用less作為閱讀器,實為less工具的幫助),按下q退出。
man手冊的內容很多,為了便於查找,是做了分冊(分區段)處理的,在Research Unix、BSD、OS X和Linux中,手冊通常被分為8個區段,安排如下:
一般命令
1.系統調用
2.庫函數,涵蓋了C標准函數庫
3.特殊文件(通常是/dev中的設備)和驅動程序
4.文件格式和約定
5.游戲和屏保
6.雜項
7.系統管理命令和守護進程
要查看相應區段的內容,就在man後面加上相應區段的數字即可,如:
復制代碼代碼如下:$ man 3 printf
所有的手冊頁遵循一個常見的布局,其為通過簡單的ASCII文本展示而優化,而這種情況下可能沒有任何形式的高亮或字體控制。一般包括以下部分內容:
NAME(名稱):該命令或函數的名稱,接著是一行簡介。
SYNOPSIS(概要):對於命令,正式的描述它如何運行,以及需要什麼樣的命令行參數。對於函數,介紹函數所需的參數,以及哪個頭文件包含該函數的定義。
DESCRIPTION(說明):命令或函數功能的文本描述。
EXAMPLES(示例):常用的一些示例。
SEE ALSO(參見):相關命令或函數的列表。
想要獲得更詳細的幫助,你還可以使用info命令,不過通常使用man就足夠了。如果你知道某個命令的作用,只是想快速查看一些它的某個具體參數的作用,那麼你可以使用–help參數,大部分命令都會帶有這個參數。
Linux用戶管理
Linux是一個可以實現多用戶登錄的操作系統,本文記錄了Linux的用戶管理,包括查看、創建用戶和用戶組,以及文件的權限機制。
Linux是一個可以實現多用戶登錄的操作系統,比如李雷和韓梅梅都可以同時登陸同一台主機,他們共享一些主機的資源,但他們也分別有自己的用戶空間,用於存放各自的文件。實際上他們的文件都是放在同一個物理磁盤上的甚至同一個邏輯分區或者目錄裡,但他們互相不可以看到或操作對方的文件,這正是Linux用戶管理和權限機制。
查看用戶
直接使用whoami命令可以查看當前登錄用戶的用戶名,此外還有who命令可以查看更多詳細的信息。
創建用戶
root權限,是系統權限的一種。root是Linux和unix系統中的超級管理員用戶帳戶,該帳戶擁有整個系統至高無上的權力,所有對象他都可以操作,所以很多黑客在入侵系統的時候,都要把權限提升到root權限。root賬戶就相當於Linux的“上帝”。
一般登錄系統時都是以普通賬戶的身份登錄的(即“凡人”)。如果要添加一個用戶(上帝造人),那麼需要“借用”一下上帝的權力,即使用sudo命令。使用這個命令有兩個大前提,一是你要知道當前登錄用戶的密碼,二是當前用戶必須在sudo用戶組。
sudo adduser <user>:創建一個新用戶(默認會自動創建一個同名的用戶組),同時會在/home目錄下創建一個對應的文件夾
su -l <user>:切換登錄用戶
exit(或CTRL+D):退出當前登錄用戶
用戶組
在linux裡面每個用戶都有一個歸屬(用戶組),用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權限,同時擁有私有資源。一個用戶可以屬於多個用戶組。
groups <user>:查看user屬於哪個用戶組。輸出內容冒號之前表示用戶,之後表示該用戶所屬的用戶組。
cat /etc/group |sort:輸出如下所示。/etc/group文件內容包括用戶組(Group)、用戶組口令、GID及該用戶組所包含的用戶(User),每個用戶組一條記錄。格式為group_name:password:GID:user_list,其中密碼字段為表示密碼不可見。
daemon::1:root
kmem::2:root
sys::3:root ……
usermod -G <group> <user>:為用戶添加用戶組(需要root權限)。可以用這個命令把用戶加入sudo組,這樣這個用戶就能借用root權限。
deluser <user> --remove-home:刪除用戶(需要root權限)。--remove-home參數表示連帶刪除home目錄下的文件夾。
Linux文件權限
ls命令可以列出當前文件夾的文件,附帶參數說明如下:
-l:以較詳細的格式列出文件(如下所示)
-A:顯示除了.(當前目錄),..上一級目錄之外的包含隱藏文件的所有文件(Linux下以.開頭的文件為隱藏文件)
-dl <dir>:查看某一個目錄的完整屬性,而不是顯示目錄裡面的文件屬性
-sSh:小s為顯示文件大小,大S為按文件大小排序,h顯示所有文件大小,並以普通人類能看懂的方式呈現
復制代碼代碼如下:
drwxr-xr-x@ 11 root wheel 374 1 25 22:23 usr
從左到右依次是:文件類型和權限,鏈接數,所有者,所屬用戶組,文件大小,最後修改時間,文件名。
1、文件類型和權限(drwxr-xr-x@)
第1位d表示文件類型。其余文件類型有:
d:目錄
l:軟鏈接
b:塊設備
c:字符設備
s:Socket
p:管道
-:普通文件
後面9位每3個1組,分為3組,分別是擁有者權限、所屬用戶組權限、其他用戶權限,字符的意義是:
r:允許讀權限,比如可以使用cat <file name>之類的命令來讀取某個文件的內容
w:允許寫權限,表示你可以編輯和修改某個文件
x:允許執行權限,通常指可以運行的二進制程序文件或者腳本文件。Linux上不是通過文件後綴名來區分文件的類型。注意:一個目錄要同時具有讀權限和執行權限才可以打開,而一個目錄要有寫權限才允許在其中創建其它文件,這是因為目錄文件實際保存著該目錄裡面的文件的列表等信息
2、鏈接數
鏈接到該文件所在的inode結點的文件名數目(關於這個概念涉及到linux文件系統的相關概念知識,自行查閱)
3、文件大小
以inode結點大小為單位來表示的文件大小,可以給ls加上-h參數(表示,這才是給人看的)來更直觀的查看文件的大小
使用chown <param> <file>命令可以修改文件file權限(需要root權限)。其中參數param可以是二進制形式,也可以是加減賦值操作形式。
二進制形式如chown 755 some_file,參數中3個數字分別表示擁有者,所屬用戶組,其他用戶的權限值。權限值的計算由r、w、x決定,有權限為1,無權限為0,由二進制加權所得,如7代表rwx,5代表r-x。
加減賦值操作形式如chmod go-rw some_file,’g’’o’還有’u’,分別表示group,others,user,’+’,’-‘就分別表示增加和去掉相應的權限。