Linux操作系统使用及C高级编程-D4Linux shell命令(文件搜索、文件处理、压缩解压)

查看文件相关命令

cat

cat file:将文件内容输出

cat:等待输入,在屏幕上输入什么,就输出什么

tac

cat file:与cat相反,将文件内容从后往前输出

more

more file:在屏幕上显示一页的文件内容,若想继续显示可按回车键

less

less file:在屏幕上显示一页的文件内容,使用上下键操纵显示内容,按q结束。与more不同是仅显示一页内容

显示前十行

硬链接和软链接

硬链接可以作备份使用,软连接可以作文件别名使用

ls -i file:查看文件的inode号

ln

ln -s target link_name

-s:创建软链接,若没有则默认创建硬链接(和目标文件具有相同的inode)

target:目标文件

link_name:链接文件名

文件搜索相关命令

文件名查找find

find [起始目录] 寻找条件 操作

find . -name "file":在当前目录下寻找名字叫file的文件

find /home "file":在home目录下寻找file文件

按普通文件/链接文件查找

与或非

找到名字不是file的文件,并执行rm操作

文件内容查找grep

在当前目录下查找,忽略大小写,显示行号

which

定位命令存在何处

whereis

相比较which,可显示源码、man手册等的位置

文件处理相关命令

剪切文件内容cut

在/etc/passwd中查找linux行的内容,并通过管道输出给cut命令,cut使用-c 1取出第一个字符l

取前三个字符也可用:1-3,从头取到尾端:1-,从头取到5:-5

以字符linux为分隔符,取出第一段,第二段,第一二段

查看并修改文件中的内容sed

打印文件中内容1-4行:sed '1,4p' file

删除文件第一行:sed -i '1d' file

删除文件最后一行:sed -i '$d' file

往文件最后一行追加hi:sed -i '$ahi' file

将文件中的linux换成Linux:sed -i 's/linux/Linux/g' file

其中/g的作用是全部替换,不加则是只替换第一个

替换20-34行的文件内容Linux为Lee:sed -i '20,34s/Linux/Lee/g' file

文件内容行操作awk

pattern是命令

打印完整记录

打印第一列

打印第一二列

打印第一列,并显示打印出列的有多少列

打印最后一列

awk是以空行作为分割符,若想指定分割符,可使用-F命令,下图若不指定以:为分割符则会打印全部内容,而不是第一列

判断第一列中是否有tftp,若有,则全部打印

直接将第一列赋值为tftp,并打印

解压缩相关命令

gzip和gunzip

将一个文件压缩和解压缩.gz文件

缺点是:没有归档功能,只能一次压缩或者解压缩一个文件

而看下图的命令,是对文件分别压缩

下图中表明,如果是一个目录则无法进行压缩

bzip和bunzip

zip和unzip

使用方式,可对多个文件一起归档压缩

解压缩

使用最多tar

​​​​​​​​​​​​​​​​​​​​​​

使用-cf是进行归档成指定文件名

使用-cjf命令将文件归档压缩为test.tar.bz2文件,使用-czf同样的道理

对test.tar.bz2进行解压缩​​​​​​​​​​​​​​​​​​​​​​​​​​​​

对test.tar.gz进行解压缩

记住:tar就是使用xvf,tar.bz2就是使用xvjf,tar.gz就是使用xvzf

相关推荐
对你无可奈何22 分钟前
关于Ubuntu的 update造成的内核升级
运维·服务器·ubuntu
qq_312920111 小时前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua1 小时前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm1 小时前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦1 小时前
ELK 集群部署实战
运维·jenkins
不掰手腕1 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen2 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉2 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说2 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx