文档库 最新最全的文档下载
当前位置:文档库 › hpux下部分常用命令

hpux下部分常用命令

echo
echo $name 命令是最常用的方式用于显示变量当前的值。
env 命令用来显示所有的当前环境中的定义的变量,和它们的值。

set 的用法
set 命令会显示所有的当前定义的变量,本地和环境中的变量,和它们的值。
rx6600[/usr/bin#]set
CMSNMPD_LOG_FILE=/var/adm/SGsnmpsuba.log
COLUMNS=176
DISPLAY=rx6600:0.0
HOME=/
IFS='
'
LINENO=1
LINES=34

unset的用法
unset 命令用来删除指定变量的当前的值。这个指被赋为空值 NULL。

set 和unset 都是shell内建的命令,而env 是UNIX命令 /usr/bin/env.

{} 的用法
花括号被用来区分变量名和周围的文本
确认你有一个叫file和一个叫file1的变量。能够使用以下的语句给它们赋值:
$ file =this
$ file1= that
$echo $fileand$file1 寻找变量fileand,file1
sh: fileand: parameter not set
$ echo ${file} and $file1 寻找变量file,file1
thisandthat

env
rx6600[/usr/bin#]env
。。。。
PS1=rx6600[$PWD#]
。。。。
rx6600[/usr/bin#]echo PS1
PS1
rx6600[/usr/bin#]echo $PS1
rx6600[$PWD#]
rx6600[/usr/bin#]

Whereis
rx6600[/usr/bin#]whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1.Z/whereis.1

export 变量传递变量到环境
$ color=lavender
$ export color
$ export count=3
$ export
export PATH=/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/local/bin



ps
rx6600[/usr/bin#]ps
PID TTY TIME COMMAND
23275 pts/ta 0:00 ps
14552 pts/ta 0:00 telnetd
14553 pts/ta 0:00 sh
ps 命令通常不带参数使用,结果是给出一个与你当前终端对话相关的进程的一个简单的报表,当使用-f 选项时候,ps 命令给出一个全列表,包括PPID号.

\
语法:
\ 除去下一个字符的特别含义
例子:
rx6600[/usr/bin#]echo the \ \ escapes the next character
the escapes the next character


'
rx6600[/usr/bin#]echo 'the value of \$colore is $colore'
the value of \$colore is $colore


"
" 去除包含在其中的特殊字符的特别含义,但\,$,和”除外。
例子:
rx6600[/usr/bin#]color="red white and blue"
rx6600[/usr/bin#]echo $color
red white and blue
rx6600[/usr/bin#]echo "the value of \$color is $color"
the value of $color is red white and blue
rx6600[/usr/bin#]echo "they're all here ,\\ , ', \" "
they're all here ,\ , ', "

cut
语法:
cut -clist [file...] 从文件或标准输入抽取列或者字段
cut -flist [-dchar][-s][file...]
rx6600[/usr/bin#]date | cut -c1-3
Tue
rx6600[/usr/bin#]date
Tue Jan 31 01:14:34 EAT 2012


tr
语法:
tr [-s] [string1] [ string2] 转换字符
rx6600[/usr/bin#]who | tr -s " "
root pts/ta Jan 30 20:49
rx6600[/usr/bin#]who
root pts/ta Jan 30 20:49
rx6600[/usr/bin#]date | cut -c1-3 | tr " [:lower:] " " [:upper:] "
TUE
rx6600[/usr/bin#]date
Tue Jan 31 01:22:47 EAT 2012

tee
语法:
tr [-s] [string1] [ string2] 转换字


例子:
rx6600[/usr/bin#]who | tee whoson | wc -l
1
rx6600[/usr/bin#]more whoson
root pts/ta Jan 30 20:49


pr 命令
语法:
pr [ -option] [file....] 对标准输入格式化并且产生标准输出
例子:
$ pr –n3 funfile
$ pr –n3 funfile | more
$ ls | pr –3
$ grep home /etc/passwd | pr –h “user Accounts”
pr 命令可以打印到标准输出:它被用来格式化标准输入数据流或者格式化指定文件的内容。然后输出到屏幕,而不是到打印机,pr命令典型的执行情况是,在文件被送到打印机打印前格式化文件的内容。
pr 命令在打印长文件的时候非常有用,因为它会在每一个新页的顶部插入一个标题,其中包括文件名(或者是使用-h选项定义的标题),和页号。
pr命令支持许多的选项。你可以使用man来查找每个选项的具体用途。

du
du命令为disk usage的缩写。在使用这个命令时可以指定一个或多个目录,如:
$ du /home/yxz
2 /home/yxz/Unix.dir
10 /home/yxz

id
rx6600[/usr/bin#]id
uid=0(root) gid=3(sys) groups=0(root),1(other),2(bin),4(adm),5(daemon),6(mail),7(lp),20(users)

su
su - 切换用户时,环境变量随之一起切换
su 切换用户时,环境变量还是使用原用户的
root可在不用password的情况下切换至任一用户

who 命令
who[am I] 报告当前系统中的用户信息
例子:
$ who
root pts/ta Jan 31 12:40
gh pts/0 Jan 31 13:02
who命令会报告有哪些用户已经登录系统,每一个用户连接的终端和登录时间的信息。who am i 报告本用户的用户名和端口信息,whoami 命令报告系统与本地终端的关联的用户名。用户是否有权执行一个命令,依靠的是用户的身份,一个用户能够更改他或她的身份标识来存取其它的命令或程序。
例子:
$ whoami
gh

mesg 命令
mesg n 拒绝其他人write 到你的终端。
mesg y 允许其他人write 到你的终端。
mesg 报告是允许或是不允许其他人写到你的终端。
即使你的终端是禁止写入的,系统管理员一样能发送信息到你的终端。

date 命令
date 命令被用来报告系统的当前日期和时间。date可以加上参数来重新格式化输出的格式。通常date命令不带任何选项和参数使用。只有系统管理员有权限修改系统时间和日期。
例子:
$ date
Tue Jan 31 13:07:11 EAT 2012


passwd
修改用户密码


pwd
显示当前用户所在的目录的绝对路径。目录结构中的目录名称



ls
查看当前目录下的目录和文件
参数:
-a 列出所有的文件,包括以点(.)开头的文件,通常,这些文件是隐藏的,除非使用–a选项才会显现出来,这些以点开始的文件通常记录你用户线索和应用的配置信息。
-d 列出目录的描述,而不是列出目录的内

容。通常与-l一起使用来显示目录的状态。
-l 提供一个关于每个文件德描述属性的长列表,包括类型,模式,链接数,属
主,组,大小(字节),更改日期,和名称。
-F 在每个目录后面添加反斜杠(/),在可执行文件后面添加星号(*)。
-R 递归地列出给出的目录和所有子目录中的文件。

文件属性:
- 代表普通文件
d 目录
l 链接文件
n 网络专用文件
c 字符设备文件(终端,打印机)
b 块设备文件(磁盘)
p 命名的管道(一种内部过程通信通道)


cd
跳转到下一个目录

find
查找文件
语法:
find path_list expression
在路径列表(path_list )按照表达式(expression)查找
例子:
rx6600[/#]find . -name .profile
./etc/skel/.profile
./home/hpsmh/.profile
./home/sfmdb/.profile
./home/iwww/.profile
./home/owww/.profile
./home/test001/.profile
./home/zjtest/.profile
./home/yck/.profile


mkdir
创建文件
参数:
-p 如果中间目录不存在,将会创建这些目录
-m mode (模式) 在创建了指定的目录后,目录被设置成默认的权限。

chmod
改变文件权限
chmod命令支持一种字母的方式定义文件的权限。
你可以指定你想要更改的权限:
r 读的权限
w 写的权限
x 执行的权限
和你如何更改权限:
+ 增加权限
- 减少权限
= 将权限设置为
你同时可以指明你想要修改哪一组的权限:
u 用户(文件的属主)
g 组(文件关联的组)
o 其他用户
a 所有用户(系统中的每个用户)
none 分配权限给所有的域
注释:想要禁止一个文件的所有的权限,键入以下的命令:
chmod = 文件名
例子:
$ ls -l f1
-rw-r--r-- 1 user3 class 37 Jul 24 11:06 f1
$chmod g=rw,o= f1
$ ls –l f1
-rw-rw-rw- 1 user3 class 37 Jul 24 11:06 f1
$ls –l f2
-rw-rw-rw- 1 user3 class 37 Jul 24 11:08 f2
$chmod u+x,g=rx,o-rw f2
$ls –l f2
-rwxr-x--- 1 user3 class 37 Jul 24 11:-8 f2
chmod命令也支持数值的(八进制)表达式来指定文件的权限。这种表达式十分陈旧,但这是一种十分通用的格式。
1. 要改变文件的权限,你必须将权限的每一个域转变成适当地数字表达式。对属主,组,和其他用户都有存取定义。每种类型的存取赋值可用以下的数字来表示:
read=4
write=2
execute=1
2. 将这些关联到存取权限的数字加起来。
3. 将三个值合起来的数字就是chmod命令的参数。
举个例子,如果你期望的权限:属主是rw-,组是r--,其他是---:
属主 组 其他 转变成数字形式
rw- r-- ---
4+2+0 4+0+0 0+0+0
6 4 0
因此:chmod命令是:
chmod 640 filename
注释:想要禁止所有的权限,你可以使用一下命令:
chmod 000 file

chown
改变文件属主
语法:
chown owner [:group] filename... 更改一个文件的属主,和可选地

,组ID
例子:
$ id
uid=303 (user3), gid=300 (class)
$cp f1 /tmp/user2/f1
$ls –l /tmp/user2/f1
-rw-r----- 1 user3 class 3976 Jan 24 13:13 f1
$ chown user2 /tmp/user2/f1
$ ls –l /tmp/user2/f1
-rw-r----- 1 user2 class 3976 Jan 24 13:13 f1
只有文件的属主和root才能更改一个文件的所有权。


rmdir
删除文件


ls
ls 查看一个文件的描述

cat
cat 查看一个文件的内容

more
more 查看一个文件的内容,一次一屏

lp
lp 打印一个文件
语法: lp [ -dprinter] [-options] filename ?
例子:
$ lp report
request id kp-112 (1 file)
$lp –n2 memo1 memo2
request id is dp-113 (2 files)
$ lp –dlaster –t “confidential” memo3
request –d is laser –114 (1 file)

lpstat 命令
语法:
lpstat [-t]
? lpstat 报告你已经送往打印机队列的打印请求。
? lpstat –t 报告调度表的状态,默认的打印机名,设备,打印机状态,和所有的排队打印的请求。
lpstat 命令报告lp缓冲系统不同部分的状态。lpstat,当不加任何参数的时候,报告你当前送往打印的打印请求。
-t 选项显示系统中的所有的打印机的状态信息。
lpstat –t 命令告诉我们几个事情:
$ lpstat
rw-55 john 4025 Jul 6 14:26:33 1994
$
$lpstat –t
scheduler is running
system default destination: rw
device from rw: /dev/lp2235
rw accepting requests since Jul 1 10:56:20 1994
printer rw now printing rw-54. Enabled sine Jul 4 14:32:52 1994
rw55 john 4025 Jul 6 14:26:33 1994 on rw
rw-56 root 966 Jul 6 14:27:58 1994
sheduler is running 调度表(scheduler)是一个程序,负责将你的打印请求
送往正确的打印机。如果调度表没有运行,任何东西都不能打印。
system default destination :rw rw是默认的系统打印机的名字。如果你使用 lp 没有
加上 –d printer 的选项,你的打印请求会被送到这台
名叫rw的默认的打印机。注意你的默认的系统打印机可能有不同的名字(如 lp)。
device for rw:/dev/lp2235 这表明打印机被联结到计算机的缓冲器。
printer rw now printing rw-55 ID为rw-55的打印请求正在被打印。
enabled 打印请求能够在rw上被打印。如果一个打印机是
disable 你可以提交请求,但是它们不会被打印直到
打印机被enabled。
剩下的这些行是被打印的请求。这些字段列出请求的ID,排在哪个用户后打印,打印请求的大小,打印请求生成的时间。

cancel 命令
语法:
cancel id [id ?]
cannel printer [ printer?]
例子:
取消一个由lp命令产生的打印任务。
$ cancel dp-115
取消当前在指定打印机上的打印任务
$ cancel laser
cancel命令被用来从打印队列中

删除打印请求。通过取消当前在打印机上的打印任务使下一个打印请求能被打印。你在打印非常长的文件或试图错误地打印一个二进制文件时(例如/usr/bin/cat),你可能会想要取消一个打印请求。请记住,lp 通常打印文本文件。、如果你没有指定合适的选项(例如=oraw(图象打印)),打印其他类型文件的会使打印机混乱,并且会浪费许多的纸张。
要取消一个打印请求,你必须通过给cancel命令一个参数来告诉打印缓冲器那一个打印请求是你想要取消的。cancel的参数有两种类型:
? 一个请求的ID(lp和lpstat给出的)
? 一个打印机的名字
通过赋予cannel一个打印请求的ID,指明的哪个打印请求就会被取消。如果你在cancel后面的参数是一个打印机名,当前在哪个打印机上正被打印的任务会被停止,打印队列中的下一个打印请求会开始打印。
$ lpstat
rw-113 mike 6275 Jul 6 18:46 1995
rw-114 mike 3349 Jul 6 18:47 1995
rw-115 mike 3258 Jul 6 18:49 1995
$ cannel rw-115
request “rw-115” canceled
lpstat
rw-113 mike 6275 Jul 6 18:46 1995
rw-114 mike 3349 Jul 6 18:47 1995
$cancel rw
request “rw-113” canceled
$lpstat
rw-114 mike 3349 Jul 6 18:47 1995
这个命令可以被任何用户执行以取消任何打印请求,你甚至可以取消其他人的打印请求;然而,被取消请求的用户会收到一个mail,告诉他谁取消了他的打印请求。系统管理员可以限制用户只能取消他们自己的请求。

cp
cp 制造一个文件的一个拷贝。
语法:
cp [-i] file1 new_fle 拷贝一个文件
cp [-i] file [file?] dest_dir 拷贝一个文件到一个目录中去
cp –r [-i] dir [dir ?] dest_dir 拷贝目录
例子:
$ ls –F
f1 f2* memo/ note memind
cp f1 f1.copy
$ ls –F
f1 f1.copy f2* memo/ note remind
$cp note remind memo
$ ls –F memo
note remind
cp命令被用来制造文件的一个拷贝。
-i(interactive)选项会在目标文件已经存在时给你警告,并要求你确认是否覆盖这个文件


mv
mv 改变一个文件或者目录的名字
将一个文件移动到另外一个目录中去
语法:
mv [-i] file new_file 重命名一个文件
mv [-i] file [file?] dest_dir 移动一个文件到一个目录下去
mv [-i] dir [dir ...] dest_dir 重命名或是移动目录
例子:
$ ls –f
f1 f2* memo/ note remind
$mv f1 file1
$ ls –F
file1 f2$ memo/ note remind
如果目标文件已经存在,它的内容会被源文件所代替,如果目标是一个目录,文件会被移动到哪个目录。
-i(interactive 交互)选项会在目标文件或目录存在的情况下提醒你,并且会要你确认是否覆盖文件或目录。

ln
ln 为一个文件创建另外一个文件
语法
ln file new_file 链接到一个文件
ln file [file?] dest_dir 链接文件到一个目录
例子:
$ ls –l f1
-rw-rw-r--

1 user3 class 37 Jul 24 11:05 f1
$ ln f1 /home/user2/f1.link
$ls –l f1
-rw-rw-r-- 2 user3 class 37 Jul 24 11:05 f1
$ ls –l /home/user2
-rw-rw-r-- 2 user3 class 37 Jul 24 11:05 f1.link
$ ls –i f1 /home/user2/f1.link
1789 f1 1789/home/user2/f1.link

rm
rm 删除一个文件
语法:
rm [-if] filename [filename?] 删除文件
rm –r[if] dirname [filename?] 删除目录
例子:
$ ls –F
f1 f2 fruit/ memo/
$rm f1
$ls –F
f2 fruit/ memo/
$ rm –i f2
$f2? $rm fruit
rm: fruit directory
$ rm –r fruit
rm命令被用来删除文件。一旦文件被删除是不可挽回的,rm 命令至少要有一个参数(一个文件名),如果指定的文件名超过一个,所有的指明的文件都会被删除。
以下是最常用的选项:
-f 强制删除文件—用户不会得到任何提示,甚至在发生一个错误的时候。
-r 递归地删除指定目录中的所有的内容。
-i 询问或交互模式,它会要求用户确认来完成删除。你的回答有y(yes)和n(no),回车的作用和回答no是一样的。
注意: 通常是在极端的情况下才能使用 –r 选项。使用不正确,会删除你的所有的文件,一旦一个文件被删除,只能从备份磁带上恢复这个文件。如果你必须要用–r选项,请和-i
选项一起应用。
例如: rm –ir dirname

tail
tail--- 显示文件的末尾
语法:
tail [-n] [文件名]
tail命令的作用是显示一个文件的最后 n 行。


umask
umask 改变默认的文件存取权限
语法:
umask [-s] [mode] 用户文件创建模式掩码
例子:
原先默认的权限: rw- rw- rw-
设置默认权限: rw- r-- ---
$umask g=r,o=
[-S]选项以符号的格式显示当前的文件创建的掩码,[-S]选项和符号格式在Bourne 和C shell无效。
选项a-rwx是u-rwx,g-rwx,o-rwx的一个缩写。一个常用的新建文件的默认权限是rw-rw-rw-,这意味着系统中的任何用户都能修改文件中的内容。新建目录的默认权限是rwxrwxrwx,这意味着任何用户能更改这个目录,和删除这个目录中的任何东西。
为了保护你的创建的文件,你可以使用umask命令,这个命令会取消你创建的文件和目录的默认权限设置。组用户的写权限和其他用户的写权限大概是最重要的需要取消的权限。你指定的掩码在你登录系统时一直有效,umask 对已经存在的文件没有任何作用。

touch
touch - 更新文件的时间标志
语法:
touch [-amc] file... 更新文件的存取和/或更改时间
touch 命令可以用来创建新文件,空文件。如果指定的文件已经存在,touch会更新文件的时间标志。它对文件的内容没有影响。
touch 命令有以下选项:
-a time 更改存取(Access)时间为指定的时间
-m time 更改修改(Modify)时间为指定的时间
-t time 使用指定时间(time)来代替当前时间。
-c 如果文件

不存在,不创建新文件。
例子:
$ touch test_file1
$ ls –l test_file1
-rw-rw-rw- 1 user3 class 0 Jul 24 11:08 test_fiile1
$ umask a-rwx,u=rw,g=r (或 umask 137)
$ umask –S (或 umask)
u=rw,g=r,o= (或 137)
$ touch test_file2
$ ls –l test_file2
$-rw-r----- 1 user3 class 0 Jul 24 11:10 test_file1


chgrp
chgrp 改变一个文件的组。
语法:
chgrp newgroup filename.... 更改一个文件的组的存取。只有文件的属主和root
更改文件的组。
例子:
$ id
uid=303(user3) ,gid=300(class)
$ ls –l f3
-rw-r----- 1 user3 class 3967 Jan 24 13:13 f3
$chgrp class2 f3
$ls –l f3
-rw-r----- 1 user3 class2 3967 Jan 24 13:13 f3
$chown user2 f3
$ls –l f3
-rw-r----- 1 user2 class2 3967 Jan 24 13:13 f3
在长列表中的组域确定什么用户组可以存取这个文件。你可以用chgrp 命令来更改。

su
su 转换你的用户的身份。

newgrp
newgrp 转换你的组的身份ID
系统管理员会定义你能转变的组。通过查看文件/etc/group,你能确定你有权改变到那些组。如果你没有被允许成为指定的组的成员,你会得到一条信息:Sorry.
由于newgrp命令没有开启一个新的对话线索,你只需要使用newgrp来回到你最初的组的状态。




相关文档