第2章 Linux常用命令
主要内容 安全使用计算机的方式 输入正确的命令以完成简单的任务 文件、目录、文件系统、进程等概念 使用相应命令对文件、目录、进程及软盘进行管理 遇到问题时如何找到帮助信息
2.1 使用命令 2.1.1 进入shell界面
2.1.2 命令格式 ▲应注意 : bash命令的一般格式是: 命令名 [选项] [参数1] [参数2] … 例如: 2.1.2 命令格式 bash命令的一般格式是: 命令名 [选项] [参数1] [参数2] … 例如: cp –i file1.c myfile.c ▲应注意 : 命令名必须是小写的英文字母 一般格式中由方括号括起来的部分是可选的 选项以“-”开始,多个选项可用“-”连起来 命令行的参数提供命令运行的信息或者命令执行过程中所使用的文件名 如果命令行中没有提供参数,则命令使用标准文件进行输入/输出 命令在正常执行后返回一个0值,表示执行成功 Linux操作系统的联机帮助对每个命令的准确语法都做了说明
2.1.3 输入命令 应注意,在命令与选项和参数之间要用空格或制表符隔开 2.1.3 输入命令 $ echo The old has past away and the new is \ <Enter> > a fresh awaiting your creative touch. <Enter> The old has past away and the new is a fresh awaiting your creative touch. 应注意,在命令与选项和参数之间要用空格或制表符隔开
2.2 简单命令 1.who 列出所有正在使用系统的用户、所用终端名和注册到系统的时间 2.2 简单命令 1.who 列出所有正在使用系统的用户、所用终端名和注册到系统的时间 2.echo 将命令行中的参数显示到标准输出(即屏幕)上 3.date 在屏幕上显示或设置系统的日期和时间 4.cal 显示公元1~9999年中任意一年或者任意一个月的日历 5.clear 清除屏幕上的信息 6.passwd 修改用户密码
2.3 文件概念和文件类型 2.3.1 文件系统的概念 1.文件与目录的定义 文件系统 、文件、目录 、子目录、文件名、 2.3 文件概念和文件类型 2.3.1 文件系统的概念 1.文件与目录的定义 文件系统 、文件、目录 、子目录、文件名、 路径名、当前工作目录 2.文件结构 文件的成分——索引节点 数据
命名文件——使用文件名时应注意: ▲尽量简捷有效 ▲不要用斜线(/)和空字符(ASCII字符\0) ▲习惯上允许使用下线符(_)和句点(.)来区别文件的类型 ,但是应避免使用以下有特殊含义的字符: ; | < > ˋ ″ ′ $ ! % & * ? \ ( ) [ ] ▲同类文件应使用同样的后缀或扩展名 ▲Linux系统区分文件名的大小写 ▲以圆点(.)开头的文件名是隐含文件
2.3.2 文件类型 1.普通文件 文本文件 数据文件 可执行的二进制程序 2.目录文件 是一种特别文件,利用它可以构成文件系统的分层树状结 2.3.2 文件类型 1.普通文件 文本文件 数据文件 可执行的二进制程序 2.目录文件 是一种特别文件,利用它可以构成文件系统的分层树状结 3.设备文件 是一种特别文件,用来标记各个设备驱动器。字符设备、块设备 4.符号链接文件 是一种特殊文件,提供对其他文件的参照
2.4 文件操作命令 2.4.1 有关文件显示命令 1.cat命令 一般格式: cat [选项] 文件 2.4 文件操作命令 2.4.1 有关文件显示命令 1.cat命令 一般格式: cat [选项] 文件 有两项功能:在标准输出上显示文件的内容;连接两个或多个文件 如: $ cat f1 f2>f3 常用选项: -b,--number-noblank 从1开始对所有非空输出行进行编号。 -n,--number 从1开始对所有输出行编号。 -s,--squeeze-blank 将多个相邻的空行合并成一个空行。 --help 打印该命令用法,并退出,其返回码表示成功。
2.more命令 一般格式: more [选项] 文件 说明:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比:--More--(XX%)。 常用选项: -num,这个选项指定一个整数,表示一屏显示多少行。 -d,在每屏的底部显示以下更友好的提示信息: -c或-p,不滚屏,在显示下一屏之前先清屏。 -s,将文件中连续的空白行压缩成一个空白行显示。 +/,该选项后的模式(Pattern)指定显示每个文件之前进行搜索的字符串。 +num,从行号num开始。
3.less命令 less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。 4.head命令 一般格式: head [选项] file 说明:head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定。显示行数的默认值是10。 选项: -c,--bytes=[-]N 显示每个文件前面N个字节。如果数字N前面带有“-”,则分别显示每个文件除最后N个字节以外的所有内容。 -n,--lines=[-]N 显示指定文件的前面N行,而不是默认的10行。如果数字N前面带有“-”,则分别显示每个文件除最后N行以外的所有内容。 -q,-quiet,--silent 不显示给定文件的标题。 -v,--verbose 始终显示给定文件的标题。
5.tail命令 一般格式: tail [选项] [file] … 选项: -c,--bytes=N 输出最后N个字节。 -f 当文件增长时输出附加的数据。 -n,--lines=N 输出最后的N行,而不是默认的10行。 -q,-quiet,--silent 不输出包含给定文件名的标题。 -v,--verbose 始终输出包含给定文件名的标题。
6.touch命令 一般格式: touch [选项] 文件名 … 选项: -a 仅改变指定文件的存取时间。 -c,--no-create 不创建任何文件。 -m 仅改变指定文件的修改时间。 -t STAMP 使用STAMP指定的时间标签,而不是系统当前的时间 。
2.4.2 匹配、排序及显示指定内容的命令 -i,--ignore-case 匹配比较时不区分字母的大小写。 2.4.2 匹配、排序及显示指定内容的命令 1.grep命令 一般格式: grep [选项] 查找模式 [文件名1,文件名2,…] grep [选项] [-e 查找模式| -f 文件] [文件名1,文件名2,…] 说明:该命令用来在文本文件中查找指定模式的词或短语,并在标准输出上显示包括给定字符串模式的所有行。 常用选项: -E 将查找模式解释成扩展的正则表达式。 -F 将查找模式解释成单纯的字符串。 -b,--byte-offset 在输出的每一行前面显示包含匹配字符串的行在文件中的位置,用字节偏移量来表示。 -c,--count 只显示文件中包含匹配字符串的行的总数。 -f FILE 从文件FILE中获取模式,每行一个。空文件不含模式,因此,不做匹配。 -i,--ignore-case 匹配比较时不区分字母的大小写。 -R,-r,--recursive 以递归方式查询目录下的所有子目录中的文件。 -n 在输出包含匹配模式的行之前,加上该行的行号(文件首行的行号为1)。 -v 只显示不包含匹配字符串的文本行。 -x 只显示整个行都严格匹配的行。
-m,--merge 对已经排好序的文件统一进行合并,但不做排序。 2.sort命令 一般格式: sort [选项] 文件列表 说明:用来对文本文件的各行进行排序 排序比较是依据从输入文件的每一行中提取的一个或多个排序关键字进行的。 选项: -m,--merge 对已经排好序的文件统一进行合并,但不做排序。 -c,--check 检查给定的文件是否已排好序,若没有,则显示出错消息,不做 排序。 -u,--unique 与-c选项一起用,严格地按顺序检查;否则,对排序后的重复行只输出第一行。 -o,--output=FILE 将排序输出放到该文件名所指定的文件中。如果该文件不存在,则创建一个新文件。 还有一些改变排序规则的选项
3.uniq命令 一般格式:uniq [选项] [输入文件[输出文件]] 说明:读取输入文件,比较相邻的行,去掉重复的行,只留下其中的一行。 选项: -c,--count 显示输出时,在每行的行首加上该行在文件中出现的次数。 -d,--repeated 只显示重复行。 -f, --skip-fields=N 忽略比较前N个字段。 -s, --skip-chars=N 忽略比较前N个字符。 -u,--unique 只显示文件中不重复的行。
2.4.3 比较文件内容的命令 1.comm命令 一般格式:comm [-123] file1 file2 2.4.3 比较文件内容的命令 1.comm命令 一般格式:comm [-123] file1 file2 说明:comm命令对两个已经排好序的文件进行比较。 选项: -123 选项1,2和3分别表示不显示comm输出中的第一列、第二列和第三列。
2.diff命令 一般格式:diff [选项] 文件1 文件2 说明:比较两个文本文件,并找出它们的不同。 该命令输出的一般形式如下: n1 a n3,n4 (把文件1的n1行附加到文件2的n3~n4行后,则二者相同) n1,n2 d n3 (删除文件1的n1~n2行及文件2的n3行,则二者相同) n1,n2 c n3,n4 (把文件1的n1~n2行改为文件2的n3~n4行,则二者相同) 选项: -b 忽略空格造成的差别。 -c 输出格式是带上下文的三行格式。 -C n 输出格式是有上下文的n行格式。 -e 输出一个合法的ed脚本。 -i 忽略字母大小写的区别。 -r 当文件1 和文件2都是目录时,递归比较找到的各子目录。
2.4.4 复制、删除和移动文件的命令 1.cp命令 一般格式:cp [选项] 源文件或目录 目标文件或目录 2.4.4 复制、删除和移动文件的命令 1.cp命令 一般格式:cp [选项] 源文件或目录 目标文件或目录 说明:将源文件或目录复制到目标文件或目录中 选项: -a 递归地将源目录下的所有子目录及其文件都复制到目标目录中,并且保留文件链接和文件属性不变。它等效于-dpR。 -d 复制时保留文件链接。 -f,--force 如果现存的目标文件不能打开,则删除它并且重试一次。 -i,--interactive 与-f选项不同,在覆盖目标文件之前先给出提示,要求用户予以确认。回答y,将覆盖目标文件。这是交互式复制。 -p 除复制源文件的内容外,还将其修改时间和存取权限也复制到新文件中。 -R,-r 递归复制目录,即将源目录下的所有文件及其各级子目录都复制到目标位置。 -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
2.rm命令 一般格式: rm [选项] 文件列表 说明:删除文件和目录 选项: -d 删除目录,不管它是否为空(仅超级用户才可使用)。 -f,--force 忽略不存在的文件,并且不给出提示信息。 -r,-R,--recursive 递归地删除指定目录及其下属的各级子目录和相应的文件。 -i 交互式地删除文件。
3.mv命令 一般格式: mv [选项] source target 说明:对文件或目录重新命名,或者将文件从一个目录移到另一个目录中 选项: -i,--interactive 交互式操作。如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入“y”,表示将覆盖目标文件;输入“n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 -f 与“-i”相反,它禁止交互式操作。在覆盖已有的目标文件时,不给任何提示。
2.4.5 文件内容统计命令 一般格式: wc [选项] [文件]… 说明:统计指定文件的字节数、字数、行数,并将统计结果显示出来 选项: 2.4.5 文件内容统计命令 一般格式: wc [选项] [文件]… 说明:统计指定文件的字节数、字数、行数,并将统计结果显示出来 选项: -c,--bytes 统计字节数。 -l,--lines 统计行数。 -w,--words 统计字数。
2.5 目录及其操作命令 2.5.1 目录结构
1.用户主目录——就是用户当前工作目录 2.路径名
2.5.2 创建和删除目录的命令 1.mkdir命令 一般格式: mkdir [选项] dirname 2.5.2 创建和删除目录的命令 1.mkdir命令 一般格式: mkdir [选项] dirname 说明:该命令创建由dirname命名的目录。 选项: -m,--mode=MODE 对新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。 -p,--parents 可一次建立多个目录,即如果为新建目录所指定的路径中有些父目录尚不存在,此选项可以自动建立它们。
2.删除目录 一般格式:rmdir [选项] dirname 说明:该命令从一个目录中删除一个或多个子目录 选项: -p,--parents 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。 注意:子目录被删除之前应该是空目录。
2.5.3 改变工作目录和显示目录内容的命令 1.cd命令 显示出当前工作目录的绝对路径 2.pwd命令 一般格式:cd [dirname] 2.5.3 改变工作目录和显示目录内容的命令 1.cd命令 一般格式:cd [dirname] 说明:改变当前工作目录 它带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名) 如:cd ../.. 2.pwd命令 显示出当前工作目录的绝对路径
-l 以长格式显示文件的详细信息。输出的信息依次是: 3.ls命令 一般格式:ls [选项] [目录或文件] 说明:如果给出的参数是目录,该命令将列出其中所有子目录与文件的信息;如果给出的参数是文件,将列出有关该文件属性的一些信息。 常用选项: -a,--all 显示指定目录下所有子目录和文件,包括以“.”开头的隐藏文件(如 .cshrc)。 -C 分成多列显示各项。 -d 如果参数是目录,则只显示它的名字(不显示其内容)。 -F,--classify 在列出的文件名后面加上不同的符号,以区分不同类型的文件。可以附加的符号有: / * @ | = -i,--inode 输出的第一列显示文件的I节点号。 -l 以长格式显示文件的详细信息。输出的信息依次是: 文件类型与权限 链接数 文件主 文件组 文件大小 建立或最近修改的时间 文件名 例如:-rw-r--r-- 2 mengqc group 198 10月 20 2010 csh1
2.5.4 链接文件的命令 链接——为一个文件起多个名字 1.硬链接:在另外的目录或本目录中增加目标文件的一个目录项。 2.5.4 链接文件的命令 链接——为一个文件起多个名字 1.硬链接:在另外的目录或本目录中增加目标文件的一个目录项。 有如下限制:不能对目录文件做硬链接;不能在不同的文件系统之间做硬链接。
2.符号链接也称为软链接,是将一个路径名链接到一个文件(一种特别类型的文件)。 与硬链接的不同: 符号链接确实是一个新文件,它有不同的I节点号;而硬链接并没有建立新文件。 符号链接没有硬链接的限制,可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接。
3.ln命令 一般格式:ln [选项] 源文件 [目标文件] 说明:用来创建链接 选项: -s,--symbolic 建立符号链接,而不是硬链接。 注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。
2.5.5 改变文件或目录存取权限的命令 1.用户和权限 Linux系统中规定了4种不同类型的用户: ① 文件主(owner); 2.5.5 改变文件或目录存取权限的命令 1.用户和权限 Linux系统中规定了4种不同类型的用户: ① 文件主(owner); ② 同组用户(group); ③ 可以访问系统的其他用户(others); ④ 超级用户(root),具有管理系统的特权。 存取权限规定3种访问文件或目录的方式: ① 读(r) ② 写(w) ③ 可执行或查找(x)
2.chmod命令——用于改变或设置文件或目录的存取权限 (1)以符号模式改变权限 一般格式: chmod key 文件名 说明: key 由以下三部分组成:[who] [操作符号] [mode] 操作对象who可以是下述字母中的任一个或者它们的组合: u g o a 操作符号可以是: + - = 操作方式mode所表示的权限可用下述字母的任意组合: r w x X s t (2)以绝对方式改变权限 一般格式: chmod mode 文件名 mode是以3位八进制数字出现的,第一位表示文件主权限,第二位表示组用户权限,第三位表示其他用户权限
2.umask命令 一般格式: umask mode 说明:用来设置限制新建文件权限的掩码。 示例: umask u=,g=w,o=rwx 应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。 umask -S 选项-S表示以字符形式显示当前的掩码。
2.5.6 改变用户组和文件主的命令 1.chgrp命令 一般格式: chgrp [选项] 组名 文件名 2.5.6 改变用户组和文件主的命令 1.chgrp命令 一般格式: chgrp [选项] 组名 文件名 说明:该命令用来改变指定文件所属的用户组 常用选项: -R,--recursive 递归式地改变指定目录及其下面的所有子目录和文件的用户组。
2.chown命令 一般格式: chown [选项] 用户或组 文件名 说明:改变某个文件或目录的所有者和所属的组 选项: -R,--recursive 递归式地改变指定目录及其所有子目录、文件的文件主。 -v,--verbose 详细列出该命令所做的工作。
2.6 联机帮助命令 2.6.1 man命令 一般格式: man [选项] 命令名 说明:格式化并显示某一命令的联机帮助手册页 选项: -M 路径 指定查找man手册页的路径。 -P 命令 指定显示手册所使用的分页程序。默认使用“/usr/bin/less-is”。 -S 章节 指定查找手册页的章节列表。 -a 显示所有的手册页,而不是只显示第一处找到的。 -d 主要在检查时使用。如果用户加入了新的手册页,就可以用这个选项检查手册页的安装情况。这个选项并不显示手册页的内容。 -D 既显示手册页内容,也显示检查信息。 -f 只显示出命令的功能而不显示其中详细的说明文件。 -w,--path 不显示手册页,只显示将被格式化和显示的文件所在的位置。
2.6.2 help命令 一般格式:help 命令 说明:用来查看所有shell内置命令的帮助信息。 有些命令构造在shell内部,从而在shell环境内部执行。这种命令称为shell内置命令(也称为内部命令)。
2.7 有关进程管理的命令 2.7.1 ps命令 一般格式:ps [选项] 常用选项: -a 显示系统中与tty相关的(除会话组长之外)所有进程的信息。 a BSD风格。显示系统中与终端tty相关的所有进程的信息;当与选项x一起使用时,显示所有进程的信息。 -e 显示所有进程的信息。 -f 显示进程的所有信息。 -l 以长格式显示进程信息。 r 只显示正在运行的进程。 u 显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)。 x BSD风格。显示所有非控制终端上的进程信息 ;当与选项a一起使用时,显示所有进程的信息。
2.7.2 kill命令 一般格式:kill [-s 信号|-p ] [-a] 进程号… kill -l [信号] 说明:通过向进程发送指定的信号来结束相应进程的运行 选项: -s 指定需要发送的信号,既可以是信号名(如kill),也可以是对应信号的号码(如9)。 -p 指定kill命令只是显示进程的PID(进程标志号),并不真正发出结束信号。 -l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。
2.7.3 sleep命令 一般格式:sleep 时间值 说明:“时间值”参数以秒为单位,即让进程暂停由时间值所指定的秒数。
2.8 文件压缩和解压缩命令 2.8.1 gzip命令 一般格式: gzip [选项] [name...] 说明:用来对文件进行压缩和解压缩。 选项: -c,--stdout,--to-stdout 将输出写到标准输出上,并保留原有文件。 -d,--decompress,--uncompress 将被压缩的文件进行解压缩。 -l,--list 对每个压缩文件,列出以下字段: compressed size: 压缩文件的大小 uncompressed size: 未压缩文件的大小 ratio : 压缩比(未知时为0.0%) uncompressed_name: 未压缩文件的名字 -r 递归地查找指定目录并压缩其中的所有文件或者是解压缩。 -t 测试,即检查压缩文件的完整性。 -v 对每个压缩文件和解压缩文件,显示其文件名和压缩比。 -num 用指定的数字num调整压缩速度,其中-1或--fast表示最快的压缩方法(低压缩比),-9或--best表示最慢的压缩方法(高压缩比) 。系统默认值为-6。
2.8.2 unzip命令 一般格式: unzip [选项] 被压缩文件名 说明:对ZIP格式的压缩文件进行解压缩。 选项: -x 文件列表 解压缩文件,但对文件列表中所指定的文件并不做解压缩。 -v 如果没有给出压缩文件名,则只显示有关unzip的诊断信息,如该工具的发行日期、版本、特殊编译选项等;如果其后带有压缩文件名,且没有其它选项,则列出压缩文件的有关信息,但不做解压缩。 -t 检查压缩文件的完整性。 -d 目录 把压缩文件解压缩后放到指定的目录中。 -z 只显示压缩文件的注释。 -n 不覆盖已经存在的文件。 -o 允许覆盖已经存在的文件。 -j 废除压缩文件原来的目录结构,将所有文件解压缩之后放到同一目录之下。
2.9 有关DOS命令 表2.2 mtools中的主要命令 命 令 格 式 功 能 mcd 目录名 改变DOS文件系统的当前目录 功 能 mcd 目录名 改变DOS文件系统的当前目录 mcopy 源文件 目标文件 在DOS和Linux系统之间复制文件 mdel 文件名 删除DOS软盘上的文件 mdir 目录名 显示DOS软盘上的文件和目录 mformat 驱动器号 以MS DOS文件系统的格式来格式化软盘 mlabel 驱动器号 在DOS软盘上写卷标 mmd 目录名 在DOS软盘上创建目录 mrd 目录名 删除DOS软盘上的目录 mren 源文件 目标文件 对DOS软盘上的文件重新命名 mtype 文件名 显示DOS软盘上文件的内容