Linux下工作常使用的命令(持續(xù)整理)

1.路徑/文件顯示

pwd:顯示當(dāng)前路徑
cd ..:返回上一級路徑
cd:返回最頂層路徑
ls -a: 顯示全部文件(包括隱藏文件)
ls –l(ll): 以列表方式顯出文件: 包括權(quán)限(模式)、所有者、組群、大小、創(chuàng)建日期等
ls -s: 顯示大小
ls *.sh:顯示當(dāng)前目錄的某種后綴的文件
eg:結(jié)果:run.sh run_show.sh run_vtml_auc.sh run_vtml_show.sh
ls –lh:輸出-rw-r--r-- 1 ad ad 68M Sep 19 16:03 part-r-00067,大小那項(xiàng)會表示為M,K

2.編輯文件

vi/vim+文件名: 進(jìn)入文件編輯模式
vi編輯器有3種模式:命令模式、輸入模式、末行模式。
在命令模式中輸入字幕“i”就可以進(jìn)入vi的輸入模式編輯文件。在命令模式輸入“:”即可進(jìn)入該模式
i: 轉(zhuǎn)換為insert模式
q!: 退出不保存文件
wq!: 保存并退出文件
/:查找
gg:跳轉(zhuǎn)到文件底端
shift+g:跳轉(zhuǎn)到文件開頭
dd:刪除一行
set list:顯示文件中的空格,\t等符號
:$+enter 跳到文件最后一行
:0或:1 +enter跳到文件第一行

復(fù)制,黏貼,刪除,撤銷,跳轉(zhuǎn)等命令
1,復(fù)制
a,復(fù)制整行
命令模式下,光標(biāo)位于要復(fù)制的當(dāng)前行,輸入 yy
b,復(fù)制一個單詞
命令模式下,光標(biāo)位于要復(fù)制的當(dāng)前單詞的第一個字母,輸入 yw
2,黏貼
命令模式下,輸入 p

3,刪除
a,刪除整行
命令模式下,光標(biāo)位于要刪除的所在行,輸入 dd

b,刪除一個單詞
    命令模式下,光標(biāo)位于要刪除的單詞的第一個字母,輸入 dw

4,撤銷
命令模式下,輸入 u

5,跳轉(zhuǎn)
命令模式下,輸入 要跳轉(zhuǎn)的行數(shù),然后再輸入 gg
如:要跳轉(zhuǎn)到當(dāng)前文件的第150行,輸入 150gg、

3. 解壓

bzip2 -d:解壓文件eg: $ bzip2 -d part-r-00000.bz2,(part-r-00000.bz2為文件名)
gzip -d filename.gz :解壓.gz文件

4. sort

sort [選項(xiàng)] [輸入文件]
選項(xiàng)
-c 測試文件是否已經(jīng)被排序 complete
-k 指定排序的域 k1 k2nr 往后加命令即可
-m 合并兩個已排序的文件 merge
-n 根據(jù)數(shù)字大小進(jìn)行排序 number
-o [輸出文件] 將輸出寫到指定的文件,相當(dāng)于將輸出重定向到指定文件 open
-r 將排序結(jié)果逆向 reverse
-t 改變域分隔符 eg:默認(rèn)是空格,如果要改成\t需要sort -t$'\t'
-u 去除結(jié)果中的重復(fù)行 unique -u
Eg:
sort -t',' -k2,2g:排序:
eg:sort -t',' -k2,2g losscomma3注:-k2,2 是從第二行初到第二行末的意思,g是通用的意思
如果使用 sort -t',' -k2,2gr losscomma3,r代表倒敘(從大到?。﹍osscomma3為文件名
兩次排序,先按照第一列排序,再按照第二列排序,Sort的默認(rèn)分隔符是 空格要制定成 \t
cat mobile_industry | tr ',' '\t'|sort -t$'\t' -k1,1 -k2,2n

5. 列分割_cut

cut命令用于從標(biāo)準(zhǔn)輸入或文本文件中按域或行提取文本
-f 指定提取的域數(shù),或域范圍 field
-d 指定分隔符
eg:
cut –f5+文件名:可以顯示文件中第五個字段的內(nèi)容
cat temp|cut -f2 -d',' 以,為分隔符,提取文件temp第2列
head -n 5 part-r-00067|cut -f1,3 未指定分隔符時,分隔符是\t,f1,3表示提取第一列和第三列

6. 行分割_split

split命令用于將大文件切割成小文件,split命令可以按照文件的行數(shù)、字節(jié)數(shù)切割文件,并能在輸出的多個小文件中自動加上編號
格式: split [-n] file [name]選項(xiàng) 意義
Eg:split -55 myfile ff
將文件myfile依次截?cái)嗟矫麨閒faa,ffab,ffac.....的文件中,每一文件的長度為55行
按大小分割:
用法:split [選項(xiàng)] [輸入 [前綴]]
將將這個276M文件分割成20M的小文件,文件分割操作如下:
split -b 20m RevolutionOS.rmvb RevOS_part_

7. 操作文件

查看文件有多少行:wc -l +文件名
eg:wc -l aucpidcosttmapsort-aah
out:207517 aucpidcosttmapsort-aah
rm+文件名:刪除一個文件
dos2unix+文件名: 文件類型轉(zhuǎn)換,用ftp從Windows傳到linux的文件,需要使用文件類型轉(zhuǎn)換
more+文件名:查看當(dāng)前目錄的一部分?jǐn)?shù)據(jù)
eg:more part-r-00000

8. 編輯文件夾

mkdir + 文件名:創(chuàng)建一個文件夾(文件夾顯示為藍(lán)色):
rmdir +文件名:刪除一個空文件
rm -r + 文件夾:刪除一個有內(nèi)容的文件夾

9. 執(zhí)行文件

A.cat模擬執(zhí)行MR文件:
Eg: cat access.out|python cookie.py
注:|代表管道,將access.out輸入到cookie.py中
Eg:cat auction.out | python auction_dsp.py | sort | python auction_dsp_reduce.py
這里的sort會為結(jié)果的每列都進(jìn)行排序,而在hadoop上執(zhí)行,sort只為第一列排序
Eg:cat part-00000 showpidcost0813|python loss_pidcost_map.py|sort|python
loss_pidcost_reducev1.py >111
在多個輸入需要進(jìn)行map的時候,使用cat 加兩個文件名,中間用空格隔開,執(zhí)行完后保存到111文件中。
本機(jī)的sort是按照空格分割的,需要指定成按照\t分割
Eg:sort -t$'\t'
Eg:sort -t$'\t' -k1,1,以\t分割,按照第一列排序
B. head –n 使用前n條數(shù)據(jù)執(zhí)行程序:
Eg: head -n 100 auction.out | python auction_dsp.py | sort | python auction_dsp_reduce.py 使用數(shù)據(jù)的前100條執(zhí)行mapreduce
Eg: head -n 10000 auction.out | python auction_dsp.py 只執(zhí)行map
C. tail -n ,顯示文件內(nèi)容的最后幾行
tail -n 行數(shù)值 文件名;
顯示/etc/profile的最后5行內(nèi)容:
tail -n 5 /etc/profile
D.顯示文件的中間一些行
顯示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
F.執(zhí)行shell程序:
$ sh run1.sh執(zhí)行一個程序
nohup sh run.sh > job_log 2>&1 &
注:2>&1,表示把標(biāo)準(zhǔn)文件,錯誤文件都輸出到j(luò)ob_log之中
nohup sh run.sh >xxx.log &
注:nohup…&的作用是將文件放到后臺去執(zhí)行

注:在服務(wù)器上執(zhí)行shell程序,本地?cái)嗔?,服?wù)器上也會繼續(xù)執(zhí)行。出錯的時候可以去log中查看出錯的原因
如果要關(guān)閉正在執(zhí)行的這個程序:
ps aux | grep run_invideo
kill xxxx:xxxx為程序前面的編號

10. 發(fā)郵件

cat 文件名| yk_sendmail 標(biāo)題 收件人郵箱:
eg:cat temp|yk_sendmail "test" xxx@163.com
在發(fā)送郵件的.sh中
echo -e $htmlhead $title "invideo" $content $title1 "vhtml" $content2 | yk_sendmail "${subject}" "${receiverME}" ${result_path}/invideo160905
最后沒有用雙引號引上的${result_path}/invideo160905,會被當(dāng)做附件傳送

11. 其他常用操作

用戶切換
su +用戶名:su ad
查看python安裝了哪些庫
Help(‘modules’)

命令行首/尾/刪除
? Ctrl+a跳到本行的行首,
? Ctrl+e則跳到頁尾。
? Ctrl+u刪除當(dāng)前光標(biāo)前面的文字
? ctrl+k 刪除當(dāng)前光標(biāo)后面的文字
? 如果刪除錯誤,使用Ctrl+y進(jìn)行恢復(fù)Ctrl+L進(jìn)行清屏操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容