Shell
小藤椅
还好还好
展开
-
shell编程,根据文件名找出不同文件
现在有个文件名的列表1.list 存储了文件名称a b c d,有个aa目录下有文件a.txt b.txt c.txt 怎么编写shell脚本,打印出1.list里面存在,但aa目录没有文件的名称,也就是打印出d方法一: for f in `cat 1.list`; do if [ ! -f ${aa}${f}.txt ];then转载 2013-09-12 02:47:56 · 845 阅读 · 0 评论 -
Linux shell中的嵌入命令
这些命令是在实际的Bourne shell里创建而不是存在于/bin或/usr/bin目录里。嵌入命令比系统里的相同命令要快。:空,永远返回为true. 从当前shell中执行操作break 退出for、while、until或case语句cd 改变到当前目录continue 执行循环的下一步echo 反馈信息到标准输出eval 读取参数,执行结果命令e转载 2012-11-22 14:28:42 · 766 阅读 · 0 评论 -
通配符与正则表达式
网友看法: (总结精辟!) 通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 通配符 在您日常的 Linux 使用中,有很多时候您可能需要一次对多转载 2012-12-04 14:53:36 · 634 阅读 · 0 评论 -
常用正则表达式
“^\d+$” //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$” //正整数 “^((-\d+)|(0+))$” //非正整数(负整数 + 0) “^-[0-9]*[1-9][0-9]*$” //负整数 “^-?\d+$” //整数 “^\d+(\.\d+)?$” //非负浮点数(正浮点数 + 0) “^(([0-9]+\.[0-9]*[1-9][转载 2012-12-04 14:09:13 · 405 阅读 · 0 评论 -
Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
$# 是传给脚本的参数个数$@ 是传给脚本的所有参数的列表$0 是脚本本身的名字$1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:位置参数:详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,转载 2012-11-21 11:18:30 · 457 阅读 · 0 评论 -
我使用过的Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式
本文链接:http://codingstandards.iteye.com/blog/810900 (转载请注明出处)用途说明dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n转载 2012-11-21 13:10:03 · 638 阅读 · 0 评论 -
我使用过的Linux命令系列总目录
本文链接: http://codingstandards.iteye.com/blog/786653 (转载请注明出处) 概述关于命令类型划分本表中列出了我穷尽了我所有的记忆整理出来的Linux命令,其中关于外部命令、关键字或内建命令的划分,不一定正确。有很多命令,既是内建命令也可能是外部命令,为啥?Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了转载 2012-11-21 12:56:55 · 409 阅读 · 0 评论 -
我使用过的Linux命令之basename - 去掉文件名的目录和后缀
本文链接:http://codingstandards.iteye.com/blog/840784 (转载请注明出处)用途说明basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录部分 》)。常用参转载 2012-11-21 11:54:40 · 970 阅读 · 0 评论 -
后台命令脚本编写须知
截自:高级Bash脚本编程指南.3.1.9原创 2012-11-22 11:04:43 · 741 阅读 · 0 评论 -
shell资源(1)
★ Shell scripting 资源文档 (bash, sed, awk, ...) ★如果链接失效,请自己 google 一下 LinuxEden@GoogleCode > SVN 目录 > BashLinuxEden@GoogleCode > 下载Bash@GNU.orgBash 作者 Chet Ramey 的 bash 主页各版本的 b转载 2013-01-21 14:46:22 · 377 阅读 · 0 评论 -
对话 UNIX: 更多 shell 脚本技术
与其他 UNIX 操作系统和 Linux 一样,IBM® AIX® 操作系统提供了几种能够帮助系统管理员、开发人员和用户执行日常任务的强大工具,使他们或其客户的工作更轻松。在 UNIX 中,这些工具之一能够通过编写 shell 脚本来自动执行任务,从而简化那些困难、漫长或繁琐的工作。尽管在近两年使用过 UNIX 的一些人可能尝试过 shell 脚本编程,但是他们很可能只是研究操作系统的细节转载 2013-01-09 22:48:05 · 446 阅读 · 0 评论 -
Linux read命令
Linux read命令:要读取来自键盘输入的变量,就是用 read 这个指令了。这个挃令最常被用在 shell script 的撰写当中,read 之后不加任何参数,直接加上变量名称,那么底下就会主动出现一个空白行等待你的输入(如范例一)。 如果加上 -t 后面接秒数,例如上面的范例二,那么 30 秒之内没有任何动作时, 该指令就会自动略过了。对于写转载 2012-11-30 14:58:03 · 691 阅读 · 0 评论 -
linux下tar.gz包只读
提问者: lvzhaocun |浏览次数:370次在linux中安装httpd*.tar.gz。总是出现提示read-only。是不是因为httpd包是只读文件?用iso或是u盘中的都是这样,是哪里出问题了?问题补充:刚装的虚拟机,进去之后的用户是root吗?有没有可能是因为,用户不对,权限不够?我换了几个机器,装了n个虚拟机都是这样的情况,很郁闷啊转载 2013-01-07 09:47:26 · 1161 阅读 · 0 评论 -
自动对CF卡分区,并制作LVM卷
由于制作CF的操作相同,所以就写了一下自动制作CF的脚本,这样抽出的时间自己也可以干些其他的,有不对的地方,希望大家能够指正: 另外我的虚拟机在CF卡是/dev/sdc或是非/dev/sdb的情况下,格式化或制作完成后的CF卡,不可用,不知道什么原因,所以我添加了只选是/dev/sdb的判断,脚本的一些内容取自网络上,感谢各位的分享和帮助。这是我截取的在VI编辑器下脚本文件。原创 2012-12-14 15:14:17 · 1216 阅读 · 0 评论 -
>/dev/null 2>&1 的作用
shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同转载 2012-12-17 11:16:25 · 492 阅读 · 0 评论 -
/dev/zero和/dev/null的区别
使用/dev/null 把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.禁止标准输出. 1 cat $filename >/dev/null2 # 文件内容丢失,而不会输出到标准输出.禁止标准错误 (来自例子 12-3)转载 2012-12-14 13:38:32 · 431 阅读 · 0 评论 -
我使用过的Linux命令之dirname - 截取给定路径的目录部分
用途说明dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。根据手册页上说的“Print NAME with its trailing /component removed; if转载 2012-11-21 11:52:59 · 1110 阅读 · 0 评论 -
关于read命令的一个小问题
重点讨论了IFS,对理解IFS很有益链接:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=207178&fromuid=26971268 请教,读文件时,如何保证原汁原味?http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=216729&fromuid=2697126转载 2012-11-20 10:26:00 · 414 阅读 · 0 评论 -
换行符和回车符
首先转一段关于回车和换行的历史。回车和换行 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么转载 2012-12-04 10:02:06 · 757 阅读 · 0 评论 -
Linux xargs命令
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs 是一个强有力的命令转载 2012-11-29 16:01:03 · 504 阅读 · 0 评论 -
find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression]
今天在跑脚本的时候看到如下报错:find: paths must precede expressionUsage: find [-H] [-L] [-P] [path...] [expression]然后就上网查了一下,结果搜索到一篇,大概是这样说的:多文件的查找的时候需要增加单引号而我之前一直都是用的双引号,也没有遇到问题,这次却报错了~ssh $ip "转载 2012-11-29 15:24:48 · 1131 阅读 · 0 评论 -
df和du的区别以及磁盘空间使用问题
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=465673&fromuid=26971268转载 2012-11-28 17:10:55 · 404 阅读 · 0 评论 -
crontab与环境变量,以及应该注意的一些问题
点此查看“如何在cygwin里启用和配置crontab”:http://scmbob.org/configure_crontab_in_cygwin.html--------------------------------------------------------------首先,在开篇之前,先附上一份cron图片,此图片是我从Jenkins的Poll SCM插件的帮助中截取转载 2012-11-28 16:31:46 · 515 阅读 · 0 评论 -
crontab学习日志
刚接触crontab,看了好多文章。小总结一下,以备突击排查。概念:crontab: 在Unix或类Unix系统中,用于设置执行计划的命令。可以使用它来设置定期执行某个命令。crond: 它是一个守护进程,每分钟(最小单位只到分钟,所以不要指望指定在哪一秒执行)会检查一次是否有需要执行的crontab计划。如果有就会激活crontab文件里定义的指令。cronfil转载 2012-11-28 16:29:51 · 388 阅读 · 0 评论 -
Linux系统下使用crontab添加计划任务的方法
在服务器中添加定期执行的任务,在很多情况下是非常必要的。比如,每天清理一次/tmp目录下的文件;没几分钟检查某一守护进程是否正常等等。这样计划任务就显得尤为方便。下面将介绍如何在Linux系统中添加计划任务。一、什么是Crontab简而言之,Crontab提供了允许给定的任务以一定的间隔在后台运行的机制。需要注意的是,并不是所有的系统都支持Crontab,需要和系统管理员联系,但是至少大部转载 2012-11-28 16:18:12 · 779 阅读 · 0 评论 -
linux 下超过2G大文件监控
在32位的linux操作系统中,由于程序也为32位,经常出现超过2G的log等文件后导致应用异常。需要采用一种比较方便的方法去发现接近2G的问题,报警给系统维护人员出于此考虑,我们可以使用lsof (list open file)只要处于读写状态的文件都能通过它来快速的定位,如果一个文件不出于读写状态,就算超过2G也不需要注意。只要定时监控处于open状态的文件就能避免这个问题。例如 ls转载 2012-11-27 15:08:42 · 839 阅读 · 0 评论 -
写出健壮的Bash脚本
许多人用shell脚本完成一些简单任务,而且变成了他们生命的一部分。不幸的是,shell脚本在运行异常时会受到非常大的影响。在写脚本时将这类问题最小化是十分必要的。本文中我将介绍一些让Bash脚本变得健壮的技术。使用set -u 你因为没有对变量初始化而使脚本崩溃过多少次?对于我来说,很多次。chroot=$1 ... rm -rf $chroot/usr/share/doc转载 2012-11-29 11:52:09 · 360 阅读 · 0 评论 -
linux find -print 和 -print0的区别
man find的结果如下:-print 和 -print0的区别" title="find -print 和 -print0的区别" style="margin:0px; padding:0px; border:0px; list-style:none">-print 在每一个输出后会添加一个回车换行符,而-print0则不会。[root@AaronWong shell_te转载 2012-11-29 15:59:01 · 5855 阅读 · 0 评论 -
find: missing argument to `-exec '
$ find /home –user student –exec tar rvf /tmp/backup.tar {} \;为什么我打这条命令会出现find: missing argument to `-exec '解答:-exec 空格 命令 空格 {} 空格\;转自:http://zhidao.baidu.com/question/280073061.html转载 2012-11-30 09:33:48 · 3259 阅读 · 0 评论 -
Linux/Unix工具与正则表达式的POSIX规范
对正则表达式有基本了解的读者,一定不会陌生『\d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母。但是如果你用过vi、grep、awk、sed之类Linux/Unix下的工具或许会发现,这些工具虽然支持正则表达式,语法却很不一样,照通常习惯的办法写的『\d』、『[a-z]+』之类的正则表达式,往往不是无法识别就是匹配错误。而且,这些工具自身之间也存在差异,同样转载 2012-12-04 11:26:18 · 580 阅读 · 0 评论 -
正则表达式语法
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\"转载 2012-12-03 15:04:59 · 591 阅读 · 0 评论 -
awk学习笔记
整理:Jims of 肥肥世家jims.yang@gmail.com>Copyright © 2004 本文遵从GPL协议,欢迎转载、修改、散布。第一次发布时间:2004年8月6日 Table of Contents1. awk简介2. awk命令格式和选项2.1. awk的语法有两种形式2.2转载 2012-11-30 16:37:04 · 360 阅读 · 0 评论 -
sed学习笔记
作者:Jims of 肥肥世家jims.yang@gmail.com>Copyright © 2004,2005, 本文遵从GNU 的自由文档许可证(Free Document License)的条款,欢迎转载、修改、散布。发布时间:2004年09月20日最近更新:2005年12月22日,增加小技巧章节。转载 2012-11-30 16:35:42 · 328 阅读 · 0 评论 -
SED与AWK学习笔记
1. 基本概念Sed是一个“非交互式”的面向字符流的编辑器。这个面向字符流就像是我去餐厅点了一道菜让厨师做,菜都是字符,厨师做好后直接送到我面前。所以我只要下达命令就好。Sed的优点是可以在一个地方指定所有的编辑指令,然后通过文件传递一次来执行他们。但是它在每次多于一行的处理能力方面有限制。Awk的典型应用是将数据转换成格式化的报表。增强可读性。因此当数据有某种结构转载 2012-11-30 16:30:54 · 862 阅读 · 0 评论 -
find mtime 详细用法
当前时间是11.30 10:21find -mtime n1、n为1指的时间段是:11.28 10:21-11.29 10:21之间修改的文件2、n为-1指的时间段是:11.29 10:21——现在系统中最后24小时里修改过的文件3、n为+1指的时间段是:11.28 10:21之前修改的文件原创 2012-11-30 10:23:23 · 2522 阅读 · 0 评论 -
find中的-print0和xargs中-0的奥妙
默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此我们看到的 find 的输出都是一行一行的:-(dearvoid@LinuxEden:Forum)-(~/tmp/find)-[bash-4.1.5] ; ls -ltotal 0-rw-r--r-- 1 root root 0 2010-08-02 18:09 file1.lo转载 2012-11-30 10:52:21 · 701 阅读 · 0 评论 -
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出转载 2012-11-30 10:15:25 · 346 阅读 · 0 评论 -
系统初始化SHELL脚本
此脚本用于新装Linux的相关配置工作,比如禁掉iptable和SElinux及ipv6,优化系统内核,停掉一些没必要启动的系统服务等。此脚本尤其适全大批新安装的Centsos系列的服务器,脚本代码如下所示(此脚本在Centos5.5_x64下已通过):#!/bin/bash# Created by kerryhu# MAIL:king_819@163.com# BLOG:http转载 2012-11-27 15:12:16 · 690 阅读 · 0 评论