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

相关推荐
要做一个小太阳几秒前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
江畔何人初5 分钟前
service发现
linux·运维·云原生
life码农11 分钟前
Linux系统清空文件内容的几种方法
linux·运维·chrome
zbguolei16 分钟前
虚拟机安装Ubuntu后无法登录
linux·运维·ubuntu
UP_Continue19 分钟前
Linux--基础IO
linux·运维·服务器
驱动探索者23 分钟前
linux hwspinlock 学习
linux·运维·学习
FJW02081424 分钟前
使用HAProxy实现动静分离
linux·服务器
头发还没掉光光24 分钟前
Linux 高级 IO 深度解析:从 IO 本质到 epoll全面讲解
linux·服务器·c语言·c++
爱装代码的小瓶子25 分钟前
【C++与Linux基础】进程如何打开磁盘文件:从open()到文件描述符的奇妙旅程(更多源码讲解)
linux·开发语言·c++
RisunJan27 分钟前
Linux命令-logout(安全结束当前登录会话)
linux·运维·安全