1.使用whereis 查找 locate命令
使用which查找whereis命令
使用locate查找rm命令
-b, --basename 匹配唯一的路径名称的基本文件名
-c, --count 只显示找到条目的号码
-d, --database DBPATH 用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)
-e, --existing 只显示当前存在的文件条目
-L, --follow 当文件存在时跟随蔓延的符号链接 (默认)
-h, --help 显示本帮助
-i, --ignore-case 匹配模式时忽略大小写区别
-l, --limit, -n LIMIT 限制为 LIMIT项目的输出 (或 计数)
-m, --mmap 忽略向后兼容性
-P, --nofollow, -H 当检查文件时不跟随蔓延的符号链接
-0, --null 输出时以 NUL 分隔项目
-S, --statistics 不搜索项目,显示有关每个已用数据库的统计信息
-q, --quiet 不报告关于读取数据库的错误消息
-r, --regexp REGEXP 搜索基本正则表达式 REGEXP 来代替模式
--regex 模式是扩展正则表达式
-s, --stdio 忽略向后兼容性
-V, --version 显示版本信息
-w, --wholename 匹配完整路径名 (默认)
2.find命令使用:
使用find命令在当前路径下查找所有的普通文件
使用find命令查找当前路径下的file1.txt,file2.txt,file3.txt
使用find命令查找文件所有者为root的普通文件
使用find命令查找修改时间在1天以内的普通文件
-
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-
-amin n : 在过去 n 分钟内被读取过
-
-anewer file : 比文件 file 更晚被读取过的文件
-
-atime n : 在过去 n 天过读取过的文件
-
-cmin n : 在过去 n 分钟内被修改过
-
-cnewer file :比文件 file 更新的文件
-
-ctime n : 在过去 n 天过修改过的文件
-
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-
c: 字型装置文件-type c : 文件类型是 c 的文件 d: 目录 b: 区块装置文件p: 具名贮列 f: 一般文件 l: 符号连结 s: socket
-
-pid n : process id 是 n 的文件
3.cut命令使用:
给定文件cut_data.txt且内容为:
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
使用默认定界符切割文件内容,且输出切割后的第一个字段
切割文件内容,且输出切割后的第一个字段和第三个字段
按字节切割:输出切割的第一个字节到第10个字节的内容
按字符切割:输出切割后的第一个字符和第5个字符的内容
按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
4.uniq命令使用: 新建文件uniq_data.txt,文件内容为
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
使用uniq命令输出去重后的结果
使用uniq命令只输出重复的行
使用uniq命令输出不重复的行
使uniq命令统计重复次数
-c 在输出行前面加上每行在输入文件中出现的次数。
-d 仅显示重复行。
-u 仅显示不重复的行。
-f Fields 忽略由 Fields 变量指定的字段数目。如果 Fields 变量的值超过输入行中的字段数目, uniq 命令用空字符串进行比较。这个标志和 -Fields 标志是等价的。
-s Characters 忽略由 Characters 变量指定的字符的数目。如果 Characters 变量的值超过输入行中的字符的数目, uniq 用空字符串进行比较。如果同时指定 -f 和 -s 标志, uniq 命令忽略由 -s Characters 标志指定的字符的数目,而从由 -f Fields 标志指定的字段后开始。 这个标志和 +Characters 标志是等价的。
-Fields 忽略由 Fields 变量指定的字段数目。这个标志和 -f Fields 标志是等价的。
+Characters 忽略由 Characters 变量指定的字符的数目。如果同时指定 - Fields 和 +Characters 标志, uniq 命令忽略由 +Characters 标志指定的字符数目,并从由 -Fields 标志指定的字段后开始。 这个标志和 -s Characters 标志是等价的。
- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
- d 只显示重复行 。
- u 只显示文件中不重复的各行 。
- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+ n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n 与+n相同,这里n是字符数。
5.sort命令:给定文件 num.txt, args.txt
文件内容:num.txt
1
3
5
2
4
文件内容:args.txt
test
args1
args2
args4
args4
args3
对num.txt进行排序,且将结果输出到sorted_num.txt中
对args.txt进行排序,且将结果输出到sorted_args.txt中
对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中
对args.txt排序后去重输出
合并sorted_args.txt和sorted_num.txt且输出
给定文件info_txt:按第二列作为key进行排序
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
-b 忽略开头的空白
-c 检查输入是否已正确排序,如输入未经排序,但退出码(exit code)为非零值,则不会有任何输出
-d 字典顺序:仅文字数字与空白才有意义
-g 一般数值:以浮点数字类型比较字段。这个选项的运作有点类似 -n.差别仅在于这个选项的数字可能有小数点及指数。(仅GNU版本提供此功能)
-f 以不管字母大小写的方式排序
-i 忽略无法打印的字符
-k 定义排序键值字段(该选项后接一个字段编号,或则是一对数字。有时-k之后可用空白分隔。每个编号后都可以接一个点号的字符位置,及/ 或 修饰符(modifier)字母之一
.且当出现多个-k选项时候,会先从第一个键值开始排序,找出匹配该键值的记录后,再进行第二个键值字段的排序,以此类推。)
-m 将以排除的输入文件,合并为一个排序后的输出数据流。
-n 以整数类型比较字段
-o outfile 将输入写到指定文件,而非标准输出。如果该文件为输入文件之一,则sort 在进行配需与写到输入文件之前,会先将它复制到一个临时文件
-r 倒置排序的顺序为 由大至小(descending),而非默认的由小至大(ascending)
-t char 使用单个字符char作为默认的字段分割字符,取代默认的空白字符。
-u 只有唯一的记录,丢弃所有具有相同键值的记录,只留其中的第一条。只有键值字段是重要的,也就是说:被丢弃的记录其他部分可能是不同值。
6.tr命令:
将26个小写字母的后13个字母替换成大写字母
将hello 123 world 456中的数字替换成空字符(提示使用通配符)
将hello 123 world 456中字母和空格替换掉,只保留数字(提示使用通配符)
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII
-d 删除字符串1中所有输入字符
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串
字符范围
指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表
[a-z] a-z内的字符组成的字符串
[A-Z] A-Z内的字符组成的字符串
[0-9] 数字串
7.wc命令使用:
给定文件:word_count.txt,里面填充10行内容
按字节去统计 -c
按单词去统计 -w
按行去统计 -l
命令参数
-c:统计字节数
-l:统计行数
-m:统计字符数
-w:统计字数
-L:打印最长行的长度