是否感觉您已经掌握了 Linux 的基础知识并准备好提升您的技能?好消息 - 有许多您可能不知道的强大命令。
在本文中,我将向您介绍一些鲜为人知的 Linux 命令,这些命令将帮助您成为一名更有生产力和效率的开发人员。
无论您是想提高工作效率、加强系统安全性,还是只是想向其他开发人员展示您的 Linux 技术,这些命令都能满足您的需求。
(更|多优质内|容:java567 点 c0m)
Chroot:使用不同的根目录运行命令
曾经想在不同的根目录中运行命令吗?chroot 命令可以让您做到这一点。
Chroot 是“ change root ”的缩写,允许您使用不同的根目录运行命令。因此,如果您想在封闭的环境中测试软件或构建最小的 Linux 系统,chroot 是您的朋友。
要使用 chroot,首先您需要设置一个目录作为新根。然后运行 chroot 命令,并将该目录的路径传递给它。例如,要 chroot 到/home/testdir,您可以运行:
chroot /home/testdir
之后,您运行的任何命令都将相对于/home/testdir directory. 因此您可以安装软件包、运行 shell 脚本、编译程序等等。完成后,只需使用 退出 chroot exit。
Chroot 创建一个隔离的环境,因此您所做的任何更改都不会影响系统的其余部分。它是用于测试和开发或紧急恢复的便捷工具。一旦熟悉了 chroot,您就会发现它的各种用途。
Crontab:安排任务自动运行
Crontab 是一个方便的 Linux 命令,可让您安排任务在特定时间自动运行。您会想知道没有它您是如何生活的!
首先,打开 crontab 文件crontab -e。这将打开默认的文本编辑器,您可以在其中创建计划条目,称为cron jobs。每个条目都有五个时间字段 - 分钟、小时、月份、月份、星期几,后面是要运行的命令。
例如,每天午夜0 0 * * * /home/user/daily_script.sh运行daily_script.sh脚本。您还可以在每个工作日上午 8:3030 8 * * 1-5 /home/user/work_script.sh运行work_script.sh 。
Crontab 提供了很大的灵活性。您可以安排作业运行:
-
分钟、每小时、每天、每周、每月或每年
-
在特定的分钟/小时
-
在一周/一个月的某些日子
-
使用通配符运行,例如每 3 小时或每周一和周四运行一次
可能性是无止境!您可以安排备份脚本、系统维护、电子邮件报告等等。
df:检查磁盘空间使用情况
是否曾经用完磁盘空间并想知道它们都去了哪里?该df命令是为了提供帮助。df 代表“ disk free ”,它准确地显示了 Linux 系统上已使用和可用的空间量。
检查所有已挂载文件系统的使用情况
要查看所有已安装驱动器和分区的磁盘空间使用情况概述,只需运行:
df -h
该-h标志以人类可读的格式格式化输出,以 GB 和 MB 为单位显示大小,而不是字节。输出将显示:
-
文件系统:驱动器或分区名称
-
尺寸:总空间
-
已用空间:当前使用的空间
-
可用:仍然可用的可用空间
-
Use%:已使用空间的百分比
这可以让您快速了解哪里有空间以及哪里空间不足。
检查特定文件系统的使用情况
要检查特定驱动器或分区上的空间,请将其安装点传递给 df:
df -h /home
这将仅显示 /home 分区的使用统计信息。
使用 df 和相关工具密切关注磁盘使用情况对于任何 Linux 系统管理员来说都很重要。没有人愿意意外地耗尽空间。
dmesg:查看内核消息
有没有想过 Linux 系统幕后发生了什么?dmesg命令可让您深入了解并查看来自内核(操作系统的核心)的消息。
当 Linux 系统启动时,内核会初始化硬件、加载驱动程序、启动服务并执行其他启动任务。dmesg命令显示在此过程中记录的消息,以便您可以了解发生了什么。
要查看内核消息,只需打开终端并运行 dmesg 命令。当您的系统投入使用时,您将看到一页又一页的状态更新、诊断、错误等。浏览以检查是否存在任何问题,或搜索特定关键字,例如 Wi-Fi 适配器或其他硬件组件的名称。
dmesg输出还可以提供解决您遇到的任何问题的线索。例如,如果您的网络无法正常工作,请检查 dmesg 中是否有与以太网或无线卡相关的错误消息。您可能会发现类似“初始化网络设备 eth0 时出错”的信息,这表明您存在驱动程序问题。
该dmesg命令对于任何 Linux 系统管理员或高级用户来说都是一个方便的诊断工具。它提供了对 Linux 系统的内部观察,并可以帮助发现主要故障和小烦恼的根源。PS:你可以感觉自己像个黑客。
Grep:搜索文件中的模式
grep 命令允许您搜索文件和文本中的模式。当您需要在海量数据中查找特定内容时,它是理想的选择。
假设您有一个包含大量信息的日志文件,但您只想查看包含“错误”一词的行。赶紧跑:
grep error log.txt
这将仅打印 log.txt 中包含单词“error”的行。
您还可以使用 grep 来搜索模式而不仅仅是单词。例如,要查找文件中以“A”开头后跟数字的所有行,请使用:
grep ^A[0-9] log.txt
将^A匹配锚定到行的开头,[0-9] 匹配任何数字。
Grep 还有许多更高级的功能。您可以使用:
-
用于复杂搜索的正则表达式模式
-
-i忽略大小写
-
-v反转搜索并显示不匹配的行
-
-c只获取匹配数
-
-r递归搜索目录中的所有文件
下次您需要搜索文件时,不要手动执行 - 让 grep 为您完成这项工作。
Head/Tail:查看文件的第一部分/最后一部分
您是否曾经需要快速检查长文件的前几行或最后几行?head 和 tail 命令非常适合此目的。
默认情况下,该head命令显示文件的前 10 行。您可以使用标志指定要查看的行数-n,例如head -n 5 filename显示前 5 行。
该tail命令默认显示文件的最后 10 行。再次,使用该-n标志指定您想要查看的行数,例如tail -n 20 filename显示最后 20 行。
当您想要快速检查长文件的开头或结尾而无需滚动整个文件时,和head都很有用。tail这些命令的一些其他用途:
-
检查日志文件中最近的错误或警告
-
查看电子邮件标头
-
预览配置文件
-
和更多!
尝试head一下tail——您会惊讶地发现它们使您一直在做的任务变得如此简单。
PS:列出正在运行的进程
Ps 命令允许您查看有关系统上运行的进程的信息。这包括当前活动的程序、命令和守护程序。使用 Ps 是一种快速了解 Linux 系统当前正在执行的操作以及每个进程正在使用的系统资源的概览的方法。
要查看正在运行的进程的基本列表,请输入:
ps aux
这将向您展示:
-
答:所有流程
-
U:用户
-
X:没有终端的进程
输出将包含如下信息:
-
USER:进程的所有者
-
PID:进程ID
-
%CPU:CPU 使用率
-
%MEM:内存使用情况
-
VSZ:虚拟内存使用情况
-
TTY:与进程关联的终端
-
STAT:进程状态(运行、睡眠、僵尸等。)
-
START : 进程的开始时间
-
TIME:使用的CPU时间
-
COMMAND:启动进程的命令
您还可以通过以下方式过滤 Ps 输出:
-
用户名:ps aux | grep root
-
进程名称:ps aux | grep cron
-
PID:ps aux | grep 555
Ps 命令允许您快速检查系统正在执行的操作,并确保没有失控或僵尸进程占用资源。对于任何Linux用户来说,Ps都是必不可少的系统监控和故障排除工具。
Rsync:同步文件和文件夹
作为 Linux 用户,您可能发现自己需要在位置之间同步文件和文件夹。也许您的桌面上有文件需要传输到笔记本电脑,或者您想将最重要的文件夹备份到外部驱动器。rsync 命令使同步和备份文件变得轻而易举。
Rsync 是一种快速且多功能的文件复制工具。它可以在本地或通过 SSH 远程复制和同步文件和文件夹。它足够智能,仅传输两个位置之间的差异,从而节省时间和带宽。
要使用 rsync,请打开终端并输入命令:
rsync [options] source destination
-
源是您要复制的文件的位置。这可能是桌面或远程服务器上的文件夹。
-
目标是您要复制文件的位置。这可能是安装在您的系统上的外部驱动器或另一台服务器上的文件夹。
-
选项允许您指定以下项目:
-
-a:存档模式,保留权限、时间戳、组、所有者和符号链接
-
-v:详细输出,以便您可以看到正在复制的内容
-
-z:压缩以加快慢速网络上的传输速度
-
-h:人类可读的大小(例如1K、234M、2G)
Rsync 是任何 Linux 用户必备的工具。一旦掌握了它的窍门,您就可以自信地同步和备份文件。
如需广泛阅读,请参阅RSync 示例 – Rsync 选项和如何通过 SSH 复制文件。
强大的管道查看器 (pv)
曾经想通过管道查看数据的进展情况吗?该pv命令允许您执行此操作。它是一个管道查看器,可向您显示数据通过管道的进度。
假设您有一个要压缩的大文件,例如视频或备份文件。当 gzip 执行任务时,您不必盯着闪烁的光标,而是可以使用 pv 查看进度。只需通过 pv 传输数据,然后传输到 gzip:
cat mylargefile.mp4 | pv | gzip > mylargefile.mp4.gz
pv将显示压缩数据时的吞吐量和预计剩余时间。这是获取长时间运行的命令反馈的简单方法。
您还可以用来pv查看网络上数据的吞吐量和传输速率。例如,当使用scp或复制文件时rsync,添加pv到管道:
rsync -avz myfiles user@host:/backup | pv
现在您将看到通过网络复制文件的进度。pv 为您提供以下信息:
-
传输的字节数
-
传输率
-
预计到达时间
-
进步
-
和更多
它是一个方便的工具,可以让您更深入地了解那些长时间运行的终端命令中发生的情况。
mtr:网络诊断
您是否曾经需要诊断网络问题但无法使用昂贵的工具?mtr 是一个简单但功能强大的 Linux 网络诊断工具。它将“traceroute”和“ping”程序的功能结合在一个网络诊断工具中。
mtr发送ICMPmtr回显请求以测试运行的主机与用户指定的目标主机之间的网络连接。它打印路径上每个路由器的响应时间和数据包丢失统计信息。这使您可以快速查明网络问题。
要使用 mtr,请打开终端并输入:
mtr [domain name or IP address]
例如,要跟踪到 google.com 的路由,请输入:
mtr google.com
mtr 将开始追踪路线并打印实时更新的结果。它将显示:
-
路径上每个路由器的 IP 地址和主机名
-
每个路由器的丢包百分比
-
每个路由器的响应时间(以毫秒为单位)
输出将继续更新,直到您按 Ctrl+C 停止跟踪。
mtr 对于任何 Linux 网络管理员来说都是一个简单但有用的工具。当网络出现故障时,它可以帮助您识别延迟或数据包丢失的根源,从而节省数小时的故障排除时间。
jq:解析 JSON
您是否曾经遇到过混乱的 JSON 文件并希望有一种简单的方法来解析它?jq 是一个命令行工具,可让您轻松过滤和分析 JSON 数据。
jq 的工作原理就像一个过滤器。您将 JSON 数据传递到 stdin,然后将过滤/转换后的数据传递到 stdout。
例如,假设您有一个data.json使用对象数组调用的 JSON 文件。您可以过滤它以仅显示name等于的对象,John如下所示:
cat data.json | jq '.[] | select(.name == "John")'
这只会将 John 对象打印到控制台。
jq 支持的过滤器远不止select(),这里有一些更有用的过滤器:
-
.key:从对象中访问密钥
-
.[10:]:显示从索引10开始的元素
-
.[10:15]:显示索引10到15的元素
-
length:打印数组的长度
-
map(.):对数组的每个元素应用过滤器
-
group_by(.key):按键对对象进行分组
使用 jq,您可以直接从命令行以几乎任何您想要的方式操作 JSON 数据。jq可能看起来小众,但 JSON 在网络上随处可见,因此能够有效地分析和转换它是一项有用的技能。
tac:反向查看配置文件
您是否曾经在编辑配置文件并保存更改时犯了一个错误,却发现您更喜欢以前的版本?该tac命令允许您快速反向查看配置文件,以便您可以看到文件在编辑之前的样子。
Tac 只是以相反的顺序逐行打印文件。要查看反向调用的文件config.txt,请运行:
tac config.txt
这将首先打印文件的最后一行,然后是倒数第二行,依此类推,直到到达第一行。
-
当您想要快速反向查看日志文件以首先查看最新条目时,请使用 tac。
-
通过命令行编辑配置文件时,Tac 也很有用。如果您犯了错误,请运行 tac 查看文件之前的样子,以便您可以恢复更改。
Tac 是 Linux 工具包中一个简单但有用的实用程序。
perf:分析CPU性能
如果您想知道为什么 Linux 系统随着时间的推移变得越来越慢,perf 命令可以帮助您找到答案。Perf 是 Linux 中的一个分析工具,可以分析 CPU 的性能以帮助识别任何瓶颈。
首先,运行基本perf list命令来查看您可以监视的事件列表。有数百个!对于分析 CPU 性能最有用的一些参数包括:
-
cpu-clock:测量CPU时钟周期
-
task-clock:测量任务执行所花费的时间
-
cache-misses:统计缓存未命中次数
-
branch-misses:统计分支预测未命中的次数
选择您要监视的事件,然后运行如下命令:
perf stat -e cpu-clock sleep 5
这将运行命令并在运行时sleep 5测量事件。cpu-clock然后,Perf 将为您提供该事件的统计数据摘要。
要获取更详细的分析信息,请使用该perf record命令。例如,要分析名为 的脚本script.sh,请运行:
perf record script.sh
这将运行脚本并记录分析数据。然后您可以使用以下命令查看结果:
perf report
这将为您提供交互式报告来分析结果。你会看到类似这样的东西:
-
每个功能所花费的时间百分比
-
每个函数实际花费的时间
-
每个函数的调用次数
使用 perf,您拥有了一个优化 Linux 系统性能的强大工具。Perf 确实是一个令人惊叹的(如果未得到充分利用)工具。
结论
现在您已经掌握了一些有用的 Linux 命令,它们会让您立即感觉自己像个高级用户。
掌握这些技巧后,您将像专业人士一样在 Linux 上驰骋。下次当你遇到困难或沮丧时,请尝试其中一个。您可能会对自己所取得的成就感到惊讶。
如果您知道如何使用 Linux 语言,Linux 就是一个非常强大的操作系统。将此视为您变得流利的入门指南。
(更|多优质内|容:java567 点 c0m)
标签:文件,查看,命令,Linux,有用,使用,运行 From: https://www.cnblogs.com/web-666/p/17525099.html