引言
在上一篇博客中,我们介绍了Linux系统的一些基础指令,这些指令对于初学者来说非常实用。本篇博客将接着上一篇的内容,继续介绍一些Linux进阶指令与系统管理技巧,帮助大家更好地掌握Linux系统。
目录
[4.1 日志文件:](#4.1 日志文件:)
[7.1 时间戳](#7.1 时间戳)
[12.1、压缩包Linux / Windows互传](#12.1、压缩包Linux / Windows互传)
常见指令介绍(续)
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
输入指令:
bashcat 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指令
功能:按指定格式显示时间
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,
其中常用的标记 列表如下
• %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
传送过程:
- 先输入指令:sz *.zip
- 然后会弹出Windows弹窗:
- 最后选择你要传送的文件夹:比如桌面
rz指令:Windows->Linux
传送过程:
- 输入指令:rz
- 在Windows 的弹窗中选择你要传送到Linux的文件或压缩包等
(这里我选择刚刚的test.zip压缩包)
- 显示传送完毕
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常用的指令分享到这里就结束了,可能大家会觉得这么多,怎么记得住呀😶,大家其实不需要去刻意的去记,因为这些指令比较常用,用得多了自然就记住了。还有分享的热键一定记,这个可以帮我们快速地操作。
