Linux命令面試寶典以及應用場景分析

2020-08-08 09:21:51

1、切換使用者

命令:su - 使用者名稱,回車輸入密碼。

2、檢視檔案系統

命令:df -a (用於檢視檔案系統的使用情況)

命令:du -shx * (用於列出所有資料夾的大小)

命令:df -h 顯示已經掛載的分割區列表

命令:ls -lSr |more 以尺寸大小排列檔案和目錄

命令:du -sh dir 估算目錄 ‘dir1’ 已經使用的磁碟空間’

命令:du -sk * | sort -rn 以容量大小爲依據依次顯示檔案和目錄的大小

 

3、檢視目錄下檔案

命令:ls 檢視目錄中的檔案

命令:ls -F 檢視目錄中的檔案

命令:ls -l 顯示檔案和目錄的詳細資料

命令:ls -a 顯示隱藏檔案

命令:ls [0-9] 顯示包含數位的檔名和目錄名

4、刪除一個檔案或目錄

命令:rm -f filename 刪除一個叫做 ‘filename’ 的檔案’

命令:rmdir dirname 刪除一個叫做 ‘dirname’ 的目錄’

命令:rm -rf dirname 刪除一個叫做 ‘dirname’ 的目錄並同時刪除其內容

命令:rm -rf dirname1 dirname2 同時刪除兩個目錄及它們的內容

5、移動或複製一個檔案或目錄

命令:mv dir1 new_dir 重新命名/移動 一個目錄

命令:cp file1 file2 複製一個檔案

命令:cp dir/* . 複製一個目錄下的所有檔案到當前工作目錄

命令:cp -a /tmp/dir1 . 複製一個目錄到當前工作目錄

命令:cp -a dir1 dir2 複製一個目錄

6、搜尋檔案或目錄

命令:find / -name file1 從 ‘/’ 開始進入根檔案系統搜尋檔案和目錄

命令:find / -user user1 搜尋屬於使用者 ‘user1’ 的檔案和目錄

命令:find /home/user1 -name *.bin 在目錄 ‘/ home/user1’ 中搜尋帶有’.bin’ 結尾的檔案

命令:find /usr/bin -type f -atime +100 搜尋在過去100天內未被使用過的執行檔案

命令:find /usr/bin -type f -mtime -10 搜尋在10天內被建立或者修改過的檔案

命令:find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜尋以 ‘.rpm’ 結尾的檔案並定義其許可權

命令:find / -xdev -name *.rpm 搜尋以 ‘.rpm’ 結尾的檔案,忽略光碟機、捷盤等可移動裝置

命令:whereis halt 顯示一個二進制檔案、原始碼或man的位置

命令:which halt 顯示一個二進制檔案或可執行檔案的完整路徑

7、通過SSH連線其它伺服器

命令:ssh [email protected],回車輸入密碼。

8、通過Telnet命令發送報文數據

命令:telnet 210.32.22.51 5010,回車後輸入需要發送報文內容,看埠是否通,比如dubbo服務可用不可用,啓動的服務通不通

9、永久的設定路徑別名

命令:vi ~/.bash_profile

新增:alias log=‘cd /app/applogs’

命令:source ~/.bash_profile

10、關於壓縮包的相關命令:

命令:bzip2 file1 壓縮一個叫做 ‘file1’ 的檔案


命令:gunzip file1.gz 解壓一個叫做 'file1.gz’的檔案

命令:gzip file1 壓縮一個叫做 'file1’的檔案

命令:gzip -9 file1 最大程度壓縮


命令:rar a file1.rar test_file 建立一個叫做 ‘file1.rar’ 的包

命令:rar a file1.rar file1 file2 dir1 同時壓縮 ‘file1’, ‘file2’ 以及目錄 ‘dir1’

命令:rar x file1.rar 解壓rar包

命令:unrar x file1.rar 解壓rar包


命令:tar -cvf archive.tar file1 建立一個非壓縮的 tarball

命令:tar -cvf archive.tar file1 file2 dir1 建立一個包含了 ‘file1’, ‘file2’ 以及 'dir1’的檔案檔案

命令:tar -tf archive.tar 顯示一個包中的內容

命令:tar -xvf archive.tar 釋放一個包

命令:tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下

命令:tar -cvfj archive.tar.bz2 dir1 建立一個bzip2格式的壓縮包

命令:tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包

命令:tar -cvfz archive.tar.gz dir1 建立一個gzip格式的壓縮包

命令:tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包


命令:zip file1.zip file1 建立一個zip格式的壓縮包

命令:zip -r file1.zip file1 file2 dir1 將幾個檔案和目錄同時壓縮成一個zip格式的壓縮包

命令:unzip file1.zip 解壓一個zip格式壓縮包

11、檢視檔案內容

命令:cat file1 從第一個位元組開始正向檢視檔案的內容

命令:tac file1 從最後一行開始反向檢視一個檔案的內容

命令:more file1 檢視一個長檔案的內容

命令:less file1 類似於 ‘more’ 命令,但是它允許在檔案中和正向操作一樣的反向操作

命令:head -2 file1 檢視一個檔案的前兩行

命令:tail -2 file1 檢視一個檔案的最後兩行

命令:tail -f /var/log/messages 實時檢視被新增到一個檔案中的內容

12、文字處理

命令:cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT

命令:cat file1 | command( sed, grep, awk, grep, etc…) > result.txt 合併一個檔案的詳細說明文字,並將簡介寫入一個新檔案中

命令:cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt 合併一個檔案的詳細說明文字,並將簡介寫入一個已有的檔案中

命令:grep Aug /var/log/messages 在檔案 '/var/log/messages’中查詢關鍵詞"Aug"

命令:grep ^Aug /var/log/messages 在檔案 '/var/log/messages’中查詢以"Aug"開始的詞彙

命令:grep [0-9] /var/log/messages 選擇 ‘/var/log/messages’ 檔案中所有包含數位的行

命令:grep Aug -R /var/log/* 在目錄 ‘/var/log’ 及隨後的目錄中搜尋字串"Aug"

命令:sed ‘s/stringa1/stringa2/g’ example.txt 將example.txt檔案中的 「string1」 替換成 「string2」

命令:sed ‘/^$/d’ example.txt 從example.txt檔案中刪除所有空白行

命令:sed ‘/ *#/d; /^$/d’ example.txt 從example.txt檔案中刪除所有註釋和空白行

命令:echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合併上下單元格內容

命令:sed -e ‘1d’ result.txt 從檔案example.txt 中排除第一行

命令:sed -n ‘/stringa1/p’ 檢視只包含詞彙 "string1"的行

命令:sed -e ‘s/ *$//’ example.txt 刪除每一行最後的空白字元

命令:sed -e ‘s/stringa1//g’ example.txt 從文件中只刪除詞彙 「string1」 並保留剩餘全部

命令:sed -n ‘1,5p;5q’ example.txt 檢視從第一行到第5行內容

命令:sed -n ‘5p;5q’ example.txt 檢視第5行

命令:sed -e ‘s/00*/0/g’ example.txt 用單個零替換多個零

命令:cat -n file1 標示檔案的行數

命令:cat example.txt | awk ‘NR%2==1’ 刪除example.txt檔案中的所有偶數行

命令:echo a b c | awk ‘{print $1}’ 檢視一行第一欄

命令:echo a b c | awk ‘{print $1,$3}’ 檢視一行的第一和第三欄

命令:paste file1 file2 合併兩個檔案或兩欄的內容

命令:paste -d ‘+’ file1 file2 合併兩個檔案或兩欄的內容,中間用"+"區分

命令:sort file1 file2 排序兩個檔案的內容

命令:sort file1 file2 | uniq 取出兩個檔案的並集(重複的行只保留一份)

命令:sort file1 file2 | uniq -u 刪除交集,留下其他的行

命令:sort file1 file2 | uniq -d 取出兩個檔案的交集(只留下同時存在於兩個檔案中的檔案)

命令:comm -1 file1 file2 比較兩個檔案的內容只刪除 ‘file1’ 所包含的內容

命令:comm -2 file1 file2 比較兩個檔案的內容只刪除 ‘file2’ 所包含的內容

命令:comm -3 file1 file2 比較兩個檔案的內容只刪除兩個檔案共有的部分

13、檢視伺服器下埠是否正常開啓

命令:netstat -lnp | grep 61616 (檢視ActiveMQ訊息佇列服務是否正常啓動)

14、伺服器之間的檔案傳輸

命令:scp filename user@IP:Path

範例:scp key.txt 使用者名稱@210.32.22.51:遠端伺服器絕對路徑

15、軟體安裝

rpm -hvi dejagnu-1.4.2-10.noarch.rpm   安裝軟體
rpm -qi dejagnu-1.4.2-10.noarch.rpm 顯示軟體安裝資訊

16、修改檔案操作許可權和使用者許可權

在这里插入图片描述          在这里插入图片描述

如果沒有許可權,就會出現減號[- ]而已。從左至右用0-9這些數位來表示:

rwx作用到檔案(重要)

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

rwx作用到目錄(重要)

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

chmod 改變檔案讀寫執行許可權

chmod u=rwx, g=xr, o=xr abc.txt <=====>chmod 755 abc.txt      改變檔案讀寫執行許可權

chown 改變所有者許可權

chown [選項] [終端使用者] [檔案或目錄] (功能描述:改變檔案或者目錄的所有者)

chown newowner file 改變檔案的所有者

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

例如:chown tom houge.txt  修改檔案所有者

chown -R tom:leader home/  遞回改變檔案所有者和所有組

AWK文字分析工具。

AWK 是一種處理文字檔案的語言,是一個強大的文字分析工具。

之所以叫 AWK 是因爲其取了三位創始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字元。

awk、sed、grep更適合的方向:

  •  grep 更適合單純的查詢或匹配文字
  •  sed 更適合編輯匹配到的文字
  •  awk 更適合格式化文字,對文字進行較複雜格式處理
1,每行按空格或TAB分割,輸出文字中的1、4項
 $ awk '{print $1,$4}' log.txt
2,使用","分割
 $  awk -F, '{print $1,$2}'   log.txt   <======> awk 'BEGIN{FS=","} {print $1,$2}'     log.txt
3,awk -v  # 設定變數
  $ awk -v a=1 '{print $1,$1+a}' log.txt
4, 輸出第二列包含 "th",並列印第二列與第四列
  $ awk '$2 ~ /th/ {print $2,$4}' log.txt
  ~ 表示模式開始。// 中是模式。 
5,# 輸出包含 "re" 的行
  $ awk '/re/ ' log.txt
6,忽略大小寫
  $ awk 'BEGIN{IGNORECASE=1} /this/' log.txt

awk指令碼

關於 awk 指令碼,我們需要注意兩個關鍵詞 BEGIN 和 END。

  • BEGIN{ 這裏面放的是執行前的語句 }
  • END {這裏面放的是處理完所有的行後要執行的語句 }
  • {這裏面放的是處理每一行時要執行的語句}