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

news2024/11/28 0:49:59

目录

基本指令

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

go测试库之apitest

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

万宾科技管网水位监测预警,管网水位的特点有哪些?

以往如果要了解城市地下排水管网的水位变化,需要依靠人工巡检或者排查的方式,这不仅加大了人员的工作量,而且也为市政府带来了更多的工作难题。比如人员监管监测不到位或无法远程监控等情况,都会降低市政府对排水管网的管理能力&a…

react_11

MobX 介绍 需求,组件0 改变了数据,其它组件也想获得改变后的数据,如图所示 这种多个组件之间要共享状态数据,useState 就不够用了,useContext 也不好用了 能够和 react 配合使用的状态管理库有 MobX Redux 其中…

Mac下使用nvm,执行微信小程序自定义处理命令失败

环境 系统:Mac OS 终端:zsh CPU:M1/ARM架构 node环境:nvm,node20 node目录:/Users/laoxu/.nvm/versions/node/v20.1.0/bin/ 问题 在使用微信小程序的自定义处理命令时,启动失败 提示找不…

【算法挑战】常数时间插入、删除和获取随机元素(含解析、源码)

380.常数时间插入、删除和获取随机元素 https://leetcode-cn.com/problems/insert-delete-getrandom-o1/ 题目描述 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。 …

【快速解决】Android Button页面跳转功能

目录 让我们直接开始 第一步:先建立一个新的activity ​编辑 第二步:打开第一个页面的Java文件MainActivity 方法一:直接跳转功能如下: 方法二:输入密码才能进行跳转功能如下: 需要注意的地方 结语 让…

音视频报警可视对讲15.6寸管理机

音视频报警可视对讲15.6寸管理机 一、管理机技术指标: 1、15.6寸原装京东方工业液晶触摸屏,分辨率1920 (H) x 1080 (V); 2、1000M/100M自适应双网口; 4、按键设置:报警/呼叫按键,通话/挂机按键&#xff…

RabbitMQ 消息应答与发布

目录 一、消息应答 1、自动应答(默认) 2、手动消息应答的方法 ​编辑 3、消息重新入队 4、手动应答案列与效果演示 二、RabbitMQ持久化 1、队列持久化 2、消息持久化 三、不公平分发(能者多劳,弱者少劳) 1、…

人工智能师求职面试笔试题及答案汇总

人工智能师求职面试笔试题及答案汇总 1.如何在Python中实现一个生成器? 答:在Python中,生成器是一种特殊类型的迭代器。生成器允许你在需要时才生成值,从而节省内存。生成器函数在Python中是通过关键字yield来实现的。例如&…

Linux 安装node并全局可用

前言 基于:操作系统 CentOS 7.6 工具:Xshell7、Xftp7 1.下载 根目录创建一个 node 文件夹并进入 mkdir /node && cd /node下载压缩包 wget https://nodejs.org/download/release/v16.18.0/node-v16.18.0-linux-x64.tar.gz2.解压并重命名 …

AI:53-基于机器学习的字母识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

字节测试开发面试分享,太难了...

一面 首先,自我介绍,我介绍了自己的技术栈和项目。 技术栈提到过Spring、Redis、Kafka、Docker、K8s、大数据。 项目提到过接口和UI自动化。 我有个大数据平台项目,问了比较多,聊着聊着,提到自己研究过Selenium、T…

MongoDB设置密码

关于为什么要设置密码 公司的测试服务器MongoDB服务对外网开放的,结果这几天发现数据库被每天晚上被人清空的了,还新建了个数据库,说是要支付比特币。查了日志看到有个境外的IP登录且删除了所有的集合。所以为了安全起见,我们给m…

centos9 stream 下 rabbitmq高可用集群搭建及使用

RabbitMQ是一种常用的消息队列系统,可以快速搭建一个高可用的集群环境,以提高系统的弹性和可靠性。下面是搭建RabbitMQ集群的步骤: 基于centos9 stream系统 1. 安装Erlang和RabbitMQ 首先需要在所有节点上安装Erlang和RabbitMQ。建议使用官…

【TypeScript】认识TypeScript

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 TypeScriptJavascript的缺点使用TypeScript重构TypeScript的编译环境全局安装TS编译环境TS编译简…

视频会议系统方案报价

视频会议系统 报价方案是咨询视频会议系统价格用户所关注的,但是报价是一个比较细致的工作,需要从多维度进行对比。 1. 视频会议终端设备费用:根据所需设备的数量和所选设备价格确定。视频会议终端类型各异,摄像头、麦克风、显示设…

文件上传漏洞实战getshell

目录 0x01 信息收集 0x02 寻找接口 0x03 拼接路径 0x04 权限 0x01 信息收集 通过fofa,子域名收集等相关工具搜索域名 定位到站点:htps://xx..edu.cn/x/xx/ 0x02 寻找接口 通过f12寻找相关的js,发现有其他的页面 0x03 拼接路径 https://xx…

【C语法学习】16 - fclose()函数

文章目录 1 函数原型2 参数3 返回值4 示例 1 函数原型 fclose():关闭已打开的文件,并刷新缓冲区,函数原型如下: int fclose(FILE *stream);2 参数 fclose()函数只有一个参数stream: 参数stream是一个指向FILE类型结…

curl(三)传递数据

一 基础铺垫 ① form表单回顾 关注: from表单涉及method、content-type enctype和Content-type有什么关系 ② Content-Type 思考:数据传输格式和解析类型不一致导致哪些特性? ③ application/x-www-form-urlencoded 1、GET方式 2、POST方式 ④ …

佳易王电玩手柄游戏厅倒计时语音提醒软件试用下载

佳易王电玩手柄游戏厅倒计时语音提醒软件试用下载 一、佳易王电玩PS5游戏厅计时计费软件部分功能简介: 1、计时计费功能 :开台时间和所用的时长直观显示,每3秒即可刷新一次时间。 2、销售商品功能 :商品可以绑定桌子最后一起结…