­

Linux.常用命令

  • 2020 年 9 月 13 日
  • 筆記

 

幫助命令

 

man [命令或者配置文件] :通過man指令可以查看Linux中的指令幫助、配置文件幫助等等

help 【參數】:該命令是bash內建命令,用於顯示bash內建命令的幫助資訊

help -s cd :僅輸出內建命令的命令格式

which [命令]:如果沒有路徑就是shell內置命令

 

常用快捷鍵

 

ctrl + c                      停止進程

ctrl+l                     清屏

reset                   徹底清屏

ctrl + q                    退出

善於用tab鍵     提示,補全(更重要的是可以防止敲錯)

上下鍵                      查找執行過的命令

ctrl +alt            linux和Windows之間切換

 

文件目錄類操作

 

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

 ls           功能描述:用來顯示目錄列表

ls  -a   [目錄]:  顯示包含隱藏文件(文件以”.”開頭的所有文

ls  -A  [目錄]: 顯示除隱藏文件”.”和”..”以外的所有文件列表

ls  -l    [目錄]:  長數據串列出,包含文件的屬性與許可權等等數據;(常用)

ls  -C  [目錄]:  多列顯示輸出結果,默認

ls  -R  [目錄]:  遞歸顯示目錄下的所有文件列表和子目錄列表

ls  -s   [目錄]:    以塊(1塊=1024位元組)為單位顯示文件的大小

cd           功能描述:將當前工作目錄切換到指定目錄

cd 絕對路徑   切換路徑

cd 相對路徑    切換路徑

cd ~ 或者cd    回到自己家的目錄

cd –                回到上一次所在目錄

cd ..           回到當前目錄的上一級目錄

cd -P               跳轉到實際物理路徑,而非快捷方式路徑

mkdir         創建新目錄

mkdir  -p [目錄]   創建多層目錄

舉例:

(1) 在home目錄下創建school文件夾,並在該問價夾下創建class23子文件夾,並顯示創建過程

[root@Linux2 home]# mkdir -pv  /school/class23

mkdir: 已創建目錄 “/school”

mkdir: 已創建目錄 “/school/class23”

(2)在home目錄下的school文件夾下創建連續目錄class1~5

[root@Linux2 home]# mkdir -p /school/class{1..5}

mkdir  -v  [目錄]   顯示創建目錄的詳細過程

rmdir     刪除空目錄

rmdir  -p [目錄]:用遞歸的方式刪除指定的目錄路徑中的空目錄

rmdir  -v [目錄]:顯示刪除目錄的詳細過程

rmdir  –help [目錄]:顯示指令的資訊資訊

touch     創建空文件

(1)在test/test1下創建一個空文件meinv.txt

        [root@Linux2 ~]# mkdir -p test/test1

        [root@Linux2 ~]# touch test/test1/meinv.txt

(2)在test/test1下創建批量創建空文件meinv1.txt、meinv2.txt、meinv3.txt、meinv4.txt

[root@Linux2 ~]# touch test/test1/meinv{1,2,3,4}.txt

rename   批量為文件修改名稱

rename [原字元串] 【目標字元串】【文件】

修改test/test1下的meinv1.txt、meinv2.txt、meinv3.txt、meinv4.txt名稱為xingnan1.txt,xingnan2.txt,…..

[root@Linux2 ~]# rename meinv xingnan test/test1/meinv*

[root@Linux2 ~]# ls test/test1/

xingnan1.txt xingnan2.txt

cp : cp指令用來將-一個或者 多個源文件或者目錄複製到指定的目標文件或者目錄

cp -a       【源文件】【目標文件】:保持源文件的原有結構和屬性,與選項「-dpR”的功能相同

cp -R或則-r 【源文件】【目標文件】:以遞歸的操作方式,將指定目錄及其子目錄,中的所有文件複製到指定的目標目錄

cp -v       【源文件】【目標文件】:詳細顯示指令執行的操作

rm:  rm指令用於刪除給定的文件和目錄。

rm -r 【文件或者目錄】:遞歸刪除目錄中所有內容

rm -f 【文件或者目錄】:強制執行刪除操作,而不提示用於進行確認。

rm -i  【文件或者目錄】:以互動式的方式,提示用戶進行確認是否刪除文件。「n」不刪除 「y」刪除

rm -v 【文件或者目錄】:顯示指令的詳細執行過程

經驗技巧:默認情況下, rm指令只能刪除普通文件,刪除目錄時必須使用「r」或者”-R”選項遞歸刪除目錄;使用 rm指令的「-f」 選項時,不給出提示資訊而直接執行刪除操作,必須小心;

mv : 功能介紹: mv 移動文件與目錄或重命名

mv oldNameFile newNameFile        (功能描述:重命名)

mv /temp/movefile /targetFolder    (功能描述:移動文件)

經驗技巧:如果在同一 目錄下利用mv指令移動文件,可以實現文件改名操作。為防 止誤操作而覆蓋已經存在的文件,在使用mv指令時,最好加上「-i」選項

十一

cat : 功能介紹: 查看文件內容,從第一行開始顯示

cat -b 【要查看的文件】:在非空行前面顯示行號

cat -b 【要查看的文件】:顯示所有行的行號,包括空行。

cat -b 【要查看的文件】:壓縮空行,多個空行連續出現時僅顯示一個空行

十二

more 功能介紹:more 文件內容分屏查看器,more指令是一個基於VI編輯器的文本過濾器,它以全螢幕幕的方式按頁顯示文本文件的內容。more指令中內置了若干快捷鍵,詳見操作說明。

more 【要查看的文件】:more 【要查看的文件】:

Enter                         代表向下翻『一行』;

q                                       代表立刻離開 more ,不再顯示該文件內容。

Ctrl+F                         向下滾動一屏

Ctrl+B                        返回上一屏

=                                       輸出當前行的行號

:f                                      輸出文件名和當前行的行號

十三

less:功能介紹:less 分屏顯示文件內容

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

less 【要查看的文件】:空白鍵                     向下翻動一頁;

/字串                   向下搜尋『字串』的功能;n:向下查找;N:向上查找;

?字串                  向上搜尋『字串』的功能;n:向上查找;N:向下查找;

q                              離開 less 這個程式;、

十四

echo: 功能介紹:echo指令用於在shell中列印shell變數的值,或者直接輸出指定的字元串。

echo -e 【輸出內容】:支援反斜線控制的字元轉換

echo -e 【輸出內容】:輸出\本身

echo -e 【輸出內容】:換行符

echo -e 【輸出內容】:製表符,也就是Tab鍵

十五

head: 功能介紹:head用於顯示文件的開頭部分內容,默認情況下head指令顯示文件的前10行內容。

head -n 5 【文件】:文件頭5行內容,5可以是任意行數

head -v 【文件】:總是顯示文件名的頭資訊

十六

tail: 功能介紹:tail用於輸出文件中尾部的內容,默認情況下tail指令顯示文件的後10行內容。

語法

tail  文件               (功能描述:查看文件後10行內容)

tail  -n 5 文件            (功能描述:查看文件後5行內容,5可以是任意行數)

tail  -f  文件         (功能描述:實時追蹤該文檔的所有更新)

十七

>和>> 功能介紹:> 覆蓋 和 >> 追加

語法

內容 >文件       (功能描述:列表的內容寫入文件a.txt中(覆蓋寫))

內容 >>文件           (功能描述:列表的內容追加到文件aa.txt的末尾)

cat 文件1 > 文件2   (功能描述:將文件1的內容覆蓋到文件2)

echo 「內容」 >> 文件

十八

ln : 功能介紹:(硬)軟鏈接也成為符號鏈接,類似於windows里的快捷方式,有自己的數據塊,主要存放了鏈接其他文件的路徑。

ln -i 【源文件或目錄】【軟連接名】:創建鏈接時,如果目標文件已經存在,則提示用戶確認覆蓋

ln -s 【源文件或目錄】【軟連接名】:創建符號鏈接。如果系統不支援符號鏈接,則導致命令出錯

ln -v 【源文件或目錄】【軟連接名】:詳細資訊模式,輸出指令的詳細執行過程

經驗技巧

      ln 默認創建鏈接為硬鏈接,不能對目錄建立鏈接。要為目錄建立鏈接必須使用「-s」選項,指明創建的鏈接類型為符號鏈接。

      只能為普通文件創建硬鏈接, 不能為目錄創建硬鏈接。而符號鏈接(軟連接)則沒有任何限制,

      刪除軟鏈接: rm -rf 軟鏈接名,而不是rm -rf 軟鏈接名/

      查詢:通過ll就可以查看,列表屬性第1位是l,尾部會有位置指向。

十九

history: 功能介紹:history指令用於顯示指定數目的指令命令

語法:history n (n:表示顯示指定數目的命令)  

 

搜索查找類操作

 

find:功能介紹:find 查找文件或者目錄find指令將從指定目錄向下遞歸地遍歷其各個子目錄,將滿足條件的文件顯示在終端。

find:【搜索範圍】-name<查詢方式>:按照指定的文件名查找模式查找文件

find:【搜索範圍】-user<用戶名>:查找屬於指定用戶名所有文件

find:【搜索範圍】-size<文件大小>:按照的文件大小查找文件。

按文件大小:在/home目錄下查找大於2M的文件(+n 大於 -n小於 n等於)

[root@hadoop101 ~]find /home -size +2048k

find:【搜索範圍】-empty:查找文件大小為0的目錄或文件

find:【搜索範圍】-type<文件類型>: 按照指定的文件類型查找文件,支援的文件類型如下:  b塊設備文件(block device) 、c字元設備文件( characterdevice)、d目錄(directory)、p命名管道(FIFO) 、f普通文件、1符號鏈接文件(symbolic links) 、s網路套接字文件( socket)

grep: 功能介紹:grep 過濾查找,在文件中搜索匹配的行 (管道符,「|」,表示將前一個命令的處理結果輸出傳遞給後面的命令處理)

grep -n【匹配模式】【源文件】:顯示匹配行及行號。

grep -i【匹配模式】【源文件】:忽略大小寫的不同

grep -v【匹配模式】【源文件】:搜索不含指定字元串的行

which: 功能介紹:which指令用於查找並顯示給定指令的絕對路徑

which 【指令名】

Whereis:功能介紹:whereis顯示指令及相關文件的路徑

語法:

whereis -b【參數】僅查找二進位程式或命令

 

Linux用戶管理操作

 

1.添加用戶:useradd + 用戶名

(一)useradd -g 用戶名: 指定用戶的主要組。默認情況下組名與用戶名同名;

(二)useradd -d 用戶名:設置用戶的宿主目錄,默認的宿主目錄為「/home/」目錄下與用戶名同名的目錄;

(三)useradd -u 用戶名:指定用戶的id.

2.設置用戶密碼:password + 用戶名 (按enter鍵後輸入密碼)

3.用ID查看用戶是否存在:id + 用戶名

4.查看創建用戶:cat  /etc/password

5.切換用戶:su +要切換的用戶名

6.查看登錄用戶的資訊:

(一)whoami:顯示自身用戶名稱;

(二)who am i :顯示登錄用戶的用戶名

7.刪除用戶及相關文件:userdel 用戶名

(一)userdel -r 用戶名 :刪除用戶的同時,刪除所有文件;

(二)userdel -f 用戶名 :強制刪除用戶,即使用戶當前已登錄

8.修改用戶的基本資訊:

(一)usermod -g 用戶名:修改用戶的初始登錄組,給定的組必須存在;

(二)usermod -c 用戶名:修改用戶 的注釋資訊;

(三)usermod -d 用戶名:修改用戶的宿主目錄

9.設置普通用戶具有root許可權:

(一)修改配置文件 :vi /etc/sudoers;

(二)在root下添加一行 :例如添加zhangsan有root許可權 jinghang ALL=(ALL) ALL;

(三)用zhansan登錄使用sudo 命令即可獲得root許可權

 

Linux用戶組管理操作

 

1.創建新的工作組:groupadd 組名 groupadd -g 組ID 組名

2.刪除工作組:groupdel 組名( groupdel 指令無法刪除用戶的主要組(Primary Group), 即無法刪除創建用戶時自動為用戶所創建的組(如果此用戶還存在))

3.修改工作組資訊:

(一)groupmod -n 新組名 舊組名: 指定工作組的新組名

(二)groupmod -g 指定ID 組名: 指定工作組的新組ID

4.查看創建的組: cat /etc/group

 

Linux文件許可權類操作

 

1.文件屬性從左到右10個字元,表示不同的屬性

-rw-r–r–

第0個表示: – 代表文件     d 代表目錄    l 鏈接文檔(link file);

第1-3個表示:屬主(該文件的所有者)擁有該文件的許可權;

第4-6個表示:屬組(所有者的同組用戶)擁有該文件的許可權;

第7-9個表示:其他用戶擁有該文件的許可權。

r:可讀 w:可寫 x:可執行

2.改變許可權:

(一)chmod  [{ugoa}{+-=}{rwx}] 文件或目錄

U:代表所屬主 G:代表所屬組 O:代表其他 A:代表所有

r:可讀 w:可寫 x:可執行

(二)chmod   [mode=421 ]  [文件或目錄]

R=4  w=2  x=1

假如要修改上述文件的所有許可權可讀、可寫、可執行可以通過命令 chmod 777 文件或目錄;以此類推修改其中的所屬主、所屬組、其他。

3.改變文件或目錄的所有者

(一)chown -R 最終用戶 文件或目錄(遞歸操作);

(二)chown -v 最終用戶 文件或目錄(顯示指令詳細的執行過程)

4.改變所屬組

chgrp 最終用戶組 文件或目錄

Linux時間日期類操作

1.date:顯示當前時間

date %Y 顯示當前年份;

date %m 顯示當前月份;

date %d 顯示當前是哪一天;

2.顯示非當前時間

date  -d 『1 days ago』:顯示前一天時間;

date  -d 『-1 days ago』:顯示明天時間;

3.設置系統時間

date  -s 字元串時間 「2020-09-13 14:10:10」

 

Linux壓縮和解壓操作

 

1.gzip/gunzip壓縮與解壓縮:

(一)只能壓縮文件,不能壓縮目錄;不保留原文件

(二)gzip 文件名 ::gunzip 文件名

2.zip/unzip壓縮與解壓縮:

(一)不僅能壓縮文件也能壓縮目錄,保留原文件

(二)zip – r XXX.zip 要壓縮的文件( 遞歸處理,將指定目錄下的所有文件和子目錄一併處理);

(三)unzip -d  XXX.zip( 指定解壓後文件的存放)

3.tar打包備份

(一)tar – zcvf XXX.tar.gz 將要打包備份的內容;

(二)tar -zxcf XXX.tar.gz 解壓到當前目錄;tar -zxcf XXX.tar.gz -C 指定的目錄 解壓到指定目錄

 

Linux進程管理類操作

 

1.ps 查看當前系統進程狀態

(一)ps -aux 查看系統中所有進程;ps -aux | grep XXX 過濾查看系統中的進程;

(二)ps -ef 查看系統中的所有子父進程之間的關係;ps -ef | grep XXX過濾查看

2.kill終止進程

(一)kill -9 進程號 通過進程號殺死進程;

(二)killall 進程名稱 通過進程名稱殺死進程;

3.pstree查看進程樹

(一)pstree -p 顯示進程的PID;

(二)pstree -u 顯示進程的所有用戶

Linux性能監控命令

1.top指令實時報告系統整體性能情況

(一)top -d 秒數 指定top命令每隔幾秒更新,默認是3秒;

(二)top -i 使top不顯示任何閑置或者僵死進程;

(三)top -p 要監控的進程ID 通過指定監控進程ID來僅僅監控某個進程的狀態;

(四)進入top命令後;

輸入 P  以CPU使用率排序,默認就是此項;

輸入 M 以記憶體的使用率排序;

輸入 N 以PID排序;

輸入q  退出top命令;

2.free顯示記憶體的使用情況

(一)free -b 以位元組為單位顯示記憶體使用情況;

(二)free -k 以千位元組為單位顯示記憶體使用情況;系統默認;

(一)free -m 以兆位元組為單位顯示記憶體使用情況;

(一)free -t 顯示匯總結果;

(一)free -s 間隔秒數 以指定間隔的秒數,顯示記憶體使用情況。

3.netstat顯示網路統計網路系統得狀態資訊和埠佔用情況

(一)netstat -anp | grep 進程號 查看該進程的網路資訊;

(二)netstat -nlp | grep 埠號 查看該網路埠的佔用情況。

 

Linux磁碟分區類操作

 

1.df查看磁碟空間使用情況

(一)df -h 以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;

2.du顯示每個文件和目錄的磁碟使用空間佔用情況

(一)du -s 目錄 指定目錄佔用大小匯總;

(二)du -ach 目錄 指定文件列出明細增加匯總量帶計量單位;

(三)du –max-depth=1 目錄 查看子目錄,深入為1;

3.fdisk – l查看磁碟使用情況和磁碟分區

4.mount/umount掛載、卸載

2.基本語法

mount [-t vfstype] [-o options] device dir   (功能描述:掛載設備)

umount 設備文件名或掛載點             (功能描述:卸載設備)

3.參數說明

表1-34

參數

功能

-t vfstype

指定文件系統的類型,通常不必指定。mount 會自動選擇正確的類型。常用類型有:

光碟或光碟鏡像:iso9660

DOS fat16文件系統:msdos

Windows 9x fat32文件系統:vfat

Windows NT ntfs文件系統:ntfs

Mount Windows文件網路共享:smbfs

UNIX(LINUX) 文件網路共享:nfs

-o options

主要用來描述設備或檔案的掛接方式。常用的參數有:

loop:用來把一個文件當成硬碟分區掛接上系統

ro:採用只讀方式掛接設備

rw:採用讀寫方式掛接設備

   iocharset:指定訪問文件系統所用字符集

device

要掛接(mount)的設備

dir

設備在系統上的掛接點(mount point)

4.案例實操

(1)掛載光碟鏡像文件

[root@hadoop101 ~]# mkdir /mnt/cdrom/            建立掛載點

[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/  設備/dev/cdrom掛載到 掛載點 :  /mnt/cdrom中

[root@hadoop101 ~]# ll /mnt/cdrom/

(2)卸載光碟鏡像文件

[root@hadoop101 ~]# umount /mnt/cdrom

5.設置開機自動掛載

[root@hadoop101 ~]# vi /etc/fstab

添加紅框中內容,保存退出。

如圖1-160所示

 

圖1-160  設置開機自動掛載

5.工作常用指令

(一)統計/root文件夾下的文件的個數:ls -l /root | grep “^-” | wc -l;

(二)統計/root文件夾下的目錄的個數: ls -l /root | grep “^d” | wc -l;

(三)統計/root文件夾下文件的個數,包括子文件夾里的:

 ls -lR /root | grep “^-” | wc -l;

(四)統計文件夾下目錄的個數,包括子文件夾里的:

ls -lR /root | grep “^d” | wc -l;

(五)以樹狀顯示目錄結構:安裝yum install tree ,安裝完成後tree查看。

 

軟體包管理類操作

RPM:概述:RPM(RedHat Package Manager),RedHat軟體包管理工具,類似windows裡面的setup.exe,是Linux這系列作業系統裡面的打包安裝工具

 

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

rpm:-qi:查詢安裝的軟體包的詳細資訊

經驗技巧:

由於軟體包比較多,一般都會採取過濾。rpm -qa | grep rpm軟體包

rpm:-e 【軟體包】【–nodeps】:卸載軟體包 –nodeps    卸載軟體時,不檢查依賴。這樣的話,那些使用該軟體包的軟體在此之後可能就不能正常工作了。

rpm:rpm -ivh 【軟體包】【–nodeps】

選項         功能

-i               -i=install,安裝

-v              -v=verbose,顯示詳細資訊

-h              -h=hash,進度條

–nodeps  不檢測依賴進度

YUM:概述:YUM(全稱為 Yellow dog Updater, Modified)是一個前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝

yun  y install 【軟體包】:安裝rpm軟體包

yun  y update 【軟體包】:更新rpm軟體包

yun  y check-update 【軟體包】:檢查是否有可用的更新rpm軟體包

yun  y remove 【軟體包】:刪除指定的rpm軟體包

yun  y list 【軟體包】:顯示軟體包資訊

yun  y clean 【軟體包】:清理yum過期的快取

yun  y deplist 【軟體包】:顯示yum軟體包的所有依賴關係

 

定時任務操作crondtab

啟動服務:service  crond restart | start

語法:

crontab  -e:編輯crontab定時任務

crontab  -l: 顯示待執行任務列表

crontab  -r:刪除當前用戶所有的crontab任務

crontab  -i:刪除用戶的計劃任務前要求用戶進行確認

 

[root@hadoop101 ~]# crontab -e

(1)進入crontab編輯介面。會打開vim編輯你的工作。

* * * * * 執行的任務

項目 

含義 

範圍

第一個「*」

一小時當中的第幾分鐘

0-59

第二個「*」

一天當中的第幾小時

0-23

第三個「*」

一個月當中的第幾天

1-31

第四個「*」

一年當中的第幾月

1-12

第五個「*」

一周當中的星期幾

0-7(0和7都代表星期日)

補充

查看服務狀態          service服務名status

啟動和停止服務重啟    service服務命start|stoplrestart

查看服務開機自啟狀態  chkconfig 服務名—list

設置服務開機自啟      chkconfig服務名on

服務開機自啟關閉      chkconfig服務名off