免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux計算命令耗時,linux 計算時間差

基本linux命令

基本linux命令有哪些呢?

創新互聯公司專注于張家港網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供張家港營銷型網站建設,張家港網站制作、張家港網頁設計、張家港網站官網定制、微信小程序定制開發服務,打造張家港網絡公司原創品牌,更為您提供張家港網站排名全網營銷落地服務。

1、ls命令

就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等。

常用參數搭配:

ls -a 列出目錄所有文件,包含以.開始的隱藏文件

ls -A 列出除.及..的其它文件

ls -r 反序排列

ls -t 以文件修改時間排序

ls -S 以文件大小排序

ls -h 以易讀大小顯示

ls -l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來

實例:

(1) 按易讀方式按時間反序排序,并顯示文件詳細信息

ls -lhrt

(2) 按大小反序顯示文件詳細信息

ls -lrS

(3)列出當前目錄中所有以"t"開頭的目錄的詳細內容

ls -l t*

(4) 列出文件絕對路徑(不包含隱藏文件)

ls | sed "s:^:`pwd`/:"

(5) 列出文件絕對路徑(包含隱藏文件)

find $pwd -maxdepth 1 | xargs ls -ld

2、cd 命令

cd(changeDirectory) 命令語法:

cd [目錄名]

說明:切換當前目錄至 dirName。

實例:

(1)進入要目錄

cd /

(2)進入 "home" 目錄

cd ~

(3)進入上一次工作路徑

cd -

(4)把上個命令的參數作為cd參數使用。

cd !$

3、pwd 命令

pwd 命令用于查看當前工作目錄路徑。

實例:

(1)查看當前路徑

pwd

(2)查看軟鏈接的實際路徑

pwd -P

4、mkdir 命令

mkdir 命令用于創建文件夾。

可用選項:

-m: 對新建目錄設置存取權限,也可以用 chmod 命令設置;

-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。

實例:

(1)當前工作目錄下創建名為 t的文件夾

mkdir t

(2)在 tmp 目錄下創建路徑為 test/t1/t 的目錄,若不存在,則創建:

mkdir -p /tmp/test/t1/t

5、rm 命令

刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。

rm [選項] 文件…

實例:

(1)刪除任何 .log 文件,刪除前逐一詢問確認:

rm -i *.log

(2)刪除 test 子目錄及子目錄中所有檔案刪除,并且不用一一確認:

rm -rf test

(3)刪除以 -f 開頭的文件

rm -- -f*

6、rmdir 命令

從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對其父目錄的寫權限。

注意:不能刪除非空目錄

實例:

(1)當 parent 子目錄被刪除后使它也成為空目錄的話,則順便一并刪除:

rmdir -p parent/child/child11

7、mv 命令

移動文件或修改文件名,根據第二參數類型(如目錄,則移動文件;如為文件則重命令該文件)。

當第二個參數為目錄時,第一個參數可以是多個以空格分隔的文件或目錄,然后移動第一個參數指定的多個文件到第二個參數指定的目錄中。

實例:

(1)將文件 test.log 重命名為 test1.txt

mv test.log test1.txt

(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中

mv llog1.txt log2.txt log3.txt /test3

(3)將文件 file1 改名為 file2,如果 file2 已經存在,則詢問是否覆蓋

mv -i log1.txt log2.txt

(4)移動當前文件夾下的所有文件到上一級目錄

mv * ../

8、cp 命令

將源文件復制至目標文件,或將多個源文件復制至目標目錄。

注意:命令行復制,如果目標文件已經存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數,則不會提示,而是直接覆蓋!

-i 提示

-r 復制目錄及目錄內所有項目

-a 復制的文件與原文件時間一樣

實例:

(1)復制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。

cp -ai a.txt test

(2)為 a.txt 建議一個鏈接(快捷方式)

cp -s a.txt link_a.txt

9、cat 命令

cat 主要有三大功能:

1.一次顯示整個文件:

cat filename

2.從鍵盤創建一個文件:

cat filename

只能創建新文件,不能編輯已有文件。

3.將幾個文件合并為一個文件:

cat file1 file2 file

-b 對非空輸出行號

-n 輸出所有行號

實例:

(1)把 log2012.log 的文件內容加上行號后輸入 log2013.log 這個文件里

cat -n log2012.log log2013.log

(2)把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之后將內容附加到 log.log 里

cat -b log2012.log log2013.log log.log

(3)使用 here doc 生成新文件

cat log.txt EOF

Hello

World

PWD=$(pwd)

EOF

ls -l log.txt

cat log.txt

Hello

World

PWD=/opt/soft/test

(4)反向列示

tac log.txt

PWD=/opt/soft/test

World

Hello

10、more 命令

功能類似于 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。

命令參數:

+n 從笫 n 行開始顯示

-n 定義屏幕大小為n行

+/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示

-c 從頂部清屏,然后顯示

-d 提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能

-l 忽略Ctrl+l(換頁)字符

-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似

-s 把連續的多個空行顯示為一行

-u 把文件內容中的下畫線去掉

常用操作命令:

Enter 向下 n 行,需要定義。默認為 1 行

Ctrl+F 向下滾動一屏

空格鍵 向下滾動一屏

Ctrl+B 返回上一屏

= 輸出當前行的行號

:f 輸出文件名和當前行的行號

V 調用vi編輯器

!命令 調用Shell,并執行命令

q 退出more

實例:

(1)顯示文件中從第3行起的內容

more +3 text.txt

(2)在所列出文件目錄詳細信息,借助管道使每次顯示 5 行

ls -l | more -5

按空格顯示下 5 行。

11、less 命令

less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。

常用命令參數:

-i 忽略搜索時的大小寫

-N 顯示每行的行號

-o 文件名 將less 輸出的內容在指定文件中保存起來

-s 顯示連續空行為一行

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重復前一個搜索(與 / 或 ? 有關)

N:反向重復前一個搜索(與 / 或 ? 有關)

-x 數字 將“tab”鍵顯示為規定的數字空格

b 向后翻一頁

d 向后翻半頁

h 顯示幫助界面

Q 退出less 命令

u 向前滾動半頁

y 向前滾動一行

空格鍵 滾動一行

回車鍵 滾動一頁

[pagedown]: 向下翻動一頁

[pageup]: 向上翻動一頁

實例:

(1)ps 查看進程信息并通過 less 分頁顯示

ps -aux | less -N

(2)查看多個文件

less 1.log 2.log

可以使用 n 查看下一個,使用 p 查看前一個。

12、head 命令

head 用來顯示檔案的開頭至標準輸出中,默認 head 命令打印其相應文件的開頭 10 行。

常用參數:

-n行數 顯示的行數(行數為復數表示從最后向前數)

實例:

(1)顯示 1.log 文件中前 20 行

head 1.log -n 20

(2)顯示 1.log 文件前 20 字節

head -c 20 log2014.log

(3)顯示 t.log最后 10 行

head -n -10 t.log

13、tail 命令

用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。

常用參數:

-f 循環讀?。ǔS糜诓榭催f增的日志文件)

-n行數 顯示行數(從后向前)

(1)循環讀取逐漸增加的文件內容

ping 127.0.0.1 ping.log

后臺運行:可使用 jobs -l 查看,也可使用 fg 將其移到前臺運行。

tail -f ping.log

(查看日志)

14、which 命令

在 linux 要查找某個文件,但不知道放在哪里了,可以使用下面的一些命令來搜索:

which 查看可執行文件的位置。

whereis 查看文件的位置。

locate 配合數據庫查看文件位置。

find 實際搜尋硬盤查詢文件名稱。

which 是在 PATH 就是指定的路徑中,搜索某個系統命令的位置,并返回第一個搜索結果。使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

常用參數:

-n  指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名。

實例:

(1)查看 ls 命令是否存在,執行哪個

which ls

(2)查看 which

which which

(3)查看 cd

which cd(顯示不存在,因為 cd 是內建命令,而 which 查找顯示是 PATH 中的命令)

查看當前 PATH 配置:

echo $PATH

或使用 env 查看所有環境變量及對應值

15、whereis 命令

whereis 命令只能用于程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。whereis 及 locate 都是基于系統內建的數據庫進行搜索,因此效率很高,而find則是遍歷硬盤查找文件。

常用參數:

-b 定位可執行文件。

-m 定位幫助文件。

-s 定位源代碼文件。

-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。

實例:

(1)查找 locate 程序相關文件

whereis locate

(2)查找 locate 的源碼文件

whereis -s locate

(3)查找 lcoate 的幫助文件

whereis -m locate

2037年后linux時間怎么算

Linux系統使用time計算命令來算的,以輸出的信息分別顯示了該命令所花費的real時間為user時間和sys時間三個時段、也就是linux時間怎么算法,

1 real時間是指掛鐘時間,也就是命令開始執行到結束的時間。這個短時間包括其他進程所占用的時間片,和進程被阻塞時所花費的時間。

2 user時間是指進程花費在用戶模式中的CPU時間,這是唯一真正用于執行進程所花費的時間,其他進程和花費阻塞狀態中的時間沒有計算在內。

3 sys時間是指花費在內核模式中的CPU時間,代表在內核中執系統調用所花費的時間,這也是真正由進程使用的CPU時間。

linux常用命令time怎么使用

Linux中time命令,我們經常用來計算某個程序的運行耗時(real),用戶態cpu耗時(user),系統態cpu耗時(sys)

time命令最常用的使用方式就是在其后面直接跟上命令和參數:

time command [arguments...]

舉個栗子1:

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ time sleep 2

real 0m2.005s

user 0m0.001s

sys 0m0.002s

小解其意:

real 0m2.005s :sleep這個程序運行耗時為0m2.005s

user 0m0.001s : 這個時間代表的是sleep運行在用戶態的cpu時間

sys 0m0.002s : 這個時間代表的是sleep運行在核心態的cpu時間。

用戶態(User Mode):

在用戶態,代碼不具備直接訪問硬件或者訪問內存的能力,而必須借助操作系統提供的可靠的,底層的APIs來訪問硬件或者內存。由于這種隔離帶來的保護作用,用戶態的代碼崩潰(Crash),系統是可以恢復的。我們大多數的代碼都是運行在用戶態的。

核心態(Kernel Mode):

在內核態,代碼擁有完全的,不受任何限制的訪問底層硬件的能力??梢詧绦腥我獾腃PU指令,訪問任意的內存地址。內核態通常情況下,都是為那些最底層的,由操作系統提供的,可信可靠的代碼來運行的。內核態的代碼崩潰將是災難性的,它會影響到整個系統。

為什么要區分Kernel Mode 和 User Mode:

隔離保護,使得系統更穩定。

好,講完用戶態和核心態之后,我們來看user time,說過了,這個指的是程序foo運行在用戶態的cpu時間,cpu時間不是墻上的鐘走過的時間,而是指CPU工作時間。

舉個栗子2:

#time -p 不顯示單位

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ time -p sleep 2

real 2.00

user 0.00

sys 0.00

linux如何查看一個命令執行的時間

time命令可以查看執行時間

比如要查看ls執行時間, 可以用"time ls",就會看到執行時間了。關于這個linux系統的學習,我一直看劉遄老師的書籍《linux就該這么學》

Linux查看拷貝一個文件用多少時間命令?

如果是想知道需要大約多長時間才能復制過去的話,就用被粘貼存儲器的平均寫入速度÷文件大小(單位一樣)就可以算出來大約時間了

如果你是想計時的話,在Manjaro Linux之類的系統終端上因為啟用了zsh的powerlevel10k主題,所以自帶一個命令執行時間計時器,會在執行結束后告訴你時間,或者可以使用time命令

如果是dd這個命令的話可以在后面多加一個status=progress參數來看到目前寫入進度跟預計時間

linuxcp命令并顯示拷貝時間

在Linux系統里面用到 cp命令復制不能顯示文件拷貝的進度,也不能計算還有多長時間文件可以 拷貝結束,現在寫一個程序可以顯示文件拷貝的進度。

思路:當前目錄下面有一個1G大小的bigfile文件

當我在命令行下面輸入ls -lh bigfile,我會得到這個文件的詳細信息,當然也可以看到文件的大小。

ls -lh bigfile

-rw-rw-r-- 1 nii nii 1000M 7月 13 19:41 bigfile

我們可以用popen函數,把執行之后的結果”-rw-rw-r– 1 nii nii 1000M 7月 13 19:41 bigfil”這串字符串接收下來,我們可以提取出來表示文件大小的那段字符串,比如這個我們可以提取”1000”在用atoi函數,把字符串轉換為int型數值1000(不了解popen函數和atoi函數的請自行學習),就可以獲得文件大小。

例如我的文件名字叫mycp.c,我執行gcc -o mycp mycp.c生成一個mycp的可執行文件。

接下來我在命令行上輸入./mycp bigfile destbigfile把當前目錄下面的bigfile文件拷貝為destbigfile,這時我產生一個子進程,子進程負責調用系統的cp命令拷貝,父進程每隔一秒鐘,去獲取destbigfile、bigfile 文件的大小,就可以知道拷貝的進度,當然也可以獲得拷貝的時間,就可以計算出來離拷貝結束還有多長時間。

下面是代碼的實現:

#include

#include

#include

#include

#include

#include

#include

/** 得到文件的詳細信息 */

int getFileMsg(char* pchCmd,char *pchMsg);

int main(int argc,char* argv[])

{

char szSrcFileMsg[150] = {0};

char szSrcFileSizeMsg[10] = {0};

int nSrcFileSize = 0;

char szSDestFileMsg[150] = {0};

char szDestFileSizeMsg[10] = {0};

int nDestFileSize = 0;

int pid = 0;

/** shell執行的命令 ,在創建文件的時候使用*/

char szExcueCommand[150] = {0};

float fRate = 0;

int nUsedTime = 0;

float nLastTime = 0;

/** 入參必須是三個 */

if (1 == argc)

{

printf("please input the src and des file\n");

return -1;

}

/** 產生子進程 */

pid = fork();

/** 如果是子進程,負責執行復制命令 */

if (0 == pid)

{

sprintf(szExcueCommand,"%s %s %s","cp",argv[1],argv[2]);

printf("%s\n",szExcueCommand);

system(szExcueCommand);

return 0;

}

/** 父進程負責把正在復制的原文件和復制的目標文件的大小計算出來,就可以知道復制的進度,計算頻率為1秒一次 */

else

{

/** 獲得原文件的大小 */

if (-1 == getFileMsg(argv[1],szSrcFileMsg))

{

printf("get sorce file message failed \n");

return -1;

}

/** 把原文件大小的信息取出來 */

strncpy(szSrcFileSizeMsg,szSrcFileMsg+21,4);

szSrcFileSizeMsg[5] = '\0';

nSrcFileSize = atoi(szSrcFileSizeMsg);

while(1)

{

sleep(1);

nUsedTime ++;

/** 獲得目標文件的大小 */

if (-1 == getFileMsg(argv[2],szSDestFileMsg))

{

printf("get dest file message failed \n");

return -1;

}

/** 把原文件大小的信息取出來 */

strncpy(szDestFileSizeMsg,szSDestFileMsg+21,4);

szDestFileSizeMsg[5] = '\0';

nDestFileSize = atoi(szDestFileSizeMsg);

/*** 計算復制的進度 */

fRate = (nDestFileSize * 100) / nSrcFileSize ;

/** 計算剩下的時間 */

nLastTime = ((100 - fRate) * nUsedTime) / fRate;

/** 打印進度條 */

printf("已復制 %.2f %% 還需要 %.1f 秒\n",fRate,nLastTime);

/** 復制完成之后,退出循環 */

if (nSrcFileSize == nDestFileSize)

{

printf("復制完成,耗時 %d 秒\n",nUsedTime);

break;

}

}

}

return 0;

}

/** 得到文件的詳細信息 */

int getFileMsg(char* pchCmd,char *pchMsg)

{

FILE *fstream=NULL;

char szBuff[BUFSIZ] = {0};

char szExcueCommand[150] = {"ls -lh"};

sprintf(szExcueCommand,"%s %s",szExcueCommand,pchCmd);

if (NULL==(fstream=popen(szExcueCommand,"r")))

{

perror("execute command failed: ");

return -1;

}

/** 得到命令的結果 */

if (NULL == fgets(szBuff, sizeof(szBuff), fstream))

{

pclose(fstream);

return -1;

}

pclose(fstream);

strcpy(pchMsg,szBuff);

return 0;

}

Linux下執行結果為:

./mycp bigfile destbigfile

cp bigfile destbigfile

已復制 3.00 % 還需要 32.3 秒

已復制 5.00 % 還需要 38.0 秒

已復制 8.00 % 還需要 34.5 秒

已復制 10.00 % 還需要 36.0 秒

已復制 12.00 % 還需要 36.7 秒

已復制 13.00 % 還需要 40.2 秒

已復制 14.00 % 還需要 43.0 秒

已復制 17.00 % 還需要 39.1 秒

已復制 20.00 % 還需要 36.0 秒

已復制 21.00 % 還需要 37.6 秒

已復制 24.00 % 還需要 34.8 秒

已復制 24.00 % 還需要 38.0 秒

已復制 27.00 % 還需要 35.1 秒

已復制 32.00 % 還需要 29.8 秒

已復制 33.00 % 還需要 30.5 秒

已復制 35.00 % 還需要 29.7 秒

已復制 38.00 % 還需要 27.7 秒

已復制 41.00 % 還需要 25.9 秒

已復制 42.00 % 還需要 26.2 秒

已復制 43.00 % 還需要 26.5 秒

已復制 44.00 % 還需要 26.7 秒

已復制 48.00 % 還需要 23.8 秒

已復制 50.00 % 還需要 23.0 秒

已復制 52.00 % 還需要 22.2 秒

已復制 53.00 % 還需要 22.2 秒

已復制 53.00 % 還需要 23.1 秒

已復制 57.00 % 還需要 20.4 秒

已復制 59.00 % 還需要 19.5 秒

已復制 61.00 % 還需要 18.5 秒

已復制 63.00 % 還需要 17.6 秒

已復制 63.00 % 還需要 18.2 秒

已復制 66.00 % 還需要 16.5 秒

已復制 69.00 % 還需要 14.8 秒

已復制 70.00 % 還需要 14.6 秒

已復制 72.00 % 還需要 13.6 秒

已復制 73.00 % 還需要 13.3 秒

已復制 75.00 % 還需要 12.3 秒

已復制 78.00 % 還需要 10.7 秒

已復制 79.00 % 還需要 10.4 秒

已復制 82.00 % 還需要 8.8 秒

已復制 83.00 % 還需要 8.4 秒

已復制 84.00 % 還需要 8.0 秒

已復制 87.00 % 還需要 6.4 秒

已復制 90.00 % 還需要 4.9 秒

已復制 91.00 % 還需要 4.5 秒

已復制 93.00 % 還需要 3.5 秒

已復制 93.00 % 還需要 3.5 秒

已復制 96.00 % 還需要 2.0 秒

已復制 99.00 % 還需要 0.5 秒

已復制 100.00 % 還需要 0.0 秒

復制完成,耗時 50 秒

名稱欄目:linux計算命令耗時,linux 計算時間差
本文URL:http://m.newbst.com/article42/hsejhc.html

成都網站建設公司_創新互聯,為您提供電子商務、網站維護自適應網站搜索引擎優化、企業網站制作動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發