Linux基本指令(下)

目录

[1. less指令](#1. less指令)

[2. head与tail指令](#2. head与tail指令)

[3. find指令](#3. find指令)

示例

[4. grep指令](#4. grep指令)

示例

​编辑

[5. zip/unzip](#5. zip/unzip)

打包与压缩

[示例 ​编辑](#示例 编辑)

[6. tar指令](#6. tar指令)

[7. find指令: -name](#7. find指令: -name)

[8. echo指令](#8. echo指令)

[9. 时间相关的指令](#9. 时间相关的指令)


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


2.在设定时间方面


3.时间戳

[10. 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d](#10. 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d)

[11. 零散概念合集](#11. 零散概念合集)

1.文件=文件内容+文件属性

[2. 通配符 *](#2. 通配符 *)

[3. 输出重定向 > 与输入重定向 <](#3. 输出重定向 > 与输入重定向 <)

[3.1 输出重定向>](#3.1 输出重定向>)

[3.2 追加重定向>>](#3.2 追加重定向>>)

[3.3 输入重定向 <](#3.3 输入重定向 <)

[4. 强制结束程序运行(命令行不受控制的状况)Ctrl+c](#4. 强制结束程序运行(命令行不受控制的状况)Ctrl+c)

5.指令与程序

[6. 管道](#6. 管道)


1. less指令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。

但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

cpp 复制代码
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。
选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
向前翻一页:[pageup] 或 ctrl+b 或 b
向后翻一页:[pagedown] 或 ctrl+f 或 空格
向前翻半页:u
向后翻半页:d
向前翻一行:k 或 y
向后翻一行:j 或 回车
移动到最后一行:G
移动到第一行:g
向上搜索:?字符串
向下搜索:/字符串
重复前一个搜索:n
反向重复前一个搜索:N
使用配置的编辑器编辑:v
显示帮助界面:h
退出命令:q或Q
------------------------------------------------

                         

2. head与tail指令

cpp 复制代码
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 当然就是看档案的结尾。
语法: head [参数]... [文件]...
功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项: -n<行数> 显示的行数

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

3. find指令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要具有相应的权限。

在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)

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

示例

4. grep指令

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

示例

5. zip/unzip

打包与压缩

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

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

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

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

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

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

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

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

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

cpp 复制代码
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理

示例

6. tar指令

打包/解压缩,不打开它,直接看内容。

cpp 复制代码
tar [-cxtzjvf] 文件与目录 ....
参数:

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

7. find指令: -name

Linux下find命令在目录结构中搜索文件,并执行指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。

在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法: find pathname -options

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

常用选项:

-name 按照文件名查找文件

8. echo指令

echo相当于c语言中的printf,可以向显示器打印内容。

9. 时间相关的指令

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

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

cpp 复制代码
%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.在设定时间方面

cpp 复制代码
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的午夜)开始所经过的秒数,不考虑闰秒

10. 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

cpp 复制代码
[Tab]按键---具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可
以用来取代exit 

11. 零散概念合集

1.文件=文件内容+文件属性

一个空白的文本文档是否占用磁盘空间呢?

空白文件只是文件内容为空(所以是0kb)。但是文件属性也是需要被保存的,因为文件属性也是数据。这里的文件名,文件创建时间都是数据,都需要被保存。未来对文件的任何操作(用指令控制文件,用编程访问文件),无外乎就是对文件的属性和内容进行操作。

2. 通配符 *

* 可以匹配任意字符,比如我们删除 *,就是将文件中的所有文件删除。

3. 输出重定向 > 与输入重定向 <

3.1 输出重定向>

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

这里我们借用echo指令来完成。

原本没有文件的目录,使用echo 与 > 后,将字符串写入了一个名为file.txt的文件中。而这个文件原本是没有的,也就是说>可以创建文件。

> 打开文件的方式相当于c语言中的"w"方式,那么我们来看看使用>向一个原本有数据内容的文件写入字符会发生什么吧。

也就是说,使用>写入会清空文件内原本的数据。那么有没有什么方法会将数据追加到源文件数据后呢?答案是有的。

3.2 追加重定向>>

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

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

3.3 输入重定向 <

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

读取方向发生改变。

这里的cat是从键盘获取数据然后输出到显示器。

这里借用< 从文件中获取后输出到显示器。

4. 强制结束程序运行(命令行不受控制的状况)Ctrl+c

比如我们在根目录/下键入命令tree .,由于/下文件内容过多,就会一直运行,这时我们要结束程序,可以按Ctrl+c结束。

在这里我们提到了tree .为程序运行,那么我们键入的指令为什么是程序呢?

5.指令与程序

每个指令都是一个可执行的程序,用于执行特定的操作或任务。当你在终端中输入一个指令时,操作系统会解释并执行该指令所代表的程序。

指令存放在/usr/bin目录下

6. 管道

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

这里我们递归创建了一个目录同时创建了一个名为data的文件。

相关推荐
运维&陈同学15 分钟前
【第三章】Python基础之列表list与随机数
linux·运维·python·云计算·运维开发·devops
jwybobo200720 分钟前
redis7.x源码分析:(2) adlist双向链表
linux·redis
海绵波波10729 分钟前
聊天服务器(7)数据模块
android·服务器·adb
禁默1 小时前
走进Linux的历史发展史
linux·运维·服务器
努力成为DBA的小王2 小时前
Linux( 权限+特殊权限 图片+大白话)
linux·运维·服务器·学习
程序员大佬超2 小时前
Docker内存溢出报错问题解决
运维·docker·容器
vvw&3 小时前
如何在 Ubuntu 上安装 Jupyter Notebook
linux·人工智能·python·opencv·ubuntu·机器学习·jupyter
钰爱&6 小时前
【操作系统】Linux之线程同步二(头歌作业)
linux·运维·算法
DC_BLOG8 小时前
Mysql-DDL语句
服务器·数据库·mysql
Yz98768 小时前
Hive基础
大数据·linux·数据仓库·hive·hadoop·bigdata