admin管理员组文章数量:1122852
Unix
转贴自 .html知识预习
经过前面的上机操作,大家对于如何使用Unix系统应该有了一定的感性认识。为了下一步更深入的了解掌握Unix系统及使用的一些技巧,这里再对相关的应知内容做一补叙与准备。
一、关于Shell
上文中曾简要介绍过的Shell,不同Shell的命令格式会略有差异,现今最常使用的Shell是C Shell(csh)和Bourne-again Shell(bash)。Shell之间可以嵌套,即在C Shell环境中,输入命令:
bash
就能进入Bourne-again Shell的使用环境。同理在Bourne-again Shell环境中,输入命令:
csh
就能进入C Shell的使用环境。大家可依据自己的使用习惯来选择相应的Shell。
二、Unix命令格式
1、Unix命令提示符
在命令行操作环境下,Unix系统会显示一提示符,提示用户可以在此提示符后输入一行命令。不同的Shell有不同的缺省提示符,如B Shell、Bourne-again Shell的缺省提示符为"$",C Shell的缺省提示符为"%"。但当以root用户登录时,系统提示符统一缺省为"#"。
2、基本命令格式
Unix命令的基本格式如下:
Command [option(s)] [argument(s)]
Unix命令由一个命令(command)和零到多个参数构成。Unix的命令区分大小写,且命令和参数之间、参数与参数之间都应用空格隔开。
三、Unix文件系统
1、Unix文件系统分类
Unix操作系统可由多个可以动态安装及拆卸的文件系统组成。Unix文件系统主要分为两大类:根文件系统和附加文件系统。根文件系统是Unix系统至少应含有的一个文件系统,它包含了构成操作系统的有关程序和目录,由“/”符号来表示。附加文件系统是除根文件系统以外的其它文件系统,它必须挂(mount)到根文件系统的某个目录下才能使用。本文中若无特别声明,则都是针对根文件系统来进行说明的。
2、Unix文件类型
在Unix中文件共分为四种:
(1)普通文件(-):又分为文本文件、二进制文件、数据文件;
(2)目录文件(d);
(3)设备文件(l);
(4)链接文件(b/c):又可分为块设备文件、字符设备文件。
普通文件中的文本文件主要包括ASCII文本文件、英文文本文件和一些可执行的脚本文件等;二进制文件主要是32位的可执行文件等;数据文件主要是系统中的应用程序运行时产生的文件。
目录文件是用来存放文件目录的。
设备文件代表着某种设备,一般放在/dev目录下。它分为块设备文件和字符设备文件,块设备文件以区块为输入输出单元,如磁盘;字符设备文件是以字符作为输入输出单元,如串口。
链接文件类似于Windows系统中的快捷方式,它指向链接文件所链接着的文件。
值得注意的是,与Windows系统不同,Unix系统中目录本身就是一个文件,另外文件类型与文件的后缀名无关。
不同类型的文件有着不同的文件类型标识(可使用“ls -l”命令来进行查看),它们使用下列符号来表示相应的文件类型:
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
l 链接文件
3、Unix目录结构
Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。
4、Unix文件名称
Unix文件名称的最大长度为256字符,其对字母大小写敏感,比如file1和File1是表示两个不同的文件。要说明的是,如果用“.”作为文件名的第一个字母,则表示此文件为隐含文件,如“.cshrc””文件(对于此文件,后文将有介绍)。
值得说明的是,当创建了一个目录或文件时所赋予它的名字并非它的全名。一个目录的全名就是它的完整路径名,而一个文件的全名应该是由根目录到该文件所在目录的这条路径上的所有目录名再加上此文件的名称组成,相互之间用“/”分隔。如有一文件resume处于目录/export/home/ray中,则该文件的全名应为:/export/home/ray/ resume。
此外,对于路径名还会有绝对路径和相对路径这样两个概念。绝对路径是指一个目录或文件的全路径名,即以根目录为起始的路径。相对路径则以用户当前工作目录为起始,它是一个相对于用户的工作目录的文件路径。由于从根目录到用户的主目录的绝对路径可能会比较复杂,在csh和bash中可以使用一种特殊字符“~”来代表用户的主目录的绝对路径名。另外,“.”可用来表示当前工作目录,“..”可用来表示当前工作目录的父目录。
说明:
工作目录是指用户当前正在其中进行操作的目录。 |
用户主目录是Unix系统管理员为每位用户分配的使用空间,该目录名与用户登陆账户同名。用户如以任何除“root”外的账户登入系统,则用户自动登入的就是该用户主目录。 |
(1)首先让我们在当前目录下创建两个目录dir1,dir2:
mkdir dir1 dir2 //输入命令后记得敲一下回车键:)
(2)进入目录dir1中创建文件file1,file2:
cd dir1 //进入目录dir1
touch file1 file2 //创建文件file1,file2
(3)再进入目录dir2中创建文件file3,file4:
cd .. //返回上一级目录
cd dir2 //进入目录dir2
touch file3 file4 //创建文件file3,file4
(4)查看目录dir2中所含的文件及子目录情况:
ls //这时会看到屏幕显示出目录dir2中有2个文件file3和file4
(5)往文件file3中写入信息,并将其拷贝到目录dir1中:
cal 5 2005 > file3 //该句命令后文会有详细讲解,此处照样输入即可
cp file3 ../dir1
(6)回到目录dir1中,查看所含的文件及子目录情况:
cd ..
cd dir1
ls //这时会看到屏幕显示出目录dir1中有3个文件file1、file2、file3
(7)再查看一下文件file3中内容,并将该文件删除:
cat file3 //这时会看到屏幕显示2005年5月份的日历
rm file3 //删除文件file3
(8)将文件file1移动到目录dir2中,同时查看目录dir1、dir2所含文件及子目录情况:
mv file1 ../dir2
ls //这时会看到屏幕显示出目录dir1中有1个文件file2
ls ../dir2 //这时会看到屏幕显示出目录dir2中有3个文件file1、file3、file4
(9)显示当前所处的路径,并删除目录dir1:
pwd
cd ..
rm –r dir1
(10)显示ls命令的系统帮助:
man ls
在进行第10步操作后,这时会觉得眼前一闪,除了有点类似“黑客帝国”的感觉之外,对于ls的解释是否啥也没看清楚啊?对了,因为我们还没有使用分屏显示信息,那使用如下的命令将会让你的眼前豁然明朗:
man ls | more //对于| more的使用后文将会进行详细解释,这里只需知
//道使用空格键是往前翻看帮助文档即可
一、文件系统的相关命令 佛教《百喻经》中有一则三重楼的喻里,说有一个财主,见到他的邻居盖房子,三层楼盖得很漂亮,他也要盖这样的三层楼房子。见工匠在做地基,他就说不要地基,要直接盖第三层楼,因为第三层最高最漂亮。我们都会觉得这个财主很可笑,但在学习知识的过程中,我们可别老想着第三层而忽视打好地基噢! 文件系统相关的命令是操作Unix系统的基础,在《 Unix操作系统的入门与基础 》一文中我们曾使用过其中的部分命令,下面就再来仔细学习这些命令的使用,继续打好今后盖“三层楼”的“地基”吧。 (一)目录管理 我们可以通过使用mkdir、rmdir与cd命令来创建、删除目录以及改变工作目录,并通过ls命令列表显示目录内容,以达到对目录的有效管理。 (1)mkdir命令的功能是创建目录,并且可同时创建多个目录,格式如下: mkdir [-p] directory-name(s) 参数p代表在建立指定目录时,如果其父目录不存在,则一同创建。 [例] mkdir dir1 dir2 dir3 //在当前目录下建立目录dir1、dir2、dir3 mkdir dir1/dir4 //在当前目录下的dir1子目录中创建目录dir4 mkdir –p dir6/dir7 //在当前目录下,由于不存在dir6目录,则先自动创建目录dir6, //然后创建其子目录dir7 (2)rmdir命令的功能是删除目录,但其只能删除空目录(即目录中不包含文件),故此命令一般较少使用,在后文中会介绍一个更为常用的删除目录命令。rmdir命令的格式如下: rmdir directory-name(s) (3)在进行处理文件等的操作过程中难免需要在不同的目录下工作,这时cd命令就能派上用场了。cd命令的功能是改变当前的工作目录,它的命令格式如下: cd [directory-name] cd后面的目录可以是绝对路径,也可以是相对路径。如果cd后面不跟路径名,则是回到用户的主目录。如果大家对此处的一些概念不甚熟悉的话,请参见《 Unix操作系统的入门与基础 》文中的介绍,此处就不再赘述了。下面来看几个例子: cd dir1 //进入当前目录中的dir1子目录 cd .. //进入上级目录,即把工作目录改变成当前目录的父目录 cd ../zcl //回到父目录,同时再进入zcl子目录中 (注:上述三个命令的路径都为相对路径) cd /home/anray //把工作目录改变成根目录中的home目录下的anray子目录 (注:此处路径为绝对路径) 此外,使用pwd 命令可以查看当前的工作目录,它显示的是当前工作目录所处的绝对路径。 (4)ls命令的功能是列表显示指定目录中文件及子目录的信息(其实在Unix系统中目录本身也被视为一个文件,但是为了照顾习惯的思维,在叙述时仍然将其区分为文件与目录两类),缺省输出顺序为纵向按字符顺序排列。它常用的命令格式如下: ls [-altFR] [directory-name] 参数a代表显示所有类型的文件,包括文件名以“.”为第一个字符的隐藏文件。参数t代表按文件最后修改时间的顺序依次排列文件,参数R将会列出指定目录下以及其所有子目录中的文件,使用参数F将会在列表中的每一个目录后面加上“/”,在每个可执行文件后面加上“*”。参数l代表长列表显示目录内容,即列出文件的类型、访问权限、拥有者、文件大小、修改时间及名称等详细信息。下面将介绍一下长列表显示中的信息的含义,“ls –l”命令的使用如下图所示。 在上图长列表显示文件信息的每一行中,
第一列 | 第1个字符表示文件的类型; 第2-4个字符表示文件所有者对此文件的访问权限; 第5-7个字符表示用户组对此文件的访问权限; 第8-10个字符表示其他用户对此文件的访问权限; |
第二列 | 文件的链接数 |
第三列 | 文件的所有者 |
第四列 | 文件的用户组名 |
第五列 | 文件所占的字节数 |
第六至八列 | 文件上一次的修改时间 |
第九列 | 文件名 |
注:此表格中的一些概念在下文会有详细介绍,这里只需先了解一下即可 |
权限 | 普通文件的权限 | 目录的权限 |
r | 读取文件内容 | 读取文件名称 |
w | 向文件写入信息 | 建立和删除文件,可以改变文件名等 |
x | 执行文件 | 使用该目录中的文件 |
所有者 | 用户组 | 其他用户 | |
权限 | rw- | r-- | r-- |
含义 | 可读、可写、不可执行 | 可读、不可写、不可执行 | 可读、不可写、不可执行 |
u | 文件所有者 |
g | 用户组 |
o | 其他用户 |
a | 所有用户 |
+ | 表示要增加permission指定的权限 |
- | 表示要取消permission指定的权限 |
= | 设置为permission指定的权限,并取消原设置权限 |
r | 表示可读 |
w | 表示可写 |
x | 表示可执行 |
Value | permission |
7 | r w x |
6 | r w - |
5 | r – x |
4 | r - - |
3 | - w x |
2 | - w - |
1 | - - x |
0 | - - - |
// 录 /export/home/anray下 2、复制文件(或目录) 利用cp命令可以将一个文件(或目录)从一个目录复制到另一个目录中,命令格式如下: cp [-i] source-file(s) destination-directory 或 cp –r[i] source-directory(s) destination-directory 参数i代表在将文件复制到指定目录中时,若已存在同名文件,则将询问是否覆盖已存在的文件,输入y则覆盖,输入其他字符则中止复制,保留原文件。当复制文件到指定目录,或许会期望赋予此复制的文件不同于源文件的文件名,则只需将新文件名放在目标目录名之后,用“/”隔开即可。当需要将一个目录连同它的所有子目录一起复制到目标目录中时,可使用参数r。 [例] cp beans apple //将文件beans复制到同目录下并改文件名为apple cp beans apple dir1 //同时复制两个文件beans与apple到当前目录下的子目录dir1中 cp apple dir2/orange //将文件apple复制到当前目录下的子目录dir2中,并改名为orange cp -r dir1 dir2 //将目录dir1中的所有文件以及其所有子目录复制到目录dir2中 (五)其它常用命令 1、man命令 man命令用于查看帮助信息,常用的命令格式有: man name 或 man –k keyword [例] man //查看man的使用方法 man ls //查看ls命令的帮助信息 在查看帮助信息过程中,按回车键则会下滚一行,按空格键则会下翻一屏,按“b”字母键可以返回上一屏,使用“/”加上字符串可以查找指定字符串的内容信息,找到后可以按“n”字母键继续搜索下一个符合要求的内容信息,按“q”字母键则可退出并返回Shell命令提示符状态。 2、clear命令 clear命令的功能是清理屏幕,每次操作Unix系统时间长了,屏幕上的信息难免显得有些凌乱,这时clear一下是不是觉得眼前一下子“清静”了许多:) 3、date命令 date命令的功能是显示系统时间,并可修改系统时间。date命令的格式如下: date [mmddhhmm[yy]]
date命令后若无参数,则会显示系统当前的默认时间。若要修改系统时间,则输入参数的顺序依次为“月日时分年”。如要将当前系统时间修改为2005年10月1日0时0分,则可使用如下命令: date 1001000005 4、cal命令 cal命令的功能是显示日历。 [例1] 要查看2005年的全年日历: cal 2005 [例2] 要查看2005年5月份的日历: cal 5 2005 二、特殊字符的使用 先说一个事例:一次有位朋友问我有没有办法把某英语辅导软件中加密的数据搞到手,我想也没想,立刻翻箱倒柜去找出各种解密工具。大半个小时后,正在我毫无头绪之际,这位朋友跑来说自己已搞掂了这个软件的使用授权。问他,说只是给软件作者打了个电话。由此想到Unix中的一些特殊字符,往往平时操作中不曾想到去用它,而是墨守成规地进行自己所熟悉的步骤,实际上是在用那些老笨的方法。如能想到并熟知Unix中特殊字符的功能及使用技巧,就会像我这位聪明的朋友一样取得事半功倍的效果。 (一)通配符的使用 文件名是命令中最常见的参数,大家可能经常会碰到这样的情况,就是仅知道文件名的一部分,或者是想同时引用多个具有相同扩展名或以相同字符串开头的文件。Shell中提供了一套被称作通配符的符号,它们能搜索、匹配并产生一个文件名列表,通配符包括“*”、“?”、“[]”。用户执行以包含通配符的文件名为参数的命令之后,Shell会自动去搜索匹配文件并返回所发现的一个文件名列表,然后Shell就会用这些文件名作为命令的参数了。 星号“*”用于指代以特定字符串开始或结束的文件名,问号“?”代表文件名称中的单一字符,即“*”可替代文件名中任意长度的字符串,而“?”只能替代一个字符。方括号“[]” 的作用是使用户确定所需搜索的有效字符集,任何在“[]”里的字符都将被匹配。此外,在“[]”中可使用“-”来指定一个字符集范围,这样就不必手动的一个个列出来了。 请看下面的例子: 假设当前目录下有8个文件doc1,doc2,doc3,docA,docB,docC,docD,document,分别对其进行如下操作: ls doc* //显示出doc1,doc2,doc3,docA,docB,docC,docD,document ls doc? // 显示出doc1,doc2,doc3,docA,docB,docC,docD ls doc[13AD] // 显示出doc1,doc3,docA,docD ls doc[A-C] // 显示出docA,docB,docC ls doc[1-8] // 显示出doc1,doc2,doc3 (二)命令分隔符“;”的使用 有时某些用户可能想在一行中运行多个命令,那么可以在这一行中输入多个命令,命令间用“;”相隔,如: mkdir tmp; cp file1 tmp/file2; ls -l tmp Unix会顺序执行以上三条命令,要注意的是在命令间使用分隔符“;”,只代表命令执行的先后顺序。 (三)重定向符的使用 用户欲执行一个命令,当然是要先输入此命令,系统默认的标准输入设备是键盘,而执行命令后的结果通常显示在系统默认的标准输出设备显示器上。但是,Unix系统具有重定向功能,即将标准输出重定向则可将命令的处理结果存入指定的文件,而非显示在屏幕上;将标准输入重定向则可把指定的数据文件作为输入源,而非从键盘输入数据。 重定向符如下:
< | 从一个文件或设备重定向输入 |
> | 重定向输出到一个文件或设备,如文件不存在则创建该文件,如文件已存在则覆盖该文件 |
>> | 重定向输出到一个文件或设备,并将输出信息追加到已存在文件的尾部 |
三、与查找比较相关的命令 使用Windows系统的用户可能都有这样的经历,在网上看到可悠长品赏的电影,down;看到匠心独运的电子书,down;看到妙织锦绣的文章,down;看到衔华佩实的资料,down。但时间一长,想再回顾一下《星战前传3:西斯的反击》中奥比旺和阿纳金在熔岩横流的穆斯塔法星上展开光剑对决的精彩片段,或者是重温一下李开复先生给中国学生第四封信中所提出在大学校园应当掌握的“七项学习”,可能自己都记不清当时是放在哪个目录里了。幸好,Windows为我们提供了“搜索”功能,再加上现今Google、百度相继推出的Google 桌面搜索、百度硬盘搜索,才使得这些文件幸免于藏身深宫大院之中,茕茕孑立、形影相吊的命运。那么在Unix系统中的文件又是怎样的命运呢?且看以下的命令功能: (一)利用find命令查找文件 find命令的功能是在指定目录及其子目录下查找符合条件的文件,命令格式如下: find path expression 参数path指欲开始查找的起始目录,find会遍寻此目录以及其子目录,并且此参数可以有多个目录名称,只要在目录与目录之间用空格分开即可。参数expression指明了诸如基于文件名、文件类型、文件所有者、最后一次修改时间等的查找规则,find命令将遵循此查找规则来查询指定目录以及子目录中的文件。 常用的查找规则如下:
-name filename | 指定要寻找的文件或目录名称 |
将搜索到的符合条件结果以包含路径名的方式输出 | |
-type x | 以文件类型作为寻找条件,常用的文件类型x如下: d --- 目录文件, f --- 普通文件, b --- 块设备文件, c --- 字符设备文件, l --- 链接文件 |
-user user | 寻找用户user所拥有的文件,user可为用户名或uid号 |
-atime n | 寻找n天之前曾被访问过的文件 |
-mtime n | 寻找n天之前曾被修改过的文件 |
-exec command {}/; | 用寻找到的文件作为执行command的对象,{}中保存执行command时所需的参数,注意必须以 /; 为结束 |
当用户想把已归档的文件复原,则可使用如下的命令格式: tar xvf filename.tar (二)文件压缩命令 为了避免文件占用太多的磁盘空间,用户会选择将文件压缩存放。通常压缩会和归档组合使用,使用户能够对整个目录以及目录中的文件同时进行压缩。对许多Windows用户来说,使用Winzip、Winrar等工具软件来压缩或解压文件是很平常的事,那么如何在Unix系统中对文件进行压缩与解压呢?下面介绍Unix系统中常用的三种压缩类型以及解压缩命令。 1、使用gzip/gunzip 命令解压缩文件 使用gzip命令压缩后的文件名称为“原文件名.gz”,它对应的解压命令是gunzip。命令格式如下: gzip filename gunzip filename.gz 如:要largefile.tar文件压缩成为largefile.tar.gz,则可以使用如下命令 gzip largefile.tar 如果要把largefile.tar.gz解压,则只需使用命令gunzip largefile.tar.gz即可。 2、使用compress/ uncompress命令解压缩文件 凡是经过compress命令压缩处理的文件,会在文件名后附加上“.Z”,它对应的解压命令是uncompress。命令格式如下: compress filename
uncompress filename.Z 3、使用pack/unpack命令解压缩文件 凡是经过pack命令压缩处理的文件,会在文件名后附加上“.z”,它对应的解压命令是unpack。命令格式如下: pack –f filename
unpack filename.z
五、进程管理与控制命令 “进程”顾名思义就是“正在进行着的程序”,在Unix系统中一个进程可视为一项正在执行的任务,这样一个命令也就是一个进程了。Unix系统具有检查和控制进程的相关命令,它们常被用于管理Unix系统。事实上,进程不仅包括用户所执行的命令,也包括了维持Unix系统正常运行的所有程序,且每一进程都有其唯一的代号,即进程标识符。 要想查看系统当前正在运行的进程信息,可使用命令: ps [-options] //无参数时只显示当前用户在当前窗口中所运行的进程 //如果系统提示ps为非法命令,则在csh中可使用/usr/bin/ps, //bash中可使用/usr/ucb/ps来替代ps
参数 | 解释 |
-e | 列出所有正在运行的进程 |
-f | 长列表显示进程的细节信息,一般与e一起使用 |
-u 用户名 | 显示指定用户正在运行的进程 |
fg %n | 将某一作业放入前台运行(n代表作业号,下同) |
bg %n | 将某一作业放入后台运行 |
stop %n | 挂起后台某一作业 |
kill %n | 终止某一指定的作业 |
Ctrl + z | 挂起前台正在运行的作业 |
Ctrl + d | 正常的结束前台作业,即先执行完该进程后结束 |
Ctrl + c | 终止前台作业(非正常方式) |
六、网络通信相关命令 “功能性文盲”的概念是1965年联合国教科文组织在伊朗德黑兰召开的各国教育部长会议上首次提出的,它最初的含义是指未能获得读、写及计算能力的人。时至今日,此概念的内涵已经发生了很大的变化。读——不仅要读印刷的文本,而如何快捷、有效地读取互联网上丰富的信息资源已成了现代人必备的才能;写——不仅是以往习惯的“爬格子”,而且会借用计算机的“神手”,更要将自己的所思所想写在网上,与全世界的人进行交流和互助;算——不仅需要核算物质成本和产出,而且要节约时间与精力,把握生命的张弛节律,将积极有效的精力投到最有意义的活动中去。 对于现代人来说,若离开了网络,那就真要返回到“功能性文盲”状态了。当然,Unix系统也离不开网络,它的缺省网络协议即为当今网络架构基础的TCP/IP协议。TCP/IP协议由一系列协议组成,统称TCP/IP协议族。TCP/IP协议是TCP/IP协议族中的基本协议,协议族常用协议有: (1)传输控制协议/互联网络协议(TCP/IP - Transmission Control Protocol/Internet Protocol)是协议族的基本协议。 (2)用户数据报协议(UDP - User Datagram Protocol)提供无连接的传输层协议,不保证传输的可靠性。 (3)远程登录协议(telnet)定义了远程登录的标准。 (4)文件传输协议(FTP - File Transfer Protocol)定义了不同系统间进行文件拷贝的标准。 下面再介绍基于TCP/IP协议族的Unix系统的相关命令。 1、Telnet命令 前文中我们曾经使用过telnet命令,该命令的主要功能是在用户使用的本地计算机上通过网络登陆远程Unix主机,把本地计算机当成远程主机的一个仿真终端,而此处的网络可以是任何采用了TCP/IP协议的网络,如LAN、WAN、Internet等。在本地计算机上运行的telnet或下文将要介绍的ftp程序,实际上都是telnet/ftp的客户端程序,它通过TCP/IP协议与远程主机中的服务端程序相连。当用户利用telnet完成与远程Unix主机的连接后,就能像是在Unix主机终端上操作一样了,不过此时用户所能使用的功能和资源将取决于该系统所赋予用户的使用权限。 telnet的命令格式如下: telnet IP地址或域名 [端口号] 此处的IP地址或域名是指远程Unix主机的IP地址或域名。当建立连接之后,将会出现信息提示用户输入登陆的用户名及口令,正确输入后就可以进入Unix系统了。 2、FTP命令 FTP的主要功能是实现本地计算机与远程主机之间的文件传输,它可以将远程Unix系统上的一个或多个文件下载到本地计算机,也可以将本地计算机上的一个或多个文件上传到远程Unix系统上。 FTP的命令格式如下: ftp IP地址或域名 此处的IP地址或域名是指远程Unix主机的IP地址或域名。当建立连接之后,将会出现信息提示用户输入登陆的用户名及口令,正确输入后就会出现ftp提示符“ftp>”,我们就可以在此提示符后输入ftp命令进行相关的操作了。 FTP的常用命令及解释列表如下:
ftp命令 | 解释 |
bin | 设定以二进制模式传输文件 |
asc | 设定以ASCII模式传输文件(缺省值) |
pwd | 列出当前所处的远程主机目录 |
cd [directory] | 改变所处的远程目录 |
ls | 显示所处的远程目录的内容 |
lcd [directory] | 设定本地欲上传或下载文件的目录 |
put file | 将本地计算机中的文件上传到远程主机上 |
get file | 将远程主机中的文件下载到本地计算机上 |
mput files | 将本地计算机中的多个文件上传到远程主机上 |
mget files | 将远程主机中的多个文件下载到本地计算机上 |
bye | 退出ftp |
Password:
(输入Unix用户名及口令) ftp> asc ftp> lcd /home/zcl ftp> cd /newusers/zcl ftp> put Calculator.java ftp> bin ftp> lcd /home/zcl/down ftp> mget * ftp> bye 说明: 当我们使用ftp时,可简单地把文件分为两种基本类型:文本文件和二进制文件。文本文件也称为ASCII文件,其文件内容遵循ASCII的定义,其主要特征是文件内容由若干行组成,可以使用操作系统的显示、编辑命令来显示和编辑ASCII文件的内容,它使用的传输模式是“asc”。二进制文件(Binary File)是指除ASCII文件以外的所有文件格式,它使用的传输模式是“bin”。需要注意的是,可以将ASCII文件按二进制模式传输,但决不能将二进制文件按ASCII模式传输,否则二进制文件的内容会遭到破坏而无法使用。 3、用户间通讯命令 对于QQ、MSN这类聊天工具,大家应该是再熟悉不过了,那么在Unix系统中能否进行此类的聊天操作呢?答案当然是肯定的。Unix提供了多种方式让用户相互通信,它允许以文本的方式给某个用户或所有用户传递信息,而信息来源可以是文本文件或直接由键盘输入的内容。 (1)使用write发送消息 使用write命令可以向任何已登录同一系统的另一位用户发送消息,这时在对方用户终端上就会自动显示出信息,而对方也同样可以使用write 命令来回复消息,这样双方之间就能互相通信了。 write命令的格式如下: write user-name 此处user-name是将要与之通信的用户名,可以使用who 命令来查看系统中已登陆的用户名。输入write命令后,即可进入发送消息状态,这时就可以通过键盘输入消息,回车即可向对方发送此条消息了。要想退出发送消息状态,可以使用“Ctrl + d”退出write 命令回到shell。 (2)使用talk进行双方对话 talk命令允许双方实现类似于MSN、QQ这样的实时对话,其命令格式如下: talk user-name 当用户向另一用户发送对话请求,只有在对方同意接受对话请求,即对方也使用talk命令后,双方的对话才会建立。这时双方终端上都会显示“[connect established]”,这样双方就可以从键盘输入文字,talk会把这些输入显示在对方的屏幕上,若任意一方按<Delete>键就会退出对话状态。 (3)使用wall进行广播式消息传送 使用wall命令可以向所有用户广播通知信息,而所有登录系统的用户都可收到该消息。wall命令有以下几种格式: wall wall filename wall “send a message to all the people!” (4)使用mesg允许或拒绝接收消息 当一位用户正在全身心的投入某项工作的时候,可能会不想被另外一位用户用上述方式突然发送来的消息打断思路,那么就可使用mesg命令来设置是否允许接收由其它用户发来的信息。mesg命令的格式如下: mesg –n 或 mesg -y 其中,y表示允许接收信息,n 表示拒绝接收信息。如果mesg后面没有跟参数,则报告当前的许可状态。 4 、其它命令 (1)查看网上用户信息 使用finger命令可以显示当前正在使用Unix系统的所有用户信息,它的命令格式如下: finger [用户名][@主机域名或ip地址] 如: finger //显示当前正在使用Unix系统的所有用户信息 finger anray@198.4.30.25 //查看主机198.4.30.26上用户anray的信息 此外,常用的显示当前系统登陆用户信息的命令还有: who //可查看每个登陆用户的IP地址 w //可查看每个登陆用户的当前行为 who am i //查看使用者自己的信息 (2)查看网络的相关信息 hostname //显示主机名 cat /etc/hostname.hme0 //显示主机名 cat /etc/hosts //查看同一网段中存在的所有主机 cat /etc/services //查看当前系统所运行的所有程序的端口 ping 主机IP地址 //检测是否可以访问某个主机 netstat //列出系统中所有的网络连接 /usr/sbin/traceroute 主机IP地址 //显示从本地到目标IP所经过的所有路由器
七、文本编辑器 vi 的使用简介 古希腊克里特岛迷宫里有一个牛头人身的怪物米诺陶洛斯,如果不是美女公主阿里阿德涅赠送给英雄忒修斯一把魔剑,英勇的忒修斯还真奈何不了这牛头人身的怪物。 vi编辑器就是Unix系统赋予我们的魔剑,它是一款强有力的文本文件编辑工具。对初学者而言,常因其特殊的使用方法,而不得径门而入;对已经在使用 vi 的操作者来说,也常因对 vi 的不够熟悉与了解,而无法发挥出 vi 强大的编辑能力。以下将介绍vi 的基本使用方法。 vi 提供了两种操作模式:文本输入模式和命令模式,前者用于文本输入,后者用于输入控制指令。要启动vi进行文本操作,用户可在Shell提示符后输入如下命令: vi 文件名 如果该名称的文件不存在,则系统会自动创建该文件。用户进入vi编辑器后,便自动处于命令模式,此时键入的任何字符皆被视为指令。此模式下可对文本进行删除、替换、拷贝、移动等操作,而对文本进行操作的前提是输入文本,那就先让我们进入输入模式吧。文本输入模式的进入,有以下的指令可供使用:
a | 将在光标所在位置之后插入文本 |
A | 将在光标所在行末插入文本 |
i | 将在光标所在位置之前插入文本 |
I | 将在光标所在行的第一个非空字符前插入文本 |
o | 将在光标所在行的下一行开始插入文本 |
O | 将在光标所在行的上一行开始插入文本 |
k | 上移一个字符 |
j | 下移一个字符 |
h | 左移一个字符 |
l | 右移一个字符 |
行号G | 光标移到该指点行(如1G表示光标移到第一行) |
G | 光标移到文件结尾 |
x | 删除光标所在字符 |
X | 删除光标所在的前一字符 |
s | 删除光标所在的字符,并进入输入模式 |
dd | 删除光标所在行 |
nd | 删除编辑器第n行的所有字符(n代表具体数字,下同) |
ndd | 删除从光标所在行开始往下的n行 |
:n,md | 删除从指定的n到m行之间的所有字符(如::5,10d 将会删除编辑器中从第5行开始至第10行的内容) |
D | 删除光标所在处到行尾的字符 |
r | 用跟在此指令之后的字符替换光标所在的字符(如:ra 是以 a 替换光标所在的字符) |
C | 替换从光标到行尾的内容 |
cc | 替换整行的内容 |
yw | 拷贝当前光标所在处的词 |
yy | 拷贝当前光标所在行的所有字符 |
P | 在光标所在行的下一行粘贴 |
:i,jcok | 将第i行至第j行之间的文本拷贝到第k行之后(此处i、j、k分别代表不同的数字) |
:i,jmok | 将第i行至第j行之间的文本移动到第k行之后(此处i、j、k分别代表不同的数字) |
:w | 存盘 |
:w newfile | 存盘成新的文件 |
:wq | 存盘并退出vi |
:q | 退出vi,若文件被修改过,则会被要求确认是否放弃修改的内容。 |
:q! | 不存盘并强行退出vi |
~ | 改变大小写 |
u | 取消上次操作,即复原执行上一指令前的内容 |
/字符串 | 从当前行往下查找指定的字符串 |
n | 往下继续查找下一个指定的字符串 |
?字符串 | 从当前行往上查找指定的字符串 |
N | 往上继续查找下一个指定的字符串 |
:r file | 将某文件的内容插入到光标位置 |
J | 将光标所在行与其下一行连接起来,即下一行文本移动至光标所在行的末尾 |
:set nu | 让编辑器自动显示出每一行的行号 |
:set nonu | 取消显示每行前的行号 |
各字段取值举例 | 说明 |
* | 表示任何时间 |
1,3,4 | 表示离散数字,即一系列点值 |
1-5 | 表示从1到5,即一范围 |
crontab命令举例 | 说明 |
crontab -l | 显示计划任务文件的内容 |
crontab –e | 编辑计划任务文件的内容 |
crontab myfile | 用myfile文件内容覆盖原计划任务文件内容 |
crontab -r | 删除现有的计划任务文件 |
本文标签: Unix
版权声明:本文标题:Unix 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1686785780a36539.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论