你值得了解的 10 个有趣的 Linux 命令行小技巧
创始人
2024-03-01 18:39:43
0

我非常喜欢使用命令,因为它们比 GUI(图形用户界面)应用程序对 Linux 系统提供更多的控制,因此,我一直在寻找一些有趣的方法让 Linux 的操作变得简单好玩,主要是基于终端操作。

当我们发现使用 Linux 的新技巧时,尤其是像我这样的命令行极客,我们总会感到非常来劲。

建议阅读: 5 有趣的 Linux 命令行技巧 - 第一部分

而且我们也会很想与数百万 Linux 用户分享新学到的实践或命令,特别是那些还在使用自己的方式操作这个令人兴奋的操作系统的新手们。

建议阅读: 10 个对新手有用的 Linux 命令行技巧 - 第二部分

在这篇文章中,我们将回顾一系列有用的命令行小技巧,它们可以显著地提高你的 Linux 使用技能。

1、 在 Linux 中锁定或隐藏文件或目录

锁定文件或目录最简单的方法是使用 Linux 文件权限。如果你是文件或目录的所有者,你可以阻止其他用户和组访问(删除、读取、写入、执行)它,如下所示:

$ chmod 700 tecmint.info
或
$ chmod go-rwx tecmint.info

想要了解更多有关 Linux 文件权限的内容,请阅读这篇文章在 Linux 中管理用户和组,文件权限和属性

为了实现对系统中的其他用户隐藏文件或目录,可以通过在文件或目录开头添加 . 的方式重命名:

$ mv filename .tecmint.info

2、 在 Linux 中将 rwx 权限转为八进制格式

默认情况下,当你运行 ls 命令之后,它会使用 rwx 格式显示文件权限,为了了解 rwx 格式和八进制格式的等同性,你可以学习如何在 Linux 中将 rwx 权限转为八进制格式

3、 当 sudo 命令执行失败时怎么使用 su 命令

虽然 sudo 命令被用来以超级用户权限执行命令,但是在某些情况下它也会执行失败,如下所示。

在这里,我想清空一个大文件的内容,其文件名为 uptime.log,但是即便我是使用 sudo 命令也执行失败了。

$ cat /dev/null >/var/log/uptime.log
$ sudo cat /dev/null >/var/log/uptime.log

在 Linux 中清空大文件的内容

在 Linux 中清空大文件的内容

遇到这种情况,你需要使用 su 命令切换到 root 用户,然后像下面这样去执行清空操作:

$ su
$ sudo cat /dev/null >/var/log/uptime.log
$ cat /var/log/uptime.log

切换到超级用户

切换到超级用户

尝试理解 su 和 sudo 之间的区别,另外,通过阅读它们的手册页以了解更多的使用指南:

$ man sudo
$ man su

4、 在 Linux 中结束一个进程

有些时候,当你想使用 kill、killall、pkill 命令结束一个进程时,它们有可能无法生效,你可能会看到该进程仍然还在系统上运行。

如果要强制结束一个进程,可以发送 -KILL 信号给该进程。

首先获取指定进程 ID,然后像下面这样结束该进程:

$ pidof vlc
$ sudo kill -KILL 10279

在 Linux 中查找和结束进程

在 Linux 中查找和结束进程

查看 kill 命令以获取更多的使用选项和信息。

5、 在 Linux 中永久删除文件

一般情况下,我们通过使用 rm 命令将文件从 Linux 系统中删除。然而,这些文件并没有被真正的删除,它们仍被存储在那里并隐藏在你的硬盘中,其他用户仍然可以在 Linux 中恢复删除的文件并查看。

为了防止这种情况发生,我们可以使用 shred 命令来覆写文件内容,并在覆盖完成后选择删除文件。

$ shred -zvu tecmint.pdf

上述命令中所使用的选项说明:

  1. -z – 最后一次使用 0 进行覆盖以隐藏覆写动作。
  2. -u – 覆写后截断并移除文件。
  3. -v – 显示详细过程。

在 Linux 中永久删除文件

在 Linux 中永久删除文件

阅读 shred 手册以获取更多的使用信息。

$ man shred

6、 在 Linux 中重命名多个文件

你可以通过使用 rename 命令随时在 Linux 中重命名多个文件

rename 命令会根据第一个参数中的规则重命名指定文件。

以下命令会将所有 .pdf 文件重命名为 .doc 文件,使用的规则为 's/\.pdf$/\.doc/'

$ rename -v 's/\.pdf$/\.doc/' *.pdf

在 Linux 中重命名多个文件

在 Linux 中重命名多个文件

在接下来的例子中,我们将通过重命名所有匹配 "*.bak" 的文件来移除其拓展名,使用的规则是 's/\e.bak$//'

$ rename -v 's/\e.bak$//' *.bak

7、 在 Linux 中检查单词拼写

look 命令用于显示文件中以指定字符串为前缀的任意行,同时它也可以帮你检查命令行中给定单词的拼写。尽管它并不是那么有效和可靠,但它仍然算得上是其他强大的拼写检查工具的有用替代品。

$ look linu
$ look docum

在 Linux 中检查单词拼写

在 Linux 中检查单词拼写

8、 按关键字搜索手册页

man 命令用于显示命令的手册页,当使用 -k 选项时,它会将关键字 printf(或者如下命令中的关键字 adjustapachephp )作为正则表达式,来搜索所有匹配该名称手册页,并显示其简介。

$ man -k adjust
$ man -k apache
$ man -k php

按关键字搜索手册页

按关键字搜索手册页

9、 在 Linux 中实时监测日志

watch 命令可以定期执行另一个 Linux 命令并全屏显示该命令的执行结果。当 watch 命令与 tail 命令(用于查看文件结尾的 Linux 命令)配合使用时,可以监测到日志文件的日志记录情况。

在以下示例中,你将实时监测系统认证日志文件。打开两个终端窗口,在第一个窗口中实时监测该日志文件,如下:

$ sudo watch tail /var/log/auth.log

你也可以使用 tail 命令(显示文件结尾的 Linux 命令)的 -f 选项实时监测文件变化。这样,我们就可以在日志文件中看到日志的生成情况。

$ sudo tail -f /var/log/auth.log

接着,在第二个终端窗口中运行以下命令,之后,你就可以在第一个终端窗口中观察日志文件内容:

$ sudo mkdir -p /etc/test
$ sudo rm -rf /etc/test

10、 列出所有 Shell 内置命令

shell 内置命令是一个命令或者函数,从内部调用并直接在 shell 里执行,而不是从硬盘加载外部的可执行程序来执行。

列出所有 shell 内置命令及其语法,执行如下命令:

$ help

作为结束语,命令行小技巧不仅能派得上用场,而且让学习和使用 Linux 变得更加简单有趣,尤其是对新手来讲。

你也可以通过留言给我们分享其他在 Linux 中有用有趣的命令行小技巧


作者简介:

Aaron Kili 是一名 Linux 和 F.O.S.S 的爱好者,未来的 Linux 系统管理员、网站开发人员,目前是 TecMint 的写作者,他喜欢用电脑工作,并且乐于分享知识。


via: http://www.tecmint.com/linux-command-line-tricks-and-tips-worth-knowing/

作者:Aaron Kili 译者:zhb127 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

美工课程视频讲解:零基础也...
你是不是也这样:收藏夹里塞满了各种“美工入门教程”、“PS速成课”...
2025-07-12 13:14:12
如何查看CentOS系统中...
掌控你的系统核心:CentOS查看CPU与内存信息指南 作为服务器...
2025-06-03 07:40:48
【云原生】k8s集群命令行...
kubectl应用部署命令详解一、准备工作1.1、Replicat...
2025-06-01 06:37:18
正则表达式高阶技巧之转义的...
转义转义介绍字符串转义与正则转义注意: 转义介绍 字...
2025-06-01 01:09:44
Win11的两个实用技巧系...
Win11怎么把C盘分成几个盘?Win11电脑磁盘分区的方法近期有...
2025-05-31 02:52:07
电脑技巧:分享五个非常好用...
大家有时候想要学一点东西,但是找不到合适的学习资源怎...
2025-05-31 02:48:10

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...