Linux 基礎命令(收藏大全)

Linux 基礎命令(收藏大全)

linux系統文件結構

/ 根目錄

/bin 存放必要的命令

/boot 存放內核以及啟動所需的文件

/dev 存放設備文件

/etc 存放系統配置文件

/home 普通用戶的宿主目錄,用戶數據存放在其主目錄中lib 存放必要 的運行庫

/mnt 存放臨時的映射文件系統,通常用來掛載使用

/proc 存放存儲進程和系統信息

/root 超級用戶的主目錄

/sbin 存放系統管理程序

/tmp 存放臨時文件

/usr 存放應用程序,命令程序文件、程序庫、手冊和其它文檔。

/var 系統默認日誌存放目錄錄

關閉防火牆

systemctl stop firewalld.service

禁止防火牆開機啟動

systemctl disable firewalld.service

關閉SELinux

nano -w /etc/selinux/config

將SELINUX=enforcing改為SELINUX=disabled保存並退出:^x->y->回車

--------------

命令:ls

-a 這個選項能顯示.開頭的隱藏文件

-i 顯示每個文件的inode號

-m 所有項目以逗號分隔,並填滿整行行寬

-R 同時列出所有子目錄層

-h 將列出文件的大小以人性化格式輸出

--color=tty(2個-號)顯示文件的時候以色彩提示

目錄 可執行文件 連接文件 一般文件

藍色 綠色 淡藍色 白色

查看文件狀態修改時間

ls -lc [文件名]

查看文件的訪問時間

ls -lu [文件名]

查看文件的最後修改時間

ls -l

顯示文件的詳細訪問時間

ls –full-time

顯示本地目錄下以” .”開頭的文件

ls -d .*

------------

命令: date 顯示系統當前時間

命令格式: date [選項]

-R 按照RFC822文檔中的時間格式來實現時間

-r 文件名 顯示文件的最後修改日期

-u 顯示utc時間(通用時間)

使用date查看過去/將來的時間

1. 查看2045年8月15日是星期幾(當前時間為2014-9-27)

date -d "+31year -1 month -12 day"

2. 顯示2014年1月1日星期幾

date -d “+3month +5day”或#date -d “+4month -26day”

--------------

命令: hwclock 顯示硬件時鐘

將系統時鐘同步至硬件時鐘

hwclock --systohc

將硬件時鐘同步至系統時鐘

hwclock --hctosys

---------------

命令: tzselect 功能:設置系統時區

1. 設置當前系統的時區

tzselect

命令: timedatectl 功能:設置系統時間及日期

語法格式:timedatectl [選項] [日期]

示例:

1. 顯示各項當前時間

timedatectl

2. 顯示系統所支持的時間區域

timedatectl list-timezones

3.設置當前系統的時間區域

timedatectl set-timezone Asia/Shanghai

4. 設置當前系統時間

timedatectl set-time “2014-09-0912:29:30”

5.設置NTP支持

timedatectl set-ntp true

-------------

命令: mkdir 創建目錄

-p 建立多級目錄

-m 在建立目錄的時候給目錄賦於權限值

示例: mkdir -p /name/a/b/c

--------

命令: rmdir 刪除空目錄

-p 刪除多級空目錄

示例: mkdir -p /name/a/b/c

注意:目錄本身一定要是空的

------------

命令: rm 刪除文件/目錄

-i 在刪除文件之前需要手工確認

-v 在刪除文件的時候顯示信息

-r 刪除目錄 -f 忽略提示

示例: rm -v filename

常用選項: rm -rf 目錄名

-----------

命令:cp 複製命令

cp [選項] 文件名(原件) 目的文件名(複印件)

-R 複製整個目錄裡的內容

-p 複製完後保持目錄的權限值

-v 在複製文件的時候顯示進度

-f 在複製的時候如果碰到目的文件名有重複就將原先的刪除

------------

命令: mv 移動文件或目錄/修改文件或目錄名

命令格式: mv [選項] 源文件 目的路徑

-i 如果目的地有相同文件名時會出現提示

-v 在搬移文件時顯示進度,在移動多文件時非常有用

-u 當移動時只有源文件比目的文件新的時候才會移動

-f 強制覆蓋已有的文件

示例: mv -i 1.jpg /home/2.jpg

-------------

命令: pwd 顯示當前工作路徑

-----------

命令:cat 查看文本文件

命令格式: cat [選項] 文件名

-b 顯示文件內容的時候顯示行數

-n 顯示文件內容包括空行

-s 將多個空行合併成一個空行輸出

-------------

命令: more 查看文本文件命令

命令格式: more [選項] 文件名

+行數直接從給定的行數開始顯示

-s 將多個空行壓縮成一個空行

-p 清除屏幕後再顯示

提示: 用more打開一個文件後用空格向下翻頁,用b向上翻頁

------------

命令格式:nano [選項] [行號] 文件名

--------------

命令: head 查看文件頭部

命令格式:head [選項] 文件

-n 顯示文件的最前指定的行

-c 顯示文件前N個字節數里的內容

-q 不輸出文件頭的內容

-v 輸出文件頭的內容

示例: head -n 15 test.file

-------------

命令: tail 查看文件尾部

命令格式:tail [選項] 文件

-f 循環讀取

-c 顯示文件前N個字節數里的內容

-q 不輸出文件頭的內容

-n 指定所顯示的行數

-v 輸出文件頭的內容

示例: tail -n 15 test.file

-------------

命令:ln 生成鏈接文件

命令格式:ln [選項] 源文件 鏈接文件

-f 刪除已存在的目的文件

-i 如果碰到有重複名字的提示如何操作

-v 顯示操作信息

-s 軟鏈接選項

-------------

命令: file 功能:查看文件的類型

-------------

命令: stat 功能:顯示文件或文件系統狀態

命令格式:stat [選項]

-f:查看指定的文件系統

stat可查看:

  1. 文件名 2. 文件尺寸 3. I節點號 4. 創建時間/訪問時間/狀態(屬 主、組、權限)修改時間 5.權限 6.鏈接文件個數 7. 屬主及屬組等

---------------

多命令配合或結果導入、導出符號

“ |” 管道符號

“ >” 輸出重定向

“ >>” 輸出重定向

多命令配合或結果的引用符號

“ ” 雙引號

' ' 單引號

反引號

--------------

命令: whereis

特點: 是查找工具中速度最快的一個,但是whereis查找的範圍有限, whereis 只能查找2進製程序,文檔和源碼。

命令: which

which命令是查找工具中速度最快命令之一,但是which查找的範圍有限,但是 它可以給用戶顯示出命令所在的路徑

命令格式:which 文件名

-----------

find -size n [c]

查找n值大小的文件,默認單位是塊(1塊=512字節)

1. 查找大於1500字節的文件

find ~ -size +1500c

2. 查找等於1500字節的文件

find ~ -size 1500c

3. 查找小於1500字節的文件

find ~ -size -1500c

4. 查找大於512k字節的文件

find ~ -size +512k

5. 查找等於1M字節的文件

find ~ -size 1M

6. 查找小於1G字節的文件

find ~ -size -1G

7. 查找大於10塊的文件

find ~ -size +10

8. 查找等於10塊的文件

find ~ -size -10

9. 查找大於10M小於20M的文件

find ./ -size +10M -size -20M

10. 查找小於10塊的文件

find ~ -size -10

11. 查找文件/目錄字節為0的文件(即空文件)

find / -empty

-----------

命令: grep

功能: 通過正則表達式查找文件中的關鍵字

參數:

-i:忽略大小寫

-c:打印匹配的行數

-C:打印出匹配的上下文(上N行,下N行)的多少行

-l:列出匹配的文件名

-L:列出不匹配的文件名

-n:打印包含匹配項的行和行標

-w:僅匹配指定的單詞而非關鍵字

-e:索引匹配字串

-r:遞歸查詢

-v:不輸出匹配的行

-A :顯示所找的匹配字段,並顯示下面指定的行數的信息

-B :顯示所找的匹配字段,並顯示上面指定的行數的信息

正則表達式表示方法:

忽略正則表達式中特殊字符的原有含義

^ 匹配正則表達式的開始行

$ 匹配正則表達式的結束行

< 從匹配正則表達式的行開始

> 到匹配正則表達式的行結束

[ ] 單個字符;如[A] 即A符合要求

[ n - m ] 範圍 ;如[A-H]即包含A至H都符合要求

. 所有的單個字符

* 所有字符,長度可以為0

---------

命令: egrep

信息: grep的增強版/擴充版(即grep -E)

特點:

1.支持?匹配,即匹配0到1個正則表達式

2.支持+匹配,即匹配1到N個正則表達式

3.支持”或關係”的匹配

4.在查找範圍時,可直接用{a,z},而不需要””符號

5.可以被()來包含正則表達式進行分組

6.參數與grep基本通用

示例:

1. 遞歸且不區分大小寫對test字段查找

grep -ri “test” ./

2. 打印匹配”test”關鍵字有多少行

grep -c “test” grepcmd.txt

3. 打印匹配”test”關鍵字的上下文各1行

grep -C 1“test” grepcmd.txt

4. 打印匹配test關鍵的行並顯示行號

grep -n “test” grepcmd.txt

5. 查找開頭為”#”的行,並顯示行號

grep -n ^# grepcmd.txt

6. 查找在本地目錄下(含子目錄)結尾為”c”的文件

grep -r c$ ./

7. 查找以”man”開頭的單詞

grep '

8. 查找”man”僅匹配此三個字符

grep '' grepcmd.txt

9. 查找含有以”D”字符開頭的行

grep -n ^[D] grepcmd.txt

10. 查找含有以”A-F”字符開頭的行

grep -r “^[A-F]” ./

11. 查找含有以”A-F”字符開頭,第2個字符為i的行

grep “^[A-F]i” grepcmd.txt

12. 查找含有以'nobody'字符的行及下面3行信息

grep -A 3 'nobody' /etc/passwd

13. 查找含有以'nobody'字符的行及上面3行信息

grep -B 3 'nobody' /etc/passwd

14. 查找以D或d字符為開頭的行

egrep '(^D|^d)' egrepcmd.txt

15.匹配以D開頭的0個或1個字符

egrep ^D? egrepcmd.txt

16.查找不包含”chuai”及”lisa”的字段

egrep -v '^(chuai|lisa)' egrepcmd.txt

----------

命令: cut

功能: 對所需字符進行截取

-d “n”:定義分界符,即點位

-f n:取第幾位的字符

示例:

1. 以空格符為分界符,進行第2位截取.

cut -d “ “ -f 2 ./cutcmd.txt

2. 以空格符為分界符,進行第1,3位截取.

cut -d “ “ -f 1,3 ./cutcmd.txt

---------

命令:sed

功能:通過指定的正則表達式完成指定關鍵字的過濾、截取、修改等操作

特點:

1.sed屬於一個流線式的非交互式的編輯器

2. sed在輸入命令和文件名後,將在屏幕上輸出

3.在不用重定向至文件之前,是不會改變文件現有內容以避免修改文件時出現問題

示例:

1.將install.log的第1-3行刪除 $sed ‘1,3d’ install.log

2.對install.log查找以A或a開頭且後面字符為pache的字串 $sed -n ‘/^[Aa]pache/p’ install.log

3.打印匹配字段的行及所有行 $sed ‘/ftp/p’ install.log

4.打印匹配字段的行 $sed -n ‘/ftp/p’ install.log

5.默認刪除第3行 $sed ‘3d’ install.log

6.默認刪除第3行至末尾行 $sed ‘3,$d’ install.log

7.刪除含有指定字段的行 $sed ‘/data/d’ install.log 8.將data替換為date $sed –n ‘s/data/date/p’ install.log 9.將行尾noarch為結尾後面增加.chuai字符 $sed ‘s/noarch$/&.chuai/’ install.log

8.將所有行尾noarch的單詞替換為chuai單詞 $sed -n ‘s/noarch$/chuai/gp’ install.log

9.顯示包含ra及data字段的行 $sed –n ‘/ra/,/data/p’ install.og

10.從第5行開始顯示直至包含有data的行 $sed -n ‘5,/data/p’ install.log

-----------

命令:awk

功能:通過正則表達式,得到需要的行,列信息

示例:

1. 用awk 打印所有包含有data字段的行

$awk ‘/data/’ install.log

2. 查看df -h命令的第2列

$df -h | awk '{print $2}'

3. 查看df -h名ing的第2,5列

$df -h | awk '{print $2,$5}'

4. 顯示install.log的第四行

$awk 'NR==4' install.log

5.打印install.log文件中包含data字段行的第二區域

$awk ‘/data/ {print $2}’ install.log

6. 列示月份及年份(為換行符)

$date | awk ‘{print “Year:” $6 “Month:” $2 }’

7. 在有/data關鍵字的行的第1列後面增加1個製表符,並增加RedHat,第2列後面!字符

$awk ‘/data/{print $1 “RedHat Linux”$2 “!” }’ install.log

8. 在有data關鍵字的行第1列前面增加1個製表符,並增加RedHat,第2列後面!字符)

$awk ‘/data/{print “RedHat Linux, “$1,$2 “!” }’ install.log

9. 在有noarch字段的行前增加記錄號($0為行頭前)

$awk ‘/noarch/{print NR, $0}’ install.log

10. 在有sda2字段的行前增加行的序號及顯示第2列內容

$df -h | awk '/sda2/{print NR,$2}'

11. 匹配noarch字段,如果有,則顯示整行

$awk ‘$2 ~ /noarch/’ install.log

12. 匹配不存在noarch字段的行,如果有,則顯示整行

$awk ‘$2 !~ /noarch/’ install.log

---------------

命令:sort

功能:默認以排序ASCII方式進行排序[a-z]

參數:

-u 去除重複的行

-r 降序排序[z-a]

-n 數值排序,默認情況10比2小,主要因為sort判斷第一字符的值

-k 以文本的列進行判斷

-t 設定分界符

示例:

1. 對/etc/passwd文件進行升序排序

sort /etc/passwd

2. 對/etc/passwd文件進行降序排序

sort -r /etc/passwd

3. 對/etc/passwd第3列進行數值排序,分界符為:

sort -n -k 3 -t : /etc/passwd

4. 對test.txt文件中重複的行刪除並升序排序

sort -u test.txt

5. 對/etc/shadow文件進行降序排序

sort -r /etc/shadow

6. 對/etc/passwd第3列進行數值排序,分界符為:

sort -n -k 3 -t : /etc/passwd

7. 對/etc/passwd的第2列進行逆序排序,並對第3列進行數值排序,優先級為第2列

sort -k 2r -k 3n -t : /etc/passwd

8. 對/etc/passwd的第3列進行數值排序,第2列進行逆序排序,優先級為第3列

sort -k 3n -k 2r -t : /etc/passwd

-----------

命令:wc

功能:統計行數、字數、字符數、文件總統計數

參數:

-l 統計行數

-c 統計字節數

-w 統計字數(單詞數)

示例:

1. 統計/etc/passwd文件行數

wc -l /etc/passwd

2. 統計/etc/passwd文件的字數

wc -w /etc/passwd

3. 統計/etc/passwd文件的字節數

wc -c /etc/passwd

4. 統計/etc/passwd文件行數和字節數

wc -lc /etc/passwd

5. 統計/etc/passwd與/etc/fstab各文件的行、字、字節數

wc -lwc /etc/passwd /etc/fstab

--------------

命令:uniq

功能:檢查文本中重複出現的行

-c 顯示輸出,並在文本行前加出現的次數,但如果重複行不連續,則不認為是重 復的行

-d 只顯示重複的行

-u 只顯示不重複的行

1. 對test.txt內容進行檢查並顯示次數

uniq -c test.txt

2. 對test.txt的重複行不顯示

uniq -u test.txt

3. 忽略test.txt的第1列,對第2列進行檢查

uniq +1

4. 對test.txt的顯示重複行

uniq -d test.txt

5. 忽略test.txt的第1個字符, 從第2個字符開始進行檢查

uniq -s 1 test.txt

6. 對每行的第2個字符以後不在做檢查

uniq -w 2 -c test.txt

------------

命令:tac

功能:將行顛倒

說明:將最頭行放置最底行,文本中所有的行均顛倒輸出

-----------

命令:tr

功能:大小寫轉換

語法格式:tr 現有小寫範圍 轉換大寫範圍

tr 現有大寫範圍 轉換小寫範圍

Linux 基礎命令(收藏大全)

-- 完 --

看完本文有收穫?請轉發分享給更多人

關注[Java學習之樂 ]全棧開發工程師

瞭解更多知識關注【Java學習之樂】


分享到:


相關文章: