unx常用命令介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1帮助命令man (2)
1.1.1按章节寻找帮助 (2)
1.1.2按照关键字寻找帮助 (2)
1.2环境变量 (2)
1.3目录操作命令 (3)
1.4文件操作命令 (3)
1.4.1链接命令ln (3)
1.4.2显示文件 (3)
1.4.3拷贝文件和文件改名、文件移动 (4)
1.4.4删除文件 (4)
1.4.5改变文件和目录的属主和访问权限 (5)
1.4.6查找文件命令find (5)
1.4.7文件压缩工具tar (6)
1.5文件内容查询命令grep (6)
1.6文件内容查看和编辑 (6)
1.7重定向和管道 (7)
1.8网络命令 (8)
1.9其它常用命令 (8)
1.10编译程序cc (8)
UNIX常用命令介绍
1.1帮助命令man
unix的帮助手册分为多个章节,常用的有第1、2、3节,分别包括用户命令、系统调用、和C 库函数。

在一些版本的unix中,又分了一些小的章节,比如:1B、3C这样的标题,把帮助的分类进一步的细化,在unix中,帮助文件存放在/usr/share/man下,按章节存放。

下面介绍命令man通常的用法:
1.1.1按章节寻找帮助
寻找用户命令time的帮助和寻找系统调用time的帮助分别为(在不同的unix版本,命令的用法不一样,下面是在Solaris上的用法):
$ man –s 1 time
$ man –s 2 time
如果不带章节参数的话,系统会显示找到的第一个命令的帮助(按章节的先后)。

有的系统支持-a参数,显示所有章节的帮助,比如显示time在所有章节中的帮助:
$ man –a time
1.1.2按照关键字寻找帮助
下面的命令列出所有跟time相关的帮助信息:
$man –k time
1.2环境变量
在unix中,shell可以维护一些变量,在变量中存放一些数据供以后使用。

显示当前的环境变量:$ env
给变量赋值:$ MYHOME=/export/home/xubr; export MYHOME
$ MYPATH=$PATH:/export/home/xubr; export MYPA TH
查看变量的值:$ echo $MYPATH
1.3目录操作命令
类似windows,在unix中,某目录中的一个点表示当前目录、两个点表示上级目录,同样支持绝对路径和相对路径。

在unix中,目录也是文件类型的一种,下面介绍仅跟目录相关的命令:显示当前所在的目录用pwd;改变当前路径用cd,用法与windows一样,与windows不同的是可以使用通配符;创建目录使用mkdir,使用方法举例:
$ mkdir test1
$ mkdir test1/test1
$ mkdir –p test2/test2
$ mkdir –m 755 test3
删除目录使用rmdir,该命令只能用来删除空的目录,所以一般不太使用,使用比较多的是rm,在后面的文件操作中介绍。

1.4文件操作命令
1.4.1链接命令ln
有时候需要为一个文件建立其它的名字,通过ln命令来实现:
$ ln filea fileb
$ ln –s filea filec
上面的两个命令中,一个产生硬链接一个产生软链接(或者叫符号链接)。

在上例中,如果是硬连接,无论删除filea还是fileb,另外一个文件均存在并正常工作;如果是软链接,删除filea后,filec 就是一个没有指向的空文件。

另外,硬链接不能链接到其它文件系统中,软链接可以。

1.4.2显示文件
使用命令ls。

常见的用法:
$ ls // 列出当前目录中的非隐藏文件及目录
$ ls –1 // 一行只列出一个文件或目录
$ ls –a // 列出当前目录中的所有文件(包括隐藏文件)和目录
$ ls –l // 列出文件的详细信息
$ ls –l|more // 分屏显示
$ ls –lr // 逆序列出文件
$ ls –lt // 根据修改时间列出文件,最新者排名第一
$ ls –lu // 列出文件的访问时间(无u选项则是修改时间)
$ ls –R // 列出当前目录及其子目录下的所有文件
使用通配符:匹配单个字符(?)、匹配任意位置(*)、匹配字符的范围或列表([ ]),举例如下:$ ls [a,t]*
$ ls [a-t]*
$ ls ?[g,r]*
1.4.3拷贝文件和文件改名、文件移动
拷贝文件用命令cp,用法举例如下:
$ cp filea fileb
这种拷贝方法不考虑目标文件是否已经存在,而是直接覆盖。

如果需要考虑目标文件是否存在,采用交互方式拷贝,加选项-i
$ cp –i filea fileb
拷贝文件到另外的目录:
$ cp file* dira
如果连子目录及子目标中的文件一起拷贝,使用选项-r
$ cp –r * dira
文件改名和移动用同样的命令mv,用法举例如下:
$ mv filea fileb
$ mv filea dira/fileb
$ mv file* dirb
如果考虑目标文件是否存在,同样可以用-i选项,
$ mv –i filea fileb
1.4.4删除文件
使用rm命令可以删除文件和目录,用法举例:
删除文件,
$ rm filea
$ rm file*
删除目录及该目录中的所有子目录和文件(这个选项比较危险,慎用):
$ rm –r dira
同样,-i选项可以对删除的每个目录或文件进行询问,确认后才删除,
$ rm –ri dirb
另外一个选项-f,表示强制删除,在用户被授权的目录种即使没有文件的权限时也可以删除,同时,有了该选项后,被删除的文件或目录是否存在均不给出提示,其用法,
$ rm –f filea fileb
1.4.5改变文件和目录的属主和访问权限
改变文件的属主使用chown命令:
$ chown test filea
$ chown test:staff filea
如果要改变一个目录及其之下的所有子目录和文件的属主,使用选项-R:
$ chown –R informix:informix dira
对于符合链接文件,缺省情况下,不仅改变了链接文件的属主,也改变了源文件的属主,如果不想改变源文件的属主,使用参数-h:
$ chown –h informix:informix filec
改变文件或目录的访问权限使用chmod命令:
$ chmod 755 filea
$ chmod g=u filea
$ chmod u+x filea
$ chmod o-r filea
如果要改变一个目录及其之下的所有子目录和文件的访问权限,使用选项-R:
$ chmod –R dira
1.4.6查找文件命令find
一般用法:
$ find . –name filea –print // 在当前目录中查找文件filea
$ find . –name “fi*”–print // 在当前目录中查找以fi打头的所有文件
如果需要详细显示查找到的文件的属性,使用-ls选项:
$ find . –name “*serv*”–ls –print
寻找n天内修改过的文件(例中为一个星期):
$ find . –mtime 7 –print
查找某一类型的文件使用选项-type,比如查找目录:
$ find /export/home/test –type d
按照权限查找文件,下例中,查找权限为755的目录:
$ find . –perm 755 –type d -print
删除大小为0字节的文件,命令如下:
$ find . -size 0c -exec rm {} \;
$ find . -size 0c –ok rm {} \;
1.4.7文件压缩工具tar
将当前目录中的所有子目录和文件打包压缩成一个文件aaa.tar:$ tar cvf aaa.tar *
在当前目录中把文件aaa.tar解压缩:
$ tar xvf aaa.tar
1.5文件内容查询命令grep
用法举例:
$ grep main .c// 在当前目录中查找包含main的*.c文件$ grep –i main *.c // 同上,忽略大小写
$ grep –n main *.c // 显示行号
$ grep “aa bb” *.c // 查找的字符串中有空格时,需要用引号1.6文件内容查看和编辑
文件内容的查看可以用cat和more。

使用方法:
$ cat filea
$ more filea
在unix中,常用的编辑命令vi。

vi的两种模式:命令模式和文本输入模式,按Escape键进入命令模式,按a、i、c键进入文本输入模式。

进入vi:
$ vi filea
进入vi后处于命令模式。

在命令模式的主要操作:
获取文件信息:Ctrl-g
定位:向前翻页(Ctrl-f)、向后翻页(Ctrl-b)、定位到某一行(:n)、到当前行的某列(n|)、定位到某单词(查找方式)
进入文本编辑状态:追加(a)、插入(i)、在下一行插入空行(o)
字符操作:删除(x)、替换(r)、大小写切换(~)
字符串操作:删除(dw)、查找(/)、改变(cw)
行操作:删除n行(ndd)、修改一整行(cc)、覆盖当前行光标后的内容(R)、移动当前行(<<和>>)、合并行(J)
括号匹配:%
复制和粘贴:删除n行到缓冲区(ndd)、复制n行到缓冲区(nyy)、删除当前单词到缓冲区(dw)、复制当前单词到缓冲区(yw)、粘贴(p)
取消和重复操作:取消上一次冲突(u)、重复上次操作(.)
文件操作命令:保存文件(:w)、保存为另一个文件(:w filename)、保存文件并退出(:wq)、不保存强制退出(:q!)、在vi中装载另一个文件(:e filename)、激活vi中的下一个文件(:n)、重新装载当前文件(:e!)
vi设置:查询设置项(:set all)、显示行号(:set number)、取消显示行号(:set nonumber)、等等。

其它:启动sh(:sh,exit返回)、在vi中执行命令(:! command)
1.7重定向和管道
重定向主要是用于输入输出,举例:
$ ls –l > filea // 将ls –l的输出输出到文件filea中
$ ls –l >> filea // 将ls –l的输出追加到文件filea中
$ more < filea // 显示filea的内容
管道是用来连接多个命令,前一个命令的输出作为下一个命令的输入,举例:
$ ls –l|more
$ ps –ef|grep main
1.8网络命令
telnet
ftp
ping
1.9其它常用命令
tail –f –1 filename
passwd
kill
du –k
df –k
1.10编译程序cc
两个简单的c源文件:
hello.c
#include <stdio.h>
extern void hello_zte();
main()
{
printf("hello, world!\n");
hello_zte();
}
zte.c
#include <stdio.h>
void hello_zte()
{
printf("hello, zte!\n");
return;
}
下面编译并使之运行:
$ cc –c hello.c zte.c // 编译$ cc –o hello hello.o zte.o // 链接$ ./hello。

相关文档
最新文档