linux命令,文件與目錄(cp,pwd,mkdir,rmdir;ls,cp,rm,mv,basename,dirname;cat,tac,more,less,head,tail,touch,umas

1.目錄操做:less

(1)cd  (切換目錄)排序

  cd ~   回到主目錄遞歸

  cd      回到主目錄字符串

  cd ..   回到上層目錄test

  cd -    回到剛纔的目錄file

  cd /var/spool/mail    絕對路徑network

  cd ../mqueue     相對路徑(由/var/spool/mail 轉到/var/spool/mqueue這樣寫)權限

(2)pwd (顯示當前目錄)queue

  pwd   顯示當前目錄im

  pwd -P   顯示當前目錄(不以鏈接文件的數據顯示,而是顯示正確的完整路徑)

(3)mkdir (新建一個新目錄)

  mkdir -p test1/test2/test3   建立多層目錄

  mkdir -m 777 test2   新建權限777的目錄

(4)rmdir (刪除一個空目錄)

  rmdir test  刪除空文件夾test

  rmdir -p test1/test2/test3  刪除test1/test2/test3

 

2.文件與目錄管理

(1)查看文件目錄(ls)

  ls -a  列出所有文件,包括隱藏文件

  ls -A  列出所有文件,包括隱藏文件,不包括.與..兩個目錄

  ls -d  僅列出目錄自己,不包括其中文件數據

  ls -l   列出長串數據,包含文件屬性與權限

  ls -R 按文件容量大小排序

  ls -t  按時間排序

  ls --color=never  不顯示顏色(always顯示顏色,auto自動判斷)

  ls --full-time  以完整時間模式輸出

(2)複製、刪除與移動(cp,rm,mv)

  cp -a  /var/log/wtmp wtmp_test 將文件全部特性複製過去

  cp /var/log/wtmp .  複製到當前目錄

  cp -i   若目標文件存在,則覆蓋時先詢問操做的進行

  cp -p  連同文件屬性一塊兒複製

  cp -r   目錄的複製

  cp -d  若源文件做爲鏈接文件的屬性,則複製鏈接文件屬性而非鏈接文件自己

  cp -s  複製成爲符號鏈接文件

  rm -i  互動模式,刪除前詢問用戶是否操做

  rm -f  忽略不存在的文件,不會出現警告信息

  rm -r  遞歸刪除

  mv -f  若是目標文件存在,不會詢問而直接覆蓋

  mv -i  若是目標文件存在,則詢問是否覆蓋

  mv -u 若是目標文件存在,且source比較新,則覆蓋

(3)取得路徑文件名與目錄名稱

   basename /etc/systemd/network  取得最後的文件名(network)
   dirname /etc/systemd/network      取得目錄名(/etc/systemd)


3.文件內容查閱
(1)直接查看文件內容
  cat 由第一行開始顯示內容

  cat -A  完整顯示,包含特殊字符

  cat -b  列出行號(空白行不標行號)

  cat -n  打印出行號(包括空白行)

  tac 反向顯示,與cat相反

  nl 添加行號打印

  nl -b a  打印出行號(包括空白行),相似cat -n

  nl -b t   若是有空行,空的那行不列出行號

  nl -n ln  行號在屏幕坐方顯示

  nl -n rn  行號在字段右方顯示,不加0

  nl -n rz  行號在字段右方顯示,加0

  nl -w 3   行號默認字段改成3位

(2)可翻頁查看

  more /etc/manpath.config 查看文件信息(空格翻頁,enter鍵向下滾動一行,/字符串向下查詢,:f馬上顯示文件名及目前顯示行數,b往回翻頁,q離開)

  less /etc/manpath.config 查看文件信息(空格/pageup上翻,pagedown下翻,/字符串向下查詢,?字符串向上查詢,n重複查詢,N反向重複,q離開) 

(3)數據選取

  head -n 10 /etc/manpath.config  顯示前10行(不加-n 10也是默認顯示前10行) 

  head -n -10 /etc/manpath.config  顯示前面全部行數,不包括後10行

  tail -n 20 /etc/manpath.config  顯示最後20行

  tail -n +20 /etc/manpath.config  顯示後面全部行數,不包括前20行

  tail -f  持續檢測行數,直到按下ctrl+c

(4)非文本文件

  od -t a  默認字符輸出

  od -t c  ASCII字符輸出

  od -t d  十進制輸出(f浮點數,o八進制,x十六進制)

  od -t oCc /etc/issue  八進制列出存儲值與ASCII對照表

(5)修改文件時間或者建立新文件

  touch test  新建一個新文件test

  touch -a  修改訪問時間

  touch -c  僅修改文件時間,若文件不存在則不建立新文件

  touch -m 修改mtime

  touch -d "2 days ago" test   test文件日期調整爲兩天前

  touch -t 1503151820 test  test文件時間調整爲2015.3.15 18:20

 

4.默認權限與隱藏權限

  umask 002  默認權限去除的是其餘人權限的w權限

  chattr +i test 設置test文件的隱藏屬性(不能被刪除、更名、寫入添加數據,僅root用戶可設置)

  chattr +a test 設置test文件的隱藏屬性(只能添加數據,不能刪除、修改,僅root用戶可設置)

  chattr -a test 取消test文件的隱藏屬性

  lsattr test  顯示test文件隱藏屬性

  file test  查看文件類型

 

5.命令與文件的查詢

  which ifconfig 找出ifconfig命令的完整文件名

  whereis ifconfig  尋找ifconfig這個文件

  locate ifconfig   尋找與ifconfig相關的文件

  find /etc -mtime 3  3天前的一天以內改過的文件

  find /etc -mtime -3  3天以內改過的文件(不包括第3天)

  find /etc -mtime +3  3天以前改過的文件(不包括第3天)

  find /etc -newer /etc/passwd  尋找/etc下比passwd日期新的文件並列出

  find / -nouser  尋找系統中不屬於任何人的文件

  find /home -user root  尋找/home下屬於root的文件

  find /etc -name test  尋找/etc下名爲test的文件

  find / -size +100k 尋找系統中大於100k的文件

  find / -size +100k -exec ls -l {} \;  將上面找到的文件用ls -l列出來

相關文章
相關標籤/搜索