Bash:10件事要记住

可能还有许多其他的UNIX shell和命令语言,但没有一个甚至可以与bash所享有的人气相提并论。 不乏其他提供强大工具和功能的外壳。 我永远不会阻止某人尝试。

实际上,我实际上会建议人们尝试鱼或友好的交互式外壳(并且人们认为技术社区缺乏命名技能)。 鱼是很棒的一条鱼,每次它预示着我的命令时,它都会使我感到高兴(我的另一个乐趣是对项目的投入不足。我喜欢生活在边缘。) 但是,简单的事实是没有什么可以替代bash。

这是每个人都应该玩的10件事:

  1. 提示

PS1是每个命令之前显示的主要提示,因此它是大多数人自定义的提示。 更改变量的值也会更改您的提示。 您也可以使用\ u,\ A分别在提示中显示用户名或时间。

  $ PS1 =“ cool-user>” 
酷用户>

2. | 管道

Unix管道将第一个进程的标准输出文件描述符连接到第二个进程的标准输入。 然后发生的是,当第一个进程写入其输出时,第二个进程可以立即读取该输出(从第一个标准输入)。

基本上,您可以将命令的输出作为下一个命令的输入发送。

  $ ls |  grep a 

3. grep

grep是一个命令行实用程序,用于在纯文本数据集中搜索与正则表达式匹配的行。 它的名称来自ed命令g / re / p,其作用相同:使用正则表达式进行全局搜索并打印所有匹配的行。 我通常最终将其与ls|一起使用| 搜索目录,但这绝对不是其功能强大以及可以在所有位置使用的示例。

4. .bashrc 文件

.bashrc文件是一个shell脚本文件,通常用作bash shell的用户特定配置文件。 它位于用户的主目录中,并在该用户登录bash时执行。

因此,每次打开终端时,都会执行该文件。

这可能非常有用。 您每次运行终端时需要执行的任何命令都可以添加到文件末尾。 您还可以在这里添加一些东西来使您的终端变得爵士乐。

我喜欢(除了cmatrix和Cowsay之类的程序)将它用作我的所有别名。

5. > >>

>不是命令,而是文件描述符重定向。 这意味着外壳程序会解析此分配,将其从命令行中删除,并更改启动它的新进程的环境。 新进程不会注意到命令行的这一部分。 这就是为什么您可以将其放置在任何地方的原因:在开始,结束或之间。

通常用于向文件中添加内容(文件中已有的所有内容都会被删除)。 但是, >>用于将内容附加到文件末尾,而无需更改其他任何内容。

6. htop

我们都知道。 top是一个在许多类Unix操作系统中发现的任务管理器程序,它显示有关CPU和内存利用率的信息。 它会生成由用户指定的条件选择的正在运行的进程的有序列表,并定期对其进行更新。

但是, htop是Linux上基于ncurses的免费进程查看器。 它与top相似,但是允许您垂直和水平滚动,因此您可以查看系统上正在运行的所有进程以及它们的完整命令行。

Htop更好看,这就是为什么我最终使用它(惊讶!我喜欢看漂亮的东西,那是原始的。)。

7. /dev/null /dev/random

/dev/null将命令标准输出重定向到null设备,这是一个特殊的设备,它丢弃写入其中的信息。 它会丢弃 所有写入其中的数据,但会报告写操作成功。

任何时候不需要输出或感觉有些信息无用时都可以使用它。 只需将其发送到空设备。

/dev/random/dev/urandom/dev/arandom是用作伪随机数生成器的特殊文件。 它们允许访问从设备驱动程序和其他来源收集的环境噪声。 我仅在需要测试文件或随机数据进行测试时才使用它。

8. ls -alh

这不是什么新鲜事。 ls可能是最常见的命令之一,但我只想在此处突出显示这些标志。 a,l,h分别用于使所有目录和文件以列表格式显示,其中大小以人类可读的格式提供。

我非常喜欢查看这样的内容,以至于我实际上将它作为.bashrc的别名。

9. cron

软件实用程序cron是类似Unix的计算机操作系统中的基于时间的作业调度程序。 设置和维护软件环境的人员使用cron安排作业以固定的时间,日期或间隔定期运行。

如果您想在特定时间触发命令或程序,Cron可以拯救生命。 您还可以在启动时触发内容。 它是预安装的(Ununtu),您绝对应该试一下。(备忘单)

10. cmatrixlolcat

这些非常适合使您的终端更具吸引力。

cmatrix 模拟“矩阵”中的显示。(是!!!)谁不想这样做? 我也将它设置在我的.bashrc文件中。 但是我认为您应该将其与-s (屏保模式)标志一起使用,以便在第一次按键时将其停止。 您可以检出手册页以更改颜色和进行其他自定义。

lolcat是用于Linux,BSD和OSX的实用程序,其连接方式类似于cat命令,并为其添加了彩虹色。 Lolcat主要用于Linux Terminal中的文本彩虹着色。 您可以用管道输送任何东西(甚至cmatrix!)。

  $ ls | 洛尔卡特 

与往常一样,我很想知道任何我想念的令人敬畏的东西,您认为值得一提。 反馈也很好:)