文件管理-初级------------------钱塘依旧,潮生潮落

文件管理

一:前言

 一切皆文件的设计思想
 绝对路径与相对路径

文件扩展名

 #  Linux 文件没有扩展名!!!
 linux以 ls -l查询时第一个字符区分文件类型
 方法一:
 ls -l 文件名  //看第一个字符
 - 普通文件(文本、二进制、压缩文件、电影、图片...例如:/bin/ls
 d 目录文件(蓝色) 例如 /home/
 b 设备文件(块设备)存储设备硬盘,U盘  例如:/dev/sda/
 c 套接字文件 例如:/run/rpcbind.sock
 p 管道文件 例如:/run/systemd/initctl/fifo
 l 链接文件(淡蓝色) 例如:/bin
 # ps: 通过颜色判断文件的类型是错误的
 ​
 方法二:
 [root@xxx ~]# file /etc/grub.conf
 ​

bash shell对文件进行管理

 1.创建
 2.复制
 3.删除
 4.移动
 5.查看
 6.编辑
 7.压缩
 8.权限操作
 9.查找

目录结构

 文件夹:存放的是具体有哪些文件
   文件:存放的就是具体的数据
     根目录:顶级目录
     windows系统:多根目录  c:\b\c\d.txt
     linux系统:单根机构  /a/b/c/d.txt
 ​
 # /boot 启动引导相关文件
 ​

设备目录文件

 # /dev/cdrom  设备相关目录文件
 光盘里存放的内容都在这里面,以后用来为我们操作系统补充包->类似加油站
 sda  scasi接口,硬盘,第一个分区
 cdrom  光盘     sr0   光盘
 # /dev/null 黑洞文件 只进不出,把不想要的显示和无用的内容丢入黑洞
 # /dev/pts/0 虚拟的bash shell终端,提供给远程用户使用,0代表第一个终端,1代表第二个终端     tty去查询
 ​
 /etc/hostname  主机名的配置文件
 /etc/sysconfig/network-scripts/ifcfg-eth0  网卡配置文件
 /etc/sysconfig/network-scripts/ifcfg-eth1
 /etc/resolv.conf     指定远程DNS的地址
 /etc/hosts           本机的域名解析文件
 /home/普通用户的家目录
 /root/root的家目录
 # /media/ /opt/ /mnt/ 挂载目录
 # var 日志文件
 查看日志的命令: tail -f /var/log/messages
 #tmp 临时放置文件,一定时间点会自动清除,理解为回收站
 # 网络参数优化
 ​

绝对路径与相对路径

 从根开始写的路径就是绝对路径,否则就是相对路径 

文件操作基础命令

 pwd 查看当前目录
 cd 切换目录。默认切换回家目录~
 cd - 切换上次文件夹
 cd .. 切换到上级目录
 ls -l  文件    查看指定文件的列表信息
 ls -l 文件夹   查看文件夹下的子文件与子文件夹的列表信息
 ls -dl 文件夹   查看指定的文件夹的列表信息
 ls -a           查看包括隐藏文件在内的所有文件
 ​
 # tree 看层级结构树状形态
 tree /etc/
 tree -a /etc/  显示所有文件,包括隐藏文件
 tree -d /etc/  只显示子目录
 tree -L 1  只指定1级显示子目录。遍历目录的最大层数
 tree -F   在条目后加上文件类型
 ​
 ​
 ​

创建文件

 #  touch  创建的永远是文本文件
 ​

删除文件

 rm -rf 
 rm -rf /boot/*  boot下全部删除
 rm -rfv      v代表返回信息,都删除了哪些

创建文件夹

 #  make diretory    mkdir 创建文件夹
 mkdir -p   递归创建文件夹
 mkdir -p /a/b/c

复制文件

 #  cp 源路径 目标路径
 cp /etc/password/ /test/h.txt
 cp /etc/password/ ./h.txt
 # cp -r 拷贝文件夹必须 -r
 cp -r 源文件夹  目标文件夹   常规拷贝
 # cp -r 源文件夹/* 目标文件夹   将源文件夹下面所有子孙拷贝过来
 ​
 cp -a   尽可能保持原有文件属性和结构
 cp -f   如果需要,删除已存在的目的文件。当前用户对目标文件夹/test1 有wx权限,但是当前用户对目标文件/test1/a.txt没有w权限。在拷贝的时候可以加 -f选项, -f 选项会先执行rm -f /test1/a.txt,再cp/test/a.txt /test1/
 cp -i  交互式    cp -if f的作用是先删除,在创建

移动文件夹

 mv 源    目标
 mv 源/*   目标   将文件夹下面的所有文件移动到目标文件夹下面
 ​

查看文件

 cat  查看文件内容
 cat -n   查看文件内容并显示行号
 cat -A   查看文件内容包括显示控制字符(换行符)
 head   查看文件头10行
 head -3 查看文件头3行
 tail   查看文件末尾10行
 tail -3 查看文件末尾3行
 tail -4 a.txt | head -2
 # tail -f a.txt 监控文件日志新增内容
 less       上下键可以上下翻页看
 more       空格键一页一页百分比查看
 # echo 111 >> a.txt   追加新数据

vim编辑器

1.什么是vim

 可以理解为windows下面的文本编辑器,比如记事本,word文档
 它可以执行输出、删除、查找、替换、块操作等众多文本操作,可以根据自己的需求进行定制,其他编辑程序所没有的
 不能排版,只是一个文本编辑程序,没有菜单,只有命令,且命令繁多

2.为何要用vim

 写脚本
 ​

3.vi 与vim的区别

 vi不显示高亮语法
 vim有高亮语法
 其他没什么区别
 ​

4.vi编辑器的操作模式

 #  命令模式   输入模式   末行模式
 输入模式: a i o 等键
 进入文本默认为命令模式,按a i o等键进入输入模式,esc推出输入模式
 :键进行末行模式,可以输入:wq或q!退出
 root不受权限压制,在只读文件下,也可以wq!强制保存退出
 # / 搜索筛选项 高亮显示

4.1在vim编辑器中光标的移动

 $ 光标移动到当前行的结尾
 0 光标移动到当前行的开始

4.2在命令模式下删除与复制的操作

 dd  删除光标所在的哪一行   #也可作为剪切配合p使用
 ndd  n为数字,删除光标所在的向下N行,20dd删除光标下20行
 yy  复制光标所在的哪一行
 nyy   n为数字,复制光标所在的向下n行,20yy复制20行

4.3粘贴命令

 P   将已复制的数据在光标下一行粘贴  大写
 p   将已复制的数据在光标上一行粘贴  小写

4.4复原和重做命令

 u  复原前一个操作,返回一个意思
 ctrl + r  重做上一次操作

4.5掌握扩展模式下常用命令

 :w   将文件存入硬盘
 :q  退出编辑器不保存
 :wq  保存并退出

4.6掌握快速移动光标在文件中的位置的命令

 G   光标移动到这个文件的最后一行
 nG  n为数字,光标移动到这个文件的第N行
 gg  移动到这个文件的第一行,相当于 1g

4.7掌握快速在屏幕中移动光标位置的命令

 H  光标移动到这个屏幕的最上方哪一行的第一个字符
 M  光标移动到这个屏幕的中央哪一行的第一个字符
 L  光标移动到这个屏幕的最下面哪一行第一个字符

4.8批量加注释和删注释

 前提是整齐排列
 # 删注释:
 ctrl + v 进入可视块模式
 上下键选中#号
 按d删除
 # 加注释:
 将光标移动到首行的开头位置
 在命令模式,按下ctrl + v 进入可视块模式
 上下键选中第一列
 shift + i 然后输入 #
 连续按两下esc
 ​

三种模式下的操作与汇总

 #vim -o 可打开双文件模式对比
 末行模式: S模式
 查找和替换:
 #   :范围 s/old/new/选项(g)
 范围:  %全局    1,3就是1-3行   3,$就是3-最后一行
 :范围  s/old/new/选项(g)  
          ^old  以old开头    old^   以old结尾
 :范围  s/'^old$'/new/选项(g)  
          ^old  以old开头 和   old$  删选条件,开头可删除# 注释符号
   :范围  s/old/new/'选项(g)'
 最后一个参数如果不写,只替换每一行第一个,填上g全部替换
 ​
 # 末行模式: w模式
 :3,5  w /root/aaa.txt
 将此文件内容的3-5行写入新的文件
 ​
 # 末行模式: r模式
 :r /root/aaa/txt
 将外部文件写入当前文件中,光标在哪里就在哪里添加
 ​
 设置行号         :set nu
 不区分大小写      :set ic
 自动缩进          :set ai
 置行号           :set list
                  :set nonu
 永久环境: vim ~/etc/.vimrc  
 输入:  set ic   set nu
 ​
         



posted @ 2021-06-25 18:34  郝怕怕  阅读(168)  评论(0)    收藏  举报