1. 程式人生 > >網際網路技術24——linux基礎知識

網際網路技術24——linux基礎知識

一、Linux 檔案


根據上文Linux 檔案說明
1.檔案的rwx
    d開頭表示資料夾,
    -開頭的表示檔案,
    l開頭表示連結檔案
    r:read,w:write,x:execute
    三部分分別表示 
        檔案所有者的許可權、所屬組的許可權、其他人的許可權
    
2.連結數
3.所有者
4.所屬組
5.檔案大小
6.檔案的建立或修改時間
7.檔案的名稱

二、檔案處理命令

命令:touch
語法:touch[檔名]
描述:建立一個空檔案

命令:mkdir
語法:mkdir [-p] [資料夾名稱]
描述:[遞迴]建立資料夾

命令:cp(copy)
語法:cp [原始檔][目標檔案]
      cp -r [源目錄][目標目錄]
描述:複製檔案或目錄

命令:rm(remove)
語法:rm -f [檔案]
      rm -r [目錄]
      rm -rf [目錄,包含目錄下的內容]
描述:刪除檔案或目錄

命令:cat
語法:cat [檔名稱]
描述:檢視檔案內容(內容過多,顯示內容可能不全)

命令:more
語法:more [檔名稱]
描述:檢視檔案內容,可完全顯示
用法:使用空格進行法爺,回車顯示下一行,q退出(或者ctrl+c)

命令:head
語法:head -number [檔名]
描述:檢視檔案的前多少行

命令:tail
語法:tail -number [檔名]
描述:檢視檔案的後多少行

mv 1 修改檔名稱的功能:mv [原始檔名][新檔名]
   2 移動檔案位置:mv [原始檔名稱][新檔案位置+新檔名稱]

命令:ln(link)
語法:ln -s [原始檔][目標檔案](硬連線則不需要加-s選項)
描述:建立軟連線檔案
軟連線的特點:許可權是所有人都可以訪問,並且軟連線指向原始檔,就型別win的快捷方式
硬連結的特點:cp原始檔,兩個檔案是同步修改的
另外:硬連結是不可以跨檔案系統分割槽的,而軟連線可以。

命令:chmod
語法:chmod[{ugo}{+-=}{rwx}][檔案或目錄]
      chmod[mode=421][檔案或目錄]
      421分別表示rwx,4+2+1 = 7
描述:改變檔案或目錄的許可權
形如:chmod g+w filename
形如:chmod 761 filename
問題示例:新建一個目錄,下面一個檔案,用普通使用者刪除檔案
嘗試:在root下將檔案的許可權設定成777然後用普通使用者刪除檔案
嘗試:在root下將資料夾的許可權設定成777然後用普通使用者刪除檔案
結論:資料夾的寫許可權表示能否刪除資料夾下的檔案
      檔案的寫許可權表示能否編輯檔案,不代表能否刪除檔案
      
檔案的rwx許可權
    r:可執行catch、more等讀操作
    w:修改檔案的內容等寫操作,單不代表可以把這個檔案刪除
    x:對檔案進行執行操作
資料夾的rwx許可權
    r:刻度操作,可以列出目錄的內容,比如ls命令。
    w:表示可以在目錄下建立或者刪除檔案的許可權
    x:表示可以進入這個目錄(基本上所有目錄都會有rx許可權)
      
root使用者切換到普通使用者是不需要輸入密碼的
普通使用者切換到root要密碼
普通使用者之間切換要密碼

命令:chown
語法:chown user 檔案
描述:改變檔案的所有者
例項:chown newuser t1.sh
      useradd username 新增使用者
      passwd username 為使用者設定密碼

命令:chgrp
語法:chgrp group 檔案
描述:改變檔案的所屬組
示例:chgrp adm t1.sh
    檢視系統預設的許可權:umask -S(umask檢視許可權掩碼值022 使用777-022得到真實許可權

命令:find
語法:find[搜尋方位路徑] [檔名] (根據檔名查詢)
      find[搜尋範圍路徑] -size [+-檔案大小] (根據檔案大小查詢,大於+小於-)
      find[搜尋範圍路徑] -user (檔案所有者)
            [以天為單位] 1 ctime、atime、mtime
            [以分鐘為單位] 2 cmin、amin、mmin
            c:表示檔案屬性發生變更
            a:表示被訪問過(比如被檢視過)
            m:表示內容被修改過
            如 find /usr -ctime -1 表示24小時以內檔案屬性發生變化
描述:查詢任何檔案或者目錄
* 匹配任意字元
?匹配一個字元
1k = 2block

find應用的邏輯連線
-a(and的意思,邏輯與)
-o(or的意思,邏輯或)
示例:find -size +12345 -a -size -22345

find查詢:根據檔案型別查詢
-type 
f表示二進位制檔案,l表示軟連線檔案d表示目錄
示例:find /test -type d

命令:which
語法:which [命令名稱]
描述:檢視命令所在目錄位置
在linux中一般只有兩種命令,一是所有使用者都可使用,二則是指允許管理員使用,還有whereis和which類似
示例:which rm
alias別名的意思,\rm就能使用源命令,而不是別名,也就是不詢問直接刪除

對找到的檔案執行某個命令:find /test -name a.txt -exec rm -f {} \;
{}表示查詢到的結果集(-exec換成-ok也可以)

find -inum [i節點號] 根據i節點查詢檔案,在linux系統中,所有的檔案都有一個唯一的標識,方便linux核心去呼叫,這就是i節點

命令:locate
語法:locate [檔名]
描述:查詢檔案,根據linux資料庫內部的索引(updatedb命令,可以手工更新updatedb資料庫,一般和locate配合使用)
注意:locate的查詢速度非常快,比find查詢快得很多,原因是locate找的是linux系統構建的檔案資料庫的索引值,所以速度非常快,但是有的時候新建立的檔案使用locate命令差查不到,原因是這個檔案索引沒有馬上更新到linux系統檔案資料庫裡。

幫助手冊命令

命令:man
語法:man [命令或者配置檔案]
描述:幫助命令,非常有用,可以獲得命令的幫助文件,如何使用等。

命令:whatis
語法:whatis [命令]
描述:檢視命令的描述

命令:--help
語法:[命令]  --help
描述:檢視命令的選項用法

壓縮解壓縮命令

命令:zip
語法:zip 選項[-r][壓縮後的檔名稱][原始檔]
描述:zip格式是window和linux通用的格式,可以壓縮檔案和目錄,壓縮目錄是需要選項 -r

命令:unzip
語法:unzip [解壓縮的檔案]
描述:進行解壓縮
最後配置加-d 表示檔案加壓後存放的路徑

命令:tar [zcvf|zxvf] [打包檔名.tar.gz] [原始檔]
      -c 產生tar打包檔案(必選)
      -x 嘗試的解壓縮檔案 (必選)
      -v 顯示詳細資訊
      -f 指定壓縮後的檔名
      -z 打包同時壓縮
描述:打包目錄生成的字尾名.tar.gz,或者進行解壓最後配置加-C表示檔案解壓後配置的路徑
file命令可以檢視任何檔案的型別

關機:shutdown -h now
重啟:reboot
ctrl+l 清屏
ctrl+c 退出應用


過濾:grep,可以對指定內容進行過濾然後輸出
管道:將一個命令的輸出傳送給另一個命令,作為另外一個命令的輸入,管道可以連線N個命令
ls -l /etc|more (表示將ls -l/etc的輸出單做more命令的資料,即more命令瀏覽的內容是前面命令的輸出結果)
ls -l /etc|grep init(表示將ls -l /etc 的輸出結果進行過濾,顯示為init的結果)
ls -1 /etc|grep init|wc -l(最後進行統計顯示的個數)

邏輯與(&&)
    形如:ls&&pwd(第一個命令執行成功,第二個命令才會執行)
邏輯或(||)
    形如 ls || pwd (第一個命令執行成功則第二個不執行;第一個執行失敗則執行第二個)
    

輸出重定向
shell對每個程序預定義3個檔案描述字(0,1,2)
0(stdin)標準輸入 1(stdout)標準輸出 2(stderr)標準錯誤輸出
輸出重定向:就是把輸出的結果顯示到一個檔案上(>表示輸出重定向,>> 表示追加內容)
ls -l /etc > /usr/a.log 覆蓋
ls -l /etc >> /usr/a.log 追加
輸入重定向:就是把輸入的資訊重定向,比如吧檔案裡的內容進行輸出
wall < /test/a.log
錯誤重定向:一般是把程式執行的錯誤日誌資訊放到指定的log檔案中
ll /adasdfdsf 2> /test/b.log