Linux文件管理命令
1,文件管理命令
touch [参数选项] 文件名 如果文件不存在就创建文件 如果存在就修改时间属性
touch a.txt 不存在就创建文件a.txt,存在就修改文件的时间属性
touch a{1..10}.txt 批量创建文件a1.txt,a2.txt,...
stat 文件 查看文件的详细信息
vi
只能编辑文本内容,不能对字体 段落等进行排版
不支持鼠标操作
没有菜单 只有命令
vi编辑器在 **系统管理 服务器管理** 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的
vim
是从vi发展出来的一个文本编辑器
代码补全/编译及错误跳转等方便变成的功能特别丰富,在程序员中被广泛使用
1)touch(创建文件)
新建文件
touch [参数选项] 文件名 如果文件不存在就创建文件 如果存在就修改时间属性
touch a.txt 不存在就创建文件a.txt,存在就修改文件的时间属性
touch a{1..10}.txt 批量创建文件a1.txt,a2.txt,...
stat 文件 查看文件的详细信息
2)vi/vim编辑器(编辑文件)
Linux操作系统中有类似于Windows操作系统中的笔记本的文本编辑器,vi,vim文本编辑器
vi
只能编辑文本内容,不能对字体 段落等进行排版
不支持鼠标操作
没有菜单 只有命令
vi编辑器在 **系统管理 服务器管理** 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的
vim
是从vi发展出来的一个文本编辑器
代码补全/编译及错误跳转等方便变成的功能特别丰富,在程序员中被广泛使用
简单来说:
vi是老式的文字处理器,不过功能已经很齐全了。vim则是改进版,是程序开发者的一项很好用的工具。
vi/vim模式主要分为以下三种:
命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。 Windows阅读
编辑模式:在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。 Windows编辑
末行模式:在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。Windows保存
下面是三种模式的简单分析图:
上图总结
上面的三种模式简单总结下就是:
1、vim 开始进入时是命令模式
2、按下I的时候会进入编辑模式
3、按下ESC然后在按下:的时候是末行模式
1、打开和新建文件
vim 文件名
如果文件已经存在, 会直接打开该文件
如果文件不存在, 保存且退出时 就会新建一个文件
2、进入编辑模式
在 vi 中除了常用 i
进入编辑模式 外, 还提供了一下命令同样可以进入编辑模式
命令 | 英文 | 功能 | 常用 |
---|---|---|---|
i | insert | 在当前字符前插入文本 | 常用 |
I | insert | 在行首插入文本 | 较常用 |
a | append | 在当前字符后添加文本 | |
A | append | 在行末添加文本 | 较常用 |
o | 在当前行后面插入一空行 | 常用 | |
O | 在当前行前面插入一空行 | 常用 |
上图可以表现为以下形式,如下图
3、进入末行模式
编辑模式不能保存文件
必须先推到命令模式
先按Esc键退出到命令模式
然后按小写的 :wq 正常保存退出
多种退出模式命令
:q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! 当vim进入文件对文件内容有操作但不想保存退出
:wq 正常保存退出
:wq! 强行保存退出,只针对与root用户或文件所有人生
vim定位行
vim 文件名 +行号 查看文件并定位到具体的行号
vim异常处理
- vim编辑器为了保证原文件a.txt的安全不会直接在原文件进行编辑,而是会在a.txt.swp文件中进行编辑 ,执行保存操作时才会将改动的结果写回到原文件
- 如果 vim异常退出, 在磁盘上可能会保存有交换文件
- 下次再使用 vim 编辑文件时, 会看到以下屏幕信息, 直接将交换文件删除即可不会影响原文件的内容
2,文件查看命令
以下5个为文件查看命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | cat 文件名 | concatenate | 查看小文件内容 |
02 | less -N 文件名 | less | 分屏 显示大文件内容 |
03 | head -n 文件名 | 查看文件的前一部分 | |
04 | tail -n 文件名 | 查看文件的最后部分 | |
05 | grep 关键字 文件名 | grep | 根据关键字, 搜索文本文件内容 |
cat命令
cat a.txt 查看a.txt的内容 (查看小文件)
cat -n a.txt 查看a.txt的内容(加入行号)
less命令
less b.txt 查看b.txt的内容 (产看大文件 分屏查看)
less -N b.txt 查看b.txt的内容(加入行号)
上下键来查看分屏内容
q或双击esc退出less命令
tail命令
tail big.txt 默认显示文件最后10行
tail -3 big.txt 显示文件最后3行
tail -f big.txt 动态显示最后10行
tail -4f big.txt 动态显示最后4行
tail -n+2 big.txt 显示文件a.txt的内容,从第2行至文件末尾
tail -c45 big.txt 显示最后45个字符
grep命令
- grep命令在使用的时候类似于我们的程序中的查询,或者在txt文档中通过ctr+f查找
- grep除了能对文件操作为还可以查看我们的进程信息,类似于我们在Windows系统的任务管理器(任务栏–右键—启动任务管理器–进程)下的进程
grep 关键字 small.txt 把包含关键字的行展示出来
grep -n 关键字 smll.txt 把包含关键字的行展示出来且加上行号
grep -i 关键字 small.txt 把包含关键字的行展示出来,搜索时忽略大小写
grep -v 关键字 small.txt 把不包含关键字的行展示出来
ps -ef|grep 关键字 查找包含关键字的指定进程信息
ps -ef|grep 关键字| grep -v "grep" 查找包含关键字的指定进程信息 并去除掉包含关键字grep的进程
ps -ef|grep -c sshd 查找进程个数
3,Linux命令----echo命令
类似于Java里面的System.out.println()
echo "字符串" 展示文件 字符串直接输出
echo "字符串" > 文件名 将字符串内容写到文件中(覆盖文件中内容)
echo "字符串" >> 文件名 将字符串内容写到文件中(不覆盖文件中内容)
cat 不存在的目录 &>> error.log 将cat命令失败的信息追加到文件中(可以时任意文件 此处文件是error.log)
4,Linux命令----awk命令(文本分析工具)
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
1、数据准备:czbk-txt.txt文本内容如下:
zhangsan 68 99 26
lisi 98 66 96
wangwu 38 33 86
zhaoliu 78 44 36
maq 88 22 66
zhouba 98 44 46
2、搜索含有 zhang 和 li 的学生成绩:
cat czbk-txt.txt | awk '/zhang|li/'
执行效果如下
指定分割符, 根据下标显示内容
命令 | 含义 |
---|---|
awk -F ‘,’ ‘{print $1, $2, $3}’ 文件 | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
选项
选项 | 英文 | 含义 |
---|---|---|
-F ',' | field-separator | 使用 指定字符 分割 |
$ + 数字 | 获取第几段内容 | |
$0 | 获取 当前行 内容 | |
NF | field | 表示当前行共有多少个字段 |
$NF | 代表 最后一个字段 | |
$(NF-1) | 代表 倒数第二个字段 | |
NR | 代表 处理的是第几行 |
# 查看文档内容
cat czbk-txt.txt
#直接输出
cat score.txt | awk -F ' ' '{print $1,$2,$3}'
执行效果如下
指定分割符, 根据下标显示内容
命令 | 含义 |
---|---|
awk -F ’ ,’ ‘{OFS="==="}{print $1, $2, $3}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
选项
选项 | 英文 | 含义 |
---|---|---|
OFS="字符" | output field separator | 向外输出时的段分割字符串 |
转义序列 | 含义 |
---|---|
\b | 退格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 制表符 |
# 按照 === 进行分割, 打印 第一段 第二段 第三段
cat czbk-txt.txt | awk -F ' ' '{OFS="==="}{print $1,$2,$3}'
# 按照 制表符tab 进行分割, 打印 第一段 第二段 第三段
cat czbk-txt.txt| awk -F ' ' '{OFS="\t"}{print $1,$2,$3}'
执行效果如下
调用 awk 提供的函数
命令 | 含义 |
---|---|
awk -F ‘,’ ‘{print toupper($2)}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
常用函数如下:
函数名 | 含义 | 作用 |
---|---|---|
toupper() | upper | 字符 转成 大写 |
tolower() | lower | 字符 转成小写 |
length() | length | 返回 字符长度 |
# 打印第一段内容
cat czbk-txt.txt | awk -F ' ' '{print $1}'
# 将第一段内容转成大写 且 显示
cat czbk-txt.txt | awk -F ' ' '{print toupper($1)}'
执行效果如下
求指定学科平均分
命令 | 含义 |
---|---|
awk ‘BEGIN{初始化操作}{每行都执行} END{结束时操作}’ 文件名 | BEGIN{ 这里面放的是执行前的语句 } {这里面放的是处理每一行时要执行的语句} END {这里面放的是处理完所有的行后要执行的语句 } |
查看czbk-txt.txt 文件内容
cat czbk-txt.txt
执行效果如下
查看总分
注意:这里计算的是第4列的总分
cat czbk-txt.txt| awk -F ' ' 'BEGIN{}{total=total+$4} END{print total}'
执行效果如下
查看总分, 总人数
注意:这里计算的是第4列的
cat czbk-txt.txt| awk -F ' ' 'BEGIN{}{total=total+$4} END{print total, NR}'
执行效果如下
查看总分, 总人数, 平均分
注意:这里计算的是第4列的
cat czbk-txt.txt | awk -F ' ' 'BEGIN{}{total=total+$4} END{print total, NR, (total/NR)}'
执行效果如下
总结
awk在使用过程中主要用作分析
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理
4,Linux命令----软连接
软连接其实就类似于我们在Windows中的【快捷方式】,Linux操作系统中文件名和文件内容是分开存放的
为什么要有软连接?
- 因为某些文件和文件夹的路径很深,所以需要增加 软连接(快捷方式),方便快速访问
使用者权限:所有用户
语法如下:
命令 | 英文 | 作用 |
---|---|---|
ln -s 目标文件绝对路径 快捷方式路径 | link | 给目标文件增加一个软链接, 通俗讲就是快捷方式 |
给home/itcast/txtfile.txt文件增加软连接
ln -s /home/itcast/txtfile.txt czbk-txt
上面;我们将/home/itcast/路径下的txtfile.txt文件增加软连接到
czbk-txt,然后通过cat 访问czbk-txt也是可以正常访问的
如下图
5,Linux命令----find命令
find命令类似与在Windows中全局查找
1、将目前目录及其子目录下所有延伸档名是 gz 的文件查询出来
find . -name "*.gz"
执行效果如下图
2、将目前目录及其子目录下所有最近 1天内更新过的文件查询出来
find . -ctime -1
执行效果如下
3、全局搜索czbk
/代表是全盘搜索,也可以指定目录搜索
find / -name 'czbk'
执行效果如下