Linux基本指令(2.0)

周边知识:

1.Linux中, 一切皆文件

构建大文件 输入如下shell命令

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

 

 此时大文件已经创建在big.txt 此时我们发现cat查看无法查看开始内容 我们使用more

当占满一屏之后就不会继续,支持我们回车逐行阅读,也可以输入行数查看内容,输入q退出

但我们不推荐使用more阅读大文件内容,通常使用less 上下键就可以翻阅 

2.查日志 

有些程序运行会产生很多记录信息   在查看日志时,使用less会更加便捷

3.   管道   |

 管道可以集联两个文件的命令 例: 查看一个大文件中的中间行文件

head -9010 big.txt |  tail -11

4. wc 

统计文本行数  

wc -l  

5.时间 

时间在计算机中十分重要

 如果在日志中  查看日志就可以搭配 |

date +%s  :时间戳  单调递增的时间

时间戳 -> 时间: date -d@1508749502
Unix 时间戳(英文为 Unix epoch, Unix time, POSIX time Unix timestamp )是从 1970 1 1 日( UTC/GMT
午夜)开始所经过的秒数,不考虑闰秒

6.打包和压缩 

1.什么是打包压缩,为什么要打包压缩

a.缩小体积,占用资源比较少,占据磁盘空间比较小,下载快

b.不会轻易的丢失文件

2.怎么办 zip,unzip

 

1.输出重定向 >

首先我们使用echo命令输出语句

紧接着我们使用了   “>”   called “输出重定向”   

我们发现原本打印在显示器屏幕上的内容打印在了文件内 由此我们可以推出

输出重定向:

  1. 创建一个新的文件  或者清空文件
  2. 将显示器上的内容转移到文件内显示
  3. 每次进行重定向,都会从文件开始处写入文件
  4. 所以可以用重定向清空文件  

 

所以我们可以推出单独使用 > 是否也可以创建文件呢? 

 

答案是可以 

 1.1 输出重定向原理

1. 众所周知,在Linux中有一重要理念:一切皆文件。

也就是说我们的电脑分为键盘,鼠标,显示器等等都可以看作是文件 。键盘有读取操作 写入为空。对于任何文件来讲都可以分为 读取文件写入文件。 所以向显示器设备打印就相当于向显示器文件打印。就是 向显示器文件写入。 而‘>’ 就是重定向 将原本向显示器文件打印的内容打印到文件内。由于他是输出流,所以叫做 “输出重定向”

2.每次重定向时就相当于执行C语言的打开与关闭操作

#include <stdio.h>
int main()
{FILE* fp = fopen("log.txt","w");fclose(fp);return 0;
]

 有文件就打开 没文件就创建 打开关闭就清空

2.追加重定向 >> 

输出重定向是每次从文件开始处写入  而 追加重定向是从文件末尾处进行写入,并不会覆盖原先内容。 

2.1追加重定向原理

.当我们使用fputs时以a方式写入 就相当于追加,再进行gcc code.c   .a./out  后不会进行清空操作

只会进行追加操作。

 就相当于我们使用>> 时 进行a方式的fopen  此时只会追加,不会删除

 3.输入重定向 < 

当我们输入cat 命令时如果后面什么都不加 代表从键盘中读取文件打印到显示器文件中 

如果我们进行输入重定向,就代表将原本cat从键盘文件读取转为从log.txt文件进行读取

4.more指令

语法 more [ 选项 ][ 文件 ]
功能 more 命令,功能类似 cat
常用选项
-n 对输出的所有行编号
q 退出 more
[atong@LiWenTong ~]$ ls -l / | more
total 162
drwxr-xr-x 2 root root 4096 Apr 25 05:39 bin
drwxr-xr-x 4 root root 1024 Apr 25 04:11boot
drwxr-xr-x 9 root root 3820 May 4 23:20 dev
drwxr-xr-x 84 root root 4096 May 5 00:37 etc


 5.less指令(重要) 

 less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。 less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容! 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法: less [ 参数 ] 文件
功能
less more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前
不会加载整个文件。
选项
-i   忽略搜索时的大小写
-N   显示每行的行号
/ 字符串:向下搜索 字符串 的功能
? 字符串:向上搜索 字符串 的功能
n :重复前一个搜索(与  /   ?  有关)
N :反向重复前一个搜索(与  /   ?  有关)
q:quit

6.head指令 

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法: head [ 参数 ]... [ 文件 ]... 
功能
head  用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。 

 上图可以看出 在对应位置加入数字即可查看对应前多少行

7. tail指令

tail  命令从指定点开始将文件写到标准输出 . 使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件 ,tail -
f filename 会把 filename 里最尾部的内容显示在屏幕上 , 并且不但刷新 , 使你看到最新的文件内容 .
语法: tail[ 必要参数 ][ 选择参数 ][ 文件
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
-f  循环读取
-n< 行数 显示行数
举例 :(简单讲解重定向和管道)
有一个文件共有100行内容,请取出第50行内容<br>
seq 1 100 > test # 生成1到100的序列装入test
方法1 head -n50 test > tmp #将前50行装入临时文件tmp
tail -n1 tmp #得到中建行
方法2 head -n50 test | tail -n1

 8.时间相关的指令

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

 

 

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″ // 这样可以设置全部时间

 

9.Cal指令 

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

 

命令格式 cal [参数][月份][年份]

功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份
常用选项
-3  显示系统前一个月,当前月,下一个月的月历
-j   显示在当年中的第几天(一年日期按天算,从 1 1 号算起,默认显示当前月在一年中的天数)
-y   显示当前年份的日历

 Cal –y 2018

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

 

Linux find 命令提供了相当多的查找条件,功能很强大。由于 find 具有强大的功能,所以它的选项也很 多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统 ( NFS) find 命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的 find 命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间( 这里是指 30G 字节以上的文件系统 )
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name   按照文件名查找文件

11.grep指令 

语法: grep [ 选项 ] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ' 搜寻字符串 ' 内容的那一行

 

12.zip/unzip指令 

语法: zip 压缩文件 .zip 目录或文件
功能: 将目录或文件压缩成 zip 格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
举例
test2 目录压缩: zip test2.zip test2/*
解压到 tmp 目录: unzip test2.zip -d /tmp

 

如上图所示 ,我们先递归打包,再剪切到根目录,再解压,再tree发现操作成功 

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

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

相关文章

Unity-Shader - 2DSprite描边效果

实现一个简单的2D精灵图描边效果&#xff0c;效果如下 实现思路&#xff1a; 可以通过判断该像素周围是否有透明度为 0的值&#xff0c;如果有&#xff0c;则说明该像素位于边缘。 所以我们需要打开alpha blend&#xff0c;即&#xff1a; Blend SrcAlpha OneMinusSrcAlpha&am…

单实例应用程序

2023年12月6日&#xff0c;周三凌晨 什么是单实例应用程序 单实例应用程序可以确保在同一时间只有一个应用程序实例在运行。 通常情况下&#xff0c;当用户尝试再次启动一个已经启动过的应用程序时&#xff0c;操作系统会打开一个新的实例。但有些情况下&#xff0c;我们可能…

js中的栈(stack)和堆(heap)

什么是堆什么是栈&#xff1f; 程序运行时候&#xff0c;需要内存空间存放数据。系统划分出的两种内存空间就叫做stack&#xff08;栈&#xff09;和heap&#xff08;堆&#xff09;。 栈&#xff08;stack&#xff09;&#xff1a;由操作系统自动分配内存空间&#xff0c;自…

透明度值和注意点

透明度 透明度分为256阶&#xff08;0-255&#xff09;&#xff0c;计算机上用16进制表示为&#xff08;00-ff&#xff09;。透明就是0阶&#xff0c;不透明就是255阶,如果50%透明就是127阶&#xff08;256的一半当然是128&#xff0c;但因为是从0开始&#xff0c;所以实际上是…

react项目中使用video标签设置自动播放并未及时播放解决

react项目中使用video标签设置autoplay,但是视频不会直接播放&#xff0c;会加载一段时间后才会自动播放。 解决&#xff1a; 手动调用play方法 const videoRef useRef();useEffect(() > { if(videoRef?.current){if(videoRef?.current.paused){videoRef?.current.pla…

leetcode:1422. 分割字符串的最大得分(python3解法)

难度&#xff1a;简单 给你一个由若干 0 和 1 组成的字符串 s &#xff0c;请你计算并返回将该字符串分割成两个 非空 子字符串&#xff08;即 左 子字符串和 右 子字符串&#xff09;所能获得的最大得分。 「分割字符串的得分」为 左 子字符串中 0 的数量加上 右 子字符串中 1…

Android 12.0 Folder文件夹全屏后文件夹图标列表居中时拖拽app到桌面的优化

1.概述 在12.0的系统rom产品开发中,在Launcher3中在目前的产品需求开发中,对于Launcher3中的文件夹Folder的布局UI 进行了定制化的需求要求把Folder修改为全屏,然后在中间显示文件夹图标的列表,这时候如果Folder是全屏的话,如果拖拽文件夹列表中的app图标,只有拖拽 到屏…

html复习

html form表单作用是收集数据提交 input框体控件不在form不适用于表单提交 可编辑性:contenteditable 提示值消失&#xff1a;placeholder&#xff0c;value是初始数据 块标签&#xff1a;单独占有一个空间&#xff0c;独占一行&#xff0c;标签遵循从上到下排列。table、d…

UEC++ 探索虚幻5笔记(捡金币案例) day12

吃金币案例 创建金币逻辑 之前的MyActor_One.cpp&#xff0c;直接添加几个资源拿着就用 //静态网格UPROPERTY(VisibleAnywhere, BlueprintReadOnly)class UStaticMeshComponent* StaticMesh;//球形碰撞体UPROPERTY(VisibleAnywhere, BlueprintReadWrite)class USphereCompone…

【Linux知识点汇总】04 Linux软件包管理器RPM常用命令

RPM&#xff08;Red Hat Package Manager&#xff09;是一种用于在基于Red Hat的Linux发行版中安装、卸载、更新和管理软件包的工具 查看和显示命令 说明命令查看已安装的rpm包rpm -qa查询某个rpm包rpm -q pkg_name查看已安装rpm包提供的配置⽂件rpm -qc pkg_name查看⼀个包安…

【水】pytorch:torch.reshape和torch.Tensor.view的区别

【水】pytorch&#xff1a;torch.reshape和torch.Tensor.view的区别 注&#xff1a;本篇仅为学习笔记&#xff0c;请谨慎参考&#xff0c;如有错误请评论指出。 参考&#xff1a;Pytorch: view()和reshape()的区别&#xff1f;他们与continues()的关系是什么&#xff1f; 两者…

Flink流批一体计算(23):Flink SQL之多流kafka写入多个mysql sink

目录 1. 准备工作 生成数据 创建数据表 2. 创建数据表 创建数据源表 创建数据目标表 3. 计算 WITH子句 1. 准备工作 生成数据 source kafka json 数据格式 &#xff1a; topic case_kafka_mysql&#xff1a; {"ts": "20201011","id"…

JSON 语法详解:轻松掌握数据结构(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

postgresql-effective_cache_size参数详解

在 PostgreSQL 中&#xff0c;effective_cache_size 是一个配置参数&#xff0c;用于告诉查询规划器关于系统中可用缓存的估计信息。这个参数并不表示实际的内存量&#xff0c;而是用于告诉 PostgreSQL 查询规划器系统中可用的磁盘缓存和操作系统级别的文件系统缓存的大小。它用…

Lambda表达式用法汇总

Lambda表达式用法汇总 java8 中引入的 Lambda 表达式真的是个好东西&#xff0c;掌握之后&#xff0c;写代码更简洁了&#xff0c;码字效率也提升了不少&#xff0c;这里咱 们一起来看看 Lambada 表达式常见的写法&#xff0c;加深理解。 1、有参无返回值函数式接口 8 种写法…

【代码随想录】算法训练计划39

dp 1、62. 不同路径 题目&#xff1a; 求路径方案多少个 思路&#xff1a; 这道题就有点dp了哈 func uniquePaths(m int, n int) int {//dp&#xff0c;写过,代表的是多少种// 初始化dp : make([][]int, m)for i : range dp {dp[i] make([]int, n)dp[i][0] 1 // 代表到…

用友NC Cloud FileParserServlet反序列化RCE漏洞复现

0x01 产品简介 用友 NC Cloud 是一种商业级的企业资源规划云平台,为企业提供全面的管理解决方案,包括财务管理、采购管理、销售管理、人力资源管理等功能,实现企业的数字化转型和业务流程优化。 0x02 漏洞概述 用友 NC Cloud FileParserServlet接口存在反序列化代码执行漏…

response应用

文章目录 [TOC](文章目录) response说明一、response文件下载二、待补充。。。 response说明 response是指HttpServletResponse,该响应有很多的应用&#xff0c;比如像浏览器输出消息&#xff0c;下载文件&#xff0c;实现验证码等。 一、response文件下载 1.创建一个javaw…

springboot整合swagger

1&#xff09;简介&#xff1a; 作为后端开放人员&#xff0c;最烦的事就是自己写接口文档和别人没有写接口文档&#xff0c;不管是前端还是后端开发&#xff0c;多多少少都会被接口文档所折磨&#xff0c;前端会抱怨后端没有及时更新接口文档&#xff0c;而后端又会觉得编写接…

Spark-03: Spark SQL 基础编程

目录 1.Spark SQL 简介 2.SparkSession 3.Spark SQL 数据的读写 3.1 读写 TXT 文件 3.2 读写 CSV 文件 3.3 读写 JSON 文件 3.4 读写 Parquet 文件 3.5 读写 ORC 文件 3.6 读写MySQL数据库 4.Spark SQL 语法 4.1 SQL 语法 4.2 DSL 语法 1.Spark SQL 简介 Spark SQL…