Linux vim/vi下backspace(退格键)出现^? 或^H

2019-10-31 孤独求学人 Linux

当次删除操作,可以用【ctrl+w】以词为单位删除。一劳永逸的解决办法需按下面进行,二选一。

vim/vi下退格键出现^? (bash下)

方式一:
编辑 .bash_profile 文件,添加一行 stty erase ^? 到最后。执行如下:

vi ~/.bash_profile
stty erase ^?

方式二:
vim/vi下退格键出现^H(csh下)

编辑 .cshrc 文件,添加一行 stty erase ^H 到最后。执行如下:

vi ~/.cshrc
stty erase ^H


p.s.:bash下 检查修改是否成功,输入命令:

stty -a

发现值 erase = ^?; 已经修改成功。

标签: vim vi bash stty backspace

评论(0) 浏览(356)

10 个 Linux 中方便的 Bash 别名

2018-10-10 孤独求学人 Linux

你有多少次在命令行上输入一个长命令,并希望有一种方法可以保存它以供日后使用?这就是 Bash 别名派上用场的地方。它们允许你将长而神秘的命令压缩为易于记忆和使用的东西。需要一些例子来帮助你入门吗?没问题!

要使用你创建的 Bash 别名,你需要将其添加到 .bash_profile 中,该文件位于你的家目录中。请注意,此文件是隐藏的,并只能从命令行访问。编辑此文件的最简单方法是使用 Vi 或 Nano 之类的东西。

1、 你有几次遇到需要解压 .tar 文件但无法记住所需的确切参数?别名可以帮助你!只需将以下内容添加到 .bash_profile 中,然后使用 untar FileName 解压缩任何 .tar 文件。

alias untar='tar -zxvf '
2、 想要下载的东西,但如果出现问题可以恢复吗?

alias wget='wget -c '

3、 是否需要为新的网络帐户生成随机的 20 个字符的密码?没问题。

alias getpass="openssl rand -base64 20"

阅读全文>>

标签: linux wget tar alias

评论(0) 浏览(1830)

四个提高工作效率的小技巧

2018-9-15 孤独求学人 Linux

四个提高工作效率的小技巧:
一)有没有那么一个命令,创建目录并切换至新目录下?
在工作中是不是经常使用mkdir创建目录,然后cd到创建的目录下,如果经常这样执行的话是不是特烦,抱怨为什么没有一个现成的命令供使用
纠结中。。。。。
如果这个时候有个方式可以满足你的需求是不是感觉很兴奋,然我们见证实现方式吧:

在当前登录的账号的~/.bash_profile文件中添加如下代码:
function mkdircd () { 
  mkdir -p "$@" && eval cd "\"\$$#\"";
}

然后执行 source ~/.bash_profile 使修改文件生效
这个时候你的服务器下就会有个新的命令,mkdircd

Example:
#mkdircd /tmp/a/b/c
#pwd
/tmp/a/b/c

阅读全文>>

标签: linux cp touch mkdir

评论(0) 浏览(2205)

"Exit Trap” 让你的 Bash 脚本更稳固可靠

2018-5-14 孤独求学人 Linux

有个简单实用的技巧可以让你的 bash 脚本更稳健 -- 确保总是执行必要的收尾工作,哪怕是在发生异常的时候。要做到这一点,秘诀就是 bash 提供的一个叫做 EXIT 的伪信号,你可以 trap 它,当脚本因为任何原因退出时,相应的命令或函数就会执行。我们来看看它是如何工作的。

基本的代码结构看起来像这样:

#!/bin/bash
function finish {
  # 你的收尾代码
}
trap finish EXIT

你可以把任何你觉得务必要运行的代码放在这个 finish 函数里。一个很好的例子是:创建一个临时目录,事后再删除它。

#!/bin/bash
scratch=$(mktemp -d -t tmp.XXXXXXXXXX)
function finish {
  rm -rf "$scratch"
}
trap finish EXIT

这样,在你的核心代码中,你就可以在这个 $scratch 目录里下载、生成、操作中间或临时数据了。注1

阅读全文>>

标签: linux shell trap

评论(0) 浏览(1714)

在 Linux 下 9 个有用的 touch 命令示例

2018-5-2 孤独求学人 Linux

touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。

让我们来看看 touch 命令的语法和选项:

语法:

# touch {选项} {文件}
touch 命令中使用的选项:

touch-command-options

touch-command-options

在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例。

示例:1 使用 touch 创建一个空文件
要在 Linux 系统上使用 touch 命令创建空文件,键入 touch,然后输入文件名。如下所示:

[root@linuxtechi ~]# touch devops.txt
[root@linuxtechi ~]# ls -l devops.txt
-rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt

阅读全文>>

标签: linux cat touch stat

评论(0) 浏览(16417)

如何在 Linux 中查找最大的 10 个文件

2018-3-30 孤独求学人 Linux

当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。
您得花费大量的时间才能用上述命令获取系统中最大的文件,因为要进入到每个目录重复运行上述命令。
这种方法比较麻烦,也并不恰当。
如果是这样,那么该如何在 Linux 中找到最大的 10 个文件呢?
我在谷歌上搜索了很久,却没发现类似的文章,我反而看到了很多关于列出当前目录中最大的 10 个文件的文章。所以,我希望这篇文章对那些有类似需求的人有所帮助。
本教程中,我们将教您如何使用以下四种方法在 Linux 系统中查找最大的前 10 个文件。
方法 1
在 Linux 中没有特定的命令可以直接执行此操作,因此我们需要将多个命令结合使用。

# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 
 
1.4G /swapfile 
1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso 
564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA 
378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8 
377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU 
100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0 
93M /usr/lib/firefox/libxul.so 
84M /var/lib/snapd/snaps/core_3604.snap 
84M /var/lib/snapd/snaps/core_3440.snap 
84M /var/lib/snapd/snaps/core_3247.snap 

详解:

find:在目录结构中搜索文件的命令
/:在整个系统(从根目录开始)中查找
-type:指定文件类型
f:普通文件
-print0:在标准输出显示完整的文件名,其后跟一个空字符(null)
|:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
xargs:将标准输入转换成命令行参数的命令
-0:以空字符(null)而不是空白字符(LCTT 译者注:即空格、制表符和换行)来分割记录
du -h:以可读格式计算磁盘空间使用情况的命令
sort:对文本文件进行排序的命令
-r:反转结果
-h:用可读格式打印输出
head:输出文件开头部分的命令
n -10:打印前 10 个文件

阅读全文>>

标签: linux find df du ncdu

评论(0) 浏览(1425)

从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

2017-10-1 孤独求学人 Linux

运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火)

之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的。


初级篇


linux运维人员常用工具拓扑详见:


阅读全文>>

标签: linux rsync sed awk python

评论(0) 浏览(19469)

ImportErrorNomodulenamedCrypto.Cipher问题解决方案

2017-4-24 孤独求学人 Linux

今天在安装mycli命令行工具,运行mycli --help的时候出现以下问题
from Crypto import Random 问题

from Crypto.Cipher import AES 问题

在导入以上两条语句中,出现问题,显示出现无法找到crypto包,按照提示,
pip install Crypto 
pip install Crypto.Cipher
加入crypto包之后,然后还是出现这个问题。

问题解决参考以下链接:

http://stackoverflow.com/questions/19623267/importerror-no-module-named-crypto-cipher

阅读全文>>

标签: linux pip mycli crypto pycrypto

评论(0) 浏览(9411)

ELK+Filebeat 集中式日志解决方案详解

2016-12-27 孤独求学人 Linux

ELK Stack 简介

ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

  • Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
  • Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
  • Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
  • Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。

阅读全文>>

标签: linux Kibana Logstash Elasticsearch stack elk Filebeat

评论(0) 浏览(9122)

shell中>/dev/null 2>&1是什么鬼?

2016-11-8 孤独求学人 Linux

背景
我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。

shell重定向介绍
就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定的位置。在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕,甚至播放设备中。而对于某些后台运行的程序,输入可能来自于外部的一些文件,运算的结果通常又写到其他的文件中。而且程序在运行的过程中,会有一些关键性的信息,比如异常堆栈,外部接口调用情况等,这些都会统统写到日志文件里。

shell脚本也一样,但是我们一般在使用shell命令的时候,更多地还是通过键盘输入,然后在屏幕上查看命令的执行结果。如果某些情况下,我们需要将shell命令的执行结果存储到文件中,那么我们就需要使用输入输出的重定向功能。

文件描述符
当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用:

阅读全文>>

标签: linux shell dev

评论(0) 浏览(9074)

Powered by emlog 豫ICP备15004178号-1