基本UNIX命令概览 unix 命令
注解 如果想使用某条命令的帮助,可在命令提示下输入man以及打算得到帮助的内容。例如,如果输入man date,将会接收到关于date命令的信息以及其他大量资料。详细内容请参阅3.3.1节。
UNIXshell有几个简单、内建的命令。其他命令全都是可执行文件的形式,存放在名为bin(二进制的简写)的特殊目录中。表3-1给出一些需要知道的非常重要的UNIX命令。UNIX命令较为隐晦,但其中一些命令Windows用户应该较为熟悉。例如,命令cd和mkdir在Windows具有与UNIX中相同的意义。许多UNIX命令有扩展其基本功能的额外的选项和开关(就像在MS-DOS中一样),表3-1示出了最有用的命令开关。
表3-1 基本UNIX命令
命 令
说 明
例 子
cd
cd命令允许改变目录。其格式为cd new-location。这里给出的例子从当前工作目录转到/tmp目录
$ cd/tmp
$
date
date命令给出时间和日期
$ date
Sat Mar 26 16:08:54 CST 2005
$
echo
echo命令可在屏幕上显示文本
$ echo Buenos Dias
Buenos Dias
$
grep
grep 命令是一个模式识别命令。它允许查看在一个文件或其他命令的输出中是否有某个词或一组词。这里给出的例子中,grep命令检查词“alapati”是否出 现在文件test.txt中(答案为是)。在需要搜索大文件看是否包含特定信息时,grep命令很有用。如果查找的词或词组不在文件中,将简单地返回 UNIX提示,正如下面一个例子中展示的那样
$ grep alapati test.txt
alapati
history
history命令给出你或其他用户前面输入的命令。为查看最后3条命令,可输入history -3。显示的默认命令数有赖于特定的操作系统,但通常在15到20之间。输出中,每条命令前面放一个数字,指示返回多少条
$ history –3
4 vi trig.txt
5 grep alaptitest.txt
6 date
7 history-3
[pasx] $
passwd
如果第一次分配给你一个账号,你将得到一个用户名和一个密码。可用passwd命令改变你的密码
$ passwd
Changing password for salapati
Old password:
New password:
pwd
用pwd命令来找出你现在的工作目录或查看你在文件系统中的当前位置
$ pwd
/u01/app/oracle
$
uname
在给出的例子中,uname命令告诉你机器的符号名为prod5且它是一个HP-UX机器。-a选项告诉UNIX给出系统的所有详细信息。如果省略-a选项,UNIX只显示HP-UX
$ uname –a
HP-UX prod5 B.11.00 A 9000/800
190 two-user license
$
whereis
顾名思义,whereis询问实用程序的可执行文件所在的确切位置
$ whereis who
who: /usr/bin/who
/usr/share/man/man1.z/who.1
$
(续)
命 令
说 明
例 子
which
which命令得出shell正使用的某条命令的版本(可能是多个版本)。在使用某条普通的命令,如cat时,应该执行这条命令,知道其与所预期结果的差别。which命令帮助检查是否使用了正确的命令版本
$ which cat
/usr/bin/cat
who
如果你对除你之外还有谁在系统上感到好奇,可使用who命令。此命令提供登录到系统的所用用户的清单
$ who
salapati pts/0 nov 8 08:31
rhudson pts/1 nov 8 09:4
lthomas pts/3 nov 9 15:54
dcampbel pts/7 nov 8 16:27
dfarrell pts/16 nov 5 07:00
whoami
whoami 命令指出你登录的是哪个用户。这似乎没有什么价值,但作为一个DBA,有时会用几个用户名中的某一个登录系统。最好是确切地知道在某个时刻你用的是哪个用 户,以防止不适当地执行某条命令,如删除文件或目录等。这里给出的例子指出你是作为用户Oracle登录,它是运行在UNIX系统上的Oracle软件的 拥有者
$ whoami
oracle
$
提示在按下Enter键之前,很有必要检查一下自己是否位于文件结构中的正确位置,以避免执行破坏性的命令。下面的命令将有助于控制你在命令行的输入。在Kornshell下,为了检索到你前面输入的所有命令,可按Esc键,后跟字母k。如果想检索到更早的命令,可连续按字母k,这样会得出以前输入的一系列命令。如果已经输入了许多命令,希望编辑它们,可按Esc键,后跟字母h,或者按字母I转到所输入的命令行。
3.3.1 帮助和信息:man命令
有许多操作系统命令,其大多数都有几个选项。因此,帮助系统嵌在操作系统中是很方便的,你可以方便地得到必要的信息。UNIX和Linux系统两者都有内建的称为man页面的功能,提供了关于所有操作系统命令的很多信息。可输入man命令后跟需要查看的命令得到详细的信息,如下所示:
此命令将显示关于who命令的大量信息及其所有选项,下图是几个例子(见图3-2)。
图3-2 man命令的输出
在基于Linux的系统中,也可以使用灵巧的whatis命令来查看某条命令的功能。与man命令一样,whatis命令也是后跟想查看的命令。下面是一个简单的例子:
正如所见,相对于详细的man页,whatis命令提供了查看命令摘要信息的一个快速、简单的办法。
3.3.2 改变提示符
每种shell都有自己的默认提示符。Korn shell的默认提示为美元符号($)。可通过改变PS1 shell变量的值将其改为别的符号。
在下例中,先发布命令echo$ps1检查ps1变量的值。然后使用export命令设置ORACLE_SID环境变量为我的数据库名finance。再使用export命令将ps1环境变量设置为与ORACLE_SID($ORACLE_SID)环境变量相同。现在shell提示符号已变为我的数据库名finance。因为我只导出了ORACLE_SID变量值,但没有把它置入我的环境文件,所导出的值只在当前会话期间有效。
注解如果将PS1变量添加到自己的.cshrc文件(3.3.7节的“定制环境”中将要说明如何做这个工作),则每当打开一个新shell时,将显示你定制的提示。如果要通过UNIX管理许多不同的数据库,则改变提示的能力很有用。可修改提示符以反映任何时候你正在工作的数据库。例如,如果你正在库存系统上工作,提示可改为invent>。这样,就不会意外地在某个数据库中执行错误的命令了。
3.3.3 文件和目录的查找
有时你想找某个文件,但不能肯定位于文件系统中的位置。不过,whereis命令只是定位命令,而不是定位文件。为了找到文件或目录在何处,可以使用find命令,如下所示:
在这个例子中,find命令告知bill.sql文件位于/u01/app/oracle/dba目录中。请注意,在find关键字后有一个圆点,表示从当前目录开始递归搜索,当前目录下的每个目录和子目录都要搜索。如果希望从某个特定的目录开始搜索,需要在命令中指出。在下例中,find命令从根(/)目录开始搜索,如果找到则在屏幕上显示test.txt文件的位置:
3.3.4 命令输出的控制
有时,一条命令输出的内容一个屏幕显示不下。有许多办法进行命令输出的控制。
more命令将显示一个文件的内容,一次一屏。按Enter就可以看到文件的下一屏。
管道命令(|)能够将一条命令的输出作为另一条命令的输入。在下面的例子中,|操作符取ps-ef命令的输出(当前系统中运行的进程列表),并传递给grep命令以搜索包含词Oracle的所有进程:
这个例子还演示了如何一次使用多个命令。
3.3.5 显示文件的内容
正如所知,可使用vi编辑器读写一个文件。但有时可能只想看看文件的内容。cat命令可以完成此工作,如下所示:
注解 也可以使用page命令细读文件。
3.3.6 文件相同还是不同
diff命令比较两个文件,返回不同的行,并说明如何使文件相同。下面举一个例子:
此diff命令的输出说明如果增加行New Test到test.one文件,就可以使它与test.two文件相同。第一个字符0为要在test.one中编辑的行号;a指出增加到test.one的行应该与test.two的第一行1相匹配。
3.3.7 UNIX变量
UNIX或Linux系统中主要有两种类型的变量,它们分别是用户创建的变量和shell变量。下面简要地看一下如何使用这两种变量。
1.用户创建的变量
用户可以创建变量并给它一个初始化值。变量中必须包含字母和数字,而且必须以字母打头。也可以使用export命令导出变量,以便在当前会话的任意shell中利用这些变量。
下面举一个用户创建变量的例子(请注意,回显变量本身只显示该变量名而非其值,要显示变量的值,必须在echo命令中的变量名前加一个$符号):
在此例子中,首先创建了一个名为database的新变量,并赋给值nicko。然后用echo命令显示database变量的值,但echo命令只显示字符串database。再次使用echo命令,在变量名前加了$符号($database)。这样做之后,变量database的值显示为nicko。
为了删除database变量的值,设置其为空即可,如下所示:
2.shell变量
shell变量是由shell自己设置值而不是由用户设置值的变量。shell变量也称为关键词变量,因为这些变量中的有一些是用某些简写的关键词来表示的。当第一次登录UNIX系统时,必须使shell得到一些信息,如你的主目录名、用来编辑文本的编辑器以及你的会话活动时系统显示的提示符等。这些东西都是由赋予shell变量的值所决定的。下面是两个常见的shell变量。
q HOME:指定用户的主目录。
q PATH:指出shell执行命令时所要寻找的目录。PATH变量通常含有UNIX和Oracle软件的二进制(bin)目录。
幸运的是,不必每次登录系统时都手动设置环境变量。有一个名为.profile或.loging的文件(具体是哪个文件要看登录的是什么样的UNIXshell)会在登录时自动为所有用户设置环境变量。在登录时,shell将查找合适的文件,并设置所有shell变量的值来建立环境。
3.使用export和setenv命令
用户定义变量和shell变量都局限于第一次声明它们的进程。如果希望从你登录的shell执行的shell脚本中访问这些变量,需要直接令这些变量对子进程的调用环境可用。
在Korn和BASH shell中,可利用export命令使一个变量的值为子进程可用。在C shell中,使用setenv命令完成相同的事情。举一个例子说明如何使用export命令来使一个变量的值为子进程所用:
下面的顺序也能达到与上面的export命令相同的结果:
在C shell中,使用setenv命令来设置变量的值,如下所示:
注解 UNIX程序和命令可以用两种完全不同的方式运行,即交互式方式和批量方式。交互式方式是在登录后直接在屏幕上输入命令;批量方式通常利用UNIX文本文件形式的可执行shell脚本,一次执行所有命令或一个完整的程序。
4.环境的显示
在系统提示下输入env,则所有环境变量将在屏幕上滚动。下面举一个例子:
为了看到某个特定而不是所有(可能会很长)环境变量的值,可使用如下的echo命令要求shell在屏幕上显示该变量的值。
请注意,在此echo命令中,环境变量名的前面放置了一个$,这样命令将显示变量的值而不是变量名。
5.定制环境
Bourne shell和Korn shell都使用.profile文件来设置所有shell变量的值。.profile文件在第一次登录UNIX或Linux系统时执行。
每次调用新的Cshell时,都要执行.cshrc文件。.cshrc文件是一个含有一般的Cshell命令的短文件,它在UNIX风格下仅需微小改动就能起作用。这表示在所有UNIX系统上具有基本相同的.cshrc文件。.cshrc文件在打开UNIX或Linux环境下的终端窗口时执行,或者在执行一个脚本时执行。可在.cshrc文件中添加命令(用类似于vi的文本编辑器),这将使你在UNIX中的工作效率更高。在你登录和启动一个新会话时,Cshell也执行.login文件的内容。.login文件位于用户主目录中,例如对于大多数UNIX系统上的Oracle用户,它位于/home/oracle中。
下面列出各种主要的UNIX和Linux shell下执行的设置shell环境的不同的脚本。
q Bourne shell(sh):用户登录时仅执行.profile文件。.profile文件位于用户的主目录中。
q C shell(cshrc):此shell在执行.cshrc文件后执行.login。在用户登录创建一个新shell时,执行.cshrc脚本,但不执行.login文件。
q Korn shell(ksh):执行用户目录中的.profile文件。
q Bash shell(bash):登录时执行.bash_profile,然后在启动一个新shell时执行.bashrc文件。
为了永久改变环境变量,可编辑.profile或.login文件,对某个变量插入必要的值。例如,可如下对.login文件添加一行:
对于.profile文件,可如下添加行:
这些更改将在下次登录或调用一个C shell实例时起作用。在Bourne shell和Korn shell中,可利用以下的命令立即更改环境:
类似地,可使用C shell中的source命令立即进行环境变量更改:
3.3.8 UNIX中的输入和输出重定向
当在PC或UNIX工作站上使用UNIX窗口时,键盘是输入命令到shell的标准方法,终端是命令输出的标准位置。任何所导致的错误称为标准错误,通常显示在屏幕上。
注解 通常使用术语标准输入、标准输出和标准错误代表UNIX shell中的标准输入和输出位置。
但是,也可以使用文件作为输入,或者让UNIX发送输出到某个文件而不是屏幕。这种改变输入和输出路径的过程称为输入和输出重定向(input and output redirection)。
在不想要输出时,可将输出重定向到一个称为/dev/null的特定位置。如果使用/dev/null作为输出位置,则程序执行中发布的所有消息都被抛弃,并且不在文件系统的任何位置记录。下面的例子给出如何将一个文件的输出重定向到/dev/null,使其内容不可见。
这个例子中的第一条cat命令显示了testfile1的内容。但在cat命令重定向到/dev/null后,cat命令的输出不见了。
注解 cat命令的重定向输出有背于执行此命令的目的,但还有一些别的场合,如执行一个脚本而又不想看到所有命令的输出时,则可以进行输出重定向。
表3-2汇总了多数UNIX版本中的重要重定向操作符。
表3-2 UNIX中的输入/输出重定向
重定向操作符
说 明
<
重定向标准输入到一个命令
>
重定向标准输出到一个文件
>>
将标准输出附加到一个文件
<<
将标准输入附加到一个文件
2 >
重定向标准错误
在下面的例子中,date命令的输出存储在file1中,而file2又得到file1的输出:
可利用UNIX的管道命令(|)达到相同的结果:
管道命令使用管道符号(|)指出shell取|符号前的命令的输出,将它作为|符号后的命令的输入。
3.3.9 noclobber shell变量
在将输出重定向一个文件时,可用noclobber shell变量来避免意外地覆盖某个已有文件。在启动文件(如.cshrc文件)中包括这个变量是一个很好的办法,如下所示:
更多阅读
Matlab绘图基本控制命令 matlab基本命令
图形的控制与表现 (Figurecontrol and representation)MATLAB提供的用于图形控制的函数和命令:axis: 人工选择坐标轴尺寸.clf:清图形窗口.ginput: 利用鼠标的十字准线输入.hold:保持图形.shg:显示图形窗口.subplot: 将图形窗口分成N块子
详细说说cad最为常用的基本命令都有哪些 dos常用命令详细讲解
在CAD软件操作中,为使用者方便,于在 Windows中工作时一样,利用快捷键代替鼠标。可以利用键盘快捷键发出命令,完成绘图,修改,保存等操作。这些命令键就是CAD命令。Point,line,circle,arc命令1. 下拉菜单: 绘图/点/(单点/多点)命令: POINT(PO)作
DOTA模式命令 dota变态版命令
DOTA模式 命令编辑本段所指WAR3 魔兽争霸3 中的 对抗地图 随着DOTA 官方的更新,版本和英雄不断增加和完善。 (目前最新版本6.69,101位英雄) 1.游戏模式基本信息 开局后第15秒前必须输入游戏模式,否则“常规模式”被自动选择。由
H3C路由器常用基本配置命令 h3c路由器限速命令
[Quidway]sysname router_name 命名路由器(或交换机)[Quidway]delete 删除Flash ROM中的配置[Quidway]save 将配置写入Flash ROM[Quidway]interface serial 0 进入接口配置模式[Quidway]quit 退出接口模式到系统视图[Quidway]shutdo
chapter1 ----什么是命令提示符与批处理 win8.1命令提示符激活
批处理的文件类型是.bat也就是基于命令提示符的一个小东东可以批量运行事先写好的命令什么叫命令提示符呢?就是ms-dos在windows xp 的替代品可以基本实现dos的功能但是还是没有dos强大