一、Centos之常見目錄做用介紹[1]html
咱們先切換到系統根目錄 / 看看根目錄下有哪些目錄java
[root@localhost ~]# cd /node
[root@localhost /]# lslinux
bin dev home lib64 mnt proc run srv tmp varc++
boot etc lib media opt root sbin sys usr編程
[root@localhost /]# bash
這裏首先看下 根目錄/ 下的 bin 和 sbin;
less
在user下也有bin和sbintcp
[root@localhost /]# ls usr/工具
bin games lib libexec sbin src
etc include lib64 local share tmp
[root@localhost /]#
根目錄下的bin和sbin,usr目錄下的bin和sbin,
這四個目錄都是用來保存系統命令的。
bin:
bin爲binary的簡寫主要放置一些系統的必備執行檔例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
/usr/bin:
主 要放置一些應用軟體工具的必備執行檔例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m四、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
/sbin:
主 要放置一些系統管理的必備程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/sbin:
放置一些網路管理的必備程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等
bin目錄下的命令普通用戶和root用戶均可以執行,
可是sbin下的命令只有root用戶能夠執行;
/boot目錄,是啓動目錄,存的是啓動相關的文件
該目錄下不要亂存東西;
/dev設備文件保存目錄
/etc配置文件保存目錄
/home普通用戶的家目錄
/lib系統庫保存目錄
/mnt系統掛載目錄
/media掛載目錄
/root超級用戶的家目錄
/tmp臨時目錄
/proc直接寫入內存的,虛擬文件系統
/sys直接寫入內存的,虛擬文件系統
/var系統相關文檔內容
二、Centos中查詢目錄中內容命名ls[2]
首先解釋下這塊, root表明當前登陸用戶,localhost表明主機名, ~表明當前主機目錄,#表明用戶權限 #表示超級用戶,$表示普通用戶;
查詢目錄中內容命令 ls (list縮寫)
格式 ls [選項] [文件或目錄]
選項:
-a 顯示全部文件,包括隱藏文件
-l 顯示詳細信息
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode
超級用戶root默認的當前目錄是 root目錄
咱們能夠用pwd命名(Print Working Directory 打印當前工做目錄)看到
咱們打印下當前目錄下文件信息:
[root@localhost ~]# ls
anaconda-ks.cfg
只有一個文件
假如咱們要列出全部文件 用 ls -a 把隱藏文件也顯示出來
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .tcshrc
.. .bash_history .bash_profile .cshrc
多了一些文件
咱們也能夠看其餘目錄的文件:
[root@localhost ~]# ls /etc/
adjtime modprobe.d
aliases modules-load.d
aliases.db motd
alternatives mtab
anacrontab my.cnf
asound.conf my.cnf.d
audisp NetworkManager
audit networks
一樣也能夠看具體某個文件
[root@localhost ~]# ls -l /etc/vconsole.conf
-rw-r--r--. 1 root root 37 6月 10 05:23 /etc/vconsole.conf
咱們用 -l 或者 -la 組合 列出詳細信息;
[root@localhost ~]# ls -l
總用量 4
-rw-------. 1 root root 1237 6月 10 05:24 anaconda-ks.cfg
[root@localhost ~]# ls -la
總用量 24
dr-xr-x---. 2 root root 135 6月 11 21:13 .
dr-xr-xr-x. 17 root root 224 6月 10 05:23 ..
-rw-------. 1 root root 1237 6月 10 05:24 anaconda-ks.cfg
-rw-------. 1 root root 0 6月 11 21:13 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
[root@localhost ~]#
這裏第一列 好比 dr-xr-xr-x. 表明文件類型以及全部者,所屬組以及其餘者權限
第一位d表明文件類型 常見的有 - 文件 d目錄 | 軟件連接文件
後面9位 每3位一個組 分別是 全部者u 所屬組g 以及 其餘者o的權限
權限分三種 r讀 w寫 x執行
好比 dr-xr-xr-x 這個目錄 全部者 所屬組 以及其餘者 都有 讀和執行權限;
好比 -rw------- 這個文件 全部者有讀寫權限 所屬組以及其餘者沒有權限;
第二列 那個數字 是 硬連接次數 後面再說;
第三列 root 是 全部者;
第四列 root 是 所屬組;
第五列 是文件大小;假如看不慣 可用 ls -lh
[root@localhost ~]# ls -lh
總用量 4.0K
-rw-------. 1 root root 1.3K 6月 10 05:24 anaconda-ks.cfg
第六列的日期是該文件最後一次修改時間;
最後一列 是文件名稱;
查看目錄屬性 要加 -d
[root@localhost ~]# ls -ld /etc/
drwxr-xr-x. 78 root root 8192 6月 13 15:50 /etc/
[root@localhost ~]#
查看文件的inode屬性 相似 主鍵 惟一識別文件的Id 用 -i
[root@localhost ~]# ls -li
總用量 4
33574979 -rw-------. 1 root root 1237 6月 10 05:24 anaconda-ks.cfg
[root@localhost ~]#
33574979 就是inode屬性
三、Centos之目錄處理命令[3]
linux中 關於目錄 有幾個重要概念
一個是 / 根目錄 還有一個當前用戶的家目錄 好比 root用戶的家目錄是 /root 普通用戶的家目錄是/home/xxx 下
root登陸 默認家目錄 是root 咱們這裏先用 cd .. 進入 / 根目錄
[root@localhost ~]# cd ..
[root@localhost /]#
而後咱們看下 根目錄 / 下有哪些目錄
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]#
咱們用 cd 回到家目錄
[root@localhost /]# cd
[root@localhost ~]#
建立目錄命令 mkdir (make directories)
好比在/root 下建一個 書籍目錄
[root@localhost ~]# mkdir 書籍
[root@localhost ~]# ls
anaconda-ks.cfg 書籍
[root@localhost ~]#
假如咱們要遞歸建立目錄和文件
[root@localhost ~]# mkdir 書籍2/java編程思想
mkdir: 沒法建立目錄"書籍2/java編程思想": 沒有那個文件或目錄
發現失敗了 默認不許遞歸建立 要遞歸建立的話 家-p
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍 書籍2
[root@localhost ~]# ls /root/書籍2/
java編程思想
[root@localhost ~]#
切換所在目錄,cd (change directory)
簡化操做
cd ~ 進行當前用戶的家目錄
cd
cd - 進入上次目錄
cd .. 進入上一級目錄
cd . 進入當前目錄
咱們先進入 /root/書籍2/ 目錄
而後cd ~ 回到家目錄 /root/
而後 cd - 進入上次目錄 也就是 /root/書籍2/ 目錄
再cd.. 進入 /root/目錄
cd .沒啥意義(注意cd後面要加個空格);
[root@localhost ~]# cd /root/書籍2/
[root@localhost 書籍2]# cd ~
[root@localhost ~]# cd -
/root/書籍2
[root@localhost 書籍2]# cd ..
[root@localhost ~]# cd.
-bash: cd.: 未找到命令
[root@localhost ~]# cd .
[root@localhost ~]#
目錄補全以及命名補全 tag鍵
好比 切換目錄 /usr 假如記不清楚 直接 /u 而後 tag鍵,則自動補全;
[root@localhost ~]# cd .
[root@localhost ~]# cd /usr/
[root@localhost usr]#
好比要輸入一些命令 useradd 假如記不清出了
直接輸入 user 而後tab鍵
[root@localhost ~]# user
useradd userdel usermod usernetctl users
[root@localhost ~]# useradd
會把全部user開頭的命令都顯示出來;
pwd命令(print working directory)打印工做目錄
就是打印當前位置
[root@localhost ~]# pwd
/root
[root@localhost ~]#
刪除空目錄: rmdir (remove empty directories)
rmdir [目錄名]
咱們刪除root下的空目錄 書籍 試下
[root@localhost ~]# ls
anaconda-ks.cfg 書籍 書籍2
[root@localhost ~]# rmdir 書籍/
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]#
發現沒問題
咱們刪除 書籍2目錄時,
[root@localhost ~]# rmdir 書籍2/
rmdir: 刪除 "書籍2/" 失敗: 目錄非空
[root@localhost ~]#
報錯了,由於 書籍2 目錄 非空;
這裏的話 假如要刪除 書籍2 目錄 咱們須要先把書籍2裏面的文件或者目錄先刪除,而後才能刪除書籍2目錄,
這個是很是不現實的,因此 rmdir命令瞭解便可,之後基本不用的。
刪除文件或目錄:rm (remove)
rm -rf [文件或目錄]
選項:
-r 刪除目錄
-f 強制
咱們用 touch命令新建一個空文件
而後用rm命令刪除
[root@localhost ~]# touch java牛
[root@localhost ~]# ls
anaconda-ks.cfg java牛 書籍2
[root@localhost ~]# rm java牛
rm:是否刪除普通空文件 "java牛"?n
[root@localhost ~]# ls
anaconda-ks.cfg java牛 書籍2
[root@localhost ~]# rm java牛
rm:是否刪除普通空文件 "java牛"?y
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]#
刪除文件會提醒是否刪除,輸入n 不刪除 輸入y 刪除;
假如咱們刪除 書籍2 目錄
[root@localhost ~]# rm 書籍2/
rm: 沒法刪除"書籍2/": 是一個目錄
報錯,假如要用rm刪除目錄,必須 加 -r
[root@localhost ~]# rm -r 書籍2/
rm:是否進入目錄"書籍2/"? y
rm:是否刪除目錄 "書籍2/java編程思想"?y
rm:是否刪除目錄 "書籍2/"?y
[root@localhost ~]# ls
anaconda-ks.cfg
依然提示咱們是否要刪除,假若有一萬個文件 那得輸入y到手麻;
咱們用 mk -rf 來強制刪除 無需提醒
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# rm -rf 書籍2/
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]#
這樣方便不少 直截了當;之後用刪除 就用 rm -rf 命令便可;
複製命令:cp (copy)
cp [選項] [源文件或目錄] [目標目錄]
選項:
-r 複製目錄
-p 連帶文件屬性複製
-d 若源文件是連接文件,則複製連接屬性
-a 至關於 -pdr
咱們複製下文件
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# cp anaconda-ks.cfg /tmp/abc
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls /tmp/
abc
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
把 root下的anaconda-ks.cfg複製到了 tmp下 而且重名爲 abc
假如 cp anaconda-ks.cfg /tmp/abc 不加文件名 則新文件名稱不變
[root@localhost ~]# cp anaconda-ks.cfg /tmp/
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
假如複製目錄:
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# cp 書籍2/ /tmp/
cp: 略過目錄"書籍2/"
咱們須要加 -r
[root@localhost ~]# cp -r 書籍2/ /tmp/
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
書籍2
這裏咱們用 ls -l 或者縮寫命令 ll 來看下 文件的詳細信息:
時間不同;第二個是複製文件的當前時間;
假如咱們須要把目錄或者文件的屬性一塊兒複製 咱們加 -a命名;
剪切或更名命令:mv (move)
mv [原文件或目錄] [目標目錄]
咱們把 root下的 書籍2 剪切到 tmp 下 而且重命名
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# mv 書籍2 /tmp/書籍2哈哈
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
書籍2
書籍2哈哈
假如在同一個目錄 那就是從新命令操做了
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# mkdir -p 書籍2/java.pdf
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# mv 書籍2/ 牛逼/
[root@localhost ~]# ls
anaconda-ks.cfg 牛逼
[root@localhost ~]# ls 牛逼/
java.pdf
[root@localhost ~]#
[1] Java1234_小鋒, Centos之常見目錄做用介紹, http://blog.java1234.com/blog/articles/296.html [2] Java1234_小鋒, Centos中查詢目錄中內容命名ls, http://blog.java1234.com/blog/articles/294.html [3] Java1234_小鋒, Centos之目錄處理命令, http://blog.java1234.com/blog/articles/295.html