1.1.1命令使用方法
Linux命令格式:
command[-options][parameter1]…
說明:
command:命令名,相應功能的英文單詞或單詞的縮寫[-options]:選項,可用來對命令進行控制,也可以省略,[]代表可選parameter1 …:傳給命令的參數:可以是零個一個或多個
例:
1.1.2查看幫助文檔
1.1.2.1–help
一般是linux命令自帶的幫助信息
如:ls --help
1.1.2.2man(有問題找男人,manual)
man是linux提供的一個手冊,包含了絕大部分的命令、函數使用說明
該手冊分成很多章節(section),使用man時可以指定不同的章節來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
1.Standard commands(標準命令)
2.System calls(系統調用,如open,write)
3.Library functions(庫函數,如printf,fopen)
4.Special devices(設備文件的說明,/dev下各種設備)
5.File formats(文件格式,如passwd)
6.Games and toys(游戲和娛樂)
7.Miscellaneous(雜項、慣例與協定等,例如Linux檔案系統、網絡協定、ASCII碼;environ全局變量)
8.Administrative Commands(管理員命令,如ifconfig)
man是按照手冊的章節號的順序進行搜索的。
man設置了如下的功能鍵:
注意:實際上,我們不用指定第幾個章節也用查看,如,man ls
1.1.3自動補全
在敲出命令的前幾個字母的同時,按下tab鍵,系統會自動幫我們補全命令
一個tab補全,如果有唯一定位的,自動出來。
兩個tab所有滿足條件的都列出出來。
1.1.4歷史命令
當系統執行過一些命令后,可按上下鍵翻看以前的命令,history將執行過的命令列舉出來
1.2Linux命令-文件、磁盤管理
1.2.1查看文件信息:ls
ls是英文單詞list的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字符,“.”代表當前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用-a參數才能顯示。
ls常用參數:
與DOS下的文件操作類似,在Unix/Linux系統中,也同樣允許使用特殊字符來同時引用多個文件名,這些特殊字符被稱為通配符。
f
1.2.2輸出重定向命令
Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
如:ls > test.txt ( test.txt如果不存在,則創建,存在則覆蓋其內容)
注意:>輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
1.2.3分屏顯示:more
查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
ctrl+b返回上一屏
ctrl+f下一屏
1.2.4管道:|
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
1.2.5清屏:clear
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l”為字母)。
1.2.6切換工作目錄:cd
在使用Unix/Linux的時候,經常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。
注意:
·如果路徑是從根路徑開始的,則路徑的前面需要加上“ / ”,如“ /mnt ”,通常進入某個目錄里的文件夾,前面不用加“ / ”。
1.2.7顯示當前路徑:pwd
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數。
1.2.8創建目錄:mkdir
通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,并且目錄創建者必須對當前目錄具有寫權限。
1.2.9刪除目錄:rmdir
可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
-p遞歸刪除
1.2.10刪除文件:rm
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復。為了防止文件誤刪,可以在rm后使用-i參數以逐個確認要刪除的文件。
常用參數及含義如下表所示:
1.2.11建立鏈接文件:ln
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
ln源文件鏈接文件
ln -s源文件鏈接文件
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
1.2.12查看或者合并文件內容:cat
1.2.13文本搜索:grep
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
grep一般格式為:
grep [-選項] ‘搜索內容串’文件名
在grep命令中輸入字符串參數時,最好引號或雙引號括起來。例如:grep‘a ’1.txt。
常用選項說明:
grep搜索內容串可以是正則表達式。
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。
grep常用正則表達式:
1.2.14查找文件:find
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
1.2.15拷貝文件:cp
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。
常用選項說明:
1.2.16移動文件:mv
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
1.2.17歸檔管理:tar
計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
tar使用格式tar [參數]打包文件名文件
tar命令很特殊,其參數前面可以使用“-”,也可以不使用。
常用參數:
注意:除了f需要放在參數的最后,其它參數的順序任意。
1.2.18文件壓縮解壓:gzip
tar與gzip命令結合使用實現文件打包、壓縮。tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip[選項]被壓縮文件
常用選項:
s
tar這個命令并沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項(-z)可以調用gzip實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar cvzf壓縮包包名文件1文件2 ...
-z:指定壓縮包的格式為:file.tar.gz
解壓用法:tar
zxvf壓縮包包名
-z:指定壓縮包的格式為:file.tar.gz
解壓到指定目錄:-C(大寫字母“C”)
1.2.19文件壓縮解壓:bzip2
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar -jcvf壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf壓縮包包名(tar jxvf bk.tar.bz2)
1.2.20文件壓縮解壓:zip、unzip
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip [-r]目標文件(沒有擴展名)源文件
解壓文件:unzip -d解壓后目錄文件 壓縮文件
1.2.21查看命令位置:which
1.3Linux命令-用戶、權限管理
用戶是Unix/Linux系統工作中重要的一環,用戶管理包括用戶與組賬號的管理。
在Unix/Linux系統中,不論是由本機或是遠程登錄系統,每個系統都必須擁有一個賬號,并且對于不同的系統資源擁有不同的使用權限。
Unix/Linux系統中的root賬號通常用于系統的維護和管理,它對Unix/Linux操作系統的所有部分具有不受限制的訪問權限。
在Unix/Linux安裝的過程中,系統會自動創建許多用戶賬號,而這些默認的用戶就稱為“標準用戶”。
在大多數版本的Unix/Linux中,都不推薦直接使用root賬號登錄系統。
1.3.1查看當前用戶:whoami
whoami該命令用戶查看當前系統當前賬號的用戶名。可通過cat /etc/passwd查看系統用戶信息。
由于系統管理員通常需要使用多種身份登錄系統,例如通常使用普通用戶登錄系統,然后再以su命令切換到root身份對傳統進行管理。這時候就可以使用whoami來查看當前用戶的身份。
1.3.2查看登錄用戶:who
who命令用于查看當前所有登錄系統的用戶信息。
常用選項:
1.3.3退出登錄賬戶:exit
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
1.3.4添加用戶賬號:useradd
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:useradd [參數]新建用戶賬號
相關說明:
·Linux每個用戶都要有一個主目錄,主目錄就是第一次登陸系統,用戶的默認當前目錄(/home/用戶);
·每一個用戶必須有一個主目錄,所以用useradd創建用戶的時候,一定給用戶指定一個主目錄;
·用戶的主目錄一般要放到根目錄的home目錄下,用戶的主目錄和用戶名是相同的;
·如果創建用戶的時候,不指定組名,那么系統會自動創建一個和用戶名一樣的組名。
1.3.5設置用戶密碼:passwd
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
1.3.6刪除用戶:userdel
1.3.7切換用戶:su
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換后的用戶主目錄:
注意:如果是ubuntu平臺,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺下允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,減少了root用戶的登陸和管理時間,提高了安全性。
Ubuntu下切換到root的簡單命令:
1.3.8查看有哪些用戶組
方法一:
cat /etc/group
方法二:
groupmod
+三次tab鍵
1.3.9添加、刪除組賬號:groupadd、groupdel
groupadd新建組賬號groupdel組賬號cat /etc/group查看用戶組
1.3.10修改用戶所在組:usermod
使用方法:usermod -g用戶組用戶名
1.3.11查看用戶在哪些組
1.3.12為創建的普通用戶添加sudo權限
新創建的用戶,默認不能sudo,需要進行一下操作
sudo usermod -a -G sudo用戶名
1.3.13usermod -g與-G的區別
-g用來制定這個用戶默認的用戶組
-G一般配合'-a'來完成向其它組添加
1.3.14修改文件權限:chmod
chmod修改文件權限有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx文件
注意:如果想遞歸所有目錄加上相同權限,需要加上參數“ -R ”。如:chmod 777 test/ -R遞歸test目錄下所有文件加777權限
1.3.15修改文件所有者:chown
1.3.16修改文件所屬組:chgrp
1.4Linux命令-系統管理
1.4.1查看當前日歷:cal
cal命令用于查看當前日歷,-y顯示整年日歷:
1.4.2顯示或設置時間:date
設置時間格式(需要管理員權限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時,ss為秒。如:date 010203042016.55。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
1.4.3查看進程信息:ps
進程是一個具有一定獨立功能的程序,它是操作系統動態執行的基本單元。
ps命令可以查看進程的詳細狀況,常用選項(選項可以不加“-”)如下:
1.4.4動態顯示進程:top
top命令用來動態顯示運行中的進程。top命令能夠在運行后,在指定的時間間隔更新顯示信息。可以在使用top命令時加上-d來指定顯示信息更新的時間間隔。
在top命令執行后,可以按下按鍵得到對顯示的結果進行排序:
1.4.5終止進程:kill
kill命令指定進程號的進程,需要配合ps使用。
使用格式:
kill [-signal] pid
信號值從0到15,其中9為絕對終止,可以處理一般信號無法終止的進程。
kill 9133:9133為應用程序所對應的進程號
有些進程不能直接殺死,這時候我們需要加一個參數“ -9 ”,“ -9 ”代表強制結束:
1.4.6關機重啟:reboot、shutdown、init
1.4.7檢測磁盤空間:df
df命令用于檢測文件系統的磁盤空間占用和空余情況,可以顯示所有文件系統對節點和磁盤塊的使用情況。
1.4.8檢測目錄所占磁盤空間:du
du命令用于統計目錄或文件所占磁盤空間的大小,該命令的執行結果與df類似,du更側重于磁盤的使用狀況。
du命令的使用格式如下:du [選項]目錄或文件名
1.4.9查看或配置網卡信息:ifconfig
如果,我們只是敲:ifconfig,它會顯示所有網卡的信息:
1.4.10測試遠程主機連通性:ping
1.5apt-get
在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因為他是Ubuntu通過新立得安裝軟件的常用工具命令。
本文列舉了常用的APT命令參數:
apt-cache search package搜索軟件包
apt-cache show package獲取包的相關信息,如說明、大小、版本等
sudo apt-get install package安裝包
sudo apt-get install package--reinstall重新安裝包
sudo apt-get -f install修復安裝
sudo apt-get remove package刪除包
sudo apt-get remove package --purge刪除包,包括配置文件等
sudo apt-get update更新源
sudo apt-get upgrade更新已安裝的包
sudo apt-get dist-upgrade升級系統
apt-cache depends package了解使用該包依賴那些包
apt-cache rdepends package查看該包被哪些包依賴
sudo apt-get build-dep package安裝相關的編譯環境
apt-get source package下載該包的源代碼
sudo apt-get clean && sudo apt-get
autoclean清理無用的包
sudo apt-get check檢查是否有損壞的依賴
1.6vim編輯器
1.6.1vi簡介
vi是“Visual interface”的簡稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制。Vi不是一個排版程序,它不象Word或WPS那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。vi沒有菜單,只有命令,且命令繁多。
Vi有三種基本工作模式:
+命令模式
+文本輸入模式
+末行模式。
1.6.2安裝
sudo apt-get update
sudo apt-get install vim
1.6.3命令行模式
任何時候,不管用戶處于何種模式,只要按一下ESC鍵,即可使Vi進入命令模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處于該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。
1.6.4文本輸入模式
在命令模式下輸入插入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。
1.6.5末行模式
末行模式也稱ex轉義模式。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完后,Vi自動回到命令模式。例如:
:set number顯示行號
:set nonumber去掉行號
:set encoding顯示編碼
:set encoding=utf-8設置編碼
如果要從命令模式轉換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。
1.6.6vim基礎操作
vim是從vi發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富
進入插入模式:
i:插入光標前一個字符
I:插入行首
a:插入光標后一個字符
A:插入行未
o:向下新開一行,插入行首
O:向上新開一行,插入行首
進入命令模式:
ESC:從插入模式或末行模式進入命令模式
移動光標:
h:左移
j:下移
k:上移
l:右移
M:光標移動到中間行
L:光標移動到屏幕最后一行行首
G:移動到指定行,行號G
w:向后一次移動一個字
b:向前一次移動一個字
{:按段移動,上移
}:按段移動,下移
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
gg:光標移動文件開頭
G:光標移動到文件末尾
刪除命令:
x:刪除光標后一個字符,相當于Del
X:刪除光標前一個字符,相當于Backspace
dd:刪除光標所在行,n dd刪除指定的行數D:刪除光標后本行所有內容,包含光標所在字符
d0:刪除光標前本行所有內容,不包含光標所在字符
dw:刪除光標開始位置的字,包含光標所在字符
撤銷命令:
u:一步一步撤銷
Ctrl+r:反撤銷
重復命令:
.:重復上一次操作的命令
文本行移動:
>>:文本行右移
<<:文本行左移
復制粘貼:
yy:復制當前行,n yy復制n行
p:在光標所在位置向下新開辟一行,粘貼
可視模式:
v:按字符移動,選中文本
V:按行移動,選中文本可視模式可以配合d, y, >>, <<實現對文本塊的刪除,復制,左右移動
替換操作:
r:替換當前字符
R:替換當前行光標后的字符
查找命令:
/: str查找
n:下一個
N:上一個
:set hls打開高亮
:set nohls關閉高亮
替換命令:
把abc全部替換成123
末行模式下,將光標所在行的abc替換成123
:%s/abc/123/g
末行模式下,將第一行至第10行之間的abc替換成123
:1, 10s/abc/123/g
vim里執行shell下命令:
末行模式里輸入!,后面跟命令
1.7安裝ssh
1、更新apt-get
sudo apt-get update
2、使用apt-get從網絡上下載并安裝sshserver
sudo apt-get install openssh-server
3、查看ssh進程,如果能查到說明安裝成功并啟動了
ps -e|grep ssh
???o?R??8-????U??