来源:蜘蛛抓取(WebSpider)
时间:2018-01-16 13:54
标签:
教育软件开发
记不住 Linux 命令?这三个工具可以帮你_Linux教程_Linux公社-Linux系统门户网站
你好,游客
记不住 Linux 命令?这三个工具可以帮你
来源:Linux中国&
作者:Linux
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 文件,记得要登出后再重新登录(否则改动不会生效)。
这是第一个我要介绍的工具,可以帮助你记忆 Linux 命令。apropos (意即&关于&)能够搜索 Linux 帮助文档来帮你找到你想要的命令。比如说,你不记得你用的发行版用的什么防火墙工具了。你可以输入 apropos &firewall&&,然后这个工具会返回相关的命令(图 2)。
图 2: 你用的什么防火墙?
再假如你需要一个操作目录的命令,但是完全不知道要用哪个呢?输入 apropos &directory&&就可以列出在帮助文档里包含了字符 &directory& 的所有命令(图 3)。
图 3: 可以操作目录的工具有哪些呢?
apropos 工具在几乎所有 Linux 发行版里都会默认安装。
还有另一个能帮助你记忆命令的很好的工具。Fish 是 Linux/Unix/Mac OS 的一个命令行 shell,有一些很好用的功能。
完美的脚本支持
基于网页的配置
帮助文档自动补全
自动推荐功能让 fish 非常方便(特别是你想不起来一些命令的时候)。
你可能觉得挺好,但是 fish 没有被默认安装。对于 (以及它的衍生版),你可以用下面的命令安装:
sudo apt-add-repository ppa:fish-shell/release-2
sudo apt update
sudo apt install fish
系统,可以这样安装 fish。用下面的命令增加仓库:
cd/etc/yum.repos.d/
wget http://download.open.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 这样的工具,你不用消耗太多记忆来回忆那些帮你完成任务的命令。
作者: 译者: 校对:
原创编译, 荣誉推出
本文永久更新链接地址:
相关资讯 & & &
& (03/25/:26)
& (12/15/:53)
& (02/25/:58)
同意评论声明
发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Linux 实用教程_百度百科
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
Linux 实用教程
《Linux实用教程》是1999年电子工业出版社出版的图书,作者是魏永明。
Linux 实用教程内容介绍
国内比较早的 Linux 教程,涉及了一些同类图书没有涉及的、系统开发方面的内容
Linux 实用教程作品目录
全文目录 Linux实用教程 前言 第一部 分Linux的安装和快速入门 本书主要内容 本书面向读者 第一章 Linux的获取和安装 1、1Linux的获取 1、1、1选择Linux版本 版面字体约定 1、1、2获取Linux 1、1、3RedHat简介 1、2安装Linux的硬件需求 1、3Linux的安装 1、3、1安装Linux的一般过程 1、3、2安装RedHatLinux 1、4Linux资源,寻求帮助 第二章 Linux基础 2、1登录、注销和关机 2、1、1登录 2、1、2注销和关机 2、1、3修改口令 2、2文件系统概述 2、3用户帐号和口令 2、3、1用户信息 2、3、2口令 2、3、3建立和管理用户帐号 2、4主目录 第三章 文件和程序 3、1文件系统的层次结构 3、2文件和目录 3、2、1固定链接 3、3符号链接 3、4文件权限和所有权 3、5目录和目录权限 3、6运行程序 3、6、1常用的系统操作命令 3、6、2远程登录 第四章 磁盘管理 4、1Linux中的设备 4、1、1建立设备特殊文件 4、1、2设备驱动程序原理 4、1、3常见设备种类 4、2磁盘的格式化 4、2、1物理格式化 4、2、2创建文件系统 4、2、3挂装文件系统 4、2、4卸除文件系统 4、2、5其他讨论 4、3备份和恢复 4、3、1备份 4、3、2恢复 第五章 BASII 5、1概述 5、1、1通配符,路径名的扩展 5、1、2引用特殊字符 5、1、3命令补全 5、1、4输出重定向 5、1、5输入重定向 5、1、6错误重定向 5、1、7管道 5、1、8历史表 5、1、9命令行编辑 5、1、10shell函数 5、2进程 5、3作业管理和虚拟终端 5、3、1后台作业 5、3、2作业管理 5、3、3虚拟终端 5、4环境变量 5、5系统初始化 第六章 Linux的GUI 6、1X 6、2X和Windows 6、3安装和配置X 6、3、1硬件要求 6、3、2获取X 6、3、3安装和配置XFree86 6、4运行X 6、4、1fvwm 6、4、2xterm 第七章 工具和实用程序 7、1正文编辑 7、1、1vi 7、1、2GNUEmacs简介 7、2搜索和排序 7、2、1搜索 7、2、2排序 7、3文件的归档、压缩和解压缩 7、3、1归档 7、3、2压缩和解压缩 7、3、3归档、压缩和解压缩的联合使用 7、4其他常用工具 第八章 其他 8、1shell脚本编程入门 8、1、1概述 8、1、2shell的指定 8、1、3变量 8、1、4登录脚本 8、1、5捕捉信号 8、1、6控制程序流程 8、2GNUC的安装和作用 8、2、1安装gcc 8、2、2C程序的编译和连接 8、2、3创建函数库 8、2、4利用make和Makefile自动编译 8、3其他 8、3、1常见文件的扩展名 8、3、2一些有用的中文软件 第二部 分Linux奥秘 第九章 Linux系统概述 9、1操作系统的概念和组成部分 9、2Linux内核的重要组成部分 9、2、1内存管理 9、2、2进程 9、2、3设备驱动程序 9、2、4文件系统 9、2、5网络 9、2、6其他 9、3Linux系统的主要服务 9、3、1init 9、3、2终端登录 9、3、3Syslog 9、3、4周期命令执行:cron和at 9、3、5图形用户界面 9、3、6网络 9、3、7网络登录 9、3、8网络文件系统 9、3、9其他 9、4目录树的标准布局 9、4、1root文件系统 9、4、2/usr文件系统 9、4、3/var文件系统 9、4、4/proc文件系统 第十章 内存管理 10、1虚拟内存 10、2Linux的内存页表 10、3内存页的分配和释放 10、4内存映射和需求分页 10、5Linux页缓存 10、6内存交换 10、7高速缓存 10、8相关系统工具和系统调用 10、8、1建立交换空间 10、8、2使用交换空间 10、8、3分配交换空间 10、8、4关于缓冲区高速缓存 10、8、5系统调用 第十一章 进程及进程间通讯机制 11、1Linux进程及线程 11、1、1标识符信息 11、1、2进程状态信息 11、1、3文件信息 11、1、4虚拟内存 11、1、5时间和定时器 11、1、6关于线程 11、1、7会话和进程组 11、2进程调度 11、3进程的创建 11、4执行程序 11、4、1ELF 11、4、2脚本文件 11、5信号 11、6管道 11、7SystemV的IPC机制 11、7、1消息队列 11、7、2信号量 11、7、3共享内存 11、8套接字 11、9相关系统工具及系统调用 11、9、1系统工具 11、9、2系统调用 第十二章 硬件和设备驱动程序 12、1处理器和总线 12、2Linux对PCI总线的支持 12、2、1PCI总线的结构 12、2、2Linux中PCI设备的初始化 12、3计算机和设备间的数据交换方式 12、3、1查询和中断 12、3、2直接内存访问 12、4中断及中断处理 12、4、1中断处理硬件 12、4、2Linux的中断处理软件 12、5设备驱动程序 12、5、1设备驱动程序的概念 12、5、2设备驱动程序的内存分配 12、5、3设备驱动程序和内核的接口 12、5、4网络设备 12、6硬盘 12、7软盘 12、8格式化和分区 12、8、1格式化 12、8、2分区 12、8、3无文件系统的磁盘 12、9其他存储设备 12、9、1CD-ROM 12、9、2磁带 12、10显示卡和监视器 12、10、1光栅扫描监视器 12、10、2彩色监视器 12、10、3调色板和分辨率 12、10、4显示内存 12、10、5点时钟 12、10、6XFree86 12、11键盘和鼠标 12、11、1键盘布局 12、11、2键盘的重复延迟和重复率 12、11、3Linux中的键盘映射 12、11、4鼠标接口 12、11、5鼠标设备名称 12、11、6鼠标协议 12、11、7鼠标和XFree86 12、12打印机 12、12、1打印机及其设备文件 12、12、2假脱机和打印作业 12、12、3打印作业控制 12、12、4Linux的打印原理 12、13其他外设 第十三章 文件系统 13、1Ext2文件系统 13、1、1Ext2索引节点 13、1、2Ext2文件系统的超块 13、1、3Ext2块组描述符 13、1、4Ext2目录 13、1、5Ext2文件系统中数据块的分配和释放 13、2虚拟文件系统 13、2、1VFS超块 13、2、2VFS索引节点 13、2、3文件系统的注册 13、2、4文件系统的挂装和卸装 13、2、5VFS中文件的定位 13、2、6VFS索引节点高速缓存 13、2、7VFS目录高速缓存 13、3缓冲区高速缓存 13、3、1bdflush内核守护进程 13、3、2update进程 13、4/proc文件系统 13、5特殊设备文件 13、6相关系统工具和系统调用 13、6、1Linux支持的文件系统 13、6、2建立文件系统 13、6、3文件系统的挂装和卸装 13、6、4检查文件系统的完整性 13、6、5检查磁盘错误 13、6、6碎片化问题 13、6、7其他文件系统工具 13、6、8系统调用 第十四章 网络 14、1TCP/IP协议 14、2Linux的TCP/IP网络层 14、3BSD套接字接口 14、4INET套接字层 14、4、1建立BSD套接字 14、4、2在INETBSD套接字上绑定地址 14、4、3在INETBSD套接字上建立连接 14、4、4监听INETBSD套接字 14、4、5接受连接请求 14、5IP层 14、5、1套接字缓冲区 14、5、2接收IP数据包 14、5、3发送IP数据包 14、5、4数据包的分段和重组 14、6地址解析协议 14、7IP路由 14、7、1路由缓存 14、7、2转发信息数据库 14、8相关系统工具和系统调用 第十五章 其他内核机制 15、1底半处理 15、2任务队列 15、3时间和定时器 15、4等待队列 15、5Buzz锁 15、6信号量 15、7模块 15、7、1装载模块 15、7、2卸载模块 15、8相关系统工具和系统调用 15、8、1显示和设置时间 15、8、2管理内核模块 15、8、3系统调用 第十六章 引导和关机 16、1Linux的引导过程 16、2关机 16、3重新引导 16、4紧急引导软盘 16、5init 16、6启动getty:/etc/inittab文件 16、7运行级别 16、8/etc/inittab文件的特殊设置 16、9单用户模式 第十七章 登录和注销 17、1终端登录 17、2网络登录 17、3login程序 17、4xdm 17、5访问控制 17、6shell启动 第十八章 安全性 18、1用户帐号及其配置 18、1、1用户帐号 18、1、2用户组 18、1、3/erc/passwd以及其他信息文件 18、1、4手工建立用户帐号 18、1、5修改用户属性 18、1、6删除用户或暂时禁止用户 18、2文件的访问许可 18、3访问设备 18、4root帐号 18、5备份数据 18、5、1选择备份介质 18、5、2选择备份工具 18、5、3简单备份 18、5、4多级备份 18、5、5压缩备份 第三部 分Linux实战举例 第十九章 内核编译 19、1准备工作 19、1、1了解你现有的内核版本号 19、1、2了解新内核的基本情况 19、1、3获取源文件 19、1、4解开源程序包 19、2内核编译 19、2、1内核配置 19、2、2编译内核和用新内核引导 19、2、3附加的套件 19、3常见问题及解决方法 第二十章 网络应用 20、1Linux对网络的支持 20、1、1网络通讯协议 20、1、2网络硬件的支持 20、1、3文件与打印的共享 20、1、4Linux对Internet/Internet所提供的服务 20、1、5远端执行应用程序服务 20、1、6Linux对网络互连的支持 20、1、7Linux对网络管理的支持 20、2PPP 20、2、1将PPP设定为客户端 20、2、2使用PPP连接两个网络 20、2、3建立PPP服务器 20、2、4在nullmoden(直接连线)上使用PPP 20、3阿帕奇(Apache)的应用 20、3、1编译启动阿帕奇 20、3、2WWW服务器的配置 20、3、3代理服务器的设置 第二十一章 中文环境 21、1中文字符集及编码 21、1、1GB码 21、1、2HZ码 21、1、3Big5码 21、2中文化方法 21、2、1修改源代码 21、2、2“包装”原理 21、2、3常用的XWindow中文化解决方案 21、3XWindow的中文字库 21、3、1常用字库 21、3、2中文字库的安装 21、3、3可缩放字库 21、3、4中文X字库的共享 21、4中文输入 21、4、1Xcin+crxvt 21、4、2Chinput套件 21、4、3其他问题 21、5中文编辑 21、5、1LaTeX+CJK 21、5、2Emacs 21、6中文打印 21、6、1cnprint,ps2cps,gb2ps 21、6、2中文(GB)PostScript字库 21、7中文终端 21、7、1安装CXterm 21、7、2CXterm的使用 第二十二章 基于XLIB的应用程序开发 22、1基础知识 22、1、1头文件 22、1、2变量 22、1、3服务器资源 22、1、4图形上下文 22、1、5事件 22、2创建一个简单的X窗口程序 22、2、1同X服务器建立联系 22、2、2获取屏幕信息 22、2、3产生窗口 22、2、4图标、字体和颜色 22、2、5与窗口管理器建立联系 22、2、6选择事件类型 22、2、7创建和设置GC 22、2、8窗口显示 22、2、9事件循环和处理 22、2、10绘图 22、2、11出错处理 22、3源程序 附录A佳文共赏 Linux——自由而奔放的黑马 附录B专业术语中英文对照表 附录C参考文献
.豆瓣读书[引用日期]阅读 (27733) 评论 (55)
阅读 (26170) 评论 (26)
阅读 (21726) 评论 (5)
阅读 (40117) 评论 (5)
阅读 (31624) 评论 (4)
阅读 (28698) 评论 (7)
Advertisment ad adsense googles cpro.baidu.com这是一篇旧文,点击以旧主题模式浏览。