美文网首页
[总结] 一些有用的shell脚本

[总结] 一些有用的shell脚本

作者: mr_franklin | 来源:发表于2016-12-05 17:02 被阅读114次

查看linux系统版本

// 系统内核版本
[root@bfc8accfa814 /]# uname -r
3.10.0-327.13.1.el7.x86_64

// redhat系统版本
[root@bfc8accfa814 /]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

// 内核版本和redhat版本
[root@bfc8accfa814 /]# cat /proc/version
Linux version 3.10.0-327.13.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Mar 31 16:04:38 UTC 2016

获取当前主机的ip地址:

//centos下:

PUBLIC_IP="$(ifconfig eth0 | awk -F ' *|:' '/inet/{print $3}')"

//ubuntu下:

PUBLIC_IP="$(ifconfig eth0 | awk -F ' *|:' '/inet addr/{print $4}')"

编写Dockerfile时,经常要用到apt-get update(ubuntu系统),但会超时或网络出错,可以将源修改成国内镜像:

sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.163.com\/ubuntu\//g' /etc/apt/sources.list

分隔文件名和扩展名

$fullname=test/demo.png
$filename=`basename "$fullname"`
$extension=${filename##*.}
$filename=${filename%.*}

${var#pattern},${var%pattern}
#(##)的含义是从左向右搜索,匹配到后去掉匹配到的部分,返回右边的剩余部分。(掐头,键盘上在$左边)
%(%%)的含义是从右向左搜索,匹配到后去掉匹配部分,返回左边剩余部分。(去尾,键盘上在$右边)
#和%是最短匹配;##和%%是最大匹配。

systemd相关命令

  1. 查看开启自启动程序
ls /etc/systemd/system/multi-user.target.wants/

实际上,开机自启动命令systemctl enable demo.service其实是增加了由/usr/lib/systemd/system//etc/systemd/system/multi-user.target.wants/下的软链接。相当于执行:

ln -s '/usr/lib/systemd/system/demo.service' '/etc/systemd/system/multi-user.target.wants/demo.service'

tar压缩解压命令

tar zcvf file.tar.gz dir  #压缩指定目录
tar zxvf file.tar.gz -C dir #解压到指定目录

利用python工具格式化json字符串

比如,查看docker image列表

cat /var/lib/docker/image/devicemapper/repositories.json | python -mjson.tool

使用一行命令创建目录并进入到新目录

这个功能非常使用。
平时如果创建目录并且进入到这个新目录,一般都这么写:

mkdir my-dir; cd my-dir

其实可以通过写一个小脚本定义个命令来实现。将下面代码加到~/.bashrc~/.bash_profile

# mkdir, cd into it
mkcd () {
mkdir -p "$*"
cd "$*"
}

之后就可以用mkcd实现新建并进入新目录了。

mkcd my-dir

来自:http://lifehacker.com/5535495/create-and-change-to-a-new-directory-in-one-command

使用type命令可以查看某个命令是否被当前系统所支持

[~]$ type awk
awk is /usr/local/bin/awk

将top命令的结果输出到文件

top -b -n 5 -d 10 > /top.txt

-b:batch模式,可重定向到文件
-n:表示top命令执行几次
-d:执行top命令的时间间隔

统计代码行数

find . "(" -name "*.java" -or -name "*.mm" ")" -print | xargs wc -l

相关文章

  • [总结] 一些有用的shell脚本

    查看linux系统版本 获取当前主机的ip地址: 编写Dockerfile时,经常要用到apt-get updat...

  • [055]linux一些基本命令-sed,$()

    背景 晚上帮一个朋友解决shell脚本的命令,好久没有用shell脚本有点生疏。所以我也跟着回顾了一些shell知...

  • Shell脚本之杂项

    title: Shell脚本之杂项tags: shell编程, 杂项 记录一些学到的shell脚本里面的一些杂项(...

  • Linux Shell: 各种tips

    通用Linux中执行shell脚本的4种方法总结hbase shell基础和常用命令详解 2.字符串Shell脚本...

  • mac终端下运行shell脚本

    From: 在mac下编写shell脚本并执行 一些资料 Shell教程-for 菜鸟教程 Shell脚本编程30...

  • 小鸟初学Shell编程(一)认识Shell

    开篇介绍 Linux里非常的有用的一个功能,这个功能就叫Shell脚本。 Shell脚本在我日常开发工作里也占了非...

  • 利用shell脚本设置hive查询语句中的变量

    在shell脚本中设置的变量,可以通过hive -e直接使用,例如: 方法总结为: 在shell脚本中添加变量 使...

  • shell脚本问题总结

    最近UI自动化需要一些脚本,遇到一些问题,总结到这里,方便自己查阅 问题1:运行shell脚本报错:“/bin/b...

  • shell脚本-基本语法

    前言 什么是shell脚本呢?shell脚本就是利用shell的功能所写的一个纯文本的程序,将一些shell的语法...

  • shell

    shell脚本在linux中应用广泛,之前一直选用python写脚本来进行一些文件操作,但是最后发现shell脚本...

网友评论

      本文标题:[总结] 一些有用的shell脚本

      本文链接:https://www.haomeiwen.com/subject/htzkmttx.html