你有没有惊讶地看到有人在Unix/ Linux中工作得非常快,噼里啪啦的敲键盘,快速的启动命令,飞快地执行命令?

在本文中,我共享了一些在Linux中快速、高效工作所遵循的Unix/ Linux命令实践。

我们所有的服务都在Linux服务器上运行,因此在Linux终端中高效、快速地工作对我们非常重要,这就是我在Linux中学习到的这些生产力技巧。

如果您的服务器也驻留在Linux机器上,并且您的一天两天的工作涉及大量的搜索和围绕UNIX命令进行的操作,那么这些技巧将为您节省大量的时间。

使用"!"用于执行最后一个命令

这平均节省了我30%的时间。通常情况下,您在几秒钟内多次触发同一个Unix命令,在知道这个技巧之前,我用上下箭头找到我的命令,然后执行它们,这需要花费我很多时间。但是,在知道这个技巧之后,我只需要记住命令名,例如 !ls 将执行最后一个“ls-lrt”,!vim将在不输入完整命令的情况下打开您的最后一个文件。使用这个技巧肯定会节省大量的时间,而且它在shell上也很有用,而不只是bash shell(如csh或ksh),其中上下箭头通常不给您以前的命令。

例如,在执行ls-l stocks.txt之后,如果要打开stocks.txt,可以使用VIM编辑器作为vi!$(最后一个参数)。

使用“!!”用于执行最后一个命令

这是前一个技巧的扩展,用于执行您执行的最后一个命令。因为它只需要两次击键,而且对于同一个键来说也需要两次击键,所以速度非常快。

这也适用于上下箭头与k shell和c shell不同的shell。这是非常有用的,非常适用于您正在停止或启动服务器或Java应用程序调试频繁的场景。

使用“ctrl+r”重复上次匹配的命令

如果您还记得好早之前执行的命令,并且只想找到具有相同参数的命令并执行,那么“ctrl+r”将是非常有效的命令。它可以匹配命令中的任何位置的字符,并将最近的一个命令显示出来。

只需按“crtl+r”并键入上一个命令中的单词,Unix将为您找到该命令,然后按Enter。

如果您经常执行命令,并且重复的百分比很高,上述三个技巧都可以节省大量的时间。

使用history命令获取一些最常用的unix命令

嗯,这是我开始使用Unix时学到的第一个技巧。这是UNIX和shell脚本编写中最有用的命令。

在大多数情况下,有一个特定的命令,比如启动、停止、检查日志文件、生成或执行发布等。

这些是您经常需要执行的命令,如果您不记得确切的命令,则无需担心,只需执行history grep“keyword”,就可以从Linux机器的历史记录中获得该命令。

有一些特定的环境变量设置最多存储多少命令的unix历史记录,建议将其设置的尽量大一些,这样你就可以很容易的找到之前的执行的命令,避免频繁上网查找这些命令怎么用。

在grep和find中使用正则表达式

grep和find是Unix提供给我们的两个最好的工具。几乎每个人都需要在Unix中搜索一些东西,例如文件、目录、文件中的某些词(例如错误或异常),如果您知道如何使用grep并使用正则表达式查找,则通过键入较少的命令可以节省大量时间。

例如,通过了解egrep,您可以启动egrep“error exception”*.xml,而不是分别启动两个grep命令来查找错误和异常。

使用管道而不是发射两个命令

如上图所示,我想大家都知道这个好小贴士。

如果你不知道,最好从一个不错的 Linux课程开始,比如 Linux命令行基础知识,因为你可能也不知道其他一些基础知识。

从我个人的经验来看,参加一个好的课程比零碎地找到基本信息要好。

而且,如果您不介意从免费资源中学习,您还可以查看我为开发人员提供的5门免费 Linux课程的列表。

使用别名并在bash概要文件或bashrc文件中定义它们

你有没有看到一些奇怪的命令在某人的机器上运行,而不是在你的机器上运行,这可能是他在.bashrc或.profile文件中设置的别名?

总是对常用命令进行这种设置。.bashrc和.profile文件有很多用法,但最重要的用法之一是设置别名,例如“l”,它可以找到所有隐藏的文件。“ls”包括所有有用选项,如-lrth,以显示所有相关信息。

使用pushd、popd、cd-、~在目录中移动

根据我的经验,在Unix shell中导航(切换文件目录)几乎消耗掉我们50%的时间。如果您要不时地编写目录路径,那么就忘记快速工作。

因此,不要键入全名,而是使用上述所有提示,并充分利用pushd、popd、cd-和cd~命令。如果在UNIX中在两个目录位置之间切换,cd-是最好的选择。

减少击键次数或提高打字速度

你打字越少,工作就越快。

要使用上一个键入的命令,请使用bash中的tab,以便让unix bash shell完成命令。

如果键入的最后一个命令很长,并且只想更改几行,请使用ctrl+r。

持续学习新的Linux命令

尝试学习更多的命令及其选项,并使用它将减少思考特定任务的时间,并使用ctrl+z、fg和bg挂起进程。

如果您查看多个文件或日志文件,那么可以节省近10%的时间,因此,而不是每隔一段时间,然后执行VIM命令,只需按ctrl+z将其挂起,然后按fg 1或fg 2将其置于前台。

希望这些关于unix命令的示例和提示能够帮助您在使用unix时在更短的时间内完成更多的工作,并提高您的工作效率和经验。

10个在UNIX或Linux终端上快速工作的建议的更多相关文章

  1. Linux 终端最全推荐(建议收藏)

    本文来自网络整理,如有侵权,则可删除. 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端 ...

  2. 在Linux终端中快速生成、解码二维码

    我们要实现两个功能: 解码Linux屏幕上的二维码,将结果输出在终端 在终端中将字符串转为二维码,直接显示二维码在终端中以供扫描 实现方法 生成二维码 qrencode是一个常见的生成二维码的CLI程 ...

  3. Linux 服务器上快速配置阿里巴巴 OPSX NTP服务

    编辑文件 "/etc/ntp.conf",根据情况修改文件内容为: 互联网上的服务器: driftfile /var/lib/ntp/drift pidfile /var/run/ ...

  4. Unix、Linux 软件包管理快速入门对照:apt、brew、pkg、yum

    请访问原文链接:https://sysin.org/blog/apt-brew-pkg-yum/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin ...

  5. 在 Linux 系统上快速获取命令的帮助信息

    几种方法: help 命令 man 命令 info 命令 命令 --help man 章节分类如下 1 - commands 2 - system calls 3 - library calls 4 ...

  6. 10 个提升效率的Linux小技巧

    您是否曾经惊讶于看到某人在 UNIX 中非常快速地工作,触发命令并快速地执行操作?是的,我碰到过几次,并且我一直都在向那些超级巨星开发者学习.在本文中,我想分享一些 UNIX 命令实践,这些实践是我在 ...

  7. Linux之HugePages快速配置

    关于Linux系统的HugePages与Oracle数据库优化,可以参考熊爷之前的文章,相关概念介绍的非常清晰: Linux大内存页Oracle数据库优化 本文旨在Linux系统上快速配置HugePa ...

  8. Linux 终端访问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...

  9. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

随机推荐

  1. 使用 IntraWeb (15) - 基本控件之 TIWEdit、TIWMemo、TIWText

    TIWEdit //单行文本框, 通过 PasswordPrompt 属性可以作为密码框 TIWMemo //多行文本框 TIWText //相当于多行的 TIWLabel 或不能编辑的 TIWMem ...

  2. 【转载】Android dip,px,pt,sp 的区别

     dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. ...

  3. poj 2429 GCD & LCM Inverse 【java】+【数学】

    GCD & LCM Inverse Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9928   Accepted:  ...

  4. 使用IProgress实现异步编程的进程通知

    在异步编程中,有时候希望把进度展示出来,借助IProgress<in T>可以实现. IProgress<in T>只提供了一个方法void Report(T value),通 ...

  5. Netty之解决TCP粘包拆包(自定义协议)

    1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...

  6. 【nginx】配置Nginx实现负载均衡

    一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最 ...

  7. java过滤特殊字符的正则表达式

    // 过滤特殊字符 public staticString StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 / ...

  8. sublime text的扩展插件

    sublime text用作开发编辑器,还缺省二个比较重要功能:跨文件跳转.返回最后一次编辑的位置: 这里有二个插件正好解决此问题:CTags.ChangeList   其它常用的插件,google一 ...

  9. 聚类:层次聚类、基于划分的聚类(k-means)、基于密度的聚类、基于模型的聚类

    一.层次聚类 1.层次聚类的原理及分类 1)层次法(Hierarchicalmethods)先计算样本之间的距离.每次将距离最近的点合并到同一个类.然后,再计算类与类之间的距离,将距离最近的类合并为一 ...

  10. Django查询 – id vs pk

    当编写django查询时,可以使用id / pk作为查询参数. Object.objects.get(id=1) Object.objects.get(pk=1) pk代表主键(primary key ...