【Linux】入门指南:基础指令详解Part Two

引言

在上一篇博客中,我们介绍了Linux系统的一些基础指令,这些指令对于初学者来说非常实用。本篇博客将接着上一篇的内容,继续介绍一些Linux进阶指令与系统管理技巧,帮助大家更好地掌握Linux系统。

💦上期回顾:【Linux】入门指南:基础指令详解Part One

目录

引言

常见指令介绍(续)

1、mv指令

2、echo指令

3、more指令

4、less指令

[4.1 日志文件:](#4.1 日志文件:)

5、head指令

6、tail指令

7、date指令

[7.1 时间戳](#7.1 时间戳)

8、cal指令

9、find指令

10、whereis指令

11、grep指令

💦与日志文件相关的常用指令:

12、zip/unzip指令

[12.1、压缩包Linux / Windows互传](#12.1、压缩包Linux / Windows互传)

sz指令:Linux->Windows

rz指令:Windows->Linux

13、tar指令

14、bc指令

15、uname指令

16、几个重要的热键(重要)

17、关机命令

18、扩展指令

19、重定向操作

20、文件属性

总结


常见指令介绍(续)

1、mv指令

语法: mv [选项] 源文件或目录 目标文件或目录

*功能:*将源文件或目录转移到目标文件或目录;如果目标文件或目录不存在,就会修改源文件或目录的名字;当目标目录中已经有一个与源文件文件名相同的文件时,将会覆盖目标目录下的文件的内容。

选项:

-f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖!
💦可视化测试

bash 复制代码
// 指令:
mv test.c hds
bash 复制代码
// 指令:
mv test.txt temp.txt
bash 复制代码
// 指令:
mv -f src.txt hds

2、echo指令

功能:将指定内容打印到显示器上。

💦可视化测试

指令:echo "hello Linux"

bash 复制代码
// 指令:
echo "hello Linux"

3、more指令

语法: more [选项]

功能:more命令,功能类似 cat

常用选项:

-n :指定输出行数

•**q :**退出more

4、less指令

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

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

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

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

操作键如下:

|-------------|--------------|
| 操作键 | 功能 |
| 空格键 | 显示下一屏 |
| Enter 键 | 一次向上滚动一行 |
| b | 回滚一屏 |
| f | 前滚一屏 |
| q | 退出 |
| Pgup | 回滚一屏 |
| Pgdn | 前滚一屏 |

语法: less [参数] 文件

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

选项:

-i 忽略搜索时的大小写

-N 显示每行的行号

/字符串:**向下搜索"字符串"**的功能

?字符串:**向上搜索"字符串"**的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

💦可视化测试

a. 指令:less /var/log/messages

即打开日志文件

4.1 日志文件:

/var/log/messages是 Linux 系统中一个至关重要的日志文件,尤其在 CentOS、RHEL (Red Hat Enterprise Linux) 和 Fedora 等发行版中。日志文件主要记录了系统启动信息、内核消息、服务状态、应用程序日志等。

tail -f /var/log/messages (实时监控)

grep "关键词" /var/log/messages (搜索)

以上是两个查看日志文件的常用指令,我们下面做详细的介绍。
b. 我们先运行一段脚本(即向temp.txt 文件写入20条 hello n):

bash 复制代码
// 指令(脚本):
cnt=0; while [ $cnt -le 20 ]; do echo "hello"; let cnt++; done > temp.txt

输入指令:

bash 复制代码
cat temp.txt
bash 复制代码
// 指令:
less -N temp.txt

即再每一行的前面添加行号:

5、head指令

上面当我们打开日志文件后,由于信息太多就会刷屏,有时候我们可能只是想看一下最开始的几行日志,就可以用head指令。

语法: head [参数]... [文件]...

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

选项:-n显示的行数
💦可视化测试

bash 复制代码
// 指令:
head -5 /var/log/messages

6、tail指令

tail指令则是查看结尾的几行,也是查看日志文件时最常用的一个指令。

语法: tail 必要参数 [文件]

*功能:*用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项: • -f 循环读取

-n 显示行数
💦可视化测试

bash 复制代码
// 指令:
tail -5 /var/log/messages

7、date指令

功能:按指定格式显示时间

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

其中常用的标记 列表如下

• %H : 小时

• %M : 分钟

• %S : 秒

• %X : 相当于 %H:%M:%S

• %d : 日

• %m : 月份

• %Y : 完整年份

• %F : 相当于 %Y-%m-%d

7.1 时间戳

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

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

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

bash 复制代码
// 指令:
date +%Y-%m-%d-%H-%M-%S
bash 复制代码
// 指令:
date %X
bash 复制代码
// 指令:
date +%s
bash 复制代码
// 指令:
date -d@1760000581

8、cal指令

cal命令可以用来显示公历(阳历)日历。

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

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

常用选项:

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

-j显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y显示当前年份的日历
💦可视化测试

bash 复制代码
//指令:
cal -3
bash 复制代码
// 指令:
cal -j
bash 复制代码
// 指令:
cal -y

9、find指令

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

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

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

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

语法:find pathname -options

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

常用选项

-name 按照文件名查找文件

• 其他选项需要在查,这个命令其实比较复杂
💦可视化测试

bash 复制代码
// 指令:
tree
find /root/hds test.c

10、whereis指令

功能:用于找到程序的源、二进制文件或手册

💦可视化测试

bash 复制代码
// 指令:
whereis pwd
whereis tree

11、grep指令

语法:grep [选项] 搜寻字符串 文件

功能:在文件中搜索字符串,将找到的行打印出来

常用选项:

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

-n :顺便输出行号

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

💦与日志文件相关的常用指令:
bash 复制代码
# 在 messages 日志中搜索所有包含 "error" (错误) 的行
grep "error" /var/log/messages

# 忽略大小写搜索 "error" 或 "Error"
grep -i "error" /var/log/messages

# 搜索关于 "cron" 服务的日志
grep "cron" /var/log/messages

💦可视化测试

先创建一个文件并nano写入数据

bash 复制代码
// 指令:
cat | grep -n "first" test.txt
bash 复制代码
// 指令:
cat | grep -n -i "first" test.txt

12、zip/unzip指令

zip(打包压缩):

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

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

常用选项

•****-r递归处理,将指定目录下的所有文件和子目录一并处理

**注意:**当要打包压缩的目录下还有子目录或文件时,必须加上 -r 选项,才能将所有的目录与文件打包压缩到一块。

unzip(解压缩):

语法:unzip *.zip [选项] /[路径]

常用选项:

**-d :**解压缩到指定路径。

**•**举例

将test2目录压缩:zip test2.zip test2/*

解压到tmp目录:unzip test2.zip -d /tmp
💥为什么要对文件进行打包压缩操作那呢?

打包:防止文件丢失。

压缩:减少体积,节省存储空间,可以有效减少网络传送的时间。

zip指令其实是打包和压缩的结合,同时完成。
💦可视化测试

bash 复制代码
# 指令:
zip -r test.zip test
bash 复制代码
# 指令:
unzip test.zip -d /hds
12.1、压缩包Linux / Windows互传

首先我们需要安装对应的软件包(CentOS系统):lrzsz

bash 复制代码
# 安装指令:
yum install lrzsz
sz指令:Linux->Windows

传送过程:

  1. 先输入指令:sz *.zip
  1. 然后会弹出Windows弹窗:
  1. 最后选择你要传送的文件夹:比如桌面
rz指令:Windows->Linux

传送过程:

  1. 输入指令:rz
  1. 在Windows 的弹窗中选择你要传送到Linux的文件或压缩包等

(这里我选择刚刚的test.zip压缩包)

  1. 显示传送完毕

13、tar指令

tar指令,直接根据相应的参数来打包/解包,不打开它,直接看内容

语法: tar [-cxtzjvf] 文件与目录 ....

参数:

-c:建立一个压缩文件的参数指令(create 的意思);

-x:解开一个压缩文件的参数指令!

• -t :查看 tarfile 里面的文件!

-z:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

• -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

• -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C解压到指定目录
常用的打包/解包的指令:

注意

1、参数一般为:

czf:打包

xzf:解包

参数前面推荐不写 -压缩包后缀一般为:.tgz

2、-C解压缩到指定路径,C为大写

bash 复制代码
# 指令:
tar czf test.tgz test
bash 复制代码
# 指令:
tar xzf test.tgz -C /root

14、bc指令

bc命令可以很方便的进行浮点运算,即相对于一个计算器,结束用Ctrl+C

bash 复制代码
# 指令:
bc

15、uname指令

语法:uname -r

功能: uname用来获取电脑和操作系统的相关信息。 补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

bash 复制代码
# 指令:
uname -r

其中x86_64就是电脑的芯片架构 (硬件角度)和体系结构(软件角度)。

16、几个重要的热键(重要)

|------------|------------|
| 热键 | 功能 |
| Ctrl+C | 终止异常任务 |
| 上下键 | 查看历史命令 |
| Tab | 补充指令 |
| Ctrl+R | 搜索历史命令 |
| Ctrl+D | 退出当前用户 |

17、关机命令

语法:shutdown [选项]

常见选项:

• -h:将系统的服务停掉后,立即关机。

• -r:在将系统的服务停掉之后就重新启动

• -t sec:-t 后面加秒数,亦即『过几秒后关机』的意思

18、扩展指令

• 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、 exit、last;

• 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

• 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、 mail、 nslookup;

• 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、 who;

• 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

19、重定向操作

> :向文件写入内容,若文件不存在则新建之;每次写入,先清空之前的内容再写入。

bash 复制代码
# 指令
echo "hello Linux" > temp.txt
cat temp.txt
bash 复制代码
# 指令
echo "aaaa" > temp.txt
cat temp.txt


>>:追加重定向,不会清空之前的内容

bash 复制代码
# 指令
echo "AAAA" >> temp.txt
cat temp.txt


<:输入重定向

bash 复制代码
# 指令
cat < temp.txt

20、文件属性

-:普通文件

d:目录文件

c:字符文件,键盘,显示器,终端输入的数据具有顺序性

b:块设备文件,磁盘上连接文件

p:管道文件

即Linux系统里的的文件属性根文件的后缀无关,但不代表不使用后缀,因为在使用一些工具时(gcc)就可能要用到文件后缀。

总结

Linux常用的指令分享到这里就结束了,可能大家会觉得这么多,怎么记得住呀😶,大家其实不需要去刻意的去记,因为这些指令比较常用,用得多了自然就记住了。还有分享的热键一定记,这个可以帮我们快速地操作。

相关推荐
芒果作者3 小时前
cursor注册无需手机号
运维·服务器·ai·cursor
闲人编程4 小时前
将你的Django/Flask应用部署到云服务器(Docker实战)
服务器·docker·容器·django·flask·部署·web
峰顶听歌的鲸鱼5 小时前
38.Shell脚本编程2
linux·运维·服务器·笔记·学习方法
---学无止境---5 小时前
Linux工作队列workqueue的实现
linux
dessler5 小时前
Elasticsearch(ES)简介与入门
linux·运维·hdfs
晴天¥5 小时前
Linux操作系统如何使用ISO镜像文件来搭建本地镜像源?
linux·运维·centos
Black蜡笔小新5 小时前
破解工地防盗难题:如何利用EasyCVR实现视频监控统一管理?
运维·音视频
Cx330❀6 小时前
《Linux基础入门指令》:从零开始理解Linux系统
linux·运维·服务器·经验分享
HaSaKing_7216 小时前
二三级等保检测对比项
linux·服务器·网络