通过8个技巧让你成为一个超强的Linux终端用户

本文由 极客范 - minejo 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

ternimal

使用Linux终端不仅仅是只输入命令。学习这些基本的技巧,你就会逐渐掌握Bash shell,这个在大多数Linux发行版上默认使用的终端工具。

这篇文章是写给缺乏经验的新手的,我相信大多数高级用户已经知道了所有的这些技巧。但是,你仍然可以看看,也许能学到你一直以来都忽略了的东西。

Tab键自动补全

使用Tab键自动补全是基本的技巧。它能节省你很多时间,而且当你不确定一个文件名或者命令怎么拼写时,它也及其有用。

举个例子,比如在当前目录你有一个文件,文件名是“really long file nam”,你想删除这个文件。你可以输入整个文件名,但是你得小心输错空格符(需要用\转义)。如果你输入”rm r”,然后按Tab键,Bash会自动为你补全这个文件的名字。

当然,如果当前目录中你有很多以字母r开头的文件,Bash就会不知道你指的是哪一个。比如当前目录你有另一个名字叫做“really very long file name”的文,当你按Tab键时,Bash会补全到“really\”部分,因为两个文件都是以这开头的。然后,再按Tab键你会看到所有能匹配该开头的文件列表,如下图。

tab

接着输入你想要的文件名然后按Tab键。这样,当我们输“l”然后按Tab键时,Bash会自动补全我们想要的文件名。

这种方法对于输入命令来说同样适用。当你不确定你想要的命令是什么,只记得以”gnome”开头时,输入“gnome”然后按Tab键,你就会看到所有可能的结果。

管道命令

管道命令允许你把一个命令的输出结果转移给另一个命令。在Unix的设计哲学中,每个程序都是只有少而精的功能。举个例子,”ls”命令会显示当前目录中所有的文件列表,而”grep”命令会在制定的地方搜索输入的字符串。

把这两者通过管道命令(用“|”符号表示)结合起来,你就可以在当前目录搜索某个文件了,以下命令用来搜索“really”:

pipe

通配符

星号”*”是一个可以匹配任何东西的通配符。比如,如果我们想把”really long file name“和”really very long file name“从当前目录都删了,我们可以使用如下命令:

这个命令删除了所有以really开头,以name结尾的文件。如果你用”rm *”命令,将会删除该目录下的所有文件,所有需谨慎使用。

wildcards

输出重定向

“〉”字符可以把一个命令的输出结果重定向到一个文件,而不需要额外使用另一个命令。比如,下图的代码使用”ls”命令来列出当前目录的所有文件,并把输出的列表输入到了一个名为”file1“的文件,而不是仅仅输出显示在终端上。

redirection

命令行历史

Bash会记得你使用过的命令的历史。你可以使用向上键和向下键来翻阅你已经使用过的命令。使用”history”命令会把历史命令都打印出来,因此你可以使用管道命令来搜索你最近使用的命令。

关于命令行历史,还有很多可以使用的技巧

history

~,.& ..

波浪符”~”代表当前用户的主目录。所以,你可以使用”cd ~”切换到你的主目录,而不用输入”cd /home/name”。这对相对路径同样使用,比如”cd ~/Desktop”会切换到当前用户的桌面目录。

与之类似的是,”.”代表当前目录,”..”代表父级目录。所有,”cd ..”会跳到父级目录。这对相对路径同样有效,比如你在Desktop目录,你想切换到与Desktop目录同级的Document目录,你可以使用”cd ../Documents”命令。

cd

后台运行命令

默认情况下,Bash会在当前终端下运行你的命令。正常来说没有问题,但是当你想同时运行一个应用程序而又要继续使用该终端时怎么办?比如你输入”firefox”命令来运行火狐浏览器,火狐将会占据你的终端并且显示一些错误信息等输出,直到你关闭它。但是加一个”&”符号在命令后面会使Bash在后台运行该程序:

background

条件执行

你同样可以用Bash运行两个命令,一个接着一个。第二个命令只有当第一个命令成功运行完毕后才会运行。要想做到这样,把两个命令在同一行中用”&&”分隔即可。

比如,”sleep”命令会以秒为单位接受一个参数,然后倒计时,允许结束。单独来用的话,该命令没有任何用处,但是你可以把它作为运行下一个程序之前的延时。下面的命令会停5秒然后运行gnome的截屏工具:

你还有任何想要分享的技巧吗?请留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国信证券学习系列(2)

获取指数池: def init(ContextInfo):#设置股票池stock300 ContextInfo.get_stock_list_in_sector(沪深300)ContextInfo.stock300_weight {}stock300_symbol []stock300_weightlist [] ContextInfo.index_code ContextInfo.stockcode"."ContextInfo.m…

旅游服务商Bikego完成A轮融资,共建创投、马蜂窝投资

2月26日消息,近日Bikego宣布完成A轮融资,共建创投、北京马蜂窝之旅国际旅行社投资。目前金额尚未公开。 bikego领趣旅行成立于2016年,是一家目的地日游服务运营商。从内容切入,提供国内自由行客户的白天玩法解决方案,…

python-flask-1

https://askubuntu.com/questions/244641/how-to-set-up-and-use-a-virtual-python-environment-in-ubuntu 1. virtualenv安装 sudo apt-get install virtualenv sudo apt install virtualenvwrapper echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh&quo…

JSch:Java Secure Channel -- java 代码实现 ssh 远程操作

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 JSch 是SSH2的一个纯Java实现。 它允许你连接到一个 sshd 服务器,使用端口转发,X11转发,文件传输等…

国信证券学习系列(3)

日内回转策略&#xff1a;做T策略 择时交易&#xff1a; if date[-8:-3] ! 14:55:if macd > 0 and macd_pre < 0:# 根据MACD>0则开仓,小于0则平仓if avaliable > df.iloc[-1, 0] * ContextInfo.Lots * 100:order_shares(ContextInfo.get_universe()[0], ContextIn…

时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析

2019独角兽企业重金招聘Python工程师标准>>> InfluxDB 的存储机制解析 本文介绍了InfluxDB对于时序数据的存储/索引的设计。由于InfluxDB的集群版已在0.12版就不再开源&#xff0c;因此如无特殊说明&#xff0c;本文的介绍对象都是指 InfluxDB 单机版 1. InfluxDB 的…

如何在Linux上提高文本的搜索效率

本文由 极客范 - minejo 翻译自 Xmodulo。欢迎加入极客翻译小组&#xff0c;同我们一道翻译与分享。转载请参见文章末尾处的要求。对于系统管理员或程序员来说&#xff0c;当需要在复杂配置的目录中或者在大型源码树中搜寻特定的文本或模式时&#xff0c;grep类型的工具大概是…

Spring Boot 10:处理Json数据中的null值

Jackson版&#xff1a; /*** Jackson 配置类 对Json数据进行特殊处理** Author YangXuyue* Date 2019/04/02 07:12*/ Configuration public class JacksonConfig {/*** 配置Jackson** param builder* return* Author YangXuyue* Date 2019/04/02 07:14*/BeanPrimaryConditional…

国信证券学习系列(4)

机器学习篇章&#xff0c;本章不过时脚本小子&#xff0c;机器学习最核心的是机器&#xff0c;是模型。 学习&#xff0c;无非就是找些有的没的因子扔进去&#xff0c;但说实话&#xff0c;机器学习&#xff0c;太过容易过拟合&#xff0c;容易无效化。回测好看的一笔&#xf…

JSch - Java Secure Channel : java 代码实现服务器远程操作

一、前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 JSch是SSH2的纯Java实现 。 JSch允许您连接到sshd服务器并使用端口转发&#xff0c;X11转发&#xff0c;文件传输等&#xff0…

前嗅ForeSpider教程:数据建表

今天&#xff0c;小编为大家带来的教程是&#xff1a;如何在前嗅ForeSpider中&#xff0c;进行数据建表操作及各注意事项。主要内容包括&#xff1a;快速建表&#xff0c;自由建表&#xff0c;字段参数&#xff0c;数据表的创建&#xff0c;关联与删除&#xff0c;以及表单变更…

世纪大争论:Linux还是GNU/Linux?

本文由 极客范 - 爱开源的贡献开源社区 翻译自 Chris Hoffman。欢迎加入极客翻译小组&#xff0c;同我们一道翻译与分享。转载请参见文章末尾处的要求。我们在网上已经习惯用“Linux”来称呼Linux操作系统了&#xff0c;然而&#xff0c;偶尔也用“GNU/Linux”来称呼和指代同…

PyTorch Softmax

PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. The other is do softmax on a spatial matrix sized in B, C, H, W. But it seems like some problems existing in Softmax2d. : ( 转载于:https://www.cnblogs.com/hiz…

国信证券学习系列(5)

网格策略&#xff0c;号称胜率100%的策略&#xff0c;只要扛得住回撤&#xff0c;怎么说呢&#xff0c;它包含了最简单的思想&#xff0c;大道至简&#xff0c;真的是没有什么复杂的&#xff0c;原理清晰&#xff0c;思路简单。可以明确知道我挣的是那笔钱&#xff0c;为什么获…

promise

## 前言 今天来分享下promise的用法&#xff0c;es6伟大发明之一&#xff0c;当初我学习的时候也是蛮头大的&#xff0c;不知道为啥&#xff0c;整个脑子就是&#xff0c;我在哪&#xff0c;我要干啥的懵圈&#xff0c;后面认真学习之后&#xff0c;觉得真是十分好用&#xff0…

计算机集群 解说

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 计算机集群简称集群是一种计算机系统&#xff0c;它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。 在某…

同时寻找最大数和最小数的最优算法 第二大数

我们知道&#xff0c;在一个容量为n的数据集合中寻找一个最大数&#xff0c;不管用什么样的比较算法&#xff0c;至少要比较n-1次&#xff0c;就算是用竞标赛排序也得比较n-1次&#xff0c;否则你找到的就不能保证是最大的数。那么&#xff0c;在一个容量为n的数据集合中同时寻…

浅谈mpvue项目目录和文件结构

2019独角兽企业重金招聘Python工程师标准>>> 在Visual Studio Code里面打开项目文件夹&#xff0c;我们可以看到类似如下的文件结构&#xff1a; 1、package.json文件 package.json是项目的主配置文件&#xff0c;里面包含了mpvue项目的基本描述信息、项目所依赖的各…

[AHOI2009]最小割(最大流+tarjan)

继续填坑了&#xff0c;啦啦啦 这道题本来是准备枚举每个边&#xff0c;暂时去除它&#xff0c;但发现时间会爆炸的 于是决定另辟蹊径 于是这篇题解就应运而生 首先还是网络流跑一边 毕竟题目叫最小割嘛&#xff0c;给个面子 然后跑一边tarjan对满流的边处理掉&#xff0c;即不…

进程间通信---信号

什么是信号&#xff1f; 】 信号处理流程 信号类型 发送信号的函数 参数sig&#xff1a;代表 信号 接收信号的函数 参数 handle 的处理方式有几种&#xff1f; 实例代码 实例逻辑 图中的等待操作使用&#xff1a;pause&#xff08;&#xff09;函数 代码 在这里插入代码片…