【Linux】指令详解(三)

目录

  • [1. 前言](#1. 前言)
  • [2. 常见指令](#2. 常见指令)
    • [2.1 重定向](#2.1 重定向)
      • [2.1.1 `>`](#2.1.1 >)
      • [2.1.2 `>>`](#2.1.2 >>)
      • [2.1.3 `<`](#2.1.3 <)
    • [2.2 与文件有关指令](#2.2 与文件有关指令)
      • [2.2.1 `more`](#2.2.1 more)
      • [2.2.2 `less` (推荐使用)](#2.2.2 less (推荐使用))
      • [2.2.3 `head`](#2.2.3 head)
      • [2.2.4 `tail`](#2.2.4 tail)
      • [2.2.5 `wc`](#2.2.5 wc)
      • [2.2.6 `|`](#2.2.6 |)
    • [2.3 `find`](#2.3 find)
    • [2.4 `grep`](#2.4 grep)
  • [3. 时间相关的指令](#3. 时间相关的指令)
    • [3.1 `data`](#3.1 data)
    • [3.2 时间戳](#3.2 时间戳)
    • [3.3 `cal`](#3.3 cal)
  • [4. `zip/unzip`](#4. zip/unzip)

1. 前言

继上前面篇对Linux的一些指令做了一些初步介绍后,有需要可以在主页里面查看,今天来继续分享其它有关的指令。

首先还是得先打开xshell,连接上的云服务器。

话不多说,正片开始。

2. 常见指令

在Linux中一切皆文件。

Linux可以以统一的方式来进行文件/设备访问。

向显示器上输出hello。

对于任何文件而言,就是读和写方法。

而对于显示器:

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

2.1 重定向

2.1.1 >

>:输出重定向

作用:

  1. 创建文件,清空文件
  2. 本来应该显示到显示器上的数据,显示到文件中。

注意:每次进行重定向,都会从文件开始写入文件内容。

我们可以看见创建一个文件不仅仅可以使用touch,还可以使用>加文件名

这个文件默认是空的。

它既可以用来创建一个文件,也可以用来清空一个文件。

每次重定向都会先清空再写入。那怎么才能做到不清空,直接加呢?

使用下面的命令。

2.1.2 >>

在c语言中。

>>追加重定向

它也是写入。

2.1.3 <

<输入重定向

读数据本来应该键盘上读取,现在从普通文件log.txt上读取。

总结为下面三个命令:

2.2 与文件有关指令

2.2.1 more

more 可以打印一满屏输出,就停下来,让用户下翻,逐行进行阅读。
语法 :more [选项][文件]
功能 :more命令,功能类似 cat

常用选项:
-n 对输出的所有行编号
q 退出more

按回车就能继续下翻,但是不能上翻。

2.2.2 less (推荐使用)

less 可以查看大文本,逐行查

可以按上下键

less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前,不会加载整个文件。

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

2.2.3 head

head提取文件的头

显示文件默认前10行。

提取文件的前5行,在head后面加-5

提取文件的前20行

2.2.4 tail

tail 命令从指定点开始将文件写到标准输出。

使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

tail提取文件的尾

选项:-n<行数> 显示行数

默认提取文件的倒数10行

提取文件的倒数5行

在上面的指令中,我们只能查找头和尾,那怎么找中间部分?

2.2.5 wc

wc统计文本中的行数

在big.txt中有10000行

2.2.6 |

|管道,用来级联命令

就像生活中的自来水管道,

有入口和出口,用来传输资源。

在输出头前8010行之后,在这个里面输出后10行。

级联多条指令,统计输出的行数

2.3 find

find用于在文件树种查找文件,并作出相应的处理。

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

2.4 grep

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

在big.txt中找包含999的字符串

常用选项:

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

在simple.txt中查找含xxx的行

在simple.txt中查找不含xxx的行

在simple.txt中查找含xxx的行,不区分大小写

3. 时间相关的指令

3.1 data

data显示时间

date 指定格式显示时间: date +%Y:%m:%d

可以使用格式化输出

**%H : 小时(00...23)

%M : 分钟(00...59)

%S : 秒(00...61)

%d : 日 (01...31)

%m : 月份 (01...12)

%Y : 完整年份 (0000...9999) **

显示年月:

我们可以加-方便查看

显示年月日

显示年月日,时分秒

时间在计算机中是十分重要的,在记录日志时,是离不开时间的。

3.2 时间戳

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

随着时间的推移会增大

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

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

3.3 cal

cal用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

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

常用选项:

-3 显示系统前一个月,当前月,下一个月的月历

-y 显示当前年份的日历

4. zip/unzip

zip:将目录或文件压缩成zip格式

unzip:解压

语法: zip 压缩文件.zip 目录或文件


此时将1001压缩打包到100.zip中

新建一个111test将打包后的100放在里面。

然后解压

但是发现里面的内容没有打包。

所以要加上-r

解压后看看

此时全部都打包过来了。

总结就是下面:

如果有错误,欢迎指出,大家一起进步。

相关推荐
Karoku0661 分钟前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen013 分钟前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦34 分钟前
linux 解压缩
linux·运维·服务器
牧小七2 小时前
Linux命令---查看端口是否被占用
linux
最新小梦2 小时前
Docker日志管理
运维·docker·容器
鸡鸭扣3 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu
友友马3 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
千禧年@3 小时前
微服务以及注册中心
java·运维·微服务
记得开心一点嘛4 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
Tak1Na4 小时前
2024.9.18
linux·运维·服务器