Centos目錄及其經常使用處理命令

一、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]

QQ鎴浘20170613174345.jpg


首先解釋下這塊, root表明當前登陸用戶,localhost表明主機名, ~表明當前主機目錄,#表明用戶權限 #表示超級用戶,$表示普通用戶;


查詢目錄中內容命令 ls  (list縮寫)

格式 ls [選項]  [文件或目錄]

選項:

  -a 顯示全部文件,包括隱藏文件

  -l  顯示詳細信息

  -d 查看目錄屬性

  -h 人性化顯示文件大小

  -i  顯示inode


超級用戶root默認的當前目錄是 root目錄 

咱們能夠用pwd命名(Print Working Directory 打印當前工做目錄)看到

QQ鎴浘20170613175137.jpg

咱們打印下當前目錄下文件信息:

[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 來看下 文件的詳細信息:

QQ鎴浘20170618103556.jpg

時間不同;第二個是複製文件的當前時間;

假如咱們須要把目錄或者文件的屬性一塊兒複製 咱們加 -a命名;

11.jpg


剪切或更名命令: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

相關文章
相關標籤/搜索