computer:cli
這是本文件的舊版!
目錄表
命令字元
- Termux (Android)
Terminal
Shell
fish
Bash
Zsh
設定
Tool
介面
排版
時間
排程
計算
檔案管理
搜尋
資料
設定
系統資訊
SSH
- 若遇到 ssh 一開始連線時要等一下子,可試試在 sshd_config 裡 設定 UseDNS = no
資源
書籍
LINUX
- Bash history file united
$HOME/.bashrcshopt -s histappend
- 查詢網路連接埠
netstat -tunlp
lsof -i4
- 查詢目前外網IP
curl ifconfig.me
- 使用上個命令參數:
按住Alt再按點為最後的參數,按住Alt再按數字,保持Alt按住最後再按點為第幾個參數。
最後的參數也可以使用!$ - 檢查疑似壞軌的裝置
sudo badblocks -v /dev/sdb | tee badblocks.log
- CRC驗證
cksfv
監控
路徑
namei -l /path/to/directory
檔案操作
- 清除Windows的Thumbs.db
find -depth -type f -name "Thumbs.db" -exec rm {} \; - 刪除空資料夾
find -depth -type d -empty -exec rmdir {} \; - 刪除SVN資料夾
find -depth -type d -name .svn -exec rm -rf {} \;find -depth -type d -name .svn -exec rm -rf {} +
Using ; vs + with exec in findfind -type d -name .svn -delete
- 檔名字串片段取代更名:rename
- 轉換檔名編碼或大小寫:convmv
- PNG最佳化:optipng
find -newermt yesterday -ls
diff -rq DIR1 DIR2
遠端備份
-
rsync -avzh --progress -e ssh wm@localhost:~ /home/.
rsync -a src/ dest
for renaming folder, a trailing slash on the source avoids creating an additional directory level at the destination.
-
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub | ssh server-user@server-host "cat >> ~/.ssh/authorized_keys"
特別注意的是“Enter passphrase”的地方請直接壓enter,這樣才能不用輸入密碼。
ssh-copy-id
scp -p 帳號@主機位址:/home/who/xxx.file /home/who/.
常用指令
- 在Linux中最常使用到的指令,和最常用到的參數。
※ ls 列出目錄
- -a 連隱藏檔都列出
- -l 列出詳細資訊
- -d 只顯示目錄訊息而非目錄下的檔案
- -R 遞迴列出檔案及子目錄其下的所有子目錄和檔案
※ pwd 顯示使用者目前的目錄
- -p 則將結徑目錄顯示出來 (專門用在連結目錄)
※ mkdir 建立目錄
- -m 直接設定目錄屬性 (mkdir -m 700 test)
- -p 建立目錄中的子目錄 (mkdir -p test1/test2)
※ mv 移動檔案或改檔名
- -f 強制移動
- -i 已存在目的檔,會詢問是否over wirte
※ cp 檔案複製
- -i 若已存在則會詢問要否over write
- -f 強制複製或取代
- -a 完全複裂含使用人,屬性一樣的複制過來 (用在root)
- -r 用於目錄copy (重要)
- -d 若來源檔為連結檔的屬性,則複製連結檔而非檔案本身
- -s 複製成符號連結檔
- -l 複製成硬式連結檔
※ rm 移除檔案
- -f 強制移除
- -r 用於移除目錄
- -i 會詢問使用者是否真的要移除
※ cat 看檔
- -n 印出行號
- -A 可列出一些特殊字元
※ more 分頁顯示檔案內容
- enter 下翻一行
- space 下翻一頁
- :f 顯示目前行數和檔名
- q 離開
- / 尋找字串
- n 符合字串下一筆
- N 反向尋找符合字串下一筆
※ less 分頁顯示檔案內容 (可上翻)
- enter 下翻一行
- space 下翻一頁
- page up 上翻一頁
- page down 下翻一頁
- q 離開
- / 尋找字串
- n 符合字串下一筆
- N 反向尋找符合字串下一筆
※ chmod, chown 改變檔案屬性, 改變檔案所有人
- -R 連同子目錄都更新為同屬性
※ file 顯示某個檔案的基本資料
※ which 尋找某指令在那裡 (依所脫定的環境path去找)
※ whereis 尋找某指令
- -b 只找binary檔
- -m 只找man檔
- -s 只找source檔
- -u 找沒有說明的文件
※ locate 尋找檔案 (找資料庫)
- 使用前先updatedb
※ find 尋找檔案 (找檔案系統)
- -name 尋找檔名
- ex: find / -name test1.c
※ df 檢查磁碟使用量
- -a 列出所有使用量
- -h 容量以k, m, g顯示
- -T 連fs name都顯示出來
- -i 使用掉的i-node數量
※ du 檢查資料夾用量
- -a 列出目錄下所有子目錄檔案的所有用量
- -h 容量以k, m, g顯示
- -s 只顯示目錄總量 (和-a不能共用)
※ ln 製做符號連結和硬式連結
- -s 符號連結
- -f 目標檔有在的話移除再建立
- 不加參數則是建立硬式連結
- ex: ln -s test s_test
※ gzip 建立gun zip壓縮檔 (只能對單一檔案)
- -c 壓縮後輸出到銀目,配合資料流重導向
- -d 解壓縮
- -t 檢查有沒有錯誤
- -1~9 壓縮比
- ex:(壓) gzip test
- ex:(解) gzip -d test
※ tar 打包加壓縮 (重要)
- -j 使用bzip壓縮
- -z 使用gzip壓縮
- -c 建立打包
- -x 解開打
- -v 看檔案打包過程
- -f 輸出檔案的檔名
- -p 包留原來屬性
- ex:(包) tar -zcvf test.tar.gz test/
- ex:(解) tar -zxvf test.tar.gz
Shell Script
- 取得實際執行位置
path=`dirname $0` cd $path
SED
- 從第N行取到最後一行
sed -n 'N,$ p'
- 找到SEARCH字串後,印出該行之後的內容
sed '0,/SEARCH/d'
- 找到SEARCH字串後,去掉該行之後的內容
sed '/SEARCH/q'
AWK
Windows
製作檔案清單
=== By niguy ===
in M$ OS: 開始→執行,"cmd",[Enter]
<<tree 指令說明>>
以圖形顯示磁碟機或路徑的資料夾架構。
TREE [drive:][path] [/F] [/A]
/F 顯示各資料夾中檔案的名稱。
/A 使用 ASCII 取代延伸字元。
試試看吧...
會用tree指令後,再控制輸出目標
ex:
tree c:\mydoc /f >> c:\showtree.txt
下這個指令就會把 c:\mydoc 資料夾的樹狀結構以及其檔案列表
輸出到 c:\showtree.txt 這個檔案裡 (原來的輸出目標是螢幕)
希望幫的上忙..(根本不用其他軟體 XD)
dir /b > 檔名
dir/b/s/on/a-d > list.txt 加這些參數比較好看
computer/cli.1629773835.txt.gz · 上一次變更: 2021/08/24 02:57 由 wm
