前言
此為 Linux 相關的 3-7 篇,都是很常用的指令,每天學一點,並常使用,便會記下成為反射動作之一
cat
將該檔案內容印在終端機上
1
2
3
4
5
6
7
8
9
10
11
12
13command | cat
cat -n file
cat file
cat file1 file2
cat file1 > target_file
cat file1 >> target_file
# 範例
git log | cat
cat -n 001.log
cat 001.log > 002.log
cat 001.log >> 002.log
cat 001.log 002.log > 003.log
幾個常用參數說明:
將輸入指令執行結果顯示在終端機上: | cat
顯示行數: -n
將多個文件覆蓋到目標文件中: >
將多個文件追加到目標文件中: >>
備註: 目標文件若原本不存在,則直接建立新檔案
tac
1
2
3
4
5
6
7tac file
command | tac
tac file1 file2 > target_file
# 範例
git log --oneline --all --graph | tac
tac 001.log
幾個常用參數說明:
將輸入指令執行結果顯示在終端機上: | tac
將多個文件覆蓋到目標文件中: >
將多個文件追加到目標文件中: >>
備註: 目標文件若原本不存在,則直接建立新檔案
head
看該檔案頭部 (預設為 10 行)
1
2
3
4
5
6
7
8head file
head -n 30 file
head -c 25 file
# 範例
head 001.log
head -n 30 001.log
head -c 25 001.log
幾個常用參數說明:
顯示前 N 行的訊息 (N 為數字): -n 30
顯示前 N bytes 的字元 (N 為數字): -c 25
tail
看該檔案尾部 (預設為 10 行)
1
2
3
4
5
6
7
8tail file
tail -n 15 file
tail -f file
# 範例
tail 001.log
tail -n 001.log
tail -f 001.log
幾個常用參數說明:
顯示最後 N 行的訊息 (N 為數字): -n 30
持續讀取檔案,直到按 Ctrl + c
為止 (可觀察檔案持續更新的內容): -f
vi
vi 編輯器,可新增、修改檔案、搜尋並取代文字等
1
vi 001.log
幾個常用指令說明:
新增、編輯檔案: vi file_name
編輯模式: 進入 vi 後,鍵盤 i
離開編輯模式 (並非離開 vi 編輯器喔): ESC
不儲存離開 vi: :q
不儲存強制離開 vi: :q!
儲存且離開 vi : :wq
將檔案還原到最初狀態(進入 vi 後一開始的樣貌) : :e!
針對特定行數,搜尋並取代: :s/string/new_string/g
針對整份文件,搜尋並取代: :%s/string/new_string/g
示範如何針對特定行數及整份文件進行搜尋並取代文字
備註: 除了 vi 編輯器外,Linux 上知名編輯器還有 vim、nano
sed
檔案處理工具,是一個管道命令,以行為單位處理,能做到字串取代、複製、刪除等
在寫這段時,發現網路上已經有許多不錯的文章及詳細說明,故省略撰寫 XD
挑了幾篇覺得不錯的,放下方參考文件,跟著練習,會更有感覺及上手喔 :)
參考資料
總整理
MacOS / Linux 指令 | 說明 | 範例 |
---|---|---|
cat | 將該檔案內容印在終端機上 | cat demo.html |
tac | 反過來印出 cat 的內容 | tac demo.html |
head | 看該檔案頭部 (預設為 10 行) | head -n 3 demo.html |
tail | 看該檔案尾部 (預設為 10 行) | tail -n 5 demo.html |
vi | vi 編輯器,可新增、修改檔案、搜尋並取代文字等 | vi demo.html |
sed | 檔案處理工具,是一個管道命令,以行為單位處理,能做到字串取代、複製、刪除等 | sed -n '$p' |
小結
在搜尋取代整份文件時,習慣以 vi
進行操作,sed
反而比較少用,
之前在批次改 SQL 資料庫的某字串時,覺得蠻方便的,與使用習慣有關
鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10236105
medium 文章連結:https://link.medium.com/4hDsZdhXI9
本文同步發布於 小菜的 Blog https://riverye.com/
備註:之後文章修改更新,以個人部落格為主