一、文件内容显示
1.1 浏览普通文件内容
命令 | 常用选项 | 说明 |
cat |
-n对输出内容中的所有行标注行号 -b对输出内容的非空行标注行号 | 查看文本文件的内容 |
head | -num指定需要显示文件num行的内容 | 默认查看文档前十行内容 |
tail |
-num指定需要显示文件num行的内容 -f 使tail不停的去读取和显示文件最新的内容,这样有事实监视的效果 tail命令更多的用于查看系统日志文件,按【Ctrl+c】终止显示和跟踪 | 默认查看文档后十行内容 |
more | -c 从顶部清屏然后显示文件内容 |
分页查看文件内容 按enter键向下逐行滚动 按空格键向下翻一屏、按b键向上翻一屏 文件末尾时more会自动退出 |
less |
-c从顶部清屏然后显示文件内容 -N在每行前添加输出行号 |
分页查看文件内容 按enter键向下逐行滚动 按空格键向下翻一屏、按b键向上翻一屏 按q退出 |
示例:
cat:
head:
tail:
more:
less:
1.2 过滤文件内容显示 grep
1>功能:在指定的普通文件中查找并显示含有指定字符串的行,也可以与管道符一起使用
2>格式:grep 选项...关键字符串 文件名称
选项 | 说明 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择--仅列出没有关键词的行 |
-A | -A 2搜索时显示匹配到的那一行及下两行 |
-B | -B 2搜索时显示匹配到的那一行及上两行 |
-C | -C 2搜索时显示匹配到的那一行以及上下两行 |
-r | 递归搜索模式 |
3>示例
在linux系统中,/etc/passwd文件保存的是所有用户信息,一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用grep命令来查找当前系统中不允许登陆系统的所有用户信息
4>使用特殊符号进行字符串的匹配
匹配模式 | 说明 |
grep h 文件名 | 查找文件里有字符h的行 |
grep ^[q] 文件名 | 匹配以q开始的行 |
grep ^[qf] 文件名 | 匹配以q或者f开头的行 |
grep ^[^qf] 文件名 | 不匹配以q或者f开头的行 |
grep ^[0-9] 文件名 | 匹配以数字开头的行 |
grep q$ 文件名 | 匹配以q结束的行 |
grep ^$ | 过滤空白行 |
grep -r h ./* | 如果要明确搜索当前目录中的子目录有h的行 |
示例:
1.3切割显示 cut
cut用于按列提取文本内容,语法为:cut[选项] 文件名称
系统文件在保存用户数据信息时,每一项值之间是用冒号进行区分的:
一般而言。基于行的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可,如果按列搜索,不仅要使用-f参数来设置要看的列数,还需要使用-d参数来设置间隔符号
示例(使用冒号为间隔符号的第一列内容)
1.4排序显示 sort
选项 | 作用 |
-f | 忽略大小写 |
-b | 忽略缩进与空格 |
-n | 以数值型排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 |
sort命令执行后默认会按照字母顺序进行排序,例:
还可以使用sort -u进行去重操作
同时也能对数字进行排序
去重显示 uniq
该命令用于去除文本中连续的重复行,语法为:uniq[选项] 文件名称
1.2 替换文件中的字符显示 tr
该指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出
语法:tr [OPTION] ..SET1[SET2]
示例:
二、文件的其他操作命令
2.1文本内容统计
wc命令用于统计本文件的行数、字数或字节数,语法为:wc [选项] 文件名称
选项 | 作用 |
-l | 只显示行数 |
-w | 只显示单词数 |
-c |
只显示字节数 |
在Linux系统中,/etc/passwd是用于保存系统账户信息的文件,要统计当前系统有多少个用户,可以使用下面的命令来查询
2.2 复制、移动文件
复制文件或目录:cp [option] 原文件 目标文件
选项 | 功能 |
-a | 通常在拷贝目录时使用,他保留链接、文件属性,并递归的拷贝目录 |
-f | 再覆盖已经存在的目标文件时不提示 |
-i | 再覆盖目标文件之前将给出提示要求用户确认,回答y时目标文件将被覆盖,是交互式拷贝 |
-p | 除了复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 |
-r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名 |
2、移动文件或目录
使用mv命令:mv [选项] 源文件名 目标文件名
2.3 查找文件的路径
whereis :可以搜索命令的可执行文件路径和说明文档 例:
which :搜索命令的可执行文件 例:
locate : 按照数据库搜索,搜索速度快,消耗资源小,数据库位置/var/lib/mlocate/mlocate.db,可以使用updatedb命令强制更新数据库 例:
find:按照文件名,大小,时间,权限,类型,所属者,所属组来搜索文件 例:
find相关参数的用法:
-name 根据文件basename匹配名称
-path 可以对文件的dirname+basename进行查找。
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-mtime [+|-]n 匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前 4~5那一天的文件)
-atime [+|-]n 匹配访问文件的时间
-ctime [+|-]n 匹配修改文件权限的时间
. -newer f1 !f2 匹配比文件f1新但比f2旧的文件
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-nouser 匹配无所有者的文件
-nogroup 匹配无所属组的文件
-type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本 文件)
-prune 忽略某个目录下的文件,需要和-path一起使用
-depth 先从该目录子目录下查找,再查找该目录
-maxdepth levels 最多查找多少层目录;
-mindepth levels 最少查找多少层目录
-delete 将找到的文件删除,如果是目录只能删除找到的空目录。
-exec …… {}\; 后面可跟用于进一步处理搜索结果的命令
2.4 压缩和解压缩
2.4.1 zip和unzip命令
zip 用于压缩文件和目录,使用方法为zip 压缩包名 文件名 解压缩:unzip 文件名
2.4.2gzip和gunzip命令
可以发现使用gzip后原文件消失
2.4.3bzip、bunzip2命令
将test4.txt以最佳压缩比压缩,并且保留原本的档案
2.4.4xz、unxz命令
2.5tar归档命令
选项 | 功能 |
-c | 创建.tar格式的包文件 |
-x |
释放.tar格式的包文件 |
-t | 查看包中的文件列表 |
必选项:-f 用于指定打包文件名;当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件
2.6文件上传下载
1、使用xftp工具
2、使用sftp(交互式文件传输程式)