Linux 指令笔记(四)
Linux鬼鬼
查看/编辑文件 操作
ls 显示目录中文件
ls 命令说明
# 显示当前目录下的所有文件ls -a
# 命令后面加上绝对路径/相对路径就会显示指定文件夹内的所有文件# 相对路径,当前目录是 /root,欲查看的目录是 /root/bash/logls -a bash/log
# 绝对路径,当前目录是 /root,欲查看的目录是 /root/bash/logls -a /root/bash/log更多的命令可以用 ls --help 来查看。
du 查看 文件/文件夹 占用磁盘空间的大小
du 命令说明
参数介绍
-h- 以人类易读的方式显示-a- 显示目录占用的磁盘空间大小,并显示其下目录和文件占用磁盘空间的大小-s- 显示目录占用的磁盘空间大小,但不显示其下子目录和文件占用的磁盘空间大小-c- 显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和--apparent-size- 显示目录或文件自身的大小-l- 统计硬链接占用磁盘空间的大小-L- 统计符号链接所指向的文件占用的磁盘空间大小
更多的命令可以用 du --help 来查看。
使用示例
# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,但不显示其子目录和文件的大小du -sh
# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,并显示其子目录和文件的大小du -ah
# 假设当前位于 /root 目录下,则显示 /root 文件夹下的所有文件夹的大小及其总和du -lh --max-depth=1更多的命令可以用 du --help 来查看。
cat 查看文件内容
cat 命令说明
查看文件
# 查看 log.txt 文件的所有内容cat log.txt
# 查看 log.txt 文件的所有内容,并对所有行编号cat -n log.txt
# 查看 log.txt 文件的所有内容,并对非空行编号cat -b log.txt
# 查看 log.txt 文件的所有内容,并对非空行编号,且不输出多行空行cat -bs log.txt清空文件
# 清空当前目录中的 log.txt 文件cat /dev/null > log.txt
# 清空 /var 目录中的 log.txt 文件cat /dev/null > /var/log.txt写入文件
# 写入文本到当前目录中的 log.txt 文件中(加入文本到文件内容最后)# 输入内容后,单独一行写 EOF 结束输入cat >> log.txt <<-EOF
# 清空文件并写入文本到 /var 目录中的 log.txt 文件中(先清空后写入)cat > /var/log.txt <<-EOF更多的命令可以用 cat --help 来查看。
head 查看文件内容(主要用于正查)
head 命令说明
参数介绍
-c 数字- 显示指定文件的前 xx 字节的内容(bytes)-n 数字- 显示指定文件的前 xx 行的内容-q- 不显示包含指定文件名的文件头(当使用 head 打开多个文件的时候,会在每个文件输出结果的顶部添加一个包含文件名的文件头用于区分)
更多的命令可以用 head --help 来查看。
使用示例
# 查看 log.txt 文件的前 10 行(head 默认只显示前 10 行)head log.txt
# 查看 log.txt 文件的前 3 字节的内容head -c 3 log.txt# 输出示例:dou
# 查看 log.txt 文件的前 2 行的内容head -n 2 log.txt
# 查看 log.txt 文件的从倒数第 2 行到行首的内容head -n -2 log.txt
# 查看 log.txt log1.txt log2.txt 文件的前 3 行内容head -n 3 log.txt log1.txt log2.txt更多的命令可以用 head --help 来查看。
tail 查看文件内容(主要用于倒查)
查看 tail 命令说明
-c 数字- 如果数字为正数(例如-c +5),显示指定文件从行首第 xx 字节到最后的内容;如果数字为负数(例如-c -5),显示指定文件从行尾第 xx 字节到最后内容。-n 数字- 如果数字为正数(例如-n +3),显示指定文件从行首第 xx 行到最后的内容;如果数字为负数(例如-n -3),显示指定文件从行尾第 xx 行到最后的内容。-f- 即时输出文件变化后增加的内容,也就是监视一个文件的内容变化(常用于监视日志输出),使用 Ctrl + C 终止
更多的命令可以用 tail --help 来查看。
使用示例
# 查看 log.txt 文件的最后 10 行(tail 默认只显示后 10 行)tail log.txt
# 查看 log.txt 文件从行首第 25 字节到最后的内容tail -c +25 log.txt
# 查看 log.txt 文件从行尾第 4 字节到最前面的内容tail -c -4 log.txt
# 查看 log.txt 文件的从第 2 行到最后一行的内容tail -n +2 log.txt
# 查看 log.txt 文件的后 2 行的内容tail -n -2 log.txt
# 持续查看(监视) log.txt 文件的变化内容(新增加的内容),使用 Ctrl + C 终止tail -f log.txt
# 查看 log.txt log1.txt log2.txt 文件的最后 3 行内容tail -n 3 log.txt log1.txt log2.txt更多的命令可以用 tail --help 来查看。
sed 查看/编辑文件内容
查看 sed 命令说明
参数介绍
-i- 操作后应用保存到原文件(如果不加这个参数,那么任何修改都不会影响原文件里的内容,只会把结果输出)-e- 指定处理脚本,需要多个 sed 命令时可以用多个-e依次传入(「只输出处理结果」靠的是-n配合p)
更多的命令可以用 sed --help 来查看。
使用示例
# 查看 log.txt 第 3 行的内容sed -n '3p' log.txt
# 查看 log.txt 第 2-8 行的内容sed -n '2,8p' log.txt
# 删除 log.txt 第 1 行(首行)sed -i '1d' log.txt
# 删除 log.txt 第 3-7 行sed -i '3,7d' log.txt
# 删除 log.txt 最后 1 行(尾行)sed -i '$d' log.txt
# 删除 log.txt 中所有空白行sed -i '/^$/d' log.txt
# 删除 log.txt 开头是 temp 的行sed -i '/^temp/d' log.txt
# 删除 log.txt 结尾是 temp 的行sed -i '/temp$/d' log.txt
# 删除 log.txt 文件中所有包含 233 内容的行sed -i '/233/d' log.txt
# 删除 log.txt 文件中第一个 233 文本sed -i 's/233//' log.txt
# 删除 log.txt 文件中所有 233 文本(g 代表操作所有匹配规则的文本)sed -i 's/233//g' log.txt
# 删除 log.txt 文件中所有第 5 个 233 文本(5g 代表第五个匹配规则的文本)sed -i 's/233//5g' log.txt
# 替换 log.txt 文件中第一个 233 为 666sed -i 's/233/666/' log.txt
# 替换 log.txt 文件中所有 233 为 666(g 代表操作所有匹配规则的文本)sed -i 's/233/666/g' log.txt
# 替换 log.txt 文件中所有 /ver 为 temp/,因为有斜杠,所以需要使用 \ 转义,但是单引号会导致无法转义,所以要改成双引号。sed -i "s/\\/ver/temp\\/" log.txt
# 显示 log.txt 文件中的奇数行或偶数行sed -n 'p;n' log.txt # 奇数行sed -n 'n;p' log.txt # 偶数行更多的命令可以用 sed --help 来查看。
VI、VIM、Nano 编辑文件内容
vi vim 命令说明
VI 介绍
VI 是 Linux 很棒的一个文本编辑器,不过也存在一些缺点,比如操作麻烦。而 vim 就相当于 VI 的加强版,主要介绍 VIM。
VIM 介绍
使用教程:Linux 文本编辑器 VIM 简单使用教程
# 打开当前目录下的 log.txt 文件,如果没有那么会新建 log.txt 文件(安装 vim 后,使用 vi 和 vim 打开文件没区别)vi log.txtvim log.txt在命令行模式下,直接输入以下符号和字母(区分大小写)
# 进入编辑模式(插入模式,按 Esc 键 即可返回命令行模式)i
# 删除光标当前所在的一行dd
# 删除文件内所有内容(先跳到第一行,再删到最后一行;也可以直接用 :%d)ggdG
# 复制光标当前所在的一行yy
# 粘贴刚才复制的一行内容p
# 撤销上个操作(误操作可以用这个恢复)u
# 保存当前文件( : 是英文的冒号):w
# 另存当前文件内容为 log2.txt:w log2.txt
# 退出当前文件:q
# 不保存 并强制退出当前文件:q!
# 保存并退出当前文件:wq更多的命令可以用 vi --help / vim --help 来查看。
Nano 介绍
使用教程:Linux 更适合新手的文本编辑器
# 打开当前目录下的 log.txt 文件,如果没有那么会新建 log.txt 文件nano log.txt
# 进入后直接就可以输入修改文本内容了,修改后我们可以使用这个按键保存内容Ctrl+O
# 如果不需要编辑了,那么可以用这个按键退出当前文件Ctrl+X
# 如果你在退出前已经修改但没有保存,那么会提醒你是否保存,如果保存就输入 y,不保存输入 n# 然后就会让你输入要保存的文件名(默认原文件名,所以直接按 Enter 回车即可,除非你要另存为其他文件名)Enter