Linux系統上常見的檔案管理類命令

夏末18844發表於2018-11-26

一、Linux系統上常見的檔案管理類命令


  檔案檢視類命令

  1.cat 

    cat 可以檢視文字檔案內容

    cat a.sh

      其中 -n 輸出行號 cat -n /etc/fstab           

           -A 檢視行結束符

     合併檔案內容  cat /etc/fstab /etc/init.d/network >> /tmep/test.file

  2.less/more

    都是可以一頁一頁地檢視檔案

    less /etc/init.d/network

      pgup/pudn b/f 向上/下翻頁

      /STRINT 查詢字串STRINT

        n 查詢下一個

  3.head 

    檢視檔案前n行,預設為10行

      -n 指定前n行  head -11 /etc/init.d/network 

  4.tail

    檢視檔案的後n行,預設為10行

      -n 指定後n行,tail -11 /etc/init.d/network 

    特殊用法

      tail -f /var/log/httpd/access_log 持續追蹤檔案追加內容,主要來用檢視日誌檔案

 

  建立檔案 touch,vi,nano,nano等

  刪除檔案 rm -rf 

  

  複製檔案

  1.cp

    cp 原始檔   目標檔案

      複製的只能是檔案,可以一個或多個

         cp /etc/init.d/network /etc/init.d/functions /tmp/

      但是如果複製多個檔案,後面的只能是目錄,如果複製一個檔案,後面的可以是一個檔案

       -f 覆蓋複製

       -r 複製目錄及下面所有檔案

       -a 複製時保留原屬性,比如屬主屬主,三維時間戳,主要用於歸檔檔案

  2.install

    install source target 比如 install /etc/grub2.cfg /tmp/

    複製過去後預設許可權是755。假如chmod命令丟失,可用scp從其他主機複製來後再用install複製,這樣就有執行許可權了

    -m 指定許可權  install -m 000 /etc/grub2.cfg /tmp/


  3.檔案查詢

    locate  根據資料庫匹配,速度快,使用簡單,非實習

    find 因find命令複製,故單獨用一篇來講

    

  4.移動/重全名檔案

    mv file to file2

    mv /etc/init.d/network  /etc/init.d/network.bak

    mv /etc/init.d/network  /tmp

     

  5.新建目錄

    mkdir -p 級聯建立目錄,如果目錄已存在則跳過,如果不存在則建立

      mkdir -pv /usr/local/tmp/src/httpd  

      

  6.移動/重新命名/刪除和檔案一樣

    

二、使用命令列展開功能,建立/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下建立目錄:x_y, x_z, q_y, q_z

    mkdir -pv /tmp/a1 && touch /tmp/a{1/{a,b},2}

    touch /tmp/{x,q}_{y,z}


三、檔案的後設資料資訊有哪些,分別表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。   

   檔案的資料流分為兩種,一種是檔案內容,另一種是檔案後設資料

   後設資料共有十三個,簡稱十三元,也是《紅樓夢》韻的名稱

   1.檔名稱

   2.檔案大小

   3.所在資料塊

   4.系統IO塊大小,一般是4096k

   5.檔案型別

   6.檔案所在Inode

   7.硬連線數

   8.許可權

   9.UID

   10.GID

   11.最近一次訪問時間戳

   12.最近一次改變檔案內容的時間

   13.最近一次改變後設資料的時間

   

   檢視檔案後設資料 stat file

   stat /dev/sr0

   

   如果改變檔案後設資料?

   touch file 改變檔案三個時間戳

      -a access,改變訪問時間,但同時會改變最近一次改變後設資料的時間

      -m modify,改變修改檔案內容時間,但同時會改變最近一次改變後設資料的時間


四、在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的檔案,檔名形如:tfile-2016-05-27-09-32-22。

    touch /tmp/tfile-`date +"%F-%H-%M-%S"`

      

五、複製/etc目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。

    mkdir -p /tmp/mytest1

    cp -r /etc/p*[^[:digit:]]  /tmp/mytest1


六、建立使用者tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack      

    setenforce 0

    groupadd jack

    useradd -u 5001 -d /tmp/tom -s /bin/zsh -G jack tom

    

七、常用的使用者以及檔案管理命令有哪些,並演示命令以及用法。    

    什麼是使用者?使用者就是計算機對使用者的唯一標識。

    為什麼要有使用者?因為所有程式只有使用者才能執行,沒有執行的程式只是一個靜止的檔案 。無論何時何地只有使用者才能登陸系統,才能使用計算機資源。

    

    使用者格式如下:用:分隔,沒有就空白。

    使用者名稱:X:UID:GID:註釋:家目錄:shell

    ajxzl:x:1000:1000:ajxzl:/home/ajxzl:/bin/bash

    slackware:x:1001:1001::/home/slackware:/bin/tcsh

    

    使用者名稱:使用者能見的登陸名

    X:密碼。已放在/etc/shadow檔案中。X用來佔位。

    UID:計算機能識別的唯一標識。同GID樣:0為root.1—999為系統使用者。1000—60000普通使用者。60000保留。

    系統使用者是什麼?因為所有的程式都必須得有屬主也就是必須得屬性某個使用者。為了能讓某些程式開機啟動或者後臺程式,所以分配了使用者就叫系統使用者。這些使用者從來不能登陸系統。純粹只是為了執行某程式。

    GID:使用者基本組。GID值和UID值一樣,名字也一樣。

    家目錄:登陸時預設目錄

    shell:預設登陸shell

    

    useradd 增加使用者。

      useradd [選項] 使用者名稱

      useradd ajxzl

      -u UID  useradd -u 3001 ajxzl2

      -r 系統使用者 useradd -r ajxzl3

      -g GID 基本組GID.但是這個組必須得事先存在 useradd -g 1000 ajxzl4

      -G GID 附加組GID,同樣這個組必須得事先存在 useradd -G 1001 ajxzl5

      -c 註釋 useradd -c "This is a testusre" ajxzl6

      -d directory 使用者家目錄。 useradd -d /tmp/ajxzl7 ajxzl7  預設/home/USER_NAME

         假如使用者家事先已存在,則不會複製模板檔案到家目錄。

         家目錄模板檔案 /etc/skel/

         修改這個目錄內容就會影響所有新增使用者家目錄內容。

      -s shell_name 設定使用者shell。預設為/bin/bash.檢視所有shell:cat /etc/shells

         預設shell在哪設定?/etc/default/useradd  新增使用者預設選項

           useradd -s /bin/cash ajxzl8

      -M 不建立家目錄 useradd -M ajxzl10 

      

    注意-r也是不會建立家目錄的。

    

    使用者密碼管理

    密碼管理檔案:/etc/shadow,格式如下.man 5 shadow

    ajxzl9:$6$/DjwtprZ$sZ/Vw4d9.8hBGLkYCl7yaqMhKqXeIVAisTGVZ53o4v5AsY4HCSE0HqP5y7d2.K/FaaHzbuKTklXVrCMgbB3Bf.:17823:0:99999:7:::

    使用者名稱:加密之後的密碼:最近一次更改密碼的日期:密碼的最小使用期限:最大密碼使用期限:密碼警告時間段:密碼過期恕限時間:賬戶過期時間:保留欄位

    共9個欄位。

       使用者名稱:使用者登陸名

       密碼:密碼。可以為空,表示不要密碼。如果為*或者!表示禁止透過密碼登陸。

       最近一次密碼修改日期:

       密碼最小使用期:0表示未 設定

       最長使用期:99999

       警告日期:表示密碼到了最長使用期後的警告天數

       密碼禁用日期:表示過了過了警告期仍然沒有改密碼的使用天數。到了這個天數就會禁止使用密碼登陸,但可能用其他方式登陸。

       賬號禁用期:禁止登陸。

       保留欄位  

    

    修改使用者:usermod [動作] username

       -ag 增加附加組

       -d 家目錄

       -m 修改家目錄後移動資料到新家目錄

       -L 鎖定使用者,使之不能登陸

       -U  解鎖使用者

     刪除使用者 userdel –r username

    

    passwd :命令。更改使用者密碼

       -l/-u 鎖定/解鎖使用者密碼

       -d 清空使用者密碼

    

    id命令:檢視使用者資訊

    -u 只看uid

     -g 只看gid

    -n 結果以名字顯示

    

    newgrp group_name 切換使用者基本組     

    finger 顯示使用者登陸資訊

    pwck:預設按照/etc/passwd檢查使用者各項。

        正確的欄位數

    一個唯一且有效的使用者名稱

    一個有效的使用者和組識別符號

    有效的主組

    有效的主目錄

    有效的登入 shell   pwck shadow 檢查使用者密碼是否有效,是否過期等。

    轉自http://blog.itpub.net/31560876/viewspace-2221549/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557905/viewspace-2221687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章