站長資訊網
        最全最豐富的資訊網站

        linux 文件與用戶管理

        1、Linux上的文件管理類命令

        (1)ls 顯示文件

        ls [OPTION]… [FILE]…

        -a 顯示所有文件

        -A:顯示除.和..之外的所有文件

        -l:顯示文件的詳細屬性信息 ,也可以用ll來表示

        -h:對文件大小進行單位換算,可能影響精度

        -d:查看目錄本身而非其內部的文件

        –S: 按從大到小排序

        -r:逆序顯示文件

        -R:遞歸顯示文件

        -X 按類別顯示文件

        示例:ll -ah /–詳細顯示根目錄下的所有文件(包括隱藏文件)

        ll -dh /etc–詳細顯示/etc目錄本身

        ll -hv /–倒序顯示/目錄下所有文件(包括隱藏文件)

        ls -R /etc –遞歸顯示/etc下所有文件

        l. 只顯示隱藏文件

        ls -d */ 只顯示當前目錄所有子目錄

        ls */ 顯示當前文件目錄及目錄下的文件

        (2)mkdir:創建目錄

        mkdir [OPTION]… DIRECTORY…

        -p:自動按需創建父目錄

        -m:創建目錄時給定權限

        示例:mkdir -p /data/A/B –在/data目錄下遞歸創建date/A/B三個目錄

        (3) rmdir:刪除目錄只能刪除空目錄

        rmdir [OPTION]… DIRECTORY…

        -p:刪除目錄后如果其父目錄為空,則一并刪除

        示例:rmdir -p /data/test/A –刪除A目錄后,test目錄為空,一并刪除

        (4)cd:切換目錄

        示例:cd ..:切換到上級目錄

        cd ~:切換回自己的家目錄

        cd -:在上一次目錄與當前目錄直接來回切換

        (5)pwd:顯示當前目錄

        (6)cp:復制

        單源復制:cp [OPTION]… [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)

        多源復制:cp [OPTION]… SOURCE… DIRECTORY(DEST必須為directory)

        -i:交互式復制,即覆蓋前提醒用戶確認(默認)

        -a:保留原文件屬性的前提下復制文件,支持目錄復制,備份常用選項

        -f:強制覆蓋目標文件

        -r,-R:遞歸復制目錄

        –backup=numbered 選項會創建一個在文件名末尾用數字標記(~)的備份文件

        -u 只覆蓋最新文件

        示例:cp -f /data/[1-3].txt /data/test test必須為目錄,把三個文件一起復制到test中

        cp -a /data /practice 把data目錄及目錄下的內容一起復制到practice中

        (7)mv:剪切

        單源復制:mv [OPTION]… [-T] SOURCE DEST(如果DEST不存在則創建,存在則覆蓋)

        多源復制:mv [OPTION]… SOURCE… DIRECTORY(DEST必須為directory)

        -i:交互式復制,即覆蓋前提醒用戶確認

        -f:強制覆蓋目標文件

        -u :若目標文件已經存在,且 source 比較新,才會更新(update)

        -t : 即指定mv的目標目錄,該選項適用于移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在后。

        示例:mv -i /data/[1-3].txt /practice 把/data目錄下三個txt文件剪切到/practice下

        alias rm='mv -t /data' 把rm 替代為mv 把要刪除的文件移動到/data 目錄下

        (8)rm:刪除

        rm [OPTION]… FILE…

        -i:交互式復制,即覆蓋前提醒用戶確認

        -f:強制覆蓋目標文件

        -r,-R:遞歸處理,將制定目錄下的所有文件包括目錄一并刪除

        示例:rm -rf /practice 遞歸刪除/practice目錄

        (9)cat:正向查看文本內容

        cat [OPTION]… [FILE]…

        -n:給顯示的文本行編號

        -E:顯示行結束符號$

        示例:cat -n /etc/fstab 查看/etc/fatab內容并顯示行號

        (10)tac:倒敘查看文本內容

        tac [OPTION]… [FILE]…

        示例:tac /etc/passwd 倒敘查看文本內容

        (11)head:顯示文本內容,默認顯示頭10行

        head [OPTION]… [FILE]…

        -n #:顯示文本頭#行內容

        示例:head -5 /etc/passwd 顯示/etc/passwd文件頭5行內容

        (12)tail:顯示文本內容,默認顯示后10行

        tail [OPTION]… [FILE]…

        -n #:顯示文本后#行內容

        -f:查看文件尾部內容結束后不退出,跟隨顯示新增的行

        示例:tail -8 /etc/passwd 顯示/etc/passwd文件后8行內容

        (13)more:分屏顯示文本內容,每次顯示一屏顯示完停止

        more [options] file […]

        Space鍵:顯示文本下一屏內容

        Enter鍵:只顯示文本下一行內容

        b鍵:顯示文本上一屏內容

        q鍵:退出

        (14)less:分屏顯示文本內容,不主動退出

        less [options] file […]

        Space鍵:顯示文本下一屏內容

        Enter鍵:只顯示文本下一行內容

        b鍵:顯示文本上一屏內容

        q鍵:退出

        (15) ln 鏈接文件

        ln [OPTION]… [-T] TARGET LINK_NAME (1st form)

        ln [OPTION]… TARGET (2nd form)

        ln [OPTION]… TARGET… DIRECTORY (3rd form)

        ln [OPTION]… -t DIRECTORY TARGET… (4th form)

        -b  刪除,覆蓋以前建立的鏈接

        -d  創建指向目錄的硬鏈接(只適用于超級用戶)

        -f  強制執行,操作前不詢問

        -i  交互模式,文件存在則提示用戶是否覆蓋

        -n  把符號鏈接視為一般目錄

        -s  軟鏈接(符號鏈接)

        -v  顯示詳細的處理過程

        示例:ln -s a.txt a 為a.txt創建軟鏈接

        ln a.txt a 為a.txt創建硬鏈接

        1)軟連接和Windows系統中的快捷方式有點類似

        2)硬鏈接,相當于多了一個文件名指向同一塊內存空間,目錄無法創建硬鏈接,不可以跨文件系統創建

        (16) file 檢查文件的類型

        file [options] …

        -f filelist 列出文件filelist中文件名的文件類型 (把需要判斷的文件名寫入一個文件中批量判斷)

        -F 使用指定分隔符號替換輸出文件名后默認的”:”分隔符(輸出結果修改)

        2、使用命令行展開功能,創建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b

        執行命令mkdir -pv /tmp/a{1/{a,b},2}

        mkdir: created directory ‘/tmp/a1’

        mkdir: created directory ‘/tmp/a1/a’

        mkdir: created directory ‘/tmp/a1/b’

        mkdir: created directory ‘/tmp/a2’

        執行命令tree /tmp/

        /tmp/

        ├── a1

        │ ├── a

        │ └── b

        └── a2

        在/tmp目錄下創建目錄:x_y, x_z, q_y, q_z

        執行命令mkdir -pv {x,q}_{y,z}

        mkdir: created directory ‘x_y’

        mkdir: created directory ‘x_z’

        mkdir: created directory ‘q_y’

        mkdir: created directory ‘q_z’

        執行tree查看效果

        .

        ├── q_y

        ├── q_z

        ├── x_y

        └── x_z

        3、文件的元數據信息包括

        Size 文件大小(字節)

        Blocks 文件使用的數據塊總數

        IO Block 數據塊的大小

        regular file:文件類型(常規文件)

        Device 設備編號

        Inode 文件所在的Inode

        Links 硬鏈接次數

        Access 權限 Uid 屬主id/用戶 Gid 屬組id/組名

        Access Time:簡寫為atime,表示文件的訪問時間。當文件內容被訪問時,更新這個時間

        Modify Time:簡寫為mtime,表示文件內容的修改時間,當文件的數據內容被修改時,更新這個時間。

        Change Time:簡寫為ctime,表示文件的狀態時間,當文件的狀態被修改時,更新這個時間,例如文件的鏈接數,大小,權限,Blocks數。

        查看文件的元數據信息用stat命令

        [root@centos7 ~]#stat hello.sh

        File: ‘hello.sh’

        Size: 32 Blocks: 8 IO Block: 4096 regular file

        Device: 802h/2050d Inode: 100663387 Links: 1

        Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

        Context: unconfined_u:object_r:admin_home_t:s0

        Access: 2018-10-31 20:37:17.757059440 +0800

        Modify: 2018-10-28 21:25:08.485016670 +0800

        Change: 2018-10-28 21:26:26.959023084 +0800

        Birth: –

        修改文件的時間戳信息

        touch [OPTION]…FILE…

        -a:only atime

        -m:only mtime

        -t:使用指定的日期時間,而非現在的時間;[[CC]YY]MMDDhhmm[.ss]

        4、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

        執行命令 touch /tmp/tfile-`date "+%Y-%m-%d-%H-%M-%S"`

        ll /tmp/

        total 0

        -rw-r–r–. 1 root root 0 Nov 22 19:36 tfile-2018-11-22-19-36-45

        5、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

        執行命令mkdir /tmp/mytest1;cp -a /etc/p*[^0-9] /tmp/mytest1

        結果如下

        ls /tmp/mytest1/

        pam.d pbm2ppa.conf plymouth popt.d prelink.conf.d profile.d purple

        passwd pinforc pm postfix printcap protocols python

        passwd- pki pnm2ppa.conf ppp profile pulse

        6、創建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

        執行命令groupadd jack;useradd -u 5001 -d /tmp/tom -s /bin/zsh -U -G jack tom

        結果如下tom:x:5001:5001::/tmp/tom:/bin/zsh

        uid=5001(tom) gid=5001(tom) groups=5001(tom),1003(jack)

        ll -a /tmp/tom

        total 12

        drwx——. 3 tom tom 78 Nov 22 19:55 .

        drwxrwxrwt. 10 root root 217 Nov 22 19:55 ..

        -rw-r–r–. 1 tom tom 18 Aug 3 2017 .bash_logout

        -rw-r–r–. 1 tom tom 193 Aug 3 2017 .bash_profile

        -rw-r–r–. 1 tom tom 231 Aug 3 2017 .bashrc

        drwxr-xr-x. 4 tom tom 39 Oct 17 20:27 .mozilla

        7、常用的用戶以及文件管理命令

        (1)查看當前用戶:whoami 和who 或者 who am i

        (2)useradd :添加用戶命令

        useradd [options] LOGIN

        -u UID -o 配合-u 選項,不檢查UID的唯一性

        -g GID:指明用戶所屬基本組,可為組名,也可以GID

        -c "COMMENT":用戶的注釋信息

        -d HOME_DIR: 以指定的路徑(不存在)為家目錄

        -s SHELL: 指明用戶的默認shell程序 可用列表在/etc/shells文件中

        -G GROUP1[,GROUP2,…]:為用戶指明附加組,組須事先存在 -N 不創建私用組做主組,使用users組做主組

        -r: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000

        -m 創建家目錄,用于系統用戶

        -M 不創建家目錄,用于非系統用戶

        示例:useradd -s /bin/sh -g group –G adm,root abc 增加用戶abc,并指定它的shell ,主組和附加組

        useadd 默認配置文件/etc/default/useradd

        /etc/login.defs這個文件就是用來設置用戶創建時默認屬性的文件

        (3)usermod:修改用戶信息命令

        usermod [options] LOGIN

        -u UID: 新UID

        -g GID: 新主組 -G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的 附加組將會被覆蓋;若保留原有,則要同時使用-a選項

        -s SHELL:新的默認SHELL -c 'COMMENT':新的注釋信息

        -d HOME: 新家目錄不會自動創建;若要創建新家目錄并移 動原家數據,同時使用-m選項

        -l login_name: 新的名字;

        -L: lock指定用戶,在/etc/shadow 密碼欄的增加 !

        -U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉

        -e YYYY-MM-DD: 指明用戶賬號過期日期

        -f INACTIVE: 設定非活動期限

        示例:usermod -s /bin/ksh -d /home/z –g developer sam 修改sam用戶的shell和目錄以及主組

        (4)userdel 刪除用戶

        userdel [OPTION]… login

        -r: 刪除用戶家目錄

        userdel -r sam 刪除sam用戶并清空相關目錄

        (5)su 切換用戶

        su [options…] [-] [user [args…]]

        su – 完全切換

        (6)passwd 更改密碼

        passwd [OPTIONS] UserName

        -l:鎖定指定用戶

        -u:解鎖指定用戶

        -e:強制用戶下次登錄修改密碼

        -n mindays: 指定最短使用期限

        -x maxdays:最大使用期限

        -w warndays:提前多少天開始警告

        -i inactivedays:非活動期限

        –stdin:從標準輸入接收用戶密碼

        示例:echo magedu | passwd –stdin varnishs 非交互式更改密碼

        (7)chage 修改用戶密碼策略

        chage [OPTION]… LOGIN

        -d LAST_DAY

        -E –expiredate EXPIRE_DATE

        -I –inactive INACTIVE

        -m –mindays MIN_DAYS

        -M –maxdays MAX_DAYS

        -W –warndays WARN_DAYS

        –l 顯示密碼策略

        示例: chage -d 0 tom 下一次登錄強制重設密碼

        (8)groupadd 增加組

        groupadd [OPTION]… group_name

        -g GID: 指明GID號;

        -r: 創建系統組

        (9)groupmod 修改組信息

        groupmod [OPTION]… group

        -n group_name 新名字

        -g 修改gid

        示例:groupmod -n linux linux2

        (10)groupdel 刪除組

        groupdel GROUP

        (11)chown 修改文件所屬組

        chown [OPTION]… [OWNER][:[GROUP]] FILE…

        -R: 遞歸

        示例:chown -R myuser:mygroup /test

        chown myuser test

        chown :mygroup test 修改test所屬組

        (12)chmod 修改文件權限 (rwxX)(421)

        chmod [OPTION]… OCTAL-MODE FILE…

        -R: 遞歸修改權限

        對于文件來說rwx分別是可讀可寫可執行權限

        對于目錄目錄r權限可以看到文件列表~ w可以刪文件 x可以進入目錄和文件具體屬性 無法操作該目錄 目錄基本權限

        +X:只給目錄x權限,不給文件x權限,或者給有執行權限的文件 加執行權限 如-rwxrw-rw- 變成 -rwxrwxrwx

        root不受rw限制受x權限限制

        示例:chmod u+wx,g-r,o=rx file

        chmod -R g+rwX /testdir 給目錄的所屬組遞歸增加rwx權限,該目錄下文件所屬組只增加rw權限

        chmod 600 file

        (13)SUID, SGID, Sticky 特殊權限

        suid u+s 4777 作用于二進制程序,權限與程序所有者有關

        guid g+s 2777 作用于二進制程序,權限與程序所屬組有關;作用于文件夾中,文件夾里新建文件繼承目錄所屬組

        stick o+t 1777 作用目錄,此目錄的文件只能被所有者刪除

        chattr +i +a(只能追加) 鎖定文件 +A 不能修改atime(訪問時間) lsattr file查看特殊權限

        (14)umask 系統默認生成權限

        新建FILE權限: 666-umask 如果所得結果某位存在執行(奇數)權限,則將其權限+1 (結果偶數不變,奇數加一)

        新建DIR權限: 777-umask

        (15)ACL高級權限

        centos6版本需要手動加acl權限功能

        tune2fs –o acl /dev/sdb1

        mount –o acl /dev/sdb1 /mnt/test

        ACL生效順序:所有者,自定義用戶,自定義組,其他人

        應用ACL后 文件本身組權限變成acl中的mask,而非傳統的組權限

        常用命令

        getfacl: 獲取文件或目錄的ACL設置信息

        getfacl [-bkndRLP] { -m|-M|-x|-X … } file …

        -a , –access:顯示文件或目錄的訪問控制列表

        -d , –default:顯示文件或目錄的默認(缺省)的訪問控制列表

        -R , –recursive:操作遞歸到子目錄

        setfacl: 設置文件或目錄的ACL設置信息

        setfacl [-bkndRLP] { -m|-M|-x|-X … } file …

        -m, –modify=acl:修改文件或目錄的擴展ACL設置信息

        -x, –remove=acl:從文件或目錄刪除一個擴展的ACL設置信息

        -b, –remove-all:刪除所有的擴展的ACL設置信息

        -k, –remove-default:刪除默認的acl設置信息

        -n, –no-mask:不要重新計算有效權限。setfacl默認會重新計算ACL mask,除非mask被明確的制定

        -d, –default:設置默認的ACL設置信息(只對目錄有效)

        -R, –recursive:操作遞歸到所有子目錄和 文件

        示例:getfacl file

        setfacl -m u:wang:rwx txt

        setfacl -Rm g:sales:rwX directory

        setfacl -m d:u:wang:rx /data 設定該目錄的默認權限,只對目錄有效 或者setfacl -dmu:wang:rx /data

        setfacl -x u:wang file 移除設置好的wang賬號對該文件權限

        備份和恢復ACL

        主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p 參數。

        但是tar等常見的備份工具是不會保留目錄 和文件的ACL信息

        getfacl -R /tmp/dir1 > acl.txt 把目錄的acl保存在acl.txt文件中

        setfacl -R -b /tmp/dir1 刪除該目錄所有acl權限

        setfacl -R –set-file=acl.txt /tmp/dir1 恢復權限到目錄中

        setfacl –restore acl.txt

        getfacl -R /tmp/dir1 查看目錄acl權限

        (16)pwck grpck 檢查/etc/passwd 和 /etc/group 文件正確性

        用文件批量創建用戶密碼: newusers chpasswd

        創建user文件,寫入用戶列表,格式與/etc/passwd 一致

        如:

        postfix:x:89:89::/var/spool/postfix:/sbin/nologin

        ntp:x:38:38::/etc/ntp:/sbin/nologin

        tcpdump:x:72:72::/:/sbin/nologin

        tomcat:x:1001:1002::/home/tomcat:/bin/bash

        tom:x:5001:5001::/tmp/tom:/bin/zsh

        然后newusers txt 創建這些用戶

        在創建password文件,格式

        用戶:密碼

        tomcat:123456

        tom:123456

        然后cat password |chpasswd 自動添加密碼

        newgrp 切換當前用戶主組

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 99国产精品一区二区| 久久91精品国产91久久麻豆| 国产国拍亚洲精品mv在线观看| 国产精品女同一区二区久久| 国产亚洲精品自在久久| 乱人伦人妻精品一区二区| 国产高清在线精品二区一| 最新国产精品无码| 国产在线国偷精品免费看| 四虎国产精品免费观看 | 精品久久一区二区| 精品欧洲av无码一区二区三区| 在线观看亚洲精品国产| 欧美日韩精品久久久久| 国产精品最新国产精品第十页| 91精品国产福利在线观看| 久久精品国产亚洲欧美| 国产午夜精品一区理论片| 国产精品无码专区| 精品免费久久久久久久| 无码人妻精品一区二区三18禁| 亚洲精品乱码久久久久久不卡| 久久夜色撩人精品国产| 精品无码国产污污污免费网站国产 | 精品成人av一区二区三区| 国产伦精品一区二区三区女 | 国产精品∧v在线观看| 亚洲综合一区二区精品导航| 久久99精品国产麻豆宅宅| 国产国产成人精品久久| 国产成人vr精品a视频| 久久Av无码精品人妻系列| 久久精品亚洲精品国产色婷| 精品国产福利一区二区| 久久免费的精品国产V∧| 精品久久人妻av中文字幕| 国产精品露脸国语对白| 国产成人精品免费视频动漫| 精品视频一区二区三区在线观看| 亚洲国产精品婷婷久久| 99热精品毛片全部国产无缓冲 |