文章目录
一. rm 删除文件或者目录和 mv 移动文件或目录
- rm 删除文件或者目录
① 删除指定文件或者目录
② rm[选项]要删除的文件或目录
选项 | 含义 |
---|---|
-f | 删除文件或者目录不进行提醒,而直接强制删除 |
-i | 删除文件或者目录时提醒用户确认,Y表示删除,n表示不删除 |
-r | 删除目录时必须使用此选项,表示递归删除整个目录树 (谨慎使用) |
注:不要直接删除系统中已有的目录或配置文件,以免出现意外
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。
cd /etc/yum.repos.d/
rm -rf ./*
- mv 移动文件或目录
① 将指定的文件或者目录转移位置
② 如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项]...源文件或目录...目标文件或目录
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:
rename b o * .txt
二. which 查找命令文件存放目录
- 搜索范围由环境变量PATH决定(echo$PATH)
- 让系统能识别命令所在文件位置的环境变量PATH
root@localhost opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost opt]#
- 使用which,查找内部命令时,将找不到
in:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost opt]#
which
命令/程序名 //默认当查找到第一个目标后不再继续查找或者which -a
命令/程序名 //在所有搜索路径中查找
[root@localhost opt]# which -a mkdir
/usr/bin/mkdir
[root@localhost opt]#
三. find 查找文件或目录
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围(文件或子目录的目录位置)] [查找条件表达式(条件类型)]
例:
find /boot -size +1024k -a -name "vm*"
find /boot -size +1024k -o -name "vm*"
[root@localhost boot]# find /boot -size +1024k -a -name "vm*"
/boot/vml
各表达式之间使用逻辑运算符
“-a”表示而且(and)
“-o”表示或者(or)
例:find /boot -size +1024k -a -name "vm*"
find /boot -size +1024k -o -name "vm*"
inuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
[root@localhost boot]# find /boot -size +1024k -o -name "vm*"
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-693.el7.x86_64
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/initrd-plymouth.img
/boot/initramfs-0-rescue-9cc3af631b4f41e79c67bb0952572003.img
/boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
/boot/initramfs-3.10.0-693.el7.x86_64.img
[root@localhost boot]#
find之exec用法
-exec参数后面跟的是Linux命令,它是以分号;为结束标准,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杆转义符
{}代表前面find查找出来的文件名
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出
find ./ -type f -exec ls -l {} ;
[root@localhost boot]# find /boot -name "vm*" -a -type f -exec ls -l {} \;
-rwxr-xr-x. 1 root root 5877760 8月 23 2017 /boot/vmlinuz-3.10.0-693.el7.x86_64
-rwxr-xr-x. 1 root root 5877760 1月 24 05:04 /boot/vmlinuz-0-rescue-9cc3af631b4f41e79c67bb0952572003
[root@localhost boot]#
四. 命令执行的优先级
- 第一优先级:指定路径的命令。绝对路径
/root/pwd.sh
或者相对路径./pwd.sh
- 第二优先级:别名指定的命令
alias pwd=/root/pwd.sh
- 第三优先级:内部命令
- 第四优先级:hash命令
——Linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。 - 第五优先级:通过PATH定义的查找顺序查找
如果以上顺序都找不到,就会报“未找到命令…”的错误
五.基础命令
5.1 which 查找命令/文件存放的目录和 cat 查看文件内容
- which 查找命令/文件存放的目录
which或者which -a一样的
which指令会在环境变量$PATH设置的目录里查找符合条件的文件(echo $PATH)(每个’:'表示一个路径)
- cat 查看文件内容
cat -n /etc/hosts 显示行号(-n)
查看(cat)域名解析文件(/etc/hosts)
5.2 more 查看文件内容和 less 查看文件内容
- more 查看文件内容
全屏方式分页显示文件内容 交互操作方法:
1、按Enter键向下逐行滚动
2、按空格键向下翻一屏
3、按 b 键向上翻一屏
4、按 q 键退出
- less 查看文件内容
less相比more,less带有搜索
交互操作方法:
a、Page Up向上翻页,Page Down向下翻页。
b、按"I”键查找内容,"n” 下一个内容,“N” 上一个内容。
c、其他功能与more命令基本一样。**
less -m 显示百分比
less -N 显示行号
5.3 head 查看文件部分内容和 tail 查看文件部分内容
- head 查看文件部分内容
作用:查看文件开头的一部分内容(默认为10行)
选项 | 作用 |
---|---|
head | 查看文件前10行内容(n可以忽略) |
head-n或head -n+3 也是一样 | 查看前三行内容 写head-n +3一样的 |
head -n +3 | 去除最后3行 |
- tail 查看文件部分内容
作用:查看文件结尾的少部分内容(默认为10行
)
选项 | 作用 |
---|---|
tail -n | 查看文件最后10内容 |
tall -n 3 | 查看文件最后3行(tall -n -3) |
tall -n +3 | 从第三行开始查看文件内容 |
tall -f | 显示实时更新内容 |
tall -f/var/log/messages | 查看日志 |
5.4 wc 统计文件内容和echo 所见即所得
- wc 统计文件内容
wc统计文件中单词数量等信息
选项 | 作用 |
---|---|
wc -i | 统计行数 |
wc -w | 统计单词个数 |
wc -c | 统计字节数 |
- echo 所见即所得
选项 | 作用
-------- | -----
echo a> b |将a覆盖到b中
echo a>>b | 将a的内容追加到b中
5.5 grep 检索和过滤文件内容
选项 | 作用 |
---|---|
grep “root” test | 在test中含有root的行 |
grep “root” test | 在test中查找以root开头的行 |
grep “root$” test | 在test中查找以root结尾的行 |
grep “$” test | 在test查找空行,一般和-v一起使用 |
:grep -i | 不区分大小写 |
grep -v | 过滤/不匹配 |
grep -E | 可用扩展元字符 |
grep -o | 只把匹配字符的行打印出来 |
grep -n | 显示行号 |
grep -v | 精确匹配单词 |
grep -c | 只显示匹配了多少行 |
5.6 gzip bzip2 压缩和bzip
- gzip/bzip只能对文件进行压缩,不能压缩文件
选项 | 意义 |
---|---|
gzip test | 压缩文件test |
gzip -d test > test.gz | 解压文件(gunzip test.gz) |
gzip -c test >test.gz | 复制一份源文件并压缩 |
gunzip -c test.gz > test | 复制一份压缩包并解压 |
:gzip -r a | -9:压缩比 gzip -(1-9) 默认-6 压缩比越大效果越好,但压缩时间越长 |
gzp -r a | 对目录的文件进行递归压缩 |
- bzip
选项 | 意义 |
---|---|
bzip2 test | 压缩文件(bzip2比gzip压缩修改好,压缩时间越长) |
bzip2 -b test.bz2 | 解压(bunzip2 test.bz2) |
bunzip2 -k test.bz2 > test | 保留压缩包并解压 |
bzip2 -k test | 保留源文件并压缩 |
zip a.zip a | 压缩成zip格式的压缩包(zip只压缩目录) |
unzip a.zip | 解压zip格式的压缩包(保留原来的文件) |
zip -r a.zip | 递归压缩目录 |
5.7 归档
制作归档文件和释放归档文件
选项 | 作用 |
---|---|
tar -czvf a.tar.gz a | 制作归档文件并压缩 |
tar -xzvf a.tar.gz | 解压并释放归档文件 |
tar -tf a.tar | 查看包内有哪些目录和文件 |
tar -tzf a.tar.gz | 查看压缩包内容 |
tar -tvf a.tar | 以长格式显示 |
-C | 指定还原目录,后跟目录名 |
-c:创建一个新的打包文件
-v:显示详情:将压缩、解压缩过程中处理的文件名输出到屏幕
-f:指定一个文件名,此选项放在最后
-x:还原归档;解打包或解压缩的功能
-z:gzip进行压缩
-j:bzip2进行压缩
-C:后面接要解压缩的特定目录
-t:只查看压缩文件的内容
-p:保留档案的原本权限和属性,主要是备份重要文件的时候使用
-P(大写):是否保留根目录/,一般不用
-j 通过bzip2指令处理备份文件
-t 只看tar包有哪些目录和文件,不作其他操作
七、文本编辑器
7.1 文本编辑器的作用及Linux中最常用的文本编辑器
-
文本编辑器的作用
① 创建或修改文本文件
② 维护Linux系统中的各种配置文件 -
Linux中最常用的文本编辑器
① vi:类UNIX操作系统的默认文本编辑器
② vim: vim是vi文本编辑器(一般简称为vi编辑器
)的增强版本
7.3 三种工作模式
- 命令模式
选项 | 作用 |
---|---|
0/home | 回到行首 |
$/End | 回到行尾 |
按数字家回车建 | 光标就跳到几行 |
gg | 几gg光标就跳到几行 |
:G | 跳到最后一行 |
nG | 跳到n行 |
yy | 复制光标所在的行,复制光标下n行就是nyy |
p | 在光标下一行粘连,也可以将删除的行粘贴(相当剪切) |
P | 在光标上一行粘连 |
dd | 删除当前行 |
3dd | 删除光标下三行 |
17,19dd | 删除光标第17和19行 |
x(Del建) | 删除光标所在的字符 |
dw | 删除光标所在的单词 |
u | 撤销 |
ZZ | 退出,如果文件被改变则报存退出 |
r | 替换光标所在的单个字符 |
- 插入模式
选项 | 作用 |
---|---|
a | 在光标之后插入 |
i | 在光标之前插入 |
o | 在光标下一行插入 |
O | 在光标上一行插入 |
I | 把光标跳到行首并输入 |
A | right-aligned 把光标跳到行尾并输入 |
- 末行模式
选项 | 作用 |
---|---|
set nu | 看行数 |
set noun/set nu! | 取消行号 |
4,10d | 删除第四行和第10 行 |
1,$d | 删除所有行 |
:%d | 删除所有行 |
d~ | 删除光标之前的行 |
d$ | 删除光标之后的行 |
nohl | 取消高亮(使用搜素) |
w | 保存 |
q | 文件未修改,退出 |
q! | 强制退出 |
wq! | 强制报存退出 |
:x/wq | 报存退出 |
w /tmp/wuhao | 指定一个目录并创建文件保存(全局保存) |
r /etc/hosts | 在光标下读取文件插入 |
e /tmp/wuhao | 跳到tmp目录文件内(使用前保存文件) |
s/a/b | 将光标当前行的a替换成b(并显示全局其他a) |
s/a/b/g | 将当前行的a全部换成b |
%s/a/b | 将全局每行第一行a替换成b |
1,10s/g/c/g或10,$s /g/c/g | 将1到10行的g换成c |
1,10s/g/c/gc/ | 有提示但是一个一个确认,按y或n,一次全换成a |
- /向下搜索n向下搜索N向上搜索
- ?向上搜索N向下搜索n向上搜索
- 按两下Esc退回命令模式