首页 > 系统相关 >您应该了解的有用Linux命令

您应该了解的有用Linux命令

时间:2023-07-04 11:01:41浏览次数:50  
标签:文件 查看 命令 Linux 有用 使用 运行

是否感觉您已经掌握了 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

相关文章

  • linux syslog
      syslogd是后台跑的服务,从/dev/log里读log,然后推送到对应的/var/log,推送的规则是按照 50-default.conf  Ref:https://linuxhandbook.com/syslog-guide/https://www.linuxfordevices.com/tutorials/remote-syslog-in-linux......
  • Linux添加新用户及SSH远程登录|解决无法添加SSH的问题
    1.Linux添加新用户Linux创建新用户主要有两条命令:adduser和useradd,与其对应的两种删除用户的命令:deluser和userdel区别adduser:自动为新建的用户创建用户组、用户目录、选择shell版本并添加用户密码useradd:需要靠添加参数来指定设置上述哪些变量,如未添加参数则新建的用户......
  • Linux应用开发【第四章】Linux进程间通信应用开发
    文章目录4Linux进程间通信应用开发4.1初识进程4.1.1进程的概念4.1.1.1程序4.1.1.2进程4.1.1.3进程和程序的联系4.1.1.4进程和程序的区别4.1.2进程的操作(创建、结束、回收)4.1.2.1创建进程4.1.2.2结束进程4.1.2.3回收进程4.2进程为什么需要通信4.3进程通信之管道通信4.......
  • linux Kernel
    ......
  • 全志 Tina Linux RISC-V E907核心开发指南支持百问网V85x系列开发板100ask-v853-pro v
    编写目的:介绍v85X上E907的启动环境和AMP的环境搭建。使用范围:全志V85X系列芯片环境A7SDK:TinaE907SDK:melis4SDK快捷命令说明这里主要介绍几个下文会用到的命令,并不会介绍全部命令,如果想了解全部命令,可以在lunch方案后使用hmm打印出所有tina提供的快捷命令。ckernel,mke......
  • 【嵌入式Linux应用开发】设计温湿度采集MCU子系统
    1.概述本篇主要是使用百问网的100ASK_STM32F103_PRO开发板加上ESP8266和DHT11设计一个采集环境温湿度的子系统,将温湿度数据上云,让阿里云服务器转发给订阅了该温湿度数据主体的MQTT客户端,也就是之前做的基于STM32MP157开发板的温湿度监控系统。温湿度监控系统应用开发所有文章......
  • 创建 Linux 健康检查工具
    使用bash脚本创建Linux健康检查工具聆听世界的鱼 Linux公社 2023-07-0308:39 发表于浙江收录于合集#Linux747个#Bash21个击上方蓝字 ●关注Linux公社    Linux下简便的方法来查找服务状态、健康检查和服务器资源利用率等等。注:适用于单体架构。通过......
  • Linux 系统启动过程----------------linux启动过程原理
    Linux系统启动过程Linux深度学习 2023-07-0407:01 发表于北京linux启动时我们会看到许多启动信息。Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段:内核的引导。运行init。系统初始化。建立终端。用户登录系统。init程序......
  • 常用DOS命令
    常用DOS命令盘符切换盘符名+:D:查看当前目录下的所有文件dir清空屏幕cls退出终端exit查看电脑ipipconfig打开应用calc计算器mspaint画图工具notepad记事本文件操作md目录名创建目录rd目录名移除目录cd>文件名创建文件del文件名删除文件......
  • linux grep基本用法--九五小庞
    通过此语句可以查询一个文件或者当前目录下所有文件中包含exception和error的文件grep-E-i"((exception)|(error))"*1.查找文件中是否存在指定的信息:grep<查找信息><文件名>-bash-4.1$grepexceptionerror-2015-12-29.log17:49:13.869[http-/192.168.0.80:8080-12]......