003 系统的结构目录、pwd、cd、ls、tree、mkdir、touch

目录

文件管理概述

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

系统的目录结构

在Linux中,所有的文件或者目录的起点或者顶点都是以/开始的
linux的目录结构就像是一个倒挂的树形结构

003  系统的结构目录、pwd、cd、ls、tree、mkdir、touch

必知必会的目录及文件

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /sbin:存放系统命令的目录 需要管理员权限才可以执行的命令

  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

    • /dev/cdrom	#光盘镜像
      /dev/null	#黑洞设备	将一些不用的数据导入到黑洞设备
      /dev/zero	#字符设备	会源源不断的产生数据,字符
      /dev/random	#产生随机数的设备
      
      #磁盘设备及分区
      /dev/sda
      /dev/sda1
      /dev/sda2
      /dev/sda3
      
  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

    • /etc/sysconfig/network-scripts/ifcfg-*	#查看网卡配置文件
      /etc/hosts#	本地域名解析文件	#记录ip地址与主机名的对应映射关系
      /etc/resolv.conf	#本地DNS配置文件
      /etc/fstab	#挂载设备目录配置文件	开机自启动挂载列表
      /etc/hostname	#主机名字配置文件
      
  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

    • /lib #库文件目录 32位库文件
      /lib64 #库文件目录 64位库文件
  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc

    虚拟可变的目录 记录了系统的实时状态-->类似于汽车的仪表盘

  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux
    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv
    物理设备所产生的一些文件

  • /sys

    物理设备的驱动信息文件

    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp
    公共临时目录 公共场所 只能针对自己的文件进行操作 系统会定时的删除这个目录下长时间没有访问的文件

  • /usr

    /usr #系统目录 系统文件目录 跟windows目录一样
    /userlocal #系统软件安装目录 跟windows的一样

  • /usr/bin:
    系统用户使用的应用程序。

  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:
    内核源代码默认的放置目录。

  • /var

    这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

    /var/log	#系统日志存放目录
    /var/log/messages	#系统级别日志
    /var/log/secure	#用户登录日志
    /var/tmp	#程序运行时所产生的一些进程文件
    
  • /run
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

  • stderr -> /proc/self/fd/2 #错误输出2>
    stdin -> /proc/self/fd/0 #标准输入<
    stdout -> /proc/self/fd/1 #标准输出>

路径的定位

#包含整个文件名称及文件的位置	这样的定位称之为路径
#路径就是对于文件的定位的一种方式
#每个目录下都有一个.和..

.	#表示的是当前所在的目录
..	#当前目录的上一级目录
./	#用于表示当前目录
../	#从当前目录的上一级目录开始
#什么是决定路径	什么是相对路径
#绝对路径:	凡是以/开始的路径就是绝对路径	或者以~为开头的路径也是绝对路径
#相对路径:	不是以/开头的路径就是相对路径	针对当前路径而言的

文件管理基础命令

pwd

显示当前工作目录的绝对路径,通俗点就是:告诉我,你在哪里

cd

切换路径,没有什么选项可用

[root@localhost ~]# cd	#直接切换到当前用户的家目录,等价于cd ~
[root@localhost ~]#

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

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


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

cd	-	切换到上一次所在的目录,快速的到达上一次的命令

ls

显示文件或者目录的列表信息 相当于windows双击一次打开目录

#常用选项
-l	#以长格式显示文件的详细信息
-i	#显示文件或者目录的inode信息
-h	#以字节大小的形式显示文件的大小
-a	#显示所有的文件,隐藏文件,所有以点开头的文件就是隐藏文件
-S	#以文件大小进行排序
-t	#根据时间进行排序,最新的时间在最上面
-r	#倒序
-F	#给不同的文件加上不同的标识符
	/	#目录
	*	#可执行文件
	=	#表示的是套接字文件	socket文件
	|	#管道文件
-1	#以行的形式显示文件的名称

tree

以树状形式显示目录列表,默认不显示隐藏文件

#常用选项
-a	#显示所有文件或者目录	隐藏文件
-d	#只显示目录的数量和信息
-h	#显示所有文件的大小
-F	#给不同类型的文件加上标识符
		/	#目录
	*	#可执行文件
	=	#表示的是套接字文件	socket文件
	|	#管道文件
-L+数字	#显示级别

mkdir

创建目录的命令

#常用参数
-p	#创建出具有层级关系的目录,当目录已经存在的时候,不报错
-v	#显示创建的过程,几乎很少加

-m	#创建的时候设置权限
mkdir -m 700 data02

{}	#生成序列	有规律和无规律,有规律用..分隔,无规律,分隔
mkdir test/data{01..10}#批量创建10个目录
mkdir test/oldboy-{a..g}
#无规律的用,分隔

touch

创建文件 创建空文件 当文件已经存在时,会改变文件的时间戳

在linux系统中,创建文件是会区分大小写的,可以区分a,A;在windows中不会区分大小写,不可能存在A,a一样的文件夹。

#参数
-a	#修改读取时间(atime)
-m	#修改修改时间(mtime)
-d	#同时修改atime与mtime
上一篇:Linux命令


下一篇:mkdir --help