不 斷 前 行,方 可 不 被 淘 汰
14,、chown 改變文件的所有者和所屬組chown [OPTION]... [OWNER][:[GROUP]] FILE...
如改變文件file1的所有者為learner: [root@centos7 temp]# chown learner file1 [root@centos7 temp]# ls -l file1 -rw-r--r-- 1 learner root 0 10月 21 20:34 file1
如遞歸地改變目錄dir1和其下面的所有目錄和文件,,使它們的所有者和所屬組均為learner: [root@centos7 temp]# chown -R learner:learner dir1 [root@centos7 temp]# ls -l 總用量 0 drwxrwxrwx 3 learner learner 29 10月 21 20:34 dir1....
這里的用戶和用戶組可以用對應(yīng)的uid和gid代替,冒號: 也可以換為點號. ,。 15,、userdel 和groupdel 用于刪除用戶和用戶組userdel 用于刪除用戶賬號,選項-r 可以將用戶家目錄一并刪除,。
groupdel 用于刪除用戶組,,注意不能移除現(xiàn)有用戶的主組。在移除此組之前,,必須先移除此用戶,。
16、id 打印用戶ID信息id [OPTION]... [USER]
當不跟用戶名時顯示當前用戶信息: [root@centos7 ~]# id uid=0(root) gid=0(root) 組=0(root)
17,、whoami ,who ,w 顯示登錄用戶信息命令whoami 打印出當前用戶名: [root@centos7 ~]# whoami root
命令who 打印當前登錄用戶信息: [root@centos7 ~]# who root tty1 2016-09-30 15:18 root pts/0 2016-10-23 17:12 (192.168.78.140)learner pts/1 2016-10-23 17:49 (192.168.78.140)root pts/2 2016-10-23 17:50 (192.168.78.140)
顯示信息中第一列為用戶名,,第二列為登錄終端,第三列為登錄時間,,最后為登錄ip地址,。 命令w 顯示信息與命令who 類似,增加了一些系統(tǒng)信息: [root@centos7 ~]# w 17:56:59 up 23 days, 2:39, 4 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot tty1 309月16 23days 0.01s 0.01s -bashroot pts/0 192.168.78.140 17:12 7:31 0.01s 0.00s bashlearner pts/1 192.168.78.140 17:49 7:29 0.00s 0.00s -bashroot pts/2 192.168.78.140 17:50 3.00s 0.00s 0.00s w
輸出的第一行顯示了系統(tǒng)運行時間,,當前有多少用戶登錄,,cpu的平均負載(以后文章中會有詳述)。余下的信息增加了空閑時間,,cpu的使用時間以及運行的命令,。 18、su 執(zhí)行用戶命令su [options...] [-] [user [args...]]
兩種常用用法: 選項-c command 用于使用目標賬號執(zhí)行-c指定的命令: [root@centos7 ~]# su learner -c pwd /root
例子中使用賬號learner執(zhí)行了命令pwd,。當不使用選項-c時則為切換用戶: [root@centos7 ~]# whoami root[root@centos7 ~]# su learner [learner@centos7 root]$ whoamilearner
注意如果是從普通賬號切換至root或其他賬號時,,需要輸入對應(yīng)密碼。 帶與不帶選項- 或-l 或--login 切換賬號時,,會有環(huán)境變量上的區(qū)別,。同時帶這些選項也會把當前目錄切換至目標賬號的家目錄。使用命令exit 可以退出: [root@centos7 ~]# pwd /root[root@centos7 ~]# su - learner 上一次登錄:日 10月 23 18:22:23 CST 2016pts/5 上[learner@centos7 ~]$ pwd/home/learner[learner@centos7 ~]$ exit登出[root@centos7 ~]# whoamiroot
19,、sudo 作為另一個用戶來執(zhí)行命令sudo [OPTION]... command
linux中為了安全,,往往并不允許每個用戶都用root賬號登錄系統(tǒng),通常都會創(chuàng)建一些普通用戶,。但有些命令是只有root用戶才能執(zhí)行的,,為了更靈活的分配權(quán)限,,使普通用戶也能執(zhí)行某些root命令,我們可以使用sudo 來完成這一任務(wù),。 sudo通過維護一個特權(quán)到用戶名映射的數(shù)據(jù)庫將特權(quán)分配給不同的用戶,,這些特權(quán)可由數(shù)據(jù)庫中所列的一些不同的命令來識別。為了獲得某一特權(quán)項,,有資格的用戶只需簡單地在命令行輸入sudo與命令之后,,按照提示再次輸入口令(用戶自己的口令,不是root用戶口令),。 使用-l 選項可以查看當前用戶可以執(zhí)行的root命令有哪些: [learner@centos7 ~]$ sudo -l
We trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things:
#1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.
[sudo] password for learner: 對不起,,用戶 learner 不能在 centos7 上運行 sudo。
這里看到learner用戶并不能使用sudo,。若要設(shè)置用戶使用sudo,,需要編輯sudo 的配置文件/etc/sudoers 。該文件中以符號# 開頭的都是注釋行,,用來解釋或描述配置,,并不起實際作用。 需要使用命令visudo 來編輯修改/etc/sudoers (使用方法和使用vi/vim編輯器類似,,后面有文章詳細描述),。 配置文件中的一個條目格式為: user MACHINE=COMMANDS
如給用戶learner在所有地方(ALL )運行任何命令(ALL ): learner ALL=(ALL) ALL
之后查看: [learner@centos7 ~]$ sudo -l[sudo] password for learner: 匹配此主機上 learner 的默認條目:........用戶 learner 可以在該主機上運行以下命令: (ALL) ALL
當然并不會給普通用戶所有權(quán)限,這里只是舉例,。通常的做法是給某個用戶某些特定的命令權(quán)限,,如允許用戶tom在主機machine上執(zhí)行立即關(guān)機的命令,在/etc/sudoers中添加條目: tom machine=/usr/sbin/shutdown -h now
注意machine 是tom登錄系統(tǒng)所用的主機名,,可以用ip地址代替,,如使用命令w 時FROM那一列所顯示的登錄ip。等號后面的命令名必須是命令的絕對路徑,,-h now 是命令/usr/sbin/shutdown 的參數(shù),,命令效果是立即關(guān)機。等號后面可以接多個命令,,用逗號分隔它們,。同時用戶名也可以是用戶組,用%組名 代替,。另外,,用戶tom在執(zhí)行sudo命令時,sudo后面的命令寫法也必須和配置中的一致,。 20,、mv 移動文件或目錄 mv [OPTION]... SOURCE... DIRECTORY
mv 命令的作用是把文件或目錄從源移動到目標目錄,路徑可以是絕對的也可以是相對的 如將文件file2從當前目錄移動到/root/temp/dir2中:
[root@centos7 temp]# ls dir1 dir2 file1 file2[root@centos7 temp]# mv file2 /root/temp/dir2/ [root@centos7 temp]# ls dir1 dir2 file1[root@centos7 temp]# ls dir2/ file2
命令mv還可以對文件進行改名,,如將目錄dir2移動到dir1內(nèi)并改名為dir3: [root@centos7 temp]# ls dir1 dir2 file1[root@centos7 temp]# mv dir2 ./dir1/dir3 [root@centos7 temp]# ls dir1 file1[root@centos7 temp]# ls dir1/ dir3 file2 test
21,、cp 復(fù)制文件或目錄cp [OPTION]... SOURCE... DIRECTORY
如復(fù)制文件file1為file3: [root@centos7 temp]# ls dir1 file1[root@centos7 temp]# cp file1 file3 [root@centos7 temp]# ls dir1 file1 file3
復(fù)制目錄dir1內(nèi)目錄dir3及其包含內(nèi)容到當前目錄下,起名為dir2: [root@centos7 temp]# cp -r dir1/dir3/ ./dir2 [root@centos7 temp]# ls dir1 dir2 file1 file3
復(fù)制目錄的時候需要使用選項-r ,,當目標已存在時,,會需要用戶確認是否覆蓋,輸入y或yes表示確認覆蓋,,輸入n或no表示取消覆蓋: [root@centos7 temp]# cp file1 file3 cp:是否覆蓋'file3',? y[root@centos7 temp]# cp file1 file3 cp:是否覆蓋'file3'? no
可以使用選項-f (force)來強制復(fù)制,,不需要確認,。 [root@centos7 temp]# cp -rf dir1/test ./dir2/
注意此處-rf ,當有多個選項作用于一個命令時,,在不引起混淆的情況下可以連寫,。 22、rm 刪除文件rm [OPTION]... FILE...
選項-r 作用是遞歸地刪除目錄,,-f 的作用是強制刪除: [root@centos7 temp]# ls dir1 dir2 file1 file3[root@centos7 temp]# rm -rf dir2/ [root@centos7 temp]# ls dir1 file1 file3
23,、whereis 查找系統(tǒng)命令whereis [options] name...
命令作用是顯示命令名稱的絕對路徑和命令的手冊位置: [root@centos7 test]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
24、du 估算文件占用空間大小du [OPTION]... [FILE]...
如查看文件file1的大?。?/p> [root@centos7 temp]# du file1 4 file1
輸出的結(jié)果第一列表示所占空間大小(單位是KB),。第二列是是文件名。 可以使用選項-h 用人類可讀(human readable)的方式顯示: [root@centos7 temp]# du -h file1 4.0K file1
當使用-s 選項作用在目錄上時,,只顯示總用量,。不用時則顯示該目錄下的每個文件: [root@centos7 temp]# du dir1 0 dir1/test 0 dir1/dir3 0 dir1[root@centos7 temp]# du -sh dir1 0 dir1
linux秉承“一切皆文件”的思想,在這樣的思想作用之下,,linux內(nèi)的所有操作都可以說是文件相關(guān)的,。這里列出的命令都是最為基礎(chǔ)的文件相關(guān)命令,每一個使用者都需要牢記,。當然這里并不能將它們的所有用法一一列舉,。
|