Linux快速命令:技巧和窍门

Linux终端总是很难使用,尤其是在刚接触Linux的一开始。 我记得像昨天一样第一次接触Linux终端。 最终,我与一台能够响应我键入的内容的机器进行了交互。 我开始学习诸如“ cd”,“ ps”,“ w”,“ mkdir”之类的基本命令,这些命令是我进入计算机数字化世界时遇到的。 然后,我发现了一些很棒的命令组合,可以简化服务器/服务或配置的管理。

Linux是世界上几乎所有地方都使用的OS。 由于它的开放性,它是一个非常灵活的系统,任何人都可以贡献力量。 它比现成的Windows快得多,而且与Windows不同,您可以免费获得Linux。 令人惊讶的事实是,全球500台最大的超级计算机中有多达96.4%运行Linux。 从智能冰箱到自动驾驶汽车,到处都有它。

如果那不能说服您开始学习Linux,请想象一下Linux系统和网络工程师,Linux内核开发人员或任何与此主题相关的联络人员可以从事的许多工作。 所以呢 开始学习永远不会太晚

本文的目的并不是要赞扬(实际上是我)Linux是最好,最灵活的操作系统,而是要提供我多年来为Linux用户(无论是新手还是中级用户)学到的一些技巧和窍门。 对于绝对的初学者,我们有一些很棒的文章介绍了基本的Shell命令和10个基本的Linux命令,您可以提前查看。

Linux接口命令或终端具有无限的可能性。 考虑到系统上可用的大量命令,您可以使用某些人会吓到的命令来做很多事情。 好处是您不需要记住任何东西,因为您可以使用“ apropos”或“ history”之类的命令来获取您过去可能使用或曾经使用过的命令列表。

因此,让我们开始吧。

为了使用Linux终端,您必须具有Linux VPS(最好具有完全root访问权限)或可以使用的本地Linux计算机。 因此,打开终端或连接到Linux服务器。

首先,使用whoami命令检查用于登录的用户:

[[email protected] /]# whoami
root

这样您就具有root用户访问权限,好吧。 您具有所有必需的特权,并可以访问Linux系统上的任何命令。 但是要小心,拥有广泛的权力会带来很多责任。 如果用户在以root用户身份运行时不小心使用命令,则root用户访问总会成为噩梦。

首先,让我们检查所有目录以及它们在/ etc目录中的存在时间。 使用du命令以及一些必要的标志:

[[email protected] /]# du -chsx /etc/* | sort -rh | head -6

我们在CentOS 7 VPS系统上运行了此命令,并得到以下输出:

26M     total
14M     /etc/httpd
6.6M    /etc/udev
1.4M    /etc/pki
650K    /etc/services
311K    /etc/sysconfig

使用一个命令创建一个父目录以及您的附件:

[[email protected] /]# mkdir -p tmp/andreyex/programmer

使用&&,您可以定义成功执行左侧列表中的第一个命令后要执行的命令。 简单的例子:

[[email protected] /]# cd tmp/andreuex/programmer && ls -lat

如果第一个命令由于某种原因未成功执行,则第二个命令将不会运行。

如果要列出用户主目录中的所有目录怎么办? 使用以下出色命令:

[[email protected] /]# find $HOME -type d -ls | less

要将文件复制到多个目录:

[[email protected] ~]# echo /usr/dir1 /var/dir2 /nas/dir3 |  xargs -n 1 cp -v /path/to/file

检查有多少连接及其IP连接到您的Web服务器端口80:

[[email protected] /]# netstat -plane | grep :80 | awk '{print $5}' | grep -Eo '([0-9]{1,3}.){3}[0-9]{1,3}'| sort | uniq -c | sort -n

通过在要更改权限的父目录中运行以下命令,以递归方式更改文件和目录权限。 例如,如果您在/ var / www / html /目录中有一个正在运行的WordPress网站,请导航到该目录并运行:

要递归更改文件权限:

[[email protected] /]# find . -type f -exec chmod 644 {} ;

目录:

[[email protected] /]# find . -type d -exec chmod 755 {} ;

当您需要快速设置相应目录树中每个文件/目录的权限时,这两个命令特别有用。

从Exim的邮件队列中删除所有电子邮件:

[[email protected] /]# exim -bp | exiqgrep -i | xargs exim -Mrm

要在服务器上查找可写世界的文件:

[[email protected] /]# find / -type f -perm -o+w -exec ls -l {} ;

要在/ home目录中找到可写世界的文件:

[[email protected] /]# find /home -type d -perm -o+w -exec ls -ld {} ;

有时您需要使用通用名称列出进程。 例如,我需要列出所有使用后缀启动的进程。 我将执行以下操作:

[[email protected] /]# ps -ef | grep postfix | grep -v grep | awk '{print $2}'

如果要终止进程,将使用以下命令:

[[email protected] /]# kill -9 `ps -ef | grep postfix | grep -v grep | awk '{print $2}'`

如果要删除目录中与特定文件扩展名不匹配的所有文件?

[[email protected] /]# $rm !(*.html | *.php | *.png)

此命令将删除所有不是.html,.php或.png的文件

使用Vim文本编辑器在远程主机上编辑文件:

[[email protected] /]# vim scp://[email protected]/path/to/my_file

将给定单词的所有实例替换为所需的单词,而无需使用文本编辑器打开文件:

[[email protected] /]# perl -pi -e 's,AndreyEx,BestProgrammer' my_file.php

上面的命令将用my_file.php文件中的BestProgrammer替换AndreyEx。

之后,我想知道这些命令及其标志,但是我不知道该使用哪个命令。 因此,我使用以下命令生成随机手册页:

[[email protected] /]# man $(ls /bin | shuf | head -1)

随机学习新命令并将选择留在Linux机器上可能很有趣。

有时,在繁忙的工作时间内,您已经创建或修改了文件,但是您不记得创建/修改了哪个文件。 那么,为什么不使用命令仅列出今天的文件呢?

[[email protected] /]# ls -al --time-style=+%D | grep `date +%D`

将以特定格式在输出中列出今天的文件。

您可以与Linux计算机上的另一个授权用户打开聊天会话。

[[email protected] /]# write furious

因此,如果已登录,则此命令会将您置于空白行,在该行中,您键入的任何内容都会发送给另一位用户。

我使用whatis的一个非常有用的命令。 其输出概述了团队的工作。

[[email protected] /]# whatis man
man (1)              - an interface to the on-line reference manuals
[[email protected] /]# whatis pwd
pwd (1)              - print name of current/working directory

最后但并非最不重要的一点是,您可以使用个人收藏夹来检查磁盘写入速度。

[[email protected] /]# dd if=/dev/zero of=/tmp/my_output.txt bs=8k count=256k conv=fdatasync; rm -rf /tmp/my_output.txt

就这样。 我希望您能在这些Linux命令技巧中找到一些用处,这些只是Linux中提供的命令功能的一瞥​​。 当然,如果您有任何花样,请在下面的评论中分享。

Sidebar