zoukankan      html  css  js  c++  java
  • 003 系统的结构目录、pwd、cd、ls、tree、mkdir、touch

    文件管理概述

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

    系统的目录结构

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

    必知必会的目录及文件

    • /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
    
  • 相关阅读:
    Vmware
    Centos8
    Jmeter系列(37)- 详解 ForEach控制器
    【解决】k8s 1.15.2 镜像下载方案
    【解决】MacOS下 Python3.7 使用 pyinstaller 打包后执行报错 Failed to execute script pyi_rth__tkinter
    【解决】venv 的名字在 zsh prompt 中不显示
    【解决】could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
    《Linux 性能优化实战—倪朋飞 》学习笔记 CPU 篇
    【解决】MongoDB 线上业务处理,数据去重脚本实现
    【解决】docker 容器中 consul集群问题处理
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14482500.html
Copyright © 2011-2022 走看看