Linux常用命令

賬戶:root

密碼:admin

192.168.1.101

1、linux簡介:一種開源的、免費的操作系統,安裝在計算機硬件上、用來管理計算機的硬件和軟件資源的系統軟件。

? ? ? ? ? ? ? linux注重安全性、穩定性、高并發處理能力,沒有優異的可視化界面

? ? ? windows用于個人計算機上,linux用于企業服務器上。

2、linux的發行版本:linus在1991年開發,linux的內核程序,后來很多軟件開發組織以及軟件公司在內核程序基礎之上,陸續推出很多不同版本的linux操作系統:Ubuntu(烏班圖)、RedHat(紅帽)、CentOS

3、安裝linux操作系統:

? 1)、虛擬機:可以用軟件模擬出一套具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。

? ? ? 安裝虛擬機:

? 2)、安裝linux: linux的鏡像

? ? ? 可視化界面比較單薄,很少使用;使用linux多數都是基于終端命令使用linux指令操作計算機。

4、linux的目錄結構:

? 1)、linux只有一個根目錄。/? 進入根目錄命令cd /

? 2)、層級式的目錄結構:

? ? ? bin ->usr/bin:系統的可執行文件,可以在任何目錄下執行

? ? ? usr/local/bin:用戶自己的可執行文件,可以在任何目錄下執行

? ? ? etc:存放配置文件。配置環境變量(/etc/profile)。

? ? ? home:每一個用戶的根目錄,用來保存用戶私人的數據,默認情況下,目錄名和自己的用戶名相同。

? ? ? opt:存放額外安裝的軟件。相當于windows系統的中Program files目錄。

5、linux的遠程操作:

? ? 1)、Xshell:linux的終端模擬軟件。

? ? ? ? 安裝并破解:解壓、破解(運行兩個.bat文件)、啟動(Xshell)

連接遠程linux系統:創建會話:

? ? ? ? ? ? 查看linux系統的ip地址:ifconfig? (進入根目錄cd /然后

? ? 2)、Xftp:文件傳輸軟件。

? ? ? ? 安裝并破解:解壓、破解(運行兩個.bat文件)、啟動(Xftp)

連接遠程linux系統:創建會話:

? ? ? ? ? ? 查看linux系統的ip地址:ifconfig

6、vi和vim:是linux中的文本編輯器,用來在linux中創建、查看或者編輯文本文件,就好像windows中的記事本一樣。

? ? ? ? vim是vi的增強版本,vi的絕大多數用法在vim都適用。

vi和vim的使用:三種模式

? ? 創建文本:vim test.txt,文件如果存在則打開,不存在則創建

? ? 一般模式:用vi或者vim命令打開文件(vim test.txt),進入了一般模式;

? ? ? ? ? ? ? 可以查看文件的內容,并且可以通過上下左右鍵移動光標,查看文件某一部分;但是不能編輯文件內容。

? 退出一般模式按shift+:在輸入q

? ? ? ? 編輯模式:在一般模式下,按i鍵或者a鍵,進入編輯模式;

? ? ? ? ? ? ? 可以編輯文件內容;但是不能保存編輯的內容;按Esc鍵,可以回到一般模式。

? ? ? ? 命令行模式:在一般模式下進入命令行模式,需要進入一般模式后在進入命令行模式才能進行能保存,

按shift+:,進入命令行模式,然后輸入:q!-----不保存強制退出編輯器

? ? wq-----保存并且退出編輯器

q------只是退出編輯器

vi和vim編輯器的快捷鍵:

? 1)復制當前行:在一般模式下,按yy,把光標所在行復制到剪切板

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 按p,把剪切板中的內容粘貼到光標所在的下一行。

? 2)復制當前行往下5行:在一般模式下,按5yy,把光標所在行往下5行復制到剪切板

按p,把剪切板中的內容粘貼到光標所在的下一行。

? ? ? 3)在文本文件中查找關鍵字:在命令行模式下,輸入/關鍵字,回車

? ? ? ? ? ? ? ? ? ? ? ? 按n表示光標查找下一個關鍵字

? ? ? 4)刪除光標所在的當前行:在一般模式下,按dd,刪除光標所在的當前行

? 5)刪除光標所在的行往下5行:在一般模式下,按5dd

? 6)撤銷上次編輯的內容:在一般模式下,按u

? 7)顯示行號:命令行模式下,設置文件的行號,取消文件的行號.[命令行下(: set nu) 和(:set nonu)]


7、linux中的用戶管理:

? 1)、任何使用linux的系統資源的用戶,必須使用一個合法的賬號和密碼,賬號和密碼一般都是向系統管理員申請。

? ? ? root是linux系統安裝時默認創建的系統管理員賬號,由root創建普通賬號。

? 2)、添加用戶:useradd 用戶名?

例如useradd lisi-----表示創建用戶lisi,在根目錄的home目錄下即/home目錄下創建用的根目錄,目錄名稱默認跟用戶名相同

? |->在linux中任何一個用戶都至少屬于一個組,新建用戶時如果不指定組,則會新建一個組,組名跟用戶名相同,并且把該用戶添加到該組中。

? ? ? useradd -d /home/ww wangwu? 創建用戶的同時,指定用戶的根目錄

? ? 3)、給用戶設置密碼:passwd 用戶名

例如 passwd lisi回車后即可輸入密碼-----*密碼要滿足一定的復雜度

? ? 4)、刪除用戶:userdel 用戶名

? ? ? userdel lisi

? ? ? userdel -r lisi 刪除用戶的同時級聯刪除它的主目錄

? ? 5)、查看用戶信息:id 用戶名

? ? ? id zhangsan

? ? 6)、切換用戶:su 用戶名

? ? ? su zhangsan

? ? ? *從權限高的用戶切換權限低的用戶,不需要密碼驗證;

? ? ? ? 從權限低的用戶切換到權限高的用戶,必須密碼驗證。

8、linux中的組管理:

? ? 1)、linux中的組相當于角色的概念,可以對有共性的用戶進行統一管理;

? ? ? ? 每一個用戶至少屬于一個組,不能獨立于組存在,也可以屬于多個組;

新建用戶時如果不指定組,則會新建一個組,組名跟用戶名相同,并且把該用戶添加到該組中。

? ? 2)、添加組:groupadd 組名

? ? ? ? groupadd dev

? ? 3)、刪除組:groupdel 組名

? ? ? ? groupdel dev

? ? 4)、把用戶添加到組中:gpasswd -a 用戶名 組名

? ? ? ? gpasswd -a zhangsan dev

? ? 5)、把用戶從組中移除:gpasswd -d 用戶名 組名

? ? ? ? gpasswd -d zhangsan dev

? ? *6)、添加用戶時,指定所屬的組(主組):useradd -g 組名 用戶名

? ? ? ? useradd -g dev lisi

9、linux中的系統操作命令:

? ? 關機:shutdown now? 立即關機

? ? ? ? ? shutdown -h xxx? 定時關機

? shutdown -r now? 立即重啟

? 重啟:reboot? 立即重啟

? 同步數據庫:sync

10、linux中的幫助命令:

? 1)、用來查看linux系統手冊上的幫助信息:man 命令

? ? ? man ls

? ? ? 分屏顯示、按回車翻一行、按空格翻一頁、按q退出查看。

? 2)、用來查看命名的內置幫助信息:help 命令

? ? ? help cd

11、linux中的文件和目錄操作的命令:

? 1)、查看當前所在目錄:pwd

? ? ? pwd

? 2)、查看指定目錄下所有的子目錄和文件列表:ls [指定目錄]

? ? ? ls /home

? ? ? ls 查看當前目錄下所有的子目錄和文件列表

? 查看方式

? ? ? ls -l /home :以列表形式顯示

? ? ? ls -a /home:顯示指定目錄下所有的子目錄和文件(包括虛擬的目錄)

? ? ? ls -al /home:以列表形式顯示指定目錄下所有的子目錄和文件(包括虛擬的目錄)

? ? 3)、切換目錄:cd 目錄名

? ? ? ? ? ? ? ? ? ? ? ? |->絕對目錄:以盤符開始的目錄叫絕對目錄,從盤符開始查找目標目錄

? ? ? ? ? ? cd /opt/testDir

~:當前用戶的根目錄。在任何目錄下執行:cd ~,進入當前用戶的根目錄。

|->相對目錄:以目錄名開始的目錄叫相對目錄,從當前目錄開始查找目標目錄

? ? ? ? ? ? cd testDir

..:當前目錄的上一級目錄,從的當前目錄開始查找它的上一級目錄。 例如cd ..

.:當前目錄

xxx.sh====>./xxx.sh

? ? 4)創建目錄:mkdir 目錄名

mkdir /opt/testDir/test1? ? ? ? ? ? 在/opt/testDir目錄下創建一個目錄test1(使用絕對目錄)

mkdir test2? ? ? ? ? ? ? ? ? 在/opt/testDir目錄下創建一個目錄test2(使用相對目錄)

mkdir -p /opt/testDir/test3/test4? 在/opt/testDir目錄下創建目錄test3,并且在test3下創建test4(一次創建多級目錄)

? ? 5)、刪除一個空目錄:rmdir 目錄名

? ? ? ? ? ? ? ? rmdir test1

? ? 6)、創建一個或者多個空文件:touch 文件名列表(文件名之間用空格隔開)

? ? ? ? ? ? ? ? touch t1.txt

? ? ? ? ? ? ? ? touch t2.txt t3.txt t4.txt

? ? 7)、復制文件或者目錄:cp [選項] source(源) dest(目標)

? ? ? ? ? ? ? ? cp t1.txt test2? ? ? ? ? ? //把t1.txt文件復制到test2目錄中

? ? ? ? cp -r test2 test5? ? ? ? ? //把test2目錄復制到test5目錄中(遞歸地復制目錄)

? ? 8)、刪除文件或者目錄:rm 文件名或者目錄名

? ? ? ? ? ? ? ? rm t1.txt? 提示刪除文件

rm -f t2.txt? 強制刪除文件

rm -r test2? 提示遞歸刪除目錄

rm -rf test5? 強制遞歸刪除目錄

? ? 9)、移動(剪切)目錄或者文件:mv source(源) dest(目標)

? ? ? ? ? ? ? ? mv test.txt test1? ? 文件到文件夾

mv test1 test2 文件夾到文件夾

mv t3.txt t3_new.txt? ? 文件重命名

*如果目標中已經存在該文件或者目錄,則會提示是否覆蓋。

? ? 10)、查看文件內容:cat 文件名

? ? ? ? ? ? ? ? 文件內容一次性顯示出來。

? ? ? ? ? ? ? ? cat t4.txt

cat -n t4.txt? 顯示行號

? ? 11)、分頁查看文件文件內容:more 文件名? 一次性加載文件所有內容到內存,分頁顯示

? ? ? ? ? ? ? ? 按回車翻一行、按空格翻一頁

? ? ? ? ? ? ? ? more t4.txt

? ? 12)、分頁查看文件文件內容:less 文件名 分頁加載文件所有內容到內存,分頁顯示

? ? ? ? ? ? ? ? less t4.txt

按回車翻一行、按空格翻一頁,按q退出查看

? ? 13)、查看文件的頭10行:head [選項] 文件名

? ? ? ? ? ? ? ? head t4.txt

? ? ? ? ? ? ? ? head -n 5 t4.txt

? ? 14)、查看文件的后10行:tail [選項] 文件名

? ? ? ? ? ? ? tail t4.txt

? ? ? tail -n 5 t4.txt

11、linux中的文件和目錄操作的命令:

? ? 15)、echo:輸出系統變量或者常量的值到命令行終端。

echo $JAVA_HOME 輸出環境變量

echo $PATH

echo Hello World!? 輸出命令行

windows配置環境變量 JAVA_HOME=D:\DPFS\Java\jdk1.8.0_101

PATH=%JAVA_HOME%\bin;.......

CLASSPATH=%JAVA_HOME%\lib;.

? ? 16)把前一個查看命令的結果輸出到指定的文件中: 查看命令 > 文件名

? ? ? ? ? ? *如果目標文件不存在,則新建一個文件

*如果目標文件已存在,則把文件以前的內容覆蓋

? ? ? ? ls > ret.txt

? ? ? ? ls -al > ret.txt

cat ret.txt > t3_new.txt 文件內容的復制

cat t4.txt > t3_new.txt

? ? 17)把前一個查看命令的結果追加輸出到指定的文件中:查看命令 >> 文件名

? ? ? ? *如果目標文件不存在,則新建一個文件

*如果目標文件已存在,則在文件原來內容的基礎上進行追加

ls > ret.txt

ls -al >> ret.txt

cat t4.txt >> ret.txt

12、linux中關于日期和時間的操作命令:

? ? 1)、查看或者設置系統的日期或者時間:date

? ? ? date 查看系統當前的完整的日期和時間

? ? ? date +%Y? 系統當前的年份

? ? ? date +%m? 系統當前的月份

? ? ? date +%d? 系統當前的日期

? ? ? date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH:mm:ss格式顯示

? ? ? date -S '2020-10-20 10:20:30' 設置當前的系統時間

? ? 2)、查看系統日歷:cal

? ? ? cal:查看當前月份的日歷

? ? ? cal 2020:查看指定年份的日歷

13、linux中關于搜索文件或者目錄的命令:

? ? 1)find [搜索范圍][搜索標準] 關鍵字

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |->-name:默認按名稱搜索(文件或者目錄所在的路徑也在搜索范圍之內)

? ? |->-size:按文件大小搜索

? ? |->-user:按文件的所有者搜索

? ? find *.txt? 搜索當前目錄下,所有的.txt文件

? ? find *e*? 搜索當前目錄下,所有名稱中包含e的那些文件或者目錄

? ? find /etc *.txt? 搜索/etc目錄下所有.txt文件

? ? find /etc -size -5k? 搜索/etc目錄下所有小于5k的文件

? ? find /etc -user zhangsan? 搜索/etc目錄下所有的所有者是zhangsan的文件和目錄

? ? 2)locate:在整棵目錄樹中搜索文件或者目錄,都是根據名稱搜索,效率高。

? ? ? updatedb

? ? ? locate 關鍵字

? ? ? updatedb

? ? ? locate *.txt

? ? 3)搜索過濾命令,在前一個搜索命令的結果中進行按名稱進一步過濾:搜索命令 |grep [選項] 過濾條件

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看命令 |grep [選項] 過濾條件

? ? ? find *.txt|grep new? 搜索當前目錄下,所有名稱包含new的.txt文件

? ? ? find /etc -size -5k|grep firefox

? ? ? cat t1.txt|grep beijing

? ? ? cat t1.txt|grep -ni beijing

? ? ? ls -al|grep new


14、linux中有關壓縮和解壓的命令:

? ? 1)、壓縮或者解壓單個文件:gzip 文件名:壓縮單個文件,生成一個.gz的壓縮包,并且會把原來的文件刪除。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? gunzip .gz壓縮包名:解壓.gz壓縮包,并且會把原來的.gz壓縮包刪除。

? 例如 gzip ret.txt

gunzip ret.txt.gz

? ? 2)、壓縮(打包)或者解壓多個文件和目錄:zip 目標壓縮包名稱(通常使用.zip壓縮包) 文件或者目錄列表:

? unzip 壓縮包名(.zip) -d 解壓目錄名:將指定的.zip壓縮包解壓到當前目錄(或者指定目錄)。

zip test.zip ret.txt t1.txt test2? 將ret.txt t1.txt test2打包成test.zip

unzip test.zip -d test3 將test.zip解壓到test3

? ? 3)、壓縮(打包)或者解壓多個文件和目錄:tar [選項] 目標壓縮包名稱(xxx.tar.gz) 文件或者目錄列表

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |->c:打包或者壓縮

? ? ? ? ? tar [選項] 壓縮包名(xxx.tar.gz) -C 解壓目錄名:將指定的.tar.gz壓縮包解壓到當期目錄(或者指定目錄)

|->x: 解壓


? tar -zcvf xxx.tar.gz 文件或者目錄列表

? tar -zxvf xxx.tar.gz -C 解壓目錄名

tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2

tar -zxvf mytar.tar.gz -C /opt/testDir/test5

15、文件或者目錄與組:

? ? 1)文件或者目錄與組基本介紹:

? ? ? 在linux中,每一個用戶都至少屬于一個組,用戶不能獨立于組存在,一個用戶可以屬于多個組。

? ? ? 在linux中,每一個文件或者目錄也必須屬于一個組,而且只能屬于一個組,默認情況下,文件所有者所屬的主組就是文件所屬的組;

? ? ? 文件或者目錄通過組來控制哪些用戶可以對它進行哪些操作,即文件或者目錄的訪問權限;

? ? ? 在文件或者目錄看來,linux系統中所有的用戶分為三類:

? ? ? ? 所有者:默認情況下,文件或者目錄的所有者都是創建者,可以修改

? ? ? ? 同組用戶:跟文件或者目錄屬于同一個組的用戶

? ? ? ? 其它組用戶:既不是文件或者目錄的所有者,也不是同組用戶

? ? 2)查看文件的所有者和所在的組:

? ? ? ls -l

? ? 3)、修改文件或者目錄的所有者:chown 新的所有者 文件名或者目錄名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? chown 新的所有者:新的組 文件名或者目錄名

? ? ? chown zhangsan t1.txt

? ? ? chown -R zhangsan test3

? ? ? chown zhangsan:dev t4.txt

? ? ? chown zhangsan:dev test2

? ? ? chown -R zhangsan:dev test2 遞歸修改目錄的所有者和所在的組

? ? 4)、修改文件或者目錄的所在組:chgrp 新的組 文件名或者目錄名

? ? ? chgrp dev t2.txt

? ? ? chgrp -R dev test3

16、Linux中文件或者目錄的權限管理:

? ? 1)準備工作:

? ? ? 一個用戶至少屬于一個組,也可以屬于多個組;

? ? ? 一個文件或者目錄也必須屬于一個,并且只能屬于一個組;

? ? 在一個文件或者目錄看來,linux系統中所有的用戶可以分為三類:

? ? ? ? 所有者:

同組用戶:

其它組用戶:

? ? 2)、文件或者目錄的三種權限:

? ? ? ? 在linux中,任何文件或者目錄都有三種權限:讀(Read)、寫(Write)、執行(Execute)

? ? ? ? ? 對于文件而言:

? ? ? 讀:可以讀取、查看文件的內容, 比如:cat、more、less、head、tail等。

? ? ? 寫:可以修改文件的內容,比如:vi或者vim等

? ? ? 執行:如果該文件是可執行文件(.sh),可以直接運行,比如:./xxx.sh。

? 對于目錄而言:

? ? ? 讀:可以讀取、查看目錄下邊的內容,比如:ls等

? ? ? 寫:可以修改目錄中的內容,創建子目錄、刪除子目錄、創建文件、刪除文件、重名文件或者目錄

? ? ? 執行:可以進入該目錄, 比如:cd等。

? ? 3)、文件或者目錄的權限控制:

? ? ? ? 在linux中,任何一個文件或者目錄都有三部分權限:所有者權限、同組用戶權限、其它組用戶權限。

? ? ? 第一部分權限:所有者權限,文件或者目錄的所有者對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。比如:rwx:擁有讀寫執行的權限,r-x:擁有讀和執行的權限,r--:只擁有讀的權限,---:沒有任何權限。

? ? ? 第二部分權限:同組用戶權限,文件或者目錄的同組用戶對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。

? ? ? 第三部分權限:其它組用戶權限,文件或者目錄的其它組用戶對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。

? ? 4)、查看文件或者目錄的權限:

? ? ? ls -aul

? ? 5)、修改文件或者目錄的權限:chmod

? ? ? ? ? ? ? 用r、w、x分辨表示讀、寫、執行的權限,

? ? ? 用u、g、o、a分別表示給所有者、同組用戶、其它組用戶、所有用戶修改權限

? ? ? 用+、-、=分別表示給指定的用戶增加、減少、設置對應的權限

? ? ? chmod g-w,o+w t5.txt

? ? ? ? ? ? ? chmod g=rwx t5.txt

? ? ? chmod a-r t5.txt

? ? 6)、使用數字的方式修改文件或者目錄的權限:

? ? ? ? ? ? ? 每一個權限可以用一個數字來表示:

? ? ? ? ? ? r、w、x

? ? 4、2、1

? ? 2^2 2^1 2^0

? ? ? 每一個文件或者目錄都有三部分權限,每一部分權限都可以用一組數據之和來表示,三部分權限就是一組三個數據序列:

? ? ? ? ? ? rw- r-x r-x

? ? 6? ? 5? 5

? ? ? ? ? ? ? ? ? ? rwx r-x -wx

? ? 753:

? ? rwxrwxrwx

? ? ? ? ? 777:

? ? ? ? ? ? ? chmod 777 t5.txt

? ? ? chmod 753 t5.txt

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容