跳至主要内容

Oracle20080124

awk略过。。实在是看不下去。。下次补上具体的,但是从进程来看,似乎和上面的grep差不多,但是一个是查询一个是显示还是拥有域的概念,多用来显示sql的报表类。今天看的是echo,今天就看一章吧,手头上还有个设计稿。。汗。。为难我了
echo
echo string
echo命令有很多功能,其中最常用的是下面几个:
\c 不换行。
\f 进纸。
\t 跳格。
\n 换行。
你可以echo任何东西,linux系统用-n选项禁止echo输出换行,必须使用-e选项才能使转义符生效:如果想把一个字符串输出到文件中,使用重定向符号 >。或者可以追加到一个文件的末尾,使用重定向符号 >>这意味着不覆盖原有的内容.
echo命令输出这样的字符串:“/dev/rmt0”,那么我们只要在引号前面加上反斜杠\即可:
$ echo "\"/dev/rmt0"\"
可以使用read语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。如果只指定了一个变量,那么read将会把所有的输入赋给该变量,直至遇到第一个文件结束符或回车。
它的一般形式为:read varible1 varible2 ... 例如
$read name tu lei
$echo $name
tu lei

第一个单词将被赋给第一个变量,而由于变量数少于单词数,字符串后面的部分将被全部赋给第二个变量。可以使用多个变量名进行定义。
cat
$ cat myfile more或$ cat myfile pgcat命令的一般形式为:
cat [options] filename1 ... filename2 ...
cat命令最有用的选项就是:-v 显示控制字符
重定义文件至另一文件
$ cat myfile1 myfile2 myfile3 > bigfile
$cat > myfile最后按结束输入即可
管道可以通过管道把一个命令的输出传递给另一个命令作为输入。
管道用竖杠 表示。它的一般形式为:命令1 命令2

tee命令作用可以用字母T来形象地表示。它把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。如果希望在看到输出的同时,也将其存入一个文件,那么这个命令再合适不过了。
它的一般形式为:tee -a files
其中,- a表示追加到文件末尾。如果不想把输出重定向到文件中,可以不这样做,而是把它定向到某个终端上。
在下面的例子中,一个警告被发送到系统控制台上,表明一个磁盘清理进程即将运行。
$ echo "stand-by disk cleanup starting in 1 minute" tee /dev/console可以让不同的命令使用同一个日志文件,不过不要忘记使用 - a选项。
标准输入标准输入是文件描述符0。它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。
标准输出标准输出是文件描述符1。它是命令的输出,缺省是屏幕,也可以是文件。
标准错误标准错误是文件描述符2。这是命令错误的输出,缺省是屏幕,同样也可以是文件。
command > filename 把把标准输出重定向到一个新文件中
command >> filename 把把标准输出重定向到一个文件中(追加)
command 1 > fielname 把把标准输出重定向到一个文件中
command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把把标准错误重定向到一个文件中
command 2 >> filename 把把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中 (追加)
command <>filename2 把c o m m a n d命令以f i l e n a m e文件作为标准输入,以 f i l e n a m e 2文件作为标准输出
command < filename 把command命令以filename文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到delimiter分界符
command <&m 把把文件描述符m作为标准输入
command >&m 把把标准输出重定向到文件描述符m中
command <&- 把关闭标准输入
可以指定命令的标准输入。
在awk一章就会遇到这样的情况。
下面给出一个这样的例子:
$ sort < name.txt在上面的命令中,sort命令的输入是采用重定向的方式给出的,不过也可以直接把相应的文件作为该命令的参数:
$ sort name.txt
在上面的例子中,还可以更进一步地通过重定向为sort命令指定一个输出文件name.out。这样屏幕上将不会出现任何信息(除了错误信息以外):
$ sort name.out在发送邮件时,可以用重定向的方法发送一个文件中的内容。在下面的例子中,用户louise将收到一个邮件,其中含有文件contents.txt中的内容:
$ mail louise < contents.txt
定向操作符command <<>>filename<>123
>345
>MAYDAY
$vim filename123345
MAYDAY的作用就在于结束了该文章的结束
结合错误,上面提到了正确为1,错误为2,那么可以做个条件判断
$cat filename filename1 1>filename.out 2>error.out
exec命令可以用来替代当前shell;换句话说,并没有启动子shell。使用这一命令时任何现有环境都将会被清除,并重新启动一个shell。它的一般形式为:exec command其中的command通常是一个shell脚本。

评论

此博客中的热门博文

4 steps to delete account in Gerrit DB

4 steps to delete account in DB. Delete from accounts where preferred_email=’’; delete from account_ssh_keys where account_id=''; delete from account_external_ids where external_id='gerrit:*’; delete from account_external_ids where external_id='username:*’; whatever it was in H2 database and postgres db . H2: ssh -p 24198 localhost gerrit gsql Postgres: psql

繁忙的周末

回了杭州,周五跟老爹吃夜宵,周六跟一群人玩,好乐迪9折加对折,然后夜宵,长肉。 跟老妈逛街。。花了我一千大洋,买了2件外套了受不了了。 结果。。唉。。去赶火车结果没坐上,改签,跟老妈发脾气。。让我多睡了10分钟结果拉下了火车。 然后做七点四十七的车,一路出战一路狂奔赶地铁。。 终于赶上了。 真不容易,还是要提早啊

mod

apache安装后,如果想再添加模块,往往不想重新安装一次,再者,我在安装中发现,并不是安装文件中所有的modules都会被默认安装,即使在安装中使用了 ./configure --prefix=/usr/local/apache --enable-so --enable-modules=all --enable-mods-shared=all也是如此。我使用上述方法安装的apache2.2.6就没有安装proxy相关模块。这时,需要手工生成so文件,但会自动的被复制到你的apache安装目录的modules中,然后修改apache的配置文件,加载相关模块,验证apache配置并重启服务即可。以上描述的具体操作步骤如下: 操作系统:linux redhat 4.5 ES apache版本:2.2.6 可自行下载tar包 1. 拷贝安装包到/usr/local,并在目标目录下进行解压。[root@localhost local]# cd /usr/local[root@localhost local]# tar -zxvf httpd-2.2.4.tar.gz2. 配置安装参数,安装的目标目录为/usr/local/apache,建议设置enable-mods-shared=all,不用的module注释掉就行了![root@localhost local]# cd httpd-2.2.4[root@localhost httpd-2.2.4]# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all3. 编译并安装。[root@localhost httpd-2.2.4]# make[root@localhost httpd-2.2.4]# make install4. 启动Apache,并测试。[root@localhost httpd-2.2.4]# cd /usr/local/apache/bin[root@localhost bin]# ./apachectl start 打开浏览器,并在地址栏中输入主机的IP地址如 http://192.168.1.254/ 如果出现以下画面则说明安装成功。It works! 注意:安装完成后检查系统服务中的HTTPD服务是否已...