head与tail
head----显示文件前10行
tail----显示文件后10行
查看前n行命令:
head -n +文件路径
查看后n行命令:
tail -n +文件路径
管道符:
| ----将前一输出的结果作为后一命令的输入
查看第三行内容:head -3 +文件路径 | tail -1
less和more
less +文件路径----类似于打开一个阅读器,q退出,屏幕不会 有内容残留
more+文件路径-----同样是打开一个阅读器,会自动退出,屏幕会有内容残留
数据流:
标准输入(stdin)0-----从键盘获取的输入
标准输出(stdout)1----命令执行所回传正确信息回传到屏幕
标准错误输出(stderr)2----命令执行失败后,所回传的错误信息回传到屏幕上
重定向:
输出重定向:>(覆盖) >>
输入重定向:< <<(end结束符)
> >>:
清空普通文件里的内容:
echo > +路径
ls / > dir
将 / 下的目录文件名称输入到普通文件dir下,如果dir不存在,则会创建一个dir,并将dir也输入到dir下
将报错内容放入/dev/null中
123 2>/den/null
< <<:
cat < 文件路径----读取文件的内容,(定时服务)
cat << end---使用end结束符后,会在屏幕做输出
cat > 文件路径 << end----输入end结束符后,会将输入的内容放入指定文件内
date | tee 文件路径 ---将时间输入到文件中做覆盖,同时在屏幕做输出
date | -a tee 文件路径 ----对文件内容做覆盖
vi/vim编辑器:
命令模式,编辑模式,末行模式
命令模式:
G--光标跳转到最后一行行首,g--光标跳转到第一行行首,nG--光标跳转到第n行行首,yy复制,p在光标上方粘贴,P在光标下方粘贴,dd删除当前行,u撤销
编辑模式:
iosa,IOSA进入编辑模式,I,i(光标当前位置进入,光标前输入),o,O(在光标下/上方空白行进入,光标前输入),s(删除当字母输入)S(删除当前行输入),a(光标跳转到下一字母进入)A(光标跳转到行尾进入),按键esc退出编=编辑模式
末行模式:
退出编辑模式(按键esc),:或 /进入末行模式,wq保存退出,q仅保存,w仅退出,wq!强制保存退出
相关命令:
/ set ---查询set,会将所有包含set的内容查出
: r+文件路径 ---读入文件
w +文件路径 ----文件另存为
:%s/旧内容/新内容/g-----字符替换,g光标所在行全局替换,%整篇内容替换,不加g和%光标所在行首个匹配内容替换
:set nu--显示行号
:set nonu---关闭行号显示
:1,2 co 8 ----将第一和第二行的内容复制到第8行后
grep:-查找
grep root /test/b----查找b文件内有关root的内容
grep ^root /test/a ----查找文件a内以root开头的行
grep nologin$ /test/b
grep [0-9] /test/b----查找包含0-9任意数字的行
grep [^0-9] /test/b----查找以0-9任意数字开头的行
grep ^[^0-9] /test/b----查找非以0-9任意字符开头的行
grep ^$ /test/b----查找空行
grep -v ^$ /test/b----查找非空行
cut: -切割
cut -d :-f 1,3,4 /test/b---以:为分隔符,保留1,3,4列,以空格为分隔符时,用引号‘ ’,注意前方空格
sort: -排序
sort -n /test/b---按数值大小由小到大排序,空行在首,字母行在其后(无数值)
sort -r /test/b---反向排序
sort -k :-t 2 /test/b---以:为分隔符按照第二列排序
sort -u /test/b----去重排序
uniq +文件路径 ----删除重复行
uniq -c +文件路径-----统计重复行,与sort连用做数据统计
tr:-替换
cat /test/d | tr abc ABC---将test/里的abc替换成ABC--逐个替换
tr -s---将整个字符替换成单独一个字符表示
wc:--统计
wc /test/d----统计行数,单词,字符
cp,文件复制:
cp 文件路径+新文件路径
复制的文件为全新的文件,与原文件有不同节点号
cp -a +文件路径+新文件路径 ---复制出与原文件属性内容相同(权限)的文件,例如acess,modify文件查看与修改时间相同的文件
mv:-文件剪切 --重命名
mv 文件路径 +新文件路径,新文件与原文件路径相同,名字不同,则对原文件进行重命名