linux c c 中使用shell命令

2021-07-15 17:17:07 字數 1426 閱讀 9680

命令格式:system("ls -l");,使用system即可

首先需要知道查詢命令:find, find命令中可以查詢磁碟中的檔案,find命令中有比較多的引數,這裡介紹常用的幾種:

-type  根據檔案屬性查詢,有  b: 塊裝置、   d :目錄、    c:字元裝置、    p:符號鏈結、  f:普通檔案、s:socket檔案   ,要查詢.txt、.jpg這樣的普通檔案就採用 

-type f 查詢的結果就是只含冰普通檔案。

根據檔案的時間資訊查詢的引數有:    後面的引數可寫成: n、 +n、 -n, 分別表示:在什麼時候、之前、之內, 

-atime:最近一次訪問時間, 單位:天, -atime 5表示在從現在往前數第五天訪問的檔案, -atime +5表示在5天前訪問的時間, -atime -5表示在5天之內訪問的時間

-mtime:最近一次修改時間, 單位:天,

-ctime: 檔案建立時間,單位:天     

-amin:最近一次訪問時間, 單位:分鐘

-mmin:最近一次修改時間, 單位:分鐘,

-cmin:檔案建立時間, 單位:分鐘,

例如,使用-cmin在乙個接收攝像頭實時上傳的資料夾中進行檢測的結果如下圖所示,+5的沒有測試,圖 片太多。19:15:15秒,這是時間

對於查詢最新的上傳的所以命令為:  find /home/pi/ftp/camera1 -amin -1 -type f  即可,其實對於一分鐘這裡有很多中寫法,用-mmin、-cmin都可以,對於一分鐘的可以1 、-1      都可以,超過一分鐘的就只能用-n了,而對於a、c、m的區別具體的可以再找找資料,這裡給出其中的乙個差別如下圖所示:   

若對find命令感興趣的可以參考  。

現在知道了shell命令,在linux c++程式中使用shell命令就可以使: system("find /home/pi/ftp/camera1 -amin -1 -type f "),如果需要將查詢的結果儲存起來,其中乙個辦法就是將結果寫入txt檔案中:

system("find /home/pi/ftp/camera1 -amin -1 -type f  > result.txt"), 若想在使用命令的時候傳入引數:

使用string來轉換即可:  string storetxt= "result.txt";

string command = "find /home/pi/ftp/camera1 -amin -1 -type f  >" + storetxt;

system(command.c_str());    //如報錯,包含標頭檔案#include 即可

vim中使用shell命令

在vim編輯器中有2中執行shell的方法 1 如果想長時間的執行shell命令,則可以在命令模式下輸入 sh 則可以執行相當於在字元模式下,到輸入結束想回到vim編輯器中可以用exit或ctrl d返回vim編輯器,繼續編輯剛才的任務!2 如果只想暫時用一下shell,則可以 command 執行...

nodejs 中使用shell指令碼

雖然nodejs的require child process execsync可以使用shell,但其實問題特別多。尤其是符號和語法衝突,可讀性也很差,只能完成一些小規模的shell使用。const exec require child process execsync 執行,刪除.dist目錄下所...

shell中使用bc計算

bc是linux自帶的一款任意精度計算器,個人覺得挺好用比let exec好用 稍微舉幾個栗子 echo scale 2 100.00 10.55 bc echo scale 2 100.00 10.55 bc scale表示精度,這裡scale 2表示小數點後面保留兩位,一般的加減乘除。這個小數點...