shell
GoRustNeverStop
这个作者很懒,什么都没留下…
展开
-
【转】Linux shell IO重定向
终于理解了所谓的I/O重定向。Linux shell中的File Descripter可以理解为一个指向文件的指针。默认有三个FD:0,1,2。分别指向的是:Keyboard设备文件,Moniter设备文件,和Moniter设备文件。Shell中还允许有3..9的FD,默认都没有打开,可以认为指向的为null。可以通过一下命令查看得开的FD:ls /proc/self/fd原创 2014-08-25 19:16:14 · 2968 阅读 · 0 评论 -
linux中删除指定日期之前的文件
要删除系统中就的备份文件,就需要使用命令了: #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \; 假如在一个目录中保留最近30天的文件,30天前的文件自动删除 #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \; /tmp转载 2017-03-28 11:05:56 · 12352 阅读 · 0 评论 -
在sed中引入shell变量的四种方法
今天在写一个脚本遇到问题,----需要在sed中引入shell变量,在网上搜了变天才找到,经过测试这四种方法都可用,在这里跟大家分享下,=---同时谢谢netman大哥,前辈就是前辈哈哈1.eval sed ’s/$a/$b/’ filename2.sed "s/$a/$b/" filename3.sed ’s/’$a’/’$b’/’ filename 4.sed s/转载 2017-03-28 12:01:57 · 468 阅读 · 0 评论 -
shell中大小写转换
1, 用tr 例如:UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写) LOWERCASE=$(echo $VARIABLE | tr '[A-Z]' '[a-z]') (把VARIABLE的大写转换成小写) 2, 用typeset typ转载 2017-03-28 15:25:38 · 1434 阅读 · 0 评论 -
在sed中引入shell变量的四种方法
今天在写一个脚本遇到问题,----需要在sed中引入shell变量,在网上搜了变天才找到,经过测试这四种方法都可用,在这里跟大家分享下,=---同时谢谢netman大哥,前辈就是前辈哈哈1.eval sed ’s/$a/$b/’ filename2.sed "s/$a/$b/" filename3.sed ’s/’$a’/’$b’/’ filename 4.sed s/转载 2017-03-15 10:06:28 · 25247 阅读 · 0 评论 -
top后台执行显示:top: failed tty get 错误
通过其他程序或脚本在非交互式模式下调用top命令,经常会出现: top: failed tty get 错误解决办法:加个-b 选项皆可-b : Batch mode operation Starts top in Batch mode, which could be useful for sending output from top to other pr转载 2017-03-25 09:13:54 · 6039 阅读 · 0 评论 -
SHELL 在指定行的前/后插入指定内容
#如果知道行号可以用下面的方法sed-i '88 r b.file' a.file #在a.txt的第88行插入文件b.txtawk'1;NR==88{system("cat b.file")}' a.file> a.file #如果不知道行号,可以用正則匹配sed-i '/regex/ r b.t转载 2017-04-01 13:59:33 · 57319 阅读 · 2 评论 -
logrotate linux 系统日志备份压缩工具
logrotate 是作为Linux系统日志的管理工具存在。它可以轮换、压缩、邮件系统日志文件。默认的 logrotate 被加入 cron 的 /etc/cron.daily 中作为每日任务执行。 /etc/logrotate.conf 为其默认配置文件指定每个日志文件的默认规则。 /etc/logrotate.d/* 为 /etc/logrotate.conf 默认包含的目录,转载 2017-05-24 15:00:05 · 1461 阅读 · 0 评论 -
脚本乐园 Shell中read的选项及用法
1. Read的一些选项 Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项。-a :将内容读入到数值中echo -n "Input muliple values into an array:"read -a arrayecho "get ${#array[@]} values in array"-d :表示delimite转载 2017-10-10 15:36:35 · 504 阅读 · 0 评论 -
linux shell 关联数组 hash
shell 的关联数组Shell Associative Array bashi没有原生的对于类似hash table的支持,不像perl或python.下标数组元素是通过数组下标(数组下标可以是算术表达式,其结果必须是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时会存在限制。shell 提供了另外一种数组,其可以使用任意的字符串作为下标(不必是整数)转载 2017-10-10 15:37:19 · 668 阅读 · 0 评论 -
Vi/Vim查找替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行转载 2017-12-04 15:50:43 · 1641 阅读 · 0 评论 -
Shell中Here document及打包代码(未完成)
看书的时候偶尔发现了Shell的这么个有趣的功能,here document 就是一段特殊目的的代码块. 他使用I/O 重定向的形式来将一个命令序列传递到一个交互程序或者命令中, 比如ftp, cat, 或者ex文本编辑器.COMMAND HERE...HERE limit string 用来划定命令序列的范围(译者注: 两个相同的limit string之间就是命令转载 2016-12-19 16:24:19 · 924 阅读 · 0 评论 -
sh: $'\370\001': command not found 原因
在代码中通过system函数调用外部shell 脚本,报错sh: $'\370\001': command not found经排查发现,是由于传递给shell脚本的参数不全导致!!!原创 2016-10-10 08:33:44 · 638 阅读 · 0 评论 -
检测网卡流量
检测网卡流量可以通过sar -n DEV 2来实现,但是该命令输出显示不是很直观,我们可以通过将会输出经过awk处理,得到更加直观的结果,如下图。使用方法:sar -n DEV 2 | awk -f myawk其中,myawk脚本如下:#!/bin/awk -fBEGIN { OFS="\t"}/IFACE/ { $6 = "In(M原创 2016-08-05 09:43:15 · 795 阅读 · 0 评论 -
sed 用法
1.Sed命令 调用sed命令有两种形式: sed [options] 'command' file(s) sed [options] -f scriptfile file(s) a\ 在当前行后面加入一行文本。 b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 c\原创 2014-08-29 17:05:00 · 670 阅读 · 0 评论 -
[转]shell中${}的妙用
以下的内容基本从Shell13问中提取.1. 截断功能${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}: 拿掉最后一条/及其左边的字符串:my.file.txt${file#*.}: 拿掉第一个.及其左边的字符串:file.txt${file##*.}: 拿掉最后原创 2014-09-02 22:13:55 · 534 阅读 · 0 评论 -
【转】source命令与“.”点命令
source命令与“.”点命令source 命令是 bash shell 的内置命令,从 C Shell 而来。source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。source 命令可以强行让一个脚本去立即影响当前的环境。source 命令会强制执行脚本中的全部命令,而忽略文件的权限。source 命令通常用于原创 2014-09-17 18:54:20 · 768 阅读 · 0 评论 -
shell eval命令详解【转】
文章一功能说明:重新运算求出参数的内容。语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。参 数:参数不限数目,彼此之间用分号分开。 1.eval命令将会首先扫描命令行进行所有的替换,憨厚再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复原创 2014-09-17 18:54:37 · 11781 阅读 · 2 评论 -
shell脚本里面一个很经典的调试方法
shell脚本的测试大家经常使用的方法就是使用echo出数据来看是否符合程序运算的值。如果脚本过大的,这使用定义的常量开关开控制echo的输出。这里给大家介绍一个方法,在脚本里面#!/usr/bin/sh后设置一行set -xv就可以直接进入调试模式了。而且一目了然。请看如下列子:[www.linuxidc.com @linuxsource]$lsada gcc-4.4.转载 2016-06-02 09:42:56 · 1037 阅读 · 0 评论 -
Returning Values from Bash Functions
Bash functions, unlike functions in most programming languages do not allow you to return a value to the caller. When a bash function ends its return value is its status: zero for success, non-zero fo转载 2016-06-03 16:33:50 · 427 阅读 · 0 评论 -
关于管道和命令 rm: missing operand
find . -name *.svn| rm -rfrm: missing operand这是为什么?因为rm不支持管道线。但是grep,xargs等就可以。这个改为find . -name *.svn| xargs rm -rf记住:不是所有命令都支持管道!转载 2016-06-30 11:31:45 · 16013 阅读 · 0 评论 -
find命令使用
1. 删除当前目录下所有除了xaa的xa*文件 find . -name 'xa*' | grep -v xaa | xargs rm -rf原创 2016-06-14 13:59:47 · 4106 阅读 · 0 评论 -
Linux shell 之 提取文件名和目录名的一些方法
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。下面介绍两种常用的方法来进行相关的操作。一、使用${}1、${var##*/}转载 2016-07-27 14:00:16 · 1209 阅读 · 0 评论 -
【Shell】cp -r -f 强制覆盖拷贝时仍需一一确认问题的处理方法
今天同事遇到了如题的问题,现把问题的出处和处理方法记录到这里:问题现象:使用cp -r -f 强制覆盖拷贝命令时,每一个文件都需要认为的键入“Y”进行确认,甚是烦扰,难道要我点击一万下不成?问题原因:不知道哪位可爱的同事为了防止“特别”选手不正当的使用cp命令,设置了cp的同名alias cp='cp -i'所以在每次执行cp命令是都会按照这个设置进行一一人为的确认转载 2016-08-16 10:36:42 · 15800 阅读 · 0 评论 -
awk 用法(使用入门)
awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域转载 2018-01-10 13:38:16 · 1843 阅读 · 0 评论