【Linux】基本指令-入门级文件操作(三)

目录

基本指令

14 head指令

15 tail指令

管道

16 find指令

17 grep指令

18 zip&unzip指令

19 tar指令

20 su指令

总结


基本指令

14 head指令

功能:在屏幕上显示文件的内容,默认显示前10行,如果加上选项-n,则可以显示n行。

语法:head -n 文件名

创建一个大文件:

i=0; while [ $i -le 1000 ]; do echo $i; let i++ ; done > i.txt

进行head指令操作:


15 tail指令

功能:在屏幕上显示文件的内容,默认显示后10行,如果加上选项-n,则可以显示n行。

语法:tail -n 文件名

问:如何获取一个大文件的中间部分?

比如我想获取i.txt的第501行-510行,那就是在屏幕上显示500-509。

我可以先用head指令获取510行,存到一个新文件tmp.txt中,然后用tail指令访问tmp.txt的后10行:

head -510 i.txt > tmp.txt
tail tmp.txt

 

有没有更好的方法,不需要创建临时文件呢?有的,这里介绍一下管道: 

管道

Linux下一切皆文件,管道也是文件。在使用管道符 "|" 时, "|" 左边的进程以写的方式打开管道文件,将标准输出重定向到管道之中, "|" 右边的进程以读的方式打开管道文件,将标准输入重定向到管道之中。

因此,我们可以这么做:

head -510 i.txt | tail

 


16 find指令

功能:遍历Linux多叉树的文件结构,根据文件名、文件属性(大小、权限)等等查找文件,并作出相应的处理。

语法:find pathname -options

目前我们只需要会按文件名查找文件,同时重温一下路径的概念:

find [路径] -name [文件名]

①我先在当前目录/home/lhl下访问里面的文件i.txt: 

②然后我cd进入CSDN3目录,去find上级目录下的i.txt:

这里再拓展一些内容,/usr/bin路径下存储的是一系列指令文件,比如说我们想按名字查找一下head、tail和find指令:


17 grep指令

功能:在文件中搜索字符串,将找到的行打印出来。

语法:grep [选项] [搜寻字符串] [文件]

常用选项

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :显示出没有 ' 搜寻字符串 ' 内容的那一行

 ①先nano一个新文件,在里面写一些东西:

nano grep.txt

然后ctrl+X退出,yes,回车就可以

②进行查找操作

查找字符串a:

查找字符串aaa:

查找字符串23:

③ 常用选项的效果

-i:忽略大小写

-n:顺便输出行号

-v:显示出没有 '搜寻字符串' 内容的那一行 

注:选项之间可以自由组合! 

以上只是介绍grep的用法,grep指令的过滤行文本功能决定了它可以筛选信息,比如我们可以查看日志是否有报错:

cat /var/log/messages | grep -i 'error'

还可以将grep、find和管道|一起用,查找路径/usr/include中的C头文件stdio.h:

当然以上信息我们目前看不懂是正常的,我们只需要知道grep的功能非常强大,而且它有高亮的效果。


18 zip&unzip指令

功能:即压缩和解压

语法:zip [选项] [zip文件] [要压缩的文件]
           unzip [要解压的zip文件]

常用选项:

-r         递归压缩目录下的所有文件

-d        解压到指定目录下要带的选项

如果虚拟机下不能使用zip或者unzip指令,得先用管理员root用户下载一下:

su//切换到root
//输root的密码
yum install -y zip
yum install -y unzip

为什么要进行文件压缩? 

①多个文件合并成1个文件,防止丢失

②节省磁盘空间

③进行网络传输的时候更节省时间

注:进行目录压缩时候,必须带-r选项,否则压缩包内只有空目录!

当出现红色的.zip文件时候,说明压缩完毕。

此时我把它解压到zip目录下:

unzip lhl.zip -d zip

此时再查看zip目录的树状结构,发现解压成功了: 


19 tar指令

功能:既可以压缩,也可以解压,功能随选项的增加而增加

常用选项:

-c  :建立一个压缩文件的参数指令 (create  的意思 )
-x  :解开一个压缩文件的参数指令
-t  :查看  tarfile  里面的文件
-z  :是否同时具有  gzip  的属性?亦即是否需要用  gzip  压缩?
-j  :是否同时具有  bzip2  的属性?亦即是否需要用  bzip2  压缩?
-v  :压缩的过程中显示文件
-f  :指定名称

常用的选项组合及语法:

①新建当前目录下的CSDN3目录压缩包并命名为CSDN3.tar

tar -czf CSDN3.tar CSDN3

②将CSDN3.tar解压到当前目录

tar -xzf CSDN3.tar

注:不存在两个同名文件,同名文件解压会覆盖! 

③将CSDN3.tar解压到tar_dir目录

tar -xzf CSDN3.tar -C tar_dir

④加-v选项,可以显示压缩/解压过程

tar -cvzf CSND3.tar CSDN3
tar -xvzf CSND3.tar -C tar_dir

 

⑤请注意:选项的组合是有顺序的,-cf、-xf、-czf、-xzf、-cvzf、-xvzf等等顺序组合,不能乱序,比如必须先新建一个压缩文件-c,才能命名它-f!

总结:tar指令相当于是zip和unzip指令的结合,其功能可以通过选项的增加而增加,非常方便! 


20 su指令

功能:切换用户

语法:

su         切换为root

su [普通用户名]        切换为普通用户

①普通用户切换至root用户,需要输入root的密码

这时,输入root用户的密码,而且屏幕上是不会显示的!

博主这边输错了2次密码,输错密码就会提示:Authentication failure。

②从root用户切换至普通用户,是可以直接切换不需要输入密码的

③普通用户切换至普通用户,需要输入要切换用户的密码

博主想玩一下多用户切换,怎么给自己添加用户呢?

adduser [用户名] //添加新的用户名
passwd [用户名]  //添加或更改密码

这个操作必须在root用户下。(或者普通用户在sudoer列表内,这个后面会出文章教大家将普通用户添加入sudoer列表内,目前就在root下操作即可)

切记一定要改密码!


Linux基本指令系列总结

        Linux基础阶段的常用指令就这么多:

pwd
mkdir
touch
ls
cd
rm
cp
mv
nano
cat
echo 
重定向
more
less
head
tail
| 管道
find
grep
zip & unzip
tar
su

接下来博主会陆续更新有关权限的博客,感谢大家支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/114891.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何利用Jmeter从0到1做一次完整的压测?这2个步骤很关键!

压测,在很多项目中都有应用,是测试小伙伴必备的一项基本技能,刚好最近接手了一个小游戏的压测任务,一轮压测下来,颇有收获,赶紧记录下来,与大家分享一下,希望大家能少踩坑。 一、压…

uniapp 微信小程ios端键盘弹起后导致页面无法滚动

项目业务逻辑和出现的问题整理 新增页面 用户可以主动添加输入文本框 添加多了就会导致当前页面出现滚动条,这就导致ios端滚动页面的时候去点击输入框键盘抬起再关闭的时候去滚动页面发现页面滚动不了(偶尔出现),经过多次测试发现是键盘抬起的时候 主动向上滑动 100%出现这种问…

备份doris数据到minio

1、MINIO 设置 创建服务账户,记住ACCESS_KEY和SECRET_KEY 创建Buckets doris 设置region 在首页查看服务ip和端口号 2、创建S3备份库 因为minio是兼容S3协议的,所以可以通过s3协议链接minio。 CREATE REPOSITORY minio WITH S3 ON LOCATION "s3://…

CSC公派研究生项目|北语北外2024年寒假英语培训班正在招生

北京语言大学出国部、北京外国语大学出国部近期发布了2024年寒假“国家建设高水平大学公派研究生项目”英语培训的通知,知识人网小编特归纳整理,供有需求的同学参考。 北京语言大学 我部将于2024年寒假举办“国家建设高水平大学公派研究生项目”英语培训…

基于RK3568的新能源储能能量管理系统ems

新能源储能能量管理系统(EMS)是一种基于现代化技术的系统,旨在管理并优化新能源储能设备的能量使用。 该系统通过监测、调度和控制新能源储能设备来确保能源的高效利用和可持续发展。 本文将从不同的角度介绍新能源储能能量管理系统的原理、…

AI技术发展:防范AI诈骗,守护数字安全

随着AI技术的迅猛发展,人工智能赋予了计算机更多的能力,包括自然语言处理、图像生成、声音合成等。这些领域的突破为人们提供了全新的体验和便捷,但同时也催生了一些潜在的安全风险,其中最突出的就是AI诈骗。本文将探讨如何防范AI…

使用 PyTorch 构建自定义 GPT

一、介绍 介绍大模型,首先考虑一下使用 ChatGPT、Bing Chat 或 Bard 。您是否想过拥有自己的 ChatGPT 会是什么样子?想象一下创建自己的 GPT 模型的兴奋程度。这确实是一种难以置信的感觉! 为了开始构建自定义 GPT 的旅程,让我们仔…

算法leetcode|86. 分隔链表(rust重拳出击)

文章目录 86. 分隔链表:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 86. 分隔链表: 给你一个链表的头节点 head 和一个特…

echarts 简单渐变折线图

渐变颜色多个折线图 import * as echarts from echarts/core // 看个人项目echart引入方式 options: {tooltip: {trigger: axis},yAxis: {type: value,name: 能耗:标准煤kg},legend: {icon: circle,itemHeight: 8,itemWidth: 8,top: 1%,left: center// selectedMo…

版本控制系统-SVN

SVN Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统。 官网:https://subversion.apache.org 资料:https://svnbook.red-bean.com、https://www.runoob.com/svn/svn-tutorial.html 下载:https://sourceforg…

分享99个工作总结PPT,总有一款适合您

分享99个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1ETaGRUsTRRQq3i5PJUX7tA?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 黑金商务路演工作汇报PPT模板 古韵中国风财务计…

瑞禧生物分享~今天是 碲化银粉体 Ag2Te CAS:12002-99-2

碲化银粉体 Ag2Te CAS:12002-99-2 纯度:99% 仅用于科研 储藏条件:冷藏-20℃ 简介:碲化银是一种无机化合物,化学式是Ag2Te。它是一种单斜晶体,并以矿物的形式存在于自然界中。化学计量的碲化银具有n型半导…

自家开发VS第三方美颜SDK:技术和资源的比较

开发直播平台时,开发人员面临一个关键决策:是选择使用第三方美颜SDK,还是自家开发美颜算法?本文将深入探讨这两种方法的技术和资源方面的比较,帮助开发者更好地决定哪种途径最适合他们的应用。 一、第三方美颜SDK&am…

算法题:144.二叉树的前序遍历(递归、迭代)Java Python部分

1、递归法 其实递归法提交结果也挺好看的&#xff0c;代码如下&#xff1a; class Solution {//前序遍历public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res new ArrayList<Integer>();preorder(root, res);return res;}public vo…

一条 SQL 是如何在 MyBatis 中执行的

前言 MyBatis 执行 SQL 的核心接口为 SqlSession 接口&#xff0c;该接口提供了一些 CURD 及控制事务的方法&#xff0c;另外还可以通过 SqlSession 先获取 Mapper 接口的实例&#xff0c;然后通过 Mapper 接口执行 SQL&#xff0c;Mapper 接口方法的执行最终还是委托到 SqlSe…

*LEEDCODE 73矩阵置零

![在这里插入代码片](https://img-blog.csdnimg.cn/ab1d7d4b9d5046d8900de430249be3bf.png)1 0 0 替换两个列表 2 记录时 0 0 已经是半改好的状态

【QT】绘图设备

绘图设备是指继承QPainterDevice的子类。Qt提供了很多这样的类&#xff0c;例如QPixmap、QBitmap、QImage和 QPicture。其中&#xff0c; QPixmap专门为图像在屏幕上的显示做了优化QBitmap是QPixmap的一个子类&#xff0c;它的色深限定为1&#xff0c;可以使用 QPixmap的isQBi…

AndroidPicker的使用

项目地址&#xff1a;https://github.com/gzu-liyujiang/AndroidPicker 历史版本:https://github.com/gzu-liyujiang/AndroidPicker/blob/master/ChangeLog.md 依赖配置 // JitPack 远程仓库&#xff1a;https://jitpack.iomaven { url https://jitpack.io } 所有选择器的基…

网络套接字编程(三)

网络套接字编程(三) 文章目录 网络套接字编程(三)简易日志组件引入日志的原因日志等级打印日志函数将日志组件使用到服务端中 守护进程概念进程组、终端、会话守护进程的实现原理守护进程化组件将守护进程化组件使用到服务端中 补充知识关于inet_ntoa 在上一篇博客 网络套接字…

STM32:使用蓝牙模块

一、蓝牙概要 蓝牙是一种常见的无线通信协议&#xff0c;通常用于短距离通信。蓝牙分为经典蓝牙和低功耗蓝牙(BLE)。经典蓝牙通常用于需要持续传输数据的设备&#xff0c;比如蓝牙耳机等。低功耗蓝牙通常用于只需要间歇性传输数据的设备&#xff0c;比如运动手环。 蓝牙…