rm,環境變量path,cp,mv,文檔查看,chmod,chown,umaks

rm 指令

  • rm 能夠刪除文件和目錄
  • 輸入rm指令,刪除 1.txt 文件,系統詢問是否刪除,輸入 y 就成功刪除了
  • tree 能夠查看路徑分級
  • rm 命令使用 -f 參數,系統就不會詢問是否刪除,而是直接刪除
  • 星號 * 表示通配,在/tmp/aminglinux/2/3 目錄下面有 1.txt 和 2.txt,
  • 若是想同時刪除2兩個文件而不是一個一個刪除,可使用通配符 * 表示全部,
  • *.txt 表示目錄下全部的 .txt 文件,
  • 若是不寫 .txt 直接寫 * 那就表示全部文件,不僅是 .txt 文件
  • !tree 表示使用上一個tree命令,
  • 好比說,上一次使用了 tree /tmp/aminglinux,
  • 那麼下一次使用 !tree 就等同於上一次的 tree命令
  • ! + tree 或者 touch 等命令,表示使用最近一次使用過的 tree 或者 touch 命令
  • rm 命令沒法直接刪除目錄,須要使用 -r 參數
  • 使用 -r 參數後,系統會詢問是否進入目錄,是否刪除文件,是否刪除目錄,所有輸入 y
  • rm -r /tmp/aminglinux/2/3/ 雖然是刪除目錄,可是 linux 系統沒法直接刪除有文件的目錄
  • 因此係統會詢問是否刪除目錄內的文件,再詢問是否刪除目錄,只有空目錄能夠被刪除
  • 若是想取消系統詢問,直接刪除,可使用 -f 參數
  • 如 rm -rf /tmp/aminglinux/2 這樣就不會詢問直接刪除目錄
  • 如圖,使用 v 參數能夠顯示系統刪除目錄的過程
  • 當刪除一個不存在的目錄時,若是使用了 f 參數,系統將不會提示目錄不存在

環境變量

  • which 能夠查看一個命令所在的路徑,還有它的別名
  • 使用 echo $PATH 能夠查看環境變量
  • 圖片第二行是環境變量的路徑,用符號 : 對路徑進行分割
  • 在使用 which rm 的時候,會遍歷環境變量裏面顯示路徑的目錄
  • 若是 rm 命令的文件存在於環境變量顯示路徑的目錄裏面,則會顯示rm文件的路徑
  • 使用 which 的時候,若是目標文件不存在於環境變量目錄裏面,就沒法找到
  • 環境變量目錄是能夠修改的,好比增長一個 /tmp/ 目錄進入環境變量
  • 使用 PATH=$PATH:/tmp/ 就能夠將 /tmp/ 目錄添加進入環境變量
  • 下面能夠看到最後一個 : 後面多了 /tmp/
  • ls2文件就在 /tmp/ 目錄內,原本是找不到的,如今環境變量增長了 /tmp/ 目錄就能夠找到了
  • 重啓以後,環境變量會恢復成默認的路徑,新增的/tmp/會消失
  • PATH=$PATH:/tmp/ 並非永久改變環境變量,重啓後修改就會消失
  • 若是想修改的環境變量一直生效,能夠編輯文件 vi /etc/profile
  • 這個文件每次重啓都會從新加載,在這個文件裏面寫入 PATH=$PATH:/tmp/
  • 那麼每次重啓加載這個文件時都會執行這條指令,重啓後環境變量就會增長這個目錄
  • 若是想要恢復默認的路徑,不想要/tmp/目錄在環境變量裏面
  • 如上圖,複製原來默認的環境變量的路徑,而後直接 PATH = xxx/xxx/(默認路徑) 回車
  • 而後再把 etc/profile/ 文件裏面添加的 PATH=$PATH:/tmp/ 刪除以避免重啓改變默認環境變量

cp 命令

  • cp 命令能夠複製文件和目錄
  • 複製目錄的時候,須要使用 -r 參數
  • 上圖,將/tmp/aminglinux/ 目錄複製並更名爲aming1,兩個目錄內容一致,名稱不一致
  • tree !$ ,!表示最近一條指令,$表示最後一個參數
  • tree 以前的一條指令是 cp -r /tmp/aminglinux /tmp/aming1/
  • 這條指令的最後一個參數就是 /tmp/aming1/
  • !$ 組合在一塊兒表示最近一條指令的最後一個參數,那就是 /tmp/aming1/
  • 因此 tree !$ == tree /tmp/aming1/
  • cp 指令是一個別名,cp == cp -i , 指令位置在/usr/bin/cp
  • i 參數是安全參數,複製的時候若是有同名文件,系統會詢問是否覆蓋同名文件
  • 若是不使用-i參數的話,複製的時候系統就不會詢問是否覆蓋,而是直接覆蓋
  • 上圖 cp -r /tmp/aminglinux/ /tmp/aming1/
  • 執行命令後系統並無詢問是否覆蓋文件,由於/tmp/aming1/目錄已經存在
  • 因此將 /tmp/aminglinux/ 目錄複製爲 /tmp/aming1/ 目錄時並不會覆蓋
  • 而是將 aminglinx/ 目錄直接複製到 /tmp/aming1 目錄下面
  • 若是再執行一次一樣的cp命令,那麼系統就會詢問是否覆蓋文件
  • 由於 /tmp/aming1/ 目錄已經存在,因此會將 aminglinux/ 目錄複製到/tmp/aming1/下面
  • 由於已經執行過一次該指令,因此/tmp/aming1/下面已經存在aminglinux/目錄
  • 因此會詢問是否覆蓋該目錄,第一次執行/tmp/aming1/下面爲空,不會詢問覆蓋
  • 第二次執行/tmp/aming1/下面存在相同目錄因此會詢問是否覆蓋
  • 總結,cp複製目錄的時候,若是目標目錄已經存在,就會將源目錄放到目標目錄下面
  • 若是目標目錄不存在,那麼就會複製一份源目錄並將名稱改成目標目錄名稱

mv 命令

  • mv 能夠移動文件
  • 上圖,使用 mv 命令更改文件名稱,將.cfg 改成 .cfg.1
  • 上圖,使用 mv 將 tmp 目錄下的 1.txt 文件移動到 /root/目錄下並更名爲 2.txt
  • 上圖使用 mv 命令 將 ls2 文件移動到 aming/ 目錄下
  • 上圖重複執行 mv ls2 aming/ 系統詢問是否覆蓋
  • 由於 mv 是系統別名,使用which可知 mv 是帶 -i 參數的,若是不帶-i則系統不會詢問是否覆蓋,而是直接覆蓋
  • 上圖 mv aming/ aming2/
  • aming2/ 目錄不存在,那麼mv命令就會把 aming/ 更名成爲 aming2/
  • mv aming2/ aminglinux/
  • aminglinux/ 目錄存在,那麼mv命令就會把aming2/移動到aminglinux目錄下面

文檔查看 cat more less head tail

  • cat 能夠查看文件內容
  • tac 倒序查看文件內容
  • 使用 -n 參數可讓每一行顯示行號
  • 使用 more /etc/passwd
  • 會顯示該文件一部份內容,上圖中的百分號表明顯示了96%的內容,使用空格鍵往下翻頁
  • wc -l xxxx 能夠查看文件內的行數
  • cat /etc/passwd >> anaconda-ks.cfg.1 是把passwd的內容寫入ana文件裏面
  • paaawd內容不會覆蓋ana文件的內容,而是追加在ana文件內容後面
  • ctrl + b 在使用 more 看文件時能夠往前翻頁
  • 命令 less 也能夠看文件內容,操做與 more 差很少
  • 二者的區別是,less 可使用方向鍵上下移動內容,more不能使用方向鍵
  • ctrl + f 能夠日後翻頁
  • 還有一個區別是,more 看完內容會自動退出,less 看完並不會自動退出
  • 而是停留在上圖這樣的位置,最後會有一個 END 顯示,要使用 q 才能退出來
  • less 還有搜索功能,如上圖,使用less查看內容,而後輸入 /root 搜索root
  • 在less界面內,輸入 / 後面接本身想要的關鍵字,就能夠在全文內容中搜索該關鍵字
  • 假設全文有3個關鍵字,搜索功能會從上往下找,先找到最上面的
  • 要顯示下面的可使用 n ,按n鍵就會往下找
  • 按n找到下面的關鍵字,又想找回上面的,能夠用 shift+n 就會往上找
  • 還可使用 ? 搜索關鍵字,?跟 / 的區別是方向相反
  • 使用/搜索的時候是先定位最上面的關鍵字
  • 使用?搜索的時候是先定位最下面的關鍵字
  • 使用 / 搜索時,按 n 往下找關鍵字,shift + n 往上找關鍵字
  • 使用 ?搜索時,按 n 是往上找關鍵字,shift + n 是往下找關鍵字
  • 使用less查看文件時,若是文件太長,想直接看最後的內容
  • 可使用 shift + g 就能夠直接定位到最後一行
  • 想返回第一行,能夠按 g 就能夠返回第一行
  • head 能夠查看文件頭十行
  • head /etc/passwd 就能夠查看 passwd 文件的頭十行
  • tail 能夠查看文件最後十行
  • tail /etc/passwd 能夠查看 passwd 文件的最後十行
  • head 和 tail 均可以設置查看的行數
  • 如上圖,使用 -n 參數,後面是行數 2 這樣就能夠看頭兩行和最後兩行
  • 看動態文件時,就是不斷被寫入,新增內容的文件,好比日誌
  • 可使用 tail -f xxx.txt 來查看文件
  • 由於文件在不斷被寫入新內容,-f參數能夠查看不斷新增的內容
  • 最後十行內容變化了,-f參數能夠顯示不斷變化的最後十行

文件目錄權限 chmod

  • 文件權限有三種 r(可讀) w(可寫) x(可執行)
  • 每一個文件權限有9位,如上圖選中處
  • 前三位權限是文件全部者權限,中間三位是文件所屬組權限,最後三位是其它用戶可操做權限
  • 如上圖,前三位 rwx 表示文件全部者對於文件的權限是 可讀 可寫 可執行的
  • 中間三位是 r-x 表示文件所屬組對於文件的權限是 可讀 可執行,不可寫
  • 最後三位也是 r-x 表示其它用戶對於文件的權限是 可讀 可執行,不可寫
  • 權限也能夠用數字表示,r=4 w=2 x=1 rwx=7 rw=6 --x=1
  • rw-r--r-- = 644 , rw-r-xr-x = 655
  • chmod 能夠修改文件權限
  • 如圖所示,把tmp目錄文件的權限修改成 700 = rwx------
  • 如圖所示,文件權限後面有一個點 .
  • 這表示該文件受制於selinux , 永久關閉selinux並重啓後就會消失
  • chmod 修改權限並不會把目標對象下面的子目錄子文件的權限也修改
  • 好比,tmp 目錄下面有 tmp2,使用chmod修改tmp的權限
  • tmp權限被修改後,tmp2 的權限是不變的,並不會由於tmp權限被修改而改變
  • 如上圖,使用 chmod -R 770 aming2 修改了 aming2 的權限
  • aming2 下面的文件 1.txt 的權限也被修改,變成跟aming2的權限如出一轍
  • 這就是 -R 參數的做用,使用-R 能夠把目標對象下面的子目錄子文件的權限一塊兒修改
  • 除了用數字修改權限,還能夠用字母修改,如上圖
  • chmod u=rwx, g=r,o=rx aming2
  • u表明user,g表明group,o表明other,表明三種權限類別
  • o=rx 不能寫成 o=r-x,要什麼權限,就直接寫一塊兒,如 o=r o=rwx o=rx o=wx等
  • chmod a+x aming2 ,a 表明 all ,就是所有三種權限都加上x權限
  • 也就是說,u g o 三個權限類別所有加上 x 權限
  • chmod a-x aming2 就表示aming2三個權限類型所有取消x權限
  • 還有 chmod u+x 或者 g+x 或者 o+x 就表示相應類別的權限添加x權限

更改全部者和所屬組 chown

  • chown 能夠更改全部者跟所屬組
  • chown aming /tmp/yum.log 該命令將yum.log的全部者更改爲了 aming
  • chgrp user1 /tmp/yum.log 該命令將 yum.log的所屬組更改爲了 user1
  • chown user1:aming /tmp/yum.log 該命令將yum.log的全部者改爲了 user1,所屬組改爲了aming
  • 若是想使用chown 命令只更改所屬組,而不是兩個一塊兒改
  • 可使用 chown :root /tmp/yum.log 符號 :後面接所屬組名稱
  • 這樣就可使用chown 把 yum.log 文件的所屬組更改
  • 上圖 -R 參數可使被修改目錄下面的子文件和子目錄同時被修改
  • 好比 chown -R user1:aming /tmp/aming/
  • 在修改了aming目錄的同時,該目錄下面的全部子文件子目錄都會被改爲同樣的全部者和所屬組

umask

  • 經過umask肯定建立文件和目錄時的默認權限
  • 使用umask命令,root用戶默認umask是0022
  • 如上圖,使用 umask 002 修改默認umask, 能夠寫成0002,也能夠簡寫掉前面一個0寫成002
  • 目錄必須有x權限,否則目錄沒法瀏覽,文件不必定有x權限
  • 因此計算建立文件和目錄的默認權限的時候,目錄用777-umask,而文件用666-umask
  • 計算默認權限時,不能使用數字,要用字母權限計算
  • 如圖所示,若是 umask=0003,計算時要還原字母權限計算
  • 建立文件時默認權限計算方法:666(rw-rw-rw-) - (-------wx) = rw-rw--w- =664
  • 上面 (rw-)-(-wx)= 4,(r)-(-)= r,(w)-(w)= -,(-)-(x)= -
  • 符號 - 不管減什麼都等於 - ,因此 (-) - (x) = -
  • 同號相減也等於 - ,w-w= -,rwx 減 - 都等於自己,因此 (r)-(-)=r
  • 建立目錄是默認權限計算方法:777(rwxrwxrwx) - (-------wx) = rwxrwxr-- =774
相關文章
相關標籤/搜索