linux文件去重命令,文件重命名命令linux

利用Linux命令行進(jìn)行文本按行去重并按重復(fù)次數(shù)排序

利用linux命令行進(jìn)行文本按行去重并按重復(fù)次數(shù)排序linux命令行提供了非常強(qiáng)大的文本處理功能,組合利用linux命令能實(shí)現(xiàn)好多強(qiáng)大的功能。本文這里舉例說明如何利用linux命令行進(jìn)行文本按行去重并按重復(fù)次數(shù)排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是實(shí)現(xiàn)相鄰文本行的去重,cut可以從文本行中提取相應(yīng)的文本列(簡單地說,就是按列操作文本行)。用于演示的測試文件內(nèi)容如下:[plain]Hello

公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出五大連池免費(fèi)做網(wǎng)站回饋大家。

World.

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

The

Iphone

of

Apple

company.

Hello

World.

The

Iphone

of

Apple

company.

My

name

is

Friendfish.

Hello

World.

Apple

and

Nokia.

實(shí)現(xiàn)命令及過程如下:[plain]1、文本行去重

(1)排序

由于uniq命令只能對(duì)相鄰行進(jìn)行去重復(fù)操作,所以在進(jìn)行去重前,先要對(duì)文本行進(jìn)行排序,使重復(fù)行集中到一起。

$

sort

test.txt

Apple

and

Nokia.

Apple

and

Nokia.

Hello

World.

Hello

World.

Hello

World.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

The

Iphone

of

Apple

company.

(2)去掉相鄰的重復(fù)行

$

sort

test.txt

|

uniq

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

2、文本行去重并按重復(fù)次數(shù)排序

(1)首先,對(duì)文本行進(jìn)行去重并統(tǒng)計(jì)重復(fù)次數(shù)(uniq命令加-c選項(xiàng)可以實(shí)現(xiàn)對(duì)重復(fù)次數(shù)進(jìn)行統(tǒng)計(jì)。)。

$

sort

test.txt

|

uniq

-c

2

Apple

and

Nokia.

4

Hello

World.

1

I

wanna

buy

an

Apple

device.

1

My

name

is

Friendfish.

2

The

Iphone

of

Apple

company.

(2)對(duì)文本行按重復(fù)次數(shù)進(jìn)行排序。

sort

-n可以識(shí)別每行開頭的數(shù)字,并按其大小對(duì)文本行進(jìn)行排序。默認(rèn)是按升序排列,如果想要按降序要加-r選項(xiàng)(sort

-rn)。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

4

Hello

World.

2

The

Iphone

of

Apple

company.

2

Apple

and

Nokia.

1

My

name

is

Friendfish.

1

I

wanna

buy

an

Apple

device.

(3)每行前面的刪除重復(fù)次數(shù)。

cut命令可以按列操作文本行。可以看出前面的重復(fù)次數(shù)占8個(gè)字符,因此,可以用命令cut

-c

9-

取出每行第9個(gè)及其以后的字符。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

|

cut

-c

9-

Hello

World.

The

Iphone

of

Apple

company.

Apple

and

Nokia.

My

name

is

Friendfish.

I

wanna

buy

an

Apple

device.

下面附帶說一下cut命令的使用,用法如下:[plain]cut

-b

list

[-n]

[file

...]

cut

-c

list

[file

...]

cut

-f

list

[-d

delim][-s][file

...]

上面的-b、-c、-f分別表示字節(jié)、字符、字段(即byte、character、field);

list表示-b、-c、-f操作范圍,-n常常表示具體數(shù)字;

file表示的自然是要操作的文本文件的名稱;

delim(英文全寫:delimiter)表示分隔符,默認(rèn)情況下為TAB;

-s表示不包括那些不含分隔符的行(這樣有利于去掉注釋和標(biāo)題)

三種方式中,表示從指定的范圍中提取字節(jié)(-b)、或字符(-c)、或字段(-f)。

范圍的表示方法:

n

只有第n項(xiàng)

n-

從第n項(xiàng)一直到行尾

n-m

從第n項(xiàng)到第m項(xiàng)(包括m)

-m

從一行的開始到第m項(xiàng)(包括m)

-

從一行的開始到結(jié)束的所有項(xiàng)

在寫這篇文章的時(shí)候,用到了vim的大小寫轉(zhuǎn)化的快捷鍵:gu變小寫,gU變大寫。結(jié)合ctrl+v能夠?qū)⒁黄淖种械淖址M(jìn)行大小寫轉(zhuǎn)換,非常好用。

LINUX中,創(chuàng)建文件夾、文件命令及清除命令。

假設(shè)我們?cè)?home里創(chuàng)建

1、創(chuàng)建一個(gè)叫test的文件夾

輸入 cd /home 回車 就到了home目錄;

輸入 mkdir test 就可以了。

2、在文件夾里添加(就是創(chuàng)建 一個(gè)文件,例如a.txt)

輸入 touch test/a.txt 回車。

3、刪除

輸入 rm -rf test/ 回車。

擴(kuò)展資料:

一、LINUX通用命令:

1.date :print or set the system date and time

2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)

3. passwd: print or set the system date and time (用passwd -h查看)

4. logout, login: 登錄shell的登錄和注銷命令

5. pwd: print working directory

6. more, less, head tail: 顯示或部分顯示文件內(nèi)容.

7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.

8. 更改文件權(quán)限: chmod u+x...

9. 刪除非空目錄:rm -fr dir

10. fg jobid :可以將一個(gè)后臺(tái)進(jìn)程放到前臺(tái)。

Ctrl-z 可以將前臺(tái)進(jìn)程掛起(suspend), 然后可以用bg jobid 讓其到后臺(tái)運(yùn)行。

job 可以直接讓job直接在后臺(tái)運(yùn)行。

11. kill 的作用: send a signal to a process. eg: kill -9 發(fā)送的是SIG_KILL信號(hào)。。。 具體發(fā)送什么信號(hào) 可以通過 man kill 查看。

12. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前臺(tái)進(jìn)程組id, comm顯示命令名稱。)

參考資料:LINUX命令-百度百科

Linux文件系統(tǒng)操作命令

Linux文件系統(tǒng)操作命令大全

Linux命令有很多,那么Linux文件系統(tǒng)操作命令又有哪些呢?下面我為你介紹!

文件系統(tǒng)操作命令:

1. cat:可以顯示文件的內(nèi)容(經(jīng)常和more搭配使用),或?qū)⒍鄠€(gè)文件合并成一個(gè)文件。

2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數(shù)以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變?cè)撐募乃鶎俳M。

3. chmod:用于改變文件或目錄的訪問權(quán)限,該命令有兩種用法:一種是使用圖形化的方法,另一種是數(shù)字設(shè)置法。

4. chown:用來將指定用戶或組為特定的所有者。用戶可以設(shè)置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變權(quán)限的文件列表,文件名支持通配符。

5. clear:用來清除終端屏幕。

6. cmp:用來比較兩個(gè)文件的大小。

7. cp:(copy)可以將文件或目錄復(fù)制到其他目錄中,就如同Dos下的copy命令一樣,功能非常強(qiáng)大。在使用cp命令時(shí),只需要指定源文件名或目標(biāo)目錄即可。

8. cut:用來移除文件的部分內(nèi)容。

9. diff:用來找出兩個(gè)文件的不同之處。

10. du: 用來顯示磁盤的剩余空間的大小。

11. file:用來顯示文件的類型。

12. find:用來在目錄中搜索文件,并執(zhí)行指定的操作。

13. head:只查看文件的頭幾行內(nèi)容,而不必瀏覽整個(gè)文件。

14. ln:可以在文件之間創(chuàng)建鏈接,實(shí)際上是給某個(gè)文件指定一個(gè)訪問它的別名。

15. less:用法與more類似,可以查看超過一屏的文件內(nèi)容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動(dòng)顯示文件,要結(jié)束瀏覽,只要在less的提示符“:”后按Q即可。

16. locate:可用于查找文件,且比find命令的搜索速度快。

17. ls(list):用來顯示當(dāng)前目錄中的文件和子目錄列表。

18. mkdir(make directory):建立子目錄。

19. more:用于顯示內(nèi)容超過一屏的文件,為了避免文件內(nèi)容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏?xí)r暫停,在按下任意鍵的時(shí)候繼續(xù)顯示下一屏的內(nèi)容。

20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。

21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。

22. pico:可指定文本的編輯方式。

23. pwd(print working directory):可顯示用戶當(dāng)前所在的目錄。

24. rm:用來刪除系統(tǒng)中過時(shí)或無用的文件,可以刪除目錄中的文件或目錄本身,對(duì)于鏈接文件,原有文件保持不變。

25. sort:將文本文件自動(dòng)分類。

26. stat:用于顯示文件或文件系統(tǒng)的狀態(tài)。

27. Strings:顯示文件中要打印的字符串。

28. tail:輸出文件的結(jié)尾。

29. touch:改變文件的時(shí)間戳。

30. umask:用于啟動(dòng)bash shell。

31. uniq:移除已分類文件中的重復(fù)文本行。

32. vi:啟動(dòng)vi文本編輯器。

33. wc:顯示文件中字節(jié)、詞組合文本行的數(shù)目。

34. whereis:查找特定目錄下的原始程序,二進(jìn)制程序或用戶手冊(cè)等文件的位置。

35. man:如果用戶對(duì)某個(gè)命令想了解更詳細(xì)的話,可使用此命令。

36. dd:復(fù)制一個(gè)文件。

37. df:查看一個(gè)文件系統(tǒng)的磁盤空間使用情況。

38. edquoat:設(shè)置用戶與用戶組的磁盤空間限制,即Windows系統(tǒng)中的配額。

39. fdformat:格式化軟盤。

40. fdisk:執(zhí)行Linux下的`磁盤分區(qū)。

41. mkfs:建立一個(gè)Linux文件系統(tǒng)。

42. mkswap:創(chuàng)建一個(gè)Linux交換分區(qū)。

43. mount:掛載一個(gè)文件系統(tǒng)。

44. quota:限制和顯示用戶可用的磁盤空間。

45. swapon,swapoff:啟用或取消設(shè)備和文件的交換頁。

46. quotaon,quotaoff:啟用或取消quota限制。

47. umount:取消文件系統(tǒng)的裝備。

系統(tǒng)管理命令

1. finger:查詢用戶信息,也能查看默認(rèn)的用戶環(huán)境。

2. ftp:標(biāo)準(zhǔn)的文件傳輸協(xié)議的用戶接口,是在網(wǎng)絡(luò)上傳輸文件最簡單有效的方法。

3. host:用于DNS查詢。

4. hostname:用于顯示或設(shè)置系統(tǒng)的主機(jī)名。

5. ifconfig:用于配置網(wǎng)卡接口。(可以使用down或up參數(shù)來禁用或啟用某個(gè)網(wǎng)卡接口)

6. mail:發(fā)送和接收郵件。

7. netstat:顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息,用戶可以知道目前那些網(wǎng)絡(luò)連接正在運(yùn)行。

8. ping:此命令用于測試本計(jì)算機(jī)和網(wǎng)絡(luò)上其它的計(jì)算機(jī)是否相連。

9. rlogin:遠(yuǎn)程登陸命令,該命令與telnet命令很相似,允許用戶啟動(dòng)遠(yuǎn)程系統(tǒng)的交互會(huì)話。

10. rcp:rcp(remote file copy)命令是遠(yuǎn)程文件復(fù)制命令,該命令用于在計(jì)算機(jī)之間復(fù)制文件,有兩中格式,一種格式用于文件動(dòng)文件的復(fù)制,另一種用于把文件或目錄復(fù)制到其他文件目錄中。

11. route:此命令用于顯示或設(shè)置IP路由表。

12. tcpdump:此命令用于測試網(wǎng)絡(luò)的通信量。

13. talk:此命令可用于事項(xiàng)網(wǎng)絡(luò)用戶的適時(shí)交談,但是必須將雙方系統(tǒng)的信息加入各自的/etc/hosts文件中,以相互識(shí)別。

14. telnet:此命令用于通過網(wǎng)絡(luò)登陸遠(yuǎn)程計(jì)算機(jī),如同操作本地計(jì)算機(jī)一樣。

15. wall:wall(write all)命令可以用于發(fā)送消息給登陸本機(jī)的用戶。在發(fā)送消息時(shí),可直接輸入要發(fā)送的消息,也可以把文件當(dāng)成消息發(fā)送。

16. wget:此命令用于Linux環(huán)境下從Internet上下載文件,支持http和ftp協(xié)議,支持代理服務(wù)器和斷點(diǎn)連續(xù)傳功能,能夠遞歸遠(yuǎn)程主機(jī)上的目錄,查找合乎要求的的文件并下載到本地硬盤上。Wget命令可以在后臺(tái)運(yùn)行,截獲并忽略hantfup信號(hào),因此用戶退出登陸后,仍可繼續(xù)運(yùn)行。

17. ,bg:,bg命令是后臺(tái)執(zhí)行命令,有時(shí)候用戶執(zhí)行的程序可能要話很多時(shí)間,如果放在前臺(tái)執(zhí)行,可能無法繼續(xù)其他操作,最好將他放在后臺(tái)執(zhí)行。

18. fg:fg命令是前臺(tái)執(zhí)行命令,如果用戶有程序在后臺(tái)運(yùn)行,可以通過fg命令將程序從后臺(tái)移到前臺(tái)執(zhí)行。

19. jobs:此命令用于顯示正在后臺(tái)執(zhí)行的任務(wù)清單。Bg,fg,jobs命令都屬于bash命令,

20. kill:此命令用于終止一個(gè)程序,例如:#[root@rathat9 root]kill 3793

21. ps:此命令用于顯示程序的狀態(tài)。

22. top:此命令用于顯示當(dāng)前CPU進(jìn)程。

23. at batch atp atrm:這些命令用于排序,檢查或刪除后臺(tái)運(yùn)行的任務(wù)。

Linux與用戶有關(guān)的命令:

1. passwd命令:更改用戶口令。

格式:passwd [用戶名]

2. su命令:可以讓一個(gè)普通用戶擁有超級(jí)用戶或其他用戶的權(quán)限,也可以讓超級(jí)擁護(hù)以普通用戶的身份做一些事情。

格式:su[選項(xiàng)][?][使用者賬號(hào)]

說明:若沒有指定的使用者賬號(hào),則系統(tǒng)預(yù)設(shè)值為超級(jí)用戶root。該命令中個(gè)選項(xiàng)的含義分別為:

-c:執(zhí)行一個(gè)命令后就結(jié)束。

-:加了這個(gè)減號(hào)的目的是使環(huán)境變量和欲轉(zhuǎn)換的用戶相同。

-m:保留環(huán)境變量不變。

Linux系統(tǒng)管理命令:

1. wall命令:對(duì)全部以登陸的用戶發(fā)送信息。

2. write命令:向系統(tǒng)中某一用戶發(fā)送信息。

格式:write 用戶賬號(hào) [終端名稱]

3. mesg命令:設(shè)定是否允許其他用戶用write命令給自己發(fā)送信息。

如果允許輸入命令:mesg y

如果不允許輸入命令:mesg n

4. sync命令:在關(guān)閉Linux系統(tǒng)是使用的。Sync是強(qiáng)制把內(nèi)存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)丟失。

5. shutdown命令:可以安全的關(guān)閉或重啟Linux它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登陸用戶提示一條警告信息。

格式:shutdown [選項(xiàng)][時(shí)間][警告信息]

命令中選項(xiàng)的含義:

-k:并不真正關(guān)機(jī),而只是發(fā)出警告信息給所有用戶。

-r:關(guān)機(jī)后立即重新啟動(dòng)。

-h:關(guān)機(jī)后不重新啟動(dòng)。

-f快速關(guān)機(jī),重新啟動(dòng)時(shí)跳過fsck。

-n:快速關(guān)機(jī),不經(jīng)過init程序。

-c:取消一個(gè)已經(jīng)運(yùn)行的shutdown。

6. free命令:查看當(dāng)前系統(tǒng)內(nèi)存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內(nèi)存和交換內(nèi)存,以及共享內(nèi)存和被核心使用的緩沖區(qū)。

格式:free [-b | -k |-m]

命令中各個(gè)選項(xiàng)的含義:

-b:以字節(jié)為單位顯示。

-k:以K字節(jié)為單位顯示。

-m:以兆字節(jié)為單位顯示。

7. uptime命令:顯示系統(tǒng)已經(jīng)運(yùn)行了多長時(shí)間,它依次顯示下列信息:現(xiàn)在時(shí)間、系統(tǒng)已經(jīng)運(yùn)行了多長時(shí)間、目前有多少登陸用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載。

8. df命令:檢查文件系統(tǒng)的磁盤空間占用情況。

格式:df [選項(xiàng)]

說明:df命令可顯示所有文件系統(tǒng)對(duì)I節(jié)點(diǎn)和磁盤塊的使用情況。

命令中各個(gè)選項(xiàng)的含義:

-a:顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng)。

-k:以k字節(jié)為單位顯示。

-i:顯示i節(jié)點(diǎn)信息,而不是磁盤塊。

-t:顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。

-x:列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況。

-T:顯示文件系統(tǒng)類型。

9. du命令:顯示磁盤空間的使用情況。統(tǒng)計(jì)目錄(或文件)所占磁盤的大小。

格式:du [選項(xiàng)] [Names…]

說明:該命令逐級(jí)進(jìn)入指定目錄的每一個(gè)子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊(1024字節(jié))的情況。若沒有給出Names,則對(duì)當(dāng)前目錄進(jìn)行統(tǒng)計(jì)。

命令中各個(gè)選項(xiàng)的含義:

-s:對(duì)每個(gè)Names參數(shù)只給出占用的數(shù)據(jù)塊總數(shù)。

-a:遞歸的顯示指定目錄中各文件及子孫目錄中個(gè)文件占用的數(shù)據(jù)塊數(shù)。若既不指定-s,也不指定-a,則顯示Names中的每一個(gè)目錄及其中的各子目錄所占的磁盤塊數(shù)。

-b:以字節(jié)為單位列出磁盤空間使用情況(系統(tǒng)缺省以k字節(jié)為單位)。

-k:以1024字節(jié)為單位列出磁盤空間的使用情況。

-c:最后再加上一個(gè)總計(jì)(系統(tǒng)缺省設(shè)置)。

-l:計(jì)算所有的文件大小,對(duì)硬鏈接文件,則計(jì)算多次。

-x:跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計(jì)。

10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進(jìn)行格式轉(zhuǎn)換。

格式:dd [選項(xiàng)]

命令中各個(gè)選項(xiàng)的含義:

if = 輸入文件(或設(shè)備名稱)。

of = 輸出文件(或設(shè)備名稱)。

ibs = bytes 一次讀取bytes字節(jié),及讀入緩沖區(qū)的字節(jié)數(shù)。

skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。

obs = bytes 一次寫入bytes字節(jié),及寫入緩沖區(qū)的字節(jié)數(shù)。

bs = bytes 同時(shí)設(shè)置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設(shè)置ibs和obs).

cbs = byte 一次轉(zhuǎn)換bytes字節(jié)。

count = blocks 只拷貝輸入的block塊。

conv = ASCⅡ 把EBCDIC碼轉(zhuǎn)換為ASCⅡ。

conv = ebcdic 把ASCⅡ碼轉(zhuǎn)換為EBCDIC碼。

conv = ibm ibm把ASCⅡ碼轉(zhuǎn)換為alternate EBCDIC碼。

conv = block 把變動(dòng)位轉(zhuǎn)換成固定字符。

conv = ublock 把固定位轉(zhuǎn)換成變動(dòng)位。

conv = ucase 把字母由小寫轉(zhuǎn)換為大寫。

conv = lcase 把字母由大寫轉(zhuǎn)換為小寫。

conv = notrunc 不截短輸出文件。

conv = swab 交換每一對(duì)輸入字節(jié)。

conv = noerror 出錯(cuò)是不停止處理。

conv = sync 把每個(gè)輸入記錄的大小都調(diào)到ibs的大小(用NUL填充)。

11. fdformat命令:低級(jí)格式化軟盤。

格式:format [-n] device

說明:-n 軟盤格式化后不作檢驗(yàn)。

12. echo命令:在顯示器上顯示一段文字,一般起到一個(gè)提示作用。

格式:echo [-n] 字符串

13. cal命令:顯示某年某月的日歷。

格式:cal [選項(xiàng)] [月 [年]]

命令中各個(gè)選項(xiàng)的含義:

-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。

-y:顯示出整年的日歷。

14. date命令:顯示和設(shè)置系統(tǒng)日期和時(shí)間。

格式:date [選項(xiàng)] 顯示時(shí)間格式 (以 + 開頭,后面接格式)

date [選項(xiàng)] 設(shè)置時(shí)間格式

命令中各個(gè)選項(xiàng)的含義:

15. clear命令:清除屏幕上的信息。

Vi的基本命令:

1. 移動(dòng)光標(biāo):

Ctrl + b:上滾一屏

Ctrl + f:下滾一屏

Ctrl + d:下滾半屏

Ctrl + u:上滾半屏

G: 移到文件最后

W:移到下個(gè)字的開頭

B:跳至上個(gè)字的開頭

2. 刪除

x:刪除當(dāng)前光標(biāo)所在后面一個(gè)字符

#x:刪除當(dāng)前光標(biāo)所在后面#個(gè)字符。例如,5x表示刪除5個(gè)字符。

dd:刪除當(dāng)前光標(biāo)所在行

#dd:刪除當(dāng)前光標(biāo)所在后面#行。例如,5dd表示刪除字光標(biāo)算起的5行。

:l,#d:例如,:1,12d表示刪除自行1至行12的文字

X:刪當(dāng)前光標(biāo)的左字符

D:刪至行尾

3. 更改

cw:更改光標(biāo)處的字到此單字的字尾處

c#w:例如,c3w表示更改3個(gè)字

cc:修改行

c:替換到行尾

4. 取代

r:取代光標(biāo)處的字符

R:取代字符直到按ESC為止

5. 復(fù)制

yw:拷貝光標(biāo)處的字到字尾只緩沖區(qū)

P:把緩沖區(qū)的資料貼上來

yy:拷貝光標(biāo)所在之行至緩沖區(qū)

#yy:例如:5yy,拷貝光標(biāo)所在之處以下5行至緩沖區(qū)

Linux文件的復(fù)制,刪除和移動(dòng)命令

1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強(qiáng)大。

語法:cp[選項(xiàng)]源文件或目錄,目標(biāo)文件或目錄

說明該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個(gè)源文件復(fù)制到目標(biāo)目錄中。

該命令的各項(xiàng)選項(xiàng)含義如下:

-a:該選項(xiàng)通常在拷貝目錄是使用。他保留鏈接,文件屬性,并遞歸地拷貝目錄,其作用等于dpr選項(xiàng)的組合。

-d:拷貝是保留鏈接

-f:刪除已經(jīng)存在的目標(biāo)文件而不提示。

-I:和 f選項(xiàng)相反,在覆蓋目標(biāo)文件之前將給出提示要求擁護(hù)確認(rèn)。回答y時(shí)目標(biāo)文件將被覆蓋,是交互式拷貝。

-p:此時(shí)cp除復(fù)制源文件的內(nèi)容外,還將把其修改時(shí)間和反問權(quán)限也復(fù)制到新文件中。

-r;若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時(shí)目標(biāo)文件必須為一個(gè)目錄名。

-L:不作拷貝,只是鏈接文件。

需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個(gè)文件,如用戶指定的目標(biāo)文件名已存在,用cp 命令拷貝文件后,這個(gè)文件酒會(huì)被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時(shí),最好使用I選項(xiàng)。

2.mv命令:用戶可以使用mv命令來為文件或目錄改名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。該命令如同MS-DOS下的ren 和 move 的組合。

語法:mv[選項(xiàng)]源文件或目錄 目標(biāo)文件或目錄。

說明:視mv命令中第二個(gè)參數(shù)類型的不同(是目標(biāo)文件還是目標(biāo)目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€(gè)新的目錄中。當(dāng)?shù)诙€(gè)參數(shù)類型是文件時(shí),mv命令完成文件重命名,此時(shí),源文件只能有一個(gè)(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂?shù)哪繕?biāo)文件名。當(dāng)?shù)诙€(gè)參數(shù)是已存在的目錄名稱時(shí),源文件或目錄參加參數(shù)可以有很多個(gè),mv命令將個(gè)參數(shù)指定的源文件均移至目標(biāo)目錄中。在跨文件系統(tǒng)移動(dòng)文件時(shí),mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。

命令中各選項(xiàng)的含義為:

-I:交互方式操作。如果mv操作將導(dǎo)致對(duì)已存在的目標(biāo)文件的覆蓋,此時(shí)系統(tǒng)詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。

-f:禁止交互操作。在mv操作要覆蓋某已有的目標(biāo)文件是不給任何指示,指定此選項(xiàng)后,I選項(xiàng)將不再起作用。

如果所給目標(biāo)文件(不是目錄)已存在,此時(shí)該文件的內(nèi)容將后備新文件覆蓋,為防止用戶用mv命令破壞另一個(gè)文件,使用mv命令移動(dòng)文件時(shí),最好使用I選項(xiàng)。

3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,他也可以將某個(gè)目錄及其下的所有文件及子目錄均刪除。對(duì)于鏈接文件,只是斷開了鏈接,源文件保持不變。

Rm命令的一般形式為:

Rm [選項(xiàng)]文件……

如果沒有使用-r選項(xiàng),則rm不會(huì)刪除目錄。

該命令的各選項(xiàng)含義如下:

-f:忽略不存在的文件,從不給出提示。

-r:指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。

-I:進(jìn)行交互式刪除。

使用rm命令要小心。因?yàn)橐坏┪募粍h除,他是不能被恢復(fù)的。為了防止這種情況的發(fā)生可以使用I選項(xiàng)倆逐個(gè)確認(rèn)要?jiǎng)h除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會(huì)刪除。

Linux目錄的創(chuàng)建與刪除命令:

1. mkdir命令

功能:創(chuàng)建一個(gè)目錄(類似MS-DOS下的md命令)。

語法:mkdir[選項(xiàng)]dir-name

說明:該命令創(chuàng)建由dir-name命名的目錄。要求創(chuàng)建目錄的用戶在當(dāng)前目錄中(dir-name的父目錄中)具有寫權(quán)限,并且dirname不能是當(dāng)前目錄中已有的目錄或文件名稱。

命令中個(gè)選項(xiàng)的含義為:

-m:對(duì)新建目錄設(shè)置存取權(quán)限。也可以用chmod命令設(shè)置。

-p:可以是一個(gè)路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄。

2. rmdir命令

功能:刪除空目錄。

語法:rmdir[選項(xiàng)]dir-name。/

說明:dir-name表示目錄名。該命令從一個(gè)目錄中刪除一個(gè)或多個(gè)子目錄項(xiàng)。需要特別注意的是,一個(gè)目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險(xiǎn)性。刪除某目錄時(shí)也必須具有對(duì)父目錄的、寫權(quán)限。

命令中個(gè)選項(xiàng)的含義為:

-p遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時(shí),也一同被刪除。如果整個(gè)路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標(biāo)準(zhǔn)輸出上顯示相應(yīng)的信息。

3. cd命令

功能:改變工作目錄。

語法:cd[directory]

說明:該命令將當(dāng)前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對(duì)指定目錄的執(zhí)行和讀權(quán)限。

該命令可以使用通配符(如”*,_”這樣的通配符號(hào))。

4. pwd命令

在Linux層次結(jié)構(gòu)中,用戶可以在被授權(quán)的任意目錄下利用mkdir命令創(chuàng)建新目錄,也可以利用cd命令從一個(gè)目錄轉(zhuǎn)換到另一個(gè)目錄。然而,沒有提示符來告知用戶目前處于哪一個(gè)目錄中。想要知道當(dāng)前所處的目錄,可以用pwd命令,該命令顯示整個(gè)路徑名。

語法:pwd

說明:此命令顯示出當(dāng)前工作目錄的絕對(duì)路徑。

5. ls命令

ls是list的簡寫,其功能為列出目錄的內(nèi)容。這是擁護(hù)最常用的一個(gè)命令之一,因?yàn)橛脩粜枰粫r(shí)地查看某個(gè)目錄的內(nèi)容,該命令類似于DOS下的dir命令

語法:ls[選項(xiàng)][目錄或是文件]

對(duì)于每個(gè)目錄,該命令將列出其中的所有子目錄與文件。對(duì)于每個(gè)文件,ls將輸出其文件名以及所要求的其他信息。默認(rèn)情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時(shí),就顯示當(dāng)前目錄的信息。

命令中各個(gè)選項(xiàng)的含義:

-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。

-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.

-b:對(duì)文件名中的不可顯示字符用把禁止

linux中所有設(shè)備都是以文件的形式顯示

linux下文件的后綴名無實(shí)際意義

命令

pwd 顯示路徑

man +命令 列出操作說明

ls -l/-help列出 文件目錄

cd / 目錄做實(shí)驗(yàn)

安裝步驟 configure make make install?

rm -r dl 遞歸刪除目錄

rm -rf 刪除所有目錄

rm -f 加文件名 刪除文件

rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多

touch 加名字 創(chuàng)建新文件

cp 復(fù)制 mv 移動(dòng) rm 刪除

vi 文本編輯器 輸入a將從命令格式變成輸入格式

head tail 查看前面和后面

find 加位置 加文件名 查找

echo $PATH 查詢路徑

useradd 加名字 添加用戶

userdel 加名字 刪除用戶

su 加用戶名 切換用戶

chmod +x/-x 加文件名 修改文件權(quán)限

chmod 755 加文件名 改變權(quán)限在安裝程序時(shí)

grep 加文本字符 加在那個(gè)文件 查找字符存在那行

fdisk -l 查看磁盤信息

命令1|命令2|命令三... 管道

ps -ef查看進(jìn)程

ifconfig linux查看ip

重定向

linux和其它機(jī)器之間共享文件vsftp Windows和linux傳輸文件15-17

putty遠(yuǎn)程登錄軟件ssh

gzip 壓縮和解壓縮 -d解壓 21

service iptables off防火墻關(guān)閉

tar -xvf 第二層解壓縮

.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是壓縮!)

———————————————

.gz

解壓1:gunzip FileName.gz

解壓2:gzip -d FileName.gz

壓縮:gzip FileName

.tar.gz 和 .tgz

解壓:tar zxvf FileName.tar.gz ./DirName

壓縮:tar zcvf FileName.tar.gz DirName

.tar.bz2

解壓:tar xjf FileName.tar.bz2 ./DirName

壓縮:tar cjf FileName.tar.bz2 DirName

rpm -ivh 加.rpm文件 安裝

安裝sudo apt-get install 軟件名

;

Linux文本操作常用命令

在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計(jì)的命令:

通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個(gè)命令的詳細(xì)的介紹(主要是跟著 生信技能樹小郭老師 學(xué)習(xí)做的筆記)

接下來通過示例把10個(gè)命令的常用參數(shù)和用法展示出來:

參數(shù)的用法介紹:

注意事項(xiàng):

用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號(hào),退出時(shí),另起一行,按 control C 退出

zcat可以查看壓縮的文本文件,tac逆向查看

結(jié)合 管道符| 使用

head / tail -n :查看文件的前 / 后 n 行,默認(rèn) 10 行 (在R語言里head和tail默認(rèn)是前6行)。

less命令用得最多 ,more命令用得比較少

3.1 less命令

less [參數(shù)] 文件名

less命令重要的補(bǔ)充用法1 :

需要注意 退出 :只要使用less命令, 按q鍵

less命令重要的補(bǔ)充用法2 :

參數(shù)用法:

less命令 不加參數(shù) 查看文件:

less命令加 -N參數(shù) 查看文件:顯示行號(hào)

less命令加 -S參數(shù) 查看文件:單行顯示,非常規(guī)整

對(duì)比:less和cat命令顯示文本行號(hào)的用法:less -N,cat -n

3.2 more命令

**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好

查看壓縮文件

wc 統(tǒng)計(jì)字符是也把換行符統(tǒng)計(jì)進(jìn)去,但是別的命令不一定會(huì)把換行符算進(jìn)去,。

常見參數(shù):

切記:用less命令,按q退出

cut命令是按關(guān)鍵詞來切的

常見參數(shù):

排列前:

排列后:

解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。

命令行查看一個(gè)表格結(jié)構(gòu)時(shí),因?yàn)橹票矸麑?duì)齊的原因,出現(xiàn)一個(gè)錯(cuò)位的現(xiàn)象。還有 字典排序 可能和我們平時(shí)的認(rèn)知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學(xué)意義上的大小來排序 。

uniq命令去重,只有兩行出現(xiàn)重復(fù),而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會(huì)去重。

uniq命令通常和sort命令搭配使用

換其它文件試試

總之,uniq命令使用時(shí)經(jīng)常和sort一起

常見參數(shù):

常見用法1:

paste file1 file2

-s :按行合并 演示

常見用法2 : paste - -

常見參數(shù):

要養(yǎng)成一個(gè)好習(xí)慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)

1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc

2. 截取 example.gtf 第 9 列的內(nèi)容

3. 在第2步的基礎(chǔ)上截取分號(hào)分割的第1列

4. 在第3步的基礎(chǔ)上排序、去重復(fù)并統(tǒng)計(jì)

5. 在第4步的基礎(chǔ)上,將空格替換成制表符

補(bǔ)充小知識(shí) :

清屏 :control L

查看歷史(輸入過的)命令 :history

linux命令對(duì)某一列去重/統(tǒng)計(jì)

cat file.csv | awk -F '\t' '{print $2}'

'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符號(hào)分割,換成其她符號(hào);

'{print $2}'是指取第2列,此處從1開始計(jì)數(shù),第1列,第2列;

一般去重之前要進(jìn)行排序

cat file.csv | awk -F '\t' '{print $2}'?| sort | uniq

前半部分與命令1一樣,后面加上| sort | uniq

比如通過命令2發(fā)現(xiàn),第2列取值有兩種,分別是'neg'和‘pos’,那么我想知道有多少行的第2列取值為'pos',多少行的第2列取值為'neg'。

cat file.csv | awk -F '\t' '{print $2}'?|?grep -o 'neg'| wc -l

前半部分與命令1一樣,后面加上?|?grep -o 'neg'| wc -l

grep -o 'neg'就是取出取值為'neg'的行

wc -l 是計(jì)數(shù)有多少行

每天一個(gè)linux命令(1)sort

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

降序

在輸出中去重

將排序結(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是回車等等)

文章題目:linux文件去重命令,文件重命名命令linux
URL地址:http://muchs.cn/article42/phesec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、建站公司、服務(wù)器托管、用戶體驗(yàn)標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)

廣告

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

成都做網(wǎng)站