linux常用命令。(持續更新)

來源:互聯網
上載者:User

1.gdb:flash builder類比用戶端運行程式,這時伺服器掛在記憶體中運行,如果此時發送了請求而程式中的某個模組沒有正確運行,就需要進行調試,gdb就是很好的工具,常用的命令是,gdb + 可執行檔, gdb -c core檔案 + 可執行檔,要產生core檔案首先要使用命令ulimit -c unlimited,還有一種方法就是使用gdb -p + 進程號,這種方法特別適用在此處,因為前台發送的請求是前兩種方式不能類比的,這種方法能更好的跟蹤出錯的模組。查看進程號:netstat
-lpn | grep 程式名。

gdb -c core檔案 + 可執行檔:產生core檔案是一個對程式調試比較有用的工具,直接使用命令bt就能列印出錯地點,很方便。

set follow-fork-mode child:用來跟蹤fork產生的子進程,gdb預設情況是跟蹤父進程的。

通常在gdb調試時要列印出一些字串的內容,如果字串長度過長,print命令不會將字串完全列印出來,這時需要命令p str@str_len,在linux上長度限制一般為200,所以,如果還不能完整列印,通過命令set print element 0就可以了。如果要輸出16進位,則使用p/x str@str_len,通常在輸出 中文編碼內容 時,使用 16進位有 用 。

2.如果你只想看檔案的前5行,可以使用head命令,如: 
head -5 /etc/passwd 
如果你想查看檔案的後10行,可以使用tail命令,如: 
tail -10 /etc/passwd 
tail -f /var/log/messages 
參數-f使tail不停地去讀最新的內容,這樣有即時監視的效果.

3.netstat:這個命令可以用來查看網路資訊,特別有用:

netstat
-lpn | grep 進程號或者連接埠號碼。可以查看進程的網路連接資訊。

4.dos2unix:在dos作業系統中拷貝或者移動Unix系統的檔案時,經常會出現檔案中多了些奇怪的字元,這時就是使用這個命令的時候。

dos2unix + 檔案名稱。

5.ls -l /proc/ + 進程號 :查看一個進程開啟的所有檔案描述符。如ls -l /proc/8090。

6.lsof -p + 進程號:與上個命令類似,可以查看一個進程開啟的所有檔案。

7.find / -name + 檔案名稱:從根目錄開始尋找某個檔案所在位置。

8.今天在linux下下載了一個軟體,解壓編譯安裝好之後顯示cannot open 某個動態庫,但是我開啟/etc/ld.so.conf檔案下查看預設的動態庫連結目錄發現能在其中的某個目錄/usr/local/lib中找到這個動態庫,感覺挺納悶的,不知道什麼原因。然後上網搜尋了下,發現原來還要使用ldconfig命令來清理一下緩衝,然後果真就成功了。因此總結下該命令的作用:ldconfig是一個動態連結程式庫管理命令

為了讓動態連結程式庫為系統所共用,還需運行動態連結程式庫的管理命令--ldconfig
ldconfig 命令的用途,主要是在預設搜尋目錄(/lib和/usr/lib)以及動態庫設定檔/etc/ld.so.conf內所列的目錄下,搜尋出可共用的動態 連結庫(格式如前介紹,lib*.so*),進而建立出動態裝入程式(ld.so)所需的串連和快取檔案.快取檔案預設為 /etc/ld.so.cache,此檔案儲存已排好序的動態連結程式庫名字列表.

ldconfig通常在系統啟動時運行,而當使用者安裝了一個新的動態連結程式庫時,就需要手工運行這個命令.
ldconfig命令列用法如下:
ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|--print-cache] [-c FORMAT] [--format=FORMAT] [-V] [- |--help|--usage] path...
ldconfig可用的選項說明如下:
(1) -v或--verbose : 用此選項時,ldconfig將顯示正在掃描的目錄及搜尋到的動態連結程式庫,還有它所建立的串連的名字.
(2) -n : 用此選項時,ldconfig僅掃描命令列指定的目錄,不掃描預設目錄(/lib,/usr/lib),也不掃描設定檔/etc/ld.so.conf所列的目錄.
(3) -N : 此選項指示ldconfig不重建快取檔案(/etc/ld.so.cache).若未用-X選項,ldconfig照常更新檔案的串連.
(4) -X : 此選項指示ldconfig不更新檔案的串連.若未用-N選項,則快取檔案正常更新.
(5) -f CONF : 此選項指定動態連結程式庫的設定檔為CONF,系統預設為/etc/ld.so.conf.
(6) -C CACHE : 此選項指定產生的快取檔案為CACHE,系統預設的是/etc/ld.so.cache,此檔案存放已排好序的可共用的動態連結程式庫的列表.
(7) -r ROOT : 此選項改變應用程式的根目錄為ROOT(是調用chroot函數實現的).選擇此項時,系統預設的設定檔/etc/ld.so.conf,實際對應的為 ROOT/etc/ld.so.conf.如用-r /usr/zzz時,開啟設定檔/etc/ld.so.conf時,實際開啟的是/usr/zzz/etc/ld.so.conf檔案.用此選項,可以 大大增加動態連結程式庫管理的靈活性.
(8) -l : 通常情況下,ldconfig搜尋動態連結程式庫時將自動建立動態連結程式庫的串連.選擇此項時,將進入專家模式,需要手工設定串連.一般使用者不用此項.
(9) -p或--print-cache : 此選項指示ldconfig列印出當前快取檔案所儲存的所有共用庫的名字.
(10) -c FORMAT 或 --format=FORMAT : 此選項用於指定快取檔案所使用的格式,共有三種: ld(老格式),new(新格式)和compat(相容格式,此為預設格式).
(11) -V : 此選項列印出ldconfig的版本資訊,而後退出.
(12) - 或 --help 或 --usage : 這三個選項作用相同,都是讓ldconfig列印出其協助資訊,而後退出.

9.rz:這個命令支援從windows上傳檔案到linux作業系統,只需要執行rz -bey就會彈出一個上傳介面,非常方便。

10.sz:與上個命令相反,這個命令可以下載linux檔案到本地windows下,上傳和下載的目錄在SecureCRT會話選項-終端-X/Y/Zmodem中設定。

11.locate:這個命令與find / -name類似,但是要比它執行的更快,原因在於它不搜尋具體目錄,而是搜尋一個資料庫(/var/lib/locatedb),這個資料庫中含有本地所有檔案資訊。Linux系統自動建立這個資料庫,並且每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新資料庫。具體使用方法:http://www.cnblogs.com/flysnail/archive/2012/05/16/2504266.html

12.chkconfig:今天在裝mysql的時候使用了這個命令:chkconfig --add mysqld,添加mysqld伺服器,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。具體的使用方式:http://www.cnblogs.com/flysnail/archive/2012/05/16/2504266.html

13.perl -i -pe :perl工具很常用,比如將一個目錄下的所有檔案的某個欄位改成另一個欄位,可以使用:perl -i -pe 's/port="18/port="17/g' ./*.xml。將目前的目錄下的所有.xml檔案的port="18欄位轉換成port="17欄位,自動匹配。

14.telnet:用於串連遠程ip連接埠,當需要測試是否能夠串連遠程ip時比較有用。

15.mysql伺服器啟動命令:./mysqld --defaults-file=/etc/my.cnf --user=root  或者 ./mysqld_safe --defaults-file=/etc/my.cnf --user=root & 或者 /etc/init.d/mysqld start。

16.touch:建立一個空檔案。

17.vi ~/.bash_profile:用於修改環境變數,在PATH後面就可以添加目錄,格式是PAHT=$PATH:$HOME/bin後接:+目錄名,這樣就避免經常出現常用的命令使用不了,而要通過添加目錄才能使用的情況。修改完之後如果要立即生效還需使用命令source .bash_profile或者. .bash_profile即可。這是root賬戶下的檔案,而普通使用者則可以通過vi ~/.bashrc修改環境變數,格式為export PATH=/usr/bin:/bin。同樣要立即生效的話使用命令source
.bashrc或者. .bashrc即可。
18.crontab:當需要在linux環境下添加定時執行任務,就可以通過這個命令添加或刪除執行指令碼。參數:

-u 指定使用者執行任務,一般root使用者在執行這個命令的時候需要此參數

-l 列出某個使用者cron服務的詳細內容-r 刪除沒個使用者的cron服務-e 編輯某個使用者的cron服務

編輯的格式是:

01 * * * * root run-parts /etc/cron.hourly

任務的描述格式如下:

     minute hour day month dayofweek command     minute - 從0到59的整數

    hour - 從0到23的整數
    day - 從1到31的整數 (必須是指定月份的有效日期)
    month - 從1到12的整數 (或如Jan或Feb簡寫的月份)
    dayofweek - 從0到7的整數,0或7用來描述周日 (或用Sun或Mon簡寫來表示)
    command - 需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自訂指令碼的命令)
    root表示以root使用者身份來運行
    run-parts表示後面跟著的是一個檔案夾,要執行的是該檔案夾下的所有指令碼

退出後用/etc/init.d/crond restart命令重啟crond進程。詳見:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html

18.xargs:xargs是一條Unix和類Unix作業系統的常用命令。它的作用是將參數列錶轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。

例如,下面的命令:
rm `find /path -type f`
如果path目錄下檔案過多就會因為“參數列表過長”而報錯無法執行。但改用xargs以後,問題即獲解決。
find /path -type f -print0 | xargs -0 rm
本例中xargs將find產生的長串檔案清單拆散成多個子串,然後對每個子串調用rm。這樣要比如下使用find命令效率高的多。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.