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

苦逼運維-匿名發表於2019-02-14

cp命令:複製(copy)

單源複製:cp [OPTION]... [-T] SOURCE DEST
多源複製:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

單源複製:

如果DEST不存在,則先建立此檔案,並複製原始檔資料流至DEST中

[root@www tmp]# cp /etc/issue abc
[root@www tmp]# ls
abc

如果DEST存在且是非目錄檔案,則覆蓋目標檔案

[root@www tmp]# ls
abc
[root@www tmp]# cp /etc/issue abc
cp:是否覆蓋"abc"? y

如果DEST存在且是目錄檔案,則先DEST目錄下建立一個與原始檔同名的檔案,則×××資料流

[root@www tmp]# cp /etc/issue abcd
[root@www tmp]# ls
abc  abcd

多源複製:

DEST必須存在,且為目錄,其他情況都會報錯

[root@www tmp]# cp /etc/issue /etc/redhat-release /tmp/
[root@www tmp]# ls
abc  abcd  issue  redhat-release

常用[OPTION]:

 -i:互動式複製,即覆蓋之前提醒使用者確認
 -f:強制覆蓋目標檔案,不顯示確認
 -r:遞迴複製目錄
 -d:複製符號連結檔案本身,而非其指向的原始檔
 -a:-dR --preserve=all,archive,用於實現歸檔
 --preserve
        mode:許可權
        ownership:屬主和屬組
        timestamps:時間戳
        context:安全標籤
        xattr:擴充套件屬性
        links:符號連結
        all:上述所有屬性

mv命令:移動(move )

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用選項
    -i:互動式
    -f:force

rm命令:刪除(remove)

rm [OPTION]... FILE...

常用選項:
    -i:interactive
    -f:force
    -r:recursive
刪除目錄: rm -rf /PATH/TO/DIR
    危險操作:rm -rf /*

注意:所有不用的檔案建議不要直接刪除,而是移動至某個專用的目錄:(模擬回收站)

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

[root@www tmp]# mkdir -p /tmp/{a1/{a,b},a2}
[root@www tmp]# tree /tmp/
/tmp/
├── a1
│   ├── a
│   └── b
└── a2
[root@www tmp]# mkdir -p /tmp/{x,q}_{y,z}
[root@www tmp]# ls
a1  a2  q_y  q_z  x_y  x_z

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

後設資料資訊:

file:檔名;

size:檔案大小

block:檔案佔了多少個資料塊

IO Block:檔案所佔資料塊的塊大小

Device:硬體,既說明該檔案在硬碟的那個柱面

Inode:檔案Inode號,檔案的索引節點號

links:連結

Access:檔案許可權

Uid:該檔案所屬的屬主

Gid:該檔案所屬的屬組

context:安全上下文

Access(第二個):檔案上一次的訪問時間

Modify:檔案上一次修改的時間

Change:檔案上一次屬性更改的時間

檢視檔案後設資料的方法:

stat命令:

stat [OPTION]... FILE...

[root@www tmp]# stat /etc/issue
  File: "/etc/issue"
  Size: 47          Blocks: 8          IO Block: 4096   普通檔案
Device: fd00h/64768d    Inode: 391443      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-23 21:00:01.316320911 +0800
Modify: 2014-10-23 19:41:30.000000000 +0800
Change: 2018-10-11 22:42:41.154999833 +0800
You have new mail in /var/spool/mail/root

修改檔案的時間戳方法:

touch命令:用於改變檔案時間戳,如果檔案不存在則建立一個空檔案

touch [OPTION]... FILE...  

-c:指定的檔案路徑不存在時不予建立:
-a:僅修改access time:
-m:僅修改modify time:
-t STAMP:
    [[CC]YY]MMDDhhmm[.ss] 年月日時分秒
    touch -m -t 200212010303.03

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

[root@www tmp]# touch tfile-$(date +%F-%H-%M-%S)
[root@www tmp]# ls
tfile-2018-11-25-04-07-33

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

mkdir /tmp/mytest1;cp -r /etc/p*[^0-9] /tmp/mytest1

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

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

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

useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su

useradd命令:建立使用者

useradd  [OPTION]  USER
    -u, --uid UID:指定UID;
    -g, --gid GROUP:指定基本組ID,此組得事先存在;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明使用者所屬的附加組,多個組之間用逗號分隔;
    -c, --comment COMMENT:指明註釋資訊;
    -d, --home HOME_DIR:以指定的路徑為使用者的家目錄;通過複製/etc/skel此目錄並重新命名實現;指定的家目錄路徑如果事先存在,則不會為使用者複製環境配置檔案;
    -s, --shell SHELL:指定使用者的預設shell,可用的所有shell列表儲存在/etc/shells檔案中;
    -r, --system:建立系統使用者;

[root@www ~]# useradd us1
[root@www ~]# id us1
uid=501(us1) gid=501(us1) 組=501(us1)

userdel命令:刪除使用者

userdel [OPTION] USER
    -r:刪除使用者時一併刪除其家目錄;

[root@www ~]# userdel -r us1

usermod命令:修改使用者屬性

usermod [OPTION] USER
    -u, --uid UID:修改使用者的ID為此處指定的新UID;
    -g, --gid GROUP:修改使用者所屬的基本組;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改使用者所屬的附加組;原來的附加組會被覆蓋;
    -a, --append:與-G一同使用,用於為使用者追加新的附加組;
    -c, --comment COMMENT:修改註釋資訊;
    -d, --home HOME_DIR:修改使用者的家目錄;使用者原有的檔案不會被轉移至新位置;
    -m, --move-home:只能與-d選項一同使用,用於將原來的家目錄移動為新的家目錄;
    -l, --login NEW_LOGIN:修改使用者名稱;
    -s, --shell SHELL:修改使用者的預設shell;

    -L, --lock:鎖定使用者密碼;即在使用者原來的密碼字串之前新增一個"!";
    -U, --unlock:解鎖使用者的密碼;

passwd命令:修改使用者密碼

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
    (1) passwd:修改使用者自己的密碼;
    (2) passwd USERNAME:修改指定使用者的密碼,但僅root有此許可權;

        -l, -u:鎖定和解鎖使用者;
        -d:清除使用者密碼串;
        -e DATE: 過期期限,日期;
        -i DAYS:非活動期限;
        -n DAYS:密碼的最短使用期限;
        -x DAYS:密碼的最長使用期限;
        -w DAYS:警告期限;

        --stdin:
        echo "PASSWORD" | passwd --stdin USERNAME

groupadd命令:新增組

groupadd [OPTION] group_name

    -g GID:指定GID;預設是上一個組的GID+1;
    -r: 建立系統組;

groupdel命令:刪除組

groupdel [OPTION] GROUP

groupmod命令:修改組屬性

groupmod [OPTION] GROUP
    -g GID:修改GID;
    -n new_name:修改組名;

gpasswd命令:管理組

組密碼檔案:/etc/gshadow

gpasswd [OPTION] group
    -a USERNAME:向組中新增使用者
    -d USERNAME:從組中移除使用者

chage命令:更改使用者密碼過期資訊

chage [OPTION] 登入名

    -d
    -E
    -W
    -m
    -M

id命令:顯示使用者和所屬群組的實際與有效ID

id [OPTION]... [USER]
    -u: 僅顯示有效的UID;
    -g: 僅顯示使用者的基本組ID; 
    -G:僅顯示使用者所屬的所有組的ID;
    -n: 顯示名字而非ID;

su命令:切換使用者

登入式切換:會通過讀取目標使用者的配置檔案來重新初始化
    su - USERNAME
    su -l USERNAME
非登入式切換:不會讀取目標使用者的配置檔案進行初始化
    su USERNAME
注意:管理員可無密碼切換至其它任何使用者;
-c `COMMAND`:僅以指定使用者的身份執行此處指定的命令;


原文地址:http://blog.51cto.com/5190716/2321750
 

相關文章