Linux教程

Linux 操作系统_第二章

本文主要是介绍Linux 操作系统_第二章,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第2章 Linux 命令

2.1 命令格式

命令 (选项) (参数)

2.2 命令帮助信息

格式

help (选项) (参数)

选项

-s: 输出短格式的帮助信息, 仅包括命令格式。

参数

内部命令:指定需要显示帮助信息的 shell 内部命令。

实例

使用 help 命令显示shell内部 shopt 命令的帮助信息,输入如下命令:

help shopt                # 获取 shopt 命令的帮助信息
# shopt: shopt [-pqsu] [-o long-option] optname [optname...]
# Toggle the values of variables controlling optional behavior.
# The -s flag means to enable (set) each OPTNAME; the -u flag
# unsets each OPTNAME.  The -q flag suppresses output; the exit
# status indicates whether each OPTNAME is set or unset.  The -o
# option restricts the OPTNAMEs to those defined for use with
# `set -o'.  With no options, or with the -p option, a list of all
# settable options is displayed, with an indication of whether or
# not each is set.

注意

并不是所有的命令都有帮助信息,例如 pwd 就没有。

2.2 man 命令

格式

man (选项) (参数)

选项

  • -a: 在所有的 man 帮助手册中搜索;
    -f: 等价于 whatis 指令, 显示给定关键字的简短描述信息;
    -P: 指定内容时使用分页程序;
    -M: 指定 man 手册搜索的路径。
    

参数

数字:指定从哪本 man 手册中搜索帮助;

关键字:指定要搜索帮助的关键字。

实例

我们输入 man ls ,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入man ifconfig它会在最左上角显示“IFCONFIG(8)”。也可以这样输入命令:“man [章节号] 手册名称”。

man 是按照手册的章节号的顺序进行搜索的,比如:

man sleep

只会显示 sleep 命令的手册,如果想查看库函数 sleep,就要输入:

man 3 sleep

man手册

  • 第一章 用户命令;
  • 第二章 系统调用;
  • 第三章 C库调用;
  • 第四章 设备文件及特殊文件;
  • 第五章 文件格式;
  • 第六章 游戏使用帮助;
  • 第七章 杂项;
  • 第八章 管理工具及守护进程,系统管理员手册;
  • 第九章 内核文档;
  • 第 n 章 新增功能,主要由 Td/Tk 使用 。

2.3 常用命令

1.ls

作用

ls 命令用来显示目标列表,在 Linux 中是使用率较高的命令。ls 命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

格式

ls (选项) (参数)

选项:

-a: 显示所有档案及目录(ls 内定将档案名或目录名称为 "." 开头的视为隐藏, 不会列出);
-A: 显示除隐藏文件 "." 和 ".." 以外的所有文件列表;
-C:多列显示输出结果, 这是默认选项;
-l: 与 "C" 选项功能相反, 所有输出信息用单列格式输出, 不输出为多列;
-F: 在每个输出项后追加文件的类型标识符, 
    具体含义: "*" 表示具有可执行权限的普通文件, "/" 表示目录, "@" 表示符号链接,
             "|" 表示命令管道 FIFO, "=" 表示 sockets 套接字, 当文件为普通文件时, 不输出任何标识符;
-k: 以 KB(千字节)为单位显示文件大小;
-l: 以长格式显示目录下的内容列表。
    输出的信息从左到右依次包括文件名, 文件类型 权限模式 硬连接数 所有者 组 文件大小 文件的最后修改时间等;
-R:递归处理, 将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。

参数

目录:指定要显示列表的目录,也可以是具体的文件。

2.pwd

作用

pwd 命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行 pwd 命令可立刻得知您目前所在的工作目录的绝对路径名称。

格式

pwd (选项)

选项

-help: 显示帮助信息;
-version: 显示版本信息。

参数

当前路径的绝对路径

3.clear

作用

clear 命令用于清除当前屏幕终端上的任何信息。

格式

clear

4.cd

作用

cd 命令用来切换工作目录至 dirname。 其中 dirname 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory(也就是刚 login 时所在的目录)。另外,~也表示为 home directory 的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。

格式

cd (选项) (参数)

选项

-p: 如果要切换到的目标目录是一个符号连接, 直接切换到符号连接指向的目标目录;
-L: 如果要切换的目标目录是一个符号的连接, 直接切换到字符连接名代表的目录, 而非符号连接所指向的目标目录;
-: 当仅实用 "-" 一个选项时, 当前工作目录将被切换到环境变量 "OLDPWD" 所表示的目录。

参数:

路径名

5.mkdir

作用

mkdir 命令用来创建目录。该命令创建由 dirname 命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由 dirname 指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。

在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用绝对路径可以唯一地指定一个目录。

格式

mkdir (选项) (参数)

选项

-Z: 设置安全上下文, 当使用 "SELinux" 时有效; 
-m<目标属性> 或 --mode<目标属性>: 建立目录的同时设置目录的权限;
-p 或 --parents: 若所要建立目录的上层目录目前尚未建立, 则会一并建立上层目录;
--version: 显示版本信息。

参数

指定要创建的目录列表,多个目录之间用空格隔开。

6.touch

作用

touch 命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

格式

touch (选项) (参数)

选项

-a 或 --time = atime 或 --time = access 或 --time = use: 只更改存取时间;
-c 或 --no-create: 不建立任何文件;
-d <时间日期>: 使用指定的日期时间,而非现在的时间;
-f: 此参数将忽略不予处理, 仅负责解决 BSD 版本 touch 指令的兼容性问题;
-m 或 --time = mtime 或 --time = modify: 只更该变动时间;
-r <参考文件或目录>: 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t <日期时间>: 使用指定的日期时间,而非现在的时间;
--help: 在线帮助;
--versio: 显示版本信息。

参数

指定要设置时间属性的文件列表。

实例

touch a #在当前路径下创建文件 a

7.rm

作用

rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用 rm 命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm 命令可以用 -i 选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入 y 并按 Enter 键,才能删除文件。如果仅按 Enter 键或其他字符,文件不会被删除。

格式

rm (选项) (参数)

选项

-d: 直接把欲删除的目录的硬连接数据删除成 0, 删除该目录;
-f: 强制删除文件或目录;
-i: 删除已有文件或目录之前先询问用户;
-r 或 -R:递归处理, 将指定目录下的所有文件与子目录一并处理;
--preserve-root: 不对根目录进行递归操作;
-v: 显示指令的详细执行过程。

参数

指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

8.cp

作用

cp 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

格式

cp (选项) (参数)

选项

-d: 当复制符号连接时, 把目标文件或目录也建立为符号连接, 并指向与源文件或目录连接的原始文件或目录;
-f: 强行复制文件或目录, 不论目标文件或目录是否已存在;
-i: 覆盖既有文件之前先询问用户;
-l: 对源文件建立硬连接,而非复制文件;
-p: 保留源文件或目录的属性;
-R / -r: 递归处理, 将指定目录下的所有文件与子目录一并处理;
-s: 对源文件建立符号连接,而非复制文件;
-b: 覆盖已存在的文件目标前将目标文件备份;
-v: 详细显示命令执行的操作。

参数

  • 源文件:指定源文件列表。默认情况下,cp 命令不能复制目录,如果要复制目录,则必须使用-R选项;
  • 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

9.mv

作用

mv 命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source 表示源文件或目录,target 表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv 的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv 与 cp 的结果不同,mv 好像文件“搬家”,文件个数并未增加。而 cp 对文件进行复制,文件个数增加了。

格式

mv (选项) (参数)

选项

-b: 当文件存在时, 覆盖前, 为其创建一个备份;
-f: 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i: 如果源文件与目标文件或目标目录中的文件同名, 则询问用户是否覆盖目标文件;
-S <后缀>: 为备份文件指定后缀,而不使用默认的后缀;
--target-directory = <目录>: 指定源文件要移动到目标目录;
-u: 当源文件比目标文件新或者目标文件不存在时, 才执行移动操作。

参数

  • 源文件:源文件列表。
  • 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。

10.>

作用

本来输出到终端上的数据,重定向输出到目的文件中

格式

命令 > 目的文件

参数

  • 命令:Linux 命令。
  • 目的文件:指定文件。

实例

./a.out > a.txt #将可执行文件 a.out 的输出结果由终端输出到文件 a.txt 中

11.cat

作用

cat 命令连接文件并打印到标准输出设备上,cat 经常用来显示文件的内容,类似于 shell 下的 type 命令。

注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用 more 等命令分屏显示。为了控制滚屏,可以按 Ctrl+S 键,停止滚屏;按 Ctrl+Q 键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回 shell 提示符状态。

格式

cat (选项) (参数)

选项

-n 或 -number: 从 1 开始对所有输出的行数编号;
-b 或 --number-nonblank: 和 -n 相似, 只不过对于空白行不编号;
-s 或 --squeeze-blank: 当遇到有连续两行以上的空白行, 就代换为一行的空白行;
-A: 显示不可打印字符,行尾显示 "$"。

参数

文件列表:指定要连接的文件列表。

12.tree

作用

tree 命令以树状图列出目录的内容。

格式

tree (选项) (参数)

选项

-a: 显示所有文件和目录;
-C: 在文件和目录清单加上色彩, 便于区分各种类型;
-d: 先是目录名称而非内容;
-D: 列出文件或目录的更改时间;
-f: 在每个文件或目录之前, 显示完整的相对路径名称;
-F: 在执行文件 目录 Socket 符号连接 管道名称名称, 各自加上 "*", "/", "@", "|" 号;
-g: 列出文件或目录的所属群组名称, 没有对应的名称时, 则显示群组识别码;
-l: 如遇到性质为符号连接的目录, 直接列出该连接所指向的原始目录;
-p: 列出权限标示;
-P <范本样式>: 只显示符合范本样式的文件和目录名称;
-s: 列出文件和目录大小;
-t: 用文件和目录的更改时间排序;
-u: 列出文件或目录的拥有者名称, 没有对应的名称时, 则显示用户识别码;

参数

目录:执行 tree 指令,它会列出指定目录下的所有文件,包括子目录里的文件。

13.管道

作用

一个程序的输出作为另外一个程序的输入

格式

命令1 | 命令2

参数

命令:Linux命令

14.more

作用

more 命令是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持 vi 中的关键字定位操作。more 名单中内置了若干快捷键,常用的有 H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:

  • 按 Space 键:显示文本的下一屏内容。
  • 按 Enter 键:只显示文本的下一行内容。
  • 按斜线符/:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • 按 H 键:显示帮助屏,该屏上有相关的帮助信息。
  • 按 B 键:显示上一屏内容。
  • 按 Q 键:退出 more 命令。

格式

more (语法) (参数)

选项

- <数字>: 指定每屏显示的行数;
-d: 显示 "[press space to continue,'q' to quit.]" 和 "[Press 'h' for instructions]";
-c: 不进行滚屏操作, 每次刷新这个屏幕;
-s: 将多个空行压缩成一行显示;
-u: 禁止下划线;
+ <数字>: 从指定数字的行开始显示。

参数

文件:指定分页显示内容的文件。

15.find

作用

find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

格式

find (选项) (参数)

参数

起始目录:查找文件的起始目录。

16.grep

作用

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

选项

-e <范本样式>: 指定字符串作为查找文件内容的范本样式;
-i: 忽略字符大小写的差别;
-l: 列出文件内容符合指定的范本样式的文件名称;
-L: 列出文件内容不符合指定的范本样式的文件名称;
-n: 在显示符合范本样式的那一列之前, 标示出该列的编号;
-v: 反转查找;
-w: 只显示全字符合的列;
-x: 只显示全列符合的列;
-o: 只输出文件中匹配到的部分。

举例

在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行:

grep match_pattern file_name
grep "match_pattern" file_name

在多个文件中查找:

grep "match_pattern" file_1 file_2 file_3 ...

17.ln

作用

ln 命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用 “-s” 选项。

注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

格式

ln (选项) (参数)

选项

-b 或 --backup: 删除, 覆盖目标文件之前的备份;
-d 或 -F 或 --directory: 建立目录的硬连接;
-f 或 --force: 强行建立文件或目录的连接, 不论文件或目录是否存在;
-i 或 --interactive: 覆盖既有文件之前先询问用户;
-n 或 --no-dereference: 把符号连接的目的目录视为一般文件;
-s 或 --symbolic: 对源文件建立符号连接, 而非硬连接;
-v 或 --verbose: 显示指令执行过程;
--help: 在线帮助;
--version: 显示版本信息。

参数

  • 源文件:指定连接的源文件。如果使用-s选项创建符号连接,则“源文件”可以是文件或者目录。创建硬连接时,则“源文件”参数只能是文件;
  • 目标文件:指定源文件的目标连接文件。

18.sudo

作用

sudo 命令用来以其他身份来执行命令,预设的身份为 root。在/etc/sudoers中设置了可执行 sudo 指令的用户。若其未经授权的用户企图使用 sudo,则会发出警告的邮件给管理员。用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码。

格式

sudo (选项) (参数)

选项

-b: 在后台执行指令;
-h: 显示帮助;
-H: 将 HOME 环境变量设为新身份的 HOME 环境变量;
-k: 结束密码的有效期限,也就是下次再执行 sudo 时便需要输入密码;
-l: 列出目前用户可执行与无法执行的指令;
-p: 改变询问密码的提示符号;
-s <shell>: 执行指定的 shell;
-u <用户>: 以指定的用户作为新的身份, 若不加上此参数, 则预设以 root 作为新的身份;
-v: 延长密码有效期限5分钟;
-V: 显示版本信息。

参数

指令:需要运行的指令和对应的参数。

实例

sudo su #将当前终端设为管理员模式

19.tar

作用

tar 命令可以为 Linux 的文件和目录创建档案。利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用 tar 命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar 命令),然后再用压缩程序进行压缩(gzip bzip2 命令)。

格式

tar (选项) (参数)

选项

-A 或 --catenate: 新增文件到以存在的备份文件;
-c 或 --create: 建立新的备份文件;
-C <目录>: 这个选项用在解压缩, 若要在特定目录解压缩, 可以使用这个选项;
-d: 记录文件的差别;
-x 或 --extract 或 --get: 从备份文件中还原文件;
-t 或 --list: 列出备份文件的内容;
-z 或 --gzip 或 --ungzip: 通过 gzip 指令处理备份文件;
-Z 或 --compress 或 --uncompress: 通过 compress 指令处理备份文件;
-f <备份文件> 或 --file = <备份文件>: 指定备份文件;
-v 或 --verbose: 显示指令执行过程;
-r: 添加文件到已经压缩的文件;
-u: 加改变了和现有的文件到已经存在的压缩文件;
-j: 支持 bzip2 解压文件;
-k: 保留原有文件不覆盖;
-w: 确认压缩文件的正确性;
-p 或 --same-permissions: 用原来的文件权限还原文件;

参数

文件或目录:指定要打包的文件或目录列表。

实例

tar -cvf log.tar log2021.log #将文件全部打包成 tar 包

20.gzip

作用

gzip 命令用来压缩文件。gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip 命令对文本文件有 60%~70% 的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

格式

gzip (选项) (参数)

选项

-d 或 --decompress 或 ----uncompress: 解开压缩文件;
-f 或 --force: 强行压缩文件, 不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-l 或 --list: 列出压缩文件的相关信息;
-L 或 --license: 显示版本与版权信息;
-r 或 --recursive: 递归处理, 将指定目录下的所有文件及子目录一并处理;
-S 或 <压缩字尾字符串> 或 ----suffix <压缩字尾字符串>: 更改压缩字尾字符串;
-t 或 --test: 测试压缩文件是否正确无误;
-v 或 --verbose: 显示指令执行过程;
-V 或 --version: 显示版本信息;
-<压缩效率>: 压缩效率是一个介于 1~9 的数值, 预设值为 "6", 指定愈大的数值, 压缩效率就会愈高;

参数

文件列表:指定要压缩的文件列表。

21.bzip2

作用

bzip2 命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。

格式

bzip2 (选项) (参数)

选项

-c 或 --stdout: 将压缩与解压缩的结果送到标准输出;
-d 或 --decompress: 执行解压缩;
-k 或 --keep: bzip2 在压缩或解压缩后, 会删除原始文件, 若要保留原始文件, 请使用此参数;
-s 或 --small: 降低程序执行时内存的使用量;
-t 或 --test: 测试 .bz2 压缩文件的完整性;
-v 或 --verbose: 压缩或解压缩文件时, 显示详细的信息;
-z 或 --compress: 强制执行压缩;
-V 或 --version: 显示版本信息;

参数

文件:指定要压缩的文件。

举例

tar -zcvf log.tar.gz log2012.log   #打包后,以 gzip 压缩 
tar -jcvf log.tar.bz2 log2012.log  #打包后,以 bzip2 压缩
这篇关于Linux 操作系统_第二章的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!