全国业务电话:
1.1 基础知识
  熟悉在命令行界面下工作对使用和管理 CGSL 操作系统提供了极大的方便,本章介绍在 CGSL 系统中进行 Shell 操作的基本知识。
 
1.1 基础知识
 
  主要介绍关于 CGSL 系统中 Shell 及文件和目录的基础知识。
 
1.1.1 文件命令
 
  CGSL 下文件名的最大长度可以是 256 个字符,通常由字母、数字、“.”(点号)、“_”(下划线)和“-”(减号)组成。文件名中不能含有“/”符号,因为“/”在 Linux 目录树中表示根目录或路径中的分隔符(如同 DOS 中的“\”)。
 
  Linux 系统中支持文件名中的通配符,具体如下:
 
  星号(*):匹配零个或多个字符;
 
  问号(?):匹配任何一个字符;
 
  [ab1A-F]:匹配任何一个列举在集合中的字符。本例中,该集合是 a、b、l 或任何一个从 A 到 F 的大写字符。
 
1.1.2 路径
 
  操作系统查找文件所经过的路径称为路径名。使用当前目录下的文件时可以直接引用文件名;如果要使用其他目录下的文件,就必须指明该文件在哪个目录之中。
 
  按查找文件的起点不同可以分为两种路径:绝对路径和相对路径。从根目录开始的路径称为绝对路径,从当前所在目录开始的路径称为相对路径。

  与 DOS 相同,每个目录下都有代表当前目录的“.”文件和代表当前目录父目录的“..”文件,相对路径名一般就是从“..”开始。
 
  提示:在 Linux 目录树中,表示根目录或者路径中的分隔符是“/”。

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

1.1.4 目录结构
 
  通过对系统目录组织结构的了解,可以在进行文件操作和系统管理时方便地知道所要的东西在什么地方。
 
  CGSL 的文件系统采用分层的树形目录结构。即在一个根目录(通常用“/”表示),含有多个下级子目录或文件;子目录中又可含有更下级的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。树中的“根”与“杈”代表的是目录或称为文件夹,而“叶子”则是一个个的文件。
 
  下面列出了主要的系统目录及其简单描述:
 
  /bin:存放普通用户可以使用的命令文件。目录 /usr/bin 也可用来贮存用户命令。
 
  /sbin:一般用于存放非普通用户使用的命令(有时普通用户也可能会用到)。目录 /usr/sbin 中也包括了许多系统命令。

  /etc:系统的配置文件。
 
  /root:系统管理员(root 或超级用户)的主目录。
 
  /usr:包括与系统用户直接相关的文件和目录,一些主要的应用程序也保存在该目录下。
 
  /home:用户主目录的缺省位置,保存了用户文件(用户自己的配置文件、文档、数据等)。
 
  /dev:设备文件。在 CGSL 中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。
 
  /mnt:文件系统的缺省挂载点。一般用于安装移动介质、其它文件系统(如 DOS)的分区、网络共享文件系统或任何可安装文件系统。
 
  /lib:包含许多由/bin 和/sbin 中的程序使用的共享库文件。目录/usr/lib/中含有更多用于用户程序的库文件。
 
  /boot:包括内核和其它系统启动时使用的文件。
 
  /var:包含一些经常改变的文件。例如假脱机(spool)目录、文件日志目录、锁文件、临时文件等等。
 
  /proc:操作系统的内存映像文件系统,是一个虚拟的文件系统(没有占用磁盘空间)。当您查看它们时,看到的是内存里的信息,这些文件有助于了解系统内部信息。
 
  /opt:存放可选择安装的文件和程序。主要由第三方开发者用于安装和卸装他们的软件包。
 
  /tmp:用户和程序的临时目录。
 
  /lost + found:在系统修复过程中恢复的文件。

1.1.5 Shell 简介
 
  用户在命令行下工作时,不是直接同操作系统内核打交道,而是由命令解释器接受命令,分析后再传给相关的程序。进入 CGSL 环境时系统将自动启动相应的 Shell,Shell 是一种命令行解释程序,它提供用户与操作系统之间的接口。CGSL 下默认的 Shell 是 bash。bash 命令的基本格式如下:
 
  命令名【选项】【参数1】【参数2】…
 
  其中方括号括起的部分表明该项对命令而言是可选的。

  【选项】 :对命令有特别定义,一般以“-”开始,多个选项可用一个“-”连起来,如 ls -l -a与 ls -la相同。
 
  【参数】 :提供命令运行的信息,或者是命令执行过程中所使用的文件名。
 
  提示:输入用户名、口令、命令名与文件名时一定要区分大小写,因为大小写字母在 Linux 系统中代表不同的含义。
 
  提示:在命令、选项和参数之间要用空格隔开,连续的空格会被 Shell 解释为单个空格。

键入命令
 
  在 Shell 提示符下输入相应的命令,然后按回车键确认,Shell 会读取该命令并执行。如果系统找不到输入的命令,会显示:“command not found”,这时需要检查键入命令的拼写及大小写是否正确。
 
  使用分号(;)可以将两个命令隔开,这样可以实现在一行中输入多个命令。命令的执行顺序和输入的顺序保持一致。
 
命令补齐
 
  当要输入的命令目录很深或命令中的文件名很长时,只要按一下<Tab>键,系统会在可能的命令或文件名中找到相匹配的项,自动帮您补齐。如果有一个以上的文件符合输入的字符串,不能补齐时,可以按两下<Tab>键,系统将把所有符合的文件名列出来。
 
历史记录
 
  Shell 会把过去输入过的命令记忆下来,只要按上下方向键,就可以选择以前输入过的命令了。
 
  有了以上基础,可以运行下面列出的几个简单命令来实际使用一下:
 
  clear :刷新屏幕;
 
  date :在屏幕上显示日期和时间;
 
  echo :将字符或字符串回显到标准输出上;
 
  cal :显示月份和日历。

1.1.6 系统帮助
 
  CGSL 具有强大的系统和网络功能,数量众多的实用工具软件和大量复杂的操作命令。

  为了帮助用户顺利进行操作,系统提供了多种多样的联机帮助信息以便用户随时查询。
 
联机手册
 
  通过 man 命令使用联机用户手册,系统可以显示任何命令的联机帮助信息。man 命令的语法格式为:
 
    #man [ [ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ] [ -r ] [ -a ] Title  
 
  1.  其中选项及意义如下:
 
  -a  显示所有匹配项。
 
  -c  显示使用 cat 命令的手册信息。
 
  -f  显示在关键字数据库中仅与作为最终参数给定的命令名相关的项。可以输入多个命令名,中间用空格隔开。
 
  -F  只显示首个匹配项。
 
  -k   显示关键字数据库中包含与作为最终参数给定的字符匹配的标题的字符串的每一行。
 
  -m   只在 MANPATH 或 -M 中指定的路径中搜索。
 
  -M Path  更改 man 命令搜索手册信息的标准位置。路径是用冒号隔开的路径的列表,其中,可以使用以下特殊符号:
 
  %D  联机帮助页的缺省 AIX® 路径。
 
  %L  与当前语言环境的 LC_MESSAGES 类别相对应的特定于语言环境的目录位置。
 
  %L  与当前 LC_MESSAGES 类别的首 2 个字符相对应的特定于语言环境的目录位置。
 
  -r  手册信息的远程搜索。如果出于某个原因,远程搜索失败,则 man 将执行本地搜索以获取请求的联机帮助页。
 
  -t  使用 troff 命令格式化手册信息。如果在超文本信息基中查找到手册页面,则忽略该标志。
 
  如果为 Section 参数指定一个段,则 man 命令在手册页面的该段中搜索 Title 参数指定的标题。
 
  Section 参数的值可以是1到8的阿拉伯数字或字母。
 
    1 表示用户命令和守护程序。
 
    2 表示系统调用和内核服务。
 
    3 表示子例程。
 
    4 表示特殊文件、设备驱动程序和硬件。
 
    5 表示配置文件。
 
    6 表示游戏。
 
    7 表示杂项命令。
 
    8 表示管理命令和守护程序。

  2. man 的一些常用参数和用法:
 
    #man -a cmd  
 
  打开所有领域内的同名帮助,例如 man -a fam,您首先会进入一个 fam(1M)的命令版 fam 帮助,您再按 q 键
 
  就会进入 FAM(3X),库函数版的帮助
 
    #man -aw cmd  
 
  显示所有 cmd 的所有手册文件的路径,如 man -aw fam 就是
 
    /usr/share/man/man1/fam.1m.gz  
                                                                   
    /usr/share/man/man3/fam.3x.gz   
 
  man 领域代号 cmd
 
  直接指定特定领域内搜索手册页,如 man 3 fam 直接进入库函数版的帮助
 
  指定手册文件的搜索路径,如 man -M /home/mysql/man mysql 显示的就是您安装的 mysql 的帮助,而不是系统自带的旧版 mysql 的帮助
 
    #man -M cmd  
 
  也可以将内容重定向到一个文本文件内:
 
    #man cmd | col -b > cmd.txt  
 
  新开一个 shell 窗口(或在原窗口 shell> LANG=en_US.UTF-8)
 
    shell>man /usr/share/man/zh/man1/mplayer.1.gz  
 
  man 的配置文件/etc/man.config
 
  如果您不想每次 man cmd 都要用 -M 指定路径,那么可以通过修改配置文件,添加内容如
 
    MANPATH /home/mysql/man  
 
  man 在各领域的搜索次序可以通过修改,但一般不推荐修改。

    MANSECT 1:8:2:3:4:5:6:7:9:tcl:n:l:p:o  
 
  常用的Linux 系统帮助手册按章节分类,位于/usr/share/man 目录下。
 
  3. 应用实例
 
  要显示关于 grep 命令的信息,请输入:
 
    #man grep  
 
  要显示关于 rpc_$register 库例程的信息,请输入:
 
    #man rpc_\$register  
 
  要显示包含“mkdir”字符串的所有项(等同于 apropos 命令),请输入:
 
    #man -k mkdir  
 
  要显示/usr/share/man 或 /usr/share/man/local路径中的所有与ftp命令相关的物件,请输入:
 
    #man -M /usr/share/man:/usr/share/man/local ftp  
 
  要显示所有匹配项,输入以下命令:
 
    #man -a Title  
 
  只要显示首个匹配项,输入以下命令:
 
    #man -F Title  
 
  只要在 MANPATH 或 -M 中指定的路径中搜索,输入以下命令:
 
    #man -m -M PATH Title  
 
  要在用户定义的 PATH 中搜索,输入以下命令:
 
    #man -M PATH Title  

  • 操作系统微信公众号

  • CPI微信公众号

© 2004-2020 广东中兴新支点技术有限公司  版权所有  (www.gd-linux.com)  粤ICP备15061780号-2

新支点OS业务:

QQ客服