站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        linux 文件與用戶管理

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

        (1)ls 顯示文件

        ls [OPTION]… [FILE]…

        -a 顯示所有文件

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

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

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

        -d:查看目錄本身而非其內(nèi)部的文件

        –S: 按從大到小排序

        -r:逆序顯示文件

        -R:遞歸顯示文件

        -X 按類別顯示文件

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

        ll -dh /etc–詳細(xì)顯示/etc目錄本身

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

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

        l. 只顯示隱藏文件

        ls -d */ 只顯示當(dāng)前目錄所有子目錄

        ls */ 顯示當(dāng)前文件目錄及目錄下的文件

        (2)mkdir:創(chuàng)建目錄

        mkdir [OPTION]… DIRECTORY…

        -p:自動按需創(chuàng)建父目錄

        -m:創(chuàng)建目錄時給定權(quán)限

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

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

        rmdir [OPTION]… DIRECTORY…

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

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

        (4)cd:切換目錄

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

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

        cd -:在上一次目錄與當(dāng)前目錄直接來回切換

        (5)pwd:顯示當(dāng)前目錄

        (6)cp:復(fù)制

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

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

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

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

        -f:強制覆蓋目標(biāo)文件

        -r,-R:遞歸復(fù)制目錄

        –backup=numbered 選項會創(chuàng)建一個在文件名末尾用數(shù)字標(biāo)記(~)的備份文件

        -u 只覆蓋最新文件

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

        cp -a /data /practice 把data目錄及目錄下的內(nèi)容一起復(fù)制到practice中

        (7)mv:剪切

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

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

        -i:交互式復(fù)制,即覆蓋前提醒用戶確認(rèn)

        -f:強制覆蓋目標(biāo)文件

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

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

        示例: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èn)

        -f:強制覆蓋目標(biāo)文件

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

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

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

        cat [OPTION]… [FILE]…

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

        -E:顯示行結(jié)束符號$

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

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

        tac [OPTION]… [FILE]…

        示例:tac /etc/passwd 倒敘查看文本內(nèi)容

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

        head [OPTION]… [FILE]…

        -n #:顯示文本頭#行內(nèi)容

        示例:head -5 /etc/passwd 顯示/etc/passwd文件頭5行內(nèi)容

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

        tail [OPTION]… [FILE]…

        -n #:顯示文本后#行內(nèi)容

        -f:查看文件尾部內(nèi)容結(jié)束后不退出,跟隨顯示新增的行

        示例:tail -8 /etc/passwd 顯示/etc/passwd文件后8行內(nèi)容

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

        more [options] file […]

        Space鍵:顯示文本下一屏內(nèi)容

        Enter鍵:只顯示文本下一行內(nèi)容

        b鍵:顯示文本上一屏內(nèi)容

        q鍵:退出

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

        less [options] file […]

        Space鍵:顯示文本下一屏內(nèi)容

        Enter鍵:只顯示文本下一行內(nèi)容

        b鍵:顯示文本上一屏內(nèi)容

        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  創(chuàng)建指向目錄的硬鏈接(只適用于超級用戶)

        -f  強制執(zhí)行,操作前不詢問

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

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

        -s  軟鏈接(符號鏈接)

        -v  顯示詳細(xì)的處理過程

        示例:ln -s a.txt a 為a.txt創(chuàng)建軟鏈接

        ln a.txt a 為a.txt創(chuàng)建硬鏈接

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

        2)硬鏈接,相當(dāng)于多了一個文件名指向同一塊內(nèi)存空間,目錄無法創(chuàng)建硬鏈接,不可以跨文件系統(tǒng)創(chuàng)建

        (16) file 檢查文件的類型

        file [options] …

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

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

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

        執(zhí)行命令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’

        執(zhí)行命令tree /tmp/

        /tmp/

        ├── a1

        │ ├── a

        │ └── b

        └── a2

        在/tmp目錄下創(chuàng)建目錄:x_y, x_z, q_y, q_z

        執(zhí)行命令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’

        執(zhí)行tree查看效果

        .

        ├── q_y

        ├── q_z

        ├── x_y

        └── x_z

        3、文件的元數(shù)據(jù)信息包括

        Size 文件大小(字節(jié))

        Blocks 文件使用的數(shù)據(jù)塊總數(shù)

        IO Block 數(shù)據(jù)塊的大小

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

        Device 設(shè)備編號

        Inode 文件所在的Inode

        Links 硬鏈接次數(shù)

        Access 權(quán)限 Uid 屬主id/用戶 Gid 屬組id/組名

        Access Time:簡寫為atime,表示文件的訪問時間。當(dāng)文件內(nèi)容被訪問時,更新這個時間

        Modify Time:簡寫為mtime,表示文件內(nèi)容的修改時間,當(dāng)文件的數(shù)據(jù)內(nèi)容被修改時,更新這個時間。

        Change Time:簡寫為ctime,表示文件的狀態(tài)時間,當(dāng)文件的狀態(tài)被修改時,更新這個時間,例如文件的鏈接數(shù),大小,權(quán)限,Blocks數(shù)。

        查看文件的元數(shù)據(jù)信息用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:使用指定的日期時間,而非現(xiàn)在的時間;[[CC]YY]MMDDhhmm[.ss]

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

        執(zhí)行命令 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、復(fù)制/etc目錄下所有以p開頭,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中。

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

        結(jié)果如下

        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、創(chuàng)建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

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

        結(jié)果如下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)查看當(dāng)前用戶: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: 指明用戶的默認(rèn)shell程序 可用列表在/etc/shells文件中

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

        -r: 創(chuàng)建系統(tǒng)用戶 CentOS 6: ID<500,CentOS 7: ID<1000

        -m 創(chuàng)建家目錄,用于系統(tǒng)用戶

        -M 不創(chuàng)建家目錄,用于非系統(tǒng)用戶

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

        useadd 默認(rèn)配置文件/etc/default/useradd

        /etc/login.defs這個文件就是用來設(shè)置用戶創(chuàng)建時默認(rèn)屬性的文件

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

        usermod [options] LOGIN

        -u UID: 新UID

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

        -s SHELL:新的默認(rèn)SHELL -c 'COMMENT':新的注釋信息

        -d HOME: 新家目錄不會自動創(chuàng)建;若要創(chuàng)建新家目錄并移 動原家數(shù)據(jù),同時使用-m選項

        -l login_name: 新的名字;

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

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

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

        -f INACTIVE: 設(shè)定非活動期限

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

        (4)userdel 刪除用戶

        userdel [OPTION]… login

        -r: 刪除用戶家目錄

        userdel -r sam 刪除sam用戶并清空相關(guān)目錄

        (5)su 切換用戶

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

        su – 完全切換

        (6)passwd 更改密碼

        passwd [OPTIONS] UserName

        -l:鎖定指定用戶

        -u:解鎖指定用戶

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

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

        -x maxdays:最大使用期限

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

        -i inactivedays:非活動期限

        –stdin:從標(biāo)準(zhǔn)輸入接收用戶密碼

        示例: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 下一次登錄強制重設(shè)密碼

        (8)groupadd 增加組

        groupadd [OPTION]… group_name

        -g GID: 指明GID號;

        -r: 創(chuàng)建系統(tǒng)組

        (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 修改文件權(quán)限 (rwxX)(421)

        chmod [OPTION]… OCTAL-MODE FILE…

        -R: 遞歸修改權(quán)限

        對于文件來說rwx分別是可讀可寫可執(zhí)行權(quán)限

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

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

        root不受rw限制受x權(quán)限限制

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

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

        chmod 600 file

        (13)SUID, SGID, Sticky 特殊權(quán)限

        suid u+s 4777 作用于二進制程序,權(quán)限與程序所有者有關(guān)

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

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

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

        (14)umask 系統(tǒng)默認(rèn)生成權(quán)限

        新建FILE權(quán)限: 666-umask 如果所得結(jié)果某位存在執(zhí)行(奇數(shù))權(quán)限,則將其權(quán)限+1 (結(jié)果偶數(shù)不變,奇數(shù)加一)

        新建DIR權(quán)限: 777-umask

        (15)ACL高級權(quán)限

        centos6版本需要手動加acl權(quán)限功能

        tune2fs –o acl /dev/sdb1

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

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

        應(yīng)用ACL后 文件本身組權(quán)限變成acl中的mask,而非傳統(tǒng)的組權(quán)限

        常用命令

        getfacl: 獲取文件或目錄的ACL設(shè)置信息

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

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

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

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

        setfacl: 設(shè)置文件或目錄的ACL設(shè)置信息

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

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

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

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

        -k, –remove-default:刪除默認(rèn)的acl設(shè)置信息

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

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

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

        示例:getfacl file

        setfacl -m u:wang:rwx txt

        setfacl -Rm g:sales:rwX directory

        setfacl -m d:u:wang:rx /data 設(shè)定該目錄的默認(rèn)權(quán)限,只對目錄有效 或者setfacl -dmu:wang:rx /data

        setfacl -x u:wang file 移除設(shè)置好的wang賬號對該文件權(quán)限

        備份和恢復(fù)ACL

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

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

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

        setfacl -R -b /tmp/dir1 刪除該目錄所有acl權(quán)限

        setfacl -R –set-file=acl.txt /tmp/dir1 恢復(fù)權(quán)限到目錄中

        setfacl –restore acl.txt

        getfacl -R /tmp/dir1 查看目錄acl權(quán)限

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

        用文件批量創(chuàng)建用戶密碼: newusers chpasswd

        創(chuàng)建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 創(chuàng)建這些用戶

        在創(chuàng)建password文件,格式

        用戶:密碼

        tomcat:123456

        tom:123456

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

        newgrp 切換當(dāng)前用戶主組

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲乱码日产精品a级毛片久久| 一本之道av不卡精品| 亚洲国产高清精品线久久 | 一区二区日韩国产精品| 99久久婷婷国产综合精品草原| 精品熟女少妇a∨免费久久| 久久精品女人天堂AV麻| 欧美精品人爱c欧美精品| 国产欧美日韩精品丝袜高跟鞋| 亚洲情侣偷拍精品| 久久精品国产一区二区三区不卡 | 久久精品一区二区国产| 国产乱人伦偷精品视频AAA| 亚洲精品乱码久久久久久自慰| 久久无码精品一区二区三区| 国产综合免费精品久久久| 99热精品久久只有精品| 四虎4hu永久免费国产精品| 国产精品久久永久免费| 精品国产粉嫩内射白浆内射双马尾| 亚洲午夜精品久久久久久app| 精品91自产拍在线观看二区| 国产精品亚洲欧美大片在线看 | 中文字幕日本精品一区二区三区| 久久精品国产第一区二区| 国产精品亚洲专区无码WEB | 亚洲国产精品特色大片观看完整版| 久久精品国产精品亚洲人人| 国产精品小视频免费无限app | 久久久久久久久无码精品亚洲日韩 | 国产亚洲精品精品国产亚洲综合 | 国产精品高清一区二区三区| 国产精品亚洲片在线观看不卡| 精品偷自拍另类在线观看| 国产精品亚洲日韩欧美色窝窝色欲 | 2021国产精品成人免费视频| 国产国产精品人在线观看| 97久久国产亚洲精品超碰热| 91麻豆精品国产自产在线观看一区 | 精品日韩在线视频一区二区三区| 国产区精品高清在线观看 |