2020.10.21星期三  正式班D12

一、目录结构

  1. 系统目录结构

    1. 目录

     文件夹:存放的是具体有哪些文件
    
     文件:存放的就是具体的数据
    1. 需要记住的

      /dev/cdrom # 光盘设备,光盘里存放的内容都在这里,以后用来为我们的操作系统补包

      /dev/null # 黑洞文件:把不想要显示的内容丢入黑洞

      /etc/hostname # 主机名的配置文件

      /etc/sysconfig/network-scripts/ifcfg-eth0 # 网卡的配置文件

      /etc/resolv.conf # 指定远程DNS地址

      /etc/hosts # 本机域名解析文件

      /home/ # 以普通用户命名的文件夹 # 该普通用户的家目录

      /root # root的家目录

      ~ # 代表当前用户的家目录

      挂载点

      ​/mnt

      /opt

      /tmp

      /media

      /proc/sys/net/ipv4/ # 与于网络参数优化相关的文件

      /var/log/ # 查看日志

      tail -f /var/log/messages # 动态查看日志

    2. 其他

      1. 系统相关目录

        1. bin->usr/bin # 普通用户使用的命令,如ls、date
        2. sbin->usr/sbin # 管理员使用的命令
      2. 启动目录

        1. boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)
      3. 系统目录文件

        1. usr # 系统文件,相当于C:\Windows
        2. lib->usr/lib # 库文件Glibc
        3. lib64->usr/lib64 # 库文件Glibc
      4. 用户家目录

        1. home # 普通用户家目录
        2. root # root用户的HOME
      5. 配置文件目录

      etc # 配置文件,很重要,系统级服务配置文件都在这里

        1. /etc/sysconfig/network-scripts/ifcfg-eth0  # 网络配置文件
      2. /etc/hostname # 系统主机名配置文件
      3. /etc/resolv.conf # DNS客户端配置文件
      4. /etc/hosts # 本地域名解析配置文件
      1. 设备目录文件

      dev # 设备文件,如/dev/sda,/dev/sr0

        1. /dev/cdrom 和/dev/sr0  # 系统光盘镜像设备
      2. /dev/null # 黑洞设备
      3. /dev/random # 生成随机数的设备
      4. /dev/zero # 源源不断产生数据(类似取款机,随时随地取数据)
      5. /dev/pts/0 # 虚拟的*Bash Shell*终端,提供给远程客户使用(*0*代表第一个终端,*1*-->第二个终端)
      6. /dev/stderr # 错误输出
      7. /dev/stdin # 标准输入
      8. /dev/stdout # 标准输出
      1. 虚拟文件系统

      proc # 虚拟的文件系统,反应的是内核,进程信息和实时状态

      1. 可变的目录与临时目录

      var # 存放变化文件,如数据库、日志、邮件

        1. /tmp  # 系统临时目录(类似垃圾桶),系统定时删该目录下长时间未访问的文件
      2. /var # 存放变化文件
      3. /var/lib/mysql # mysql
      4. /var/ftp # vsftbd
      5. /var/spool/mail # mail
      6. /var/spool/cron # cron
      7. /var/log 系统日志文件存放目录 # log
      8. /var/tmp # 临时文件(主要是程序产生的临时文件)
      1. 设备(主要指存储设备)挂载目录

        1. media # 移动设备默认的挂载点
        2. mnt # 手工挂载设备的挂载点
        3. opt # 早期第三方厂商的软件存放目录
        4. tmp # root用户的HOME
      2. 其他

        1. lost+found # 孤儿文件
        2. run # 存放程序运行后所产生的pid文件
        3. srv # 物理设备产生的一些文件
        4. sys # 硬件设备的驱动程序信息
  2. 补充命令

    1. cd # 切换文件夹
    2. pwd # 查看当前所在的文件夹
    3. cat # 查看文件内容
    4. stat查看Linux的三种时间
      1. 访问时间:atime,查看内容,用cat检测
      2. 修改时间:mtime,修改内容
      3. 改变事件:ctime,修改内容、权限等都会改变
  3. 路径

    1. 绝对路径

      路径是从根开始的,即/作为前缀

      Linux系统:/a/b/c/d/new.txt

      Windows系统:C:\a\b\c\d\new.txt

    2. 相对路径

      路径不是从根开始的

      Linux系统c/d/new.txt

      Windows系统a\b\c\d\new.txt

二、文件管理

  1. 命令

    1. pwd # 查看当前所在的目录

    2. cd # 切换目录

      1. cd - # 返回上次目录
      2. cd # 直接回家,等同于cd ~
      3. cd . # 保持当前目录不变
      4. cd .. # 切换到当前目录的上一级目录
    3. ls # 浏览

      1. ls # 默认浏览当前目录
      2. ls -l 目录 # 浏览目录下的子目录及子文件名的详细信息
      3. ls -al 目录 # 浏览的结果包含隐藏文件
      4. ls -dl 目录 # 查看目录
    4. tree # 查看目录树(需先安装tree命令,执行yum install tree -y)

      1. tree -a 目录 # 显示所有文件,包括隐藏文件
      2. tree -d 目录 # 只显示子目录
      3. tree -L 1 目录 # -L:遍历目录的最大层数,后面跟大于0的整数
      4. tree -F 目录 # -F:在条目后加上文件类型的指示符号,如目录后会加上左斜杠/
      5. 其他
        1. -C # 在文件和目录清单上加上色彩,便于区分各种类型
        2. -D # 列出文件或目录的更改时间
        3. -f # 在每个文件或目录前,显示完整的相对路径名称
        4. -g # 列出文件或目录所属组的名称,没有对应名称则显示群组识别码
        5. -I # 不显示符合范本样式的文件或目录名称
        6. -P # 只显示符合范本样式的文件或目录名称
        7. -l # 遇到性质为符号连接的目录,直接列出该链接所指向的原始目录
        8. -s # 列出文件或目录大小
        9. -t # 用文件或目录的更改时间排序
        10. -u # 列出文件或目录的拥有者名称,没有对应名称则显示用户识别码
  2. 增删改查(创建、复制、移动、删除)

    1. 创建

      1. 创建文件(touch创建的是文本文件,后缀只是区分)

        1. 创建单个文件

          1. touch file1.txt # 无则创建,有则更新时间(相对路径)
          2. touch /root/a.txt # 无则创建,有则更新时间(绝对路径)
        2. 创建多个文件

          1. 用空格分开

            touch a.txt b.txt c.txt

          2. 用{}

            touch {d,e,f}.txt

            touch {1..3}.txt # 1.txt 2.txt 3.txt

            touch {1..2}{a..b}.txt # 1a.txt 1b.txt 2a.txt 2b.txt

      2. 创建文件夹(mkdir)

        1. 用空格分开

          mkdir /root/a /root/b

        2. 用{}

          mkdir /root/{a,b,c}

          mkdir -p a/b/c/d # 递归创建(a目录不存在)

    2. 删除

      rm -rf # r:删目录,f:强制删除

      *rm -rf ** # 删除当前目录下所有内容

      rm -rf /* # 删根

      rm -rf -i # i:交互

      rm -rf -v # v:提示过程

    3. 复制

      1. 复制文件

        cp 源文件 目标文件

      2. 复制文件夹

        cp -r

      3. 将某文件夹下所有文件复制到新文件夹

        cp -r /boot/ /test/* # 将boot目录下所有文件复制到/test/目录下

      4. 复制的同时保留原信息

        cp -a /home/jack/a.txt /mnt/b.txt

      5. 目标文件夹(有写、执行权限)中有同名文件(无写权限)

        cp -f /test/a.txt /test1/a.txt

        (实际步骤:先执行rm -rf /test/a.txt再执行cp /text/a.txt /text1/)

    4. 移动(相当于剪切)

      1. mv

        1. mv 源地址 目标地址
        2. 示例
          1. mv file2 /home/dir3 # 将file2移动到/home/dir3里
          2. mv file4 file5 # 将file4重命名为file5(当前位置的移动就是重命名)
      2. rm

        1. 示例

          cd /home

          rm -rf dir1 # 删除/home/dir1

        2. 常用搭配

          -r # 递归

          -f # force强制

          -v # 详细过程

  3. 查看文件内容(cat)

    1. 常用搭配

      1. -n # 显示行号
      2. -A # 包括控制字符(换行符),例如Linux中的$、Windows中的^M$
    2. 拓展

      1. dos2unix 文件 # 将Windows格式的文件转换成Unix格式
      2. unix2dos 文件 # 将Unix的文件转换成Windows格式
    3. less more head tail

      1. head /etc/passwd # 查看passwd文件的前十行(默认十行)

      2. head -2 /etc/passwd # 查看passwd文件的前两行

      3. tail /etc/passwd # 查看passwd文件的最后十行(默认十行)

      4. tail -2 /etc/passwd # 查看passwd文件的最后两行

      5. more /etc/passwd # 每次在屏幕上显示一屏(一页)内容,且在底部出现"-More-(n%)"的信息

        n%是指显示文件内容的百分比)按空格下一页,b上一页;more +40 a.txt表示从第40行开始查看

      6. less /etc/passwd # 屏幕上显示一屏(一页)内容,向下键一次翻一行

      7. logger yangsheng # 手动产生日志信息

      8. tail -4 a.txt | head -2 # 查看a.txt的倒数第三和第四行

      9. tail -f /var/log/messages # 动态查看文件的尾部

    4. grep

      针对文件内容进行过滤

      xxx | greb yyy

正式班D12的更多相关文章

  1. 正式班D5

    2020.10.10星期六 正式班D5 一.上节课复习 1.硬盘分类 ​ 1.机械磁盘 ​ io时间=平均寻道时间+平均延迟时间 ​ buffer:写缓冲区 ​ cache:都缓存 ​ 2.固态硬盘 ...

  2. 正式班D7

    2020.10.13星期二 正式班D7 一.上节课复习 Linux发展 批处理系统 多道技术 分时操作系统 multics->Unix->minix->Linux(如Redhat.c ...

  3. 正式班D8

    2020.10.15星期四 正式班D8 一.上节课复习 OSI七层协议 socket socket是对传输层以下的封装 IP+port标识唯一一个基于网络通讯的软件 TCP与UDP TCP:因为在通信 ...

  4. 正式班D9

    2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...

  5. 正式班D11

    2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...

  6. 正式班D13

    2020.10.22星期四 正式班D13 修改文件内容 vim编辑 vim基础 可理解为Windows下的文本编辑器 vim可用来修改配置.写脚本 三种模式(命令模式.输入模式.末行模式) 命令模式按 ...

  7. 正式班D14

    2020.10.23星期五 正式班D14 9.5 文件处理三剑客(支持|) 9.5.1 sed流式编辑器 事先制定好编辑文件的指令,让sed自动完成对文件的整体编辑(同一时间内存中只有文件中一条) # ...

  8. 正式班D16

    2020.10.27星期二 正式班D16 目录 9.9 字符处理命令 9.9.1 sort排序 9.9.2 uniq去重 9.9.3 cut处理规律文本 9.9.4 tr替换 9.9.5 wc统计 9 ...

  9. 正式班D20

    2020.11.02星期五 正式班D20 目录 11 软件包管理 11.1 软件包介绍 11.1.1 编程语言分类 11.1.2 三种安装包 11.2 rpm包管理 11.2.1 rpm包简介 11. ...

随机推荐

  1. java键对值SHA256加密接口请求

    import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.htt ...

  2. python函数小案例

    python函数 目录 python函数 1.写一个函数求三个数的和,并返回结果 2.写一个函数,求平均值,并返回结果 写一个函数,求每个数与平均值之间的差,并放回结果 1.写一个函数求三个数的和,并 ...

  3. 图灵机器人api的使用方法含微信版本和网页版

    访问图灵机器人官网http://www.tuling123.com/ 注册一个新的机器人账号 注册成功后转到主页 点击我的机器人>创建机器人>微信机器人 填写基本信息 点击微信介入> ...

  4. Keepalived服务详解

    1. VRRP协议 1.1 VRRP协议概述 VRRP协议的出现是为了解决静态路由的单点故障,它是通过一种竞选机制来将路由任务交给某个vrrp路由器的 在VRRP物理结构中,有多个物理的VRRP路由器 ...

  5. 12.深入k8s:kubelet创建pod流程源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 在上一篇中,我们知道在kubelet中,工作核心就是围绕着整个syn ...

  6. obj2opengl:转换OBJ 3D模型到iPhone OpenGL ES兼容的数组中

    原文如下:obj2opengl: convert obj 3D models to arrays compatible with iPhone OpenGL ES obj2opengl在GitHub中 ...

  7. 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述

    054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...

  8. Office远程代码执行漏洞(CVE-2017-11882)

    POC: https://github.com/Ridter/CVE-2017-11882/ 一.简单的生成弹计算器的doc文件. 网上看到的改进过的POC,我们直接拿来用,命令如下: #python ...

  9. c++缓冲区std::wstringbuf

    参考:http://www.cplusplus.com/reference/sstream/wstringbuf/ class <sstream> std::wstringbuf type ...

  10. 正则表达式查找“不包含XXX字符串”

    使用 当我要找到不包含某些字符串(如test)时, 可以使用 # 独立使用 (?!test). # 加头尾判断 ^((?!test).)*$ 原理 正则表达式的断言功能: (?=pattern) 非获 ...