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博客

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

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

相关文章

Python学习路线 - Python语言基础入门 - 准备工作

Python学习路线 - Python语言基础入门 - 准备工作 初识PythonPython的优点 什么是编程语言Python环境安装Windows系统Python安装Python验证 MacOS系统Linux系统 第一个Python程序常见问题 Python解释器Python解释器概念Python解释器存放位置Python解释器运行".py"文件…

Android File Transfer for Mac:畅享强大的安卓文件传输工具

作为一款功能强大的安卓文件传输工具&#xff0c;Android File Transfer for Mac&#xff08;以下简称AFT&#xff09;为Mac用户提供了便捷快速的安卓设备文件管理体验。无论是传输照片、音乐、视频还是文档&#xff0c;AFT都能满足你的需求&#xff0c;让你的文件传输更加高效…

ffmpeg 查看本地摄像头和麦克风设备名称

命令 ffmpeg -list_devices true -f dshow -i dummy 2

【代码】基于多能互补的电热联供型微网优化运行(完美复现)matlab+yalmip+cplex

MATLAB代码&#xff1a;基于多能互补的电热联供型微网优化运行&#xff0c;电热需求响应参与的综合能源微网协同优化调度&#xff0c;引入电热储能解耦电热联系&#xff0c;破解以热定电 关键词&#xff1a;热电联供型微网&#xff1b;热电解耦&#xff1b;综合能源需求响应&a…

读书笔记:《Effective Modern C++(C++14)》

Effective Modern C&#xff08;C14&#xff09; GitHub - CnTransGroup/EffectiveModernCppChinese: 《Effective Modern C》- 完成翻译 Deducing Types 模版类型推导&#xff1a; 引用&#xff0c;const&#xff0c;volatile被忽略数组名和函数名退化为指针通用引用&#…

关于安科瑞预付费系统在转供电情况下的应用-安科瑞 蒋静

1 前言 国家从2018年开始对转供电加价开展规范清理以来&#xff0c;已经出来了一系列政策&#xff0c;不仅包括专门针对转供电问题的政策&#xff0c;18-20年间还在每次降电价政策中突出强调了转供电主体不得截留降价红利的要求。从具体内容看&#xff0c;各地政策都鼓励一户一…

rtmp 协议详解

1. handshake 1.1 概述 rtmp 连接从握手开始。它包含三个固定大小的块。客户端发送的三个块命名为 C0,C1,C2&#xff1b;服务端发送的三个块命名为 S0,S1,S2。 握手序列&#xff1a; 客户端通过发送 C0 和 C1 消息来启动握手过程。客户端必须接收到 S1 消息&#xff0c;然后…

05-建造者模式-C语言实现

UML类图&#xff1a; 代码实现&#xff1a; #include <stdio.h> #include <stdlib.h>// 产品类 typedef struct {char* part1;char* part2;char* part3; } Product;// 抽象建造者类 typedef struct {void (*buildPart1)(void*, const char*);void (*buildPart2)(v…

8.4 Windows驱动开发:文件微过滤驱动入门

MiniFilter 微过滤驱动是相对于SFilter传统过滤驱动而言的&#xff0c;传统文件过滤驱动相对来说较为复杂&#xff0c;且接口不清晰并不符合快速开发的需求&#xff0c;为了解决复杂的开发问题&#xff0c;微过滤驱动就此诞生&#xff0c;微过滤驱动在编写时更简单&#xff0c;…

固定Microsoft Edge浏览器的位置设置,避免自动回调至中国

问题描述 在使用Copilot等功能时&#xff0c;需要将Microsoft Edge浏览器的位置设置为国外。但每次重新打开浏览器后&#xff0c;位置设置又自动回调至中国&#xff0c;导致每次均需要手动调整。 原因分析 这个问题的出现是因为每次启动Microsoft Edge时&#xff0c;默认打开…

VT-MRPA1-151-1X/V0/0控制2FRE16模块式模拟放大器

适用于控制带有电气位置反馈的直动式比例减压阀&#xff08;DBETR- 1X 类型&#xff09;或带有电气位置反馈的比例流量控制阀&#xff08;2FRE... 类型&#xff09;&#xff1b;控制值输入 1 0 V&#xff08;差动输入&#xff09;&#xff1b; 可分别调节“上/下”斜坡时间的斜…

RCE绕过

1.[SCTF 2021]rceme 总结下获取disabled_funciton的方式 1.phpinfo() 2.var_dump(ini_get(“disable_functions”)); 3.var_dump(get_cfg_var(“disable_functions”)); 其他的 var_dump(get_cfg_var(“open_basedir”)); var_dump(ini_get_all()); <?php if(isset($_POS…

MMdetection3.0 问题:DETR验证集上AP值全为0.0000

MMdetection3.0 问题&#xff1a;DETR验证集上AP值全为0.0000 条件&#xff1a; 1、选择的是NWPU-VHR-10数据集&#xff0c;其中训练集455张&#xff0c;验证、测试相同均为195张。 2、在Faster-rcnn、YOLOv3模型上均能训练成功&#xff0c;但是在DETR训练时&#xff0c;出现验…

分享89个节日PPT,总有一款适合您

分享89个节日PPT&#xff0c;总有一款适合您 89个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1j6Yj-7UCcUyV4V_S_eGjpQ?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

【计算机毕业设计】java网上服装商城销售系统springboot+jsp

目前互联网上的网上销售系统每天以惊人的速度增加&#xff0c;网上购物越来越成为现代年轻人的首选&#xff0c;足不出门便能选购好自己称心如意的商品。基于Java术及MySQL数据库设计与实现一个网上服装销售系统&#xff0c;要求实现用户管理、服装管理、新闻公告管理、留言管理…

vue项目报错及解决npm run build:prod打包错误

vue项目报错及解决npm run build:prod打包错误 执行dev环境时加载失败了该变量&#xff0c;在package.json文件中 删掉 解决方法&#xff1a; 打包成功&#xff1a;

03-抽象工厂模式-C语言实现

说明&#xff1a; 均由 chatgpt生成&#xff0c;实例可以看出无法运行&#xff0c;仅供参考~ 抽象工厂模式&#xff1a; 代码实现&#xff1a; #include <stdio.h>// 定义抽象产品接口 typedef struct {void (*operation)(); } AbstractProductA;typedef struct {voi…

linux设置权限_setfacl_getfacl

3.2 设置权限ACL&#xff08;access control list&#xff09; 假设&#xff1a;/data所有者与所属组均为root&#xff0c;在不改变所有者的前提下&#xff0c;要求用户tom对该目录有完全访问权限&#xff08;rwx&#xff09;。只能考虑&#xff1a; 方法一&#xff1a;给/dat…

Data Grip的安装和使用

安装&#xff1a; 1.1 双击 exe 文件安装 1.2选择安装目录&#xff0c;点击next 1.3选择安装目录&#xff0c;点击next 1.3 创建快捷方式&#xff0c;安装 1.4点击install 连接&#xff1a; 2.1 创建Project 2.2创建连接 下载驱动&#xff0c;可能时间会比较久一点&#xff0c…

保护您的数据库免受注入攻击:MSSQL注入入门指南

MSSQL注入的入门讲解 一、引言二、MSSQL注入的基础知识2.1、MSSQL数据库的基本原理和结构2.2、常见的SQL语句和操作2.3、MSSQL注入的原理和工作方式 三、MSSQL注入攻击技术3.1、基于错误的注入攻击&#xff1a;利用错误消息和异常信息3.2、基于时间的注入攻击&#xff1a;利用延…