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

相关推荐
wj3055853782 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver3 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq3 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU4 小时前
Petalinux新建自动脚本启动
linux
charlie1145141914 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记4 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
于小猿Sup4 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y4 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙5206 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇7 小时前
linux 检索库 判断库是否支持
java·linux·服务器