HP-UX下处理文件和目录
创建文件可以使用 cat 命令创建包含文本的文件。例如,要创建名为“myfile”的文件,请按如下方式使用 cat 命令:
$ cat > myfile
键入此命令之后,光标位于空文件的第一行。键入文本并在每一行的结尾按 Enter 键。要退出文件,请在按住 CTRL 键的同时按 D。cat 命令会使您返回命令行提示符。
可以使用 cat 命令创建自己的 myfile 版本。例如,可以创建以下文件:
$ cat > myfileThe text I am typing will be stored in "myfile". EnterI press RETURN at the end of each line. EnterWhen I'm finished, I hold down the CTRL key and press D. EnterCTRL-D
列举文件
要验证 cat 是否创建了 myfile,请运行 ls 命令,该命令会列出文件名。同时运行 ls 命令和该文件名可以确认该文件是否存在,但不会列出其他文件。
ls(1)
$ ls myfile
myfile ls 命令列出了 myfile。
要查看有关文件的其他信息,请使用 ll (long listing) 命令。
ll(1)
$ ll myfile
-rw-r--r-- 1 myname mygroup 146 8 月 4 日 14:13 myfile
上一行开头的神秘字符 (-rw-r--r--) 表示所有者、组用户和其他用户读和(或)写文件的权限。“1”表示与此文件相关的链接(名称)数,“myname”通常是指登录名,“mygroup”是由管理员指定的名称,该名称属于与您一起工作的用户组,“146”是文件的字节(字符)数,接下来是上次修改文件的日期,最后是文件名。
命名文件
选择文件名时,名称长度和所包括的字符类型需要遵循特定的规则。
命名文件的准则
选择文件名时,请牢记以下规则:
通常,文件名最多可以包含 256 个字符(对于非 ASCII 字符集,为 256 字节)。这些字符可以为以下任何一种组合:
大写或小写字母(A 到 Z;a 到 z)
数字(0 到 9)
特殊字符,如:+、-、_ 和 .
根据上述规则,以下文件名为有效名称:
有效名称
money
Acct.01.87
CODE.clost+found
112.3-data
foo_bar
HP-UX 中的文件名区分大小写。因此,下列所有文件名均互不相同:
money
Money
MoneY
MONEY
注释:短文件名系统:
在某些计算机上,文件名长度不能超过 14 个字符。如果不确定所用的计算机是否可以支持较长的文件名,请向系统管理员核实。另外,还可以尝试创建一个具有较长名称的文件,查看该文件名是否会被截短。
隐藏文件名
第一个字符是点 (.) 的文件名为隐藏文件名,因为 ls 命令不能正常显示该文件名。如果不希望或不需要在运行 ls 时显示某些文件,请使用隐藏文件名。
举例来说,登录时系统运行隐藏启动文件,即登录脚本(用于定制工作环境)。有关登录脚本的详细信息,请参阅第 3 章 “使用 Shell”中的“使用登录脚本设置系统环境 ”。
为使 ls 可以列出隐藏文件名(包括登录脚本的名称),请同时运行该命令和 -a 选项:
$ ls -a
使用 -a 查看隐藏文件名。
.profile
myfile
这是 POSIX Shell,所以显示 .profile。
隐藏文件或“点文件”通常用于存储配置信息。如果不清楚文件的用途,请不要将其删除。
查看和打印文件
使用 more 命令,可以逐屏查看文本文件。如果正确配置了系统,可以使用 lp 命令打印文本文件。
使用 more 查看文件
more 命令将文本文件的内容显示在屏幕上。例如,以下 more 命令显示 myfile
的内容:
more(1)
$ more myfileThe text I am typing will be stored in "myfile".I press RETURN at the end of each line.When I'm finished, I hold down the CTRL key and press D.
如果文件包含的行数比屏幕上显示得多,more 在满屏的情况下会暂停。对于较长的文件,请按空格键继续查看其他屏幕;结束查看时请按 Q。然后,more 使您返回系统提示符。
尝试在系统文件 /etc/passwd 中运行 more:
$ more /etc/passwdroot:XOSDMfBA.hqs6:0:3::/:/usr/bin/shdaemon:*:1:5::/:/usr/bin/shbin:*:2:2::/bin:/usr/bin/shadm:*:4:4::/var/adm:/usr/bin/sh More(4%)
屏幕底部的“More(4%)”消息表示迄今为止您已查看了 4% 的文件,还有 96% 的文件尚待查看。此时,执行下列任何操作:
按空格键,逐页滚动查看文件。
按 B,逐页回滚查看。
按 Enter 键,逐行滚动查看文件。
按 Q,结束查看文件并退出 more。
显示文件的前几行和后几行
通常,只需查看文件的起始部分(开头)或结束部分(结尾)。
要查看文件的前几行但不使用文本编辑器,请使用 head 命令:
head(1)
$ head filename
缺省情况下,将显示 filename 的前 10 行(包括空行)。例如:
CONFERENCE NOTES Attendees:
Mary Sam Nina George Raphael Sergei
要查看文件的后 10 行(缺省值),请使用 tail 命令:
tail(1)
$ tail filename
将显示 filename 的后 10 行(包括空白行)。
head 和 tail 均可附带数字参数。例如,使用此命令显示 file1 的前 25 行:head -25 file1
使用 lp 打印文件
使用 lp (line printer) 命令可以打印文本文件。例如:
lp(1)
$ lp myfile
lp 命令将显示一条消息,表明它已将文件发送到打印机。例如:
请求的 id 是 lp-number (1 file)
其中,number 是 lp 命令指定给打印作业的 ID 号。如果看不到此消息,或看到错误消息,请向系统管理员咨询。应使用第一页上显示的用户名获得打印输出。打印输出所需的时间长短取决于系统当前运行的任务数和打印机的速度。
要配置打印机和设置 lp 假脱机程序,请使用 SAM(系统管理程序)。对于命令行打印机配置,请参阅《“Configuring HP-UX for Peripherals”》手册。对于命令行假脱机程序配置,请参阅《《管理系统和工作组》》手册。
使用 lpstat 获取打印机信息
要显示有关打印机状态(包括打印队列中打印作业的顺序)的报告,请键入:
lpstat(1)
$ lpstat -t
使用 cancel 取消打印请求
要取消打印请求,请输入 cancel 命令和请求的 ID 号:
cancel(1)
$ cancel request_id
重命名、复制和删除文件
要重命名文件,请使用 mv (move) 命令;要复制文件,请使用 cp (copy) 命令;要删除文件,请使用 rm (remove) 命令。
使用 mv 重命名文件
使用 mv 命令,可以按如下方式将文件 myfile 重命名为 foofile:
mv(1)
$ mv myfile foofile
要验证 mv 是否重命名了文件,请使用 ls 命令:
$ lsfoofile
要将 foofile 重新命名为 myfile,请键入:
$ mv foofile myfile
$ ls
使用 ls 验证此操作是否成功。
myfile
注意:如果将一个文件重命名为现有文件的文件名,则现有文件的内容将会丢失。
重命名文件时,一定不要将文件重命名为该目录下已有的文件名。否则,原先具有该文件名的文件内容将会丢失。为避免意外覆盖现有的文件,请使用 -i 选项。例如:
$ mv -i myfile foofile
在这种情况下,如果 foofile 存在,上述命令在覆盖文件之前会请求确认。
mv 命令还可用于将文件移动到系统中的其他位置。请参阅“在目录间移动和复制文件”。
使用 cp 复制文件
如果希望创建新版本但仍保留旧版本,则需要复制文件。例如,要复制 myfile 并将其命名为 myfile2,请键入:
cp(1)
$ cp myfile myfile2
这样,如果使用 ls 命令,将看到:
$ ls
myfile
myfile2
使用 more 查看 myfile2。将发现其内容与 myfile 的相同。
注意:如果粘贴文件的位置已有同名文件,则原有文件的内容将丢失。
为避免意外覆盖原有的文件,请使用 -i 选项。例如,如果尝试将 myfile 复制到当前目录下,并将其命名为 myfile2,而名为 myfile2 的文件已存在,则 cp 将请求是否覆盖原有的 myfile2:
$ cp -i myfile myfile2
覆盖 myfile2? (y/n)
使用 rm 删除