sort 是將文件的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按照ASCII碼值進(jìn)行比較,默認(rèn)將他們按照升序輸出

創(chuàng)新互聯(lián)專注于景德鎮(zhèn)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供景德鎮(zhèn)營(yíng)銷型網(wǎng)站建設(shè),景德鎮(zhèn)網(wǎng)站制作、景德鎮(zhèn)網(wǎng)頁設(shè)計(jì)、景德鎮(zhèn)網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造景德鎮(zhèn)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供景德鎮(zhèn)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
降序
在輸出中去重
將排序結(jié)果輸出到原文件
sort的默認(rèn)輸出是輸出到標(biāo)準(zhǔn)輸出,如果想把結(jié)果輸出到文件,需要 sort file newfile,但是如果想把結(jié)果輸出到原文件這樣就不行了,這時(shí)就需要 使用sort -o
以數(shù)值來排序
sort 默認(rèn)是按照字符串排序的,這樣就會(huì)出現(xiàn)10比3小的情況,sort -n 就可以告訴sort 以整數(shù)排序
-t 后面跟 分隔符
-k 后面跟數(shù)字,表示用第幾列排序
如 sort -t : -k 2 表示把每行 以:號(hào)分割,按照第二列排序
banana:30:5.5
orange:20:3.4
apple:10:2.5
我們可以看到,當(dāng)baidu 和soho都是100的時(shí)候,baidu排在前面,當(dāng)當(dāng)前域按照默認(rèn)規(guī)矩,是從第一個(gè)域開始進(jìn)行升序排序,因此baidu排在了sohu前面。
sort 支持 -k 2 -k3這種模式,如果你需要,你可以繼續(xù)這么寫下去
你仔細(xì)看看,在-k 3后面偷偷加上了一個(gè)小寫字母r,r和-r的作用是一樣,你也可以把前面的-n去掉 在r后面加上n,如下
其實(shí)-k 選項(xiàng) 功能很強(qiáng)大,語法[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
從逗號(hào)前后 分為兩大部分,即-k 2,2,是嚴(yán)格使用第一個(gè)域排序,如果只設(shè)置-k 2 其實(shí)是按照從第一個(gè)域到行尾。逗號(hào)分開的每部分又有一個(gè)點(diǎn)表示子域,即-k 1.2表示 按照第一個(gè)域的第二個(gè)字符排序,Modifiers就是我們用到的n和r 如 -k 1.2nr 具體我們看下面的例子。
我們使用了-k 1.2,這就表示對(duì)第一個(gè)域的第二個(gè)字符開始到本域的最后一個(gè)字符為止的字符串進(jìn)行排序。你會(huì)發(fā)現(xiàn)baidu因?yàn)榈诙€(gè)字母是a而名列榜首。sohu和 google第二個(gè)字符都是o,但sohu的h在google的o前面,所以兩者分別排在第二和第三。這和之前說到的按照默認(rèn)的排序規(guī)則 是不同的,當(dāng)?shù)谝粋€(gè)域的第二個(gè)字符相同時(shí),他不會(huì)去按照第一個(gè)字符排序,而是按照后面的字符排序,這是因?yàn)?k 1.2是對(duì)第一個(gè)域的第二個(gè)字符開始到本域的最后一個(gè)字符為止的字符串進(jìn)行排序。而之前的夸域其實(shí)是一種假象。
-u只識(shí)別用-k設(shè)定的域,發(fā)現(xiàn)相同,就將后續(xù)相同的行都刪除
但是這時(shí)候,卻一行也沒有刪除。原來-u是會(huì)權(quán)衡所有-k選項(xiàng),將都相同的才會(huì)刪除,只要其中有一級(jí)不同都不會(huì)輕易刪除的
可以用到b、d、f、i、n 或 r。
其中n和r你肯定已經(jīng)很熟悉了。
b表示忽略本域的簽到空白符號(hào)。
d表示對(duì)本域按照字典順序排序(即,只考慮空白和字母)。
f表示對(duì)本域忽略大小寫進(jìn)行排序。
i表示忽略“不可打印字符”,只針對(duì)可打印字符進(jìn)行排序。(有些ASCII就是不可打印字符,比如\a是報(bào)警,\b是退格,\n是換行,\r是回車等等)
01
linux常用命令有pwd命令、cd命令、ls命令、cat命令、grep命令、touch命令、cp命令、mv命令、rm命令、rmdir命令等。
linux常用命令:
1、 pwd命令
該命令的英文解釋為print working directory(打印工作目錄)。輸入pwd命令,Linux會(huì)輸出當(dāng)前目錄。
2、 cd命令
cd命令用來改變所在目錄。
cd / 轉(zhuǎn)到根目錄中
cd ~ 轉(zhuǎn)到/home/user用戶目錄下
cd /usr 轉(zhuǎn)到根目錄下的usr目錄中-------------絕對(duì)路徑
cd test 轉(zhuǎn)到當(dāng)前目錄下的test子目錄中-------相對(duì)路徑
3、 ls命令
ls命令用來查看目錄的內(nèi)容。 選項(xiàng) 含義 -a 列舉目錄中的全部文件,包括隱藏文件 -l 列舉目錄中的細(xì)節(jié),包括權(quán)限、所有者、組群、大小、創(chuàng)建日期、文件是否是鏈接等 -f 列舉的文件顯示文件類型 -r 逆向,從后向前地列舉目錄中內(nèi)容 -R 遞歸,該選項(xiàng)遞歸地列舉當(dāng)前目錄下所有子目錄內(nèi)的內(nèi)容 -s 大小,按文件大小排序 -h 以人類可讀的方式顯示文件的大小,如用K、M、G作單位 ls -l examples.doc 列舉文件examples.doc的所有信息
4、 cat命令
cat命令可以用來合并文件,也可以用來在屏幕上顯示整個(gè)文件的內(nèi)容。
cat snow.txt 該命令顯示文件snow.txt的內(nèi)容,ctrl+D退出cat。
5、 grep命令
grep命令的最大功能是在一堆文件中查找一個(gè)特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個(gè)字符串,grep查找是區(qū)分大小寫的。
6 、touch命令
touch命令用來創(chuàng)建新文件,他可以創(chuàng)建一個(gè)空白的文件,可以在其中添加文本和數(shù)據(jù)。
touch newfile 該命令創(chuàng)建一個(gè)名為newfile的空白文件。
7 、cp命令
cp命令用來拷貝文件,要復(fù)制文件,輸入命令:
cp
cp t.txt Document/t 該命令將把文件t.txt復(fù)制到Document目錄下,并命名為t。 選項(xiàng) 含義 -i 互動(dòng):如果文件將覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -r 遞歸:這個(gè)選項(xiàng)會(huì)復(fù)制整個(gè)目錄樹、子目錄以及其他 -v 詳細(xì):顯示文件的復(fù)制進(jìn)度
8 、mv命令
mv命令用來移動(dòng)文件。 選項(xiàng) 說明 -i 互動(dòng):如果選擇的文件會(huì)覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -f 強(qiáng)制:它會(huì)超越互動(dòng)模式,不提示地移動(dòng)文件,屬于很危險(xiǎn)的選項(xiàng) -v 詳細(xì):顯示文件的移動(dòng)進(jìn)度
mv t.txt Document 把文件t.txt 移動(dòng)到目錄Document中。
9 、rm命令
rm命令用來刪除文件。 選項(xiàng) 說明 -i 互動(dòng):提示確認(rèn)刪除 -f 強(qiáng)制:代替互動(dòng)模式,不提示確認(rèn)刪除 -v 詳細(xì):顯示文件的刪除進(jìn)度 -r 遞歸:將刪除某個(gè)目錄以及其中所有的文件和子目錄
rm t.txt 該命令刪除文件t.txt
10、 rmdir命令
rmdir命令用來刪除目錄。
無論是工作中使用還是應(yīng)付各種面試,linux sort 都是必須要掌握的 linux 基本命令之一。尤其是 linux sort -k 命令,經(jīng)常會(huì)被搞暈,索性好好研究一下 sort 命令
語法:
選項(xiàng):
參數(shù)就不一一介紹了,直接上例子,首先先看下原始的排序數(shù)據(jù)
cat sort.log
1、打印從哪列開始是亂序
sort -c sort.log; echo $?
sort -C sort.log; echo $?
其中,返回結(jié)果 1,表示文件不是已經(jīng)排序好的文件
2、默認(rèn)排序( 整行進(jìn)行ASCII字符升序)
sort sort.log
3、高能來了,讓人迷糊的 k 語法,首先看下 k 的語法格式
這個(gè)語法格式可以被其中的逗號(hào)(”,”)分為兩大部分,Start部分和End部分
Start和End部分都由三部分組成,其中的Modifier部分就是類似n和r的選項(xiàng)部分,可省略
FStart、Fend,表示使用的域,而CStart則表示在FStart域中從第幾個(gè)字符開始算"排序首字符",同理,CEnd表示結(jié)尾的第幾個(gè)字符是排序末尾字符,.CStart、.CEnd是可以省略的,分別表示從本域的開頭部分開始、到本域的域尾結(jié)束,CEnd設(shè)定為0,也是表示結(jié)尾到域尾。口說無憑,上幾個(gè)例子吧
3.1 對(duì)第三列進(jìn)行排序,如果不加n,按照 ASCII字符排序
sort -t $'\t' -k 3 sort.log
3.2 加n后,按照數(shù)值排序
sort -t $'\t' -k 3n sort.log
3.3 不指定 FEnd 時(shí),多個(gè) -k 從前往后排序可以,從后往前不行
從后往前,多個(gè) -k,數(shù)據(jù)符合預(yù)期
sort -t $'\t' -k 3n -k 1 sort.log
從后往前,多個(gè) -k ,第三列相同時(shí),按照第一列降序排列,數(shù)據(jù)符合預(yù)期
sort -t $'\t' -k 3n -k 1r sort.log
更換成從前往后
sort -t $'\t' -k 1 -k 3n sort.log
sort -t $'\t' -k 1 -k 3nr sort.log
通過 sort -t $'\t' -k 1 -k 3n sort.log 和 sort -t $'\t' -k 1 -k 3nr sort.log 返回的結(jié)果發(fā)現(xiàn),在第一列相等時(shí),無論其三列是正序排列,還是逆序排列,結(jié)果都一樣,說明后邊的 -k 未生效
當(dāng)指定 FEend 后
sort -t $'\t' -k 1,1 -k 3nr sort.log
3.4 作用域
緊跟在字段后的選項(xiàng)(如"-k3n"的"n"和"-k2nr"的"n","r")稱為私有選項(xiàng),使用短橫線寫在字段外的選項(xiàng)(如"-n"、"-r")為全局選項(xiàng)。當(dāng)沒有為字段分配私有選項(xiàng)時(shí),該排序字段將繼承全局選項(xiàng),所有選項(xiàng)包括但不限于"bfnrhM"
除了"b"選項(xiàng)外,其余選項(xiàng)無論是指定在FStart還是FEnd中都是等價(jià)的,對(duì)于"b"選項(xiàng),指定在FStart則作用于FStart,指定在FEnd則作用于FEnd
sort -t $'\t' -k1r,2 sort.log ,可以看出一、二列都是倒敘排列
3.5 注意
指定n選項(xiàng)按數(shù)值排序時(shí), 由于"n"選項(xiàng)只能識(shí)別數(shù)字和負(fù)號(hào)"-",當(dāng)排序時(shí)遇到無法識(shí)別字符時(shí),將導(dǎo)致該key的排序立即結(jié)束,n選項(xiàng)絕對(duì)不會(huì)跨域進(jìn)行比較
默認(rèn)情況下,sort會(huì)進(jìn)行一次 "最后的排序" ,按照默認(rèn)規(guī)則對(duì)整行進(jìn)行一次排序,這次排序稱為"最后的排序"
sort -t $'\t' -k3n sort.log ,在第三列相等時(shí),整行會(huì)按照 ASCII 進(jìn)行最后的升序排列
sort -t $'\t' -k3,4n -s sort.log ,加了 -s 后,不會(huì)進(jìn)行最后的排序(1000相同時(shí),e在b的前邊了),而是保留原排序
3.6 按照某個(gè)域中的第n個(gè)字符進(jìn)行排序
sort -t $'\t' -k2.3,2.3 sort.log ,按第二列第三個(gè)字符進(jìn)行排序
4、 -h 使用易讀性數(shù)字(例如:2K、1G)
sort -t $'\t' -k5h sort.log
sort -t $'\t' -k2,2 sort.log|uniq
sort -t $'\t' -k2,2 -u sort.log 會(huì)對(duì)第二列進(jìn)行去重,而 sort -t $'\t' -k2,2 sort.log|uniq 會(huì)對(duì)整行進(jìn)行去重(當(dāng)然uniq也可以按照第二列進(jìn)行去重)
sort整理完了,歡迎大牛指教
linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的當(dāng)前工作目錄(文件夾)的路徑。該命令將返回一個(gè)絕對(duì)(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對(duì)路徑的一個(gè)示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請(qǐng)使用 cd 命令。根據(jù)您所在的當(dāng)前工作目錄,它需要目錄的完整路徑或名稱。假設(shè)您位于 /home/username / Documents 中,并且想要轉(zhuǎn)到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個(gè)全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然后輸入目錄的絕對(duì)路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導(dǎo)航:cd ..(帶有兩個(gè)點(diǎn))將一個(gè)目錄向上移動(dòng) cd 直接轉(zhuǎn)到主文件夾 cd-(帶連字符)移動(dòng)到上一個(gè)目錄附帶說明一下,Linux 的 shell 是區(qū)分大小寫的。因此,您必須準(zhǔn)確輸入名稱的目錄。
ls 命令
LS 命令用于查看目錄的內(nèi)容。默認(rèn)情況下,此命令將顯示當(dāng)前工作目錄的內(nèi)容。如果要查看其他目錄的內(nèi)容,請(qǐng)鍵入 ls,然后鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內(nèi)容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細(xì)信息,例如權(quán)限,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用于在標(biāo)準(zhǔn)輸出(sdout)上列出文件的內(nèi)容。要運(yùn)行此命令,請(qǐng)鍵入 cat,然后輸入文件名及其擴(kuò)展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 創(chuàng)建一個(gè)新文件 cat filename1 filename2 filename3 連接兩個(gè)文件(1 和 2),并將它們的輸出存儲(chǔ)在新文件中(3)將文件轉(zhuǎn)換為大寫或小寫使用,cat filename | tr a-z A-Z output.txt
cp 命令
使用 cp 命令將文件從當(dāng)前目錄復(fù)制到另一個(gè)目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創(chuàng)建一個(gè) Scene.jpg 副本(來自當(dāng)前目錄)。
mv 命令
mv 命令的主要用途是移動(dòng)文件,盡管它也可以用于重命名文件。mv 中的參數(shù)類似于 cp 命令。您需要輸入 mv,文件名和目標(biāo)目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創(chuàng)建一個(gè)新目錄 - 如果鍵入 mkdir Music,它將創(chuàng)建一個(gè)名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個(gè)目錄中生成新目錄,請(qǐng)使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級(jí))選項(xiàng)在兩個(gè)現(xiàn)有目錄之間創(chuàng)建一個(gè)目錄。例如,mkdir -p Music / 2022 / Newfile 將創(chuàng)建新的 “2022” 文件。
rmdir 命令
如果需要?jiǎng)h除目錄,請(qǐng)使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用于刪除目錄以及其中的內(nèi)容。如果只想刪除目錄(作為 rmdir 的替代方法),請(qǐng)使用 rm -r。注意:使用此命令時(shí)要格外小心,并仔細(xì)檢查您所在的目錄。這將刪除所有內(nèi)容,并且沒有撤消操作。
touch 命令
該觸摸命令允許您創(chuàng)建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創(chuàng)建一個(gè)名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個(gè)或多個(gè)單詞的文件,請(qǐng)使用星號(hào)(*)。例如,locate -i school * note 命令將搜索包含單詞 “school” 和 “ note” 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區(qū)別在于,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時(shí)的其他變化 是:要查找當(dāng)前目錄中使用的文件,請(qǐng)使用 find . -name notes.txt 要查找目錄,請(qǐng)使用 /-type d -name notes. txt13. grep 命令無疑對(duì)日常使用很有幫助的另一個(gè)基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點(diǎn),grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 “SuperUser Do” 的縮寫,使您能夠執(zhí)行需要管理或超級(jí)用戶權(quán)限的任務(wù)。但是,建議不要將此命令用于日常使用,因?yàn)槿绻鲥e(cuò)了一些事情,很容易發(fā)生錯(cuò)誤。
df 命令
使用 df 命令可獲取有關(guān)系統(tǒng)磁盤空間使用情況的報(bào)告,以百分比和 KB 表示。如果要以兆字節(jié)為單位查看報(bào)告,請(qǐng)輸入 df -m。
du 命令
如果要檢查文件或目錄占用了多少空間,答案是 du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號(hào),而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請(qǐng)?jiān)诿钚兄刑砑?- h 參數(shù)。
head 命令
所述頭命令用于查看任何文本文件的第一行。默認(rèn)情況下,它將顯示前十行,但是您可以根據(jù)自己的喜好更改此數(shù)字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最后十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個(gè)文件的內(nèi)容。分析文件后,它將輸出不匹配的行。程序員在需要進(jìn)行程序更改時(shí)經(jīng)常使用此命令,而不是重寫整個(gè)源代碼。此命令最簡(jiǎn)單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個(gè)文件到一個(gè)壓縮包。類似于 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長(zhǎng)的功能列表,非常復(fù)雜,例如將新文件添加到現(xiàn)有檔案中,列出檔案內(nèi)容,從檔案中提取內(nèi)容等等。查看一些實(shí)際示例,以了解有關(guān)其他功能的更多信息。
chmod 命令
chmod 是另一個(gè) Linux 命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權(quán)限。由于此命令相當(dāng)復(fù)雜,因此您可以閱讀完整的教程以正確執(zhí)行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權(quán)轉(zhuǎn)讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當(dāng)前作業(yè)及其狀態(tài)。作業(yè)基本上是由 Shell 啟動(dòng)的進(jìn)程。
kill 命令
如果您的程序無響應(yīng),則可以使用 kill 命令手動(dòng)終止它。它將向運(yùn)行異常的應(yīng)用發(fā)送特定信號(hào),并指示該應(yīng)用自行終止。您總共可以使用 64 個(gè)信號(hào),但是人們通常只使用兩個(gè)信號(hào):SIGTERM(15) — 請(qǐng)求程序停止運(yùn)行,并給它一些時(shí)間來保存其所有進(jìn)度。如果在輸入 kill 命令時(shí)未指定信號(hào),則將使用此信號(hào)。SIGKILL(9) - 強(qiáng)制程序立即停止。未保存的進(jìn)度將丟失。除了知道信號(hào)之外,您還需要知道要?dú)⑺赖某绦虻倪M(jìn)程標(biāo)識(shí)號(hào)(PID)。如果您不知道 PID,只需運(yùn)行命令 ps ux。在知道您要使用什么信號(hào)以及程序的 PID 之后,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與服務(wù)器的連接狀態(tài)。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 并測(cè)量響應(yīng)時(shí)間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然后輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對(duì)于 Unix 名,將打印您的 Linux 系統(tǒng),如計(jì)算機(jī)名稱的詳細(xì)信息,操作系統(tǒng),內(nèi)核,等等。
top 命令
作為與 Windows 中的任務(wù)管理器等效的終端,top 命令將顯示正在運(yùn)行的進(jìn)程的列表以及每個(gè)進(jìn)程使用的 CPU 數(shù)量。監(jiān)視系統(tǒng)資源使用情況非常有用,尤其是知道哪個(gè)進(jìn)程由于消耗太多資源而需要終止時(shí)。
history 命令
當(dāng)您使用 Linux 一段時(shí)間后,您會(huì)很快注意到每天可以運(yùn)行數(shù)百個(gè)命令。因此,如果您想查看之前輸入的命令,運(yùn)行歷史記錄命令特別有用。
man 命令
對(duì)某些 Linux 命令的功能感到困惑嗎?不用擔(dān)心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學(xué)習(xí)如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動(dòng)指令。
echo 命令
此命令用于將一些數(shù)據(jù)移到文件中。例如,如果要將文本 “Hello,我的名字叫 John” 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然后使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機(jī) / 網(wǎng)絡(luò)的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網(wǎng)絡(luò)的 IP 地址。
useradd,userdel 命令
Linux存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)、平板電腦、路由器、視頻游戲控制臺(tái)、臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。下面讓我們一起去了解Linux TOP命令 按內(nèi)存占用排序和按CPU占用排序。
Linux TOP命令 按內(nèi)存占用排序和按CPU占用排序:
:在命令行提示符執(zhí)行top命令
2:輸入大寫P,則結(jié)果按CPU占用降序排序。輸入大寫M,結(jié)果按內(nèi)存占用降序排序。(注:大寫P可以在capslock狀態(tài)輸入p,或者按Shift+p)
另外:
認(rèn)識(shí)top的顯示結(jié)果
top命令的顯示結(jié)果如下所示:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total, 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0統(tǒng)計(jì)信息區(qū)
前五行是系統(tǒng)整體的統(tǒng)計(jì)信息。第一行是任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果。其內(nèi)容如下:
01:06:48當(dāng)前時(shí)間
up 1:22系統(tǒng)運(yùn)行時(shí)間,格式為時(shí):分
1 user當(dāng)前登錄用戶數(shù)
load average: 0.06, 0.60, 0.48系統(tǒng)負(fù)載,即任務(wù)隊(duì)列的平均長(zhǎng)度。
三個(gè)數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。
第二、三行為進(jìn)程和CPU的信息。當(dāng)有多個(gè)CPU時(shí),這些內(nèi)容可能會(huì)超過兩行。內(nèi)容如下:
Tasks: 29 total進(jìn)程總數(shù)
1 running正在運(yùn)行的進(jìn)程數(shù)
28 sleeping睡眠的進(jìn)程數(shù)
0 stopped停止的進(jìn)程數(shù)
0 zombie僵尸進(jìn)程數(shù)
Cpu(s): 0.3% us用戶空間占用CPU百分比
1.0% sy內(nèi)核空間占用CPU百分比
0.0% ni用戶進(jìn)程空間內(nèi)改變過優(yōu)先級(jí)的進(jìn)程占用CPU百分比
98.7% id空閑CPU百分比
0.0% wa等待輸入輸出的CPU時(shí)間百分比
0.0% hi
0.0% si
最后兩行為內(nèi)存信息。內(nèi)容如下:
Mem: 191272k total物理內(nèi)存總量
173656k used使用的物理內(nèi)存總量
17616k free空閑內(nèi)存總量
22052k buffers用作內(nèi)核緩存的內(nèi)存量
Swap: 192772k total交換區(qū)總量
0k used使用的交換區(qū)總量
192772k free空閑交換區(qū)總量
123988k cached緩沖的交換區(qū)總量。
內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過的交換區(qū)尚未被覆蓋,
該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中的交換區(qū)的大小。
相應(yīng)的內(nèi)存再次被換出時(shí)可不必再對(duì)交換區(qū)寫入。
進(jìn)程信息區(qū)
統(tǒng)計(jì)信息區(qū)域的下方顯示了各個(gè)進(jìn)程的詳細(xì)信息。首先來認(rèn)識(shí)一下各列的含義。
序號(hào)列名含義
aPID進(jìn)程id
bPPID父進(jìn)程id
cRUSERReal user name
dUID進(jìn)程所有者的用戶id
eUSER進(jìn)程所有者的用戶名
fGROUP進(jìn)程所有者的組名
gTTY啟動(dòng)進(jìn)程的終端名。不是從終端啟動(dòng)的進(jìn)程則顯示為 ?
hPR優(yōu)先級(jí)
iNInice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
jP最后使用的CPU,僅在多CPU環(huán)境下有意義
k%CPU上次更新到現(xiàn)在的CPU時(shí)間占用百分比
lTIME進(jìn)程使用的CPU時(shí)間總計(jì),單位秒
mTIME+進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
n%MEM進(jìn)程使用的物理內(nèi)存百分比
oVIRT進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
pSWAP進(jìn)程使用的虛擬內(nèi)存中,被換出的大小,單位kb。
qRES進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
rCODE可執(zhí)行代碼占用的物理內(nèi)存大小,單位kb
sDATA可執(zhí)行代碼以外的部分(數(shù)據(jù)段+棧)占用的物理內(nèi)存大小,單位kb
tSHR共享內(nèi)存大小,單位kb
unFLT頁面錯(cuò)誤次數(shù)
vnDRT最后一次寫入到現(xiàn)在,被修改過的頁面數(shù)。
wS進(jìn)程狀態(tài)。
D=不可中斷的睡眠狀態(tài)
R=運(yùn)行
S=睡眠
T=跟蹤/停止
Z=僵尸進(jìn)程
xCOMMAND命令名/命令行
yWCHAN若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
zFlags任務(wù)標(biāo)志,參考 sched.h
默認(rèn)情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內(nèi)容。
更改顯示內(nèi)容
通過 f 鍵可以選擇顯示的內(nèi)容。按 f 鍵之后會(huì)顯示列的列表,按 a-z 即可顯示或隱藏對(duì)應(yīng)的列,最后按回車鍵確定。
按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應(yīng)的列向右移動(dòng),而大寫的 A-Z 可以將相應(yīng)的列向左移動(dòng)。最后按回車鍵確定。
按大寫的 F 或 O 鍵,然后按 a-z 可以將進(jìn)程按照相應(yīng)的列進(jìn)行排序。而大寫的 R 鍵可以將當(dāng)前的排序倒轉(zhuǎn)。
Linux sort命令用于將文本文件內(nèi)容加以排序,sort可針對(duì)文本文件的內(nèi)容,以行為單位來排序。
sort命令的語法格式:sort[參數(shù)][文件]
Linux sort命令參數(shù):
-b:忽略每行前面開始出的空格符號(hào)。
-c:檢查文件是否已經(jīng)按照順序排序。
-d:排序時(shí),處理英文字母、數(shù)字及空格字符外,忽略其他的字符。
-f:排序時(shí),將小寫字母視為大寫字母。
-i:排序時(shí),除了040至176之間的ASCII字符外,忽略其他的字符。
-m:將幾個(gè)排序好的文件進(jìn)行合并。
-M:將前面三個(gè)字母依照月份的縮寫進(jìn)行排序。
-n:依照數(shù)值的大小排序。
-u:意味著是唯一的,輸出的結(jié)果是去完重了的。
-o:輸出文件將排序后的結(jié)果存入指定的文件。
-r:以相反的順序來排序。
-t:分隔字符指定排序時(shí)所用的欄位分隔字符。
文章題目:linux命令排序,linux排序文件命令
新聞來源:http://chinadenli.net/article26/dsidhjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、ChatGPT、網(wǎng)站營(yíng)銷、微信小程序、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)