day05文件编辑命令
mv命令:移动文件
mv命令:mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
格式:mv [原来的文件路径] [现在的文件路径]
mv命令后面既可以跟绝对路径也可以跟相对路径。
选项:
i :覆盖前提示 # 取消提示 \mv ./meng? /tmp ,原理是别名不生效
-b :当文件存在时,覆盖前,为其创建一个备份;
-f :若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
案例1:将ss.txt移动到/tmp目录下
[root@localhost ~]# mv ss.txt /tmp # 在当前目录中把ss.txt移动到/tmp目录下
[root@localhost ~]# cd /tmp # 切换到tmp目录下
[root@localhost tmp]# mv ss.txt me.txt # 把ss.txt重命名为me.txt
案例2:将/tmp/me.txt移动到/root目录中
[root@localhost ~]# mv /tmp/me.txt /root
案例3:将 /meng/nb目录移动到/tmp目录中
[root@localhost ~]# mkdir -p /root/meng/nb # 先创建多层目录
[root@localhost ~]# mv /root/meng/nb /tmp # 把nb目录移动到tmp目录中
案例4: 将/root/meng目录中所有文件移动到/tmp目录中
# 知识储备:
正则表达式
* : 代表所有的文件(匹配任意字符个数的内容)
?: 代表一个字符
[root@localhost ~]# cd meng
[root@localhost meng]# mkdir ss{1..10} # 在当前文件夹创建
[root@localhost meng]# mv /root/meng* /tmp
案例:5:将/root目录下的meng1~meng9移动到/tmp目录中
第一种方法:
[root@localhost ~]# touch meng{1..9}
[root@localhost ~]# mv /root/meng{1..9} /tmp
第二种方法:
[root@localhost ~]# touch meng{1..9}
[root@localhost ~]# mv /root/meng* /tmp # 使用*,*代表[文件名]所有
第三种方法:
[root@localhost ~]# mv ./meng? /tmp # 使用?,代表[文件名]1位的
案例6:创建20个文件,将/root目录下的meng1~meng9移动到/tmp目录中
[root@localhost ~]# touch meng{1..20}
[root@localhost ~]# mv ./meng? /tmp # 把[文件名]1位的移动到tmp目录里,2位的没动
案例7:将/root目录下meng1 ~ meng99 移动到/tmp目录中
[root@localhost ~]# mv ./abc{?,??} /tmp/
rm命令:删除信息
rm命令:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
# 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
格式:rm [选项] [被删除文件的路径]
# 在Linux中一切皆文件,在企业中是不允许删除文件的。最好不用rm命令。
选项:
-d: 直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f: 强制删除文件或目录;
-i: 删除已有文件或目录之前先询问用户;
-r或-R: 递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v: 显示指令的详细执行过程。
案例1:将/tmp/meng目录下所有的文件全部删除
[root@localhost ~]# touch /tmp/meng/meng{1..10} # 创建文件
[root@localhost ~]# \rm /tmp/meng/*
案例2:删除将/tmp/meng目录
[root@localhost ~]# rm -rf /tmp/meng # 删除文件夹用-r
案例3:将/tmp目录中,删除以meng开头的文件
[root@localhost ~]# touch /tmp/meng{1..10}
[root@localhost ~]# rm -f/tmp/meng* # 错误示例:-f后面要加空格
[root@localhost ~]# rm -f /tmp/meng*
在企业中不允许用rm命令:禁用的几种方法(*****)
第一种:修改别名的方式
[root@localhost ~]# alias rm = 'meng'
第二种:查看命令的真实路径:which
[root@localhost ~]# which rm
alias rm='rm -i'
/usr/bin/rm
[root@localhost ~]# cd /usr/bin
[root@localhost ~]# mv rm meng # 在文件里修改名称
vi编辑器
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
用来修改文件有两种:vi,vim(是vi的升级版)
vi/vim的三种模式:
命令模式 :vi 1.txt
末行模式 :shift + :
编辑模式 :i、a、o
格式:vim [选项] [被修改的路径]
vi/vim编辑器的原理:
1、vi xxx.txt(检查.xxx.txt.swp是否存在)
2、读取xxx.txt的内容
3、创建一个名为.xxx.txt.swp的隐藏文件
4、修改文件(修改.xxx.txt.swp文件)
5、保存文件(.xxx.txt.swp文件存入xxx.txt中)
6、退出编辑(删除.xxx.txt.swp文件)
命令模式:
i :进入编辑模式(在光标之前输入)
a :进入编辑模式(在光标之后输入)
a :进入编辑模式(在光标下方另起一行输入)
gg :跳转到首行
G :跳转到末行
dd :删除当前行
u :撤回
ndd :在光标所在位置向下删除n行
yy :复制光标所在行
nyy :在光标所咋诶的位置复制n行
p(小写) :粘贴到光标的下一行
P(大写) :粘贴到光标的上一行
末行模式:
w :保存
q :退出编辑
wq :保存并退出
x :保存并退出
! :强制退出(不保存退出,必须跟在指令后面)# 如:q!
n :直接跳转到n行 # 如:1
set nu :显示行号
set nonu :取消行号
作用开始的行号,作用结束的行号 s# [被修改的内容] # [修改的内容] #g
% : 代表的是文本有多少行 # 0,100 s#一#1#g
# 格式:0,100 s#一#1#g
ctrl + v : 可视化编辑模式:
shift + i : 进入可视化编辑模式:
1、按 shift + i 进入可视化编辑模式
2、编辑一行
3、按 ESC 退出编辑
4、按下键(可按可不按)
x : 删除选中内容
装vim编辑器
安装vim
知识储备:
1、进入/etc/yum.repos.d目录
cd /etc/yum.repos.d
2、删除所有的文件
rm -rf ./*
3、编辑CentOS-Base.repo
vi CentOS-Base.repo
[base]
name="Hello World"
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
gpgcheck=0
4、安装
yum install vim -y