moreutils 這個套件,包含了一些有趣功能的小工具
可以透過 dnf install moreutils 或 apt install moreutils 安裝
套件包含以下工具,個人覺得比較實用的是 ifdata、pee、sponge、ts、vidir
/usr/bin/chronic
/usr/bin/combine
/usr/bin/errno
/usr/bin/ifdata
/usr/bin/ifne
/usr/bin/isutf8
/usr/bin/lckdo
/usr/bin/mispipe
/usr/bin/pee
/usr/bin/sponge
/usr/bin/ts
/usr/bin/vidir
/usr/bin/vipe
/usr/bin/zrun
chronic 用來隱藏正常執行結果的標準輸出
好像沒什麼用,使用 > /dev/null 可以達到一樣的效果
combine 布林合併兩分文件
combine file1 and file2 兩分文件都有則輸出行
combine file1 not file2 輸出只存在 file1 但不存在 file2 的行
combine file1 or file2 相當於 cat file1 file2
combine file1 xor file2 輸出只存在 file1 或 file2 的資料
errno 查詢 errno 名稱及描述
ifdata 直抓網路卡各項資訊
例如: ifdata -pa eth0 可以直接取出 IPv4 IP
ifne 標準輸入不為空時,執行後續指令
date | echo hello # 會出現 hello
true | echo hello # 不會出現 hello
isutf8 檢查檔案是否是合法 UTF-8 格式
現在系統已全面都是 UTF-8,好像沒什麼用了
lckdo 指定 lock file,避免指令重複執行
跟 flock 類似,man page 也建議使用 flock
mispipe 相當於 command1 | command2
和 pipe 的差異是使用 mispipe command1 command2 會回傳 command1 的 exit status
pee 複製標準輸入,pipe 給多支程式
類似 tee,tee 是將標準輸入寫到檔案,pee 是將它 pipe 給程式,可以多個,
通常用 pee 的情況也是要 pipe 給多個程式才需要它
例如: date | pee cat cat 執行結果可以看到兩個日期
sponge 這個指令會接收到所有 input 後才會輸出,可以做到同檔操作
例如: grep abc file | sponge file
若不使用 sponge,一般做法要兩行
grep abc file > file.tmp
mv file.tmp file
ts 在任何 input 上加上時間
這指令很好用,例如: ping 1.1.1.1 | ts
vidir 可以在 vi 模式進行檔案操作
例如刪除,改檔名,存檔後會真的刪除及改檔名
vipe 編輯 pipe
在 command1 | command2 中間,加入 vipe,command1 | vipe | command2,可以對資料異動後,再 pipe 給 command2
zrun 在不解開 .gz 的情況下,對解開的檔案進行操作
背景做法是解壓暫存檔,把暫存檔名當參數餵給 command
例如: zrun grep abc file1.gz
2025年3月5日 星期三
訂閱:
張貼留言 (Atom)
LINE Bot Webhook Source IP
根據 http log,LINE Bot Webhook 來源 IP 只會用這兩段 147.92.149.0/24 147.92.150.0/24 不是很確定是否還有其他段,ACL 可以先設 allow 147.92.128.0/17 再長期觀察,限縮區段
-
xrdp 是 Linux 版的 RDP server (遠端桌面) 它運作時需要 Xvnc 的 libvnc.so, 所以安裝時需要連同 VNC 一起安裝(只需 minimal) dnf -y install xrdp tigervnc-server-minimal system...
-
以前都是用 rp-pppoe 套件裡的 adsl-setup 來設定 PPPoE 現在比較新的 Linux 已經沒有這個套件了,要用 NetworkManager 的 nmcli 來設定 設定也很簡單,準備帳號、密碼及網路卡就行了 以下範例帳號是 xxxx@hinet.net 密...
-
http://mirror01.idc.hinet.net HiNet 這個網址關了,要高速下載 Linux ISO 少了一個地方,感謝 HiNet 默默服務了多年 測了幾個 TW mirror 站,推 TWDC 台灣數位串流,常見的 Linux 都有,速度超快 https://...
-
RouterOS 在 7 版以後支援 WireGuard 註: WireGuard 在 Linux Kernel 5.6 版開始內建 設定滿簡單的,在選單 WireGuard New Interface,Private Key 及 Public Key 不用填,會自動產生 在 I...
-
現在自架的 Mail Server 若沒有簽章,寄出的信件有很大的機會被擋或歸類在垃圾信 所以 SPF + DKIM 已經是必要的設定 環境 CentOS + Postfix,文中的域名均以 yourdomain.com 作為範例 安裝所需套件 yum -y install py...
-
禁止 LINE 電腦版自動或強制更新的方法 LINE 電腦版啟動都會去連這個更新資訊檔 https://desktop.line-scdn.net/win/v1/real/update_info.json 內容大概長這樣 可以看出針對各版本的更新 type 有 force, ...
-
本例是從 8.0U3 升到 8.0U3d,若從更舊的版本升級,不確定是否適用 先把所有 VM 關機,進入維護模式 把 depot 升級檔 VMware-ESXi-8.0U3d-24585383-depot.zip 放到機器內 ssh ESXi 先查看 depot 有那些 Prof...
-
需先安裝 XZ Utils for Windows 把 xz.exe 放在 PATH 有指到的地方 curl -LOs https://github.com/rocky-linux/sig-cloud-instance-images/raw/Rocky-9.2.20230513...
-
Windows不曉得何時拿掉了工作排程顯示訊息的功能,但還是能設定,後面括號(已過時) 最後會出現如下的畫面。 奇怪,不能設定為何不拿掉設定選項? 替代方式是用執行程式 msg 新增引數輸入 * 要顯示的訊息
-
Bracketed Paste Mode 是 Terminal 為了區分手動輸入及剪貼簿貼上的一種模式, 啟用此模式,貼上的文字區塊會被起始控制碼 ESC [ 200 ~ 及結束控制碼 ESC [ 201 ~ 包住 例如在編輯器貼上一段已經排版好的程式碼,若沒有啟用 Brack...
沒有留言:
張貼留言