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

2023-10-18 11:35:42 浏览数 (1)

温故知新

  • bash解释器交互式环境特性
    • 历史命令
        • 别名:把一个命令选项参数或这种命令组合成选项或者参数形式赋值给一个变量
    代码语言:javascript复制
    # alias egon='ls /etc/sysconfig/network-scripts/'     #建立别名
    取消别名的三种方式
    # unalias XXX   
     xxx          #转译
    /a/b/c/d/xxx   #使用文件的绝对路径
代码语言:javascript复制
// 1、查看历史命令
[ rootaxxx │ ]# history

// 2、清空历史命令
[ rootaxxx │ ]# history -c

[root@localhost ~]# vim ~/.bash_history      #编辑删除历史命令
  • 命令查找的优先级
代码语言:javascript复制
绝对路径
alias
复合命令:for、if、while
函数:function
内置命令
hash
PATH
  • 查看帮助信息
  • man 命令 命令 --help help 命令
  • 常用命令
  • 设置主机名
代码语言:javascript复制
hostnamectl set-hostname xxx          #永久修改主机名
其实就是修改 /etc/hostname里面的文件
  • 查看操作系统版本信息
代码语言:javascript复制
[root@localhost ~]# cat /etc/redhat-release
  • 查看操作系统内核版本
代码语言:javascript复制
[root@localhost ~]# uname -r
  • 查看所有信息
代码语言:javascript复制
[root@localhost ~]# uname -a
  • 设置时间
代码语言:javascript复制
nptdate ntp服务器的域名
  • 设置操作系统启动级别为3
代码语言:javascript复制
systemctl set-default multi-user.target
  • 关机
代码语言:javascript复制
init 0
shutdown -h 3
  • 重启
代码语言:javascript复制
init 6
shutdown -r 3
  • 取消正在进行的关机或重启
代码语言:javascript复制
shutdown -c
  • 查看命令文件的路径
代码语言:javascript复制
which 命令
  • 查看当前所在文件夹
代码语言:javascript复制
[root@localhost ~]# pwd
  • 管道=》共享内存
代码语言:javascript复制
命令1 | 命令2 # 命令1会把结果放入管道,命令2从管道中取出结果做后续处理 

一:目录结构

  • 目录=》文件夹:存放的是具体有哪些文件
    • 文件:  存放的就是具体的数据
    • 软连接=>就是快捷方式
  • 所有linux 操作系统的顶点目录
代码语言:javascript复制
[root@localhost ~]# ls -l /
  • 命令相关目录
代码语言:javascript复制
lrwxrwxrwx.   1 root root    7 9月  24 03:20 bin -> usr/bin       # 普通用户使用的命令
  • 启动目录
代码语言:javascript复制
dr-xr-xr-x. 5 root root 4096 Feb 11 19:06 boot      存放的启动相关的文件, 例如kernel,grub
  • 系统文件目录
代码语言:javascript复制
drwxr-xr-x. 13 root root 4096 Jul 11 2019 usr          #系统文件相当于c:windows
  • 用户家目录
代码语言:javascript复制
~ #代表当前用户的家目录
  • 配置文件目录
  • /etc/hostname 主机名的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 # 网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/resolv.conf # 指定远程DNS的地址 /etc/hosts # 本机的域名解析文件
  • 设备目录文件
代码语言:javascript复制
    /dev/cdrom 光盘设备:光盘里存放的内容都在这里面,以后用来为我们的操作系统补充包-》加油站
    /dev/null 黑洞文件:把不想要显示的内容丢入黑洞
   
  • 虚拟文件目录
代码语言:javascript复制
# 与网络参数优化相关的文件都在该文件夹下面
    [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
  • 可变的目录与临时目录
  • 设备挂载目录
代码语言:javascript复制
    挂载点
    /mnt
    /opt
    /media
  • 其他一些重要的目录
  • 二:切换文件夹与pwd查看当前所在的文件夹 [root@web01 /]# cd /etc/sysconfig/network-scripts/ [root@web01 network-scripts]# pwd /etc/sysconfig/network-scripts 三:路径
代码语言:javascript复制
    # 日志存在的路径
    /var/log
    
    # 查看日志
    [root@web01 ~]# tail -f /var/log/messages 
    
  • 绝对路径:路径是从根开始的,即/作为前缀
代码语言:javascript复制
linux系统 /a/b/c/d/new.txt
windows系统 C:abcdnew.txt
  • 相对路径:路径不是从根开始的
  • 四:文件管理基础命令
代码语言:javascript复制
linux系统 c/d/new.txt
windows系统 abcdnew.txt
  • ls -l 文件 # 查看的指定文件的列表信息 ls -l 文件夹 # 查看的文件夹下的子文件与子文件夹的列表信息 ls -dl 文件夹 # 查看指定的文件夹的列表信息 ls -a # 查看包括隐藏文件在内的所有文件
代码语言:javascript复制
    pwd # 查看当前所在的文件夹
    cd  
    cd ~ # 家目录
    cd - # 切到上一次所在的文件夹
代码语言:javascript复制
    - 文本文件
    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
代码语言:javascript复制
        [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                        
  • 删除
代码语言:javascript复制
rm -rf 文件
rm -rf 目录
  • 复制文件 cp 源路径 目标路径
代码语言:javascript复制
        [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]# 
  • 复制文件夹
代码语言:javascript复制
cp -r 源文件夹 目标文件夹  # 目标文件夹下面有一个子文件夹:源文件夹
        cp -r 源文件夹/* 目标文件夹  # 把源文件下的子孙们都拷贝到目标文件夹下
        [root@web01 test]# cp -r /boot/* /test/
代码语言:javascript复制
[root@localhost /]# cp -r /etc/ /opt/       复制文件夹必须-r
代码语言:javascript复制
cp -r          只能在超级管理员账户下拷贝文件
cp -f          当前用户对目标文件夹/test1有写(wx)但是当前用户对目标文件没有写权限,在拷贝的时候可以加-f选项,-f选项会先执行
cp -i        交互式
  • 移动文件夹
  • mv  源文件(夹)路径 目标文件(夹)路径

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

0 人点赞