Linux--初识和基本的指令(3)

目录

1.前言

1.指令

1.1 cat指令

 1.2 echo指令

1.3 more 指令

1.4 less指令 

 1.5 什么时候使用less和more 

1.6 head指令

1.7  tail指令

1.8 wc指令

 1.9 与时间相关的指令 

1.9.1 date指令 

1.9.2  cal指令

1.10 16.find指令:(灰常重要) -name

1.11 grep指令

 1.12 文件的打包和压缩

1.12.1 什么是打包和压缩,为什么要打包和压缩?

1.12.2 zip和unzip 指令

 2.理论

2.1 '>'输出重定向&&'>>'追加重定向

2.2 '<'输入重定向

 2.3 普通文件VS显示器

2.4 '|'管道


1.前言

在前面两节我们学习了:

        1.linux用户下有自己的家目录,对于root账号:默认的家目录/root;对于普通用户的家目录:/home/XXX,XXX是新建的用户名。

        2.指令的本质就是程序。

        3.Linux是多用户的操作系统。

        4.在Linux中一切皆文件。

        5.一些指令。

本节我们将分成指令,理论两条线路去学习Linux更多的内容。

本节重点:

        1. 造出一个大文件

        2. 查看大文件中内容的指令

        3.输出重定向,追加重定向,输入重定向,管道

        4.日志,日历,时间戳

        5.打包压缩文件


1.指令


1.1 cat指令

语法: cat [选项][文件]
功能: 查看目标文件的内容

常用选项:
        -b 对非空输出行编号
        -n 对输出的所有行编号
        -s 不输出多行空行

在之前我们学习的大多是查看文件属性的命令,本条命令专门用来查看文件的内容

我们知道Linux中一切皆文件,那我们来进行如下操作:

        我们输入cat指令,但不在后面追加指令,我们发现,我们输入一个,它就会向屏幕上打印一个。按CTRL C后便可以结束输入。(这是因为cat是默认从键盘文件中读取数据,相当于C语言中的scanf。)

见理论线2.2内容。


 1.2 echo指令

语法:echo“输出的内容”

功能:向屏幕打印内容。

见理论线 2.1内容。


1.3 more 指令

语法: more [选项][文件]
功能: more命令,功能类似 cat
使用more命令打开一个文件后,你可以使用以下按键进行浏览:

        - 空格键:向下滚动一页。

        - Enter键:向下滚动一行。

        - /加关键字,跳到指定位置。

        - q键:退出命令。

构造一个大文件,请先看完理论线2.1和2.2

造大文件的脚本:

i=1; while [ $i -le 10000 ]; do echo "hello Linux $i"; let i++; done > big.txt

此时大文件已经造好了。

如果我们使用cat命令进行查看的话,那么文件中的所有内容都是会被打印出来的。我们浏览器来是十分不方便的,这时我们就可以使用more指令。


1.4 less指令 

         less指令,可以说是more指令的升级版,它包含more的功能,他相较于more使用起来更加的方便,less可以进行上下的翻查内容(按↑键往上翻,按↓键往下翻)。所有我们查看大文件的时候------推荐使用less指令


 1.5 什么时候使用less和more 

        我们以后工作的时候会查很多的日志,在查日志的时候我们会用到less和more。

什么是日志?

        日志是程序运行过程中产生的记录,它包含了程序运行的状态、错误信息等内容。日志可以帮助程序员定位和解决程序运行中出现的问题,因此在程序员的工作中非常重要。

        日志通常以文本文件的形式存储,每个日志文件都包含了某个时间段内程序运行的状态信息。日志文件通常以日期和时间命名,这样可以方便程序员查找和分析日志信息。

         日志文件通常由程序自动生成,程序员也可以手动创建日志文件。日志文件可以通过日志管理工具进行管理,日志管理工具可以帮助程序员查找、分析和删除日志文件。

        日志是程序员工作中非常重要的工具,它可以帮助程序员定位和解决程序运行中出现的问题。因此,程序员应该了解日志的概念和使用方法,并在日常工作中合理使用日志。

在Linux中的日志信息:

cat /var/log/messages

因为日志信息太庞大了,这时候就可以来利用less和more逐行的查找。


1.6 head指令

 head 用来显示档案的开头至标准输出中。

语法: head [参数]... [文件]...
功能:

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:-n<行数> 显示的行数


1.7  tail指令

tail 命令从指定点开始将文件写到标准输出.
语法: tail[必要参数][选择参数][文件]
功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:-n<行数> 显示行数

我们用head取了头,用tail取了尾,那么中间应该怎么取呢?

请看理论线2.4。


1.8 wc指令

 查看文件中的行数。


 1.9 与时间相关的指令 


1.9.1 date指令 

date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
:

  • %H : 小时(00..23)
  • %M : 分钟(00..59)
  • %S : 秒(00..61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01..31)
  • %m : 月份 (01..12)
  • %Y : 完整年份 (0000..9999)
  • %F : 相当于 %Y-%m-%d

eg:显示年月日

2.在设定时间方面


  • date -s //设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间

3.时间戳
时间->时间戳: date +%s


时间戳->时间: date -d@1508749502


Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。(为了统一全球的时间,便于网络的全球化)

有许多原因需要建立时间戳。其中一些最常见的原因包括:

        * 跟踪时间变化。时间戳可以用于识别事件发生的确切时刻,这可以帮助跟踪数据随时间的变化。

         * 确保数据完整性。时间戳可以用于验证数据没有被篡改或更改。 * 提高性能。时间戳可以用于优化数据存储和检索。

        * 遵守法规。时间戳可以用于遵守要求数据以特定格式存储或要求数据保留一定时间的法规。 时间戳是许多不同应用程序的宝贵工具。它们可以用于跟踪时间变化、确保数据完整性、提高性能和遵守法规。


1.9.2  cal指令

        cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y 显示当前年份的日历

eg:查看2018年的日历


1.10 16.find指令:(灰常重要) -name

  • Linux下find命令在目录结构中搜索文件,并执行指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
  • 即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。
  • 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:-name 按照文件名查找文件。

 此查找,可以查找文件子树下所有的此文件。


1.11 grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来

常用选项:

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

grep指令其实相当于文本过滤器:
 显示出文件中包含999的所有行


 1.12 文件的打包和压缩


1.12.1 什么是打包和压缩,为什么要打包和压缩?

         打包和压缩是在计算机领域中常用的两个概念。

         打包是将多个文件或者文件夹组合成一个单独的文件或者文件夹的过程。通过打包,可以将多个相关的文件或者文件夹整理在一起,方便存储、传输和管理。

        压缩是将文件或者文件夹通过一定的算法和方法,减小其占用的存储空间的过程。通过压缩,可以将文件或者文件夹的体积减小,从而节省存储空间和减少传输所需的时间和带宽。

打包和压缩的目的主要有以下几点:

         1. 节省存储空间:打包和压缩可以将多个文件或者文件夹整合在一起,减少占用的存储空间。

        2. 减少传输时间和带宽:通过压缩文件或者文件夹,可以减小其体积,从而减少传输所需的时间和带宽。

         3. 方便传输和分享:打包和压缩后的文件或者文件夹可以方便地进行传输和分享,减少传输错误和丢失的风险。

        4. 方便管理和备份:通过打包和压缩,可以将多个相关的文件或者文件夹整理在一起,方便进行管理和备份。

         总而言之,打包和压缩是为了提高存储和传输效率,方便管理和分享文件或者文件夹。


1.12.2 zip和unzip 指令

语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:-r 递 归处理,将指定目录下的所有文件和子目录一并处理
eg:(失败的打包案例)

        1.首先我们先造一批文件

我们发现所有的文件都是在data2目录下

        2.我们把data2打包一下(zip)

        3.然后我们把111.zip解压一下,看有什么效果(unzip)

此时我们把data2解压出来了。

此时data2中什么都没有,这说明我们这次打包是失败的,并没有打包data2中的内容

eg:成功的打包案例

      1. zip -r 递归式的打包压缩

        2.unzip ,此时发现data2中的内容全都被解压出来了


 2.理论


2.1 '>'输出重定向&&'>>'追加重定向

'>'输出重定向:将程序的输出重定向到一个文件或其他设备,而不是在终端上显示。这可以用于保存输出以供以后使用,或将一个命令的输出重定向到另一个命令的输入。

        补充概率见2.2 普通文件VS显示器

1.'>' (相当于C语言中以写'w'的方式打开文件)

我们可以看到本该输出到屏幕上的hello,却到了t.txt文件中。

这时我们发现:

        1.1> 可以直接创建一个文件。

        1.2 本该显示到显示器上的数据,显示到了文件中。

        1.3 清空写入的内容

我们可以看到我们上一次所写的内容没有了,显示的是当前所写入的内容。


2.>> (相当于C语言中以追加'a'的方式向文件写入内容)

        >>与>不同的是,>>不会清空文件内容,而是在上一次写入到末尾继续写入新的内容。


2.2 '<'输入重定向

 暂时只介绍<,不对<<做介绍。

’<'输入重定向:输入重定向是指将文件的内容作为命令的输入。(相当于C语言中以读的方式'r'打开文件)

读取方向发生改变。

本来cat要由键盘文件输入,现在转变为由t.txt文件输入。


 2.3 普通文件VS显示器

        Linux中一切皆文件         

        对于任何文件来讲,读和写文件:

显示器设备->显示器文件->向显示器文件打印,向显示器文件写入 。

也就是说输出重定向的作用我们可以初步理解为:将写入显示器文件的内容,重新输出到普通文件中。


2.4 '|'管道

        | 是 Linux 命令行中的一个特殊字符,它可以将一个命令的输出作为另一个命令的输入。这可以用于连接多个命令,或者将一个命令的输出传递给一个文件。就类似于管道的作用,用于连通。

eg:我想查看大文件中4991行到5000行的内容。

我们先用head去到了前 5000行,然后用管道连接tail指令去到了前5000行的后10行

前文:

Linux--初识和基本的指令(1)-CSDN博客

Linux--初识和基本的指令(2)-CSDN博客

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

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

相关文章

千梦网创:熟悉抖音内容创作的切入方式

因为身边抖音网红的资源比较近&#xff0c;所以虽然一直没有露脸去做短视频运营&#xff0c;但是最近也是跟随朋友一起开始了短视频的学习之路。 在参观过一些“超级直播间”之后&#xff0c;我们敲定了未来的两个盈利方向&#xff0c;这两个方向可以将我们身边的资源极致利用…

MyBatis-逆向工程

1.简单生成 1.添加依赖和插件 <dependencies><!-- MyBatis核心依赖包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><!-- MySQL驱动…

金蝶Apusic应用服务器deployApp接口任意文件上传漏洞复现 [附POC]

文章目录 金蝶Apusic应用服务器deployApp接口任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 金蝶Apusic应用服务器deployApp接口任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明…

【前端】-【electron】

文章目录 介绍electron工作流程环境搭建 electron生命周期&#xff08;app的生命周期&#xff09;窗口尺寸窗口标题自定义窗口的实现阻止窗口关闭父子及模态窗口自定义菜单 介绍 electron技术架构&#xff1a;chromium、node.js、native.apis electron工作流程 桌面应用就是…

常见的攻击防护

只做模拟机器使用&#xff0c;不使用真实机器 目录 一、 DHCP饿死和防护应对措施.................................. 1 1&#xff0c; 实验拓扑&#xff1a;...................................................... 2 2&#xff0c; 实验配置............................…

Web自动化测试怎么做?Web自动化测试的详细流程和步骤

1.什么是web自动化测试 自动化&#xff08;Automation&#xff09;是指机器设备、系统或过程&#xff08;生产、管理过程&#xff09;在没有人或较少人的直接参与下&#xff0c;按照人的要求&#xff0c;经过自动检测、信息处理、分析判断、操纵控制&#xff0c;实现预期的目标…

opencv阈值处理

阈值处理 二值化 自适应阈值 OTSU二值化

latex表格中内容过多如何换行【已解决】

最近在写论文的时候放了一个表格&#xff0c;但是表格看起来特别大&#xff0c;因为想让某些内容多的单元格完成换行操作 首先在main.tex引入makecell包 \usepackage{makecell} 然后回到表格找到你想换行的单元格&#xff0c;把\makecell{}加进去&#xff0c;然后在需要换行的…

基于物联网技术的基站能耗监控解决方案-安科瑞 蒋静

摘 要&#xff1a;随着社会的不断发展和进步&#xff0c;人们对通信基站的需求增加。随着通信基站大规模的建设和使用&#xff0c;基站内部的电源情况、供电安全保障或节能减排等问题&#xff0c;仍然是基站建设的着重问题。不管是建设者还是使用者&#xff0c;都应当注重用电安…

[socket 弹 shell] msg_box3

前言 题目比较简单&#xff0c;没开 Canary 和 NX. Arch: amd64-64-littleRELRO: Full RELROStack: Canary foundNX: NX disabledPIE: PIE enabledRWX: Has RWX segments 漏洞利用与分析&#xff1a; 白给的函数调用&#xff0c;其中 ptr 10 是用…

Long-Context下LLM模型架构全面介绍

深度学习自然语言处理 原创作者&#xff1a;cola 随着ChatGPT的快速发展&#xff0c;基于Transformer的大型语言模型(LLM)为人工通用智能(AGI)铺平了一条革命性的道路&#xff0c;并已应用于知识库、人机界面和动态代理等不同领域。然而&#xff0c;存在一个普遍的限制:当前许多…

模拟业务流程+构造各种测试数据,一文带你测试效率提升80%

我们做软件测试的时候&#xff0c;经常需要页面有点数据&#xff0c;特别是涉及到一些数据统计的测试用例的时候&#xff0c;更是需要源源不断的测试数据让前端页面生成对应的报表测试统计的数据正确性。 如果我们通过手工的方式操作业务流程来实现数据的构造的话&#xff0c;少…

【Cisco Packet Tracer】子网划分的计算及实验

子网划分&#xff1a;Internet组织机构定义了五种IP地址&#xff0c;有A、B、C三类地址。A类网络有126个&#xff0c;每个A类网络可能有16777214台主机&#xff0c;它们处于同一广播域。而在同一广播域中有这么多节点是不可能的&#xff0c;网络会因为广播通信而饱和&#xff0…

在 ArcGIS 软件中添加左斜宋体(东体)的方法与步骤

河流水系在作图时一般设置为左斜宋体&#xff08;东体&#xff09;、蓝色&#xff0c;比如黄河、青海湖等&#xff0c;如下图所示&#xff1a; 标准地图水系注记 下面讲解如何在 ArcGIS 软件中添加左斜宋体&#xff08;东体&#xff09;&#xff0c;首先需要下载左斜宋体&#…

【开源】基于JAVA语言的校园疫情防控管理系统

项目编号&#xff1a; S 037 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S037&#xff0c;文末获取源码。} 项目编号&#xff1a;S037&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生2.2 老师2.3 学校管理部门 三、…

《管家婆》辉煌2005+(V4.0)简单教程

《管家婆》辉煌2005&#xff08;V4.0&#xff09;简单教程 呉師傅 运行环境&#xff1a;   操作系统推荐使用Win2000&#xff08;32位&#xff09;、WinXP&#xff08;32位&#xff09;、Win7&#xff08;位&#xff09; 兼容&#xff1a;Win7&#xff08;64位&#xff09…

阿里云MySQL从 2003->1251->1396

目的 由于需要在阿里云的实例中装MySQL数据库&#xff0c;安装前期&#xff08;本地访问&#xff09;还是挺顺利的&#xff0c;但是到了远程连接的时候&#xff0c;却出现了一系列的Bug&#xff0c;以为是没有 实名认证没有备案 的原因导致的&#xff0c;但是后来…

vue中中的动画组件使用及如何在vue中使用animate.css

“< Transition >” 是一个内置组件&#xff0c;这意味着它在任意别的组件中都可以被使用&#xff0c;无需注册。它可以将进入和离开动画应用到通过默认插槽传递给它的元素或组件上。进入或离开可以由以下的条件之一触发&#xff1a; 由 v-if 所触发的切换由 v-show 所触…

Kubernetes中PostgreSQL的推荐方法

1*HDp3_wvu78Vaa-4C9NFHaQ.gif 你是否曾听说过避免在Kubernetes中运行数据库的建议&#xff1f;有人认为Kubernetes不适合有状态的应用程序&#xff0c;但这些说法是否属实&#xff1f;让我们深入探讨并挑战这些说法。 Kubernetes&#xff1a;有关有状态工作负载的误解平台 在涉…

Zabbix 6.0部署+自定义监控项+自动发现与自动注册+部署zabbix代理服务器

Zabbix 6.0 Zabbix 6.0一、关于zabbix1、什么是zabbix2、zabbix工作原理3、zabbix 6.0 特性4、zabbix 6.0 功能组件 二、Zabbix 6.0 部署1、 部署 zabbix 服务端(1) 部署 Nginx PHP 环境并测试(2) 部署数据库(3) 编译安装 zabbix server 服务端(4) 部署 Web 前端&#xff0c;进…