千家信息网

提高Linux工作效率的九大bash技巧分别是什么

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,今天就跟大家聊聊有关提高Linux工作效率的九大bash技巧分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我喜欢钻研bash环境。很
千家信息网最后更新 2025年02月23日提高Linux工作效率的九大bash技巧分别是什么

今天就跟大家聊聊有关提高Linux工作效率的九大bash技巧分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我喜欢钻研bash环境。很多时候,在使用bash编程中,有些问题一遍又一遍的重复遇到。每次我都需要重新思考这些问题的解决方法。直到有一天我无法忍受,于是坐下来,编写一个通用的函数,放入我的.bashrc文件中,部署到电脑上。

希望我的这些追求最大化命令行效率的努力成果也能给其他喜欢使用bash的朋友们带来一些帮助。我更大的期望是我的这种行为能引起其他朋友的互动--给我提建议、提出更好的bash技巧,请在文后留言讨论。

别的不多说了,下面就是我的总结。

技巧一、用命令行往文件的顶部添加文字

每次我都会重新寻找这个命令的写法。下面就是如何使用sed往一个文件顶部添加一行的方法:

sed -i  path/to/file/you/want/to/change.txt

技巧二、用命令行往配置文件里插入多行文本

这种方法非常简单,很多人都知道,下面就是如何用命令行将(>>)多行文本插入一个文件中。这里使用的是"here document"语法,它能让你通过块文本符号来将段落插入文件中,通常用的符合是EOF(意思是 "End Of File"):

cat >> path/to/file/to/append-to.txt <<  /jdk1.8.0_31/bin: /jdk1.8.0_31/EOF

两个"EOF"之间的所有内容都会被添加到文件中。

技巧三、用命令行递归方式全局搜索目录文件和替换

如果你使用Eclipse,ItelliJ或其它IDE,这些工具的强大重构能力也许会让你轻松实现很多事情。但我估计很多时候你的开发环境中没有这样的集成工具。

如何使用命令行对一个目录进行递归搜索和替换?别想Perl语言,你可以使用find and sed。感谢Stack Overflow提供的指导:

find . -type f -name  -exec sed -i  s/this/that/g  +

使用了一段时间后,我总结写出了一个函数,添加入了 .bashrc ,就像下面这样:

 sr     find . -type f -exec sed -i  s///g  +

你可以像这样使用它:

sr wrong_word correct_word

技巧四、用命令行在vim和Dropbox里开启一个临时文件

我过去喜欢用Emacs里的scratch facility功能。也经常用Vim快速创建临时文件。下面这两个函数是使用openssl生成随机的字符串作为文件名:

 sc   gvim ~/Dropbox/openssl rand -base64   tr -dc .txt scratch   gvim ~/Dropbox/openssl rand -base64   tr -dc .txt

在命令行窗口输入sc或scratch,一个新的gvim或macvim窗口就会弹出来,里面会加载一个随机文件名的临时文件。

技巧五、用命令行下载文件,包括链接转向、HTTPS和安全加密等情况。

下载一个页面输出到终端,跟随链接转向,忽略安全异常:

curl -Lks 

下载一个链接,跟随链接转向,忽略安全异常:

curl -OLks 

这里用了很多参数,你可以阅读这个简单的curl文档来了解它们。

技巧六、Bashmarks

你还没有在.bashrc里使用bashmarks吗?还在等待什么?它真的非常有用。它能帮你保持历史操作,跳回到你经常使用的目录。下面是我的配置文件里脚本,但我想上面的链接能提供你更多技巧:

技巧七、从格式化输出里提取一列(我最常使用的awk技巧)

我几乎天天都会使用它。真的。经常会有一些输出,我只需要其中的第二列,或第三列,下面这个命令就能做到这些:

M .bashrc?? .vim/bundle/extempore/$ git status -s  awk .bashrc.vim/bundle/extempore/

为什么不写个函数,让我们随时都可以用呢?

 col   awk -v

这使得提取列非常容易,比如,你不想要第一列?简单:

$ git status -s  col 2.bashrc.vim/bundle/extempore/

技巧八、忽略头x个词

我对xargs很着迷,我感觉它就像一把快刀。但有时候用它获得的结果需要调整一下,也许需要取得一些值。例如,你想去掉下面文件影像里的一些信息:

 skip           cut -d -f-

下面是如何使用它:

使用 docker images 得到下面的输出:

使用上面的函数,你可以获取所有的IDs:

$ docker images  col 3IMAGE65a9e3ef71717c01ca6c30f29518620e6a0e430707ee7fe81dbd7ebffe31f47686df00dfdf1e39df8dbfc5e6cf38d985e426f6ef897e8cdd417ec611511136ea3c5a

进一步处理:

docker images  col   xargsIMAGE 65a9e3ef7171 7c01ca6c30f2 9518620e6a0e 430707ee7fe8 1dbd7ebffe31 f47686df00df df1e39df8dbf c5e6cf38d985 e426f6ef897e 8cdd417ec611 511136ea3c5a

但前面的"IMAGE"字符我也想去掉:

docker images  col   xargs  skip 165a9e3ef7171 7c01ca6c30f2 9518620e6a0e 430707ee7fe8 1dbd7ebffe31 f47686df00df df1e39df8dbf c5e6cf38d985 e426f6ef897e 8cdd417ec611 511136ea3c5a

完整的写下来就是这样:

docker rmi docker images  col   xargs  skip 1

技巧九、创建自己的命令包

在bash里,你可以很容易的创建自己的命令组件,你可以看一下下面我写的:

通过上面的脚本,我可以将ssh key拷贝到任何网站服务器--只需要键入 dur key user@somehost.

看完上述内容,你们对提高Linux工作效率的九大bash技巧分别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 技巧 命令 函数 链接 内容 就是 面的 输出 效率 安全 文本 方法 目录 工作 两个 字符 工具 常用 文件名 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器需要重启吗 建立数据库系统的主要目标是 山东省同道网络技术有限公司 为什么数据库没有索引 如用数据库打印条码 杭州柒耀网络技术有限公司 服务器网站文件怎么修改 公务员如何做好网络安全工作 数字地图软件开发 虎牙魔兽主播的服务器 nodejs拿数据库 sms在网络安全领域是否合适 socks5代理服务器部署 服务器降温器科技纪录片 mts服务器什么意思 广西crm软件开发公司 怎么在服务器里边加上材质包 县网络安全信息化委员会 电子商务网络技术是学什麽的 海淀区技术软件开发包括什么 sql改数据库名 网络安全网络攻防技术与实践 无锡市正和信堂网络技术 苹果手机服务器主机名怎么填 php表单存储数据库源码 asp.net导入数据库 英雄联盟断网无法连接服务器台词 管理人员远程连接服务器 医院的网络技术岗位有前途 东方智谷小蚂蚁服务器的编号
0