<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          20分鐘吃掉Linux常用命令40式

          共 4077字,需瀏覽 9分鐘

           ·

          2020-11-02 08:34

          一,目錄管理

          1 , ls 查看目錄下文件

          例1:ls -a 查看全部目錄,包含隱藏目錄

          例2:ls -l 查看當(dāng)前目錄詳細(xì)列表

          例3:ls -lt ?查看當(dāng)前目錄詳細(xì)列表,按時(shí)間順序排序,最近修改的文件在前面

          例3:ls -ltr ?查看當(dāng)前目錄詳細(xì)列表,按時(shí)間順序逆序排序,最近修改的文件在后面

          2, cd ?切換目錄

          例1:cd .. #切換到上級(jí)目錄, linux中一個(gè)點(diǎn)表示當(dāng)前路徑,二個(gè)點(diǎn)表示當(dāng)前路徑上級(jí)路徑

          例2:cd ~ #切換到主目錄

          例3:cd /User/liangyun03/ # 切換到某個(gè)絕對(duì)路徑,linux中以/開(kāi)頭的路徑表示絕對(duì)路徑

          例4:cd ?data/pictures/ # 切換到當(dāng)前路徑下某個(gè)相對(duì)路徑,linux中不以/開(kāi)頭的路徑表示相對(duì)路徑

          3, pwd 當(dāng)前工作目錄

          例:pwd #查看當(dāng)前工作目錄完整路徑

          4, mkdir 建立文件夾

          例:mkdir document #建立文件夾document

          5, rmdir 刪除空文件夾

          如果是刪除非空文件夾,一般要用 rm -rf document

          二,文件操作

          6, cp 復(fù)制文件

          例:cp xxx.csv /folder/yyy.csv 賦值文件xxx.csv到 /folder/yyy.csv

          7,mv 移動(dòng)文件

          例:mv xxx.csv folder/yyy.csv #將文件移動(dòng)到新目錄并更改文件名

          8,rm ?刪除文件

          例: rm -rf folder #刪除folder中全部文件

          9, echo 打印內(nèi)容,可以寫入或追加到文件

          例1:echo "hello world" > test.txt 將一行字符串寫入到文件

          例2:echo "hello China" >> test.txt 將一行字符串追加到文件

          10,du ?查看文件大小

          例:du -sh folder #查看folder目錄全部文件大小 -s 表示求和 ?-h 表示 human

          11,wc 統(tǒng)計(jì)文件行數(shù), 單詞數(shù),字節(jié)數(shù)

          wc為 watch的縮寫

          例:wc -lwc xxx.txt #統(tǒng)計(jì)文件行數(shù),單詞數(shù),字節(jié)數(shù)

          12,chmod 修改文件或目錄權(quán)限

          例:chmod 777 test.txt 讓全部用戶有讀、寫、和執(zhí)行的權(quán)限

          13,cat 拼接文件

          后面可以接一個(gè)或者多個(gè)文件

          例:cat abc.csv xyz.csv > data.csv 拼接兩個(gè)文件abc.csv,xyz.csv中的內(nèi)容并寫入到data.csv中

          14, find 查找文件位置

          可以使用星號(hào)通配符

          例:find ~ -name stopword.txt ?在主目錄下查找名稱為stopword.txt的文件路徑

          15, ?head(tail) 查看文件前(后)n行

          例1:head -n 100 xxx.csv #打印文件xxx.csv前100行

          例2:tail -n 100 -f nohup.out #查看文件nohup.out的后100行并動(dòng)態(tài)刷新

          16, cut 截取文件某些列

          可以指定分割方式 -d 為自定義分割方式, -b 按字節(jié)分割, -c 按字符分割 ,用-f指定取第幾列

          例:cut -d " " -f ?2 ?test.txt ?#對(duì)test.txt文件按空格分隔,取第二列

          17, sort 文本排序

          例:sort -t'-' -k 2 -n test.txt #指定分割符為"-",按第二列排序,按數(shù)字大小排序

          18, grep 文本搜索工具

          grep (global search regular expression(RE) and print out the line) 全面搜索正則表達(dá)式并把行打印出來(lái)

          例1: grep -ir "abc" ./ ?#在當(dāng)前路徑下遞歸查找具有"abc"字符串的文件,忽略"abc"大小寫

          例2:cat doc.md | grep "abc" #輸出doc.md中含有"abc"字符串的行

          19, sed 文本編輯工具

          文本編輯工具,語(yǔ)法復(fù)雜,一些常見(jiàn)用法如下面例子

          例1:sed -i '1d' xxx.csv #刪除文件中的第1行

          例2:sed -n '50,100p' xxx.csv > yyy.csv #截取文件第50至100行

          例3:cat xxx.csv | sed 's/ /\t/g' > yyy.csv ?# 將文件中的空格替換為\t

          20, awk 文本分析工具

          文本分析工具,語(yǔ)法復(fù)雜,一些常見(jiàn)用法如下面的例子

          例1:cat xxx.csv | awk -F'\t' '{print NF}' #查看文件每行有多少列,以'\t'分割

          例2:cat xxx.csv | awk -F'\t' '{print 2}' #獲取文件第一和第二列,以'\t'分割

          例3:cat xxx.csv | awk -F'\t' '{print $NF}' #獲取文件最后一列,以'\t'分割

          三,文件壓縮

          21, zip壓縮

          例1:zip -r ./xxx.zip ./ ?#壓縮當(dāng)前文件夾成 xxx.zip

          例2:unzip xxx.zip ? 解壓xxx.zip

          例3:zip -r -P yourPassword yourZipFileName.zip yourSourceFileDir #壓縮加密碼

          22, tar壓縮

          例1:tar -czf xxx.tar.gz xxx/* ?#壓縮文件夾

          例2:tar -xzvf xxx.tar.gz ? #解壓xxx.tar.gz文件

          四,文件傳輸

          23, scp 跨機(jī)器拷貝

          僅需要在一臺(tái)機(jī)器上操作

          例1:從其它機(jī)器copy到當(dāng)前機(jī)器

          scp [email protected]:/home/user/xxx.csv xxx.csv

          例2:從當(dāng)前機(jī)器copy到其他機(jī)器

          scp xxx.csv [email protected]:/home/user/xxx.csv

          24, nc 網(wǎng)絡(luò)通信工具

          需要在兩臺(tái)機(jī)器上操作,一般先在一臺(tái)機(jī)器上監(jiān)聽(tīng),然后再在另外一臺(tái)機(jī)器上發(fā)送

          例1:240機(jī)器上接收43機(jī)器上發(fā)送

          nc -l 2222>file #在240機(jī)器上操作

          nc 10.11.4.240 2222

          例2:傳輸當(dāng)前目錄:

          nc -l 9995 | tar xfvz -

          tar czf - | nc ip 9995

          25,rz/sz 與本地機(jī)器互傳文件

          rz 接受文件:receive Zmodem

          sz 發(fā)送文件到windows上:send Zmodem

          五,進(jìn)程管理

          26, ps 查看進(jìn)程信息

          ps:process status

          例1:ps -u liangyun ?#查看當(dāng)前l(fā)iangyun用戶全部進(jìn)程信息

          例2:ps -alf ? | grep python #查看當(dāng)前所有和Python相關(guān)的進(jìn)程

          27, kill 殺死進(jìn)程

          例1:kill -9 12345 #殺死進(jìn)程號(hào)為12345的進(jìn)程

          例2:kill -9 $(ps -ef | grep liangyun) ?#殺死某個(gè)用戶的所有進(jìn)程

          例3:ps -ef | grep liangyun03 | grep -v 'grep' | awk '{print $2}' |xargs kill -9 #殺死某個(gè)用戶的所有進(jìn)程

          這條命令的語(yǔ)法說(shuō)明如下:

          ps -ef : 打印出正在運(yùn)行的進(jìn)程信息

          grep liangyun :查找進(jìn)程信息帶有l(wèi)iangyun03關(guān)鍵字的進(jìn)程

          grep -v 'grep' : 去掉grep自身進(jìn)程的信息

          awk '{print $2}' : 取得進(jìn)程號(hào)

          xargs kill -9 : 殺死進(jìn)程

          28, top 查看進(jìn)程占用資源情況

          例1:top #循環(huán)滾動(dòng)顯示當(dāng)前活躍的進(jìn)程占用資源情況,按Ctrl+C退出

          29, &后臺(tái)執(zhí)行符號(hào)

          &符號(hào)放在命令末尾表示在新的進(jìn)程中運(yùn)行命令

          例:python test.py & 在一個(gè)新的進(jìn)程中運(yùn)行test.py腳本

          30 nohup 不掛斷執(zhí)行命令

          nohup 放在命令開(kāi)始表示即使用戶退出登錄,這個(gè)命令依舊繼續(xù)執(zhí)行不掛斷

          例:nohup python tunexgboost.py & #在后臺(tái)不掛斷執(zhí)行命令,日志輸出寫入nohup.out文件,可以用tail -f nohup.out監(jiān)視日志

          六,資源管理

          31, df 查看磁盤使用情況

          例:df -m -h #查看系統(tǒng)磁盤使用情況

          32, free 查看CPU使用情況

          例:free -m -h #查看CPU使用情況

          33, ifconfig 查看機(jī)器ip

          34, nvidia-smi 查看GPU使用情況

          35, uname 查看操作系統(tǒng)信息

          可看到操作系統(tǒng)名稱和版本號(hào)

          例:uname -a #查看全部系統(tǒng)信息

          七,Linux管道和輸入輸出流

          36, |符號(hào) 管道連接符

          |可以連接兩個(gè)命令,將前一個(gè)命令的輸出作為后一個(gè)命令的輸入

          例1:ls | grep ".md" #找到當(dāng)前目錄下名字中含有".md"字符的文件

          例2:cat input.txt | python mapper.py |sort -t 1| python reducer.py >output.txt ? #用Linux管道模擬測(cè)試mapreduce程序

          37, <和>和>>符號(hào) 輸入和輸出流重定向

          利用<符號(hào)可以將文件內(nèi)容作為命令的輸入,利用>和>>可以將輸出流不打印到屏幕而是寫入或追加到文件中。

          例1:python test.py output.txt ?2>error.txt ?# input.txt作為test.py的輸入,標(biāo)準(zhǔn)輸出到output,錯(cuò)誤輸出到error

          38,tee 讀取標(biāo)準(zhǔn)輸入并保存成文件

          例1:ls | tee output..txt ?#獲取標(biāo)準(zhǔn)輸入流,結(jié)果打印到屏幕并輸出到output.txt文件中

          Appendix A, vim基礎(chǔ)用法

          39,vim 文本編輯器

          例1: vim helloworld.py 創(chuàng)建/打開(kāi)文件

          例2:按i/a 進(jìn)入編輯模式

          例3:按Esc退出編輯模式,進(jìn)入命令模式

          例4:輸入 :wq 保存退出

          例5:輸入 :q! 強(qiáng)制退出 不保存

          例6:輸入:set number 顯示行號(hào),可以新建 ~/.vimrc 寫入該命令永久有效

          例7:輸入:/re 查找匹配 re的字符串高亮顯示,再輸入:noh取消高亮, 輸入/再按Enter查找下一處匹配

          例8:輸入:vsp xxx.py ?橫向視窗分割(visual split)并打開(kāi) xxx.py文件, Ctrl+W在不同窗口間切換

          例9:vimdiff aa.txt ?bb.txt ?逐行比較兩個(gè)文件

          例10: 按Esc+g回到第一行,按Esc+Shift+g跳轉(zhuǎn)到最后一行

          例11:按shift+4移動(dòng)到行尾,shift+6移動(dòng)到行首

          例12:多行注釋方法, Ctrl + V 進(jìn)入Block Visualization, 上下鍵選中多行,輸入大寫I,輸入#,然后按兩下Esc

          例13:多行刪除方法, Shift +V 進(jìn)入 Line Visualization, 上下鍵選中多行,然后按Delete鍵刪除

          Appendix B,Linux配置文件

          40,source 依次執(zhí)行文件中命令

          該命令也可以用.符號(hào)來(lái)代替

          例1:source .bashrc #使得.bashrc中的修改立即生效

          以下為linux下常用配置文件

          (1),/etc/profile 用來(lái)設(shè)置系統(tǒng)環(huán)境參數(shù),比如$PATH. 這里面的環(huán)境變量是對(duì)系統(tǒng)內(nèi)所有用戶生效的。

          (2),/etc/bashrc 這個(gè)文件設(shè)置系統(tǒng)bash shell相關(guān)的東西,對(duì)系統(tǒng)內(nèi)所有用戶生效。只要用戶運(yùn)行bash命令,那么這里面的東西就在起作用。

          (3),~/.bash_profile 用來(lái)設(shè)置一些環(huán)境變量,功能和/etc/profile 類似,但是這個(gè)是針對(duì)用戶來(lái)設(shè)定的,也就是說(shuō),你在/home/user1/.bash_profile 中設(shè)定了環(huán)境變量,那么這個(gè)環(huán)境變量只針對(duì) user1 這個(gè)用戶生效.

          (4),~/.bashrc 作用類似于/etc/bashrc, 只是針對(duì)用戶自己而言,不對(duì)其他用戶生效。另外/etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是”父子”關(guān)系.

          (5),/etc/hosts 域名配置文件

          注:~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的,意思是只有用戶登錄時(shí)才會(huì)生效。~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的,用戶不一定登錄,只要以該用戶身份運(yùn)行命令行就會(huì)讀取該文件。

          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香五月婷婷视频在线入口 | 操逼了 | 俺去俺来也在线www色情网 | 成人综合AV | 精品久久精品 |