**
split命令
**:将大文件分割成指定大小的小文件。
split -b 1024k data.file -d -a 5
:-d表示使用数字作为后缀,-a表示后缀名的长度。
**
mv命令
**:移动文件 (mv默认是-i、-f的别名。)
mv -t opt ./*
: 将当前所以文件移动到opt目录下
mv file1.abk1 data
:把文件移动到目录中
mv source dir
mv
若目录存在将文件移到到目录,若目录不存在,则将源文件改名
mv -b file4 file3
:当file3文件存在时,先把file3文件备份了再覆盖。
mv -i file4 file3
:交互,当file3存在时,会提示是否覆盖file3
mv -f file4 file3
:强制 强制执行 。
路径
绝对路径 : 从根下开始
mv /root/123 /root/456
相对路径 : 不从根下开始
mv test 123
**
cut 命令
**:数据剪切
cat file |cut -b 0,4
:对file文件的内容进行剪切打印,-b
表示以字节为单位进行分割 ,后面跟的数字是多少就表示剪切第几个字节。
cat file |cut -b 1-4
:1-4
等于剪切第1,2,3,4这4个字节。
cat file |cut -c 1-3
:-c
表示以字符的形式进行分割。即可以分割汉字。
cat passwd |cut -d : -f 1
:-d
表示自定义分隔符,默认的分隔符为制表符 。 -f
与-d
一起使用,表示指定显示哪个区域。
cat file |cut -b 1 -n
:不以字节分割,多字节会输出。即会输出字符。
**
sort命令
** :排序
cat file | sort
:对file文件进行默认排序
cat file | sort -t ";" -k3
:-t表示自定义分隔符 。-k3表示以分隔的第三个区域为主排序。
ll |sort -k6 -M
:-M 表示以月份排序(系统要先能够识别出都是英文的月份简写的单词)
cat file2 |sort -k3 -n
:数字排序 ,可以识别10进位的数,默认排序中 ,11会排在4之前,但是用数字排序,4就会在11之前。简而言之,默认排序是以单字节排序。
cat file2 |sort -k3 -nr
:-r表示倒序排列。
cat file2 |sort -k5 -nu
:-u表示去重排列
cat file2 |sort -k5 -nuo num
:-nuo表示把排序后的结果输出到num文件中
**
uniq命令
**:去重 (相邻的两行做比较)
cat /file4 |sort |uniq -f1
:跳过几列后对比去重。
cat /file4 |sort |uniq -i -f1
:-i
表示不区分大小写字母。
cat /file4 |sort |uniq -i -s1
:-s
表示跳过第几个字符后开始对比去重。
cat file4 |sort |uniq -u
:-u
表示只显示唯一行,只显示不重复的行,只要有重复的行就不被显示。
cat /file4 |sort |uniq -w1 -d
:-d
表示只显示重复的行,其他内容不显示。-w1
表示对每行的第1个字符以后的内容不作对照。
cat /file4 |sort |uniq -w1 -c
:-c
表示统计相同的行数。在每行前加上表示相应行目出现次数的前缀编号。
unip -z, --zero-terminated
末尾生成0个字节的终止符作为输出(\0),这样的目的就是避免一条记录行因为存在空格被识别为多行。
例如:当文本中的行记录是以空格分隔,并且需要将标准输出传给xargs
,由于xargs
是以空格作为分隔符,但是实际需要将整个文本内容作为一个完整的输出,
这个时候就需要使用-z
参数在文本末尾生成\0
的终止符告诉程序整个文本作为一个整体。
**
xargs命令
**:给命令传递参数(该命令会把空格以及换行转化为空格)
echo file3 file4 file5 |xargs rm -rf
:表示将echo
输出的file3 file4 file5
作为参数传给rm -rf
命令,即此命令等同于 rm -rf file3 file4 file5
。
**
wc命令
**
cat var1 |wc -c
:-c
表示统计字节 (Linux系统上每行结尾有一个换行符)
ll |wc -l
:-l
表示统计行。
cat var1 |wc -m
:-m表示统计字符。
cat var2 |wc -w
:-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。例如 you are boy 就是4个字数。(标点符号也算一个字数)
cat var2 |wc -L
: -L表示统计最长行长度
**
tail命令
**:文后的若干行
tail yum.log |wc -l
:输出yum.log文件的内容中的文尾10行
tail -f yum.log
:动态输出,当yum.log文件中出现新的内容,也会动态的显示出新内容。
tailf -20 yum.log
:动态输出20行
tail -c 1 yum.log
:从指定 字节 处开始输出内容,从文尾向前开始计算的。
tail -n 20 yum.log
:从指定 字符处开始输出内容,从文尾向前开始计算的。
**
head命令
** :文前的若干行
head yum.log
:默认显示文章的前10行
head -c2 yum.log
:-c2表示显示文章开头的前2个字节。
head -n20 yum.log
:-n20表示显示文章开头的前20行。
**
which命令
** :which
按照PATH
的环境变量的去查文件,默认一旦找到则后面的文件就不会再查找。
file `which pwd`
which pwd
:查找pwd命令的文件位置。
which -a pwd
#查看$PATH的所有路径
**
whereis命令
** : 查找可执行文件,$PATH
whereis pwd
:查看可执行文件 + 可执行帮助文件的帮助文件的地址
whereis -b pwd
:查看可执行文件的所在地址。
whereis -m pwd
:查看可执行文件的帮助文件所在的地址
**
locate && find
**:执行locate命令前需要先安装locate所需要的的包。
find :查找真正的文件系统。
locate :通过查找locate自己的数据库去找对应的文件所在的位置。将文件系统定时的更新到自己的数据库中 。
locate的特点:查找速度快、模糊查找 、非实时查找;
updatedb
#手动触发构建索引库(更新索引库)
locate -b /etc/ passwd
:只匹配路径中的基名
locate -b -c /etc/ passwd
:统计出共有对少分符合条件的文件。
locate -r .*wd$
:正则查找
find:
find 123/ -depth -user root
:从最里层查看文件,再查目录。默认是先查目录,在查文件。