1. 程式人生 > >Linux實用操作命令(不斷更新)

Linux實用操作命令(不斷更新)

多使用多練習和操作就能不斷更加熟練Linux的東西。加油,小胖。
第一部分 基礎命令操作
1.複製指定目錄下所有的檔案到另一個目錄中
比如要把/home/usera拷貝到/mnt/temp,
採用cp -R /home/usera/. /mnt/temp

2.重新命名檔案或資料夾
mv /A /B //將目錄A重新命名為B
mv /a /b/c //將/a目錄移動到/b下,並重命名為c
mv通常用於單個檔案的命名,而rename用於檔案的批處理。
小缺點:如果命名後的檔案或資料夾已經存在了,則mv指令會直接覆蓋掉原來的檔案或資料夾,我們來看看rename指令(不是很常用)

3.linux主機和其他主機之間上傳或者下載檔案的需求
在公司,將linux機器中程式碼拷貝到本機,然後編寫好程式碼以後,再上傳到linux機器上進行編譯和執行。
lrzsz很好的解決了這一個問題,
sz +檔名:儲存指定檔案
rz:上傳檔案

3.nm,ldd,pstack命令等
具體請參考連結
https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/nm.html

第二部分 GDB除錯
當我們要使用GDB進行程式的除錯時,在用GCC編譯時需要加上-g
在編譯時生成除錯資訊,以及符號檔案等。
開始gdb除錯 : gdb 程式名
設定斷點 :break FileName:行 or function //函式斷點 檔案中行斷點
檢視斷點: info break
刪除斷點:delete break 斷點序號
執行程式:r(執行程式)c(繼續執行)
列印變數: p 變數名
設定變數值:set result = 6
單步,進入函式,gdb s -> step into
單步,不進入函式,gdb n->next(類似VS除錯的F10和F11功能)
檢視函式堆疊:bt
(gdb) bt <--------------------- 檢視函式堆疊。
0 func (n=250) at tst.c:5
1 0x080484e4 in main () at tst.c:24
2 0x400409ed in __libc_start_main () from /lib/libc.so.6
(gdb) finish <--------------------- 退出函式。