ls
功能:列出目录内容
常用选项:
-a 显示所有文件,包括隐藏的
-l 长格式列出信息
-i 显示文件 inode 号
-t 按修改时间排序
-r 按修改时间倒序排序
-h 打印易读大小单位

 

2 echo
功能:打印一行
常用选项:
-n 不加换行符
-e 解释转义符

cat
功能:连接文件和标准输出打印
常用选项:
-b 显示非空行行号
-n 显示所有行行号
-T 显示 tab,用^I 表示
-E 显示以$结尾

 

tac
功能:连接文件和倒序打印文件
常用选项:
示例:
倒序打印每一行:

wc
功能:统计文件行数、字节、字符数
常用选项:
-c 打印文件字节数,一个英文字母 1 字节,一个汉字占 2-4 字节(根据编码)
-m 打印文件字符数,一个汉字占 2 个字符
-l 打印多少行
-L 打印最长行的长度,也可以统计字符串长度

 

cp
功能:复制文件或目录
常用选项:
-a 归档
-b 目标文件存在创建备份,备份文件是文件名跟~
-f 强制复制文件或目录
-r 递归复制目录
-p 保留原有文件或目录属性
-i 覆盖文件之前先询问用户
-u 当源文件比目的文件修改时间新时才复制
-v 显示复制信息

mkdir
功能:创建目录
常用选项:
-p 递归创建目录
-v 显示创建过程

mv
功能:移动文件或重命名
常用选项:
-b 目标文件存在创建备份,备份文件是"文件名后跟~"
-u 当源文件比目的文件修改时间新时才移动
-v 显示移动信息

rename
功能:重命名文件,支持通配符

将以.htm 后缀的文件替换为.html:
# rename .htm .html *.htm

dirname
功能:去除路径的最后一个名字
常用选项:
示例:
# dirname /usr/bin/
/usr

basename

功能:打印路径的最后一个名字
常用选项:
-a 支持多个参数
-s 删除后面的后缀
示例:
# basename /usr/bin/sort
sort
# basename include/stdio.h .h
stdio
# basename -s .h include/stdio.h
stdio
# basename -a any/str1 any/str2
str1
str2

du
功能:估算文件磁盘空间使用
常用选项:
-h 易读格式显示(K,M,G)
-b 单位 bytes 显示
-k 单位 KB 显示
-m 单位 MB 显示
-s 只显示总大小
--max-depth=<目录层数>,超过层数的目录忽略
--exclude=file 排除文件或目录
--time 显示大小和创建时间
示例:
查看目录大小:
# du -sh /opt
排除目录某个文件:
# du -sh --exclude=test /opt

 

cut
功能:选取文件的每一行数据
常用选项:
-b 选中第几个字符
-c 选中多少个字符
-d 指定分隔符分字段,默认是空格
-f 显示选中字段
示例:
打印 b 字符:
# echo "abc" |cut -b "2"
b
截取 abc 字符:
# echo "abcdef" |cut -c 1-3
abc
以冒号分隔,显示第二个字段:
# echo "a:b:c" |cut -d: -f2
b

tr
功能:替换或删除字符
格式:Usage: tr [OPTION]... SET1 [SET2]
常用选项:
-c 替换 SET1 没有 SET2 的字符
-d 删除 SET1 中字符
-s 压缩 SET1 中重复的字符
-t 将 SET1 用 SET2 转换,默认
示例:
替换 SET1 没有 SET2 的字符:
# echo "aaabbbccc" | tr -c c 1
111111ccc
去重字符:
# echo "aaacccddd" | tr -s '[a-z]'
acd
删除字符:
# echo "aaabbbccc" | tr -d bbb
aaaccc
删除换行符:
# echo -e "a\nb\nc" | tr -d '\n'
abc
替换字符:
# echo "aaabbbccc" | tr '[a-z]' '[A-Z]'
AAABBBCCC

 

stat
功能:显示文件或文件的系统状态
常用选项:
-Z 显示 selinux 安全上下文
-f 显示文件系统状态
-c 指定格式输出内容
-t 以简洁的形式打印
示例:
显示文件信息:
# stat file
只显示文件修改时间:
# stat -c %y file

 

seq
功能:打印序列化数字
常用选项:
-f 使用 printf 样式格式
-s 指定换行符,默认是\n
-w 等宽,用 0 填充
示例:
数字序列:
# seq 3
1
2
3
带 0 的数字序列:
# seq -w 03
01
02
03
范围数字序列:
# seq 2 5
2
3
4
5
步长序列:
# seq 1 2 5 # 2 是步长
1
3
5