Tag Archives: Unix

Unix 新手的 10个 不良习惯

最近 IBM developerWorks 中国 刊载了一篇 《UNIX 高手的 10 个习惯》,尽管这个标题有点标题党的味道(英文名字不过是 UNIX tips: Learn 10 good UNIX usage habits),但是从内容上看还是一篇好文章。
先看看这10个好习惯都是什么:

  1. 在单个命令中创建目录树
  2. 更改路径;不要移动存档
  3. 将命令与控制操作符组合使用
  4. 谨慎引用变量
  5. 使用转义序列来管理较长的输入
  6. 在列表中对命令分组
  7. 在 find 之外使用 xargs
  8. 了解何时 grep 应该执行计数——何时应该绕过
  9. 匹配输出中的某些字段,而不只是对行进行匹配
  10. 停止对 cat 使用管道

如果换个角度,我们可以从中得到 10 个坏习惯。Unix 新手可能或多或少都会有这些毛病。就拿我自己来说,最后的三条的毛病现在就有。..grep 计数的话往往来个 |wc -l , 或者是 cat .. | grep 。这 10 条经验中,有些好习惯我倒是有的,比如第三条的”将命令与控制操作符组合使用”, 如果有几十上百次手工编译 Linux Kernel 代码的话,对这一条肯定会潜移默化形成好习惯。
有这样一种说法”习惯是行为不断重复制造出来,并根据自然法则养成“,习惯比较容易养成,可究竟是好习惯还是坏习惯,这是一个问题啊。
EOF

此文作者:, 位于 Geek 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

The parameter list is too long

非常常见的一个 Unix/Linux 命令错误信息: The parameter list is too long.

$ find /backup/* -ctime 2
ksh: /usr/bin/find: 0403-027 The parameter list is too long.

find: 0403-027 The parameter list is too long 这个错误信息很让人迷惑: 难道该目录下文件太多了么? 其实不是的, 问题出在那个 “*” 上,Korn Shell 默认把 * 作为 Metadata 处理,进行了扩展,进而这条语句备错误的解析.我的操作平台是 AIX 5.3. 我不确定这是和这个平台的 Korn Shell 有关.
使用 ls / grep / find 等命令时侯因为通配符的使用, 一不小心就会遇到这样的错误.可以通过对对象添加引号来禁止扩展

继续阅读

AIX 5.3: 几个命令的改进

测试了三个命令改进。

第一个是关于 EXTENDED_HISTORY 环境变量的。AIX 5.3 新增了一个环境变量。export EXTENDED_HISTORY=ON 设定之后,fc 等命令(用 -t 参数)可以查看历史命令的时间戳了.

第二个是关于 find 命令的. -mtime -atime 等参数时间粒度现在是分钟了.

第三个 nohup 可以对一个既有的进程操作.而不是一定要在程序启动时.

继续阅读

[Oracle] UNIX与Windows 2000上Oracle的差异(III)

ORACLE 的安装

ORACLE8i 通过新的基于 Java 的 ORACLE Universal Installer (OUI) 来安装,在所有的平台上都有一样的界面
[1 M Cyran, 1999] 。上面这句话是对的,不过一些小的差异要注明。在 Unix 上需要 X 兼容的显示能力, 或者是在
客户机的工作站上 有一个象 Exceed 这样的应用。在 Windows2000 上安装器可以直接运行。

在 Unix 中有许多手工设定的任务,在 Windows 2000 是不需要的。尤其是你不必手工设定环境变量。你不必生成
一个管理数据库的 Unix dba 组,不必设定一个 UNIX 来为用户运行 ORACLE Universal Installer 或者是一个叫
oracle 的用户来安装或者升级 ORACLE 。在 Unix 中 ORACLE 可以重联接而在 Windows 2000 则不能。

在 Windows 2000 中,用户必须是管理员( administrator )组的成员才可以安装数据库。在 ORACLE 8i 数据
库安装后自动的创建 ORA_DBA 一个本地组。这个组的成员自动接受 SYSDBA 的权限。推荐在定制安装的时候选择
安装 Administration Assistant for Windows ,要注意每个服务器只能安装这个软件的一个版本。

ORACLE 8.1.7 for Solaris 是 2CD 的。切换到第二张 CD 不象手册上说的那么容易。察看 [10 Metalink, 2001]
可以得到具体内容。

Windows 上的安装指导可以看 [3 Kennedy, 2000] 。《ORACLE Universal Installer 概念指导》没包括在
ORACLE8i 服务器联机文档中,不过在 ORACLE Universal Installer 安装的过程中自动的安装在你的硬盘中了。

继续阅读