




已阅读5页,还剩93页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 Linux常用命令 本章概要 l 安全使用计算机的方式; l 命令行界面shell; l 文件、目录、文件系统、进程等概念; l 使用相应命令对文件、目录、进程等进行管理; l 重定向和管道。 2.1 系统的安全使用 Linux和UNIX系统是多进程、多用户、交互式的计 算环境。 多进程multiprocess是指一个用户可以同时启动并运 行多个计算进程或程序。 多用户mutiluser是指多个用户可以同时使用同一系 统。 登录和退出是必须的。每个用户都要在进入和退出 系统时识别自己的身份,用户的访问权限是在登 录时获取的。 2.1.1 什么是用户帐号 对不同的用户授予不同的权限,使用户对系统具有 不同的管理能力和使用能力,保护他们的私有文 件和信息不被没有授权的用户访问 。 Linux系统需要对想访问系统的用户进行识别和验证 。该处理过程就称为注册(logging in.登录) 。 用户名和用户ID 每个用户在系统中都需要: l 一个惟一的用户名 l 系统标号,即用户UID 比如 Lynn/501 表示系统中有一个用户Lynn,该用户在系统中的标 号为501。用户在登录时使用名称Lynn 。 用户帐号 在Linux系统中,对于用户而言,除了名字以外还有 许多其他特性,所有这些信息就称为用户的帐号 。 一个帐号(account)是指属于一个用户的所有的文 件、资源和信息。 用户在使用系统时,系统会记录用户使用的情况, 比如 l 用户使用系统磁盘的情况 l 占用系统处理器的时间 等。 用户组 一个用户组包含了有相同需求的用户。 例如一个开发部门的所有成员,采用组方式也有助 于系统使用的安全性。 一个用户可以同时属于几个用户组,可以和那些组 中的用户共享信息。 超级用户 每一个Linux系统都有一个特殊的帐户,称为超级用 户,其用户名是root,UID为0。 超级用户拥有所有的系统权限,能够执行普通用户 不能执行的操作。 超级用户在系统安装的时候已经创建,并设置了口 令。在通常的使用过程中建议不要使用root帐号 ,以免在无意中破坏系统。 2.1.2 相关操作命令 登录系统 注册过程: Red Hat Linux release 9 (Shrike) Kernel 2.4.20-8 on an i686 localhost login: root Password: Last login : Sun Feb 20 15:45:12 on : 0 rootlocalhost root# 如果是普通用户,提示符为$。在控制台登录后,可 以执行命令startx启动图形化环境。 2. 更改启动方式 默认情况下,Red Hat Linux 9.0在启动时自动启动X Window进入GUI界面。 Linux有六种不同的运行级Run Level。 0 停机 1 单用户模式 2 多用户模式 3 完全多用户模式 4 保留 5 X Window模式 6 重新启动 在配置文件/etc/inittab中有一行文本 id:5:initdefault: 标志了Linux默认的启动模式。 0:停机(记住不要把initdefault 设置为0,因为这样会使 Linux无法启动 ) 1:单用户模式,就像Win9X下的安全模式。 2:多用户,但是没有 NFS 。 3:完全多用户模式,标准的运行级。 4:一般不用,在一些特殊情况下可以用它来做一些事情。 5:X11,即进到 X-Window 系统。 6:重新启动 (记住不要把initdefault 设置为6,因为这样会 使Linux不断地重新启动)。 注意: 将5改为3,进入的就是标准Console字符界面 模式 l 在X-Window图形操作界面中按“Alt+Ctrl+功能键 Fn n=16 ”就可以进入Console字符操作界面。 使用者可以同时拥有X-Window加上6个Console字 符操作界面。 l 在Console字符操作界面里如何回到刚才的X- Window中呢? 按“Alt+Ctrl+F7”即可。这时Linux默认打开7个屏 幕,编号为tty1tty7。X-Window启动后,占用的 是tty7号屏幕,tty1tty6仍为字符界面屏幕。即用 “Alt+Ctrl+Fn”组合键即可实现字符界面与X Window界面的快速切换。 操作界面的切换 3. 注销 就是取消当前用户的登录,重新回到登录前 的状态。 在提示符后输入命令logout,回车。 有些系统的退出命令是exit。 还可以在shell提示符后,同时按下Ctrl+D键。 3. 修改口令 使用passwd 命令修改口令。 4. 锁住终端会话 使用vlock命令锁住终端。 vlock(virtual console lock) 功能说明:锁住虚拟终端。 语 法:vlock -achv 补充说明:执行vlock指令可锁住虚拟终端,避免他 人使用。 参 数: -a或-all 锁住所有的终端阶段作业,如果您在全 屏幕的终端中使用本参数,则会将用键盘切换终端 机的功能一并关闭。 -c或-current 锁住目前的终端阶段作业,此为预 设值。 -h或-help 在线帮助。 -v或-version 显示版本信息。 2.2 命令行界面shell 在登录之后,Linux系统启动一个作为用户和Linux 内核交互界面的程序,这个程序就叫Linux Shell 。 Shell是Linux操作系统的最外层。Shell的主要用途就 是解释命令。 2.2.1 命令行解释程序 一般操作系统中交互命令解释程序的基本功能就是 逐条解释用户键入的命令,并给出回答或提示。 例如,我们作为MS-DOS用户,每次在C:提示符下 键入一条命令时,就使用了DOS Shell。即 C: 。 GUI也起Shell的作用。Windows、GNOME及KDE都 是图形Shell。 Linux Shell 用户一旦注册进入Linux系统,就与Shell命令解释程 序的主控程序sh进行通信了。 每引用一次解释程序就调用一个Shell,而每个Shell 都有一个基本功能:读入并执行用户在终端上键 入的命令。 例如:当键入的一条命令是一个程序时,如ls, Shell要求Linux为用户显示一个目录列表。 命令行提示符 shell进程提供了命令行提示符。作为默认值 (TurboLinux系统默认的shell是BASH),对普通用 户用“$”作提示符,对超级用户(root)用“#”作提示 符。 想要中断一条命令,可以从键盘上按ctrl+c发出中断 信号来中断它(在正常结束之前,中止它的执行) 。 /etc/passwd文件 用户在登录到Linux时由/etc/passwd文件来决 定要使用哪个shell。例如: #fgrep lisa /etc/passwd lisa:x:500:500:TurboLinuxUser:/home/lisa:/bin/bash shellshell被列每行的末尾被列每行的末尾(/bin/bash)(/bin/bash)。 /etc/passwd文件 这是一个文本文件,可以任意修改其中的文本域。 此文本有7个域,并用冒号作分隔符,以下是其 部分文件内容列表。 各个字段的顺序和含义如下: 注册名:口令:用户标识号:组标识号:用户名: 用户主目录:命令解释程序 这里/bin/sh意即缺省为常规Bourne Shell。 shells文件 在Linux的/etc目录中有一个shells文件,在该文件中 可以看到目前系统中可用的Shell类型。shells文件 如下: Red hat Linux6.0的/etc目录中的shells文件: /bin/bash /bin/sh /bin/ash /bin/bsh /bin/tcsh /bin/csh 2.2.2 bash简介 GNU的Bourne Again Shell(Bash)就是Linux默认的 Shell。 当登录Linux时,默认的Shell就是Bash。 Bash是GNU Project的Shell。 GNU Project是自由软件基金会(Free Software Foundation)的一部分,对Linux下的许多编程工 具负责。 确认Shell版本 如果不能确认现在使用的Shell是不是Bash,在Shell 提示符下键入: $echo $BASH_VERSION$echo $BASH_VERSION 2.02.1(1)-release2.02.1(1)-release 在屏幕上将出现一个版本号,这就说明使用的是在屏幕上将出现一个版本号,这就说明使用的是BashBash 。如果显示的是一条错误信息或者没有版本号,那么。如果显示的是一条错误信息或者没有版本号,那么 可能运行在一个不同的可能运行在一个不同的ShellShell上。上。 可以键入如下命令查看登录可以键入如下命令查看登录ShellShell的名称:的名称: $echo $SHELL 改变Shell的各种方式 1)以root身份登录,键入chsh命令可改变默认shell, 请输入将要使用的shell的完整路径。系统后续的 登录会话就使用这个新的默认shell。 2)在当前默认的shell上运行附加的shell,只需要在 命令行输入要用的shell程序名。需要终止当前的 shell ,键入exitEnter或Ctrl+D。 3)可以键入如下代码调用Bash: $exec /bin/bash$exec /bin/bash 这种方式将无法返回到先前的这种方式将无法返回到先前的shellshell中。中。 Shell启动文件与环境变量 登录系统时,在进入命令提示符前,系统要做两个 工作: l 键入用户名和密码后,系统检查是否为有效用户 ,为此需查询/etc/passwd文件; l 设置登录环境;系统执行两个环境设置文件,第 一个是/etc/profile,第二个是 .profile,位于用户 根目录下。同时系统还处理其他的初始化文件。 Shell启动文件 每个shell的动作,执行命令和程序的机制,如何处 理命令和程序的I/O,以及如何编程都受到某些环 境变量的影响。 每个Linux系统都有一个初始的系统启动文件,即 /etc/profile。这个文件包括了对shell和其他一些实 用程序起作用的重要的环境变量的初始设置。 另外特定的shell还有一些隐藏文件或点文件在启动 该shell时执行。这些文件称为shell启动文件。如 /.profile。 见教材P9表1-2。 环境变量 一个环境变量就是一个对应着一个字符串的名字。 1. 查看环境变量: echo $PATH 2. 2. 在在BashBash下定义一个环境变量,使用下面的语法:下定义一个环境变量,使用下面的语法: export NAME = value NAME = new-value 3. 3. 改变一个环境变量的值改变一个环境变量的值: : Bash环境变量 BASH Bash的可执行程序的全路径名(通常为/bin/bash) BASH_VERSION Bash程序的版本号 HOME 用户的HOME目录 HOSTNAME 系统的主机名 LOGNAME 用户的登录名 MAIL 用户的邮件目录位置 PATH 列出了Shell搜索程序的目录 PSI Shell提示符(对一般用户,缺省的是bash$; 对root用户,缺省的是bash#) SHELL 用户所用的Shell (对于Bash,设置是SHELL=/bin/bash) TERM 终端类型 Bash的特点 l 补全命令行。用户不必输全命令或程序名,按 Tab 键,bash将自动补全命令或程序名。 l 通配符。在bash下可以使用通配符* 和?。*可以 替代多个字符,而?则替代一个字符。 l 历史命令。bash 能自动跟踪你每次输入的命令, 并把输入的命令保存在历史列表缓冲区。 l 别名。在bash下,可用alias 和unalias 命令给命令 或可执行程序起别名和清除别名。 l 输入/输出重定向。输入重定向用于改变命令的输 入,输出重定向用于改变命令的输出。输出重定 向更为常用,它经常用于将命令的结果输入到文 件中,而不是屏幕上。输入重定向的命令是。 l 管道。管道用于将一系列的命令连接起来。也就 是把前面的命令的输出作为后面的命令的输入。 管道的命令是|。 l 提示符。bash 有两级提示符。第一级提示符就是 你登录外壳时见到的,缺省为$。当bash需要进一 步提示以便补全命令时,会显示第二级提示符。 第二级提示符缺省为。 l 作业控制。作业控制是指在一个作业执行过程中 ,控制执行的状态。 你可以挂起一个正在执行的进程,并在以后恢复 该进程的执行。 按下Ctrl+Z 挂起正在执行的进程,用bg命令使进 程恢复在后台执行,用fg命令使进程恢复在前台 执行。 定制Bash 用户可以将每次启动Bash所需要执行的命令 放入初始化文件中,系统中的每个用户在 其主目录中都有一个.bash_profile文件, Bash每次启动时都将读取该文件,其中包 含的所有命令都将被执行。 下面便是默认.bash_profile文件的代码: #.bash_profile #Get the aliases and functions if -f /.bashrc ;then ./.bashrc fi #User specific environment and startup programs PATH=$PATH:$HOME/bin ENV=$HOME/.bashrc USERNAME=” Export USERNAME ENV PATH 2.2.3 shell命令 Shell是一个命令语言解释器(command- language interpreter),拥有自己内建的 Shell命令集。 此外,Shell也能被系统中其他有效的Linux实 用程序和应用程序所调用。 内部命令和外部命令 内部命令:一些命令,它们或者由于自身的需要,或 者出于效率的考虑而构造在Shell的内部,这些命 令在Shell的内部执行。 几个主要的内部命令是注释命令、cd、echo、read、 exit,pwd,是包含在Linux Bash内部的。 当Shell查到这些命令后,就用其本身的代码执行它 ,而不调用Linux的Shell程序或其他程序。 外部命令的代码是以二进制可执行程序文件或Shell 脚本的形式驻留在一个文件中。比如拷贝命令cp 和移动命令rm。 1Shell的命令结构 一条简单的Shell命令的格式为: commandswitchesargumentsfilename 它是由命令名、选项、变量和文件名组成的 字符串。 命令行中输入的第一个字必须是一个命令的 名字,第二个字是命令的选项或参数,命 令行中的每个字必须由空格或TAB隔开。 Shell执行命令的过程 首先检查命令是否为内部命令,如果不是,再检查 是否是一个应用程序。然后,Shell在搜索路径里 寻找这些应用程序。搜索路径是一个能够找到可 执行程序的目录列表。 Shell通常在文件的几个目录中检索命令。 这些目录通常由Shell环境变量PATH指定。实际上 就相当于按顺序检索当前目录、/bin/和/usr/bin/。 特定的目录检索序列可以通过设置Shell的环境变 量PATH来改变。 2选项和参数 选项是包括一个或多个字母的代码,它前面 有一个减号(减号是必要的,Linux用它来 区别选项和参数),选项可用于改变命令 执行的动作的类型。 参数是在命令行中的选项之后键入的一个或 多个单词。 注意:命令行中选项先于参数输入。 3命令行特征 命令行实际上是可以编辑的一个文本缓冲区,在按 回车之前,可以对输入的文本进行编辑。 比如利用BACKSPACE键可以删除刚键入的字符, 可以进行整行删除,还可以插入字符,使得用户 在输入命令,尤其是复杂命令时,若出现键入错 误,无须重新输入整个命令,只要利用编辑操作 ,即可改正错误。 命令分类 文件管理命令:该类命令用于显示、链接、比较、复制 、移动、打印文件以及改变文件的所有权和访问权限。 目录管理命令:该类命令用于建立、删除目录和改变当 前工作的目录。 后援和维护命令:该类命令用于对文件系统进行备份、 恢复及维护。 通信命令:用于在用户之间进行通信。 运行程序的命令:用于控制、干预程序或进程的运行, 信息处理命令:包括一些处理信息时常用的工具。 DOS命令:用于显示、复制、转换和删除DOS系统格式 的磁盘文件。 其他命令:常用的辅助性命令。 2.3 文件与目录的概念及其操作 在Linux中,文件就是一些字符序列。这就意 味着系统中所有的一切,包括键盘在内的 I/O设备都是一个文件。 l Linux中文件的概念 l Linux支持的文件类型 l 基本文件和目录处理命令 2.3.1 文件与目录 文件是Linux用来存储信息的基本结构,它是被命名 (称为文件名)的存储在某种介质(如磁盘、光 盘和磁带等)上的一组信息的集合。 Linux文件均为无结构的字符流形式。 文件名是文件的标识,它由字母、数字、下划线和 圆点组成的字符串来构成。文件名应有意义。其 长度限制在255个字符以内。 可以把扩展名作为文件名的一部分。用圆点区分文 件名和扩展名。 用户可以根据自己的需要,随意加入自己的文件扩 展名。 以下例子都是有效的Linux文件名。 preface chapter1.txt xu.c xu.bak 当你创建一个文件的时候,系统保存了有关该文件 的全部信息,包括: l 文件的位置。 l 文件类型。 l 文件长度。 l 哪位用户拥有该文件,哪些用户可以访问该文件 。 l i节点。 l 文件的修改时间。 l 文件的权限位。 让我们使用ls -l命令,来看一个典型的文件: total 344:total是指总文件数,包括子目录里的。 - r w x r- x r- x:这是文件的权限位。如果除去 最前面的横杠,这里一共是9个字符,分别对应9 个权限位。通过这些权限位,可以设定用户对 文件的访问权限。这9个字符可以分为三组: rwx:文件属主权限,这是前面三位 r-x:同组用户权限,这是中间三位 r-x:其他用户权限,这是最后三位 出现在r、w、x位置上的横杠表示相应的访问权 限被禁止。 38 该文件硬链接的数目。 bin 文件的属主。 bin 文件的属主bin所在的缺省组(也叫做bin)。 4096 用字节来表示的文件长度,记住,不是K 字节! Mar 13 13:01 文件的更新时间。 usr 文件名。 文件类型 Linux系统中有七种文件类型,它可以从ls -l命令所 列出的结果的第一位看出,这七种类型是: d 目录。 l 符号链接(指向另一个文件)。 s 套接字文件。 b 块设备文件。 c 字符设备文件。 p 命名管道文件。 - 普通文件,或者更准确地说,不属于以上几种类型 的文件。 1.普通文件 普通文件分为文本文件和二进制文件。 1)文本文件:这类文件以文本的ASCII码形式存储在 计算机中。它是以“行“为基本结构的一种信息组 织和存储方式。 2)二进制文件:这类文件以文本的二进制形式存储 在计算机中,只有通过相应的软件才能将其显示 出来。二进制文件一般是可执行程序、图形、图 像、声音等等。 2.目录文件 设计目录文件的主要目的是用于管理和组织 系统中的大量文件。 它存储一组相关文件的位置、大小等与文件 有关的信息。目录文件往往简称为目录。 3.设备文件 Linux系统把每一个I/O设备都看成一个文件,与普 通文件一样处理,这样可以使文件与设备的操作 尽可能统一。 从用户的角度来看,对I/O设备的使用和一般文件的 使用一样,不必了解I/O设备的细节。 设备文件可分为块设备文件和字符设备文件。前者 的存取是以一个个字符块为单位的,后者则是以 单个字符为单位的。 其他文件类型 l 符号链接文件:可以“指向”(引用)一个 文件。 l 套接字文件:套接字是两个进程间的通信 端点。 l 命名管道文件:命名管道为同一Linux系统 上的进程相互通信提供了一种机制。 目录 Linux系统通过目录将系统中所有的文件分级、分层 组织在一起,形成了Linux文件系统的树型层次 结构。 目录文件就是能够存放任何类型文件的容器,包括 子目录。 以根目录为起点,所有其他的目录都由根目录派生 而来。 用户可以浏览整个系统,可以进入任何一个已授权 进入的目录,访问那里的文件。 .和目录 系统在建立每一个目录时,都会自动为它设 定两个目录文件: 一个是“.”,代表该目录自己; 另一个是“”,代表该目录的父目录。 对于根目录,“.“和“都代表其自己。 工作目录和用户主目录 用户在登录到Linux系统中之后,每时每刻都“处在” 某个目录之中,此目录被称作工作目录或当前目 录(Working Directory)。工作目录是可以随时 改变的。 用户主目录是系统管理员增加用户时建立起来的( 以后也可以改变),每个用户都有自己的主目录 ,不同用户的主目录一般互不相同。 用户可以通过一个“字符来引用自己的主目录。 路径 路径是指从树型目录中的某个目录层次到某个文件 的一条道路。此路径的主要构成是目录名称,中 间用“/”分开。任一文件在文件系统中的位置 都是由相应的路径决定的。 用户在对文件进行访问时,要给出文件所在的路径 。 路径又分相对路径和绝对路径。 l 绝对路径是指从“根”开始的路径,也称为完全 路径; l 相对路径是从用户工作目录开始的路径。 2.3.2 文件与目录的操作命令 1.显示文件内容命令 用户需要查看一个文件的内容时,可以根据 显示要求的不同选用以下的命令: cat more pg page less head tail od cat 命令 功能1:在标准输出上显示文件。 语法:cat - 选项 文件 说明:该命令功能之一是用来显示文件。它 依次读取其后所指文件的内容并将其输出 到标准输出。 cat命令中各个选项的含义为: -v 用一种特殊形式显示控制字符。 -E 在每行的末尾显示一个符。该选项需要 与- v选项一起使用。 -u 输出不经过缓冲区。 例1: $cat example.txt 则在屏幕上显示出example.txt 文件的内容。 功能2:连接两个或多个文件 说明:该命令功能之二是用来将两个或多个 文件连接起来。 例3: $ cat file1 file2 file3 这样就把文件filel和文件file2的内容合并起来,放入 文件file3中。(此时在屏幕上并不能直接看到该 命令执行后的结果。若想看到连接后的文件内容 ,可以再使用“cat file3”。) 2.文件的复制、删除和移动命令 cp命令 语法: cp 选项 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把 多个源文件复制到目标目录中。 该命令的各选项含义如下: -a 通常在拷贝目录时使用。它保留链接、文件属性 ,并递归地拷贝目录,其作用等于dpR选项的组 合。 -d 拷贝时保留链接。 -f 删除已经存在的目标文件而不提示。 -i 和f选项相反,在覆盖目标文件之前将给出提示 要求用户确认。回答y时目标文件将被覆盖,是 交互式拷贝。 -p 此时cp除复制源文件的内容外,还将把其修改时 间和访问权限也复制到新文件中。 -r 若给出的源文件是一目录文件,此时cp将递归复 制该目录下所有的子目录和文件。此时目标文件 必须为一个目录名。 -l 不作拷贝,只是链接文件。 建议用户在使用cp命令拷贝文件时,最好使用i选项 。 例 $cp - i exam1.c /usr/wang/shiyan1.c 该命令将文件exam1.c拷贝到/usr/wang 这个目 录下,并改名为 shiyan1.c。若不希望重新 命名,可以使用下面的命令: $cp exam1.c /usr/ wang/ $cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的 所有文件及其子目录拷贝到目录/usr/liu中 。 mv命令 用户可以使用mv命令来为文件或目录改名或将文件 由一个目录移入另一个目录中。该命令如同DOS 下的ren和move的组合。 语法:mv 选项 源文件或目录 目标文件或目录 命令中各选项的含义为: -I 交互方式操作。如果mv操作将导致对已存在的目 标文件的覆盖,此时系统询问是否重写,要求用 户回答y或n,这样可以避免误覆盖文件。 -f 禁止交互操作。在mv操作要覆盖某已有的目标文 件时不给任何指示,指定此选项后,i选项将不再 起作用。 例1:将/usr/xu中的所有文件移到当前目录( 用“.”表示)中: $ mv /usr/xu/ * . 例2:将文件wch.txt重命名为wjz.doc $ mv wch.txt wjz.doc rm命令 该命令的功能为删除一个目录中的一个或多个文件 或目录,它也可以将某个目录及其下的所有文件 及子目录均删除。对于链接文件,只是删除了链 接,原有文件均保持不变。 rm命令的一般形式为: rm 选项 文件 如果没有使用-r选项,则rm不会删除目录。 该命令的各选项含义如下: -f 忽略不存在的文件,从不给出提示。 -r 指示rm将参数中列出的全部目录和子目录均递归 地删除。 -i 进行交互式删除。 例 $ rm test $ rm backups/temp.old $ rm /dir1/* $ rm k K*.prn $ rm ir /personal touch命令 格式:touch options filename 选项: -t MMDDhhmm 创建一个具有相应月、日、时分时 间戳的文件。 下面的命令以当前时间创建了一个名为myfile的文件 。 $ touch myfile $ ls l myfile -rw-r- -r- - 1 dave admin 0 Jun 30 09:59 myfile 下面的命令以时间戳6月1 0日上午9 : 3 0创建 了一个名为myfile2的空文件。 $ touch t 06100930 myfile2 $ ls l myfile2 -rw-r- -r- - 1 dave admin 0 Jun 10 09:30 myfile2 3. 文件比较命令 Comm命令 对两个有序的文件进行比较,可以使用comm 命令。 语法:comm - 123 file1 file2 说明:该命令是对两个已经排好序的文件进 行比较。其中file1和file2是已排序的文件。 comm读取这两个文件,然后生成三列输出 :仅在file1中出现的行;仅在file2中出现的 行;在两个文件中都存在的行。如果文件 名用“- ”,则表示从标准输入读取。 选项1、2或3抑制相应的列显示。例如: comm -12 就只显示在两个文件中都存在的行 ; comm -23 只显示在第一个文件中出现而未在 第二个文件中出现的行; comm -123 则什么也不显示。 例如:假设要对文件myfile1和myfile2进行比较 。 $ cat myfile1 $ cat myfile2 main( ) #include main( ) float a,b, i, j ,z ; a=i=10 ; b=j=5 ; float i, j ,z ; z= i + j ; i=10 ; j=5 ; printf(“z=%dn”,z) ; z= i + j ; printf(“z=%fn”,z) ; $comm - 12 myfile1 myfile2 main( ) z= i + j ; 就只显示文件myfile1和myfile2中共有的行。 6.目录管理命令 mkdir命令 功能:创建一个目录。 语法:mkdir 选项 dirname 说明:该命令创建由dirname命名的目录。要 求创建目录的用户在当前目录中 (dirname 的父目录中)具有写权限,并且dirname不 能是当前目录中已有的目录或文件名称。 rmdir 命令 功能:删除空目录。 语法:rmdir 选项 dirname 说明:dirname表示目录名。该命令从一个目录中删 除一个或多个子目录项。 需要特别注意的是,一个目录被删除之前必须是空 的。 注意,rm -r dir 命令可代替 rmdir,但是有很大危险 性。 删除某目录时也必须具有对父目录的写权限。 cd 命令 功能:改变工作目录。 语法:cd directory 说明:该命令将当前目录改变至directory所指定的目 录。若没有指定directory,则回到用户的主目录 。为了改变到指定目录,用户必须拥有对指定目 录的执行和读权限。 pwd命令 语法:pwd 说明:此命令显示出当前工作目录的绝对路径。 ls 命令 语法:ls 选项 目录或是文件 对于每个目录,该命令将列出其中的所有子目录与 文件。 对于每个文件,ls将输出其文件名以及所要求的其 他信息。 默认情况下,输出条目按字母顺序排序。当未给出 目录名或是文件名时,就显示当前目录的信息。 命令中各选项的含义如下: -a 显示指定目录下所有子目录与文件,包括隐藏文 件。 -A 显示指定目录下所有子目录与文件,包括隐藏文 件。但不列出“.”和 “”。 -b 对文件名中的不可显示字符用八进制逃逸字符显 示。 -c 按文件的修改时间排序。 -C 分成多列显示各项。 -l 以长格式来显示文件的详细信息。这个选项最常 用。 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大 小 建立或最近修改的时间 名字 对于符号链接文件,显示的文件名之后有“”和 引用文件路径名。 对于设备文件,其“文件大小”字段显示主、次设备 号,而不是文件大小。 用ls - l命令显示的信息中,开头是由10个字符构 成的字符串,其中第一个字符表示文件类型,它 可以是下述类型之一: - 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件 后面的9个字符表示文件的访问权限,分为3组,每 组3位。 第一组表示文件属主的权限,第二组表示同组用户 的权限,第三组表示其他用户的权限。每一组的 三个字 符分别表示对文件的读、写和执行权限 。 各权限如下所示: r 读 设置了读权限的文件可以被显示或打印;具有 读权限的目录可以显示其中所包含的文件列表。 w 写 具有写权限的文件可以被编辑或删除;具有写 权限的目录可以被删除。 x 执行 若文件是Shell脚本文件,它可以被作为程序 执行;对于目录,表示进入权限。 2.3.3 权限及权限的改变 为了防止未授权用户访问你的文件,可以在文件和 目录上设置权限位。还可以设定文件在创建时所 具有的缺省权限这些只是整个系统安全问题 中的一小部分。 创建文件的用户和他所属于的组拥有该文件。文件 的属主可以设定谁具有读、写、执行该文件的权 限。 当然,根用户或系统管理员可以改变任何普通用户 的设置。 文件的访问方式和权限 一个文件一经创建,就具有三种访问方式: 1) 读,可以显示该文件的内容。 2) 写,可以编辑或删除它。 3) 执行,如果该文件是一个shell脚本或程序。 按照所针对的用户,文件的权限可分为三类: 1) 文件属主user,创建该文件的用户。 2) 同组用户group,拥有该文件的用户组中的任何用 户。 3) 其他用户other,即不属于拥有该文件的用户组的 某一用户。 权限 让我们用touch命令创建一个文件: $ touch myfile $ ls l myfile -rw-r- -r- - 1 dave admin 0 Jun 30 09:59 myfile 文件属主权限 组用户权限 其他用户权限 rw- r- - r- - 改变文件或目录的访问权限 对于属于你的文件,可以按照自己的需要改变其权 限位的设置。 在改变文件权限位设置之前,要仔细地想一想有哪 些用户需要访问你的文件(包括你的目录)。 可以使用chmod命令来改变文件权限位的设置。 这一命令有两种使用模式: l 符号模式 l 绝对模式 chmod 命令符号模式 chmod命令的一般格式为: chmod who operator permission filename who的含义是: u 文件属主权限 g 同组用户权限 o 其他用户权限 a 所有用户(文件属主、同 组用户及其他用户) operator的含义: + 增加权限 - 取消权限 = 设定权限 permission的含义: r 读权限。 w 写权限。 x 执行权限。 s 文件属主和组set-ID。 t 粘滞位*。 l 给文件加锁,使其他用 户无法访问。 t 粘滞位 在列文件或目录时,有时会遇到“ t”位。 “t”代表了粘滞位。如果在一个目录上出现“t”位,这 就意味着该目录中的文件只有其属主才可以删除 ,即使某个同组用户具有和属主同等的权限。 不过有的系统在这一规则上并不十分严格。 chmod命令举例 假定myfile文件最初具有这样的权限:rwx rwx rwx chmod a-x myfile rw- rw- rw- 收回所有用户的执行权限 chmod og-w myfile rw- r- r- - 收回同组用户和其他用户的写权限 chmod g+w myfile rw- rw- r- - 赋予同组用户写权限 chmod u+x myfile rwx rw- r- - 赋予文件属主执行权限 chmod go+x myfile rwx rwx r-x 赋予同组用户和其他用户执行权限 chmod 命令绝对模式 chmod命令绝对模式的一般形式为: chmod mode file 其中mode是一个八进制数。该数字表示的属性的含 义: 0表示没有权限,1表示可执行权限,2表示可写权限 ,4表示可读权限,然后将其相加。 所以数字属性的格式应为3个从0到7的八进制数,其 顺序是(u)(g)(o)。 例如,如果想让某个文件的属主有“读/写”二种权 限,需要把4(可读)+2(可写)6(读/写) 。 有一个计算八进制权限表示的办法,如表所示。 表 计算权限值 文件属主 同组用户 其他用户 r w x r w x r w x 4 + 2 + 1 4 + 2 + 1 4 + 2 + 1 使用上表,可以更容易地计算出相应的权限值,只 要分别针对文件属主、同组用户和其他用户把相 应权限下面的数字加在一起就可以了。 绝对模式例子 例1: 即设定文件 mm.txt 的属性为: l 文件属主(u)inin 拥有读、写权限 l 与文件属主同组人用户(g) 拥有读权限 l 其他人(o) 拥有读权限 $ chmod 644 mm.txt $ ls l -rw-r-r- 1 inin users 1155 Nov 5 11:22 mm.txt 例2: 即设定wchtxt这个文件的属性为: l 文件主本人(u)inin 可读/可写/可执行权 l 与文件主同组人(g) 可读/可执行权 l 其他人(o) 没有任何权限 $ chmod 750 wch.txt $ ls l -rwxr-x- 1 inin users 44137 Nov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年煤气安全操作面试题及参考答案
- 2025年智慧仓储技术应用专家考试题库及答案全解
- 2025年人力资源管理师初级面试题集锦
- 2025年旅游行业营销策划师招聘笔试模拟题集
- 2025年财务会计实操模拟题集及账务处理技巧含答案
- 2025年物联网技术中级工程师面试题详解及答题技巧
- 2025年护士执业资格中级考试模拟试题及参考答案详解
- 2025年特岗教师招聘考试初中政治面试高分突破策略
- 2025年物资供应链管理与运营实务手册及模拟题集
- 人物描写课件教学设计
- 酒店员工工伤预防培训
- 固定翼无人机机身设计
- 2024-2025学年成都市锦江区数学五年级第二学期期末经典试题含答案
- 科技助力下的老年人健康生活
- 《光电显示应用技术》课件-第一章 显示技术基础
- 2019保障性住房设计标准共有产权保障住房和征收安置房分册
- 【大学课件】电子商务概述
- 2025年内蒙古呼伦贝尔农垦拉布大林上库力三河苏沁农牧场有限公司招聘笔试参考题库附带答案详解
- 临时用工安全培训课件
- 布料工厂转让合同范例
- 2025第九届中小学生“学宪法、讲宪法”活动竞赛题题库(含答案)
评论
0/150
提交评论