@linux文件管理及系统目录的简单介绍

1. 文件管理概述


创建  复制  移动  删除  查看  编辑  压缩 

2. 系统的目录结构

Windows

D:\Linux脱产10期视频\基础阶段     反斜线  


Linux   

所有的文件或者目录的起点或者顶点都是以根开始的   /  斜线

Linux的目录结构就像是一个倒挂的树形结构  


必知必会的目录及文件  


[root@qls ~]# ls -1  /


软连接文件

 /bin		#存放系统命令的目录    普通用户可以执行的命令 
 /sbin		#存放系统命令的目录    需要管理员权限才可以执行的命令
 /lib		#库文件目录   32位库文件 
 /lib64		#库文件目录   64位库文件
 
 ====
 
 /usr/bin
 /usr/sbin
 /usr/lib
 /usr/lib64
 
 
 /boot		#系统引导目录    存放的是系统内核和grub的配置 
 /dev		#系统设备目录
 
 	/dev/cdrom -> sr0		#光盘镜像
    /dev/null				#黑洞设备  将一些不用的数据导入到黑洞设备  
    /dev/zero				#字符设备  源源不断的产生数据 字符 
    /dev/random				#产生随机数的设备 
    
	/dev/stderr -> /proc/self/fd/2		#错误输出   2>
	/dev/stdin -> /proc/self/fd/0		#标准输入 	<
	/dev/stdout -> /proc/self/fd/1		#标准输出 	>
	
	/dev/pts/				#存放的是虚拟终端信息  

	#磁盘设备及分区  
	/dev/sda
	/dev/sda1      /
	/dev/sda2
	/dev/sda3    /boot
	
	
 /etc		#系统的主配置文件存放目录    程序配置文件存放目录 
 
 	/etc/sysconfig/network-scripts/ifcfg-*		#系统网卡配置文件
 	
 	/etc/hosts			#本地域名解析文件   记录 IP地址与主机名的对应的映射关系 
 
 	/etc/resolv.conf	#本地DNS配置文件 
    
    /etc/fstab			#设备挂载目录配置文件    开机自启动挂载列表  
 	
 	/etc/hostname		#主机名配置文件  
 	
 	
 /home			#普通用户的家目录     /home/test

 /media			#挂载一些可移动的设备     CD   相机
 
 /mnt			#临时挂载目录 
 
 
 /opt			#早期第三方软件安装目录 
 
 
 /proc			#虚拟可变的目录   记录了系统的实时状态 
 
 
 /root			#超级用户管理员root的家目录  
 
 
 /run			#进程运行时产生的一些pid文件  

 /srv			#物理设备所产生的一些文件
 /sys			#物理设备的驱动信息文件
 
 
 /tmp			#公共临时目录  公共场所     系统会定时的删除这个目录下长时间没有访问的文件
 
 
 /usr			#系统目录 系统文件目录    跟Windows目录一样
 
 	/usr/local		#软件安装目录    
 	
 	
 /var			#可变的目录     系统日志信息  
 
 	/var/log		#系统日志存放目录 
 	
 	/var/log/messages		#系统级别日志
 	
 	/var/log/secure			#用户登录日志 

	/var/tmp			#程序运行时所产生的一些进程文件 
	
	/var/run			#程序运行时所产生的进程的pid文件目录 

3. 路径的定位


包含整个文件名称及文件的位置,这样的定位称之为路径 

路径就是对于文件的定位的一种方式  


每个目录下都有一个点和两个点,都表示什么意思  


.		#表示的是当前所在的目录 

..		#当前目录的上一级目录  


[root@qls usr]# ./local/		#当前目录下的local目录    ==    /usr/local


[root@qls usr]# ../				#当前目录的上一级目录   /  根    


./			#表示当前的目录  

.			#表示当前的目录

../			#从当前目录的上一级目录开始 

..			#上一级目录 


什么是绝对路径   什么又是相对路径


绝对路径:   凡是以根开始的路径就是绝对路径   或者以~开头的路径也是绝对路径  ~  ===  /root    ~  == /home/xxx

/usr/local/ 		#绝对路径 


相对路径:  不是以根为开头的路径就是相对路径     相对路径是针对当前目录而言的   

./local/

local/


4. 文件管理基础命令

1. pwd			#显示当前工作目录的绝对路径    告诉我,你在哪里  

[root@qls usr]# pwd
/usr
[root@qls usr]# cd  local/
[root@qls local]# pwd
/usr/local



2.  cd			#切换工作目录   切换路径 

[root@qls local]# cd		#直接切换到当前用户的家目录  
[root@qls ~]# 
[root@qls ~]# cd  ~			#切换当前用户的家目录   ====   cd  /root

[root@qls ~]# cd  .			#保持当前目录不变
[root@qls ~]# cd ./			#保持当前目录不变

[root@qls ~]# cd  ..		#切换当前目录的上一级目录
[root@qls /]# cd
[root@qls ~]# cd ../		#切换当前目录的上一级目录
[root@qls /]# 

[root@qls usr]# cd  ./local/
[root@qls local]# pwd
/usr/local

[root@qls local]# cd ../etc		#进入当前目录的上一级目录/usr下的etc目录
[root@qls etc]# pwd
/usr/etc

[root@qls usr]# cd   ../etc		#不同目录下。执行的相对路径操作,得到的结果是不同的
[root@qls etc]# pwd
/etc


[root@qls etc]# cd  /		#切换到根目录   根本身也是一个目录 



[root@qls /]# cd  -			#切换到你上一次所在的目录     快速的到达上一次所在的路径 
/etc
[root@qls etc]# 



3. ls		#显示文件或者目录列表信息      打开目录  显示目录里面的内容  

常用选项:

	-l		#以长格式形式显示文件或者目录的详细属性信息  
	
	-i		#显示文件或者目录的inode信息   索引节点信息 
    
    -h		#以字节大小的形式显示文件大小   B   KB   MB   GB  
    
    -a		#显示所有的文件,隐藏文件  所有以点开头的文件就是隐藏文件 
    
    -S	 	#以文件大小进行排序  从大到小显示
    
    -t		#根据时间进行排序  最新的时间在最上面 
    
    -r		#倒叙排序  
    
    -F		#给不同的文件加上不同的标识符  
    
    -d		#显示目录本身信息  
    
    
    	/		#目录 
    	
    	*		#可执行文件  
    	
    	=		#套接字文件  socker文件  
    	
    	|		#管道文件  
    	
    	
	
[root@qls ~]# ls			#如果不加目录信息,默认针对的是当前目录操作 
anaconda-ks.cfg

[root@qls ~]# ls   /root
anaconda-ks.cfg

[root@qls ~]# ls  -l
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg

===     系统自带的别名   ll   ===  ls   -l  

[root@qls ~]# ll
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg


[root@qls ~]# ls -li
total 4
134317667 -rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg

[root@qls ~]# ll -h 
total 4.0K
-rw-------. 1 root root 1.4K Jul  6 02:17 anaconda-ks.cfg


10月24日   程序员日  


[root@qls ~]# ll -a
total 28
dr-xr-x---.  2 root root  135 Jul  6 09:06 .
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ..
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

[root@qls ~]# ll -aS  
total 28
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ..
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
dr-xr-x---.  2 root root  135 Jul  6 09:06 .
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout


[root@qls ~]# ll -at
total 28
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history
dr-xr-x---.  2 root root  135 Jul  6 09:06 .
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ..
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc


[root@qls ~]# ll -atr
total 28
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ..
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
dr-xr-x---.  2 root root  135 Jul  6 09:06 .
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history


[root@qls ~]# ll -aSr  
total 28
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
dr-xr-x---.  2 root root  135 Jul  6 09:06 .
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ..
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg


[root@qls ~]# ll -aF  
total 28
dr-xr-x---.  2 root root  135 Jul  6 09:06 ./
dr-xr-xr-x. 17 root root  224 Jul  6 02:16 ../
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
-rw-------.  1 root root  879 Jul  7 18:59 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

[root@qls ~]# ll  -d  /root
dr-xr-x---. 2 root root 135 Jul  6 09:06 /root



[root@qls ~]# ls  /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@qls ~]# ls -1 /		#以行的形式显示文件名称  
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys

4. tree			#以树状形式显示目录列表  


[root@qls ~]# yum install  -y  tree 



	选项:
	
			-a		#显示所有文件或者目录  隐藏文件 
			
			-d		#只显示目录及目录的数量 
			
			-h		#显示文件的大小  
			
			-F		#给不同类型的文件加上不同的标识符
			
			    	/		#目录 
    	
    				*		#可执行文件  
    	
    				=		#套接字文件  socker文件  
    	
    				|		#管道文件  
                    
             -L		#根据目录的基本显示  
			
			
[root@qls ~]# tree 
.
└── anaconda-ks.cfg

0 directories, 1 file

[root@qls ~]# tree  -a
.
├── anaconda-ks.cfg
├── .bash_history
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cshrc
└── .tcshrc

0 directories, 7 files



[root@qls ~]# tree  -d   /var/log/
/var/log/
├── anaconda
├── audit
├── rhsm
└── tuned

4 directories




[root@qls ~]# tree  -h   /var/log/
/var/log/
├── [ 176]  anaconda
│   ├── [ 26K]  anaconda.log
│   ├── [3.9K]  ifcfg.log
│   ├── [1.5M]  journal.log
│   ├── [   0]  ks-script-3PCKae.log
│   ├── [108K]  packaging.log
│   ├── [ 29K]  program.log
│   ├── [121K]  storage.log
│   ├── [275K]  syslog
│   └── [ 21K]  X.log


[root@qls ~]# tree  -L  2  /


5. mkdir		#创建目录

	选项:
	
		-p		#创建多级目录  递归创建   当目录已经存在时,再次创建不会提示报错  
		
		-v		#显示创建的过程  
		
		-m		#创建的时候,给目录设置一个权限  
	
	
		{}		#生成序列  有规律和无规律    有规律使用..分割   无规律的使用逗号分割 
		
		*		#通配符    所有的意思 
		
		
在相同的路径下,不能存在相同的文件名称 

在不同的路径下,可以存在相同的文件名称  


[root@qls ~]# mkdir  /data		#使用绝对路径进行创建
[root@qls ~]# mkdir  data		#使用相对路径进行创建

[root@qls ~]# ll
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  8 19:51 data
[root@qls ~]# ll /
total 20
lrwxrwxrwx.   1 root root    7 Jul  6 02:13 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jul  6 02:17 boot
drwxr-xr-x.   2 root root    6 Jul  8 19:51 data


[root@qls ~]# mkdir  /root/data
mkdir: cannot create directory ‘/root/data’: File exists



File exists			#文件已经存在 

	解决:  
	
		1. 你要创建的目录已经存在,无需再次进行创建 
		
		2. 你要创建的目录路径书写错误  
		
		
[root@qls ~]# mkdir  -p  /root/data		

[root@qls ~]# mkdir   test/oldboy
mkdir: cannot create directory ‘test/oldboy’: No such file or directory
[root@qls ~]# mkdir  -p  test/oldboy
[root@qls ~]# ll
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  8 19:51 data
drwxr-xr-x. 3 root root   20 Jul  8 19:57 test
[root@qls ~]# ll test/
total 0
drwxr-xr-x. 2 root root 6 Jul  8 19:57 oldboy



[root@qls ~]# mkdir  oldboy
[root@qls ~]# mkdir  'oldboy '
[root@qls ~]# 
[root@qls ~]# ll
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  8 19:51 data
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy 
drwxr-xr-x. 3 root root   20 Jul  8 19:57 test
[root@qls ~]# ll  -F  
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  8 19:51 data/
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy/
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy /
drwxr-xr-x. 3 root root   20 Jul  8 19:57 test/
[root@qls ~]#  root    6 Jul  8 20:00 oldboy/


[root@qls ~]# mkdir -v   data01
mkdir: created directory ‘data01’


[root@qls ~]# mkdir  -m  700   data02
[root@qls ~]# ll
total 4
-rw-------. 1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  8 19:51 data
drwxr-xr-x. 2 root root    6 Jul  8 20:02 data01
drwx------. 2 root root    6 Jul  8 20:04 data02
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy
drwxr-xr-x. 2 root root    6 Jul  8 20:00 oldboy 
drwxr-xr-x. 3 root root   20 Jul  8 19:57 test



[root@qls ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10


[root@qls ~]# mkdir  test/data{01..10}		#批量创建10个目录 
[root@qls ~]# ll test/
total 0
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data01
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data02
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data03
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data04
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data05
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data06
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data07
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data08
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data09
drwxr-xr-x. 2 root root 6 Jul  8 20:09 data10

[root@qls ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@qls ~]# echo {a..g}
a b c d e f g
[root@qls ~]# echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

[root@qls ~]# mkdir  test/oldboy-{a..g}


[root@qls ~]# ll  -d  test/oldboy-*
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-a
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-b
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-c
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-d
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-e
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-f
drwxr-xr-x. 2 root root 6 Jul  8 20:11 test/oldboy-g


[root@qls ~]# mkdir  data-{a,c,d,h}
[root@qls ~]# ll
total 4
-rw-------.  1 root root 1429 Jul  6 02:17 anaconda-ks.cfg
drwxr-xr-x.  2 root root    6 Jul  8 19:51 data
drwxr-xr-x.  2 root root    6 Jul  8 20:02 data01
drwx------.  2 root root    6 Jul  8 20:04 data02
drwxr-xr-x.  2 root root    6 Jul  8 20:12 data-a
drwxr-xr-x.  2 root root    6 Jul  8 20:12 data-c
drwxr-xr-x.  2 root root    6 Jul  8 20:12 data-d
drwxr-xr-x.  2 root root    6 Jul  8 20:12 data-h

[root@qls ~]# mkdir  -p  oldboy/{01..10}/data{01..10}/test{01..10}

#在Linux系统中,是区分大小写的

[root@qls ~]# mkdir  a
[root@qls ~]# mkdir  A
[root@qls ~]# ll
total 4
drwxr-xr-x.  2 root root    6 Jul  8 12:25 a
drwxr-xr-x.  2 root root    6 Jul  8 12:25 A





6. touch		#创建文件   创建空文件  当文件已经存在时,创建的时候不会报错,但是会改变文件的时间戳

		{}		#生成序列  有规律和无规律    有规律使用..分割   无规律的使用逗号分割 

[root@qls ~]# touch  test.txt


[root@qls ~]# touch  data.{txt,sh,log,xml,tar,py,js}
[root@qls ~]# ll
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.js
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.log
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.py
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.sh
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.tar
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.txt
-rw-r--r--.  1 root root    0 Jul  8 12:27 data.xml


[root@qls ~]# touch  data{01..10}.txt
[root@qls ~]# ll
-rw-r--r--.  1 root root    0 Jul  8 12:28 data01.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data02.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data03.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data04.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data05.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data06.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data07.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data08.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data09.txt
-rw-r--r--.  1 root root    0 Jul  8 12:28 data10.txt



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值