Linux Commands Cheat Sheet(施工中)
用 Linux 也有一段時間了,想說整理一些常忘記的指令 Cheat Sheet,之後就不用東翻西找ㄌ
以下指令是在 Ubuntu 20.04 上測的
參考資料:1
OS 相關篇
查詢自己電腦的 Linux 發行版與版號,以下 3 個皆可:
1
2
3cat /etc/os-release
lsb_release -a
hostnamectlGit 篇
之後可能考慮另外寫一篇。
Git 環境配置 (可以參考這裡)
1
2git config --global user.name "John Doe"
git config --global user.email johndoe@example.comGit 初始化
1
git init
創完以後會有一個 .git 的 Directory。
基本指令─沒有 branch 的狀況
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18git status #查詢現在 git 狀態 (哪些有 track 哪些沒有)
git add test.cpp #追蹤 test.cpp 的新增/變動
git add . #追蹤所有的新增/變動
git commit
git commit -m "some message" #以上兩者可以增加 commit
git log #查詢所有 commit (--pretty=oneline)
git show 320ad6912b5f68adeeadb9862e75a1dde56eea08 #查詢 32...8 這個 commit 的變動,編號可在 git log 中查詢
git reset 320ad6912b5f68adeeadb9862e75a1dde56eea08 #回到 32...8 這個版本
git commit --amend #把改動直接加到新的版本
git ls-files #查詢專案目錄下已被 git 追蹤的檔案
# 待整理區
git reset --hard HEAD
git restore --staged test.cpp #unstage a modification
git restore test.cpp #discard a modification
git rm --cached test.cpp
git rm test.cpp.gitignore 的寫法
基本指令─有 branch 的狀況
1
2
3
4
5
6git branch # 確認在哪個 branch 中
git checkout -b new-branch-name #創建一個新的名叫 new-branch-name 的 branch
git checkout change-to-branch-name #換 branch
git merge branch-want-to-merge #將目前分支與指定分支合併
git branch -M master基本指令─用 Github 連結 (施工中)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20git remote add origin https://github.com/HNO234/HNO234.github.io.git #把本機的專案加到遠端 GitHub 的 repo
git clone https://github.com/HNO234/HNO234.github.io.git #把 git 檔案抓下來
git pull
git push #以上兩者分別是把 Github 檔案拉/推下來
git push -u origin current-branch #把改變推上 Github 的 current-branch
# 待整理區
git rebase origin/master #把自己的專案的 base
git remote add origin https://github.com/HNO234/HNO234.github.io.git
git remote add upstream https://github.com/HNO234/HNO234.github.io.git
git fetch
git remote show
git remote show origin
git remote -v
git fetch upstream
git pull upstream master
git remote rm origin
git push --set-upstream origin master
git remote set-url origin git@github.com:user/repo.git
linux hotspot
sudo dpkg
sudo apt install -f
https://backlog.com/git-tutorial/tw/reference/config.html
https://stackoverflow.com/questions/9257533/what-is-the-difference-between-origin-and-upstream-on-github/9257901#9257901
SSH 篇
1 | ssh-keygen # 不要用 sudo 之類的 (?)/ 儘量放 public 東西 |
待整理區
.ssh/config 內容
scp
telent
ftp
檔案操作
1 | ls -al #列出隱藏檔案 + 詳細資訊 |
Tmux 篇
程序管理
1 | ps #列出當前程序 |
gcin 篇
1. 新增單詞:在設定中點選詞庫選項,之後進去「讓詞音從文章學習詞」
Tricks
Ctrl + D 可以直接關掉現在的 terminal
Ctrl + L 或 clear 可以清除現在的 terminal 內容
Ctrl + A,E 是到一條指令的頭/尾
Alt + F,B 是往前或往後一的 word
Ctrl + R 是 search shell history
Ctrl + K 是剪下行尾
Ctrl + U 是剪下行首
Ctrl + Y 是貼上
Ctrl + W 是砍掉前面一個字
Ctrl + X + E 可以開 editor 編輯現有指令
Alt + . 可以重複上一指令的參數
1 | sudo !! # 用 sudo 執行前一個指令 |
sudo dpkg –install atom-amd64.deb
for i in *; do mv “$i” “$i.in”; done
for i in *.a.in; do mv “$i” “${i%.a.in}.out”; done
https://linuxhint.com/extract-pdf-pages-linux/
pdftk 110_1_Contest.pdf cat 16-18 output F.pdf
https://medium.com/fcamels-notes/linux-%E7%B7%A8%E8%AD%AF-shared-library-%E7%9A%84%E6%96%B9%E6%B3%95%E5%92%8C%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85-cb35844ef331
https://medium.com/fcamels-notes/%E5%9C%A8-linux-%E4%B8%8B%E9%96%8B%E7%99%BC-c-c-%E7%9A%84%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97-735fcd960b0
https://stackoverflow.com/questions/6264249/how-does-the-compilation-linking-process-work
export & /etc/environment