Linux——基本指令(二)

发布时间:2023年12月18日

?

??个人主页:日刷百题

系列专栏〖C语言小游戏〗〖Linux〗〖数据结构〗?〖C语言〗

🌎欢迎各位点赞👍+收藏??+留言📝??

?

写在前面:

紧接上一章,我们在理解接下来的命令之前,先了解命令的周边知识

?一、输出重定向

?echo 指令是往显示器上打印这串字符“hello word"

注:>叫输出重定向,它有2个作用:

(1)echo +内容+>+文件名? 可以将本来输出到显示器的内容,输入到文件,并且如果再次echo +内容+>+文件名,会覆盖原来文件的内容

(2)>+文件名? ?可以创建文件(文件不存在),也可以清空文件(文件存在),也就是说创建文件有2个方式:touch和>?

二、追加重定向

注:>>叫追加重定向,每次在文件末尾增加内容

三、输入重定向

结合我们上一章节所学,cat +文件名 就是读取文件内容,写入到显示器文件中,如果cat后面什么都不加呢?

cat 指令就默认就是从输入设备(键盘)读取,写入到显示器文件中。

注:<是输入重定向,将文件打开,把文件内容写到?显示器文件中。

注:cat +文件名和? cat < 文件名虽然结果相同,但是本质不同,我们后面再谈

1. more? 指令

描述:

可以查看文件内容。

用法:

more + 文件名

more -n?文件名 //表示看哪一行的内容
q 退出?

之前我们已经有cat可以查看文件内容,为什么还有more呢?

那是因为查看大文件时,会被刷屏,不好找到想要的文件内容,这里就需要more指令了

我们这里创造一个大文件,写10000行hello world 到big.txt文件中

注:( cnt=1; while [ $cnt -le 10000 ]; do echo "hello world?$cnt"; let cnt++; done > test.txt )?

我们发现用cat 查看该文件内容,直接被刷屏了

这时我们就可以用more了,more可以打满一屏,就停下来,按enter进行逐行下翻(但不支持下翻)

1.1? 查找关键字

/999? ?意思直接找到关键字999的位置

注:按q退出

1.2? 查找行号

more? -777? 文件名? ? 意思找777行内容

一般来说more 使用的不多

2. less 指令

描述:

可以查看文件内容的命令。

用法:

less + 文件名

注:less 命令也支持查找关键字(/777? ?表示查含有777关键字的位置

注:(less 支持上下翻(直接用键盘的上下键即可))

3. head?指令

描述:

可以查看文件内容的命令。

用法:

head 文件名? ?//默认查找文件的前10行

head -20 文件名? // 查看文件的前20行

4. tail?指令

描述:

可以查看文件内容的命令。

用法:

tail? 文件名? ?//默认查找文件的后10行

?

tail -20? 文件名 //查看文件的后20行

附加知识:管道

我们想要查看这个文本的1000~1010行,我们可以怎么做?

我们可以通过管道(管道有一个入口和出口)来实现

管道的作用:

上一个指令的输出数据放进管道,下一个指令从管道里拿出来

注:这个 | 就是管道文件,管道可以用来级联,wc-l 命令(统计一共多少行)

5.?时间相关的指令

5.1? date

作用:查看时间

5.2? 用date格式化输出

Y代表年,m代表月,d代表日,H代表小时,M代表分钟,C代表秒

5.3? 查看时间戳

5.4? 将时间戳转换为具体时间

用法:date+自定义格式 -d @时间戳?

注:1970-1-1_00:00:00是格林威治时间,因为我们是中8区,所以是8点

6.?cal 指令

描述:

查看日历(西历)

用法:

cal? ?查看本月日历

cal + 年份? ?查看该年的日历

6.1? cal? ?

作用:查看本月日历

?

?6.2? cal + 年份

作用:查看该年的日历

?

7. find 指令

描述:

查找文件

用法:

find ?查找路径??-name ?文件名

?

注:查找指定地址下的 ls 命令

8. grep?指令

描述:

查找文件内容。

用法:

选项:

-i 无视大小写

-n 顺便输出行号

-v 反向选择(就是显示出你没搜索的内容)

8.1? 行文本过滤

作用:将含“999'的行号全部过滤

?

8.2???-n?

作用:将包含bit 的项及行号找出来

??

8.3? ?-v

作用:反向包含,将不含bit的所有项找出来?

?

8.4???-i

?作用:忽略大小写

?

9.? zip/unzip 指令

描述:

压缩和解压的指令。

用法:

zip + 压缩后的文件名 + 被压缩文件名

选项:

-r 递归压缩

-d 指定目录

(1)打包压缩

zip -r? 压缩后的文件名? ?被压缩文件名

作用:将当前目录下321目录及内容全部压缩到321.zip文件中?

??

(注:如果你的Linux里面没有zip,下载指令:yum install -y unzip zip(要在root用户下载))?

(2)解压文件到当前目录下

unzip? ?name.zip

作用:将321.zip压缩包转移到123目录下,在123目录下(当前目录下)解压

?

(3)解包解压到指定目录

unzip 压缩文件名??-d? 指定路径

?

注:在当前目录下,打包几个文件和目录,zip+ 压缩后的文件名 + 被压缩文件名? ?目录名(可以写几个)

注:(当前目录下全部打包,就写zip? -r??压缩后的文件名? * )

10. tar 指令

描述:

主要功能:打包压缩、解压解包。

用法:

tar + cvzf + 压缩后文件名 + 文件名?= 打包压缩

tar + xzf + 文件名 = 解压解包

(1)?tar? cvzf? name.tgz? ? 文件名

作用:打包压缩到当前目录下

注:v的作用是展示打包压缩的过程,有没有v都不影响

?

(2)? tar? -xvzf name.tgz? ?

作用:解压到当前目录下

?

(3)? tar -xvzf name.tgz? ?-C 指定路径

作用:解压到指定路径

?

那么打包压缩有什么用呢?

文件一个个传输,容易遗漏,以压缩包的方式进行传输更加好

(1)Window<->Linux之间的压缩包互传

注:这条命令创造100个文件(cnt=0; while [ $cnt -le 100 ]; do touch file${cnt}.txt; let cnt++;done)

?

?

注:sz命令是向windows系统传输文件

?

注:将Linux系统下的压缩包 传输到windows

?

注:rz命令是将windows下的文件传输到Linux

?

?

注:rz以后Linux下出现压缩包

?

(2)Linux<->Linux之间的压缩包互传

用法:scp? name.tgz 用户名@另一台Linux的机器的ip地址 :拷贝的路径

?

11. bc 命令

描述:

计算器。

用法:

bc

注:充当计算机的作用,按quit退出

?

12. uname 命令

描述:

uname用来获取电脑和操作系统的相关信息。

用法:

选项:

-r 查看操作系统内核版本

-a 查看基本信息

?

我们可以看到 3.10.0 这个其实就是我们的内核版本,x86_64位机器。?

13.?重要的几个热键

(1) Tab 按键

作用:具有『命令补全』和『档案补齐』的功能

输入开头的几个字母,双击tab就可以补齐以这几个字开头的命令

tab 键的补齐非常好用,平时进入目录的时候,也可以用 tab 键补齐。

(2)Ctrl d? 按键

作用:让当前的程序『停掉』

(3)Ctrl r 按键
?

作用:?Ctrl r 查找历史命令

只需要输入几个关键字母,就能找到之前用过的历史命令

14.?shutdown? 命令

用法:

-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
Linux服务器永不关机,记住这个点,所以这个命令不重要

Linux的常用指令基本上讲完了,希望大家阅读完可以有所收获,同时也感谢各位铁汁们的支持。文章有任何问题可以在评论区留言,百题一定会认真阅读!

文章来源:https://blog.csdn.net/zhoubancheng/article/details/134901864
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。