阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

分享几个Linux命令及脚本使用中的有趣技巧

32次阅读
没有评论

共计 1085 个字符,预计需要花费 3 分钟才能阅读完成。

实例 1

创建一个别名,删除原始文件,同时在用户的 home 目录下 backup 中保存副本。

#/bin/bash
cp $@ ~/backup && rm -rf $@
实例 2

Fork 炸弹

:(){:|:&};:
实例 3

生成一个 11 位的随机密码,包括大小写字母、数字及特殊(/ 与 +)符号。

openssl rand -base64 200|cut -b 1-11|head -n 1
实例 4

不切换当前工作目录,使用 cd 命令并显示切换后目标目录的内容。

(cd /bin;ls)

本例子中,使用 () 定义了一个子 shell,对当前的 shell 并无影响,所有改变仅限于子 shell 中,上述操作在某些场景中特别有用。

实例 5

为防止当前工作终端退出造成正在执行的任务被中断,我们可以在屏幕上随机打印一些数字字母。下面命令用来装 X 有时候也挺有用。

while true ; do display=`echo $RANDMOM|md5sum` ; echo $display $display ; done
实例 6

使用一条命令随机创建一个指定格式的文件或目录。

mktemp gyslXXX
mktemp -d gyslXXX

此命令一般不常见,gysl 为指定的前缀,之后的大写 X 为占位符,这些大写的 X 不能位于名称最前面,并且至少保证存在 3 个 X 占位符,这些大写 X 在创建新文件和新目录是会被随机字母所替代。如果直接执行 mktemp 命令,那么会在本机的 /tmp 目录下创建临时文件或目录。执行该命令创建的文件默认权限为:600,目录权限为 700,并不受 umask 所影响,这一点需要特别注意。

实例 7

删除文本中的空白行。

sed -i '/^$/d' a.txt

实现这个功能的命令很多,可能这是最简单一个命令了。

实例 8

通过正则表达式的匹配,将匹配内容使用 & 替代,按照指定格式输出。

echo "My name is Ivan."|sed 's/\w\+/[&]/g'
echo "My name is Ivan. My phone number is 010-87654321"|sed 's/[a-zA-Z0-9]\+/{&}'

上面例子分别匹配出了目标字符串中的单词(包括数字和字母),并把匹配内容分别使用 [] 和{}包起来。

实例 9

通过 sed 命令直接编辑文本时,在编辑之前先将源文件进行备份。

sed -i.1010.bak 's/ChatDevOps/gysl/' test.txt

执行完该命令后,源文件里面的每一行第一个匹配的 ChatDevOps 替换为 gysl,并将源文件备份为 test.txt.1010.bak。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1085字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中