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. css3 压缩及验证工具

    1.css w3c统一验证工具 网址:http://www.csstats.com/ 如果你想要更全面的,这个神奇,你值得拥有: w3c统一验证工具:http://validator.w3.org/u ...

  2. 分布式系统监视zabbix讲解六之自定义监控项

    概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在 ...

  3. python中的方向控制函数

    方向控制函数:控制海龟方向,包含绝对角度&海龟角度 改变海龟运行方向,让海龟转向 angle :改变行进方向,将海归运行方向改变为某一个绝对的角度 例如 将坐标系中的海龟方向改变为绝对系中的4 ...

  4. 科普,想成为厉害的 Java 后端程序员,你需要懂这些

    站在运筹帷幄的角度来看,一名厉害的 Java 后端程序员都需要懂得哪些知识呢?我想,这也是很多读者迫切想知道的一个问题,因为如果不站在一个宏观的角度的话,所有学过的知识点都是零散的,就感觉像一只迷路的 ...

  5. 详细分析 Java 中实现多线程的方法有几种?(从本质上出发)

    详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnabl ...

  6. XSS平台简单使用

    XSS常用语句及编码绕过 XSS常用的测试语句有: <script>alert(1)</script> <img src=x onerror=alert(1)> & ...

  7. 记一次数据库主从导致严重的bug解决过程

    1.事情起始: 我们每个月要给商家进行出账,所以有定时任务去跑商家的订单和售后进行出账,这个功能已经上线很久了,代码执行多次都没问题,突然有一天,产品找我说出现bug了: 这时,去生产库查询重复的订单 ...

  8. LeetCode刷题总结-动态规划篇

    本文总结LeetCode上有动态规划的算法题,推荐刷题总数为54道.具体考点分析如下图: 1.中心扩展法 题号:132. 分割回文串 II,难度困难 2.背包问题 题号:140. 单词拆分 II,难度 ...

  9. 【题解】小Z的袜子

    期末考试结束了,来写写blog吧 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具 ...

  10. [Java 开源项目]一款无需写任何代码,即可一键生成前后端代码的工具

    作者:HelloGitHub-小鱼干 JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发.JeecgBoot 采用开发模式:Online Coding 模式-> 代码生成器模式 ...