1、Linux上的文件管理類命令都有哪些旅择,其常用的使用方法及其相關(guān)示例演示锈玉。
(1)mkdir 創(chuàng)建目錄爪飘,可以一次創(chuàng)建一個(gè)或多個(gè)目錄,路徑基名才是命令的作用對(duì)象拉背,基名之前的路徑名必須得存在(除非你用-p選項(xiàng)來(lái)自動(dòng)創(chuàng)建)
命令常用選項(xiàng)有
-p: 自動(dòng)按需創(chuàng)建父目錄师崎,比如假設(shè)當(dāng)前目錄下沒(méi)有目錄a,命令mkdir -p a/b/c 將依次連續(xù)創(chuàng)建a、b椅棺、c三個(gè)層級(jí)目錄犁罩。
-v: verbose顯示目錄創(chuàng)建過(guò)程齐蔽,在上面-p的例子中加上-v選項(xiàng)就能看到命令的詳細(xì)創(chuàng)建這些目錄的次序
-m MODE:創(chuàng)建目錄時(shí),指定目錄的訪問(wèn)權(quán)限
(2)rmdir 刪除空目錄床估,命令操作對(duì)象必須是空的目錄含滴,實(shí)際運(yùn)維操作中用的比較少。
(3)tree 以樹(shù)狀方式顯示指定目錄的內(nèi)容(遞歸顯示其子目錄內(nèi)容)
命令選項(xiàng): -L level :指定要顯示的目錄層級(jí)(或稱目錄深度)
(4)cat:查看文本文件
命令常用選項(xiàng)為:
-n:顯示文件的行號(hào)
-E:顯示行結(jié)束符$
(5)tac:反向顯示文本文件丐巫,即從最后一行向第一行顯示內(nèi)容谈况。
命令常用選項(xiàng)為:
-n:顯示文件的行號(hào)
-E:顯示行結(jié)束符$
(6)head:顯示文件的前n行。
命令常用選項(xiàng)為:
-n # 表示顯示文件的前多少行递胧,也可用 -#直接給出行數(shù)碑韵。
(7)tail:查看文件的后n行。
命令常用選項(xiàng)為:
-n # 表示顯示文件的后多少行缎脾,也可用 -#直接給出行數(shù)祝闻。
-f:查看文件尾部?jī)?nèi)容結(jié)束后不退出,跟隨顯示新增的行遗菠。常用于查看日志文件的更新联喘。
(8)more:分屏顯示文件內(nèi)容,翻屏至文件尾部后自動(dòng)退出辙纬,中間可以空格翻頁(yè)豁遭,按q退出
(9)less:也是分屏查看文件的命令,可以向上向下翻頁(yè)贺拣。ctrl+d向下翻頁(yè)堤框,ctrl+u向上翻頁(yè)。
(10)stat:顯示文件或文件系統(tǒng)的狀態(tài)纵柿,可以用來(lái)查看文件的時(shí)間戳等信息。
(11)touch:修改文件的時(shí)間戳
命令常用選項(xiàng)為:
-c:指定的文件路徑不存在時(shí)不予創(chuàng)建
-a:僅修改文件的access time
-m:僅修改文件的modify time
-t STAMP:指定修改的時(shí)間值启绰,STAMP的格式為[[CC]YY]MMDDhhmm[.ss]
(12)cp:復(fù)制文件或目錄命令:
命令常用選項(xiàng)為:
-i:交互式復(fù)制昂儒,即覆蓋目標(biāo)文件之前提醒用戶確認(rèn)
-f:強(qiáng)制覆蓋目標(biāo)文件,而不提示
-r,-R:遞歸復(fù)制目錄(包括目錄內(nèi)容和子目錄的所有內(nèi)容)
-d:復(fù)制符號(hào)鏈接文件本身委可,而不是其指向的源文件
-a:相當(dāng)于-dR渊跋,常用于實(shí)現(xiàn)歸檔
(13)mv:實(shí)現(xiàn)文件移動(dòng)和重命名
命令常用選項(xiàng)為:
-i:交互式復(fù)制,即覆蓋目標(biāo)文件之前提醒用戶確認(rèn)
-f:強(qiáng)制覆蓋目標(biāo)文件着倾,而不提示
(14)rm:刪除文件或目錄
-i:交互式復(fù)制拾酝,即刪除目標(biāo)文件之前提醒用戶確認(rèn)
-f:強(qiáng)制刪除目標(biāo)文件,而不提示
-r:當(dāng)刪除的目標(biāo)為目錄時(shí)卡者,需要加這個(gè)選項(xiàng)蒿囤。
2、使用命令行展開(kāi)功能崇决,創(chuàng)建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b檐盟,在/tmp目錄下創(chuàng)建目錄:x_y, x_z, q_y, q_z
命令:
$? mkdir? -p? /tmp/a{1/{a,b},2}
$? mkdir -p? /tmp/{x,q}_{y,z}
說(shuō)明:
a{1/{a,b},2}會(huì)為命令展開(kāi)功能的嵌套秤掌,同理{x,q}_{y,z}會(huì)展開(kāi)為x_y, x_z, q_y和q_z這4個(gè)名稱
3虽抄、文件的元數(shù)據(jù)信息有哪些,分別表示什么含義建邓,如何查看?如何修改文件的時(shí)間戳信息睁枕。
文件的元數(shù)據(jù)可以用stat命令來(lái)查看官边,
~]$ stat filename
文件的元數(shù)據(jù)信息如下:
文件名和文件路徑
文件大小,文件的占用的塊數(shù)外遇,每個(gè)IO塊的大小注簿,文件類型
所在設(shè)備編號(hào),Inode節(jié)點(diǎn)號(hào)臀规,硬鏈接數(shù)量
文件訪問(wèn)權(quán)限滩援,文件屬主名稱和Uid,文件屬組名稱和Gid
時(shí)間戳:最近訪問(wèn)時(shí)間塔嬉、最近文件內(nèi)容修改時(shí)間玩徊,最近文件元數(shù)據(jù)修改時(shí)間,centos7之后增加了一個(gè)文件創(chuàng)建時(shí)間谨究。
使用touch命令來(lái)修改文件的時(shí)間戳信息:
touch 文件名: 修改文件的所有時(shí)間戳
touch -a 文件名:僅修改文件的access time
touch -m 文件名:僅修改文件的modify time
touch -t STAMP 文件名:指定修改的時(shí)間值恩袱,STAMP的格式為[[CC]YY]MMDDhhmm[.ss]
4、在/tmp目錄下創(chuàng)建以tfile開(kāi)頭胶哲,后跟當(dāng)前日期和時(shí)間的文件畔塔,文件名形如:tfile-2016-05-27-09-32-22。
命令:$ touch? /tmp/tfile-$(date +"%Y-%m-%d-%H-%M-%S")
說(shuō)明:$()表示執(zhí)行里面的命令鸯屿,把命令結(jié)果以字符串方式返回澈吨。
5、復(fù)制/etc目錄下所有以p開(kāi)頭寄摆,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中谅辣。
命令:$ cp -r? /etc/p*[^0-9]? /tmp/mytest1?
說(shuō)明:[0-9]表示0到9之間的數(shù)字 ,而[^0-9]表示除數(shù)字以外的字符婶恼,p*[^0-9]表示以p字符開(kāi)頭桑阶,以非數(shù)字結(jié)尾的文件名或目錄名,由于要把符合條件的文件和目錄都拷貝過(guò)去勾邦,給cp?命令加一個(gè)“-r”選項(xiàng)蚣录,這樣可以拷貝目錄。
其中p*[^0-9]?還可以寫(xiě)成? p*[^[:digit:]],這里[:digit:]表示0-9之間的數(shù)字眷篇,所以[^[:digit:]]表示非數(shù)字字符萎河。
6、創(chuàng)建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom公壤,附加組為jack
命令:
#groupadd? jack
# groupadd tom
# useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom
說(shuō)明:先用groupadd創(chuàng)建jack組和tom組换可,然后用useradd創(chuàng)建tom用戶
useradd命令的選項(xiàng):-u?數(shù)字: 表示指定UID。 -d? 路徑:表示用戶的家目錄厦幅。-s SHELL:指定用戶的shell沾鳄。-g?組名 :指定基本組。-G?組名:指定附加組确憨。
也可以不先創(chuàng)建tom組译荞,然后在useradd時(shí)不加“-g tom”,會(huì)自動(dòng)創(chuàng)建用戶的基本組tom休弃,且組ID和用戶ID一樣吞歼。
另外執(zhí)行過(guò)程中發(fā)現(xiàn)/tmp目錄下不能創(chuàng)建家目錄報(bào)錯(cuò):
useradd: cannot set SELinux context for home directory /tmp/tom
如果一定要在/tmp/目錄下創(chuàng)建家目錄要關(guān)閉SELinux,然后再創(chuàng)建用戶
#setenforce 0
7塔猾、常用的用戶以及文件管理命令有哪些篙骡,并演示命令以及用法。
(1)用戶創(chuàng)建 useradd
常用命令選項(xiàng)有:
-u UID :指定用戶ID
-g GID :指定用戶的基本組丈甸,如果缺省糯俗,則使用與用戶名相同的組名
-c "...":用戶的注釋信息
-d 路徑:指定用戶的家目錄,如果缺省睦擂,則使用“/home/用戶名”作為家目錄
-s SHELL:指定用戶的默認(rèn)shell,查看系統(tǒng)支持哪些shell可用得湘,可以看/etc/shells
-G 組名1,組名2 :指定用戶的附加組,這些組要求要存在的顿仇。
比如:
useradd -u 900 -d /abc -s zsh -c "this is abc" abc
表示創(chuàng)建一個(gè)abc用戶淘正,它的UID為900,家目錄為/abc,默認(rèn)SHELL為zsh臼闻,注釋信息為“this is abc”
(2)組創(chuàng)建 groupadd
常用命令選項(xiàng):
-g GID :指定組ID
-r :創(chuàng)建系統(tǒng)組
(3)查看用戶相關(guān)ID信息 id
id [選項(xiàng)] 用戶名
-g 顯示用戶所屬群組的ID鸿吆。
-G 顯示用戶所屬附加群組的ID。
-n 顯示用戶述呐,所屬群組或附加群組的名稱伞剑。
-u??顯示用戶ID。
(4)切換用戶或以其他用戶身份運(yùn)行命令 su
用于變更為其他使用者的身份市埋,除 root 外,需要鍵入該使用者的密碼恕刘。
su UserName:表示切換用戶缤谎,但不運(yùn)行新用戶的環(huán)境配置文件
su - UserName:表示切換用戶,且運(yùn)行新用戶的環(huán)境配置文件(常用這種方式)
su :表示切換到root用戶
su - userName -c command 變更為帳號(hào)為 userName 的使用者并執(zhí)行指令(command)后再變回原來(lái)使用者
(5)用戶屬性修改:usermod
-c<備注> 修改用戶帳號(hào)的備注文字褐着。
-d<家目錄> 修改用戶登入時(shí)的家目錄坷澡。
-g<群組> 修改用戶所屬的群組。
-G<群組> 修改用戶所屬的附加群組含蓉。
-l<帳號(hào)名稱> 修改用戶帳號(hào)名稱频敛。
-s<shell> 修改用戶登入后所使用的shell项郊。
-u<uid> 修改用戶ID。
-L 鎖定用戶密碼斟赚,使密碼無(wú)效着降。
-U 解除密碼鎖定。
-e<有效期限> 修改帳號(hào)的有效期限拗军。
-f<緩沖天數(shù)> 修改在密碼過(guò)期后多少天即關(guān)閉該帳號(hào)任洞。
(6)更改用戶的密碼 passwd
root用戶可以在不知道用戶原密碼的情況下修改任何用戶的密碼,普通用戶只能修改自己的密碼
-l 停止賬號(hào)使用
-u 啟用已被停止的賬戶
-x 最大使用期限
-n 最短使用期限
-w 到期前多少天開(kāi)始警告
-i 過(guò)期后多少天停止用戶賬號(hào)
--stdin:從標(biāo)準(zhǔn)輸入接收用戶密碼,非交互式修改用戶密碼
例如:echo "123456"|passwd --stdin username
(7)刪除用戶 userdel
-r:刪除用戶的家目錄等
(8)組屬性修改 groupmod
-n newgroupName??修改組的名字
-g GID:修改組的ID
(9)刪除組:groupdel
(10)組密碼的作用為用戶切換基本組发侵,其設(shè)置工具為gpasswd
-a 用戶名:將用戶添加到指定組中
-d 用戶名:將用戶從指定的組中刪除
-A 指定管理員
(11)臨時(shí)切換基本組:newgrp
如果用戶本不屬于此組交掏,則需要輸入組密碼
(12)修改用戶密碼屬性:chage
-d :修改用戶最近一次修改密碼的時(shí)間
-E:帳號(hào)到期的日期。過(guò)了這天刃鳄,此帳號(hào)將不可用盅弛。
-I:賬號(hào)過(guò)期時(shí)限: 在密碼過(guò)期后幾天,密碼自動(dòng)失效叔锐,這個(gè)用戶將無(wú)法登陸系統(tǒng)了
(13)讓普通用戶可以臨時(shí)使用root用戶角色運(yùn)行某個(gè)命令挪鹏,而不需要輸入root用戶密碼:sudo
-l :查看當(dāng)前用戶可執(zhí)行的sudo命令
-k:清除此前記憶下的令牌
-u 用戶名 命令:以指定的用戶運(yùn)行命令
用戶可以執(zhí)行哪些命令可以使用visudo命令編輯配置文件。