• sed命令
  1. 将文本input.txt中含有”姓名”字符串的行中的谢朝辉替换成扎巴依

sed -e '/姓名/s/谢朝辉/扎巴依/g' input.txt

  1. 将input.txt中第n(5)行替换成”jiangdiwuhangtihuan”.

sed -e '5c jiangdiwuhangtihuan' input.txt

  1. 将input.txt中的4至6行的资料区替换为:”tihuan4zhi6hang   tihuanchenggong”

sed -e'4,6c tihuan4zhi6hang tihuanchenggong' input.txt

  1. 删除input.txt中含有两个ff字母的行

sed -e '/f.*f/d' input.txt

表示删除所有含两"f"字母的资料行。其中 "." 表示任意字元; "*" 表示其前字元可重任意次,它们结合".*" 表示两"f" 字母间的任意字串

  1. 将input.txt中含有2b至含有4d的区域删除(首个2b至找到第一个4d的区域)

sed -e '/2b/,/4d/d' input.txt

  1. 查询文件中匹配行:查询文件中含有6f的文件。

grep 6f *     等价   ls * | nl * |sed -n '/6f/p' 、ls |xargs grep  6f

  1. 在input.txt文件的第二行添加1aa和2bb
  • awk命令
  1. awk去空行:等值为cat input.txt |grep -v "^$",grep -v "^$" input.txt,cat input.txt | tr -s '\n'
  2. 中山电信批量文件格式检查:又要中平对账号进行了校验,但是电信那边提供的文件中存在非数字字符:检查脚本:awk 'BEGIN {FS="\004";} NR>1 {print NR ":" $5}' file.name |grep -E "[^0-9|:]+"
  • tr命令(格式tr [OPTION]... SET1 [SET2]凡是标准输出存在sel1的字符都会被替换成sel2字符)-s
  1. 将input.txt文件中的7替换成8:tr 7 8 <input.txt,将大小字母替换成小写字母: tr 'a-z' 'A-Z'<input1.txt
  2. -s(是将如果发现有连续的SET1里的字符,就把它们缩减为1个)tr -s ' ' <input.txt
  • date命名
  1. 将日期转成时间戳:date -d now +%s
  2. 将时间戳转换为日期:date -d '1970-01-01 1447209286 sec utc' +%Y:%m:%d:\%T或者

date +%Y:%m:%d:%H:%M:%S -d "1970-01-01 UTC 1447209286  seconds"或者date -d "1970-01-01 UTC 1447209286 seconds" +%Y-%m-%d:%H:%M:%S

  • read命令-p,-a
  1. –p是提示语句,指定提示语句read –p “提示语句:” value

-a按分隔符(空格符分隔,连续的分隔符算一个分隔)将串分配给数组,read –a value aa bb  ${value[0] = aa},${value[0]} = aa},${value[0]} =bb},小标以0开始。

  1. 向单个变量中输入值(向变量id和passwd中读入数据):read  id passwd  (按空格及顺序存放)
  • 符号的用法@、$、=、>、>>、#
  1. @号的用法
  2. $号的用法:截取取字符串变量,从下标为0开始(第一位开始)取4为长度${value:0:4}
  3. =号的用法:1.给变量赋值时等号之间不要空格
  4. >表示重定向,>>表示重定向追加
  5. #可以取变量长度,例如:value=”123456”,${#value}的长度是6
  • 进程查看相关命令ps、top
  1. ps –ef | grep gddw
  • echo命令参数-n、
  1. 应为echo默认是换行,加–n表示不换行。
  • 以16进制格式查看文件内容:xxd  To120170508.txt |more
  • head与tail命令参数-n、
  1. 1.        显示文件开头的n行:head –n input.txt
  • find命令
  1. 1.        find递归查询:find . -name 'APF44_ZSWMPay*'|xargs grep AppLog|awk -F":"  '{print $1}'|sort |uniq -c
  • 顺坏语句for、while、until
  1. for循环:循环指定路径下的文件

for var in /app/int44/tmp/xzh/*  do echo "$var" done

  • 网络相关命令:netstat、ssh 、sftp
  1. netstat –anp|grep –E “7511|7512|7501”
  2. ssh -NfgL 5577:146.0.245.197:9080 monitor@127.0.0.1,说明:参数:NfgL  对方ip:146.0.245.197  对方端口:9080 映射对口:5577  本地用户名和本地ip:monitor@127.0.0.1
  3. sftp命令:lftp -u {user},{password} -p{port} sftp://ip <<EOF(脚本)

未指定端口:sftp user@ip,指定端口:sftp –o port=8011 user@ip

  1. ftp到远程服务器和本地服务器相互转换命令:!ls,!pwd,lcd等(!表示切换到本地服务下的命令)

将远程服务器上的相关信息重定向到本地服务器:ls JCSJ* /home/monitor/tmp/output.txt

  1. 检查网络是否通:ping ip;telnet ip port;traceroute ip
  • 计算和统计命令:wc
  1. wc计算文件有多少行:wc –l input.txt | awk ‘ {print $1 } ’
  • shell脚本格式输出:%s
  1. 实例:printf "%11s:%-15s\n" "归属1" "是否已激活",结果:      归属1:是否已激活

%11s 表示占位11个字符,向右看齐, %-10s 表示第二列占位12个字符,向左看齐。

  • 筛选和排序:sort
  1. sort:将文件中的内容排序,例如将文件中的内容按照文件的第5列排序:sort –k5 –n input.txt (参数-n表示将字符串转换为数字)
  • 环境变量设置:env:查看系统环境变量,export:设置环境变量:export LANG=zh_cn.GBK(指定运行环境字符集,但是不建议修改系统指定字符集,可在脚本中修改,脚本指定只在运行脚本有效)
  • 查看使用空间:df –hl、du -sm * | sort -n //统计当前目录大小 并安大小 排序
  • iconv,od,xxd,stat命令:字符集转换

  1.iconv -f utf-8 -t GBK 20170630.txt //将文件由utf-8转换成GBK在屏幕显示

  2.od -x 20170630.txt //以十六进制显示文本内容,前3个字节表示编码类型 (不同操作系统,显示不一样)

  3.xxd  20170630.txt //以十六进制显示文本内容,会显示编码和原文

  4.stat  20170630.txt //查看文件的最后访问时间,最后修改时间

  • 打包和解包命令:tar
  1. 打包:tar cvf /back/baklog/int44-log20170914.tar.gz /app/int44/log
  2. 解包:tar xzvf /back/baklog/int44-log20170914.tar.gz /app/int44/log

shell命令详解的更多相关文章

  1. adb shell 命令详解,android

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  2. 【Devops】【docker】【CI/CD】关于jenkins构建成功后一步,执行的shell命令详解+jenkins容器运行宿主机shell命令的实现方法

    1.展示这段shell命令 +详解 #================================================================================= ...

  3. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  4. adb shell 命令详解,android, adb logcat

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  5. hadoop Shell命令详解

    调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式.所有的的FS shell命令使用URI路径作为参数.URI路径详解点击这里. 1.cat说明:将路径 ...

  6. adb shell 命令详解(转)

    adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...

  7. adb shell 命令详解

    adb介绍 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面 ...

  8. Hive Shell 命令详解

    Hive服务介绍 Hive默认提供的cli(shell)服务,如果需要启动其他服务,那么需要service参数来启动其他服务,比如thrift服务.metastore服务等.可以通过命令hive -- ...

  9. Linux主要shell命令详解(中)

    shell中的特殊字符 shell中除使用普通字符外,还可以使用一些具有特殊含义和功能的特殊字符.在使用它们时应注意其特殊的含义和作用范围.下面分别对这些特殊字符加以介绍. 1. 通配符 通配符用于模 ...

  10. Linux主要shell命令详解(下)

    命令行编辑操作 功能 Ctrl+b或左箭头键 左移一个字符(移至前一个字符) Ctrl+f或右箭头键 右移一个字符(移至后一个字符) Ctrl+a 移至行首 Ctrl+e 移至行尾 Esc b 左移一 ...

随机推荐

  1. C++程序设计

    C++程序设计 之前学过C++课程,但是时间有点久,忘了很多,这里做一个简单的回顾. 网站推荐: C++在线编译器 学习C++之前,您可以先了解C语言. c++的扩展名一般为cpp(cplusplus ...

  2. 常用linux网络工具

    iftop netstat nethogs可以查看进程占用网络的情况 nc -u -z -w2 192.168.0.1 1-1000 //扫描192.168.0.3 的端口 范围是 1-1000

  3. 【javascript】javascript学习之js脚本的解析步骤

    将javascript代码加入到HTML代码中,即使用<script>标签的方式有两种:直接嵌入页面中和使用外部js文件. 使用<script>标签嵌入html代码中时,需要指 ...

  4. Array【数组】和Object【对象】的特性比较

    数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push).删除(shift)里面元素,我们还可以通过for循环遍历里面的元素. 那么除了数组我们在JavaScript ...

  5. hibernate 学习笔记3

    1. 多对多关联: 在双方都要用一个类型为Set的属性保存对方的信息,并在映射配置文件中指定这个属性的名字,并指定中间表.还需要通过<key column=””>来指定自己在中间表中对应的 ...

  6. 基于URL权限拦截的实现

    一.实现原理 1.实现原理   本示例采用SpringMVC的拦截器来实现一个基于URL的权限拦截. 2.权限管理流程 二.数据库搭建 1.用户表(sys_user) (1)表结构 (2)表字段说明 ...

  7. 【idea快捷键】

    IntelliJ Idea 常用快捷键列表 idea也是可以切换到eclipse风格的快捷键方式的  在keymap中切换即可 Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表 ...

  8. 使用Having子句

    Having 子句与where子句的功能类似,都是对行进行筛选.但是,where搜索条件是在分组操作之前对记录进行筛选,然后再由group BY 对筛选后符合条件的行进行分组:而Having搜索条件则 ...

  9. Eigen库矩阵运算使用方法

    Eigen库矩阵运算使用方法 Eigen这个类库,存的东西好多的,来看一下主要的几个头文件吧: ——Core 有关矩阵和数组的类,有基本的线性代数(包含 三角形 和 自伴乘积 相关),还有相应对数组的 ...

  10. Java - 网络IO的阻塞

    最近学习时碰到事件驱动和非阻塞的相关知识,随之想到了Java中的Reactor.io与nio的一些东西:在前辈的博客上翻了翻.复习复习,在此记录一番. 实在找不到比较大点的东西,于是随便弄了个压缩包, ...