普通文件:
创建
touch 文件名 创建文件(空的)
vi/vim 文件名 创建文件
tee 命令+重定向符号
查看
tac 查看文件内容(倒序输出)
cat (正序输出)
head (默认输出前十行)
-n(数值)(输出n行)
数字(输出n行)
tail (默认输出后十行,其余操作同上)
| 管道符,连接两条命令
eg。想输出第n行
head -n file | tail -1
more 路径 (相当于打开一个阅读器)(空格下一页,小b上一页)
less 路径 (看完提示end,按q退出)(空格下一页,小b上一页)
删除
rm 文件 删除文件(注意-f选项)*f 删库跑路
编辑内容
重定向符号
输出重定向
>文件 标准输出(覆盖文件)
命令 2>文件 标准错误输出(不输出在屏幕上)
>>文件 (在文件中追加)
输入重定向
<文件 (覆盖)
eg.
cat < file 文件输出到屏幕上
<<文件 (追加)
eg.
cat <<标记符 键盘多行输出到屏幕上,键入标记符回车结束
' ' 强引用,里面关键词失效
" " 弱引用,不失效
echo 把接下来输入的输出到屏幕上
tee 同时输出到文件和屏幕
命令 | tee 文件
其他操作
复制文件
cp 原文件 新文件(注意路径)
移动文件
mv 原文件 新文件
移到原路径但改名字就是重命名
过滤文本(查找字符串)
grep 字符 文件 ()
'字符$’找以字符结尾的
'字符^’找开头
[0-9]找0到9的
[abc]找跟a,b,c有关的
'^$'找空行
-v 反选
^[字符] 非。。。
命令 | grep 查找命令里符合的
切割显示
cut 选项 路径(按列切的)
-d 指定分隔符 (' ' 表示空格)(只能单个字符)
-f 指定字段
排序显示
sort 选项 路径 (按ascll排)
-r 反向
-n 按数值排
-u 去重
去重显示
uniq 路径 (只能删除连续的)
-c 显示次数
一般和sort组合使用
替换显示
tr 集合2 集合1 把2用1替换(集合2要包含集合1)
一般和cat连用
统计
wc 路径 (统计行,单词数,字符)
-l 统计行数
-w 统计单词
(统计对应缩写,可以组合)
查找文件
which(对应命令,执行文件)
which 命令 看别名
whereis(对应命令,执行文件)
whereis 命令 命令在哪
locate(显示数据库相关信息)
locate 命令 显示库里的
find 位置 条件(最重要)
-name找名字匹配
*通配符,可以代替字符搜索(哪怕字符数量不匹配也会输出)
?通配符,可以代替字符搜索(必须匹配够字符才会输出)
-size 大小 按这个大小找
+大小 大于做个大小的
-大小 小于这个大小的
-perm 按权限找
-time 数字
atime 访问时间(创建时间)
ctime 修改权限时间
mtime 内容修改时间
-n n天内修改的内容
n 前n到n+1天修改的内容
+n n+1天前修改的内容
-exec {}命令 \ ;(类似于管道符)
压缩和解压
zip
zip 文件 压缩文件
-m 压缩文件 文件 把文件添加进压缩包
-d 压缩文件 文件 把文件从压缩包删除
unzip 文件 解压缩文件
-v 压缩文件 不解压查看文件信息,不看内容
gz
大致与zip相同,-v可查看内容
归档
tar 必选三选一(c 创建,x 释放,t 查看)
(必选项)f 包名(放在最后)
--exclude=文件 路径(统一使用绝对或相对路径)
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
(可选项) 一旦使用,不可在添加文件进行压缩
-z : 压缩时用gzip 压缩,则查看时也必须加上
-j : 压缩时用bzip2 压缩,则查看时也必须加上
-v :压缩的过程中显示文件
-f :命名,f后立即跟名字故放在可选项的最后使用
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩
--exclude 文件:在压缩的过程中,不打包某个文件
小作业
1、文件查看:查看/opt/passwd文件的第6行
2、文件查找
(1)在当前目录及子目录中,查找大写字母开头的txt文件
(2)在/etc及其子目录中,查找host开头的文件
(3)在$HOME目录及其子目录中,查找所有文件
3、查找文件 /usr/share/rhel.xml 中包含字符串 re 的所有行。将所有这些行的副本按原始顺序放在文件/root/files 中
将整个 /etc 目录下的文件全部打包并用 gzip 压缩成/back/etcback.tar.gz
一
文件查看:查看/opt/passwd文件的第6行
如果没有passwd文件就从etc下复制一个过来
![](https://img-blog.csdnimg.cn/img_convert/4753f1372a8986d73332b8b0be92e617.png)
![](https://img-blog.csdnimg.cn/img_convert/2f71cf515d4672c44be6a6b7f33e1768.png)
二
文件查找
(1)在当前目录及子目录中,查找大写字母开头的txt文件
![](https://img-blog.csdnimg.cn/img_convert/47dd1966661512f6f2b18ec33337db58.png)
(2)在/etc及其子目录中,查找host开头的文件
![](https://img-blog.csdnimg.cn/img_convert/1827dfc1de4502b40bcdf5bc560c2c4f.png)
(3)在$HOME目录及其子目录中,查找所有文件
![](https://img-blog.csdnimg.cn/img_convert/7371e4f2b47e028777c610593956474a.png)
三
查找文件 /usr/share/rhel.xml 中包含字符串 re 的所有行。将所有这些行的副本按原始顺序放在文件/root/files 中
提示:部分版本可能没有这个文件,可以用/usr/share/xml/xml.xsd代替练习
![](https://img-blog.csdnimg.cn/img_convert/14ca2bffc274fb6e0351cd67f8c6b827.png)
这是查出来的行
![](https://img-blog.csdnimg.cn/img_convert/0f7ed9905ce8b7cec48cdcbbd249262a.png)
这是整体,注意,管道符的作用,个人理解:如果前一个命令会往屏幕上输出东西,那么可以看作临时生成了一个文件,后续命令中默认对这个文件进行操作
四
将整个 /etc 目录下的文件全部打包并用 gzip 压缩成/tmp/etcback.tar.gz
![](https://img-blog.csdnimg.cn/img_convert/46805a07877ee7cd348971f5cab9d17b.png)
不用担心那行提示,大致就告诉你那是绝对路径,注意点
![](https://img-blog.csdnimg.cn/img_convert/87289a778e8440d3695a0eb88ed1ec73.png)
已经在里面了
![](https://img-blog.csdnimg.cn/img_convert/122ad5c9a4db2ddeae45b4575e61855a.png)
看一眼,无误