Linux基礎(chǔ)命令

Linux是嚴(yán)格區(qū)分大小寫(xiě)的,如果沒(méi)有特別的說(shuō)明,保持小寫(xiě)
Linux所有的內(nèi)容都是以文件形式保存,不靠擴(kuò)展名區(qū)分文件類(lèi)型
命令之間都是有空格的,不要向英文字母一樣,全部擠在一起

系統(tǒng)命令

  • 登錄基本信息:當(dāng)前登錄用戶(hù)名、主機(jī)名、當(dāng)前目錄
  • (# 管理員用戶(hù)提示符,$ 普通用戶(hù)提示符)
  • who:查看登入的用戶(hù)
  • whoami:確認(rèn)自己的身份
  • su + 用戶(hù)名:切換用戶(hù)
  • history :查看當(dāng)前用戶(hù)運(yùn)行命令的歷史
  • ipconfig :查看IP地址
  • ping + 網(wǎng)址 :檢查網(wǎng)絡(luò)是否通暢(ping www.baidu.com

目錄操作命令

  • pwd:顯示當(dāng)前路徑 (print working director
  • cd :切換目錄 (change directory)
    1, cd .\ 當(dāng)前目錄
    2,cd .. 切換到上級(jí)目錄
    3,cd \ 切換到根目錄
    4,cd ~ (或只有 cd) 切換到當(dāng)前用戶(hù)主目錄(home下以用戶(hù)名命名的文件夾)
    5,cd \user\ -> cd bin 和 cd \user\ -> cd \bin 的區(qū)別
    (cd bin 是從user下查找 bin文件;cd \bin 是從根目錄下查找bin文件)
  • 創(chuàng)建/刪除目錄
    mkdir + 目錄名 :創(chuàng)建目錄 (make dirctory)
    mkdir -p dir1/dir12/dir13 dir2/dir23 dir3 :一次創(chuàng)建多個(gè)帶層級(jí)的目錄
    rmdir + 目錄名: 刪除空目錄 (remove dictory)
    rm -r + 目錄名:刪除帶有文件的目錄
    rm -rf + 目錄名/文件名:強(qiáng)制刪除目錄或文件

文件操作命令(重點(diǎn))

  • touch:創(chuàng)建文件
    touch [路徑]file :創(chuàng)建一個(gè)文件名為file的文件,可以加后綴(路徑必須存在)
    touch dir1/file1 file2 file3 :一次創(chuàng)建多個(gè)文件

  • vim [路徑]文件名,再按 i 鍵進(jìn)入編輯狀態(tài)

  • esc鍵:退出編輯狀態(tài),再按shift+:,輸入以下命令:
    wq (保存退出);q (退出不保存);q! (強(qiáng)制退出,不保存);write filename (內(nèi)容保存到新建文件中)
    進(jìn)入文件后一些邊便捷方法:(按非編輯魔術(shù)下按shfit+:才能輸入)
    1,輸入 /lemon:從光標(biāo)開(kāi)始處,向文件末尾搜索 lemon
    2,輸入 ?lemon:從光標(biāo)開(kāi)始處,向文件首搜索 lemon
    3,輸入 :set nu :顯示每一行的行數(shù)
    4,按大寫(xiě)的 G,光標(biāo)定位到末尾;按小寫(xiě)的 g,定位到首行(非編輯模式下)

  • ls :查看目錄及文件
    1,Is [選項(xiàng)] 路徑,若沒(méi)有路徑則顯示當(dāng)前目錄的內(nèi)容
    2,- a 顯示所有文件,包括隱藏文件
    3,- l 顯示文件屬性
    4,ls -a -l ./Linux/test1 :查看test1目錄下的所有文件并顯示屬性,包括隱藏文件

  • cp :復(fù)制命令(copy)
    1,基本用法:cp [選項(xiàng)] [路徑]文件名/目錄 目標(biāo)地址
    2,- R 拷貝目錄和目錄下所有的目錄和文件
    3,cp a.txt b.txt ,將a文件復(fù)制,且命名為b文件(目錄名)
    4,cp dir1/dir11/file1 dir2/file2:將file1復(fù)制到dir2下,命名為file2
    5,cp -R dir1/dir11 dir2/dir22:將dir11目錄及下面的文件復(fù)制到dir22目錄下,目錄名不變

  • mv 移動(dòng)命令
    1,move 文件名或目錄 目標(biāo)目錄
    2,mv a.txt ../ 將a文件移動(dòng)到上級(jí)目錄(將文件移動(dòng)到另一個(gè)目錄沒(méi)有重命名)
    3,mv a.txt ../b.txt 將a文件移動(dòng)到上級(jí)目錄并改名為b文件(將文件移動(dòng)到另一個(gè)目錄并且重命名)
    4,mv dir1/dir12 dir2/dir22:將目錄dir12及下面的文件移動(dòng)到目錄dir22下

  • rm 刪除文件或目錄
    1,rm -f 強(qiáng)制刪除文件
    2,rm -r 刪除目錄
    3,rm -rf 強(qiáng)制刪除文件或目錄 (慎用)

  • find 查找文件
    1,用法:find [路徑] [選項(xiàng)] 查找內(nèi)容
    2,常用選項(xiàng)有:

    • find . -name '*.log' 在當(dāng)前目錄查找以 .log 結(jié)尾的文件
    • find ./dir -name '* test *' 在當(dāng)前目錄的dir目錄下查找文件名包含test的文件
    • find / -name log 在根目錄查找 log 命令的目錄
  • grep 字符串 [路徑]文件名1 文件名2 :在指定文件中查找字符(串)并打印該行
    grep 'hello word' test1/file1 file2 file3 在file1 file2 file3文件中串查找hello word 并打印所在行
    經(jīng)常和管道符|一起使用,|grep 字符串

  • cat 命令:顯示文件內(nèi)容
    1,cat [路徑]文件名:顯示文本文件內(nèi)容
    2,cat -n ./Linux/test1/file1 : 查看file1文件內(nèi)容,對(duì)所有行(包括空白行)進(jìn)行編號(hào),從1開(kāi)始
    3, cat -b ./Linux/test1/file1 : 查看file1文件內(nèi)容,對(duì)所有非空白行進(jìn)行編號(hào)
    4,cat -s ./Linux/test1/file1:查看file1文件內(nèi)容,有多行空行的只顯示一行空行
    5,cat -e ./Linux/test1/file1 : 查看file1文件內(nèi)容,并且在每行的結(jié)尾處附加$符號(hào),包括空白行
    6,cat -n file>file1,對(duì)file文件中每一行加上行號(hào)后然后寫(xiě)入到file1中,會(huì)覆蓋原來(lái)的內(nèi)容,文件不存在則創(chuàng)建它。
    7,cat -n file>>file2,對(duì)file1文件中每一行加上行號(hào)后然后追加到file2中去,不會(huì)覆蓋原來(lái)的內(nèi)容,文件不存在則創(chuàng)建它。

  • head :查看前幾行(不帶參數(shù)默認(rèn)獲取前10行)
    heah file1 :查看file1文件的前10行
    head -n 20 file1:查看file1的前20行

  • tail :查看后幾行(不帶參數(shù)默認(rèn)獲取倒數(shù)10行)
    tail file1 :查看file文件的倒數(shù)10行內(nèi)容
    tail -n 20 file1:查看file文件的倒數(shù)20行內(nèi)容
    tail -f error.log 不斷刷新,看到最新內(nèi)容,一般用于查看日志
    tail -500f error.log :查看最新500條數(shù)據(jù)

  • sed -n "開(kāi)始行,結(jié)束行p" [路徑]文件名:查看開(kāi)始行到結(jié)束行的內(nèi)容
    sed -n 5p file1 :輸出第5行
    sed -n '5p;8p;10,20p' file1 :輸出第5行,第8行,第10到20行的內(nèi)容
    sed -n '15,20p' file1: 輸出file1文件的15-20行的內(nèi)容(等同于 head -n 20 file4 |tail -n 5 )

  • more/less:
    cat error.log|grep 'https'|more : 分頁(yè)查看更多內(nèi)容

  • sed命令下批量替換文件內(nèi)容  
    格式: sed -i "s/查找字段/替換字段/g" 'grep 查找字段 -rl 路徑`文件名
    (實(shí)操失敗,會(huì)進(jìn)入quote>。grep前后的點(diǎn)是esc下面那個(gè)鍵上的點(diǎn))

  • vim狀態(tài)下文件內(nèi)容替換(只能操作一個(gè)文件)
    先vim file1,再shift+:,輸入以下命令
    注釋?zhuān)?s表示替換文件全部,s表示替換光標(biāo)所在行,g表示替換所有,不寫(xiě)g表示替換第一個(gè),分隔符/ 也可以使用#,此時(shí)/不會(huì)當(dāng)作分隔符,以下是部分示例
    1,%s/hello word/hello baby/g:把文件中所有的hello word替換為hello baby
    2,%s#/usr/bin#/bin#g :把文件中所有的路徑/usr/bin替換為/bin
    3,s/hello word/hello baby:把當(dāng)前行的第一個(gè)hello word替換為hello baby

  • perl 命令直接替換文件中的字符串(不用打開(kāi)文件,可以批量替換多個(gè)文件)
    示例:
    1,perl -p -i.txt -e"s/hello word/hello baby/g" ./dir1/file1 ./file2
    將dir1目錄下的file1和當(dāng)前目錄下的file2文件中的所有hello word替換hello baby,舊文件備份為file1.txt 和file2.txt
    2,perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
    將所有C程序中的foo替換成bar,舊文件備份成.bak
    參數(shù)詳解:
    -p 自動(dòng)循環(huán)+自動(dòng)輸出,相當(dāng)于 while(<>) { 腳本; print; }
    -n 自動(dòng)循環(huán),相當(dāng)于 while(<>) { 腳本; }(實(shí)際操作會(huì)清空文件內(nèi)容)
    -i<擴(kuò)展名> 原地替換文件,并將舊文件用指定的擴(kuò)展名備份。不指定擴(kuò)展名則不備份
    -e 執(zhí)行指定的腳本
    -a 自動(dòng)分隔模式,用空格分隔$_并保存到@F中。相當(dāng)于@F = split ”。分隔符可以使用-F參數(shù)指定
    -F 指定-a的分隔符,可以使用正則表達(dá)式
    -l 對(duì)輸入內(nèi)容自動(dòng)chomp,對(duì)輸出內(nèi)容自動(dòng)添加換行

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

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

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