标签归档:shell

【转】shell 编程之2>&1

经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用 /tmp/test.sh > /tmp/test.log 2>&1 前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢? 要解释这个问题,还是得提到文件重定向。 我们知道>和<是文件重定向符。那么1和2是什么? 在shell中,每个进程都和三个系统文件相关联: 标准输入stdin  文件描述符分别为1 标准输出stdout文件描述符分别为2 标准错误stderr文件描述符分别为3 所以这里2>&1的意思就是将标准错误也输出到标准输出当中。 下面通过一个例子来展示2>&1有什么作用: $ cat test.shtdate test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错, 默认情况下,错误会输出到stderr。date则能正确执行,默认输出到stdout,显示时间。 ./test.sh > test1.log./test.sh: line 1: t: command not found $ cat test1.logTue Oct 9 20:51:50 CST 2007 date的执行结果被重定向到log文件中了,而t无法执行的错误打印在屏幕上。 … 继续阅读

发表在 Linux | 标签为 | 留下评论

yum配置+PATH设置+nginx少库+sphinx不建立索引+mysql连接慢的处理方法

vim /etc/sysconfig/network-scripts/ifcfg-eth0 //修改ip    ifconfig eth0:1 再加个ipvim /etc/resolv.conf //修改dns rhel-debuginfo.repo中 []需对应name baseurl check gpk 等   错误在 把[debuginfo] 认为是整体的父节点。不存在父节点的概念。 因/etc/init.d -> /etc/rc.d/init.d /etc/init.d/mysqld start/etc/rc.d/init.d/mysqld start service mysqld start相等 添加环境变量:1、直接用export命令: (当前终端有效)#export PATH=$PATH:/new_path 2、修改profile文件: #vi /etc/profile 在里面加入:export PATH="$PATH:/new_path" 3. 修改用户主目录下的.bash_profile(里面读取.bashrc)或者.bashrc文件: (每个用户目录下都有.bashrc,ls -a查看)# vi /root/.bashrc在里面加入:export PATH="$PATH:/new_path"   … 继续阅读

发表在 Linux | 标签为 , , , , , , | 留下评论

redhat安装mysql

mysql-5.1.57.tar.gz包放在/usr/local/src cd  /usr/local/src tar -zxvf  mysql-5.1.57.tar.gz    (-C /usr/xx/  解压到其他目录) cd mysql-5.1.57 ./configure –prefix=/usr/local/mysql make make install 不要急着执行红色部分   为mysql单独建立一个用户 groupadd mysqluseradd mysql -g mysql cp /usr/local/src/mysql-5.1.57/support-files/my-small.cnf      /etc/my.cnf    (还有my-medium.conf 、my-large.conf、my-huge.conf) 没有my.cnf报错,大概是cant’write xx.frm (跟目录的权限可能也有关系) 复制之后还是会报错: Fatal error: Please read “Security” section of … 继续阅读

发表在 Linux | 标签为 , , | 留下评论

Linux基础

上学时就学了linux,没认真学,前阵子买了本《linux从入门到精通》,做了一些笔记。现在放博客里便于查看。 第5章:shell基本命令.txt shell提示符为”$”,如果是root用户登录,提示符为”#”路径信息格式为:用户名,主机名,当前目录root@ooyue:/var#  如果当前目前为个人用户主目录(root用户为/root,其他用户为/home/xx),当前目录显示为”~”cd /root 后root@ooyue:~# 按Tab可补全命令,如果相同开头的不止一个,连按Tab两次,会显示所有该字符开头的文件 通配符:*,?,[]“*”用于匹配文件名中任意长度的字符串ls *.php “?”类似于”*”,但只能匹配一个字符 “[]“匹配出现在括号内的字符,也可以用”-”指定一个字符集范围,如[1-3] [a-z] [A-Z]ls text[1A]text1  textAls text[1-3]text1 text2 text3 显示当前目录:pwd改变目录:cd (“..”表示当前目录的上一级目录,”.”代表当前目录,空或者”~”代表用户主目录)列出目录内容:ls 默认情况:目录为绿色,普通文件为黑色,可执行文件为草绿色,连接文件为浅蓝色 -F 在目录后加上/,可执行文件加*,连接文件夹@,这个选项在某些无法显示颜色的终端上会比较有用 -a 显示所有文件,隐含文件前面带. -l 详细信息 可组合使用以上参数 ls跟路径名可查看子目录内容 列出目录内容:dir和vdir 比ls功能少,很少用了 vdir相当于ls -l 查看文本文件:cat和more cat可跟多个文件名,-n在每行前显示行号 more 按空格向下翻一页,按enter向下滚动一行 按Q键退出 阅读文件的开头和结尾:head和tail head -n 2 一个或多个文件名 头2行 tail -n 3 一个或多个文件名  尾3行 less 和more类似,比more强大,改进了more的很多细节,并添加了很多特性 less在屏幕底部显示一个冒号,等待用户输入命令,按空格,向下翻一页,按B,向上翻一页,也可以用光标前后左右移动 /内容 高亮显示查找的内容 要继续查找相同的内容,再次输入/ 按回车 -M 可以显示更多的文件信息 … 继续阅读

发表在 Linux | 标签为 , , , , , | 留下评论