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

文件管理

一:前言

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

文件扩展名

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

/dev/cdrom 光盘设备:
/dev/null 黑洞文件:把不想要显示的内容丢入黑洞
/etc/hostname 主机名配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33

posted @ 2021-07-03 15:19  郝怕怕  阅读(62)  评论(0)    收藏  举报