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

相关推荐
_.Switch10 分钟前
Python 自动化运维持续优化与性能调优
运维·开发语言·python·缓存·自动化·运维开发
南猿北者14 分钟前
Docker Volume
运维·docker·容器
矛取矛求3 小时前
Linux如何更优质调节系统性能
linux
内核程序员kevin4 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
Ztiddler5 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
IPdodo全球网络5 小时前
如何利用静态住宅IP优化Facebook商城的网络稳定性与运营效率
运维·服务器
a1denzzz5 小时前
Linux系统的网络设置
linux·服务器·网络
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算