Linux 命令#
ctrl + C打斷執行pwd輸出當前位置cmd1;cmd2首先執行命令 1,然後執行命令 2cmd1&&cmd2僅在命令 1 成功結束時才執行命令 2cmd1||cmd2僅當命令 1 失敗時才執行命令 2strace追蹤程式系統調用touch新建文件,內容為空catcat filename查看單個文件cat [filename-whose-contents-is-to-be-copied] > [destination-filename]將一個文件的內容複製到另一個文件中。cat file1 >> file2Cat 命令可以將一個文件的內容附加到另一個文件的末尾。
- 管道;用
|連接兩個命令,以前面一個命令的輸出作為後面命令的輸入strace -f gcc a.c 2>&1 | vim -這將將 stdout 和 stderr 都導向 vim。-參數告訴 vim 從 stdin 讀取。strace pmap 152 |& vim -
|&:這是 bash 和 zsh 中2>&1 |的簡寫。它將一個命令的 stdout 和 stderr 作為另一個命令的輸入傳遞。
sort -nk 6依第 6 列升序排列- 執行多次,或循環執行
#for i in {1..5}; do // while true; do > command >done - crontab 的使用
crontab -e- 注意:crontab 運行的環境並不包含 docker 命令。需要指定完整的路徑。
lsof -i:端口號查看端口佔用情況kill -9 PID殺掉對應的進程grep(global regular expression) 用於查找文件裡符合條件的字符串或正則表達式which查找安裝路徑 如which dockerls -l詳細信息~/.bashrc是 Bash shell 在每次啟動時都會自動執行的一個腳本文件,可以用於設置環境變量、別名和一些其他 Bash shell 配置。source /opt/rh/devtoolset-9/enable更新 gcc 版本- export PS1='[][\W]$ []' 修改 PS1 變量,讓其更加簡潔。PS1 的默認設置為
\[\][\u@\h \W]\$ \[\]
tartar cvf file.tar *.c創建一個名為 file.tar 的 tar 文件,其中包含當前目錄中所有的.c 文件。tar xvf file.tar從存檔中提取文件。z告訴 tar 命令使用 gzip 創建 tar 文件,即tar.gz
- 可以利用 TAB 補全查看所有可用的命令選項 (連按兩次 TAB 鍵)
彙編相關#
objdump -d filename打印可執行部分的組合語言內容。objdump -s filename打印文件所有部分的完整內容
gcc#
gcc -E a.c對 a.c 進行宏展開- 升級 gcc 版本到 gcc9 CentOS7 升級 gcc 版本到 gcc9
source /opt/rh/devtoolset-9/enable -static靜態編譯,省去動態鏈接相關的系統調用
vim#
- cmd 模式
:!cmd從 Vim 內部執行 shell 命令!gcc %編譯!xxd將當前文件轉換為十六進制表示並顯示在終端中%!xxd將當前文件的內容通過管道傳遞給外部命令 xxd,並將其輸出替換為當前文件的內容
:set nu顯示行號:set wrap:%!grep execve:%! grep -v ENOENT:%s/term/another_term/g替換
- visual 模式 按 v 進入
y複製選中內容d刪除
u撤銷
gdb#
- 編譯時要帶
-g bttrace