• RSS订阅
  • 交换链接
  • 首页

Jeffrey’s Blog

Web&P2P系统架构及优化


shell笔记

August 3rd, 2006

作者: Jeffrey
出处:http://blog.zhangjianfeng.com/?p=388

++shell处理命令的顺序
别名—关键词(if,function,while…)—函数—内置命令—可执行文件和脚本 

++内置命令用法查询
help command

++内置命令启用关闭
enable -n pwd #关闭pwd命令
enable pwd   #开启pwd命令

++控制通配符(Globbing)
set noglob 或 set -f #关闭通配符,再试试”ls *”看看,呵.
#恢复 set +f

++统计重复行
sort file|uniq -c

++在文件的每一行的行尾,自动添加一个”;”符号
sed ’s/$/;/’ sourefile > targetname

++if then else循环中,如果需要then部分不执行任何指令,
if [ -d $tmp ]
then
:
else
mkdir -p $tmp
fi

++$@等特定shell变量的含义
$# 传递到脚本的参数个数 
$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个 
$$ 脚本运行的当前进程ID号 
$! 后台运行的最后一个进程的进程ID号 
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数 
$- 显示shell使用的当前选项,与set命令功能相同 
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

++PS1支持的变量说明
默认: [\u@\h \W]\$
\t  当前时间是HH:MM:SS格式
\d  日期是”星期 月 日”格式
\n  换行符
\s   shell的名字,$0的基名
\w  当前工作目录
\W  当前工作目录的基名
\u   当前用户名
\h   主机名
\#   该命令的编号
\!    该命令的历史编号
\$    如果UID是0,则为#,否则是$
#以下为bash 2.x版才支持的
\@   以12小时am/pm格式表示当前时间
\H   主机名
\T   以12小时格式表示当前时间

++取出两个目录中不同的文件
cat dir1.list dir2.list  |sort|uniq -u

++ 使用 seq 来产生循环参数
for a in `seq 80`     #或者 for a in $( seq 80 )  ,与  ” for a in 1 2 3 4 5 … 80 “相同  (少敲了好多字!).
for a in `seq $BEGIN $END`    #传给 “seq” 两个参数, 从第一个参数开始增长, 一直增长到第二个参数为止.
for a in `seq $BEGIN $INTERVAL $END`  #传给 “seq” 三个参数从第一个参数开始增长,并以第二个参数作为增量, 一直增长到第三个参数为止.

++输入时屏幕不显示(比较输入密码)
stty -echo     #关闭屏幕的echo
stty echo      #恢复屏幕原echo

++取得一个正在运行进程的PID
pidof servername
pgrep servername

++在单引号中引入$变量
 ls -l $PATH0$i |awk ‘{print $9}’|sed ’s/^/\\\\192.168.1.1\\Lib\\’$i’\\/’

++()和{}区别
(cmds) 在子shell中执行
{cmds}在当前shell中执行

++echo 相关参数
-e 允许解释转义序列  -n 删除输出结果的换行符
转义序列
\a 报警  \b 退格 \n换行 \r回车 \t制表符

++read相关
read -p “how old r u? ” age          #-p可以输出信息
read -p “some words? ” -a words  #-a输入一组字节,需要echo ${words[*]}取出.
read -p “Password: ” -s passwd    #-s 适合输密码,不回显于屏幕  

++取得昨天的日期
yesterday=`date -d “1 day ago” +%Y%m%d`

++脚本中实现pause效果
 read -n1 -p “Press any key to continue…”

++一个判断yes/no的脚本
#!/bin/bash
echo “please input ‘yes’ or ‘no’”
read answer
if [ “$answer” = “yes” ]; then
echo “yes”
else
echo “no”
fi

Last modified at: Tuesday, December 25th, 2007 09:03:50 am
Trackback URL: http://blog.zhangjianfeng.com/article/388/trackback

给本文打分: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
Tags: linux, shell, 笔记
2006/08/3 | 阅读全文 | 系统管理 | Email This Post | Print This Post | 1,233 views |
收藏到网摘: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Related Post

  • Saturday, December 22nd, 2007 -- suse 学习笔记
  • Sunday, December 16th, 2007 -- ubuntu7.10 gutsy笔记
  • Tuesday, August 14th, 2007 -- HP磁阵扩容笔记
  • Friday, June 22nd, 2007 -- linux as2.1 软raid5坏盘更换笔记
  • Friday, May 11th, 2007 -- Dell optiplex 320安装linux笔记
  • Sunday, April 15th, 2007 -- linux日志服务器配置笔记
  • Friday, March 30th, 2007 -- linux下ntpd安装配置笔记
  • Sunday, March 11th, 2007 -- Cygwin安装配置笔记
  • Tuesday, February 27th, 2007 -- linux服务器优化笔记
  • Tuesday, November 14th, 2006 -- ubuntu-edgy配置笔记

0 Responses to “shell笔记”


  1. No Comments

Leave a Reply

  • :em04:
  • :em18:
  • :em17:
  • :em10:
  • :em01:
  • :em05:
  • :em15:
  • :em07:
  • :em03:
  • :em13:
  • :em09:
  • :em12:
  • :em11:
  • :em06:
  • :em16:
  • :em14:
  • :em02:
  • :em08:

« 一台机器,使用sendmail发信,报mail loops back to me (MX problem?)错误,解决过程。
[转]色老婆天天这样调戏我 »

    最新文章

    • Subversion的用户自助修改口令实现(linux测试通过)
    • SLES10-SP1+Apache-2.0.63+SVN-1.4.6安装配置笔记
    • [音乐欣赏]A place nearby
    • 不错的firefox插件---鼠标手势mouse gestures
    • 一些相克食品
    • oracle一次数据迁移笔记
    • 不错的vi-vim键盘图(中英文双版)
    • xen安装及配置笔记
    • Multiple network cards and bridges in Xen[zz]
    • 从LiveJournal后台发展看大规模网站性能优化方法[zz]

    评分最高文章

      • 今天下载的一个CHM文件,打开时右边的内容看不到,提示“该页无法显示”。
      • linux日志服务器配置笔记
      • Legato networker学习笔记(杂)
      • linux tips 技巧笔记
      • [BT下载]2006韩剧-葡萄园的那小伙儿
      • 我家的金吉拉
      • 卡巴斯基病毒库离线更新方法
      • 忽悠姐妹花主题曲下载
      • 轻轻松松把 Apache 配置安全
      • 北京IDC机房介绍

    随机文章:

    • Legato networker学习笔记(杂)
    • windows2003下设置第二台GC的方法
    • 深入理解Linux守护进程
    • 解决SLAX启动后开启SSHD服务报错。
    • suse 学习笔记
    • 诺顿客户端从一台父服务器转移到另一台父服务器
    • raid5盘阵,做lvm笔记
    • 一个小程序,可以使CPU很快到100%,用于测试
    • Hoekey - 终极的热键软件
    • nagios相关笔记

    最新评论

    • very good :em02: ,I like very much !!...
    • :em03: :em13: :em15: :em07...
    • 北京电信通有四个机房1惠普机房 2中...
    • :em04: :em18: :em17...
    • 结婚的好日子啊8月10...
    • c2950-1-1(config)# snmp-server trap-source FastEt...
    • :em16: :em16: :em16: :em16: :em16: :em16: :...
    • :em01: :em07: :em04: :em17: :em10: :em18: :...
    • 我是天称座 :em14: :em15: :em03: :em02: :...
    • [...] 前面一段:1.3.6.1.4.1. 可以查看这...


    邮件订阅  
  • Categories

    • 个人日志 (15)
    • 休闲娱乐 (79)
    • 应用服务 (86)
    • 影音娱乐 (10)
    • 电脑网络 (78)
    • 站点日志 (19)
    • 系统管理 (242)
    • 英语学习 (15)
    • 衣食住行 (41)
    • 资料共享 (28)
  • 工具网址

    • 天气预报
    • 常用电话
    • 疾病查询
    • 在线翻译
    • Alexa排名查询
    • IP信息查询
    • 邮箱图标生成
    • 我的Firefox插件
  • 友情链接

    • linuxの飘扬
    • winter的平凡生活
    • 伤感星星的天空
    • 回忆未来[张宴]
    • 存储部落
    • 扶凯Blog
    • 沐宇春风
    • 爱MySQL中文网
    • 狗.车.志
    • 非礼勿视
  • Tags

    • 下载 优化 使用 免费 北京 升级 学习 学习笔记 安装 工具 技巧 日志 最新 服务器 笔记 英语学习 菜谱 视频 解决 调优 软件 运程 配置 配置文件 食物 2007 apache blog dreamhost freebsd Legato linux mysql networker oracle php RAID5 RedHat sendmail shell squid suse Ubuntu windows wordpress

Jeffrey's Blog is powered by WordPress 2.3.1 and Unnamed 1.22
Entries (RSS) and Comments (RSS) Admin 京ICP备06038449号

Podcast Powered by podPress (v8.8)