Linux桌面从开始的简陋到现在走了很长的路。在我早期使用Linux的那段日子里,掌握命令行是最基本的——即使是在桌面版。不过现在变了,很多人可能从没用过命令行。但对于Linux系统管理员来说,可不能这样。实际上,对于任何Linux管理员(不管是服务器还是桌面),命令行仍是必须的。从管理网络到系统安全,再到应用和系统设定——没有什么工具比命令行更强大。

但是,实际上……你可以在Linux系统里找到非常多命令。比如只看/usr/bin目录,你就可以找到很多命令执行文件(你可以运行ls/usr/bin/|wc-l看一下你的系统里这个目录下到底有多少命令)。当然,它们并不全是针对用户的执行文件,但是可以让你感受下Linux命令数量。在我的Elementary OS系统里,目录/usr/bin下有2029个可执行文件。尽管我只会用到其中的一小部分,我要怎么才能记住这一部分呢?

幸运的是,你可以使用一些工具和技巧,这样你就不用每天挣扎着去记忆这些命令了。我想和大家分享几个这样的小技巧,希望能让你们能稍微有效地使用命令行(顺便节省点脑力)。

我们从一个系统内置的工具开始介绍,然后再介绍两个可以安装的非常实用的程序。

Bash命令历史

不管你知不知道,Bash(最流行的Linux shell)会保留你执行过的命令的历史。想实际操作下看看吗?有两种方式。打开终端窗口然后按向上方向键。你应该可以看到会有命令出现,一个接一个。一旦你找到了想用的命令,不用修改的话,可以直接按Enter键执行,或者修改后再按Enter键。

要重新执行(或修改一下再执行)之前运行过的命令,这是一个很好的方式。我经常用这个功能。它不仅仅让我不用去记忆一个命令的所有细节,而且可以不用一遍遍重复地输入同样的命令。

说到Bash的命令历史,如果你执行命令history,你可以列出你过去执行过的命令列表(图1)。

图1:你能找到我敲的命令里的错误吗?

你的Bash命令历史保存的历史命令的数量可以在~/.bashrc文件里设置。在这个文件里,你可以找到下面两行:

HISTSIZE=1000

HISTFILESIZE=2000

HISTSIZE是命令历史列表里记录的命令的最大数量,而HISTFILESIZE是命令历史文件的最大行数。

显然,默认情况下,Bash会记录你的1000条历史命令。这已经很多了。有时候,这也被认为是一个安全漏洞。如果你在意的话,你可以随意减小这个数值,在安全性和实用性之间平衡。如果你不希望Bash记录你的命令历史,可以将HISTSIZE设置为0。

如果你修改了~/.bashrc文件,记得要登出后再重新登录(否则改动不会生效)。

apropos

这是第一个我要介绍的工具,可以帮助你记忆Linux命令。apropos(意即“关于”)能够搜索Linux帮助文档来帮你找到你想要的命令。比如说,你不记得你用的发行版用的什么防火墙工具了。你可以输入apropos“firewall”,然后这个工具会返回相关的命令(图2)。

图2:你用的什么防火墙?

再假如你需要一个操作目录的命令,但是完全不知道要用哪个呢?输入apropos“directory”就可以列出在帮助文档里包含了字符“directory”的所有命令(图3)。

图3:可以操作目录的工具有哪些呢?

apropos工具在几乎所有Linux发行版里都会默认安装。

Fish

还有另一个能帮助你记忆命令的很好的工具。Fish是Linux/Unix/Mac OS的一个命令行shell,有一些很好用的功能。

自动推荐

VGA颜色

完美的脚本支持

基于网页的配置

帮助文档自动补全

语法高亮

以及更多

自动推荐功能让fish非常方便(特别是你想不起来一些命令的时候)。

你可能觉得挺好,但是fish没有被默认安装。对于Ubuntu(以及它的衍生版),你可以用下面的命令安装:

sudo apt-add-repository ppa:fish-shell/release-2

sudo apt update

sudo apt install fish

对于类CentOS系统,可以这样安装fish。用下面的命令增加仓库:

sudo -s

cd /etc/yum.repos.d/

wget http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo

用下面的命令更新仓库:

yum repolist

yum update

然后用下面的命令安装fish:

yum install fish

fish用起来可能没你想象的那么直观。记住,fish是一个shell,所以在使用命令之前你得先登录进去。在你的终端里,运行命令fish然后你就会看到自己已经打开了一个新的shell(图4)。

图4:fish的交互式shell。

在开始输入命令的时候,fish会自动补齐命令。如果推荐的命令不是你想要的,按下键盘的Tab键可以浏览更多选择。如果正好是你想要的,按下键盘的向右键补齐命令,然后按下Enter执行。在用完fish后,输入exit来退出shell。

Fish还可以做更多事情,但是这里只介绍用来帮助你记住命令,自动推荐功能足够了。

保持学习

Linux上有太多的命令了。但你也不用记住所有命令。多亏有Bash命令历史以及像apropos和fish这样的工具,你不用消耗太多记忆来回忆那些帮你完成任务的命令。

linux+html5+开发工具,记不住 Linux 命令?这三个工具可以帮你相关推荐

  1. C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习

    01 课程介绍 [录播]课程介绍(66分钟) 免费试学 [录播]磁盘存储链式的B树与B+树(131分钟) 免费试学 免费学习视频链接点击:C/C++Linux服务器开发高级架构师/Linux后台架构师 ...

  2. 嵌入式linux驱动开发实战教程,嵌入式Linux驱动开发实战视频教程

    嵌入式Linux驱动开发实战教程(内核驱动.看门狗技术.触摸屏.视频采集系统) 适合人群:高级 课时数量:109课时 用到技术:嵌入式 Linux 涉及项目:驱动开发.看门狗技术.触摸屏.视频采集 咨 ...

  3. 何为 Linux 内核开发,怎么学好 Linux 内核?

    此文包含 Linux 系统的学习路径和书籍推荐. 我觉得学习 Linux 系统,内核驱动时,最开始只需要 'Know what, not know how '. 不用去探究细节,只需要知道整体的框架, ...

  4. 总结如何从Linux开发工程师到Linux后台开发工程师再到Linux高级互联网架构师

    前言: 小编也是从事c方面10多年的工作经验.今天跟大家分享一下我总结出来的一系列 C/C Linux后台服务器开发的学习路线.从Linux开发工程师-Linux后台开发工程师-Linux高级互联网架 ...

  5. AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 am335x开发板嵌入式开发板系统 NFS客户端的配置 首先运行在嵌入式开发板系统的 Linux 内核支持 NFS 客 户端, 运行 #make menu ...

  6. 利用tldr工具再也不怕记不住Linux命令

    文章目录 1 前言 2 tldr 3 安装 4 使用 1 前言   linux命令非常多,少用的命令往往易忘记,甚至常用的语法较为复杂的命令也不好记住.当然有些太复杂的命令也不需要死记硬背,我们往往会 ...

  7. linux命令前期记不住,linux前期 - 浪里小白龙l的个人空间 - OSCHINA - 中文开源技术交流社区...

    Linux安装说明 1.4安装虚拟机  创建新的虚拟机 选择典型,点击下一步 选择第三项,稍后安装操作系统. 操作系统这里选择Linux ,因为我们的教材是centos 7 ,所以版本这个地方选择ce ...

  8. Linux嵌入式开发,WIFI使用相关命令(rtl8188eu)

    一.查看设备. 1.想看USB设备. root@ms:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Bus 002 Device 001: ID 1d6b:000 ...

  9. 从事【音视频】的开发者,看过来,如果记不住FFmpeg命令,可以收藏,不记得的时候,掏出来翻翻

    ffmpeg --help大概分为6个部分,具体如下: ffmpeg信息查询部分 公共操作参数部分 文件主要操作参数部分 视频操作参数部分 音频操作参数部分 字母操作参数部分 查看支持的容器格式 # ...

最新文章

  1. Photoshop抠图、污点处理等常用功能及快捷键
  2. 火车票上的星号暗藏玄机?!
  3. Netty使用protobuf进行消息编解码代码示例
  4. SDK 和 API 有什么区别
  5. WebService的相关概念1
  6. tcp套接字编程模型
  7. 【转】如何更改VS2005的启动环境
  8. Android加速球、360加速球
  9. 机器学习之支持向量回归(SVR)
  10. 上传大文件至阿里云服务器解决方案(理论上无限大文件,支持批量处理)
  11. Android WIFI连接开发 WIFI工具类
  12. 推荐10个堪称神器的学习网站
  13. 有备无患——数据中心基础设施备品备件管理
  14. idea 流程图出现 Condition \n
  15. 驾考科目二倒车入库技巧图解
  16. 世纪难题,当Python爬虫遇到短信验证码如何处理?
  17. D-HARRY2020春夏新品
  18. 程序员健康指南--努力健康起来吧
  19. 惠头条自媒体如何产生爆文
  20. 深度学习-nlp系列(2)文本分类(Bert)pytorch

热门文章

  1. inside-the-linux-kernel-full
  2. Java实现查看SEGY(.su格式)数据道头字信息的GUI图形用户界面
  3. android10 三星升级计划,Android 10.0(Q OS)系统升级计划Androi
  4. 多元线性回归(java实现)
  5. android端和javaWeb端实现Mqtt消息推送
  6. python实现模糊搜索_Python 代码实现模糊查询
  7. linux乱码的文件怎么删除,如何删除Linux的乱码文件
  8. python如何判断为空_python中怎么判断是否为空
  9. properties 配置回车_Dell?H730P?Raid1?配置方法
  10. for vue 一行2列_前端开发面试问什么?vue面试中经常问到的问题?用vue想拿20k,面试题要这样答!...