Linux常用命令總結(語法+案例)

2021-09-17 18:00:02

目錄

vi和vim

在這裡插入圖片描述
快捷鍵使用案例:
1)拷貝當前行yy ,拷貝當前行向下的5行5yy,並貼上(p)。
2)刪除當前行 dd ,刪除當前行向下的5行5dd
3)在檔案中查詢某個單詞[命令列下/關鍵字,回車查詢,輸入 n就是查詢下一個],
4)設定檔案的行號,取消檔案的行號.[命令列下: set nu和:set nonu]
5)檔案的最末行[G]和最首行[gg],注意這些都是在正常模式下執行的。
6)復原上一個動作,正常模式下輸入u
7)編輯/etc/profile檔案,並將遊標移動到第20行shift+g
第一步:顯示行號:set nu
第二步:輸入20這個數
第三步:輸入shift+g

開機、重新啟動、防火牆相關操作

  • shutdown
    shutdown -h now:表示立即關機
    shutdown -h 1:表示1分鐘後關機
    shutdown -r now:立即重新啟動
  • halt
    就是直接使用,效果等價於關機
  • reboot
    就是重新啟動系統。
    sync :把記憶體的資料同步到磁碟

注意: 當我們關機或者重新啟動時,都應該先執行以下sync指令,把記憶體的資料寫入磁碟,防止資料丟失。

防火牆:

檢視防火牆狀態
systemctl status firewalld
關閉防火牆
在這裡插入圖片描述

使用者管理

增添使用者

useradd [選項] 使用者名稱
在這裡插入圖片描述

當建立使用者成功後,會自動的建立和使用者同名的家目錄
也可以通過useradd -d 指定目錄新的使用者名稱,給新建立的使用者指定家目錄
在這裡插入圖片描述

給使用者指定或者修改密碼

基本語法
passwd 使用者名稱

刪除使用者

基本語法
userdel 使用者名稱

應用案例:
1)刪除使用者xm,但是要保留家目錄
在這裡插入圖片描述

2)刪除使用者xh 以及使用者主目錄
在這裡插入圖片描述

查詢使用者資訊

基本語法
id 使用者名稱
應用案例:
查詢root資訊
在這裡插入圖片描述

切換使用者

基本語法
su - 切換使用者名稱
細節說明:
1)從許可權高的使用者切換到許可權低的使用者,不需要輸入密碼,反之需要。
2)當需要返回到原來使用者時,使用exit 指令

使用者組

增加組

groupadd 組名

刪除組

groupdel 組名

增加使用者時直接指定組

useradd -g 使用者組 使用者名稱

修改使用者的組

usermod -g 使用者組 使用者名稱

幫助指令

man獲得幫助資訊

基本語法

man[命令或組態檔] (功能描述:獲得幫助資訊)

應用範例
在這裡插入圖片描述

help 指令

help 命令(功能描述:獲得shell內建命令的幫助資訊)

應用範例:
在這裡插入圖片描述

檔案目錄類

pwd 指令

pwd (功能描述:顯示當前工作目錄的絕對路徑)

在這裡插入圖片描述

ls指令

ls [選項] [目錄或是檔案]
常用選項
-a :顯示當前目錄所有的檔案和目錄,包括隱藏的。
-l :以列表的方式顯示資訊
在這裡插入圖片描述
在這裡插入圖片描述

cd指令

cd [引數] (功能描述:切換到指定目錄)

cd~或者cd :回到自己的家目錄
cd …回到當前目錄的上一級目錄
在這裡插入圖片描述
在這裡插入圖片描述

mkdir指令

mkdir 「選項] 要建立的目錄
常用選項
-p :建立多級目錄

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

rmdir指令(刪除目錄)

rmdir [選項] 要刪除的空目錄
在這裡插入圖片描述

touch指令(建立空檔案)

touch 檔名稱
在這裡插入圖片描述

cp指令(拷貝檔案到指定目錄)

cp [選項] source dest
常用選項
-r :遞迴複製整個資料夾
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
使用細節:
在這裡插入圖片描述

rm指令(移除【刪除】檔案或目錄)

rm [選項] 要冊除的檔案或目錄
常用選項:
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

mv指令(移動檔案與目錄或重新命名)

基本語法:

mv oldNameFile newNameFile (功能描述:重新命名)
mv /temp/movefile /targetFolder (功能描述:移動檔案)

在這裡插入圖片描述
案例2:將/home/pig.txt檔案移動到/root目錄下
在這裡插入圖片描述

cat指令(檢視檔案內容,是以唯讀的方式開啟)

cat [選項] 要檢視的檔案

在這裡插入圖片描述
在這裡插入圖片描述

more指令

more指令是一個基於VI編輯器的文字過濾器,它以全螢幕幕的方式按頁顯示文字檔案的內容。more指令中內建了若干快捷鍵,詳見操作說明

基本語法:
more要檢視的檔案

應用範例:
在這裡插入圖片描述
在這裡插入圖片描述

less指令

less指令用來分屏檢視檔案內容,它的功能與more指令類似,但是比more指令更加強大,支援各種顯示終端。less 指令在顯示檔案內容時,並不是一次將整個檔案載入之後才顯示,而是根據顯示需要載入內容,對於顯示大型檔案具有較高的效率

基本語法:
less 要檢視的檔案
在這裡插入圖片描述
快捷鍵
在這裡插入圖片描述

時間日期類

date指令-顯示當前日期

基本語法
1 ) date (功能描述:顯示當前時間)
2) date +%Y (功能描述:顯示當前年份)
3) date +%m (功能描述:顯示當前月份)
4) date +%d (功能描述:顯示當前是哪一天)
5) date 「+%Y-%m-%d %H:%M:%S」(功能描述:顯示年月日時分秒)

date指令-設定日期

date -s 字串時間

案例:
在這裡插入圖片描述

cal指令(檢視日曆指令)

cal [選項] (功能描述:不加選項,顯示本月日曆)在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

搜尋查詢類

find 指令

find指令將從指定目錄向下遞迴地遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端。
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

grep指令和 管道符號 │

在這裡插入圖片描述
案例1:請在 hello.txt檔案中,查詢"yes"所在行,並且顯示行號
在這裡插入圖片描述

壓縮和解壓類

gzip/gunzip指令

基本語法
在這裡插入圖片描述
在這裡插入圖片描述
案例2: gunzip壓縮,將 /home下的 hello.txt.gz檔案進行解壓縮在這裡插入圖片描述
在這裡插入圖片描述

zip/unzip指令

zip 用於壓縮檔案,unzip用於解壓的,這個在專案打包釋出中很有用的
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

tar指令

在這裡插入圖片描述
在這裡插入圖片描述
案例2:將/home的資料夾壓縮成myhome.tar.gz
在這裡插入圖片描述
在這裡插入圖片描述
指定解壓到的那個目錄,事先要存在才能成功,否則會報錯。

組管理和許可權管理

Linux 組基本介紹

在這裡插入圖片描述
在這裡插入圖片描述

檔案/目錄所有者

一般為檔案的建立者,誰建立了該檔案,就自然的成為該檔案的所有者。

檢視檔案的所有者

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

修改檔案所有者

在這裡插入圖片描述
在這裡插入圖片描述

組的建立

groupadd 組名

應用案例

建立一個組, ,monster
建立一個使用者fox ,並放入到monster組中
在這裡插入圖片描述

改變使用者所在組

在新增使用者時,可以指定將該使用者新增到哪個組中,同樣的用root 的管理許可權可以改變某個使用者所在的組。

在這裡插入圖片描述
應用案例
在這裡插入圖片描述

許可權的基本介紹

在這裡插入圖片描述
在這裡插入圖片描述

rwx許可權詳解

rwx作用到檔案

1)[ r ]代表可讀(read):可以讀取,檢視
2) [ w]代表可寫(write):可以修改,但是不代表可以刪除該檔案,刪除一個檔案的前提條件是對該檔案所在的目錄有寫許可權,才能刪除該檔案.
3)[x ]代表可執行(execute):可以被執行

rwx作用到目錄

1)[ r]代表可讀(read):可以讀取,ls檢視目錄內容
2)[ w]代表可寫(write):可以修改,目錄內建立+刪除+重新命名目錄
3)[ x ]代表可執行(execute):可以進入該目錄

檔案及目錄許可權實際案例

在這裡插入圖片描述
在這裡插入圖片描述
可用數位表示為: r=4,w=2,x=1因此rwx=4+2+1=7
l 檔案:硬連線數或目錄:子目錄數
root 使用者
root 組
1213 檔案大小(位元組),如果是資料夾,顯示 4096位元組
Feb 2 09:39 最後修改日期
abc 檔名

修改許可權-chmod

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
3)給abc檔案的所有使用者新增讀的許可權
在這裡插入圖片描述

第二種方式:通過數位變更許可權

在這裡插入圖片描述
在這裡插入圖片描述

修改檔案所有者-chown

chown newowner file改變檔案的所有者

chown newowner: newgroupfile改變使用者的所有者和所有組

-R如果是目錄則使其下所有子檔案或目錄遞迴生效

案例演示
1)請將 /home/abc .txt檔案的所有者修改成tom

在這裡插入圖片描述
在這裡插入圖片描述

修改檔案所在組-chgrp

在這裡插入圖片描述
案例演示:
在這裡插入圖片描述

crond任務排程

在這裡插入圖片描述
在這裡插入圖片描述
crontab 進行定時任務的設定

任務排程:是指系統在某個時間執行的特定的命令或程式。

任務排程分類:

1.系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等

2.個別使用者工作:個別使用者可能希望執行某些程式,比如對mysql資料庫的備份。

在這裡插入圖片描述

在這裡插入圖片描述

快速入門

任務的要求:

設定任務排程檔案:/etc/crontab

設定個人任務排程。執行crontab -e命令。

接著輸入任務到排程檔案

如:/1***ls -l/etc/ >/tmp/to.txt
意思說每小時的每分鐘執行ls - l /etc/ > /tmp/to.txt命令

步驟如下:

1 ) crontab -e
2) /1***ls -l/etc >>/tmp/to.txt
3)當儲存退出後就程式。
4)在每一分鐘都會自動的呼叫ls -l /etc >>/tmp/to.txt

引數細節說明

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

任務排程的幾個應用範例

案例1:每隔Ⅰ分鐘,就將當前的日期資訊,追加到/tmp/mydate檔案中

在這裡插入圖片描述

案例2:每隔1分鐘,將當前日期和日曆都追加到/home/mycal檔案中

1)先編寫一個檔案/home/mytask2.sh
date >>/tmp/mycal
cal >>/tmp/mycal
2)給mytask1.sh 一個可以執行許可權
chmod 744 /home/mytask2.sh
3 ) crontab -e
4)/1***/home/mytask2.sh
5)成功

案例3:每天凌晨2:00將mysql資料庫testdb ,備份到檔案中mydb.bak
在這裡插入圖片描述
在這裡插入圖片描述

RPM和YUM

rpm包的管理

一種用於網際網路下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴充套件名的檔案。RPM是 RedHat Package Manager(RedHat 軟體包管理工具)的縮寫,類似 windows的setup.exe,這一檔案格式名稱雖然打上了RedHat 的標誌,但理念是通用的.

Linux的分發版本都有采用(suse,redhat, centos等等),可以算是公認的行業標準了。

rpm包的簡單查詢指令

查詢已安裝的rpm列表rpm-qalgrep xx
請查詢看一下,當前的Linux有沒有安裝firefox
在這裡插入圖片描述

rpm包名基本格式

在這裡插入圖片描述
在這裡插入圖片描述

rpm包的其它查詢指令

rpm -qa :查詢所安裝的所有rpm軟體包

rpm -qa | more[分頁顯示]

rpm -qa l grep X [rpm -qa | grep firefox ]
在這裡插入圖片描述
rpm -q軟體包名:查詢軟體包是否安裝
rpm -q firefox

rpm -qi軟體包名:查詢軟體包資訊
在這裡插入圖片描述
rpm -qi file

rpm -ql 軟體包名:查詢軟體包中的檔案
rpm -ql firefox

在這裡插入圖片描述
在這裡插入圖片描述

解除安裝rpm包在這裡插入圖片描述

細節問題

1)如果其它軟體包依賴於您要解除安裝的軟體包,解除安裝時則會產生錯誤資訊。
如: $ rpm -e foo

removing these packages would break dependencies:foo is needed by bar-1.0-1

2)如果我們就是要刪除 foo這個rpm包,可以增加引數 --nodeps ,就可以強制刪除,但是一般不推薦這樣做,因為依賴於該軟體包的程式可能無法執行

如: $ rpm -e --nodeps foo
帶上 --nodeps就是強制刪除。

安裝rpm包

rpm -ivh RPM包全路徑名稱

在這裡插入圖片描述
在這裡插入圖片描述

yum

Yum是一個Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包。使用yum的前提是可以聯網。
在這裡插入圖片描述

yum的基本指令

  • 查詢yum伺服器是否有需要安裝的軟體
    yum listlgrep xx軟體列表
  • 安裝指定的yum包
    yum install xxx下載安裝

應用案例

在這裡插入圖片描述
在這裡插入圖片描述