Linux中11個比較實用的命令列

夢共裡醉發表於2022-04-23
閱讀本文了解組合簡單 以建立更強大 的可能性。
1.同時建立不同名稱的資料夾

 的 {} 運算子非常適合此操作。下面是用 {} 建立三個子目錄的示例:

[root@localhost ~]# mkdir -p /tmp/users/{dir1,another,third}
2. 就地編輯檔案

在不使用編輯器的情況下替換一個或多個檔案上的字串,可以使用 sed 來操作:

[root@localhost ~]# sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
3. 使用web伺服器快速共享檔案

下面可以使用python的 http.server搭建一個簡易的web網站,來顯示當前目錄的檔案,以方便下載:

[root@localhost ~]# cd /root && python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 () ...

Linux中11個比較實用的命令列Linux中11個比較實用的命令列
Linux中11個比較實用的命令列Linux中11個比較實用的命令列

4. 使用 journalctl 查詢錯誤日誌

可以使用 journalctl 以及 sort 和 uniq 的組合來查詢最近的錯誤:

[root@localhost ~]# journalctl --no-pager  --grep 'fail|error|fatal' --output json| jq '._EXE'| sort| uniq -c | sort --numeric --reverse --key 1
     45 null
     14 "/usr/bin/cat"
      6 "/usr/lib/systemd/systemd"
      6 "/usr/libexec/platform-python3.6"
      6 "/usr/bin/bash"
      5 "/usr/sbin/useradd"
      3 "/usr/sbin/rngd"
      2 "/usr/sbin/groupadd"
      1 "/usr/sbin/rsyslogd"
5.命令列中向檔案寫入內容

當需要編寫多行文件時,然後使用自定義的字元 EOL來結束寫入,這是一個很好的技巧:

site.qudong.com/2016/0909/360569.shtml

[root@localhost ~]# cat << EOL >> /root/documents.txt
> line 1
> line 2
> a b c d ef
> EOL

Linux中11個比較實用的命令列Linux中11個比較實用的命令列

6. 不使用 top 監控記憶體

使用 watch命令每5秒重複一次 free命令,來監測記憶體:

[root@localhost ~]# watch -n 5 -d free -h
7.顯示磁碟分割槽大小

使用 lsbk 和 jq 來顯示分割槽資訊:

[root@localhost ~]# lsblk --json | jq -c '.blockdevices[] | [.name,.size]'
["sda","20G"]
["sdb","20G"]
["sdc","20G"]
["sdd","20G"]
["sr0","1024M"]
["nvme0n1","20G"]

Linux中11個比較實用的命令列Linux中11個比較實用的命令列

8.快速顯示檔案的型別

下面建立一個函式,呼叫stat命令來顯示檔名和輸入的檔案型別:

[root@localhost ~]# function wi { test -n "$1" && stat --printf "%F\n" "$1"; }
或者可以檢查多個檔案的型別:
[root@localhost ~]# function wi { test "$#" -gt 0 && stat --printf "%n: %F\n" "$@"; }

Linux中11個比較實用的命令列Linux中11個比較實用的命令列

9.顯示已安裝 RPM 包的大小

可以使用rpm包管理器的 --queryformat選項來檢視包的大小:

[root@localhost ~]# rpm --queryformat='%12{SIZE} %{NAME}\n' -q adobe-mappings-cmap-20171205-3.el8.noarch
    13746679 adobe-mappings-cmap

Linux中11個比較實用的命令列Linux中11個比較實用的命令列

10.檢視天氣

使用此功能可以檢視天氣:

[root@localhost ~]# weather() { curl -s --connect-timeout 3 -m 5 }

不新增引數,輸出的是當前地理位置的天氣,輸入城市名稱可以檢視當地天氣
Linux中11個比較實用的命令列Linux中11個比較實用的命令列

11.顯示訪問web伺服器的前 10 個 IP 地址

下面是從access.log檔案中獲取前十個訪問web伺服器的ip地址:

[root@localhost httpd]# cat /var/log/nginx/access.log | cut -f 1 -d ' ' | sort | uniq -c | sort -hr | head -n 10
總結

閱讀本文了解組合簡單命令以建立更強大命令的可能性。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2888334/,如需轉載,請註明出處,否則將追究法律責任。

相關文章