Linux 指令笔记(四)

2019-02-04

查看/编辑文件 操作

ls 显示目录中文件

ls命令说明

显示当前目录下的所有文件

ls -a

命令后面加上 绝对路径/相对路径 就会显示指定文件夹内的所有文件

ls -a bash/log

相对路径,当前目录是 /root ,欲查看的目录是 /root/bash/log

ls -a /root/bash/log

绝对路径, 当前目录是 /root ,欲查看的目录是 /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文件的内容为:

doubi233
doubi


doubi666

doubi2366
doubi8888

#####查看文件:

查看 log.txt文件的所有内容

cat log.txt

输出示例如下

doubi233
doubi


doubi666

doubi2366
doubi8888

查看 log.txt文件的所有内容,并对所有行编号

cat -n log.txt

输出示例如下:

1 doubi233
2 doubi
3
4
5 doubi666
6
7 doubi2366
8 doubi8888

查看 log.txt文件的所有内容,并对非空行编号

cat -b log.txt

输出示例如下:

1 doubi233
2 doubi


3 doubi666

4 doubi2366
5 doubi8888

查看 log.txt文件的所有内容,并对非空行编号,且不输出多行空行

cat -bs log.txt

输出示例如下:

1 doubi233
2 doubi

3 doubi666

4 doubi2366
5 doubi8888

#####清空文件:

清空当前目录中的 log.txt 文件

cat /dev/null > log.txt

清空 /var目录中的 log.txt 文件

cat /dev/null > /var/log.txt

#####写入文件:

写入文本到当前目录中的 log.txt文件中(加入文本到文件内容最后)

cat >> log.txt <<-EOF
doubi
doubi233
doubi666
EOF

清空文件并写入文本到 /var目录中的 log.txt文件中(先清空后写入)

cat > /var/log.txt <<-EOF
doubi
doubi233
doubi666
EOF

更多的命令可以用 cat –help 来查看。


head 查看文件内容(主要用于正查)

点击展开 查看 head命令说明

#####参数介绍:
-c 数字:显示指定文件的前 xx 字节的内容(bytes)
-n 数字:显示指定文件的前 xx 行的内容
-q :不显示包含指定文件名的文件头(当使用 head打开多个文件的时候,会去在每个文件输出结果的顶部添加一个包含文件名的文件头用于区分

更多的命令可以用 head –help 来查看。


####使用示例:

######假设 log.txt 文件内容为:
doubi1
doubi2
doubi3
doubi4
doubi5

查看 log.txt文件的全部内容

head log.txt

查看 log.txt文件的前 3字节的内容

head -c 3 log.txt

输出示例

dou

查看 log.txt文件的前 2行的内容

head -n 2 log.txt

输出示例

doubi1
doubi2

查看 log.txt文件的从倒数第2行到行首的内容

head -n -2 log.txt

输出示例

doubi1
doubi2
doubi3

查看 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 数字:如果数字为正数(例如 -c +3),显示指定文件从行首第 xx 行到最后的内容;如果数字为负数(例如 -c -3),显示指定文件从行尾第 xx 行到最后的内容。
-f :即时输出文件变化后增加的内容,也就是监视一个文件的内容变化(常用于监视日志输出),使用 Ctrl+C 终止

更多的命令可以用 tail –help 来查看。


使用示例:

######假设 log.txt 文件内容为:
doubi1
doubi2
doubi3
doubi4
doubi5

查看 log.txt文件的全部内容

tail log.txt

查看 log.txt文件从行首 第25字节到最后的内容

tail -c +25 log.txt

输出示例

bi4
doubi5

查看 log.txt文件从行尾 第4字节到最前面的内容

tail -c -4 log.txt

输出示例

bi5

查看 log.txt文件的从第2行到最后一行的内容

tail -n +2 log.txt

输出示例

doubi2
doubi3
doubi4
doubi5

查看 log.txt文件的后 2行的内容

tail -n -2 log.txt

输出示例

doubi4
doubi5

持续查看(监视) 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 –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 开头是 doubi 的行

sed -i '/^doubi/'d log.txt

删除 log.txt 结尾是 doubi 的行

sed -i '/doubi$/'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为666

sed -i 's/233/666/' log.txt

替换 log.txt 文件中所有 233为666(g 代表操作所有匹配规则的文本)

sed -i 's/233/666/g' log.txt

替换 log.txt 文件中所有 /ver 为 doubi/,因为有斜杠,所以需要使用 \ 转义,但是单引号会导致无法转义,所以要改成双引号。

sed -i "s/\/ver/doubi\//" log.txt

显示 log.txt 文件中的奇数行或偶数行

sed -n 'p;n' log.txt #奇数行
sed -n 'n;p' log.txt #偶数行

更多的命令可以用 sed –help 来查看。


VI、VIM、Nano 编辑文件内容

vi vim none命令说明

VI 介绍

VI 是Linux很棒的一个文本编辑器,不过也存在一些缺点,比如操作麻烦。而 vim就相当于 VI 的加强版,主要介绍 VIM。

VIM 介绍

使用教程:Linux 文本编辑器 VIM 真 · 简单使用教程

打开当前目录下的 log.txt文件,如果没有那么会新建 log.txt文件(安装vim后,使用 vi和 vim打开文件没区别)

vi log.txt
vim log.txt

在命令行模式下,直接输入以下 符号和字母(区分大小写)
进入编辑模式(插入模式,按 Esc键 即可返回命令行模式)

i

删除光标当前所在的一行

dd

删除文件内所有内容

dddG

复制光标当前所在的一行

yy

粘贴刚才复制的一行内容

p

撤销上个操作(误操作可以用这个恢复)

u

保存当前文件( : 是英文的冒号)

:w

另存当前文件内容为 log2.txt

:w log2.txt

退出当前文件

:q

不保存 并强制退出当前文件

:q!

保存并退出当前文件

:wq

更多的命令可以用 vi –help / vim –help 来查看。


Nano 介绍

使用教程:Linux 更适合新手的文本编辑器 Nano 真 · 简单使用教程

Nano 相对 VIM 更适合新手使用。
打开当前目录下的 log.txt文件,如果没有那么会新建 log.txt文件

nano log.txt

进入后直接就可以输入修改文本内容了,修改后我们可以使用这个 按键保存内容

Ctrl+O

如果不需要编辑了,那么可以用这个 按键退出当前文件

Ctrl+X

如果你在退出前已经修改但没有保存,那么会提醒你是否保存,如果保存就输入 y ,不保存输入 n
然后就会让你输入要保存的文件名(默认原文件名,所以直接按 Enter回车即可,除非你要另存为其他文件名)

Enter

更多的命令可以在 nano 编辑界面中按 F1键 查看。


留言: