亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

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

    linux 文件與用戶管理

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

    (1)ls 顯示文件

    ls [OPTION]… [FILE]…

    -a 顯示所有文件

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

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

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

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

    –S: 按從大到小排序

    -r:逆序顯示文件

    -R:遞歸顯示文件

    -X 按類別顯示文件

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

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

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

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

    l. 只顯示隱藏文件

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

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

    (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 -:在上一次目錄與當前目錄直接來回切換

    (5)pwd:顯示當前目錄

    (6)cp:復制

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

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

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

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

    -f:強制覆蓋目標文件

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

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

    -u 只覆蓋最新文件

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

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

    (7)mv:剪切

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

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

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

    -f:強制覆蓋目標文件

    -u :若目標文件已經(jīng)存在,且 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:正向查看文本內(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)容,默認顯示頭10行

    head [OPTION]… [FILE]…

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

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

    (12)tail:顯示文本內(nèi)容,默認顯示后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  顯示詳細的處理過程

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

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

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

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

    (16) file 檢查文件的類型

    file [options] …

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

    -F 使用指定分隔符號替換輸出文件名后默認的”:”分隔符(輸出結(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,表示文件的訪問時間。當文件內(nèi)容被訪問時,更新這個時間

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

    Change Time:簡寫為ctime,表示文件的狀態(tài)時間,當文件的狀態(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開頭,后跟當前日期和時間的文件,文件名形如: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、復制/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)查看當前用戶: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 不創(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 默認配置文件/etc/default/useradd

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

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

    usermod [options] LOGIN

    -u UID: 新UID

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

    -s SHELL:新的默認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:從標準輸入接收用戶密碼

    示例: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)默認生成權(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 , –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:刪除默認的acl設(shè)置信息

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

    -d, –default:設(shè)置默認的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è)定該目錄的默認權(quán)限,只對目錄有效 或者setfacl -dmu:wang:rx /data

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

    備份和恢復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 恢復權(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 切換當前用戶主組

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號