linux学习资料Word格式文档下载.docx
- 文档编号:20922291
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:21
- 大小:45.94KB
linux学习资料Word格式文档下载.docx
《linux学习资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《linux学习资料Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
Ø
HISTFILE:
用于贮存历史命令的文件。
HISTSIZE:
历史命令列表的大小。
HOME:
当前用户的用户目录。
OLDPWD:
前一个工作目录。
PATH:
bash寻找可执行文件的搜索路径。
PS1:
命令行的一级提示符。
PS2:
命令行的二级提示符。
PWD:
当前工作目录。
SECONDS:
当前shell开始后所流逝的秒数。
这意味着bash保留了一定数目的先前已经在shell里输入过的命令。
这个数目取决于一个叫做HISTSIZE的变量。
使用历史记录列表最简单的方法是用上方向键。
另一个使用命令历史文件的方法是用bash的内部命令history和fc(fix命令)命令来显示和编辑历史命令。
history命令调用:
history[n]
当history命令没有参数时,整个历史命令列表的内容将被显示出来。
使用n参数的作用是仅有最后n个历史命令会被列出。
例如,history5显示最后5个命令
5.1.3通配符基础
通配符又称多义符。
在描述文件时,有时在文件名部分用到一些通配符,以加强命令的功能。
在Linux系统中有以下基本的通配符:
?
:
表示该位置可以是一个任意的单个字符。
*:
表示该位置可以是若干个任意字符。
方括号[charset]:
可替代charset集中的任何单个字符
下面对方括号通配符进行一些说明。
例如
[cChH]:
表示在文件的该位置中可出现任意单个的c或h字符的大小写形式。
另外,通配符集还能描述介于字符对之间的所有字符。
如“[a-z]”就可以代替任意小写字母,而[a-zA-Z]则可替代任意字母。
注意可替代的字符包括a到z和A到Z字符对之间的所有字符。
那么,是否能在一条指令中用多个通配符呢?
答案是肯定的。
如
rma*out*tmp?
该命令可以删除一系列临时性的输出文件,如ab.out.tmp1、ab.out.tmp1等。
UNIX或Linux系统可将一定相关的文件看作一个集合的一部分,用户可以用该集合去匹配。
所以,如果需要显示nic-1.png,nic-2.png,nic-3.png,nic-4.png,nic-5.png,只须要在终端的命令提示符后输入:
lsnic-[1-5].png
5.2.1文件显示命令
显示指定工作目录中所包含的内容的指令是ls,说明的是ls命令列出文件的名字,而不是文件的内容。
该命令的使用方式如下:
ls[选项][文件目录列表]
ls命令中的常用选项如下:
-a:
显示所有文件及目录(ls规定将文件名或目录名中开头为"
."
的视为隐藏档,不会列出)
-c:
按列输出,纵向排序
-x:
按列输出,横向排序
-l:
除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出
-t:
根据文件建立时间的先后次序列出
-A:
同-a,但不列出"
(目前目录)及"
.."
(父目录)
-X:
按扩展名排序显示
-R:
递归显示下层子目录
--help:
显示帮助信息Ø
--version:
显示版本信息
Linux支持多种文件类型,每一类用一个字符来表示,其说明如下:
-:
常规文件
d:
目录
b:
块特殊设备
c:
字符特殊设备
p:
有名管道
s:
信号灯
m:
共享存储器
文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:
该文件所有者的权限、组中其他人的权限和系统中其人的权限;
每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)、写(用字符W表示)和执行权限(用字符x表示)。
当用户没有相应的权限时,该权限的对应位置用短线“-”来表示
例如:
drwxr-x---
表示的含义是:
d表示这条信息是目录;
目录拥有者的权限是rwx(表示有读、写和执行权限);
组中其他人对该目录的权限是r-x(表示有读和执行权限,没有写权限),系统中其他人对该目录的权限是---(表示读、写和执行权限都没有)。
下面是使用命令来显示帮助和版本信息,命令如下:
#ls--version
#lls--help|more
5.2.2查找、排序及显示指定文件内容的命令
1.查找文件
在Linux系统中查找文件的命令通常为find命令。
find命令可在使用、管理Linux系统中方便地查找所需要的指定文件。
find命令的语法格式如下:
#find[目录列表][匹配标准]
在命令格式中有两个参数,说明如下:
目录列表:
希望查询文件或文件集的目录列表,目录间用空格分隔。
匹配标准:
希望查询的文件的匹配标准或说明。
详细的匹配标准如表2-2所示。
表达式
说 明
-name文件
告诉find要找什么文件;
要找的文件包括在引号中,可以使用通配符(*和?
)
-perm模式
匹配所有模式为指定数字型模式值的文件。
不仅仅是读,写和执行,所有模式都必须匹配。
如果在模式前是负号(-),表示采用除这个模式外的所有模式。
-typex
匹配所有类型为x的文件。
x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。
-linksn
匹配所有连接数为n的文件。
-user用户号
匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。
-atimen
匹配所有在前n天内访问过的文件。
-mtimen
匹配所有在前n天内修改过的文件。
-newer文件
匹配所有修改时间比file文件更新的文件。
-sizen
匹配所有大小为n块的文件(512字节块,若k在n后,则为1K字节块)。
显示整个文件路径和名称。
一般来说,都要用-print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。
1)通过文件名查找
知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令
如下:
#find/-namehttpd.conf–print
2)根据部分文件名查找
当要查找某个文件时,不知道该文件的全名,只知道这个文件包含几个特定的字母,此时用查找命令也是可找到相应文件的。
这时在给字查找文件名时通配符“*”、“?
”。
例如,还是查找文件“httpd.conf”,但仅记得该文件名包含“http”字符串,可使用如下命令查找:
#find/–name*http*-print
3)根据文件的特征查询
如果仅知道某个文件的大小、修改日期等特征也可使用find命令把该文件查找出来。
例如,知道一个文件尺寸小于为2500bytes,可使用如下命令查找:
#find/etc–size-2500c–print
下面是以时间特征为查找条件的find命令函数的参数:
aminn查找n分钟以前被访问过的所有文件.
atimen查找n天以前被访问过的所有文件.
cminn查找n分钟以前文件状态被修改过的所有文件.
ctimen查找n天以前文件状态被修改过的所有文件.
mminn查找n分钟以前文件内容被修改过的所有文件.
mtimen查找n天以前文件内容被修改过的所有文件.
2.显示文本文件内容
显示文本文件内容的命令是cat命令,用来将文件的内容显示到终端上,其命令语法如下:
cat[选项]文件列表
命令中的参数说明如下:
常用选项如表2-3所示
文件列表:
这是要连接文件的选项列表。
如果没有指定文件或连字号(-),就从标准输入读取。
表2-3cat命令常用选项
选项
说 明
-b
计算所有非空输出行,开始为1。
-e
在每行末尾显示$符号。
-n
计算所有输出行,开始为1。
-s
将相连的多个空行用单一空行代替。
3.查找文件内容
查找文件内容的命令是grep命令。
其使用的语法如下:
grep[选项]匹配字符串文件列表
选项如表2-4所示
匹配字符串:
希望在文件中查到的串。
表2-4grep命令的常用选项
选项说明
-v列出不匹配串或正则表达式的行。
-c对匹配的行计数。
-l只显示包含匹配的文件的文件名。
-h抑制包含匹配文件的文件名的显示
-n每个匹配行只按照相对的行号显示。
-i产生不区分大小写的匹配,缺省状态是区分大小写。
4.排序命令
sort命令的功能是对文件中的各行进行排序.sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
该命令的语法格式如下:
sort[选项]文件
说明:
sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。
如不指定输入文件或使用“-”,则表示排序内容来自标准输入。
5.2.3比较文件内容的命令
5.2.4comm命令
5.2.5
如果想对两个有序的文件进行比较,可以使用comm命令。
该命令的使用语法如下:
comm[-123]file1file2
该命令是对两个已经排好序的文件进行比较。
其中file1和file2是已排序的文件。
comm读取这两个文件,然后生成三列输出:
仅在file1中出现的行;
仅在file2中出现的行;
在两个文件中都存在的行。
如果文件名用“-”,则表示从标准输入读取。
2.diff命令
diff命令用于比较两个文件内容的不同,其命令语法格式如下:
diff[参数] 原文件 目标文件
其中“源文件”和“目标文件”是用户要比较的两个文件。
表2-4diff命令的常用参数
参数说明
a将所有文件当做文本文件来处理
b忽略空格造成的不同
B忽略空行造成的不同
q只报告什么地方不同,不报告具体的不同信息
H利用试探法加速对大文件的搜索
i忽略大小写的变化
l用pr对输出进行分页
r在比较目录时比较所有的子目录
s两个文件相同时才报告
v在标准输出上输出版本信息并退出
5.2.4复制、删除和移动文件的命令
1.文件复制命令
Linux下的cp命令用于复制文件或目录,该命令是最重要的文件操作命令,其命令格式如下:
cp [选项] 源文件 目标文件
cp [选项] 源文件组 目标目录
参数说明如下:
源文件:
要拷贝的文件。
目标文件:
目标名。
也可以是目录名,这种情况下,源文件名作为目标文件名,而文件放在该目录下。
源文件组:
要拷贝文件的由空格分隔的列表。
目标目录:
目标目录。
常用命令的选项列表如表2-5所示。
cp命令常用选项
常用选项说 明
-a在备份中保持尽可能多的源文件结构和属。
-b作将要覆盖或删除文件的备份。
-f删除已存在的目标文件。
-i提示是否覆盖已存在的目标文件。
-p保持原先文件的所有者,组权限和时间标志
-r递归拷贝目录,把所有非目录文件当普通文件拷贝。
-R递归拷贝目录。
2.文件的删除命令
rm命令可从文件系统中删除文件及整个目录。
rm命令所使用的命令格式如下:
rm[选项]文件列表
参数说明如下:
常用命令的选项列表如表2-6所示。
文件列表:
希望删除的用空格分隔的文件列表,可以包括目录名。
表2-6rm命令常用选项
常用选项说 明
-r删除文件列表中指定的目录,若不用此标志则不删除目录
-I指定交互模式。
在执行删除前提示确认。
任何以Y开始的响应都表示肯定;
其他则表示否定。
-f指定强行删除模式。
通常,在删除文件权限可满足时rm提示。
本标志强迫删除,不用提示。
-V在删除前回显文件名。
--指明所有选项结束。
用于删除一个文件名与某一选项相同的文件。
假定偶然建立了名为-f的文件,又打算删除它,命令rm-f不起任何作用,因为-f被解释成标志而不是文件名;
而命令rm---f能成功地删除文件。
3.移动文件
在Linux系统中,移动文件可使用mv命令。
Mv命令还可改文件改名,即把源文件以一个新文件名移动到另一个新的目录中去。
该命令所使用语法形式有:
mv[-f][-i]文件1文件2
mv[-f][-i]目录1目录2
mv[-f][-i]文件列表目录
-f:
通常情况下,目标文件存在但用户没有写权限时,mv会给出提示。
本选项会使mv命令执行移动而不给出提示。
-i:
交互模式,当移动的目录已存在同名的目标文件名时,用覆盖方式写文件,但在写入之前给出提示。
文件:
源文件名。
文件2:
目标文件名(新文件名)。
目录1:
源目录名。
目录2:
目标目录名(新目录名)。
文件列表:
用空格分隔的文件名列表。
本选项用于文件保持它们的名字被移动到一个新目录。
目录:
5.2.5文件内容统计命令
wc命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
wc命令使用的语法格式如下:
wc[选项]文件列表
说明:
该命令统计给定文件中的字节数、字数、行数。
如果没有给出文件名,则从标准输入读取。
wc同时也给出所有指定文件的总统计数。
字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
-c:
统计字节数。
-l:
统计行数。
-w:
统计字数。
5.2.6命令的输入和输出
在Linux系统中,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;
标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件也都对应终端的屏幕。
进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。
1.输入重定向
输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。
输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。
另一种输入重定向称为here文档,它告诉shell当前命令的标准输入来自命令行。
here文档的重定向操作符使用“<
<
它将一对分隔符(!
…!
)之间的正文重定向输入给命令。
由于大多数命令都以参数的形式在命令行上指定输入文件的文件名,所以输入重定向并不经常使用。
尽管如此,当要使用一个不接受文件名作为输入参数的命令,而需要的输入内容又存在一个文件里时,就能用输入重定向解决问题。
2.输出重定向
输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。
这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。
例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;
如果想保存一个命令的输出,也可以使用这种方法。
还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入(还有一种更简单的方法,就是使用管道)。
输出重定向的一般形式为:
命令>
文件名
为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。
输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。
可以使用追加重定向操作符“>
>
”,其使用语法形式为:
命令>
3.管道
将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起;
另一种是Linux所提供的管道功能。
这种方法比前一种方法更好。
管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。
显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。
4.命令替换
命令替换和重定向有些相似,但区别在于命令替换是将一个命令的输出作为另外一个命令的参数。
常用命令格式为:
command1`command2`
其中,command2的输出将作为command1的参数。
需要注意的是这里的`符号,被它括起来的内容将作为命令执行,执行后的结果作为command1的参数。
$cd`pwd`
该命令将pwd命令列出的目录作为cd命令的参数,结果仍然是停留在当前目录下。
5.3目录及其操作命令
1.树型目录结构
Linux系统以文件目录的方式来组织和管理系统中的所有文件。
所谓文件目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。
也就是说,整个文件系统有一个“根”(root),然后在根上分“杈”(directory),任何一个分杈上都可以再分杈,杈上也可以长出“叶子”。
“根”和“杈”在Linux中被称为是“目录”或“文件夹”。
而“叶子”则是一个个的文件。
实践证明,此种结构的文件系统效率比较高。
如前所述,目录也是一种类型的文件。
Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。
以根目录为起点,所有其他的目录都由根目录派生而来用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。
Linux目录提供了管理文件的一个方便途径。
每个目录里面都包含文件。
用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。
需要说明的是,根目录(系统目录)是Linux系统中的特殊目录。
Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中。
2.工作目录、用户主目录与路径
(1)工作目录与用户主目录
从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(WorkingDirectory)。
工作目录是可以随时改变的。
用户初始登录到系统中时,其主目录(HomeDirectory)就成为其工作目录。
工作目录用“.”表示,其父目录用“..”表示。
用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。
用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。
(2)路径
路径是指从树型目录中的某个目录层次到某个文件的一条道路。
此路径的主要构成是目录名称,中间用“/”分开。
某个文件在文件系统中的位置都是由相应的路径决定的。
路径又分相对路径和绝对路径。
绝对路径是指从“根”开始的路径,也称为完全路径;
相对路径是从用户工作目录开始的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 学习 资料