rm命令;環境變量PATH(cp,mv,more,head,tail,less);文件和目錄權限

rm刪除命令

格式:
rm [參數][文件或目錄路徑]linux

[root@jinkai01 ~]# rm a.txt
rm:是否刪除普通空文件 "a.txt"?y
[root@jinkai01 ~]# rm abc
rm: 沒法刪除"abc": 是一個目錄bash

  • -f:強制刪除文件(沒法刪除目錄)less

    [root@jinkai01 ~]# rm -f abc
    rm: 沒法刪除"abc": 是一個目錄ide

  •  -r:強制刪除文件目錄下的全部目錄(有詢問post

    [root@jinkai01 ~]# rm -r abc/
    rm:是否進入目錄"abc/"? y
    rm:是否刪除普通空文件 "abc/123"?y
    rm:是否刪除目錄 "abc/"?y日誌

  •  -rf:強制刪除全部文件與文件夾(無詢問)

    [root@jinkai01 ~]# ls
    1 abc anaconda-ks.cfg
    [root@jinkai01 ~]# ls abc/
    123
    [root@jinkai01 ~]# rm -rf abc/
    [root@jinkai01 ~]# ls
    1 anaconda-ks.cfg
    [root@jinkai01 ~]# 文檔

注意:rm -rf abc/ #強制刪除且不提示abc目錄it

[root@jinkai01 ~]# tree abc/
abc/
└── 123
└── 111class

1 directory, 1 file
[root@jinkai01 ~]# rm -rf abc/
[root@jinkai01 ~]# tree
.
├── 1
└── anaconda-ks.cfg
0 directories, 2 files變量

環境變量PATH

就是指定默認路徑
使用任何命令都須要進入/bin 目錄下才能使用,而有了path 環境變量 咱們能夠賦予 變量值是/root/bin/ 那麼咱們就能在其餘目錄下調用命令的緣由

PATH 變量

echo $PATH 查看path變量值
PATH=$PATH:/tmp/ 臨時將PATH賦值爲 /tmp/
PATH變量表明多個值;
①/usr/local/sbin
②/usr/local/bin
③/usr/sbin
④/usr/bin
⑤/root/bin

[root@jinkai01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

能夠編輯 vi /etc/profile 來更改開機賦予PATH的變量值
在unset -f pathmunge後面加上一行PATH=$PATH:/tmp/能夠賦予永久變量/tmp/

unset -f pathmunge
PATH=$PATH:/tmp/

cp命令

拷貝命令
格式:
cp [參數][源文件路徑][目的文件路徑]

cp /etc/passwd /tmp/1.txt #將etc下的passwd文件複製到tmp文件下爲1.txt文件
-r:拷貝目錄必須加r參數;
root@jinkai01 ~]# cp abc/123/ /
cp: 略過目錄"abc/123/"

[root@jinkai01 ~]# cp -r abc/123/ /
[root@jinkai01 ~]#

mv命令

移動或重命名
格式:
mv [參數][源文件目錄][目的文件路徑]

移動文件
mv 1.txt 123/abc/1.txt #將當前目錄下的1.txt文件移動到當前目錄的123/abc/目錄下爲1.txt

[root@jinkai01 ~]# ls
1.txt abc anaconda-ks.cfg
[root@jinkai01 ~]# mv 1.txt abc/123/1.txt
[root@jinkai01 ~]# ls abc/123/
111 1.txt

重命名文件:
mv 2.txt 3.txt #將當前文件夾下的2.txt重命名爲3.txt

[root@jinkai01 ~]# ls
2.txt abc anaconda-ks.cfg
[root@jinkai01 ~]# mv 2.txt 3.txt
[root@jinkai01 ~]# ls
3.txt abc anaconda-ks.cfg

文檔查看cat、more、less、head、tail

cat命令

所有顯示
格式:
cat [參數][文件路徑]

[root@jinkai01 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync

-n 顯示行號

[root@jinkai01 ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync

more命令

一頁一頁顯示(使用空格向下翻頁,ctrl+b想上翻頁)
格式:
more [參數][文件路徑]

[root@jinkai01 ~]# more /etc/passw

less命令

一頁一頁顯示(可使用方向鍵上下翻,可使用/來查詢字符,按q退出)
格式:
less [參數][文件路徑]

[root@jinkai01 ~]# less /etc/passwd

head命令

默認顯示前10行
格式:
head [參數][文件路徑]

[root@jinkai01 ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

-n 數字:查看前幾行

[root@jinkai01 ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

tail命令

默認查看文件的尾10行
格式:
tail [參數][文件名]
-n 數字:查看後幾行

[root@jinkai01 ~]# tail -2 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash

-f:用戶查看動態文件,好比log日誌專用;

tail -f 1.txt

文件或目錄的權限

使用ls -l來查看文件與目錄的詳細權限(文件擁有x權限才能執行,目錄擁有x權限才能打開)

[root@jinkai01 ~]# ls -l
總用量 4
-rw-r--r-- 1 root root 0 7月 31 11:58 3.txt
drwxr-xr-x 3 root root 17 7月 31 11:56 abc
-rw-------. 1 root root 1693 3月 24 17:38 anaconda-ks.cfg

-rw-r--r-- 除開前面- 分三段(最前面的一個表示文件的類型,也就是以前講到的文件類型)詳細數下總共10個字符
r=可讀 w=可寫 x=可執行
r=4 w=2 x=1 rwx=7 rw-=6 --x=1 
rw-r--r--=644 rw-r-xr-x=655
第一段:全部者的權限 
第二段:所屬組 屬於哪一個用戶組
第三段:全部者與所屬組之外的用戶的權限

chmod命令

更改文件或目錄的權限
格式:
chmod [參數][權限數字][文件名] 
更改權限:

[root@jinkai01 ~]# chmod 777 3.txt
[root@jinkai01 ~]# ls -l
總用量 4
-rwxrwxrwx 1 root root 0 7月 31 11:58 3.txt
drwxr-xr-x 3 root root 17 7月 31 11:56 abc
-rw-------. 1 root root 1693 3月 24 17:38 anaconda-ks.cfg

實驗:賦予1.txt權限700(root用戶可執行可讀寫,其餘用戶以及root組都不行),切換到linuxprobe用戶,沒法操做1.txt;

[root@jinkai01 123]# chmod 700 1.txt
[root@jinkai01 123]# ls -la
總用量 0
drwxr-xr-x 2 root root 30 7月 31 12:00 .
drwxr-xr-x 3 root root 17 7月 31 11:56 ..
-rw-r--r-- 1 root root 0 7月 31 11:56 111
-rwx------ 1 root root 0 7月 31 11:45 1.txt
[root@jinkai01 123]# su linuxprobe
[linuxprobe@jinkai01 123]$ ls -la
總用量 0
drwxr-xr-x 2 root root 30 7月 31 12:00 .
drwxr-xr-x 3 root root 17 7月 31 11:56 ..
-rw-r--r-- 1 root root 0 7月 31 11:56 111
-rwx------ 1 root root 0 7月 31 11:45 1.txt
[linuxprobe@jinkai01 123]$ cat 1.txt
cat: 1.txt: 權限不夠

-R:更改整個目錄下的全部文件權限(全部該目錄下的子文件子目錄的權限都更改)(批量更改)

[root@jinkai01 abc]# ls -la 123/
總用量 0
drwxr-xr-x 2 root root 30 7月 31 12:00 .
drwxr-xr-x 3 root root 17 7月 31 11:56 ..
-rw-r--r-- 1 root root 0 7月 31 11:56 111
-rwx------ 1 root root 0 7月 31 11:45 1.txt
[root@jinkai01 abc]# chmod -R 777 123/
[root@jinkai01 abc]# ls -la 123/
總用量 0
drwxrwxrwx 2 root root 30 7月 31 12:00 .
drwxr-xr-x 3 root root 17 7月 31 11:56 ..
-rwxrwxrwx 1 root root 0 7月 31 11:56 111
-rwxrwxrwx 1 root root 0 7月 31 11:45 1.txt

chown

更改文件全部者和所屬組
格式:
chown [參數] [用戶名] [目錄或文件]

更改文件全部者:chown linuxprobe 3.txt

[root@jinkai01 ~]# ls -l
總用量 4
-rwxrwxrwx 1 root root 0 7月 31 11:58 3.txt
[root@jinkai01 ~]# chown linuxprobe 3.txt
[root@jinkai01 ~]# ls -l
總用量 4
-rwxrwxrwx 1 linuxprobe root 0 7月 31 11:58 3.txt

chown 用戶名:用戶組 文件名
更改文件的全部者和全部組

[root@jinkai01 ~]# ls -l
總用量 4
-rw-r--r-- 1 root root 0 7月 31 12:23 1.txt
[root@jinkai01 ~]# chown linuxprobe:linuxprobe 1.txt
[root@jinkai01 ~]# ls -la
-rw-r--r-- 1 linuxprobe linuxprobe 0 7月 31 12:23 1.txt

chown -R 用戶名:用戶組 目錄名
更改目錄的全部者和全部組(子目錄、子文件所有更改)

[root@jinkai01 ~]# ls -l
總用量 4
-rwxrwxrwx 1 linuxprobe root 0 7月 31 11:58 3.txt
drwxr-xr-x 3 root root 17 7月 31 11:56 abc
[root@jinkai01 ~]# chown -R linuxprobe:linuxprobe abc/
[root@jinkai01 ~]# ls -la abc/
總用量 0
drwxr-xr-x 3 linuxprobe linuxprobe 17 7月 31 11:56 .
drwxrwxrwx 2 linuxprobe linuxprobe 30 7月 31 12:00 123

chgrp命令

chgrp 用戶組 目錄或文件
更改全部組(不更改全部者)

[root@jinkai01 ~]# ls -l
drwxr-xr-x 3 linuxprobe linuxprobe 17 7月 31 11:56 abc
[root@jinkai01 ~]# chgrp root abc/
[root@jinkai01 ~]# ls -l
drwxr-xr-x 3 linuxprobe root 17 7月 31 11:56 abc

umask命令

當咱們建立一個文件的時候默認權限爲rw-r--r--(644)權限,目錄爲rwxr-xr-x(755),若是咱們想建立一個文件默認值爲777,那麼就得用到umask命令了;
決定建立文件的默認權限
實驗:
root@jinkai01 ~]# touch a.txt
[root@jinkai01 ~]# mkdir aa
[root@jinkai01 ~]# ls -l
drwxr-xr-x 2 root root 6 7月 31 12:30 aa
-rw-r--r-- 1 root root 0 7月 31 12:29 a.txt

查詢umask值

[root@jinkai01 ~]# umask
0022

更改umask值
(改值後新建a.txt文件與aa目錄,查看默認權限文件爲664,目錄爲775)
那麼規律就來了
咱們更改的文件權限是umask 0002 就是002 文件滿權限是666 目錄滿權限是777 經過滿權限減
必須使用權限號一位位相減,而不是數字減
文件最高滿權限 :666=(rw-rw-rw-)
目錄最高滿權限:777=(rwxrwxrwx)
umask 0002 =002 (-------w-)
新文件默認權限=【文件滿權限】-【umask值】=(rw-rw-rw-)-(-------w-)=(rw-rw-r--)
新目錄默認權限=【目錄滿權限】-【umask值】=(rwxrwxrwx)-(-------w-)=(rwxrwxr-x

[root@jinkai01 ~]# umask 0002
[root@jinkai01 ~]# touch b.txt
[root@jinkai01 ~]# mkdir bb
[root@jinkai01 ~]# ls -l
drwxr-xr-x 2 root root 6 7月 31 12:30 aa
-rw-r--r-- 1 root root 0 7月 31 12:29 a.txt
drwxrwxr-x 2 root root 6 7月 31 12:34 bb
-rw-rw-r-- 1 root root 0 7月 31 12:34 b.txt

注意:權限並非徹底按照(滿權限)-(umask值)
例如:設置umask值爲0033 按照 666-033=633=rw--wx-wx 下圖顯示爲rw-r--r-- =644
因此當默認權限位沒有的時候,不須要算 rw-rw-rw- 減 ----wx-wx 由於滿權限位沒有x 因此不算默認就是0

[root@jinkai01 ~]# umask 0033[root@jinkai01 ~]# touch c.txt[root@jinkai01 ~]# ls -l-rw-r--r-- 1 root root 0 7月 31 12:39 c.txt

相關文章
相關標籤/搜索