红联Linux门户
Linux帮助

命令行操作

发布时间:2005-05-10 00:18:32来源:红联作者:chentong
对桌面版是个很好的参考
熟悉在命令行界面下工作对使用和管理 Linux 操作系统具有很大的意义,本章介绍在Red Flag Server 4.1 系统中进行 shell 操作的知识。

1.1 基础知识
以下关于 Linux shell 及文件和目录的知识是学习本章的基础。

1.1.1 文件命名
Linux 下文件名的最大长度可以是256个字符,通常由字母、数字、“.”(点号)、“_”(下划线)和“-”(减号)组成。文件名中不能含有“/”符号,因为“/”在 Linux 目录树中表示根目录或路径中的分隔符(如同 DOS 中的“\”)。
Linux 系统中支持文件名中的通配符,具体如下:
星号(*):匹配零个或多个字符;
问号(?):匹配任何一个字符;
[ab1 A-F]:匹配任何一个列举在集合中的字符。本例中,该集合是a、b、1或任何一个从A到F的大写字符;

1.1.2 路径
操作系统查找文件所经过的路径称为路径名。使用当前目录下的文件时可以直接引用文件名;如果要使用其他目录下的文件,就必须指明该文件在哪个目录之中。
按查找文件的起点不同可以分为两种路径:绝对路径 和 相对路径。从根目录开始的路径称为绝对路径,从当前所在目录开始的路径称为相对路径,相对路径是随着用户工作目录的变化而改变的。
与 DOS 相同,每个目录下都有代表当前目录的“.”文件和代表当前目录父目录的“..”文件,相对路径名一般就是从“..”开始的。
在 Linux 目录树中,表示根目录或是路径中的分隔符是“/”。

1.1.3 文件类型
Red Flag Server 4.1 系统支持以下文件类型:普通文件、目录文件、设备文件以及符号链接文件。
普通文件: 包括文本文件、数据文件、可执行的二进制程序等。
目录文件: 简称目录,Linux 中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件,“..”表示上一级目录,“.”表示该目录本身。
设备文件: 设备文件是一种特别文件,Linux 系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件:字符设备和块设备。
符号链接: 一种特殊文件,它们存放的数据是文件系统中通向某个文件的路径。当使用符号链接文件时,系统自动地访问所保存的这个路径。

1.1.4 目录结构
通过对系统目录组织结构的了解,可以在进行文件操作和系统管理时方便地知道所要的东西在什么地方。
Red Flag Server 4.1 的文件系统采用分层的树形目录结构。即:在一个根目录(通常用“/”表示),含有多个下级子目录或文件;子目录中又可含有更下级的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。树中的“根”与“杈”代表的是目录或称为文件夹,而“叶子”则是一个个的文件。
下面列出了主要的系统目录及其简单描述:
/bin: 存放普通用户可以使用的命令文件。目录 /usr/bin 也可用来贮存用户命令。
/sbin: 一般存放非普通用户使用的命令(有时普通用户也可能会用到)。目录 /usr/sbin 中也包括了许多系统命令。
/etc: 系统的配置文件。
/root: 系统管理员(root或超级用户)的主目录。
/usr: 包括与系统用户直接相关的文件和目录,一些主要的应用程序也保存在该目录下。
/home: 用户主目录的位置,保存了用户文件(用户自己的配置文件,文档,数据等)。
/dev: 设备文件。在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。
/mnt: 文件系统挂载点。一般用于安装移动介质?其它文件系统(如DOS)的分区、网络共享文件系统或任何可安装文件系统。
/lib: 包含许多由 /bin 和 /sbin 中的程序使用的共享库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
/boot: 包括内核和其它系统启动时使用的文件。
/var: 包含一些经常改变的文件。例如假脱机(spool)目录?文件日志目录?锁文件?临时文件等等。
/proc: 操作系统的内存映像文件系统,是一个虚拟的文件系统(没有占用磁盘空间)。当您查看它们时,看到的是内存里的信息,这些文件有助于了解系统内部信息。
/initrd: 在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。
/opt: 存放可选择安装的文件和程序。主要由第三方开发者用于安装和卸装他们的软件包。
/tmp: 用户和程序的临时目录,该目录中的文件被系统自动清空。
/lost+found: 在系统修复过程中恢复的文件。

1.1.5 Shell 简介
用户在命令行下工作时,不是直接同操作系统内核打交道,而是由命令解释器接受命令,分析后再传给相关的程序。进入 Red Flag Server 4.1 环境时系统将自动启动相应的 shell,shell 是一种命令行解释程序,它提供用户与操作系统之间的接口。Red Flag Server 4.1 下默认的 shell 是 bash。
bash 命令的基本格式如下:
命令名 [选项] [参数1] [参数2]…
其中方括号括起的部分表明该项对命令而言是可选的。
[选项] :对命令有特别定义,一般以“-”开始,多个选项可用一个“-”连起来,如 ls -l -a 与 ls -la 相同。
[参数] :提供命令运行的信息,或者是命令执行过程中所使用的文件名。
输入用户名、口令与文件名、命令名时,一定要区分大小写,因为大小写字母在 Linux 系统中代表不同的含义。
在命令、选项和参数之间要用空格隔开。连续的空格会被 shell 解释为单个空格。

键入命令
在 shell 提示符下输入相应的命令,然后按回车键确认,shell 会读取该命令并执行。如果系统找不到输入的命令,会显示:“Command not Found”,这时需要检查键入命令的拼写及大小写是否正确。
使用分号(;)可以将两个命令隔开,这样可以实现在一行中输入多个命令。命令的执行顺序和输入的顺序相同。

命令补齐
当要输入的命令目录很深或命令中的文件名很长时,只要按一下 键,系统会在可能的命令或文件名中找到相匹配的项,自动帮您补齐。如果有一个以上的文件符合输入的字符串,不能补齐时,可以按两下 键,系统将把所有符合的文件名列出来。

历史记录
shell 会把过去输入过的命令记忆下来,只要按上下方向键,就可以选择以前输入过的命令了。
有了以上基础,可以运行下面列出的几个简单命令来实际使用一下:
clear:刷新屏幕;
date:在屏幕上显示日期和时间;
echo:将命令行中的内容回显到标准输出上。
cal:显示月份和日历。

1.1.6 系统帮助
Red Flag Server 4.1 具有强大的系统和网络功能,数量众多的实用工具软件和大量复杂的操作命令。为了帮助用户顺利进行操作,系统提供了多种多样的联机帮助信息以便用户随时查询。

联机手册
通过 man 命令使用联机用户手册,系统可以显示任何命令的联机帮助信息。它将命令名称作为参数,该命令的语法格式为:
man command
以下是常用的 Linux 系统帮助手册的章节分类,它位于 /usr/man 目录下:
例如,下面的命令行将显示 cal 命令的手册页:
$ man cal
使用命令 “man man” 会显示出 man 命令本身的使用方法。
在所查询的命令后加 help 参数的方式,也可以显示出命令的参考信息。
用 help command 可列出许多内部命令的帮助。
whatis 命令可以通过命令名查找简要的帮助信息,命令语法为:whatis keyword。

1.2 目录操作命令

1.2.1 查看目录
查看目录内容的命令是 ls,它默认显示当前目录的内容,可以在命令行参数的位置给出一个或多个目录名,从而可以查看这些目录。命令的语法格式为:
ls [选项]…[文件名]…
ls命令有多个命令行选项,如:
-a: 列出所有文件,包括那些以“.”开头的文件;
-d: 如果后面接的是一个目录,那么使用该参数只输出该目录的名称;
-l: 使用长格式显示文件条目,包括连接数目、所有者、大小、最后修改时间、权限等;
-t: 按文件修改时间进行排序,而不是使用文件名排序;
-C: 按列纵向对文件名排序;
-F: 在文件名后加上一个符号来表示文件类型;
-Cx: 按行跨页对文件名排序;
-CF: 按列列出目录中的文件名,该命令在文件名之后附加一个字符用来区分目录和文件的类型;
----目录文件名之后附加一个斜线(/)
----可执行文件名之后附加一个星号(*)
----符号链接文件之后附加一个@字符
----普通文件名之后不加任何字符
-CR: 按多栏格式显示当前目录中的所有文件以及沿目录树向下各个子目录的所有文件,也称作递归列表。该命令可以区分目录和可执行的文件,即在文件名之后附加一个字符。

1.2.2 改变工作目录
进入一个目录,或者说改变当前工作目录使用 cd 命令,其命令的语法格式为:
cd 目录名
cd 命令带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名)。
利用点点(..)把工作目录向上移动一级目录:cd . .
为了从系统中的任何地方返回到用户主目录,可以使用不带任何参数的 cd 命令。

1.2.3 创建目录
使用 mkdir 命令创建一个目录或多个目录,以便有效地组织自己的文件。其命令的语法格式为:
mkdir [选项] 目录名 [目录名…]
同一子目录应包含类似的文件。例如,应建立一个子目录,包含所有的数据库文件;另一个子目
录包含电子表格文件;还有一个子目录用来保存某项目相关文件。
-p 选项:同时创建目录和它的子目录。
mkdir -p 目录名/子目录名

1.2.4 删除目录
当目录不再被使用,或者磁盘空间已达到使用限定值,就需要从文件系统中删除失去使用价值的目录。
利用 rmdir 命令从目录中删除一个或多个空的子目录,语法格式如下:
rmdir [选项] 目录名 [目录名…]
子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须已清空。如果该目录中仍有其它文件,那么就不能用 rmdir 命令把它删除。
当前的工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
-p 选项:递归地删除指定的目录及其子目录。即:如果指定的目录有子目录,就先删除其子目录,然后删除该目录。
-r 选项:递归地删除目录中的所有文件和该目录本身。详见1.3.5节有关删除文件命令的介绍。

1.2.5 显示当前目录
在具体操作时,很多时候可能会记不清自己当前所在的目录,命令 pwd 可以显示用户当前在目
录树中的位置。如:
# pwd
# /usr/local/rfinput/bin
系统给出的信息表示用户当前所在的目录是 /usr/local/rfinput/bin。

1.3 文件操作命令

1.3.1 显示文本文件
文本文件是由可打印字符和控制字符(如制表符和换行符)组成的。有几个命令可以显示文本文件。
cat 命令
cat命令的一般语法是:
cat [选项] 文件名 [文件名…]
该命令运行后,指定文件的内容就在标准输出(通常是屏幕)上显示出来。如果文件的内容很长,在一个屏幕中显示不下,就会出现屏幕滚动,为了控制滚屏,可以按 组合键,停止滚屏;按 可以恢复滚屏。
其中选项及其意义如下:
-v: 用一种特殊形式显示控制字符,除去LFO与TAB
-n: 显示输出行的编号
-b: 显示非空输出行的编号

head 命令
其命令语法如下:
head [显示行数] 文件名 [文件名…]
head命令在屏幕上显示指定文件最前面的若干行,行数由“显示行数”确定,默认值是10。

tail 命令
其命令的语法如下:
tail [显示行数] 文件名 [文件名…]
tail [+n] 文件名 [文件名…]
在屏幕上显示指定文件末尾的若干行,行数由“显示行数”确定;或者从指定行号开始显示,直至该文件的末尾。

more 命令
more命令显示文件内容,每次显示一屏。其语法是:
more [选项] 文件名 [文件名]
可在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。
可以用几种不同的方法对提示做出回答:
----按 键,显示文本的下一屏内容。
----按 键,只显示文本的下一行内容。
----按斜线符(/),接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
----按 h 键,显示帮助屏,该屏上有相关的帮助信息。
----按 b 键,显示上一屏内容。
----按 q 键,退出 more 命令。
文章评论

共有 4 条评论

  1. artiomgy 于 2005-09-25 00:21:57发表:

    不错,是好文呀

  2. 新新 于 2005-07-19 00:14:19发表:

    支持,顶

  3. chentong 于 2005-05-10 00:19:30发表:

    1.5 定向和管道
    执行一个 Shell 命令行通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程从标准输入文件中得到数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
    下面以 cat 命令为例,cat 命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。例如,使用以下命令:
    $ cat config
    将会把文件 config 的内容依次显示到屏幕上。但是,如果 cat 的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:
    $ cat
    Hello world
    Hello world
    $
    直接使用标准输入/输出文件存在以下问题:
    1、 数据从标准终端输入时,输入的数据只能用一次,下次再想用这些数据时就需要重新输入;而且在终端上输入时,若输入有误修改起来也不方便。
    2、 输出到终端屏幕上的信息只能看不能修改。用户无法输出的内容进行更多处理,如将输出作为另一命令的输入进行进一步的处理等。
    为了解决上述问题,Linux 系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。

    1.5.1 输入重定向
    输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不是来自于键盘,而来自一个指定的文件。
    例如,命令 wc 统计指定文件包含的行数、单词数和字符数。如果仅在命令行上键入:
    $ wc
    wc 将等待用户的输入,这时 Shell 好像死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下 ,wc才将命令结果写在屏幕上。
    如果给出一个文件名作为 wc 命令的参数,wc 将返回该文件所包含的行数、单词数和字符数。
    另一种把 /etc/passwd 文件内容传给 wc 命令的方法是重定向 wc 的输入。输入重定向的一般形式为:
    命令<文件名
    可以用下面的命令把 wc 命令的输入重定向为 /etc/passwd 文件:
    $ wc < /etc/passwd
    20 23 726
    大多数命令都以参数的形式在命令行指定输入文件的文件名,所以输入重定向并不经常使用。尽管如此,当使用一个不接受文件名作为输入参数的命令,或需要的输入内容存在于一个文件里时,就能用输入重定向解决问题。

    1.5.2 输出重定向
    输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
    输出重定向比输入重定向更常用。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入。
    输出重定向的一般形式为:
    命令>文件名
    例如:
    $ ls > directory.out
    $ cat directory.out
    ch1.doc ch2.doc ch3.doc chimp config mail/ test/
    将 ls 命令的输出保存为一个名为 directory.out 的文件。
    如果 “>” 符号后边的文件已存在,那么这个文件将被覆盖。

    为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,Shell 提供了输出重定向的一种追加手段。
    输出追加重定向与输出重定向的非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。
    如果要将一条命令的输出结果追加到指定文件的后面,可以使用追加重定向操作符“>>”。形式为:
    命令>>文件名
    例如:
    $ ls *.doc>>directory.out
    $ cat directory.out
    ch1.doc ch2.doc ch3.doc chimp config mail/ test/
    ch1.doc ch2.doc ch3.doc
    和程序的标准输出重定向一样,程序的错误输出也可以重新定向。使用符号2>(或追加符号2>>)
    表示对错误输出设备重定向。例如下面的命令:
    $ ls /usr/tmp 2> err.file
    可在屏幕上看到程序的正常输出结果,但又将程序的任何错误信息送到文件err.file中,以备将来检查用。
    还可以使用另一个输出重定向操作符(&>)将标准输出和错误输出同时送到同一文件中。例如:
    $ ls /usr/tmp &> output.file
    利用重定向将命令组合在一起,可实现系统单个命令不能提供的新功能。例如使用下面的命令序列,即统计了 /usr/bin 目录下的文件个数。
    $ ls /usr/bin > /tmp/dir
    $ wc -w < /tmp/dir
    459
    1.5.3 管道
    将一个程序或命令的输出作为另一个程序或命令的输入有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,例如上节例子中的 /tmp/dir 文件将 ls 和 wc 命令联在一起;另一种是Linux 所提供的管道功能,这种方法比前一种方法更方便。
    管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出。
    通过使用管道符“|”来建立一个管道行。用管道重写上面的例子:
    $ ls /usr/bin|wc -w
    1789
    再如:
    $ cat sample.txt|grep “High” |wc -l
    管道将 cat 命令的输出送给 grep 命令。grep 命令在输入里查找单词 High,grep 命令的输出则是所有包含单词 High 的行,这个输出又被送给 wc 命令,wc 命令统计出输入中的行数。假设 sample.txt 文件的内容如下:
    Things to do today:
    Low:Go grocery shopping
    High:Return movie
    High:Clear level 3 in Alien vs. Predator
    那么该管道行的结果是2。

    1.6 进程和作业控制命令
    简单地说,进程是一个程序或任务的执行过程。在 Linux 系统中,执行任何一个命令都会创建一个或多个进程。就是说,命令是通过进程实现的。
    从进程的角度可以更好地理解 Linux 操作系统的多任务概念。对于系统管理员来说,管理系统进程是日常管理的重要部分。
    用 ps 查看系统中的进程状态
    可以通 ps 命令观察进程状态,它会把当前瞬间进程的状态显示出来。可以根据显示的信息确定哪个进程正在运行,某个进程是被挂起,还是遇到了某些困难,进程已运行了多久,进程正在使用的资源,进程的相对优先级,以及进程的标识号(PID)。所有这些信息对用户都很有用,对于系统管理员来说更为重要。
    ps 命令的一般用法是:
    ps [option] [arguments]…
    ps命令有以下几个主要的参数:
    -a: 显示包括系统中所有用户进程的状态
    -f: 显示进程和子进程的树形目录
    -l: 以长列表形式显示进程信息
    -r: 只显示正在运行的进程
    -u: 以用户格式显示进程信息,给出用户名和起始时间
    pids: 显示指定ID的进程的信息
    如果不带任何选项,ps 命令列出每个与您的当前 shell 有关的进程的 PID。结果如下:
    PID TTY TIME CMD
    596 pts/0 00:00:00 bash
    627 pts/0 00:00:00 vi
    628 pts/0 00:00:00 ps
    其中,各字段的含义如下:
    ----PID:进程标识号
    ----TTY:开始该进程的终端号
    ----TIME:报告进程累计使用的CPU时间
    ----CMD:正在执行的进程名
    要获得一个完整的进程信息列表,可以使用带有下列选项的 ps 命令:
    ps -aux
    它除了列出以上字段以外,还列出 CPU 使用率(%CPU),内存使用率(%MEM),虚拟映像大小(SIZE)、驻留数据集大小(RSS)、终端号(TTY)、状态(STAT)。
    top 命令
    top 命令用于读入计算机系统的信息,这些信息包括当前的系统数据和进程的状态等。输入 top 命令后,屏幕输出如下:
    图中的每一列显示了系统的详细信息,图中开头几行的信息含义如下:
    Uptime: 显示当前时间、自上次启动系统开始过去的时间、激活用户的数目以及在过去1、5和15分钟之内的CPU平均占用情况。
    Process: 显示了系统所有的进程,并把进程按挂起、运行、创建和停止分类。
    CPU states: 统计被用户和系统占用的当前CPU的状态。
    Mem: 统计当前内存的占用状态。
    Swap: 统计了swap区域的占用情况。
    在 top 命令中显示了进程的列表,其中包括的内容有:PID、用户、优先级、nice 参数、所需的内存信息(SIZE、RSS、SHARE)、状态(STAT)、CPU占用的百分比、占用的内存信息、已用的计算机时间和各自的程序调用(COMMAND)等。关于 top 命令的详细使用信息,可查看其在线帮助。
    用 kill 命令终止进程
    运行过程中,可能在某一时刻,系统中有的进程出现了问题,不能正常运行,但也不能正常退出。
    这时可以使用 kill 命令终止进程的执行,释放这些进程占用的系统资源,常用的 kill 命令的格式为:
    kill [-s signal] pid
    kill -l [signal]
    命令的选项和参数的意义如下:
    pid 给出了需要结束的进程的PID,可以通过命令 ps 获得进程的 PID。在命令 kill 中可以一次列出许多的进程 PID。
    -s signal 是一个可选参数,用来给出发给进程的信号。在默认情况下,命令 kill 给进程发TERM信号,该信号将通知进程退出。如果进程不接收该信号,可以通过参数 -9 强行结束进程。
    -l 该参数要求 kill 命令列出它可以发给进程的所有信号。
    用 at 安排任务
    at 命令实现在指定的时间运行您安排的作业。at 命令的一般用法如下:
    at [选项] 时间 [日期]
    at hh:mm: 用指定的小时(hh)和分钟(mm)(24小时制)安排作业;
    at hh:mm month day year: 用指定的年(year)、月(month)、日(day)、小时(hh)和分钟(mm)安排作业;
    at -l: 列出已安排的作业;
    at now +count time_units: 作业运行的时间安排在现在的时间加上count个时间单位。时间单位(time_units)可以是分钟、小时、天或星期;
    at -d job_id: 取消作业号与job_id相同的作业;
    由 at 命令调度的命令是在 at 命令行后输入的命令列表。at 的命令列表可以从标准输入(stdin)得到。如果标准输入来自键盘,您应该在输入完命令之后键入 ,表明输入结束。

    1.7 基本网络命令
    Red Flag Server 4.1 具有强大的网络功能,提供了丰富的网络应用程序,完全支持 TCP/IP 协议。在网络环境下,可以进行远程注册、远程命令调用、传送文件等操作。本节介绍了几个基本的网络操作命令。

    1.7.1 telnet命令
    telnet 命令是 Linux 下的远程登录工具,只要拥有合法的注册名和口令,就能像使用本地机器一样访问远程计算机了。telnet 也允许用户通过输入注册名和口令从远程网点登录到自己的计算机上,从而通过网络或电话线完成检查电子邮件、编辑文件和运行程序等操作。但是 telnet 只能在字符终端方式下工作,不支持图形用户界面。
    telnet 的基本用法是:
    telnet [选项] IP地址/主机名
    命令键入后,telnet 即会启动一个远程会话,本命令可使用的选项参数主要有:
    -d 启动调试功能
    -a 自动注册
    -n tracefile 打开跟踪程序,把跟踪程序数据保存在 tracefile 中
    -e escape_char 将会话的转义字符设置为 escape_char
    -l user 把用户名发送给远程系统,以便自动注册。本参数自动包括 -a 参数
    port 指出与远程系统连接的端口号,如不指定,将连接到缺省端口
    成功地连接到远程计算机上后,telnet 就显示登录信息,并提示用户输入注册名与口令,如注册成功,就可以开始工作了。
    在使用 telnet 后需要退出注册回到本地的 shell 命令提示符下。

    1.7.2 ftp命令
    FTP(文件传输协议)是在 TCP/IP 网络计算机之间传输文件的简单而有效的办法。ftp 命令的功能是在本地机和远程机之间传送文件。它允许用户传输 ASCII 文件和二进制文件。在 ftp 会话过程中,用户可以通过使用 ftp 客户程序连接到另一台计算机上。用户可以在目录中上下移动、列出目录内容、把文件从远程机拷贝到本地机上、把文件从本地机传输到远程系统中。前提当然是您必须在本地和远程文件系统中具有进行这些操作的权限。
    ftp 命令的基本格式如下:
    ftp [选项] IP地址/主机名
    可以用 help 命令取得可供使用的命令清单,也可以在 help 命令后面指定具体的命令名称,获得这条命令的说明。
    ls 列出远程机的当前目录
    cd 在远程机上改变工作目录
    lcd 在本地机上改变工作目录
    ascii 设置文件传输方式为 ASCII 模式
    binary 设置文件传输方式为二进制模式
    close 终止当前的 ftp 会话
    hash 每次传输完数据缓冲区中的数据后就显示一个#号
    get(mget) 从远程机传送指定文件到本地机
    put(mput) 从本地机传送指定文件到远程机
    open 连接远程 ftp 站点
    quit 断开与远程机的连接并退出ftp
    ? 显示本地帮助信息
    ! 转到 Shell 中
    随着 Intelnet 的快速发展,提供信息资源的网站往往无法为每个要使用 FTP 的用户开设帐号,因此出现了一种匿名 FTP 机制:可以使用 anonymous 用户名,用自己的电子邮件地址作为口令来访问大多数共享信息资源。但是因为安全的原因,匿名 FTP 的可访问资源是有限的,而且有些网站也不提供这种服务。

    1.7.3 ping命令
    ping 命令用来确定网络上的主机是否可到达和到达速率。ping 命令的格式为:
    ping [选项] IP地址/主机名
    ping 命令将大小固定的数据包发送给对方,并要求对方返回。当终止 ping 命令时,会显示一些统计数据。通过数据判断是否返回以及返回时间,用户可以确定对方是否可到达,是否开机,以及网络延时时间。如果您要退出请按 中断。

    1.7.4 finger命令
    使用 finger 命令来查询系统用户的信息,该命令的基本格式为:
    finger [选项] 用户名@主机名
    运行 finger 命令后会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录 shell 等信息,查询远程机上的用户信息时,就需要的用户名后面加上“@主机名”的方式。

  4. chentong 于 2005-05-10 00:18:59发表:

    1.3.2 创建新文件
    可以利用命令和实用程序来创建文件,如文本编辑器,专门用于把有用的数据放入文件中。然而,有时可能只需要仅有文件名的文件,即空文件。
    Linux 系统提供 touch 命令来创建空文件。其语法如下:
    touch 文件名 [文件名…]
    不存在的文件名被当作空文件创建。已存在文件的时间标签会更新为当前的时间(默认方式);它们的数据将原封不动地保留下来。

    1.3.3 拷贝文件
    使用 cp 命令可以做文件的备份,或者做其他用户文件的个人拷贝。
    可以使用 cp 命令把一个源文件拷贝到一个目标文件,或者把一系列文件拷贝到一个目标目录中。
    其语法是:
    cp 源文件 目标文件
    cp 源文件1 [源文件2…] 目标文件
    在第一种语法格式中,源文件被拷贝到目标文件。
    ----如果目标文件是目录文件,那么把源文件拷贝到这个目录中,而文件名保持不变;
    ----如果目标文件不是目录文件,那么源文件就拷贝到该目标文件中,后者原有的内容将被破坏,但文件名不变;
    在第二种语法格式中,所有的源文件都被拷贝到目标文件----该目标文件必须是目录文件,所有源文件的名字都不变。

    cp命令复制一个文件,而原文件保持不变。如果把一个文件拷贝到一个已经存在的目标 文件中,那么,原目标文件的内容将被破坏!

    1.3.4 移动和重命名文件
    mv 命令用来移动文件或对文件重命名。该命令的语法为:
    mv 源文件 目标文件
    mv 源文件1 [源文件2…] 目标文件
    在第一种用法中,源文件被移至目标文件后有两种不同的结果:
    ----如果目标文件是某一目录文件的路径,源文件会被移到此目录下,且文件名不变;
    ----如果目标文件不是目录文件,则源文件名会变为此目标文件名,并覆盖已存在的同名文件;
    在第二种用法中,所有的源文件都会被移至目标文件,这里的目标文件必须是目录文件。所有移到该目录下的文件都将保留以前的文件名。
    如果将一个文件移到一个已经存在的目标文件,则目标文件的内容将被覆盖!
    如果源文件和目标文件在同一个目录下,mv的作用就是重命名文件,例如:
    mv oldname newname

    1.3.5 删除文件
    用 rm 命令删除不需要的文件和目录。该命令的语法为:
    rm [选项] 文件名1 [文件名2…]
    在删除文件之前,最好再看一下文件的内容,确定是否真正要删除。
    -i 选项:这个选项在使用文件扩展名字符删除多个文件时特别有用。此选项会要求用户逐一确定是否要删除文件,必须输入 y 或 Y,按 后才能删除文件。如果仅按 键或其他字符,文件不会被删除。
    -r 选项:可以删除目录。当一个目录被删除时,所有文件和子目录都将被删除。注意,它是一个非常危险的命令选项!

    1.3.6 文件链接
    红旗 Linux 具有为一个文件起多个名字的功能,称为链接。这样只要对一个文件修改,就可以完成对所有目录下相应链接文件的修改。
    ln 命令用来创建链接,语法为:
    ln 源文件 目标文件
    ln 源文件1 [源文件2…] 目标文件
    在第一种语法格式中,如果目标文件是到某一目录文件的路径,源文件会链接到此目录下,文件名不变;如果目标文件不是到某一目录文件的路径,源文件会链接到此目标文件,并覆盖已经存在的同名文件。
    在第二种语法格式中,所有的源文件都被链接到目标文件----该目标文件必须是目录文件。所有源文件的名字都不变。
    文件链接有两种形式,即硬链接和符号链接。

    硬链接
    默认情况下,ln 命令创建硬链接。
    一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件链接数为1。
    ln 命令会增加链接数,rm 命令会减少链接数。一个文件除非链接数为0,否则不会物理地从文件系统中被删除。
    对硬链接有如下限制:不能对目录文件作硬链接;不能在不同的文件系统之间作硬链接。

    符号链接
    符号链接也称软链接,是将一个路径名链接到一个文件,事实上,它只是一个文本文件,其中包含它提供链接的另一个文件的路径名。另一个文件是实际包含所有数据的文件。所有读写文件内容的命令,当它们被用于符号链接时,将沿着链接方向前进去访问实际的文件。
    如果给 ln 命令加上 s 选项,则建立符号链接。例如:
    ln -s source destination
    符号链接没有硬链接的限制,可以对目录文件作符号链接,也可以在不同文件系统之间作符号链接。

    1.3.7 文件内容比较
    比较文本文件
    diff 命令用于比较文本文件,并显示两个文件的不同。其一般格式是:
    diff 文件1 文件2…
    如果两个文件完全一样,则不显示任何输出。如果有区别,就会分段显示两个文件的区别。
    比较数据文件
    cmp 命令比较任何两个包含正文或数据的普通文件。其一般语法为:
    cmp file1 file2
    由于二进制数据不能显示到屏幕上,cmp 命令只是简单的报告从哪一个字节开始出现不同。
    1.3.8 查找文件
    find 命令
    find 命令用来查找文件和目录的位置。该命令的语法为:
    find 路径名 [选项]
    其中,常用的选项有:
    -print:显示输出查找到的结果。如果未指定任何选项,则系统默认是 -print。如 find命令的最基本的用法就是列出指定目录下的所有文件和子目录:
    # find /usr -print
    -name:按文件名查找。
    -size:按文件大小查找。
    例如,下面的命令将查找/usr目录下超过100k的文件:
    # find /usr -size 100k
    -user:按文件主查找。
    -type:按文件类型查找。常见的类型有:
    b 块特别文件
    c 字符特别文件
    f 普通文件
    l 符号链接文件
    d 目录文件
    locate 命令
    locate是一个使用方便且查询速度极快的文件和目录查找命令。该命令的语法为:
    locate 文件名 [选项]
    使用 locate 命令的前提是要先创建一个用于定位文件或目录位置的 slocate 数据库,而且该数据库应是时时更新的,这样才可以保证 locate 查找结果的准确性。
    以下命令用于从 / 开始创建 slocate 数据库:
    # locate -u
    数据库创建后就可以查找文件了。例如,要查找所有关于 telnet 命令的文件。可以使用:
    # locate telnet
    locate 命令将在其数据库中检查所有匹配于 telnet 的文件和目录并在屏幕上显示结果。
    更新 slocate 数据库的命令是 updatedb,需要以 root 用户身份执行此命令。
    一般情况下,系统管理员会设置由 cron 程序在夜间自动更新数据库。cron 是一个后台守护进程,
    它定期执行计划好的任务。关于设置任务计划的详情,请参阅本手册第4章相关内容。

    1.3.9 在文件中查找正文
    grep 命令用来在文本文件中查找指定模式的词或短语,并在标准输出上显示包括给定字符串的所有行。grep 命令的语法为:
    grep [选项] 查找模式 文件名 [文件名…]
    默认情况下,grep 在查找模式时是区分大小写的;如果不想区别大小写,可以用选项 -i。
    例如,下面的命令将在 /etc 目录及其子目录下的所有文件中查找字符串“hello world”出现的次数:
    # grep ‘hello world’ /etc/*/*
    查找模式可能是唯一的参数,如果在模式中使用了 shell 元字符,通常要使单引号(’)把它括起来。

    1.4 文件权限操作
    在多用户操作系统中,出于安全性的考虑,需要给每个文件和目录加上访问权限,严格地规定每个用户的权限。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。
    1.4.1 改变文件主
    Linux 为每个文件都分配了一个文件所有者,称为文件主,对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。
    文件的所有关系是可以改变的,chown 命令用来更改某个文件或目录的所有权。chown命令的语法格式是:
    chown [选项] 用户或组 文件1 [文件2…]
    用户可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。
    如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。
    系统管理员经常使用 chown 命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

    1.4.2 改变用户组
    在 Linux 下,每个文件又同时属于一个用户组。当创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。
    文件用户组关系的标志是 GID。文件的 GID 只能由文件主或超级用户(root)来修改。chgrp 命令可以改变文件的 GID,其语法格式为:
    chgrp [选项] group 文件名
    其中 group 是用户组 ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。

    1.4.3 文件权限设置
    Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
    访问权限规定三种不同类型的用户:
    ----文件主(owner)
    ----同组用户(group)
    ----可以访问系统的其他用户(others)
    访问权限规定三种访问文件或目录的方式:
    ----读(r)
    ----写(w)
    ----可执行或查找(x)
    当用 ls -l 命令或 l 命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。其中各位的含义如下:

    文件访问权限
    读权限(r): 只允许指定用户读其内容,而禁止对其做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如:cat、more等。
    写权限(w): 允许指定用户打开并修改文件。例如命令vi、cp 等。
    执行权限(x): 指定用户将该文件作为一个程序执行。
    目录访问权限
    读权限(r): 可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许 shell使用文
    件扩展名字符列出相匹配的文件名。
    写权限(w): 允许从目录中删除或添加新的文件,通常只有目录主才有写权限。
    执行权限(x): 允许在目录中查找,并能用 cd 命令将工作目录改到该目录。

    1.4.4 改变文件权限

    1.4.4.1 以符号模式改变权限
    chmod 用于改变文件或目录的访问权限。用户可以用它控制文件或目录的访问权限。只有文件主或超级用户 root 才有权用 chmod 改变文件或目录的访问权限。
    chmod 命令的语法为:
    chmod key 文件名
    key 由以下各项组成:
    [who] [操作符号] [mode]
    其中,操作对象 who 可以是下述字母中的任一个或者它们的组合:
    u user,表示用户,即文件或目录的所有者。
    g group,表示同组用户,即与文件属主有相同组 ID 的所有用户。
    o others,表示其他用户。
    a all,表示所有用户。它是系统默认值。
    操作符号可以是:
    + 添加某个权限
    - 取消某个权限
    = 赋予给定权限并取消其他所有权限(如果有的话)
    mode 所表示的权限可用下述字母的任意组合:
    r 可读
    w 可写
    x 可执行
    s 在文件执行时把进程的属主或组 ID 置为该文件的文件属主
    t 保存程序的文本到交换设备上
    u 与文件属主拥有一样的权限
    g 与和文件属主同组的用户拥有一样的权限
    o 与其他用户拥有一样的权限
    这三部分必须按顺序输入。可以用多个 key,但必须以逗号间隔。 1.4.4.2 以绝对方式改变权限 通常也可以用 chmod 命令配以不同类型的 key 直接设置权限。这时以数字代表不同的权限。这里 key 可以包括三个(或三个以上)的数字,每个数字表示对不同类型用户的权限。
    数字表示的属性的含义:
    0 表示禁止该权限,1 表示可执行权限,2 表示可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
    通常,key 是以三位八进制数字出现的,第一位表示用户权限、第二位表示组权限,第三位表示其他用户权限。
    例如,要使文件 myfile 的文件主和同组用户具有读写权限,但其他用户只可读,可以用以下命令指定权限:
    chmod 664 myfile

    1.4.5 默认权限
    默认情况下,系统将创建的普通文件的权限设置为 -rw-r-r ,即文件主对该文件可读可写(rw),而同组用户和其他用户都只可读;同样,在默认配置中,将每一个用户主目录的权限都设置为drwx,即只有文件主对该目录可读、写和可查询(rwx),即用户不能读其他用户目录中的内容。
    用户可以修改新建文件的默认存取权限,如使用如下命令:
    umask u=rwx,g=,o=
    它会在创建新文件时给文件主以全部权限,而同组用户及其他用户没有任何权限。