10个有趣的Linux命令行技巧和技巧值得知道

I passionately enjoy working with commands as they offer more control over a Linux system than GUIs (Graphical User Interfaces) applications, therefore am always on the lookout to discover or figure out interesting ways and ideas to make Linux so easy and fun to operate, primarily from the terminal.

总是令人兴奋的是,当我们发现在使用Linux时的新技巧或提示,尤其是像我这样的命令行极客。

建议阅读: Linux中有趣的5个命令行技巧和窍门 – 第1部分

想要与数百万Linux用户分享新学到的实践或命令的感觉,特别是那些仍在熟悉这个令人兴奋的操作系统的新手,通常会产生。

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

在本文中,我们将回顾一些有用的命令行技巧和提示,这些技巧可以显著提升您的Linux使用技能。

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

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

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

要了解更多关于Linux文件权限的信息,请阅读这篇文章在Linux中管理用户和组、文件权限和属性

要隐藏文件/目录不让其他系统用户看到,可以在文件或目录的开头加上(.)来重命名:

$ mv filename .tecmint.info

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

默认情况下,当你运行ls命令时,它会以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
Empty Large File Content in Linux

在这种情况下,您需要使用root用户帐户,使用su命令执行操作,如下所示:

$ su
$ sudo cat /dev/null >/var/log/uptime.log
$ cat /var/log/uptime.log
Switch to Super User

尝试理解su和sudo之间的区别,此外,阅读它们的man页面以获取更多指导:

$ man sudo
$ man su

4. 在Linux中终止进程

有时,当您想要使用kill或killall或pkill命令终止进程时,可能会失败,您会发现进程仍在系统上继续运行。

为了破坏性地终止进程,请向其发送-KILL信号。

首先确定其进程ID,然后这样终止它:

$ pidof vlc
$ sudo kill -KILL 10279
Find and Kill Process in Linux

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

5. 在Linux中永久删除文件

通常,我们使用rm命令从Linux系统中删除文件,但是,这些文件并没有完全被删除,它们只是存储在硬盘上并且可以通过在Linux中恢复这些文件并被其他人查看。

为了防止这种情况发生,我们可以使用shred命令,它会覆盖文件内容并可选择性地删除文件。

$ shred -zvu tecmint.pdf

上述命令中使用的选项:

  1. -z – 添加最终用零覆盖以隐藏删除操作。
  2. -u – 在覆盖后帮助截断和删除文件。
  3. -v – 显示进度。
Delete File Permanently in Linux

阅读shred手册以获取额外的使用说明:

$ man shred

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

您可以通过调用rename命令来在Linux中重命名多个文件

它根据第一个参数中指定的规则重命名提供的文件名。

下面的命令将所有.pdf文件重命名为.doc,这里的规则是's/\.pdf$/\.doc/'

$ rename -v 's/\.pdf$/\.doc/' *.pdf
Rename Multiple Files in Linux

下一个示例将所有匹配"*.bak"的文件重命名为去除扩展名,规则是's/\e.bak$//'

7. 在Linux中检查单词拼写

look命令显示以给定字符串开头的行,它可以帮助您在命令行中检查单词的拼写。虽然它不够有效和可靠,但look仍然是其他强大拼写检查器的有用替代品:

$ look linu
$ look docum
Spell Checking in Linux

8. 在手册页中搜索关键字的描述

man命令用于显示命令的手册页,当与-k开关一起使用时,它会将关键字printf(如下面命令中的adjust、apache和php)作为正则表达式搜索短描述和手册页名称。

$ man -k adjust
$ man -k apache
$ man -k php
Show Description of Keyword in Manual Pages

9. 在Linux中实时查看日志

使用watch命令,您可以定期运行另一个Linux命令,同时在全屏幕上显示其输出,并且与tail命令一起,后者用于查看文件的最后部分,可以查看日志文件中的记录。

在下面的示例中,您将查看系统认证日志文件。打开两个终端窗口,在第一个窗口中显示实时查看的日志文件

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

您可以使用tail命令来显示文件的最后部分。其-f标志可以实时监视文件的更改,因此可以观看日志文件中记录的日志条目。

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

在观察第一个窗口中的日志文件内容时,在第二个终端中运行以下命令:

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

10. 列出所有Shell内置命令

A shell builtin is a command or a function, called from within and executed directly in the shell itself, instead of an external executable program which the shell would load from the hard disk and execute.

要列出所有Shell内置命令及其用法语法,请运行:

$ help

作为结束语,命令行技巧和提示总是很有用,使学习和使用Linux对于新手来说变得简单有趣。

您也可以通过下面的评论表单与我们分享您在Linux中遇到的其他有用和有趣的命令行技巧或提示

Source:
https://www.tecmint.com/linux-command-line-tricks-and-tips-worth-knowing/