2.1.4 linux 程式設計常用命令及工具
1.expand
expand 將輸入製表符轉換為空格。unexpand 將輸入空格轉換為製表符。使用-t 選項來指
定製表符停止位,示例如下:
[root@localhost ~]# cat -a hello.c //使用 cat –a 顯示文件所有字元資訊
#include $
int main(int argc,char* argv)$
$[root@localhost ~]# cat hello.c//cat 檢視,其中製表符為 8 個字元
#include
int main(int argc,char* argv)
[root@localhost ~]# expand -t 4 hello.c//設定製表符為 4 個字元
#include
int main(int argc,char* argv)
2.grep 搜尋字串
grep 用來在指定檔案中搜尋關鍵字串,這在查詢標頭檔案函式宣告時使用較多。其命令
格式如下:
grep [選項] [查詢內容] [查詢範圍]
l - b:在輸出的每一行前顯示包含匹配字串的行在檔案中的位元組偏移量。
l - c:只顯示匹配行的數量。
l - i:比較時不區分大小寫。
l - h:在查詢多個檔案時,指示 grep 不要將檔名加入到輸出之前。
l - l:顯示首次匹配串所在的檔名並用換行符將其隔開。當在某檔案中多次出現匹
配串時,不重複顯示此檔名。
l - n:在輸出前加上匹配串所在行的行號(檔案首行行號為 1)。
l - v:只顯示不包含匹配串的行。
l - x:整行顯示嚴格匹配的行。
例如在 linux 頭檔案目錄中查詢 fread 函式宣告位置,可以使用以下命令:
[root@localhost ~]# grep -b fread /usr/include/*.h //-b 用來顯示匹配位置
/usr/include/stdio_ext.h:1845:extern int __freading (file *__fp) __throw;
/usr/include/stdio_ext.h:2175:extern int __freadable (file *__fp) __throw;
/usr/include/stdio.h:20167:extern size_t fread (void *__restrict __ptr, size_t __size,
/usr/include/stdio.h:21301:extern size_t fread_unlocked (void *__restrict __ptr,
size_t __size,
3.find 查詢檔案
find 命令使用多種方式來查詢某一檔案的位置。其命令格式如下:
find 查詢路徑 [引數] [字串物件]
(1)以名稱和檔案屬性為條件查詢。
其主要引數如下。
l -name 字串:查詢檔案名匹配所給字串的所有檔案,字串內可用萬用字元*、?
及[ ]。
l -lname 字串:查詢檔案名匹配所給字串的所有符號連線檔案,字串內可用通
配符*、?及[ ]。
l -gid n:查詢 id 號為 n 的使用者組的所有檔案。
l -uid n:查詢 id 號為 n 的使用者的所有檔案。
l -group 字串:查詢使用者組名為所給字串的所有檔案。
l -user 字串:查詢使用者名為所給字串的所有檔案。
l -empty:查詢大小為 0 的目錄或檔案。
l -path 字串
:查詢路徑名匹配所給字串的所有檔案,字串內可用萬用字元*、?
及[ ]。
l -perm 許可權:查詢具有指定許可權的檔案和目錄,許可權的表示如 711、644。
l -size n[bckw]:查詢指定檔案大小的檔案,n 後面的字元表示單位,預設為 b,代表
512 位元組的塊。
l -type x:找 類 型為 x 的檔案,x 為 b(塊裝置檔案)、 c(字元裝置檔案)、d(目錄檔案)、
p ( 命 名管道(fifo))、
f( 普 通檔案)、
l (符號連線檔案)或 s(socket 檔案)。
例如,在/usr/include 資料夾下查詢檔案名為 stdio.h 的檔案,其命令如下:
[root@localhost ~]# find /usr/include/ -name stdio.h //在目錄/usr/include 中查詢文
件 stdio.h
/usr/include/stdio.h
/usr/include/bits/stdio.h
(2)以時間為條件查詢。其主要引數如下:
l - amin n:查詢 n 分鐘以前被訪問過的所有檔案。
l - atime n:查詢 n 天以前被訪問過的所有檔案。
l - cmin n:查詢 n 分鐘以前檔案狀態被修改過的所有檔案。
l - ctime n:查詢 n 天以前檔案狀態被修改過的所有檔案。
l - mmin n:查詢 n 分鐘以前檔案內容被修改過的所有檔案。
l - mtime n:查詢 n 天以前檔案內容被修改過的所有檔案。
(3)可執行的操作。
l - exec 命令名稱:對符合條件的檔案執行所給的 linux 命令,而不詢問使用者是否
需要執行該命令。{}表示命令的引數即為所找到的檔案;命令的末尾必須以「//;」
結束。l -ok 命令名稱:對符合條件的檔案執行所給的 linux 命令,與 exec 不同的是,它
會詢問使用者是否需要執行該命令
8.重定向操作
在程式設計除錯時,重定向操作對儲存可執行檔案的輸出結果有很大幫助,特別是在需要逐
行分析輸出結果的時候。重定向操作是將標準的輸入輸出裝置重新定位到某個檔案中。
l 標準輸入裝置:預設為鍵盤,其檔案描述符為 0(關於描述符內容在檔案管理章節
將詳細介紹)。
l 標準輸出裝置:預設為顯示器,其檔案描述符為 1。
l 標準錯誤輸出裝置:預設為顯示器,其檔案描述符為 2。
以下列出了部分常見的重定向操作例項。
ls -l test02 //檢視 test02 檔案是否存在
ls: test02: no such file or directory //不存在,故在後面命令中將建立此檔案
9. 使用ctl+r可以互動的檢索以前使用過的命令列 。 console 中
10.在同乙個命令列上同時執行多條命令:用分號分隔。如編譯乙個原始檔:type ./configure ; make ; make install 。之後你就可以去散步了(不要在電腦前花費了太多時間了,生活中還有很多美好的東西。)
ubuntu常用命令
小知識 linux命令與shell 所謂shell,就是命令解釋程式,它提供了程式設計介面,可以使用程式來程式設計。學習shell對於linux初學者理解linux系統是非常重要的。linux系統的shell作為作業系統的外殼,為使用者提供了使用作業系統的介面。shell是命令語言 命令解釋程式及程...
ubuntu 常用命令
1,sudo passwd root 更改超級使用者的密碼 2,ps ef 檢視所有的程序,程序號,系統執行時間 3,free 檢視當前系統記憶體的使用情況 4,df 檢視檔案系統記憶體磁碟空間的使用情況 5,du 統計目錄所佔磁碟空間的大小 6,rm fr 刪除指定目錄及其子目錄 7,grep 在...
Ubuntu 常用命令
1.ctrl w 關閉當前 nautilus 視窗 2.ctrl t 在 nautilus 開啟新的 tab 3.ctrl h 切換隱藏檔案 夾 顯示或者不顯示 4.ctrl e 傳送當前文件給某個 email 5.ctrl q 退出應用 6.ctrl 1 2 修改資料夾檢視為圖示或者列表模式 7....