shell常用代码
grep -lr 'hello' /usr/share/* #在/usr/share目录下查找包含hello的字符串 NOW_DATE=`date "+%Y%m%d%H%M%S"` #日期时间格式化20130720131611 START_DATE=`date -d 'yesterday' "+%Y-%m-%d"` #昨天的日期 [1] #bash中变量赋值,等号两边均不能有空格存在 $# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表 #if语句使用 [2] if [ x$1 != x ]; then
#Have args
NEW_FILE_NAME=$1
elif [ $1x == "h5"x ]; then
NEW_FILE_NAME=h5_web
else
#Not have args
NEW_FILE_NAME=$NOW_DATE
fi
echo $NEW_FILE_NAME #Linux ZIP压缩文件 [1]
zip -rq -8 aaaa.zip aaaa/
zip -rq Android_demo_src.zip codes/* # Linux下使用unrar解压RAR包 [1]
1.查看rar包中的内容:
#unrar l *.rar 或者
#unrar v *.rar
2.测试rar包是否能解压成功:
#unrar t *.rar
3.解压到当前文件夹:
#unrar e *.rar
4.解压到指定文件夹:
#unrar x *.rar /tmp yum install rar unrar #在有RPMforge源的情况下安装unrar ls -l --full-time #linux ls 命令查看完整的文件创建时间 find /var/www/html/test/ -name "*.php" -print |xargs -n1 echo #通过find查找文件夹下的文件再做相关操作
find /var/www/html/test/ -name "*.php.bak"|sed 's/.bak$//g'| xargs -n1 -i mv -f {}.bak {} #把带特定后辍的文件去除后辍后覆盖不带后辍的文件
find ./* -name "*.php" -print | xargs tar -czpPf bak1.tar.gz #find查找文件后再tar #cat再tar
a.txt中内容
/tmp/1.txt
/tmp/2.txt cat a.txt | xargs tar -czpPf bak1.tar.gz #对文件中的每一行所对应的文件中的内容进行替换操作
aaa.txt文件中的内容
/tmp/1.txt
/tmp/2.txt cat aaa.txt | xargs -n1 sed -i 's/compileSdkVersion 21/compileSdkVersion 25/' tar czpPf test.tar.gz --exclude=aa ./* #将当前目录下的所有文件打包除aa文件夹外,如果要去除多个文件夹可用多个"--exclude=file...",文件也是一样的 0 12 * * * mail test < /home/test/test.txt
分时日月周 |========命令行===============| “/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字 #用awk输出被空格分隔的每一个字段
echo "a b c"|awk '{for(i=1;i<=NF;i++) { print $i; }}' #用sed删除文件中的一行
sed -i "/pool.ntp.org/d" /var/spool/cron/root_test #用sed替换文件中的"/sss.sh"字符串为空
sed -i 's/\/sss\.sh//' /etc/rc.d/rc.local_test #用sed查找包含80的行前加入一行
sed -i '/-A ... port 80 -j ACCEPT/i-A ... port 8888 -j ACCEPT' /etc/sysconfig/iptables_test
sed -i '/-A ... port 80 -j ACCEPT/a-A ... port 8888 -j ACCEPT' /etc/sysconfig/iptables_test #在行后插入一行 #grep查找一个字符串并显示前后n行
grep -in 'mt_srand' -r ./ --colour -5 [1]
grep -rnC5 'mt_srand' ./* #同上
grep -rnB5 'mt_srand' ./* #前5行
grep -rnA5 'mt_srand' ./* #后5行,更多参数可"grep --help"查看 #for使用 [1]
for((i=0;i<=9;i++));do wget http://test.com/$i.ogg ;done
for i in *; do echo $i ; done for((i=1;i<=12;i++))
do
if [ $i -lt 10 ]; then
month="0$i"
else
month=$i
fi echo $month
rm /tmp/sounds/2015"${month}"* #显示1-12天前的日期
START_DATE=`date -d "-$i day" "+%Y-%m-%d"` done #shell运行脚本时加上-x选项可调试脚本
sh -x a.sh可调试代码 #shell中单引号字符串中加入变量
echo 'aaaaa'$x'aaaaaa' #将iso中的一个img文件挂载到一个目录下显示 [1]
file /mnt/usb/images/install.img #可查看文件的类型为squashfs
mount -o loop -t squashfs /mnt/usb/images/install.img /mnt/os_install #查看selinux状态
sestatus -bv setenforce 0 立刻关闭 SELINUX
setenforce 1 立刻启用 SELINUX #卸载yum安装的软件
yum -y remove 安装软件名 #wget下载文件时自动新建和url中相同的目录
wget -x http://wwww.a.com/b/c/c.txt #会自动新建b/c目录 #git切换到指定版本 [1]
git checkout 8d39ad #命令行获取文件md5值
md5sum CentOS.iso | cut -d ' ' -f1 #一条命令建多个同级目录
mkdir {aaa,bbb,ccc} #","前后不能有空格 #linux下通过命令行进行文件编码转换 [1]
iconv -f gbk -t utf8 111.txt > test_Semaphore2.cpp
iconv -f gbk -t utf8 111.txt -o test_Semaphore2.cpp #将查找到的文件批量转换为utf8(注意:操作前请先备份)
find ./src -name "*.cpp_test" -print |xargs -n1 -i iconv -f gbk -t utf8 {} -o {} #diff命令的使用 [1]
diff -c build.sh build.sh.bak #netcat(nc)命令使用 [1]
yum install nc #安装nc命令
nc -l 8080 #监听8080接口
nc localhost 8080 #连接到本机的8080接口 #时间转时间戳
date -d "2015-07-24 12:25:00" +%s #时间戳转时间 [1]
date -d "@1437711900" #获取访问url后的http code
http_code2=`curl -o /dev/null -s -m 10 --connect-timeout 5 -w %{http_code} 'https://www.baidu.com'`
shell常用代码的更多相关文章
- shell常用代码积累
1.使用getopts从命令行接收参数 例: while getopts h:u:p: OPTION do case $OPTION in h) echo "主机地址:$OPTARG&quo ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- [转帖]拿小本本记下的Linux Shell常用技巧(一)
拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...
- 【转载】GitHub 标星 1.2w+,超全 Python 常用代码合集,值得收藏!
本文转自逆袭的二胖,作者二胖 今天给大家介绍一个由一个国外小哥用好几年时间维护的 Python 代码合集.简单来说就是,这个程序员小哥在几年前开始保存自己写过的 Python 代码,同时把一些自己比较 ...
- Linux系统重要快捷键& Shell 常用通配符
[Tab]:使用Tab键来进行命令补全: [Ctrl+c]:强行终止当前程序: [Ctrl+d]:键盘输入结束或退出终端: [Ctrl+s]:暂定当前程序,暂停后按下任意键恢复运行: [Ctrl+z] ...
- GCD 常用代码
GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...
- shell 常用正则
shell常用正则表达式 “^\d+$” //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$” //正整数 “^((-\d+)|(0+))$” //非正整数(负整数 ...
- Hbase Shell常用命令
hbase shell常用的操作命令有create,describe,disable,drop,list,scan,put,get,delete,deleteall,count,status等,通过h ...
- (转)Hbase shell 常用命令(1)
Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...
随机推荐
- 对Android项目中的文件夹进行解释
对Android项目中的文件夹进行解释: · src:里面存放的是Activity程序,或者是以后的其他组件,在此文件夹之中建立类的时候一定要注意,包名称不能是一级. · gen:此文件夹中的内容是自 ...
- MATLAB学习笔记(九)——MATLAB符号计算
(一)符号对象 一.建立符号对象 1.建立符号变量和符号常量(sym,syms): 只可以建立一个符号变量 可以一次性建立多个符号变量 PS:符号常量计算的结果是精确的数学表达式,而数值常量是进行约分 ...
- SU suplane命令学习
各位博友,不足之处,批评指正! 用其他软件打开看看, 注意:下图中应该是倾角,dip=Δt/Δx,单位为ms/traces,
- Linq to Sql/entity Join
inner join 模板: var query = from x in db.T1 join y in db.T2 on x.Id equals ...
- KVM切换器
所谓KVM,就是Keyboard.Video.Mouse的缩写,正式的名称为多计算机切换器.简单的说,就是一组键盘.显示器和鼠标,控制2台.4 台.8台.16台甚至到4096台以上的计算机主机. KV ...
- BZOJ3680 : 吊打XXX
本题就是找一个受力平衡的点 我们一开始假设这个点是(0,0) 然后求出它受到的力,将合力正交分解后朝着合力的方向走若干步,并不断缩小步长,一步步逼近答案 #include<cstdio> ...
- 提升 web 应用程序的性能(一)
提升 web 应用程序的性能,找出瓶颈,加快客户端内容的速度. 作为 web 用户,我们知道页面加载或刷新的速度对其成功至关重要.本文将帮助您更好地理解影响 web 应用程序性能的因素.学 ...
- sizeToFit()使用心得
sizeToFit()使用心得: 很多的初学者,包括我在内,当初在学习的时候,特别纠结什么时候用这个sizeToFit(). 下面我就来分享一下我的一些使用心得. 一.我们先来看看官方文档对sizeT ...
- [转]Net 下采用GET/POST/SOAP方式动态调用WebService C#实现
本文转自:http://www.cnblogs.com/splendidme/archive/2011/10/05/2199501.html 一直以来,我们都为动态调用WebService方法而烦恼. ...
- 戴尔PowerEdge服务器命名规则和型号分类
从第十代服务器开始,戴尔重新规范了服务器的名字,以现在的第十二代主流PowerEdge R620服务器为例: 第一位是字母,R代表机架式服务器,其它有: R:Rack,机架式服务器 T:Tower,塔 ...