<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>

          Linux純干貨知識(shí)總結(jié) | 面試專(zhuān)用

          共 5028字,需瀏覽 11分鐘

           ·

          2020-08-04 20:24

          作者:阿里技術(shù)官方號(hào)? ? ??
          https://blog.csdn.net/alitech2017/article/details/105729350? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

          學(xué)習(xí)Linux的重要性相信不用我多說(shuō)大家也明白,以下是小編總結(jié)的常用Linux基礎(chǔ)知識(shí)以及面試常問(wèn)的Linux命令,希望能幫助大家更規(guī)范地理解和使用~


          絕對(duì)路徑和相對(duì)路徑


          絕對(duì)路徑

          以正斜杠開(kāi)始
          完整的文件的位置路徑
          可用于任何想置頂一個(gè)文件名的時(shí)候

          相對(duì)路徑

          不以斜線(xiàn)開(kāi)始
          置頂相對(duì)于當(dāng)前工作目錄或某目錄的位置
          可以作為一個(gè)簡(jiǎn)短的形式指定一個(gè)文件名

          -基名:basename,就是文件本身的名字

          -目錄名:dirname ,就是它所在的文件夾名


          更改目錄


          cd 改變目錄

          使用絕對(duì)或相對(duì)路徑
          cd/home/wang
          cd home/wang
          切換至父目錄:cd
          切換至以前的工作目錄:cd-

          選項(xiàng):-P

          相關(guān)環(huán)境變量:

          PWD:當(dāng)前目錄路徑
          OLDPWD:上一次目錄路徑

          文件通配符

          *匹配零個(gè)或多個(gè)字符

          匹配任何單個(gè)字符

          ~當(dāng)前用戶(hù)家目錄

          ~mage用戶(hù)mage家目錄

          ~+ 當(dāng)前工作目錄??

          ~- 前一個(gè)工作目錄

          [0-9]匹配數(shù)字范圍

          [a-z]:字母

          [wang]匹配列表中的任何一個(gè)字符
          [^wang]匹配列表中的所有字符以外的字符

          創(chuàng)建空文件和刷新時(shí)間

          touch命令

          格式:touch[OPTION]…FILE…
          -a 僅改變 atime和ctime
          -m 僅改變 mtime和ctime
          -t [[CC]YY]MMDDhhmm[.ss]
          指定atime和mtime的時(shí)間戳
          -c 如果文件不存在,則不予創(chuàng)建

          復(fù)制文件和目錄cp

          cp常用選項(xiàng)

          -i:覆蓋前提示, -n:不覆蓋,注意兩者順序
          -r,-R:遞歸復(fù)制目錄及內(nèi)部的所有內(nèi)容
          -a:歸檔,相當(dāng)于-dR –preserv=all
          -d:--no-dereference—preserv=links不復(fù)制原文件,只復(fù)制鏈接名
          -preserv[=ATTR_LIST]
          mode:權(quán)限
          ownership:屬主屬組

          cp選項(xiàng)

          -p:等同—preserv=mode,ownership,timestamp
          -v:--verbose
          -f:--force
          -u:--update只復(fù)制源比目標(biāo)更新文件或者目標(biāo)不存在的文件
          -b:目標(biāo)存在,覆蓋前先備份
          --backup=numbered目標(biāo)存在,覆蓋前先備份加數(shù)字后綴

          移動(dòng)和重命名文件

          mv[OPTION]…[-T]SOURCE DEST
          mv[OPTION]…SOURCE…DIRECTORY
          mv[option]…-t DIRECTORY SOURCE…

          常用選項(xiàng):

          -i:交互式
          -f:強(qiáng)制
          -b:目標(biāo)存在,覆蓋前先備份

          刪除

          rm[OPTION]…FILI…
          (工作中建議大家不要用rm命令)

          常用選項(xiàng):

          -i ?交互式
          -f ?強(qiáng)制刪除
          -r ?遞歸
          --no-preserve-root 刪除/
          示例:
          rm -rf /*

          目錄操作

          tree顯示目錄樹(shù)

          -d:只顯示目錄
          -L level:指定顯示的層級(jí)數(shù)目
          -p pattern:只顯示由指定pattern匹配到的路徑

          mkdir創(chuàng)建目錄

          -p:存在于不報(bào)錯(cuò),且可自動(dòng)創(chuàng)建所需的各目錄
          -v:顯示詳細(xì)信息
          -m MODE:創(chuàng)建目錄時(shí)直接指定權(quán)限

          rmdir 刪除空目錄

          -p:遞歸刪除父空目錄
          -v:顯示詳細(xì)信息

          rm -r 遞歸刪除目錄樹(shù)


          索引節(jié)點(diǎn)

          **inode(index node)表中包含文件系統(tǒng)所有文件列表
          inode表結(jié)構(gòu)**


          一個(gè)節(jié)點(diǎn)(索引節(jié)點(diǎn))是在一個(gè)表項(xiàng),包含有關(guān)文件的信息(元數(shù)據(jù)),包括:
          文件類(lèi)型,權(quán)限,UID,GID
          鏈接數(shù)(指向這個(gè)文件名路徑名稱(chēng)個(gè)數(shù))
          該文件的大小和不同的時(shí)間戳
          指向磁盤(pán)上文件的數(shù)據(jù)塊指針
          有關(guān)文件的其他數(shù)據(jù)


          硬鏈接和軟鏈接(符號(hào)鏈接)


          硬鏈接

          -創(chuàng)建硬鏈接會(huì)增加額外的記錄項(xiàng)以引用文件
          -對(duì)應(yīng)于同一文件系統(tǒng)上一個(gè)物理文件
          -每個(gè)目錄引用相同的inode號(hào)
          -創(chuàng)建時(shí)鏈接數(shù)遞增
          -刪除文件時(shí):
          rm命令遞減計(jì)數(shù)的鏈接
          文件要存在,至少有一個(gè)鏈接數(shù)
          當(dāng)鏈接數(shù)為零時(shí),該文件被刪除
          -不能跨越驅(qū)動(dòng)器或分區(qū)
          -語(yǔ)法:
          In filename [linkname]

          符號(hào)鏈接(軟鏈接)

          -一個(gè)符號(hào)鏈接指向另一個(gè)文件
          -IS-l的顯示鏈接的名稱(chēng)和引用的文件
          -一個(gè)符號(hào)鏈接的內(nèi)容是它引用文件的名稱(chēng)
          -可以對(duì)目標(biāo)進(jìn)行
          -可以跨分區(qū)
          -指向的是另一個(gè)文件的路徑;其大小為指向的路徑字符串的長(zhǎng)度,不增加或減少目標(biāo)文件inode的引用計(jì)數(shù);
          -語(yǔ)法:
          In-s filename [linkname]

          硬鏈接:對(duì)一個(gè)文件起多個(gè)名字
          軟鏈接:原始文件一般路徑用相對(duì)路徑,相對(duì)路徑一定相對(duì)于軟鏈接文件的路徑

          硬鏈接和軟鏈接的區(qū)別:

          (1) 本質(zhì):硬鏈接是一個(gè)文件多個(gè)名字,而軟鏈接一個(gè)文件對(duì)應(yīng)多個(gè)快捷方式。
          (2) 跨分區(qū):硬鏈接不可以跨分區(qū),軟鏈接可以跨分區(qū)。
          (3) 鏈接數(shù):硬鏈接會(huì)增加鏈接數(shù),軟鏈接不增加。
          (4) 節(jié)點(diǎn)編號(hào):硬鏈接相同,軟鏈接不相同。
          (5) 刪掉原始文件是否會(huì)影響到鏈接文件?硬鏈接各個(gè)文件時(shí)平級(jí)的關(guān)系,該訪(fǎng)問(wèn)還能訪(fǎng)問(wèn),而軟鏈接是一種依賴(lài)關(guān)系,刪除原始文件后鏈接會(huì)失效。
          (6) 目錄:硬鏈接不支持目錄,軟鏈接支持目錄。

          確定文件內(nèi)容

          -文件內(nèi)容可以包含多種類(lèi)型的數(shù)據(jù)
          -檢查文件的類(lèi)型,然后確定適當(dāng)?shù)拇蜷_(kāi)命令或應(yīng)用程序使用
          -file[options]…
          -常用選項(xiàng):

          -b列出文件辨識(shí)結(jié)果時(shí),不顯示文件名稱(chēng)
          -f filelist列出文件filelist中文件名的文件類(lèi)型
          -F使用指定分隔符號(hào)替換輸出文件后默認(rèn)的“:”分隔符
          -L查看對(duì)應(yīng)軟鏈接對(duì)應(yīng)文件的文件類(lèi)型
          --help顯示命令在線(xiàn)幫助

          標(biāo)準(zhǔn)輸入和輸出

          程序:指令+數(shù)據(jù)
          讀入數(shù)據(jù):input
          輸出數(shù)據(jù):output
          打開(kāi)的文件都有一個(gè)fd:file descriptor(文件描述符)
          Linux給程序提供三種I/O設(shè)備
          -標(biāo)準(zhǔn)輸入(STDIN)-0 默認(rèn)接受來(lái)自鍵盤(pán)的輸入
          -標(biāo)準(zhǔn)輸出(STDOUT)-1 默認(rèn)輸出到終端窗口
          -標(biāo)準(zhǔn)錯(cuò)誤(STDERR)-2 默認(rèn)輸出到終端窗口
          I/O重定向:改變默認(rèn)位置

          把輸出和錯(cuò)誤重新定向到文件

          STDOUT和STDERR可以被重新定向到文件
          命令 ?操作符號(hào) ? 文件名
          支持的操作符號(hào)包括:
          >把STDOUT重新定向到文件
          2>把STDERR重新定向到文件
          &>把所有輸出重定到文件

          >文件內(nèi)容會(huì)被覆蓋
          set-C 禁止將內(nèi)容覆蓋已有文件,但可追加
          >file強(qiáng)制覆蓋
          Set+C允許覆蓋
          >>原有內(nèi)容基礎(chǔ)上,追加內(nèi)容
          2> 覆蓋重定向錯(cuò)誤輸出數(shù)據(jù)流
          2>>追加重定向錯(cuò)誤輸出數(shù)據(jù)流
          標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出各自定向至不同位置
          COMMAND>/path/to/file.out2>/path/to/error.out
          合并標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出為同一個(gè)數(shù)據(jù)流進(jìn)行重定向
          -&>覆蓋重定向
          -&>>追加重定向
          -COMMAND>/path/to/file.out2>&1(順序很重要)
          -COMMAND>>/path/to/file.out2>&1
          ():合并多個(gè)程序的STDOUT
          (cal2007;cal2008)>all.txt

          tr命令


          • tr轉(zhuǎn)換和刪除字符
          • tr[OPTION]…SET1[SET2]
          • 選項(xiàng)
            • -c -C –complement:取字符集的補(bǔ)集
            • -d –delete:刪除所有屬于第一字符集的字符
            • -s –squeeze-repeats:把連續(xù)重復(fù)的字符以單獨(dú)一個(gè)字符表示
            • -t –truncate-set1:將第一個(gè)字符集對(duì)應(yīng)字符轉(zhuǎn)化為第二個(gè)字符集對(duì)應(yīng)的字符
          • [:alnum:]:字母和數(shù)字[:alpha:]:字母[:cntrl:]:控制(非打印)字符
          • [:digit:]:數(shù)字[:graph:]:圖形字符[:lower:]:小寫(xiě)字母[:print:]:可打印字符
          • [:punct:]:標(biāo)點(diǎn)符號(hào)[:space:]:空白字符[:upper:]:大寫(xiě)字母
          • [:xdigit:]:十六進(jìn)制字符

          把多行發(fā)送給STDIN

          使用“<<終止詞”命令從鍵盤(pán)把多行重導(dǎo)向給STDIN
          -直到 終止詞 位置的所有文本都發(fā)送給STDIN
          -有時(shí)被稱(chēng)為就地文本(heretext)
          Mail -s“Please Calladmin@magedu.com<<END>Hi Wang>>Please give me a call when you get in.We may need>to do some maintenance on server1.>>Details when you are on -site>Zhang>END


          管道

          管道(使用符號(hào)“|”表示)用來(lái)連接命令
          命令1|命令2|命令3…
          -將命令1 的STDOUT發(fā)送給命令2 的STDIN,命令2 的STDOUT發(fā)送到命令3的STDIN
          -STDERR默認(rèn)不能通過(guò)管道轉(zhuǎn)發(fā),可利用2>&1或|&實(shí)現(xiàn)
          -最后一個(gè)命令會(huì)在當(dāng)前shell進(jìn)程的子shell進(jìn)程中執(zhí)行用來(lái)
          -組合多種工具的功能
          Is | tr ‘a(chǎn)-z’ ‘A-Z’ ? ?
          less:一頁(yè)一頁(yè)地查看輸入
          ls -l/etc|less
          mail:通過(guò)電子郵件發(fā)送輸入
          echo“test email”|mail -s“test”[email protected]
          lpr:把輸入發(fā)送給打印機(jī)
          echo“test print”| lpr -P printer_name
          管道中 – 符號(hào)
          示例:
          將/home里面的文件打包,但打包的數(shù)據(jù)不是記錄到文件,而是傳達(dá)到stdout,經(jīng)過(guò)管道后,將tar -cvf- /home 傳送給后面的tar -xvf-,后面的這個(gè)- 則是取前一個(gè)命令的stdout,因此,就不需要使用臨時(shí)file了
          tar -cvf-/home|tar-xvf-

          重定向到多個(gè)目標(biāo)

          命令1|tee[-a]文件名|命令2
          把命令1的STDOUT保存在文件中,做為命令2的輸入
          -a追加
          使用
          -保存不同階段的輸出
          -復(fù)雜管道的故障排除
          -同時(shí)查看和記錄輸出

          文件查找

          在文件系統(tǒng)上查找符合條件的文件
          文件查找:locate,find
          非實(shí)時(shí)查找(數(shù)據(jù)庫(kù)查找):locate
          實(shí)時(shí)查找:find

          Locate命令

          locate KEYWORD
          有用的選項(xiàng)
          -i 不區(qū)分大小寫(xiě)的搜索
          -n N 只列舉前N個(gè)匹配項(xiàng)目
          -r 使用正則表達(dá)式
          示例
          搜索名稱(chēng)或路徑中帶有“conf”的文件
          locate conf
          使用Regex來(lái)搜索以“.conf”結(jié)尾的文件
          locate -r ‘.conf$’

          find命令

          實(shí)時(shí)查找工具,通過(guò)遍歷指定路徑完成文件查找
          工作特點(diǎn):
          -查找速度略慢
          -精確查找
          -實(shí)時(shí)查找
          -可能只搜索用戶(hù)具備讀取和執(zhí)行權(quán)限的目錄
          語(yǔ)法:
          find[OPTION]…查找路徑[處理動(dòng)作]
          查找路徑:指定具體目標(biāo)路徑;默認(rèn)為當(dāng)前目錄
          查找條件:指定的查找標(biāo)準(zhǔn),可以文件名、大小、類(lèi)型、權(quán)限等標(biāo)準(zhǔn)進(jìn)行;默認(rèn)找出指定路徑下的所有文件
          處理動(dòng)作:對(duì)符合條件的文件做操作,默認(rèn)輸出至屏幕

          查找條件

          指搜索層級(jí)

          -maxdepth level 最大搜索目錄深度,指定目錄為第1級(jí)
          -mindepth level 最小搜索目錄深度

          先處理目錄內(nèi)的文件,再處理目錄

          -depth

          根據(jù)文件名和inode查找:

          -name“文件名稱(chēng)”:支持使用glob
          *,?,[],[^]
          -iname“文件名稱(chēng)”:不區(qū)分字母大小寫(xiě)
          -inum n 按inode號(hào)查找
          -samefile name 相同inode號(hào)的文件
          -links n 鏈接數(shù)為n的文件
          -regex “PATTERN”:以PATTERN匹配整個(gè)文件路徑,而非文件名稱(chēng)

          根據(jù)屬主、屬組查找:

          -user USERNAME:查找屬主為指定用戶(hù)(UID)的文件
          -group GRPNAME:查找屬組為指定組(GID)的文件
          -uid UserID:查找屬主為指定的UID號(hào)文件
          -gid GroupID:查找屬組為指定的GID號(hào)的文件
          -nouser:查找沒(méi)有屬主的文件
          -nogroup:查找沒(méi)有屬組的文件

          根據(jù)文件類(lèi)型查找“

          type TYPE:
          f:普通文件
          d:目錄文件
          l:符號(hào)鏈接文件
          s:套接字文件
          b:塊設(shè)備文件
          c:字符設(shè)備文件
          p:管道文件

          空文件或目錄

          -empty
          Find/app -type d -empty

          組合條件:

          與:-a
          或:-o
          非:-not,!

          德·摩根定律

          (非A)或(非B)=非(A且B)
          (非A)且(非B)=非(A或B)
          示例:
          !A -a!B=!(A -o B)
          !A -0!B=!(A -a B)

          根據(jù)文件大小來(lái)查找


          有道無(wú)術(shù),術(shù)可成;有術(shù)無(wú)道,止于術(shù)

          歡迎大家關(guān)注Java之道公眾號(hào)


          好文章,我在看??

          瀏覽 24
          點(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>
                  久久婷婷丁香五月天 | 婷婷五月天乱伦小说 | 欧美三级 欧美一级 | 三级三级久久三级 | 国产精品更改 |