ps: 紅字字體爲重要部分, 仔細看node
1、 目錄、文件基本命令(mkdir、tree、touch、rmdir、rm、cp、mv、)linux
1. mkdir: 建立目錄;bash
經常使用選項:less
①。 -p: 遞歸建立目錄ssh
[root@Centos1 ~]# mkdir a/b/c #當前沒有a/b/c目錄, 因此建立不成功 mkdir: cannot create directory `a/b/c': No such file or directory #提示沒找到a/b/c 目錄 [root@Centos1 ~]# mkdir -p a/b/c #能夠結合-p選項遞歸建立a/b/c目錄 [root@Centos1 ~]# mkdir -p a/B/C [root@Centos1 ~]# tree -C a #查看a目錄的結構 a |-- B | `-- C `-- b `-- c
②。 -v: 可視化ide
[root@Centos1 ~]# mkdir -pv a/A/B/C mkdir: created directory `a/A' mkdir: created directory `a/A/B' mkdir: created directory `a/A/B/C'
2. tree:顯示目錄結構;post
經常使用選項: 字體
①。 -C: 顯示顏色url
[root@Centos1 ~]# tree -C a #查看a目錄的結構 a |-- B | `-- C `-- b `-- c
3. touch:建立文件;spa
[root@Centos1 ~]# touch a/A/B/C/1
4. rmdir:用於刪除空目錄, 若是目錄中含有文件, 則沒法刪除, 因此不經常使用;
5. rm: 刪除文件或目錄;
經常使用選項:
①.。 -i: 刪除時提醒
[root@Centos1 ~]# rm a/A/B/C/1 #刪除剛建立的文件1 rm: remove regular empty file `a/A/B/C/1'? y #輸入y則刪除,輸入n爲不刪除
②。 -r: 刪除目錄
[root@Centos1 ~]# rm -r a/A/B/C/ #刪除a/A/B/下的C目錄 rm: remove directory `a/A/B/C'? y #輸入y則刪除,輸入n爲不刪除 [root@Centos1 ~]# ls -l a/A/B/ #能夠看到, a/A/B下沒有了C目錄 total 0
③。 -f: 強制刪除(刪除時不提醒)
[root@Centos1 ~]# rm -rf a/A/B #刪除a/A下的B目錄 [root@Centos1 ~]# ls -l a/A/ total 0 [root@Centos1 ~]# mkdir -p a/A/1/2/3/4/ #結合-p建立遞歸目錄 [root@Centos1 ~]# rm -rf a/A #刪除A目錄. [root@Centos1 ~]# ls a #能夠看到,A目錄下的子目錄一塊刪除 B
6. cp:複製文件和目錄;
經常使用選項:
①。 -r: 複製目錄
[root@Centos1 ~]# ls -l | grep '^d' #過濾當前以d開頭的目錄 drwxr-xr-x. 3 root root 4096 Mar 10 05:09 a [root@Centos1 ~]# cp a /etc/ #若是不輸入-r選項, 不容許拷貝目錄 cp: omitting directory `a' [root@Centos1 ~]# cp -r a /etc/
②。 -a: 複製時文件屬性保持一致
[root@Centos1 ~]# cp -a a /home/ drwxr-xr-x. 2 root root 4096 Mar 10 05:40 /home/a #紅色表示文件屬性 當目標文件已存在時, 複製源文件會提示是否覆蓋. 若是不但願覆蓋, 即便用cp的絕對路徑. [root@Centos1 ~]# cp 1.txt /home/ [root@Centos1 ~]# cp 1.txt /home/ cp: overwrite `/home/1.txt'? y [root@Centos1 ~]# /bin/cp 1.txt /home/
7. mv:移動文件或更名;
經常使用選項:
①。 -i: 移動或更名時提醒.
[root@Centos1 ~]# ls a #a目錄下有1.txt、2.txt、3.txt 1.txt 2.txt 3.txt [root@Centos1 ~]# echo abc> 1.txt #將'abc'重定向到當前目錄的1.txt文件中 [root@Centos1 ~]# mv 1.txt a #將當前目錄的1.txt移動到a目錄 mv: overwrite `a/1.txt'? y #輸入y則覆蓋. [root@Centos1 ~]# cat a/1.txt #查看a/1.txt文件內容 abc [root@Centos1 ~]# echo 222 > 1.txt #將'222'重定向到當前目錄的2.txt文件中 [root@Centos1 ~]# cat 1.txt 222 [root@Centos1 ~]# /bin/mv 1.txt a/ 當目標文件存在是時, 會提示是否覆蓋. 若是不但願提示, 須要使用命令的絕對路口/bin/mv, 並進行強制覆蓋. [root@Centos1 ~]# cat a/1.txt 222
②。 -v: 可視化
[root@Centos1 ~]# mv -v a/1.txt ./ `a/1.txt' -> `./1.txt'
2、 查看文件和目錄(cat、tac、rev、more、less、tail、head)
1. cat: 查看文件;
經常使用選項:
①。 -A: 在每行結束處顯示'$'
[root@Centos1 ~]# cat 1.txt abc def ijk [root@Centos1 ~]# cat -A 1.txt abc$ def$ ijk$
②。 -n: 顯示行號
[root@Centos1 ~]# cat -n 1.txt 1 abc 2 def 3 ijk
2. tac: 文件倒序;
[root@Centos1 ~]# tac 1.txt ijk def abc
3. rev: 顛倒文件左右內容;
[root@Centos1 ~]# rev 1.txt cba fed kji
4. more: 當內容爲滿屏時, 按百分比顯示文件內容;
[root@Centos1 ~]# more /etc/init.d/iptables
5. less: 和more相似, less支持快捷鍵;
[root@Centos1 ~]# less /etc/init.d/iptables 下面是快捷鍵: n與N結合/使用: n往下,N往上 n與N結合?使用: n往上,N往下 ctrl+f: 往下翻頁 ctrl+b: 往上翻頁 快捷鍵使用:j像下,k像上 G跳轉到最後一行g跳轉到第一行
6. tail: 默認查看文件尾10行;
[root@Centos1 ~]# tail /etc/passwd postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin named:x:25:25:Named:/var/named:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin rtkit:x:498:499:RealtimeKit:/proc:/sbin/nologin pulse:x:497:498:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin [root@Centos1 ~]# tail -3 /etc/passwd #查看末尾3行, 加-3 gdm:x:42:42::/var/lib/gdm:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin
7. head: 默認查看文件前10行;
[root@Centos1 ~]# 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 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin [root@Centos1 ~]# head -3 /etc/passwd #查看前3行. 加-3 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
3、文件及目錄屬性
[root@Centos1 ~]# ls -l total 28 -rw-r--r--. 1 root root 12 Mar 10 05:56 1.txt drwxr-xr-x. 2 root root 4096 Mar 10 05:38 a
Linux文件類型:
f或者- : 普通文件
d: 目錄文件
b: 塊設備文件
c: 字符文件
s: 套接字文件
l: 軟鏈接文件
p: 管道文件
1: 表示幾個文件使用了相同inode號
.: selinux
+: ACL
Linux文件連接數(即inode)
[root@Centos1 ~]# ls -ldai a #查看a目錄自己inode 914018 drwxr-xr-x. 3 root root 4096 Mar 10 05:38 a #3表明的鏈數. 914018表示inode [root@Centos1 ~]# ls -ali a/ total 8 914018 drwxr-xr-x. 2 root root 4096 Mar 10 05:38 . #查看當前目錄 913921 dr-xr-x---. 3 root root 4096 Mar 10 05:56 .. 915949 -rw-r--r--. 1 root root 0 Mar 10 05:28 2.txt 915950 -rw-r--r--. 1 root root 0 Mar 10 05:28 3.txt [root@Centos1 ~]# ls -ali a/1 total 8 915947 drwxr-xr-x. 2 root root 4096 Mar 10 06:27 . 914018 drwxr-xr-x. 3 root root 4096 Mar 10 06:27 .. #查看a/1目錄
從上面的inode中能夠看出indeo出現三次:
1。 目錄自己
2。 a/目錄裏的'.(隱藏)'當前目錄
3。 a/1目錄的..(上一級)'上一級目錄
4、修改文件及目錄的屬性和權限(chown、chmod)
1. chown: 修改目錄及文件屬性(屬主、屬組)
[root@Centos1 ~]# useradd user1 #建立用戶 [root@Centos1 ~]# useradd user2 [root@Centos1 ~]# ls -l | grep '^d' drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a [root@Centos1 ~]# chown user1 a [root@Centos1 ~]# ls -l | grep '^d' drwxr-xr-x. 3 user1 root 4096 Mar 10 06:27 a [root@Centos1 ~]# chown :user2 a [root@Centos1 ~]# ls -l | grep '^d' drwxr-xr-x. 3 user1 user2 4096 Mar 10 06:27 a [root@Centos1 ~]# chown root:root a [root@Centos1 ~]# ls -l | grep '^d' drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a
經常使用選項:
-R: 遞歸修改屬性
[root@Centos1 ~]# ls -l a total 4 drwxr-xr-x. 2 root root 4096 Mar 10 06:27 1 [root@Centos1 ~]# chown -R user1:user2 a/1 [root@Centos1 ~]# ls -l a total 4 drwxr-xr-x. 2 user1 user2 4096 Mar 10 06:27 1
2. chmod: 修改文件目錄的權限
[root@Centos1 ~]# ls -l | grep '^d' drwxr-xr-x. 3 root root 4096 Mar 10 06:27 a [root@Centos1 ~]# chmod 777 a [root@Centos1 ~]# ls -l | grep '^d' drwxrwxrwx. 3 root root 4096 Mar 10 06:27 a
權限用二進制表示應爲:
r=4
w=2
x=1
經常使用選項:
①。 -R: 遞歸修改文件、目錄權限
[root@Centos1 ~]# ls -l a total 4 drwxr-xr-x. 2 user1 user2 4096 Mar 10 06:27 1 [root@Centos1 ~]# chmod -R 700 a [root@Centos1 ~]# ls -l && ls -l a/ drwx------. 3 root root 4096 Mar 10 06:27 a -------------------------------------------------------- drwx------. 2 user1 user2 4096 Mar 10 06:27 1
5、umask權限掩碼
[root@Centos1 ~]# umask #umask默認掩碼爲0022 0022 建立目錄的默認掩碼爲777-022=755。 建立文件的默認掩碼爲666-022=644。 [root@Centos1 ~]# umask 0001 #修改默認掩碼 [root@Centos1 ~]# ls -l | grep aaaa drwxrwxrw-. 2 root root 4096 Mar 10 06:50 aaaa [root@Centos1 ~]# touch a.txt #建立一個文件 [root@Centos1 ~]# ls -l | grep a.txt -rw-rw-rw-. 1 root root 0 Mar 10 06:48 a.txt
a.txt不屬於目錄, 切不帶有'x(執行)'權限. 技術umask改成0001, 而建立的文件權限仍然爲666.
若有錯誤, 請你們指正。
51博客:http://chenxiaojian.blog.51cto.com