目录结构、路径、文件处理

 

温故知新

  • bash解释器交互式环境特性
    • 历史命令
        • // 1、查看历史命令
          [ rootaxxx │ ]# history
          
          // 2、清空历史命令
          [ rootaxxx │ ]# history -c

          [root@localhost ~]# vim ~/.bash_history #编辑删除历史命令
          // 3、历史命令保存文件: cat ~/.bash_history

          //4、查找历史命令并运行

          [root@localhost ~]# !$       #引用上一个命令的参数

          [root@localhost ~]# !1       #执行历史命令中第1条命令

          Ctrl+r                       #//搜索历史命令

        • 别名:把一个命令选项参数或这种命令组合成选项或者参数形式赋值给一个变量
          # alias egon='ls /etc/sysconfig/network-scripts/'     #建立别名
          取消别名的三种方式
          # unalias XXX
          \xxx #转译
          /a/b/c/d/xxx #使用文件的绝对路径
  • 命令查找的优先级
  • 绝对路径
    alias
    复合命令:forifwhile
    函数:function
    内置命令
    hash
    PATH
  • 查看帮助信息

  • man 命令
    命令 --help
    help 命令

  • 常用命令
  • 设置主机名
  • hostnamectl set-hostname xxx          #永久修改主机名
    其实就是修改 /etc/hostname里面的文件
  • 查看操作系统版本信息
  • [root@localhost ~]# cat /etc/redhat-release
  • 查看操作系统内核版本
  • [root@localhost ~]# uname -r
  • 查看所有信息

  • [root@localhost ~]# uname -a
  • 设置时间
  • nptdate ntp服务器的域名

    date -s "2022-12-11 11:11:11" # 设置的是系统时间
    hwclock -w # 把系统时间刷新到硬件中

  • 设置操作系统启动级别为3
  • systemctl set-default multi-user.target

     

  • 关机
  • init 0
    shutdown -h 3

     

  • 重启
  • init 6
    shutdown -r 3

     

  • 取消正在进行的关机或重启

  • shutdown -c

     

  • 查看命令文件的路径
  • which 命令

     

  • 查看当前所在文件夹
  • [root@localhost ~]# pwd

     

  • 管道=》共享内存
  • 命令1 | 命令2 # 命令1会把结果放入管道,命令2从管道中取出结果做后续处理 

     

一:目录结构

  • 目录=》文件夹:存放的是具体有哪些文件
    • 文件:  存放的就是具体的数据
    • 软连接=>就是快捷方式
  • 所有linux 操作系统的顶点目录

  • [root@localhost ~]# ls -l /

     

  • 命令相关目录
  • lrwxrwxrwx.   1 root root    7 9月  24 03:20 bin -> usr/bin       # 普通用户使用的命令

    lrwxrwxrwx. 1 root root 8 9月 24 03:20 sbin -> usr/sbin             #管理员使用的命令

     

  • 启动目录
  • dr-xr-xr-x. 5 root root 4096 Feb 11 19:06 boot      存放的启动相关的文件, 例如kernel,grub

     

  • 系统文件目录
  • drwxr-xr-x. 13 root root 4096 Jul 11 2019 usr          #系统文件相当于c:\windows
    lrwxrwxrwx. 1 root root 7 Jul 11 2019 lib -> usr/lib     #库文件Glibc
    lrwxrwxrwx. 1 root root 9 Jul 11 2019 lib64 -> usr/lib64 #库文件Glibc

     

  • 用户家目录
  •  

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

    /home/以普通用户名命名的文件-----》普通用户的家目录
    /root----------------------------> root的家目录

     

  • 配置文件目录
  •  

  •     /etc/hostname 主机名的配置文件
        /etc/sysconfig/network-scripts/ifcfg-eth0  # 网卡的配置文件
        /etc/sysconfig/network-scripts/ifcfg-eth1
        
        /etc/resolv.conf  # 指定远程DNS的地址
        /etc/hosts        # 本机的域名解析文件
        
    
  • 设备目录文件
  •  

  •     /dev/cdrom 光盘设备:光盘里存放的内容都在这里面,以后用来为我们的操作系统补充包-》加油站
        /dev/null 黑洞文件:把不想要显示的内容丢入黑洞
       

     

  • 虚拟文件目录
  • # 与网络参数优化相关的文件都在该文件夹下面
        [root@web01 ~]# ls /proc/sys/net/ipv4/ | grep backlog
        tcp_max_syn_backlog
        [root@web01 ~]# cat /proc/sys/net/ipv4/tcp_max_syn_backlog 
        128

     

  • 可变的目录与临时目录
  • 设备挂载目录
  •     挂载点
        /mnt
        /opt
        /media

     

  • 其他一些重要的目录
  •     # 日志存在的路径
        /var/log
        
        # 查看日志
        [root@web01 ~]# tail -f /var/log/messages 
        

    二:切换文件夹与pwd查看当前所在的文件夹

    [root@web01 /]# cd /etc/sysconfig/network-scripts/
    [root@web01 network-scripts]# pwd
    /etc/sysconfig/network-scripts

    三:路径

  • 绝对路径:路径是从根开始的,即/作为前缀

  •  

    linux系统 /a/b/c/d/new.txt
    windows系统 C:\a\b\c\d\new.txt

     

  • 相对路径:路径不是从根开始的

  •  

    linux系统 c/d/new.txt
    windows系统 a\b\c\d\new.txt

    四:文件管理基础命令

  •     pwd # 查看当前所在的文件夹
        cd  
        cd ~ # 家目录
        cd - # 切到上一次所在的文件夹
        ls -l 文件  # 查看的指定文件的列表信息
        ls -l 文件夹 # 查看的文件夹下的子文件与子文件夹的列表信息
        ls -dl 文件夹  # 查看指定的文件夹的列表信息
        ls -a          # 查看包括隐藏文件在内的所有文件

     

  •  

     

        - 文本文件
        d 目录/文件夹
        
        补充:linux系统不是以文件的后缀名来区分文件类型的,而是以ls -l的首位来区分
        

     

  •  

     

  •  

     

 

五:创建、复制、移动、删除

 

  • 创建文件
  • touch
  •  

  •    touch /tmp/d.txt  # 创建出的是普通文本文件,与后缀名无关
            
            touch {a,b,m,n,1,10}.txt
            
            touch {1..9}.txt
            touch {1..9}{a..c}.txt     #排列组合
  • 创建目录:mkdir
  •  

     

     

     

  •         [root@web01 opt]# mkdir /test
            [root@web01 opt]# cd /test/
            [root@web01 test]# 
            [root@web01 test]# pwd
            /test
            [root@web01 test]# mkdir /test/a /test/b
            [root@web01 test]# ls
            a  b
            [root@web01 test]# mkdir /test/{c,d}
            [root@web01 test]# ls
            a  b  c  d
            [root@web01 test]# 
            [root@web01 test]# 
            [root@web01 test]# mkdir -v {mmm,nnn}
            mkdir: 已创建目录 "mmm"
            mkdir: 已创建目录 "nnn"
            [root@web01 test]# 
            [root@web01 test]# mkdir /a/b/c
            mkdir: 无法创建目录"/a/b/c": 没有那个文件或目录
            [root@web01 test]# mkdir -p /a/b/c                        

     

  • 删除

    rm -rf 文件
    rm -rf 目录

     

  • 复制文件
    cp 源路径 目标路径

  •         [root@web01 test]# cp /etc/passwd 
            cp: 在"/etc/passwd" 后缺少了要操作的目标文件
            Try 'cp --help' for more information.
            [root@web01 test]# cp /etc/passwd .  #  把文件passwd拷贝到当前文件夹下,新文件名不变
            [root@web01 test]# ls
            a  b  c  d  mmm  nnn  passwd
            [root@web01 test]# 
            [root@web01 test]# cp /etc/hosts /test/h.txt # #把文件passwd拷贝到/test文件夹下,新文件名为h.txt
            [root@web01 test]# # cp /etc/hosts ./h.txt  # 同上
            [root@web01 test]# ls
            a  b  c  d  h.txt  mmm  nnn  passwd
            [root@web01 test]# cat h.txt 
            127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
            ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
            [root@web01 test]# 

     

  • 复制文件夹
  • cp -r 源文件夹 目标文件夹  # 目标文件夹下面有一个子文件夹:源文件夹
            cp -r 源文件夹/* 目标文件夹  # 把源文件下的子孙们都拷贝到目标文件夹下
            [root@web01 test]# cp -r /boot/* /test/

     

  • [root@localhost /]# cp -r /etc/ /opt/       复制文件夹必须-r

    [root@localhost /]# cp -r boot/* /opt/      只复制子文件和子文件夹

     

     

  • cp -r          只能在超级管理员账户下拷贝文件
    cp
    -f 当前用户对目标文件夹/test1有写(wx)但是当前用户对目标文件没有写权限,在拷贝的时候可以加-f选项,-f选项会先执行
    cp -i 交互式

     

  •  

     

  • 移动文件夹
  • mv  源文件(夹)路径 目标文件(夹)路径

六、 文件管理之查文件内容

 

posted @ 2020-10-21 22:55  贾维斯Echo  阅读(279)  评论(0编辑  收藏  举报