收藏 分享(赏)

unix简明教程.doc

上传人:HR专家 文档编号:7516287 上传时间:2019-05-20 格式:DOC 页数:88 大小:249KB
下载 相关 举报
unix简明教程.doc_第1页
第1页 / 共88页
unix简明教程.doc_第2页
第2页 / 共88页
unix简明教程.doc_第3页
第3页 / 共88页
unix简明教程.doc_第4页
第4页 / 共88页
unix简明教程.doc_第5页
第5页 / 共88页
点击查看更多>>
资源描述

1、第一章:UNIX 操作系统简介 学习目标 学完这一章,你能做到以下事情: 描述 UNIX 系统的基本组成和基本功能 1.1 什么是操作系统? 操作系统是一种特殊的用于控制计算机(硬件)的程序(软件)。 操作系统在资源使用者和资源之间充当中间人的角色。为众多的消耗者协调分配有限的系统资源。系统资源包括,CPU,内存,磁盘,和打印机。举个例子,一个用户(也可以是程序)将一个文件存盘,操作系统就会开始工作:管理磁盘空间的分配,将要保存的信息由内存写到磁盘等。 当用户要运行一个程序时,操作系统必须先将程序载入内存,当程序执行时,操作系统会让程序使用 CPU。在一个分时系统中,通常会有多个程序在同一时刻

2、试图使用 CPU。 操作系统控制应用程序有序地使用 CPU ,就好象一个交通警察在一个复杂的十字路口指挥交通。十字路口就象是 CPU;每一条在路口交汇的支路好比一个程序,在同一时间,只有一条路的车可以通过这个路口,而交通警察的作用就是指挥让哪一条路的车通过路口,直到让所有路口的车辆都能通过路口。 1.2 UNIX 操作系统的历史 UNIX 操作系统 1969 年在贝尔实验室诞生。Ken Thompson 在udd Canaday, ,Doug Mcllroy,Joe Ossana,and Dennis Ritchie,的协助下,写出一个小的分时系统,开始得到关注,在许诺为实验室的管理人员提供一

3、个文档准备工具后, UNIX 先驱们可以使用到一台更大的计算机,从而得以继续他们的开发工作。 在七十年代的中期,一些大学得到使用 UNIX 的许可,并很快在学院之间得到广泛流行,其主要的原因是: . 小巧:最早的 UNIX 系统只占用 512K 字节的磁盘空间,其中系统内核使用16K,用户程序使用 8K,文件使用 64K。 . 灵活:源代码是可利用的,UNIX 是用高级语言写成,提高了操作系统的可移植性。 . 便宜:大学能以一盘磁带的价格得到一个 UNIX 系统的使用许可。早期的 UNIX系统提供了强大的性能,使其能在许多昂贵的计算机上运行。 以上优点在当时掩盖了系统的不足: . 没有技术支持

4、;ATpwd 2.5 第二提示符 Bourne ,Korn,和 POSIX shells 都支持多命令行。如果 shell 要求更多的输入来完成一个 命令,在回车前,就会出现第二提示符()。 一些命令要求有一个结束命令,一些字符要求有结束字符,例如一个开始的 if 要求 fi 来结束,开始的括号要求一个结束的括号,一个开始的引号要求一个结束的引号。 如果你键入一个错误的命令,就像上图中描述的一样,SHELL 会显示第二提示符。通常同 时按 ctrl +c 会中止当前正在运行的程序,然后返回到 SHELL 提示符下,你可以通过 stty -a 命令来自行定义你的中止键 2.6 帮助手册 联机手册

5、对查找命令用法非常有用,但是它不是作为教材而设计的,它对学习如何使用 UNIX 操作系统的帮助也不大。有经验的 UNIX系统用户使用帮助来查找命令的细节和用法。就像上图中表示的那样,帮助手册被分为几个部分。 以下是每一节的简短的说明: 第一节:用户命令 这一节描述直接被用户或是 shell 脚本使用的程序。任何系统中的用户都可以使 用这个帮助。 第 1M 节:系统维护 这一节描述系统管理员用来维护系统的命令。只有 root用户才能使用。 第二节:系统调用 这一节描述与 UNIX 系统内核接口的函数,包括 C 语言的接口。 第三节:函数与函数库 这一节阐述了系统提供的与直接系统调用不同的一些二进

6、制格式的函数。这些函 数通常通过 C 程序来存取,例如:输入输出处理和数学计算的函数。 第四节:文件格式 这一节定义用户配置文件的组成,文档,和不同文件类型的格式(例如 a.out) 第五节:多方面的主题 这一节包括不同的信息,例如头文件的描述,字符集,宏包。和其它的主题。 第七节:特殊的设备文件 这一节讨论特殊的设备文件的特性,这些文件提供 uniz系统与系统 I/O 设备(例 如磁盘,磁带机,打印机)之间的链接。 第九节: 字典这一节定义了被选择的贯穿整个帮助手册中的术语。 在每一个章节里,命令以字母的顺序列出,用户可以通过检索手册的索引来找到 一个命令。 2.7 手册页中的内容 了解帮助

7、页的格式是非常重要的。在整个 UNIX 系统的文档中,参考以 cmd(n)的格式给出,其中 cmd 是命令名,而 n 代表八个帮助章节的其中一个,因而,date(1)代表在帮助手册第一节中关于date 命令的内容,在每一个章节里,命令是以字母的顺序列出的,这是由维护帮助手册的方式造成的,页的编号没有意义,每一个命令都是从第一页开始的。 每一个帮助页(一些命令有多个帮助页)有几个主要的标题。帮助页也不总是有标题。 以下是每个标题的列表和其内容的描述; 名字 包括命令名和简短的描述,章节中的这个文本被用来产生索引。 大纲 定义了如何引用一个命令。黑体字的条目表示必须在终端上正确输入的部分。方括 号

8、中的是任选项,规则类型的条款会被你所选择的合适的文本所代替,省略号( .)被用来显示先前重复的参数。如果对摘要的意思有疑问,你可以去阅 读 DESCRIPTION 项。 描述 包括每个命令和选项的功能的详细描述。 额外的影响 提供不同口语的编程信息,这对于国际化的支持非常有用。 网络特性 基于网络特征的功能。 返回值 描述程序调用完成后的返回值。 诊断信息 解释命令可能出现的错误信息 错误 列出错误的条件合相应的错误信息或是返回值。 范例 提供命令使用的范例。 警告 指出潜在的陷阱。 相关性 指出与不同硬件平台相关的 UNIX 系统操作的变化。 作者 命令的开发人员。 文件 命令使用的任何特殊

9、的文件。 SEE ALSO 指明帮助手册中的其他页,或是其他包含附加信息的文档。 BUGS 讨论已知的漏洞和缺陷和所支持的修正 标准一致性 描述每一个条目支持的标准。 2.9 联机手册 有另外一种方法从帮助手册中检索信息。 在许多 UNIX 系统中,手册通常是在线的。在线帮助手册通过 man 命令来存取。 语法是: man -k keyword 或者 man 12345791m command 其中 man -k keyword 列出所有的命令,在命令描述中有字符串 keyword。 man 1234579m command 显示指明帮助章节的命令的帮助页。 man command 显示命令的

10、默认的帮助条目。也许一个 命令的条目,在不止一个的帮助页中。 以上的所有的命令要求系统管理员已经正确地安装了在线帮助。在以上的例子中, man passwd 会显出改变密码的命令。man 4 passwd 会显示 passwd 文件的格式。 在指定命令的帮助条目的第一页已经出现在屏幕上。你可以键入以下的键: return 显示下一行 space 显示下一页 Q 或 q 退出 man 命令并且回到提示符下: 有时,在你读取在线手册时会看到一下的信息: reformatting retry .wait 这个信息的意思是指定命令的帮助手册页需要解压缩,因为对当前用户来说是第一次使用。这条信息在用户下

11、一次检索这个手册时不会再出现。 多个帮助手册页 一些命令有多个帮助条目。你可以用 whereis 命令来显示帮助的章节。例如: $ whereis passwd passwd :/sbin/passwd /usr/bin/passwd /usr/share/man/man.1.z/passwd.1 /usr/share/man/man4.Z/passwd.4 $whereis nothere nothere: 这说明在章节 1 和 4 中有一个关于 passwd 命令的帮助条目,没有关于 nothere 的帮助手册。 2.10 一些初级命令 我们将学习一些基本的命令,这些命令中的大多数除本书讲

12、到选项以外的还有更多的选项,如果你想要查看其他的选项,可以使用联机手册。 id 命令 为了让你存取文件和执行程序,UNIX 必须要知道你的用户和组的id 号,这种由计算机维护的数字的 id 号,对应哪些为用户方便而使用文字名称,当你登录时,你的用户身份会被初始化。在你已经登录后,你也可以更改你的用户和组。id 命令的作用就是显示你当前的用户和组的定义。 计算机将所有的用户的信息存储在文件 /etc/passwd 中,组的信息存储在/etc/group 中。 组 组让一组用户可以共享地存取文件。由系统管理员定义组中的用户,每一个用户都能存在于不同的组中。组通常由机构中已经定义的工作组组成。例如,

13、一个机构可能由生产,管理,帐务组组成。这些组的用户结构可能定义为一下的结构: *号指明登录时的组的定义 . chris 是所有的三个组的成员。 . mike 是两个组的成员。 在这个机构内,chris 能够使用与生产,管理,帐务三个部门有关的文件,mike 能够存取与生产,帐务部门有关的文件。其他的用户只能存取他们登录组中的文件。 who 命令 who 命令会报告有哪些用户已经登录系统,每一个用户连接的终端和登录时间的信息。who am i 报告本用户的用户名和端口信息,whoami 命令报告系统与本地终端的关联的用户名。用户是否有权执行一个命令,依靠的是用户的身份,一个用户能够更改他或她的身

14、份标识来存取其它的命令或程序。 date 命令 date 命令被用来报告系统的当前日期和时间。date 可以加上参数来重新格式化 输出的格式。 通常 date 命令不带任何选项和参数使用。 只有系统管理员有权限修改系统时间和日期。 passwd 命令 在许多的系统中,系统管理员控制着用户的密码。然而,在 UNIX系统中,系统管理员能允许用户直接控制他们自己的密码,passwd命令让用户改变他们的口令,语法如下: passwd 输入这个命令后,系统会要求输入你当前的密码,(老密码)。这是为了避免在你登录了系统后,离开你的终端时间内有人更改你的密码。然后系统会要求你输入新密码,并要求重输入一次以确

15、认你的新密码,这样做是为了避免你打字的错误。你的新旧密码必须至少有三个字符不同。 在你输入密码时,新旧密码字符不会出现在屏幕上。 密码限制 你的密码至少有六个字符,前六个字符中至少要有两个是字母,前六个字符中至少有一个不是字母。 系统管理员可以不遵守这些条件,所以如果系统管理员给你的帐号分配一个密码,这个密码可能不符合这些规则。 13. echo 命令 echo 命令使你可以显示命令行参数的,这个意思是,一个如下的命令: echo hello 导致输出: helllo 这个命令可能看上去十分平常,但是这个命令让我们可以佷方便地在 shell 程序中显示用户信息和检查 shell 变量的值。在

16、shell编程中,echo 命令用的很普遍。 clear 命令 clear 命令清除终端屏幕上的字符。这个命令仅仅清除当前的屏幕,所以,用户有可能向上翻屏来查看以前的屏幕信息,想要清除所有的屏幕信息,按 HOME 键,将光标至到 home,然后键入 clear 命令。 2.17 write 命令 你可以用 write 命令向当前登录到同一个系统的用户的终端发送信息。当你使用 write 时,write 会让你输入信息,每一次你敲回车,信息就会被传送到接收者的终端上,接收者可以向你回写信息,你可以通过你的终端进行交互的对话。当你完成键入信息后,敲入ctrl+d.就可以结束你的对话。 注意:除非你

17、禁用这项功能,否则,在任何时候,别人都可以发送信息到你的终端。,如果这时你正在使用一个工具,如 man,mail,或是一个编辑器的时候,一个用户给你发生一个信息,这行信息会出现在你的屏幕上,这会造成你的混乱。 如果你想要发送信息给一个用户,而这个用户当前没有登录系统,你会得到如下提示: user is not logged on(用户没有登录系统),其中 user 表示你试图发送信息的人的 用户名 mesg 命令 你可以通过 mesg 命令来禁止其他用户发送信息到你的终端上。如果你给一个已经禁止接收其他用户发送信息的用户发送信息,你会接到 Permission Denied 错误(没有许可)。

18、 mesg n 拒绝其他人 write 到你的终端。 mesg y 允许其他人 write 到你的终端。 mesg 报告是允许或是不允许其他人写到你的终端。 即使你的终端是禁止写入的,系统管理员一样能发送信息到你的终端。 news 命令 系统中的所有用户都感兴趣的信息可以通过 news 命令广播出去。这个命令通常是系统管理员对系统中所有用户进行通告的时候,例如在系统关闭,备份时,或是在新的硬件生效时使用。 你可以键入 news 命令来阅读新闻。如果命令后没有选项,只有那些你还没有阅读过的信息会显示。 news 命令的选项有: -a 读取所有的新闻,不管是否已经被读取过。 -n 只显示未读过的新

19、闻的标题 每一个存取新闻的用户在他的 HOME 目录下都有一个.news_time 文件。每一个 UNIX 系统中的文件都有一个时间标志,时间标志记录有上一次文件被修改的时间。.news_time 上的时间标志会被更新,以匹配你最后读取得新闻信息的时间。如果一条新的新闻加入,news 命令知道这条新闻还没有被阅读,因为你的.news_time 文件的时间标志比新的新闻的时间标志早 第三章 文件系统导航 目标 完成这一节,你能做以下事情: o 描述 UNIX 文件系统的布局 o 描述文件与目录的不同之处 o 顺利地操作一个 UNIX 文件系统。 o 建立和删除目录 o 描述绝对路径和相对路径的不

20、同之处 o 在可能的情况下,使用相对路径来简化你的输入。 3.1 什么是文件系统 UNIX 系统提供文件系统来管理和组织你的文件和目录。文件通常是数据的一个容器,而目录是文件和(或)其他目录的容器,一个目录包含下的另一个目录通常被称为子目录, UNIX 的文件系统与文件柜十分相似。整个文件系统就象一个文件柜,文件柜包含所有的抽屉,文件夹,和报表。抽屉同子目录一样能够包含报告和文件夹。一个文件夹当它包含报表时就像一个子目录。报表就代表一个文件,因为它存储实际的数据。 3.2 树型结构 目录结构能够用一个层次化的树形结构来表示。树上的每一个分支可以是目录或者文件。目录用椭圆来表示,文件用矩形来表示

21、,以便图表中能够区别它们。 3.3 文件系统层次 象整齐的文件柜一样,UNIX 文件系统层次提供了一种简单有效的机制来组织你的文件。由于一个 UNIX 发布版本通常包括几百个文件和程序,于是每个 UNIX 系统都支持一种默认的目录结构。在目录的顶端是根目录(因为它在一个倒转的树的顶部),根目录由一个反斜杠(/)来表示。 UNIX 系统同时提供了一些命令,可以让你在你需要时很容易地创建新的目录,也可以从一个目录移动或是拷贝文件到另一个目录。就象加入一个新的文件夹到一个文件柜的抽屉中和将新的文件夹移动一个报表到一个老的文件夹一样容易。 在 HP-UX 10.0 中,文件系统由两个主要的部分组成:静

22、态文件和动态文件。 静态文件: (共享的文件)有三个重要的目录:/opt, /usr , /sbin /opt 这个目录会用来存放应用程序和产品。开发人员和系统管理员会用它来安装新的产品和本地的应用程序。 /usr/bin 这个目录包含了基础的 UNIX 系统操作和文件处理的命令,所有的用户都有权限读取这个目录(“bin“ 是 binary 的缩写)。 /usr/sbin 这个目录中有所有的在帮助手册 1m 章节中的命令,这些命令都是系统管理命令。必须是超级用户才能使用其中的大多数命令。在帮助手册 1m 中有关于这些命令的文档。 /usr/lib 这个目录包括应用程序使用的文档和共享的库 /u

23、sr/share 这个目录包括独立提供的文件(其中最重要的是帮助手册) /usr/share/man 这个目录包括所有的语在线帮助页有关的所有的文件。 /uar/local/bin 这个目录通常用来存放本地开发的程序和工具。 /usr/contrib/bin 这个目录通常用来存放公用的程序和工具 /sbin 这个目录包括基本的用于启动与关闭系统的命令。 动态文件 (私有的文件)在这个节有七个重要的目录: /home, /etc, /stand , /tmp , /dev, /mnt , 和/var; /home 每一个 UNIX 系统的用户都有他或她自己的帐号。同 登录 id 和口令一起,系统

24、管理员会提供给你你自己的目 录。/home 目录一般都包含每个系统用户的一个子目录, 你对你自己的目录有完全的控制权。你有责任在你自己的 目录建子目录和文件时对这些目录和文件进行组织和管 理。当你登录进入一个系统,你会进入与你帐号相联系的目 录中,这个目录,通常被称为 HOME 目录或是登录目录。 从这个目录,你可以进入任何呢曾经存取的其他的目录,最 少你可以存取在你 HOME 目录中的任何东西;最多你可 以移动到任何地 UNIX 系统的目录(默认的 情况),直到 系统管理员限制用户对系统中特殊目录的存取。 /etc 这个目录中有许多的系统配置文件,这些文件在帮助手册的 第四章节有说明文档。

25、/stand/vmUNIX 这个文件存储的是 UNIX 系统内核的文件。当系统启动时,这个程序 被装载入内存,控制所有的系统操作。 /tmp 这个目录通常被操作系统的一个临时空间,通常是在操作系统创建 中间文件,或是工作临时文件时使用。 注释:UNIX 系统的惯例:任何时间,任何以 tmp 为名的目录下的任何文件都可以被删除。 /dev 这个目录下有那些可以被联接到你系统中的硬件设备的文件,由于 这些设备是作为一个到设备之间的联接,数据从来不会被直接存储 到这些文件中,这些问文件通常被叫 做特殊文件或是设备文件。 /mnt 这个用来安装其它的设备 (例如:光驱) /var/mail 这个目录包

26、括每一个有邮件的用户的信箱。 /var/news 这个目录包括当前的新闻信息的所有的文件。他的内容可以通过键 入 new -a 来显示。 /var/tmp 这个目录通常被用于用户的临时空间。 3.4 目录名称 绝对路径: 相对于/home/user3 的路径 /home/user3/f1 f1 /home/user3/memo memo /home/user3/memo/f1 memo/f1 相对/home/user1 的路径 /home/user1/f1 f1 许多的 UNIX 系统命令的操作对象是文件和(或)目录。为了告诉命令你所要求操作的文件或目录,你需要提供一个路径名作为这个命令的一个

27、参数。路径名代表遍历一个层次结构来找到你所需要的文件或目录所经历的路由。 $ command options pathname pathname. 为了阐明目录名的概念,我们使用模拟的方法,用一只铅笔从沿着UNIX 系统的树形结构从一个位置画到另一个位置。路径名也就是铅笔的笔迹通过的层次结构所遇到的节点(即目录)的一个列表,这个列表直到你想要到达的目录或文件为止。 当指明文件或目录的路径名时,反斜杠(/)被用来分割目录或文件名。 Directory/directory/directory(目录/目录/目录) Directory/file(目录 /文件) 无论你何时登录一个 UNIX 系统,你会

28、被定位到层次结构的一些目录下,你可以 通过 UNIX 系统命令来更改你的目录到其他的目录中去,但是你通常是在一些目录 中。举个例子:当你登录是,你会被初始化置于你的 HOME 目录中。 绝对路径和相对路径都能够指明文件和目录的位置 绝对路径 . 给出文件或目录的位置的完全的描述。 . 通常由层次结构的顶端开始(根目录)。 . 通常第一个字符是 /. . 不依靠你当前在目录结构中的位置。 . 整个目录结构只有一条路线。 绝对路径名的例子 以下的路径名指明目录结构中的所有的叫做 f1 的文件的位置。请注意,有许多f1 文件,但是每一个文件的绝对路径都是不相同的。 /tmp/f1 /home/use

29、r1/f1 /home/user2/f1 /home/user2/f1 /home/user2/f1 /home/user3/memo/f1 相对路径 . 通常由目录结构中的当前的位置开始 . 不由 / 开始。 . 相对当前的位置只有唯一表示方法。 . 一般都比绝对路径要短。 相对路径的例子 以下的例子再次指明名为 f1 的文件,但是他们的相对路径的定义是依靠用户在目录结构中的当前位置。 假设当前的位置是 /home: user1/f1 user2/f1 user3/f1 user3/memo/f1 假设当前的位置是/home/user3: f1 memo/f1 假设当前的位置是/home/u

30、ser3/memo f1 请注意相关的文件名,f1 不是唯一的,但是 UNIX 系统知道应该去找那个文件,因为系统知道你是在/home/user1 检索/home/user1/f1,还是在/home/user3/memo 的位置检索 /home/user3/memo/f1/。同时,你会注意到,相对路径可能比绝对路径要短的多,例如,如果在目录/home/user3/mem 中,你可以用一下两个命令来打印文件 f1: 绝对路径: lp /home/user3/memo/f1 相对路径: lp f1 这表明使用相对路径名可以节约你大量的键盘操作。 注释:如果系统中有同名的文件存在于不同的目录中,而你

31、又要使用相对路径来存取文件,这时,知道你当前的位置,是非常重要的。 在 UNIX 系统内部,系统通过绝对路径来查找所有的目录和文件。因为绝对路径名绝对并且唯一的确定一个文件和目录,(由于只有一个根(/),UNIX 系统允许使用相对路径仅仅是为了方便用户的键入。 3.5 一些特殊的目录 绝对路径 相对于/home/user3 的路径 /home /home/user2 /user2 /home/user1/f1 /user1/f1 / / /tmp/f1 /tmp/f1 /usr/bin/vi /bin/vi 任何目录在创建时,两个条目会自动被创建,它们分别是 点(.),和点点()。在使用相对路

32、径的时候通常会用到这两个条目。在上一个例子中,你也许已经注意到:相对路径的例子仅仅只能向下穿越文件结构,但如果使用 ,你也能够向上穿越文件系统。 登录目录 当一个新的用户被加入到系统中,他(或她)会被分配一个登录 id,可能还有一个密码,和一个用户自己拥有和控制的目录。这个目录通常创建在/home 目录下,与用户的登录 id 名相同,然后这个用户就可以在此目录下任意创建自己的文件和子目录。 当你登录一个系统时,UNIX 系统会将你放在这个目录下,这个目录被称为你的登录目录或者是你的 HOME 目录。 点(.) 这个称为点的条目代表你当前所在地目录。 点(.)的例子 如果你当前正处于目录/hom

33、e/user3 中: . 代表你当前的,目录/home/user3 ./f1 代表 /home/user3/f1 ./memo/f1 代表 /home/user3/memo/f1 点点() 这个称为点点的条目代表当前目录的上一级目录。通常被称为父目录。每一个目录在自己的下面都可以有多个文件和多个子目录。但是每一个目录只能有一个父目录。这样,当向上进入文件系统的结构时不会有混淆。 根目录(/)象其他的目录一样,包含有点,和点点条目,但是由于根目录没有父目录,所以它的点点代表是根目录本身。 点点()的例子: 如果你当前所在地目录是/home 代表/ 目录 / 同样代表/目录 /tmp 代表 /tm

34、p /tmp/f1 代表/tmp/f1 如果你当前的目录是/home/user3 代表 /home 目录 / 代表/ 目录 /user2 代表/home/user2 /user1/f1 代表/home/user1/f1 /tmp/f1 代表/tmp/f1 在例子的最后,绝对路径比相对路径还要短,如果相对路径使你穿越 / 目录,你可以使用绝对路径来代替相对路径。 3.6 基本的文件系统命令 目录,就像一个文件夹,是组织你的文件的一种方式。下部分会介绍基本的目录操作命令,这些命令可以: . 显示你当前所处的位置的目录名 . 了解当前目录下有什么文件和目录。 . 使你进入文件系统中的另一个目录中去

35、. 创建一个目录 . 删除一个目录 在这一节中,我们不会去操作一个目录中的文件,我们只操作目录。 3.7 pwdPrenset working Directory (呈现工作中的目录) 无论何时你登录你的 UNIX 系统,你都会被置于文件系统中的某个目录下,这个目录通常被认为是你的工作目录。 pwd 命令会报告你当前在 UNIX 文件系统中位置的绝对路径名,pwd 是英文呈现工作目录的一个缩写。 由于 UNIX 系统允许用户在文件系统中任意地移动位置,所有的用户都依靠这个命令来确定他们在系统中的位置。新用户在文件系统中移动的时候,会频繁地使用这个命令来了解他们的当前的位置 3.8 ls 列出目

36、录中的内容 ls 命令的作用是列出目录和文件的名称 如果没有参数,ls 列出当前目录下的文件和目录名。 ls 也可以接收指定文件或目录的相对和绝对路径名作为参数。当文件的路径被提供给 ls,ls 会报告指定的文件的信息。当一个目录的路径被提供给 ls ,ls 会显示指定目录中的内容。 ls 支持许多的选项。这些选项提供附加的信息。一个命令行可以支持多个选项,以显示更多更全的文件或目录的信息。其中常用的选项在下面列出: -a 列出所有的文件,包括以点(.)开头的文件,通常,这些文件是隐藏的,除非 使用a 选项才会显现出来,这些以点开始的文件通常记录你用户线索 和应用的配置信息。 -d 列出目录的

37、描述,而不是列出目录的内容。通常与-l 一起使用来显示目录的状态。 -l 提供一个关于每个文件德描述属性的长列表,包括类型,模式,链接数,属 主,组,大小(字节),更改日期,和名称。 -F 在每个目录后面添加反斜杠(/),在可执行文件后面添加星号(*)。 -R 递归地列出给出的目录和所有子目录中的文件。 例子: $pwd $/home/user3 绝对路径作为一个参数 $ls F 相对路径作为一个参数 user1/user2/user3/ $ls F /user1 相对路径作为一个参数 f1 $ls l memo 一个目录的相对路径作为一个参数 -rw-rw-rw 1 user3 class

38、27 Jan 24 06:11 f1 -rw-rw-rw 1 user3 class 37 Jan 23 19:03 f2 $ls ld memo 显示目录 memo 的信息 drwxr-xr-x 2 user3 class 1024 Jan 20 10:23 memo $ls l f1 f2 多个参数,文件的相对路径 -rw-rw-rw 1 user3 class 27 Jan 24 06:11 f1 -rw-rw-rw 1 user3 class 37 Jan 37 19:03 f2 $ls R 子目录的递归列表 ./memo: f1 f2 $ls user2 user2 not foun

39、d 当前目录中不存在 user2 HP-UX 中的特例: UNIX 系统的命令 HP-UX 等价 ls F lsf ls l ll ls R lsr 3.9 cd Change Directory(改变目录) 将树形结构想象成为一个显示你系统中的所有的目录和文件的位置的一个道路交通图。你通常在一个目录中, cd 命令让你改变目录,并且移动到层次结构中的其他位置。 语法: cd path_name 其中,路径名是你想要去的目录相对或绝对的路径名。当执行 cd命令不带参数时,你会回到你的 HOME 目录,所以,如果你在目录中迷路,简单地键入 cd 会让你回到 HOME 目录。 注释:当使用 cd

40、命令在文件系统中移动时,切记要经常使用 pwd命令来确认你所处的位置 POSIX Shell 中的 cd 命令 POSIX shell 记录有你上一次进入的目录的位置,cd 命令同样有改变目录到你期望的目录的功能。但它还有一些附加的特征可以减少你的键入。 cd 命令有一个你先前进入的目录的储存器,(存储在环境变量OLDPWD 中),这个目录可以通过 cd 来存取。 $pwd /home/user3/tree $cd /tmp $ pwd /tmp $cd 让你进入到先前进入的目录 $pwd /home/user3/tree 3.10 find 命令 find 命令是在文件系统中执行自动查找的唯

41、一个命令。这个命令执行非常慢,并且会耗费许多 CPU 资源。因此建议不要经常使用。 路径列表是一个路径名的列表,典型的情况是一个目录的情况。通常是点文件。在查找一个文件时会被递归地搜寻路径名,查找符合表达式定义的文件。一个最普通的查找任务就是显示出匹配的路径名。 表达式由关键字和参数组成,参数能指明查找标准和查找一个匹配的任务,一件使查找操作更复杂的事情是表达式中使用的关键字都以开头,这样看上去参数在选项之前似的 3.11 mkdir 和 rmddir 创建和删除目录 mkdir 命令允许你创建一个目录,这些目录能被用来帮助组织我们的文件。每当一个目录被创建,两个子目录会被自动地创建,它们是代

42、表当前目录的点(.),和代表父母目录的点点(),请注意,创建目录不会改变你当前在文件系统中的位置。 在默认的情况下,创建目录时指明的相对或绝对路径中的所有的中间目录都必须是已存在的目录,但另外一种情况,你可以使用一下的选项: -p 如果中间目录不存在,将会创建这些目录 -m mode (模式) 在创建了指定的目录后,目录被设置成默认的权限。 以下的命令创建 fruit 目录 ,假设这个目录并不存在。 $mkdir p fruit/apple fruit/grape fruit/orange rmdir 命令让你删除一个目录,被删除的目录必须是空的(也就是除了点和点点外没有其他的东西),同时,你

43、不能删除在你当前目录和根目录之间的目录。 两个命令都可以有多个参数,mkdir 的参数代表的是新的目录名,rmdir 的参数必须是已经存在地目录名。同时,任何用目录名和文件名作为参数的命令都可以使用绝对路径和相对路径。 3.12 复习 使用上图来复习 cd 和 pwd 命令的用法,和绝对路径和相对路径的用法 在上图中,如果你从目录 user3 开始,每一个 cd 命令的结果会使你处于上什么位置? $pwd /home/user3 $cd $pwd $cd usr $pwd $cd /usr $pwd $cd /tmp $pwd . $cd . $pwd 3.13 文件系统总结 文件 一个数据的

44、容器 目录 文件和其他目录的容器 树形结构 UNIX 系统的一种层次化的结构 路径名 文件和目录在层次结构中的位置的一种确认标识。 HOME 代表你登录目录的路径名 pwd 显示你当前在系统中的位置 cd 更改你当前的位置到其他的目录中去 ls 列出目录中的内容 find 查找指定的文件 mkdir 创建目录 rmdir 删除目录 第四章管理文件 目标 完成这一章,你能做以下事情: . 使用普通的 UNIX 系统文件操作命令。 . 解释使用排队打印队列系统的作用。 . 认识和使用同系统交互的排队打印命令。 . 监视排队打印系统的状态。 4.1 什么是文件 一个数据的容器或者是一个设备的链接 .

45、 每一个文件有一个名字,文件可能保存有存储在磁盘上的数据。 . 有几种不同类别的文件: 普通文件 文本文件,数据文件,图片 可执行的程序 目录 设备文件 UNIX 系统中的每一事物都是一个文件,包括: 普通文件 文本,邮件信息,数据,图片,程序源代码 程序 可执行的程序,例如 ksh,who,date,man,和 ls 目录 特殊的文件,记录有所包含的文件和目录的名字和文件系统中的标识。 设备 一种特殊的文件,提供到硬件设备的接口,包括有磁盘,终端,打印机, 内存 简单地说,文件就是联接存储在一个存储设备(通常是磁盘)上的数据的一个名字, 在 UNIX 系统受到关注之前,文件仅仅是一个数据字节

46、流的定义。没有预定义的记录,域,记录结束标志,文件结束标志。这为应用开发人员提供了许多的灵活性,他们可以定义自己的内部文件的描述。 普通文件通常包含有 ASCII 码的字符,典型的普通文件的创建是在终端上使用一个文本编辑器。 程序文件是包含可执行指令的普通文件。通常包含在终端上不能显示的编译过的代码 如(mail,who,date),或者是可以显示到终端上的 UNIX 系统 shell 命令,(通常是 shell 脚本) 目录是一个特殊的包含它下面的文件和目录的名字的文件,目录同时也存储了每个条目的 inode (i 节点号),inode 号标识有文件信息和数据在文件系统中存储的地址。(注意:

47、目录不是普通的文本文件) 设备文件是一种特殊的文件,它提供了内核与实际硬件设备的接口,由于这些文件是作为接口存在的,它们不会存储有任何实际的数据。它们一般都在/dev 目录下,你的计算机的每一个需要联接的硬件设备都会有一个设备文件相对应。 2. 我们能够对文件进行什么操作? ls 查看一个文件的描述 cat 查看一个文件的内容 more 查看一个文件的内容,一次一屏 lp 打印一个文件 cp 制造一个文件的一个拷贝。 mv 改变一个文件或者目录的名字 mv 将一个文件移动到另外一个目录中去 ln 为一个文件创建另外一个文件 rm 删除一个文件 在 UNIX 系统上的大多数活动是围绕文件和目录进

48、行的,有许多的命令来操作文件和目录。 你已经知道一些目录操作的命令,在这一章中,我们会介绍其他的用于文件和目录的命令。 你也许会创建文件和处理文件中的内容。这通常可以使用编辑器来完,例如 vi.。 4.3 文件的描述 一个文件有几个相关的描述,可以用 ls l 来显示这些描述 类型 普通文件或是特殊文件 权限或模式 文件的存取定义 链接数 与一个独立的数据集相关联的文件名的数目 属主 文件所有者的用户标识 组 文件存取得组的标识 大小 文件包含的字节数时间标志 最后更改的日期 名字 最大 14 个字符(如果长文件名支持,最大 255 个字符) 文件名规范 . 最大 14 个字符 . 最大 25

49、5 个字符,(如果长文件名支持)。 . 一般由字母(a-zA-Z),数字( 0-9),点(.),短横线(-)和下划线(_),组成。 有许多其他的字符在 shell 中有“特殊”的意义,例如空格和反斜杠,所以你一般不能用这些字符组成一个文件名。其他的特殊字符有,*,$,|。如果你试图用这些字符组成一个文件名,你经常会得到不能预料的结果。 两个单词组成的文件名一般由下划线来联接: $cd a dir 错误的语法 cd 看到两个参数 $cd a_dir 合法的语法 cd 只看到一个参数 在 UNIX 系统中,点(.)是一个普通的字符,所以 ,它能出现在文件名的任何位置,文件名 a.bcdefg,a.b.c.d,和 ab 都是合法的文件名。点只有一点特殊,就是作为一个文件名的第一个字符的时候,在这种情况下它指明这是一个隐藏文件。你可以使用 ls a 来显示一个隐藏文件。 文件类型 UNIX 系统支持很多的文件类型,使用 ls l 输出的第一个字符表示文件类型。普通的文件类型包括: . 普通文件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报