普通用户一般没有关机权限,只有系统管理员(root身份的特权用户)才能关闭系统。Linux是多用户操作系统,所以在接有多终端的Linux系统中,除系统管理员本人之外,可能还有很多用户通过各种方式使用Linux主机。另外,在正常工作时,系统为提高访问和处理数据的速度,将很多进行中的工作驻留在内存中,如果突然关机,系统内核来不及将缓冲区的数据写到磁盘上,就会丢失数据甚至破坏文件系统。因此,系统管理员不能以直接关闭电源的方式来停止Linux系统的运行,而要按正常顺序关机。关机方法有两种:可以使用halt或shutdown命令,也可以同时键入Ctrl+Alt+Del。例如,如果使用halt命令,最后会显示已关机的信息:The system is halted.System halted.这时才可以关闭电源。1.5.2.文本编辑命令Linux文件可分为二进制文件和文本文件。二进制文件通常是由程序生成的,而文本文件既可以由程序生成也可以用编辑器来创建。Linux下可运行许多种编辑器:有行编辑程序,如ed和ex;也有全屏编辑程序,如vi和emacs等。vi是UNIX系统提供的标准的屏幕编辑程序,它虽然很小,但功能很强,是所有UNIX和Linux系统中最常用的文本编辑器。本节的讨论主要以vi为例。利用vi进行编辑时,屏幕显示的内容是被编辑文件的一个窗口。在编辑过程中,vi只是对文件的副本进行修改,而不直接改动源文件,因此用户可以随时放弃修改的结果,返回原始文件。只有当编辑工作告一段落,用户明确地发出保存修改结果的命令时,vi才用修改后的文件取代原始文件。1.vi的两个模式vi编辑器有两种模式:命令模式和输入模式。在命令模式中,键入的是命令这些命令有移动光标、打开或保存文件,或者进入输入模式以及查找或替换等。在输入模式中,:键入的内容直接作为文本。只要按下Esc键,就可以进入命令模式。2.vi的使用举例下面举例说明vi的使用。(1)假如要创建或编辑文件test,则只要输入如下命令即可:Svitest当vi激活后,首先让终端清屏,然后会显示如下状态:"test"[New file]这时vi处于命令模式。这里为节省空间,只显示了部分行,其中“一”表示空白缓冲区,而下面的“”表示光标位置。(2)键入i进入输入模式,并输入:Whatis”LINUX"?Inthenarrowsense,(3)按下Esc键,就可进入命令模式。这时,可以通过方向键或b键或f键,将光标移动到如下所示位置:What is”UNIX”?Inthenarrow_sense~~~9
9 普通用户一般没有关机权限,只有系统管理员(root 身份的特权用户)才能关闭系统。 Linux 是多用户操作系统,所以在接有多终端的 Linux 系统中,除系统管理员本人之外, 可能还有很多用户通过各种方式使用 Linux 主机。另外,在正常工作时,系统为提高访问 和处理数据的速度,将很多进行中的工作驻留在内存中,如果突然关机,系统内核来不及 将缓冲区的数据写到磁盘上,就会丢失数据甚至破坏文件系统。因此,系统管理员不能以 直接关闭电源的方式来停止 Linux 系统的运行,而要按正常顺序关机。关机方法有两种: 可以使用 halt 或 shutdown 命令,也可以同时键入 Ctrl+Alt+Del。 例如,如果使用 halt 命令,最后会显示已关机的信息: The system is halted. System halted. 这时才可以关闭电源。 1.5.2.文本编辑命令 Linux 文件可分为二进制文件和文本文件。二进制文件通常是由程序生成的,而文本 文件既可以由程序生成也可以用编辑器来创建。Linux 下可运行许多种编辑器:有行编辑 程序,如 ed 和 ex;也有全屏编辑程序,如 vi 和 emacs 等。 vi 是 UNIX 系统提供的标准的屏幕编辑程序,它虽然很小,但功能很强,是所有 UNIX 和 Linux 系统中最常用的文本编辑器。本节的讨论主要以 vi 为例。 利用 vi 进行编辑时,屏幕显示的内容是被编辑文件的一个窗口。在编辑过程中,vi 只是对 文件的副本进行修改,而不直接改动源文件,因此用户可以随时放弃修改的结果,返回原 始文件。只有当编辑工作告一段落,用户明确地发出保存修改结果的命令时,vi 才用修改 后的文件取代原始文件。 1.vi 的两个模式 vi 编辑器有两种模式:命令模式和输入模式。在命令模式中,键入的是命令.这些命. 令有移动光标、打开或保存文件,或者进入输入模式以及查找或替换等。在输入模式中,. 键入的内容直接作为文本。只要按下 Esc 键,就可以进入命令模式。 2.vi 的使用举例 下面举例说明 vi 的使用。 (1)假如要创建或编辑文件 test,则只要输入如下命令即可: $vi test 当 vi 激活后,首先让终端清屏,然后会显示如下状态: "test"[New file] 这时 vi 处于命令模式。这里为节省空间,只显示了部分行,其中“—”表示空白缓冲 区,而下面的“_”表示光标位置。 (2)键入 i 进入输入模式,并输入: What is”LINUX”?In the narrow sense,—— (3)按下 Esc 键,就可进入命令模式。这时,可以通过方向键或 b 键或 f 键,将光标移 动到如下所示位置: What is”UNIX”?In the narrow_sense, ~ ~ ~
(4)键入a讲入输入模式,可在光标后输入字符,按下Esc键进入命令模式。Whatis"LINUX"?Inthenarrowestsense,~(5)键入进入输入模式,输入一行,键入Esc进入命令模式。将光标移到y字母下:What is"LINUX"?Inthe narrowest sense,it is atime-sharingoperatingsystem~~(6)在命令模式下,键入x可删除一个字符。如果连续5次,那么会出现如下状态:Whatis"LINUX''?Inthenarrowestsense,it is a time-sharing operating s~~(7)在命令模式下,键入ZZ或“:wg”就可以保存文件并退出。3.vi的其他信息以上只介绍了vi的几个基本操作。表1-1一表1-3列出了vi的一些常用操作。注意:<a>表示按键a,而不是按三个键<、a和>。表1-1进入输入模式的方法操作作用在光标后输入文本<a><A>在当前行末尾输入文本<i>在光标前输入文本<>在当前行开始输入文本<0>在当前行后输入新一行<0>在当前行前输入新一行注:①可以在以上命令之前加上数字表示重复次数。②可以利用键盘上的方向键及<PageDown>等使光标定位于所需的位置。表1-2删除操作操作作用X>删除光标所在的字符<dw>删除光标所在的单词<ds>删除光标至行尾的所有字符<D>同<ds><dd>删除当前行注:可在删除命令前加上数字,如<5dd>表示删除5行。表1-3改变与替换操作操作作用<r>替换光标所在的字符<R>替换字符序列替换一个单词<cW>同<cw><ce>10
10 (4)键入 a 讲入输入模式,可在光标后输入字符,按下 Esc 键进入命令模式。 What is "LINUX"? In the narrowest_sense, ~ ~ ~ (5)键入进入输入模式,输入一行,键入 Esc 进入命令模式。将光标移到 y 字母下: What iS ”LINUX"? In the narrowest sense, it is a time-sharing operating system ~ ~ (6)在命令模式下,键入 x 可删除一个字符。如果连续 5 次,那么会出现如下状态: What is ”LINUX'’?In the narrowest sense, it is a time-sharing operating s_ ~ ~ (7)在命令模式下,键入 ZZ 或“:wq”就可以保存文件并退出。 3.vi 的其他信息 以上只介绍了 vi 的几个基本操作。表 1-1—表 1-3 列出了 vi 的一些常用操作。 注意:<a>表示按键 a,而不是按三个键<、a 和>。 表 1-1 进入输入模式的方法 操作 作用 <a> 在光标后输入文本 <A> 在当前行末尾输入文本 <i> 在光标前输入文本 <I> 在当前行开始输入文本 <o> 在当前行后输入新一行 <O> 在当前行前输入新一行 注:①可以在以上命令之前加上数字表示重复次数。 ②可以利用键盘上的方向键及<PageDown>等使光标定位于所需的位置。 表 1-2 删除操作 操作 作用 <x> 删除光标所在的字符 <dw> 删除光标所在的单词 <d$> 删除光标至行尾的所有字符 <D> 同<d$> <dd> 删除当前行 注:可在删除命令前加上数字,如<5dd>表示删除 5 行。 表 1-3 改变与替换操作 操作 作用 <r> 替换光标所在的字符 <R> 替换字符序列 <cw> 替换一个单词 <ce> 同<cw>
1.5.3.文件操作命令在Linux系统中,所有的数据信息都组织成文件的形式,然后保存在层次结构的树形目录中。用户的一切工作本质上就是对文件的操作。1.目录与文件的基本操作Linux的文件系统结构是树状结构。执行Linux命令,总是在某一目录下进行的,该目录称为当前工作目录(currentworkingdirectory),通常简称为当前目录。当用户刚登录到系统中时,当前目录为该用户的主目录(homedirectory)。例如用户wang的主目录为/home/wang。用户主目录可以在/etc/passwd文件中指定。当引用另一个文件或目录时,可以从当前工作目录来相对定位(给出相对路径),如doc/ffie.c:也可从根目录来绝对定位(给出绝对路径),如/home/wang/doc/file.c。在Linux中,目录名之间用“”分隔。在Linux文件系统中,根目录是用“/”表示的。另外“”表示当前目录,而“”表示当前目录的上一级目录。1)常用的目录操作命令pwd功能:打印当前工作目录。例如:$pwd/home/wang·cd功能:改变当前目录。例如,首先将当前目录改为上一级目录即/home,然后再将当前目录改为/usr/bin。这些操作结果可从动态改变的shell提示中看出来。wlinux: Scd ..wlinux:homescd/usr/binwlinux:/usr/binsmkdir功能:创建目录。例如下面创建了数个子目录:Smkdir bin doc prog junkDir junkDir2$Is-CFBin/doc/junkDir/junkDir2/ prog/●rmdir功能:删除目录。例如下面删除了两个子目录junkDir和junkDir2(欲删除子目录的内容应为空白):Srmdir junkDir junkDir2$Is-CFbin/doc/prog/2)常用的文件操作命令有关文件操作命令与目录操作类似,现简述其中的三条命令。·cat功能:显示文件内容或合并多文件内容。不管文件长短,使用cat会一下子显示所有内容。11
11 1.5.3.文件操作命令 在 Linux 系统中,所有的数据信息都组织成文件的形式,然后保存在层次结构的树形 目录中。用户的一切工作本质上就是对文件的操作。 1.目录与文件的基本操作 Linux 的文件系统结构是树状结构。执行 Linux 命令,总是在某一目录下进行的,该 目录称为当前工作目录(current working directory),通常简称为当前目录。当用户刚登录到 系统中时,当前目录为该用户的主目录(home directory)。例如用户 wang 的主目录为 /home/wang。用户主目录可以在/etc/passwd 文件中指定。 当引用另一个文件或目录时,可以从当前工作目录来相对定位(给出相对路径),如 doc/f'fie.c;也可从根目录来绝对定位(给出绝对路径),如/home/wang/doc/file.c。在 Linux 中,目录名之间用“/”分隔。在 Linux 文件系统中,根目录是用“/”表示的。另外“.” 表示当前目录,而“.”表示当前目录的上一级目录。 1)常用的目录操作命令 ● pwd 功能:打印当前工作目录。 例如: $pwd /home/wang ● cd 功能:改变当前目录。 例如,首先将当前目录改为上一级目录即/home,然后再将当前目录改为/usr/bin。这 些操作结果可从动态改变的 shell 提示中看出来。 wlinux:$cd .. wlinux:home$cd /usr/bin wlinux:/usr/bin$ ● mkdir 功能:创建目录。 例如下面创建了数个子目录: $mkdir bin doc prog junkDir junkDir2 $ ls -CF Bin/ doc/ junkDir/ junkDir2/ prog/ ● rmdir 功能:删除目录。 例如下面删除了两个子目录 junkDir 和 junkDir2(欲删除子目录的内容应为空白): $rmdir junkDir junkDir2 $ ls -CF bin/ doc/ prog/ 2)常用的文件操作命令 有关文件操作命令与目录操作类似,现简述其中的三条命令。 ● cat 功能:显示文件内容或合并多文件内容。不管文件长短,使用 cat 会一下子显示所有 内容
例如:Scat junk·cp功能:复制文件。例如把一文件junk复制到文件junlc2中:Scp junk junk2●rm功能:删除文件。例如删除文件junk:$ rm junk2.文件权限Linux系统为了保护用户个人的文件不被其他用户读取、修改或执行,Linux提供了文件权限机制。对每个文件(或目录)而言,有以下4种不同的用户:●root:系统超级用户,能够以root账号登录。●owner:实际拥有文件(或目录)的用户,即文件所有者。·group:用户所在用户组的成员。●other:以上三类之外的所有其他用户。其中,root用户自动拥有读、写和执行所有文件的操作权限,而其他三种用户的操作权限可以分别授予或撤销。因此,每个文件为后三种用户建立了一组9位的权限标志,分别赋予文件所有者、用户组和其他用户对该文件的读、写和执行权。1)显示文件权限可以用“Is-1”命令显示文件的权限,例如:$ Is -l210241802:49drwxr-xr-xwangusersAugbin10242Aug2016:64docldrwxr-xr-xwangusers8491 Aug1803:00junk-rw-r--r--wangusers5801802:561wangAugme.txt-rw-r--r--users2102402:49drwxr-xr-xwangAug18usersprogtotal 5在以上所列出的文件的长格式显示中,共有七列:?第1列表示文件权限,如junk的权限为-rw-r--r--。.第2列表示文件的链接数,如junk的链接数为1。第3列表示文件的所有者,如junk的所有者为wang。.第4列表示文件所属的用户组,如,junk的用户组为users。·第5列表示文件的大小,如,iunk的字符数为849。?第6列表示文件的最后修改日期与时间,如junk的上一次修改时间为Aug1803:00。·第7列表示文件本身的名称,如junk。文件访问权限由10个字符组成,如;-rw-r----第一个字符表示文件类型:-为普通文件,d为目录,b为块设备文件,c为字符设备文件,1为符号链接。后面9个字符每三个字符为一组,依次代表文件的所有者、文件所有者;所属的用户组以及其他用户的访问权限。每组的三个字符依次代表读、写和执行权限。系统用r代表读权限,W代表写权限,x代表可执行权限(对目录而言,可执行表示可12
12 例如: $cat junk ● cp 功能:复制文件。 例如把一文件 junk 复制到文件 junlc2 中: $cp junk junk2 ● rm 功能:删除文件。 例如删除文件 junk: $ rm junk 2.文件权限 Linux 系统为了保护用户个人的文件不被其他用户读取、修改或执行,Linux 提供了文 件权限机制。对每个文件(或目录)而言,有以下 4 种不同的用户: ● root:系统超级用户,能够以 root 账号登录。 ● owner:实际拥有文件(或目录)的用户,即文件所有者。 ● group:用户所在用户组的成员。 ● other:以上三类之外的所有其他用户。 其中,root 用户自动拥有读、写和执行所有文件的操作权限,而其他三种用户的操作 权限可以分别授予或撤销。因此,每个文件为后三种用户建立了一组 9 位的权限标志,分 别赋予文件所有者、用户组和其他用户对该文件的读、写和执行权。 1)显示文件权限 可以用“ls -1”命令显示文件的权限,例如: $ ls -l drwxr-xr-x 2 wang users 1024 Aug 18 02:49 bin drwxr-xr-x 2 wang users 1024 Aug 20 16:64 doc1 -rw-r-r- 1 wang users 849 Aug 18 03:00 junk -rw-r-r- 1 wang users 580 Aug 18 02:56 me.txt drwxr-xr-x 2 wang users 1024 Aug 18 02:49 prog total 5 在以上所列出的文件的长格式显示中,共有七列: ● 第 1 列表示文件权限,如 junk 的权限为-rw-r-r-。 ● 第 2 列表示文件的链接数,如 junk 的链接数为 1。 ● 第 3 列表示文件的所有者,如 junk 的所有者为 wang。 ● 第 4 列表示文件所属的用户组,如,junk 的用户组为 users。 ● 第 5 列表示文件的大小,如,iunk 的字符数为 849。 ● 第 6 列表示文件的最后修改日期与时间,如 junk 的上一次修改时间为 Aug 18 03: 00。 ● 第 7 列表示文件本身的名称,如 junk。 文件访问权限由 10 个字符组成,如; -rw-r-r- 第一个字符表示文件类型:-为普通文件,d 为目录,b 为块设备文件,c 为字符设备 文件,1 为符号链接。后面 9 个字符每三个字符为一组,依次代表文件的所有者、文件所 有者;所属的用户组以及其他用户的访问权限。每组的三个字符依次代表读、写和执行权 限。系统用 r 代表读权限,w 代表写权限,x 代表可执行权限(对目录而言,可执行表示可
以进入浏览;如果没有相应权限,则用-表示。2)设置或改变文件权限文件所有者和超级用户可以用命令chmod来设置或改变文件的权限。命令chmod的用法有两种,其中一种如下:chmod(a,u,g,o)[+,-,](r,W,x)文件名这里,可以用a(dl,所有用户)、u(user,所有者)、g(group,所属用户组)、o(other,其他用户)中由一个或多个表示访问权限的赋予对象;用+、-、:分别表示增加、删除、赋予权限;用r、W、x组合表示读、写、执行权限。另一种用法是用八进制数来设置权限:chmodnnn文件名其中,nnn为三个八进制数,每个八进制数分别表示所有者、同组用户与其他用户的权限,这些八进制数所对应的三位二进制数分别对应于读、写和执行权限,1表示有相应的权限,而0表示没有相应的权限。例如:chmod755文件名755代表-rwxr-xr-x,表示文件所有者具有读、写和执行权限,同组用户具有读和执行权限,其他用户具有读和执行权限。3.文件链接在Linux文件系统中,每一个文件只有一个惟一的索引节点号(inodenumber)即文件的内部标识符,可以有多个外部名称(用户指定的)。一个目录实际上是文件的索引节点号与其相对应的文件名的一个列表,目录中的每个文件名都有一个索引节点号与之对应。1)查看索引节点号1s-i可用来查看索引节点号,例如:$Is-i45615 f$1n可用来为一个文件再增加一个名称,在系统内部则为文件增加一个链接,该文件名与原文件名指向同一个文件。例如:$lnfg$lngh$ Is -iltotal 544561517127Aug2022:09f5-rw----3wangusers456153wangusers17127Aug2022:095-rw-r--{--g22:09h45615-rw-r--r--3wang171277Aug202users从显示中可以看出文件f有三个链接。3)删除一个文件当用命令rm删除一个文件时,实际上删除的是文件的一个链接(或一个名称)。例如,以下操作使文件f的链接数减1,从显示中可以看出最后显示少了一行:$rmh$ Is -iltotal36456155-rw-r--r--2wangusers17127Aug2022:09f456152wang17127Aug2022:09g-----users当文件链接数为0时,则相应的文件索引节点才被删除,即实际删除了文件,例如:13
13 以进入浏览;如果没有相应权限,则用-表示。 2)设置或改变文件权限 文件所有者和超级用户可以用命令 chmod 来设置或改变文件的权限。命令 chmod 的用 法有两种,其中一种如下: chmod {a, u, g, o} [+,-,=] {r,w,x) 文件名 这里,可以用 a(d1,所有用户)、u(user,所有者)、g(group,所属用户组)、o(other, 其他用户)中由一个或多个表示访问权限的赋予对象;用+、-、:分别表示增加、删除、赋 予权限;用 r、w、x 组合表示读、写、执行权限。 另一种用法是用八进制数来设置权限: chmod nnn 文件名 其中,nnn 为三个八进制数,每个八进制数分别表示所有者、同组用户与其他用户的 权限,这些八进制数所对应的三位二进制数分别对应于读、写和执行权限,1 表示有相应 的权限,而 0 表示没有相应的权限。例如: chmod 755 文件名 755 代表-rwxr-xr-x,表示文件所有者具有读、写和执行权限,同组用户具有读和执行 权限,其他用户具有读和执行权限。 3.文件链接 在 Linux 文件系统中,每一个文件只有一个惟一的索引节点号(inode number)即文件的 内部标识符,可以有多个外部名称(用户指定的)。一个目录实际上是文件的索引节点号与 其相对应的文件名的一个列表,目录中的每个文件名都有一个索引节点号与之对应。 1)查看索引节点号 1s -i 可用来查看索引节点号,例如: $ ls -i 45615 f $ 1n 可用来为一个文件再增加一个名称,在系统内部则为文件增加一个链接,该文件名 与原文件名指向同一个文件。例如: $ ln f g $ ln g h $ ls -il total 54 45615 -rw-r-r- 3 wang users 17127 Aug 20 22:09 f 45615 -rw-r-r- 3 wang users 17127 Aug 20 22:09 g 45615 -rw-r-r- 3 wang users 17127 Aug 20 22:09 h 从显示中可以看出文件 f 有三个链接。 3)删除一个文件 当用命令 rm 删除一个文件时,实际上删除的是文件的一个链接(或一个名称)。例如, 以下操作使文件 f 的链接数减 1,从显示中可以看出最后显示少了一行: $ rm h $ ls -il total 36 45615 -rw-r-r- 2 wang users 17127 Aug 20 22:09 f 45615 -rw-r-r- 2 wang users 17127 Aug 20 22:09 g 当文件链接数为 0 时,则相应的文件索引节点才被删除,即实际删除了文件,例如: