Linux學(xué)習(xí)之路-文件管理,用戶(hù)管理命令詳解

1.常用的文件管理命令-使用方法及示例

常用的文件管理類(lèi)命令:mkdir、rmdir、touch、cat、tac、 head、 tail、more、less、cp、mv、rm等

注:跟在常用參數(shù)中的#代表數(shù)字

  • mkdir:創(chuàng)建目錄
    命令格式:
    mkdir [OPTION]... DIRECTORY...

常用參數(shù):
-p 表示要?jiǎng)?chuàng)建的目錄存在時(shí)不返回錯(cuò)誤,不存在時(shí)自動(dòng)創(chuàng)建所需的目錄
-v 顯示創(chuàng)建過(guò)程信息
-m MODE 創(chuàng)建目錄是直接指定權(quán)限

命令舉例:

[root@centos7 work]#mkdir -pv 20220729mkdir: created directory ‘20220729’’
  • rmdir:刪除目錄
    命令格式:
    rmdir [OPTION]... DIRECTORY...
    常用參數(shù):
    -p:刪除某目錄后,如果其父目錄為空,則一并刪除之;
    -v:顯示刪除過(guò)程信息;

命令舉例:

[root@centos7 a]#rmdir -pv a/b/c/drmdir: removing directory, ‘a(chǎn)/b/c/d’rmdir: removing directory, ‘a(chǎn)/b/c’rmdir: removing directory, ‘a(chǎn)/b’rmdir: removing directory, ‘a(chǎn)’
  • touch 文件時(shí)間戳修改
    命令格式:
    touch [OPTION]... FILE...
    常用參數(shù):
    -a 修改atime即修改文件訪問(wèn)時(shí)間
    -m 修改ctime即修改文件修改時(shí)間
    -t [[CC]YY]MMDDhhmm[.ss] 修改指定時(shí)間戳為某時(shí)間
    -c 如果要?jiǎng)?chuàng)建的文件不存在,則不會(huì)創(chuàng)建

命令舉例:

[root@centos7 a]#touch a.txt[root@centos7 a]#lltotal 0-rw-r--r--. 1 root root 0 Jul  29 11:12 a.txt
  • cat和tac
    命令格式:
    cat [OPTION]... [FILE]...
    常用參數(shù):
    -n:給顯示的文本行編號(hào);
    -E: 顯示行結(jié)束符$

命令舉例:

[root@centos7 a]#cat -nE rm.sh 
     1  #! /bin/bash$
     2  $
     3  WRANING_COLOR="echo -e \E[1;31m"$
     4  END="\E[0m"$
     5  DIR=/tmp/`date +%F_%H-%M-%S`$
     6  mkdir $DIR$
     7  mv $* $DIR$
     8  ${WRANING_COLOR}Move $* to $DIR $END$
     9  $
    10$

注:tac命令和cat命令相反,cat命令從文件頭向文件尾顯示,tac命令從文件尾向文件頭顯示

  • head 顯示文件前幾行的內(nèi)容
    命令格式:
    head [OPTION]... [FILE]...
    常用參數(shù):
    -n# 查看從首部開(kāi)始的#行
    -c# 獲取前#個(gè)字節(jié)內(nèi)容

命令舉例:

[root@centos7 a]#head -5 rm.sh 
#! /bin/bash

WRANING_COLOR="echo -e \E[1;31m"
END="\E[0m"
DIR=/tmp/`date +%F_%H-%M-%S`
  • tail命令 顯示文件后幾行的內(nèi)容
    命令格式:
    tail [OPTION]... [FILE]...
    常用參數(shù):
    -# 看最后#行的內(nèi)容
    -f 看文件最后幾行內(nèi)容后不退出,如果日志不斷有新內(nèi)容寫(xiě)入,則一直顯示

命令舉例:

[root@centos7 a]#tail -3 rm.sh 
${WRANING_COLOR}Move $* to $DIR $END


  • more 分屏查看文件內(nèi)容,翻屏至文件結(jié)尾自動(dòng)退出
    命令格式:
    more [options] file [...]
    常用參數(shù):
    -d 顯示翻頁(yè)及退出的提示信息
  • less 與more命令相反 默認(rèn)翻屏結(jié)束后不自動(dòng)退出
    命令格式:
    less -?
    less --help
    less -V
    less --version
    less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
    [-b space] [-h lines] [-j line] [-k keyfile]
    [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
    [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
    [-# shift] [+[+]cmd] [--] [filename]...
    (See the OPTIONS section for alternate option syntax with long option names.)
    常用參數(shù)
    -e 翻屏結(jié)束后自動(dòng)退出
    -N 顯示行號(hào)
  • cp 拷貝文件或文件夾
    命令格式:
    cp [OPTION]... [-T] SOURCE DEST
    cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...

常用選項(xiàng):
-i:交互式復(fù)制,即覆蓋之前提醒用戶(hù)確認(rèn);
-f:強(qiáng)制覆蓋目標(biāo)文件;
-r, -R:遞歸復(fù)制目錄;
-d:復(fù)制符號(hào)鏈接文件本身,而非其指向的源文件;(未加復(fù)制為以鏈接文件同名內(nèi)容為鏈接指向的源文件)
-a:-dR --preserve=all, archive,用于實(shí)現(xiàn)歸檔;
--preserv=

mode:權(quán)限
ownership:屬主和屬組
timestamps: 時(shí)間戳
context:安全標(biāo)簽
xattr:擴(kuò)展屬性
links:符號(hào)鏈接
all:上述所有屬性

單源復(fù)制:
如果DEST不存在:則事先創(chuàng)建此文件,并復(fù)制源文件的數(shù)據(jù)流至DEST中;  
如果DEST存在:提示是否覆蓋
如果DEST是非目錄文件:則覆蓋目標(biāo)文件;
如果DEST是目錄文件:則先在DEST目錄下創(chuàng)建一個(gè)與源文件同名的文件,并復(fù)制其數(shù)據(jù)流;

[root@centos7 a]#cp -r /var/log ./
[root@centos7 a]#ls -ld logdrwxr-xr-x. 18 root root 4096 Jul  29 13:29 log

多源復(fù)制:

如果DEST不存在:錯(cuò)誤;
如果DEST存在:提示是否覆蓋
如果DEST是非目錄文件:錯(cuò)誤;
如果DEST是目錄文件:分別復(fù)制每個(gè)文件至目標(biāo)目錄中,并保持原名;

[root@centos7 a]#cp /tmp/a /tmp/b test ./cp: cannot stat ‘test’: No such file or directory
  • mv 移動(dòng)或重命名文件或文件夾
    命令格式:
    mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...

常用參數(shù):
-i 交互式輸出,即移動(dòng)或覆蓋之前提示用戶(hù)確認(rèn)
-f 強(qiáng)制操作

--如果SRC是單個(gè)文件
如果DEST不存在:改名
如果DEST存在:提示是否覆蓋

[root@centos7 a]#mv a.txt e.txt[root@centos7 a]#[root@centos7 a]#mv b.txt c.txtmv: overwrite ‘c.txt’? 

--如果SRC是多個(gè)文件
如果DEST不存在:提示目標(biāo)不是目錄
如果DEST存在:提示是否覆蓋

[root@centos7 a]#mv b.txt c.txt testmv: overwrite ‘test/b.txt’? ymv: overwrite ‘test/c.txt’? y

--如果SRC是個(gè)目錄
如果DEST不存在:剪切功能
如果DEST存在:提示是否覆蓋

[root@centos7 a]#mv test tteemv: overwrite ‘ttee/test’? ymv: cannot move ‘test’ to ‘ttee/test’: File exists
  • rm 刪除文件或文件夾
    命令格式:
    rm [OPTION]... FILE...

常用參數(shù):
-i 交互式
-f 強(qiáng)制刪除
-r 遞歸刪除

命令舉例:

[root@centos7 a]#rm -r d.txtrm: remove regular file ‘d.txt’? n
[root@centos7 a]#[
root@centos7 a]#rm -f d.txt
[root@centos7 a]#

2.常用的用戶(hù)以及用戶(hù)組管理命令有哪些,并演示命令以及用法

常用命令:
useradd、usermod、userdel、groupadd、groupmod、groupdel、passwd、gpasswd、id、su等

useradd 創(chuàng)建用戶(hù)
命令格式:
useradd [options] LOGIN
useradd -D
useradd -D [options]
常用參數(shù):
 -u, --uid UID:指定UID;
 -g, --gid GROUP:指定基本組ID,此組得事先存在;
 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶(hù)所屬的附加組,多個(gè)組之間用逗號(hào)分隔;
 -c, --comment COMMENT:指明注釋信息;
 -d, --home HOME_DIR:以指定的路徑為用戶(hù)的家目錄;通過(guò)復(fù)制/etc/skel此目錄并重命名實(shí)現(xiàn);指定的家目錄路徑如果事先存在,則不會(huì)為用戶(hù)復(fù)制環(huán)境配置文件;
 -s, --shell SHELL:指定用戶(hù)的默認(rèn)shell,可用的所有shell列表存儲(chǔ)在/etc/shells文件中;
 -r, --system:創(chuàng)建系統(tǒng)用戶(hù);

命令舉例

[root@centos7 tmp]#useradd testuser -u 666 -G jack -c "Hello World" -d /tmp/testuser -s /bin/csh
useradd: cannot set SELinux context for home directory /tmp/testuser
[root@centos7 tmp]#

usermod 用戶(hù)修改
命令格式:
usermod [options] LOGIN
常用參數(shù):
 -u, --uid UID:修改用戶(hù)的ID為此處指定的新UID;
 -g, --gid GROUP:修改用戶(hù)所屬的基本組;
 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶(hù)所屬的附加組;原來(lái)的附加組會(huì)被覆蓋;
 -a, --append:與-G一同使用,用于為用戶(hù)追加新的附加組;
 -c, --comment COMMENT:修改注釋信息;
 -d, --home HOME_DIR:修改用戶(hù)的家目錄;用戶(hù)原有的文件不會(huì)被轉(zhuǎn)移至新位置;
 -m, --move-home:只能與-d選項(xiàng)一同使用,用于將原來(lái)的家目錄移動(dòng)為新的家目錄;
 -l, --login NEW_LOGIN:修改用戶(hù)名;
 -s, --shell SHELL:修改用戶(hù)的默認(rèn)shell;
 -L, --lock:鎖定用戶(hù)密碼;即在用戶(hù)原來(lái)的密碼字符串之前添加一個(gè)"!";
 -U, --unlock:解鎖用戶(hù)的密碼;

命令舉例:

[root@centos7 tmp]#usermod hello -u 601 -g 1002 -G 1000 -md /home/patrol -l testuser -s /bin/bash      
[root@centos7 tmp]#
[root@centos7 tmp]#tail -1 /etc/passwd
testuser:x:601:1002:Hello World:/home/patrol:/bin/bash
[root@centos7 tmp]#

userdel 刪除用戶(hù)
命令格式:
userdel [options] LOGIN
常用參數(shù):
 -r:刪除用戶(hù)時(shí)一并刪除其家目錄;

命令舉例:

[root@centos7 tmp]#userdel testuser
[root@centos7 tmp]#

groupadd 添加用戶(hù)組
命令格式:
groupadd [options] group
常用參數(shù):
 -g GID:指定GID;默認(rèn)是上一個(gè)組的GID+1;
 -r: 創(chuàng)建系統(tǒng)組;

命令舉例:

[root@centos7 tmp]#groupadd testgroup -g 5002 -r
[root@centos7 tmp]#tail -1 /etc/group
testgroup:x:5002:
[root@centos7 tmp]#

groupmod 用戶(hù)組修改
命令格式:
groupmod [options] GROUP
常用參數(shù):
 -g GID:修改GID;
 -n new_name:修改組名;

命令舉例:

[root@centos7 tmp]#tail -1 /etc/group
testgroup:x:5002:
[root@centos7 tmp]#
[root@centos7 tmp]#groupmod testgroup -g 5011 -n testgroup1
[root@centos7 tmp]#tail -1 /etc/group                      
testgroup1:x:5011:

groupdel 用戶(hù)組刪除
命令格式:
groupdel [options] GROUP
常用參數(shù):

命令舉例:

[root@centos7 tmp]#groupdel testgroup1
[root@centos7 tmp]#

passwd 修改用戶(hù)登錄口令,
命令格式:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]
[-S] [--stdin] [username]
注:passwd USERNAME 修改指定用戶(hù)的密碼,只有root用戶(hù)有此權(quán)限
常用參數(shù):
 -l, -u:鎖定和解鎖用戶(hù);
 -d:清除用戶(hù)密碼串;
 -e DATE: 過(guò)期期限,日期;
 -i DAYS:非活動(dòng)期限;
 -n DAYS:密碼的最短使用期限;
 -x DAYS:密碼的最長(zhǎng)使用期限;
 -w DAYS:警告期限;
 --stdin:避免彈出交互式輸入密碼的內(nèi)容
echo "PASSWORD" | passwd --stdin USERNAME

命令舉例:

[root@centos7 tmp]#echo "password" | passwd --stdin tom
Changing password for user tom.
passwd: all authentication tokens updated successfully.

gpasswd 修改組密碼
命令格式:
gpasswd [option] group
常用參數(shù):
 -a USERNAME:向組中添加用戶(hù)
 -d USERNAME:從組中移除用戶(hù)

命令舉例:

[root@centos7 tmp]#useradd nike
[root@centos7 tmp]#gpasswd -a nike tom
Adding user nike to group tom
[root@centos7 tmp]#gpasswd -d nike tom
Removing user nike from group tom
[root@centos7 tmp]#

id 顯示用戶(hù)信息
命令格式:
id [OPTION]... [USER]
常用參數(shù):
 -u: 僅顯示有效的UID;
 -g: 僅顯示用戶(hù)的基本組ID;
 -G:僅顯示用戶(hù)所屬的所有組的ID;
 -n: 顯示名字而非ID;

命令舉例:

[root@centos7 tmp]#id tom   
uid=5001(tom) gid=5001(tom) groups=5001(tom),1008(jack)
[root@centos7 tmp]#

su 切換用戶(hù)
命令格式:
su [options...] [-] [user [args...]]
常用參數(shù):
 登錄式切換:會(huì)通過(guò)讀取目標(biāo)用戶(hù)的配置文件來(lái)重新初始化
  su - USERNAME
  su -l USERNAME
 非登錄式切換:不會(huì)讀取目標(biāo)用戶(hù)的配置文件進(jìn)行初始化
  su USERNAME

注:管理員可無(wú)密碼切換至其它任何用戶(hù);

命令舉例:

[root@centos7 tmp]#id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@centos7 tmp]#su - jack
Last login: Thu Jul  29 15:58:26 CST 2022 on pts/0
[jack@centos7 ~]$
[jack@centos7 ~]$id
uid=5003(jack) gid=1008(jack) groups=1008(jack) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jack@centos7 ~]$
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容