linux.docx
《linux.docx》由会员分享,可在线阅读,更多相关《linux.docx(14页珍藏版)》请在冰豆网上搜索。
linux
计算机系统由硬件和软件两部分组成。
软件包括系统软件和应用软件。
硬件是组成一台计算机的各个部件,包括中央处理器(CPU)、内存和输入/输出设备(I/O设备)。
操作系统(OperatingSystem,OS)是计算机系统中最基本的软件。
它直接管理和控制计算机的资源,合理地调度资源,使之得到充分的利用,并为用户使用这些资源提供一个方便的操作环境和良好的用户界面。
1.从系统结构上看,操作系统是在硬件之上的第一层软件,操作系统包裹了整个硬件,用户和其他软件只有通过操作系统才可以使用硬件资源,以及存储在硬件中的信息资源。
在操作系统之上运行的是系统软件和应用软件。
2.从用户角度看,操作系统是用户与计算机之间的接口。
操作系统屏蔽了硬件的细节,扩展了硬件的能力,为用户构造出一台更便于使用的抽象的计算机
3.从资源角度看,操作系统是管理和控制计算机资源的软件。
一台没有安装操作系统的计算机称为裸机,裸机上的资源是无法被利用的。
操作系统的功能 :
(1)处理机管理。
(2)内存管理(3)设备管理(4)文件管理(5)用户接口。
1.按处理方式分
1)多道批处理操作系统2)分时操作系统3)实时操作系统
2.按规模和用途分
1)主机操作系统2)通用操作系统3)个人操作系统
3.按体系结构分
1)网络操作系统2)分布式操作系统3)嵌入式操作系统
Linux操作系统的特点:
(1)基于Unix设计,性能出色。
(2)遵循GPL许可,自由软件。
(3)符合POSIX标准,兼容性好。
(4)可移植性好。
(5)网络功能强大。
(6)安全性好。
Linux的基本系统由3个主要部分组成:
●内核:
运行程序和管理基本硬件设备的核心程序。
●?
Shell:
系统的命令行用户界面,负责接收、解释和执行用户输入的命令。
●文件系统:
按一定的组织方式存放在磁盘上的文件集合。
1.终端与控制台
终端(terminal)是指用户用来与系统交互的设备,包括显示器、键盘和鼠标。
每个用户都需要通过一个终端来使用系统。
根据显示模式的不同,终端分为字符终端和图形终端
字符终端只能显示字符界面,接收键盘输入的命令;
图形终端可以支持图形界面显示和鼠标操作。
根据连接方式的不同,终端又可分为本地终端和远程终端
本地终端是直接与系统相连的终端,也称为控制台(console),是供系统本地用户使用的终端;
远程终端指用户通过网络或其他通信方式远程地使用系统时所用的终端,可能是专门的终端机,更多的是PC机终端
在字符命令界面要使用命令关闭或重启系统。
常用的关机命令是:
#shutdownnow
常用的重启命令是:
#reboot
在关机命令的执行过程中,系统屏幕上会显示出关机操作的输出信息。
要等到关机过程完成后方可切断电源。
命令的分类
按照实现方式的不同,Shell命令分为内部命令和外部命令两种。
内部命令全部由Shell程序自身提供。
外部命令由一个个单独的程序实现。
内部命令通常对应的是比较简单、使用频繁的功能。
外部命令则往往完成比较复杂或耗时的功能。
按照命令的功能分类,Shell命令可以大致分为以下几类:
●文件、目录操作;●文本编辑与处理;●备份与压缩;
●系统监控与管理;●网络通信;●其他。
who命令
【功能】显示已登录的用户。
【格式】who[选项][ami]
【选项】 -H显示各列的标题。
-q显示登录的用户名和用户数。
echo命令
【功能】显示命令行中的参数字符串。
【格式】echo[选项][字符串]…
【选项】-n输出字符串后光标不换行
date命令
【功能】显示、设置系统日期和时间。
【格式】date[选项][+格式]
【选项】-s设置时间和日期。
-u使用格林威治时间
$dateMonMay2620:
04:
34CST2008
$date‘+Todayis%D,nowis%r’Todayis05/26/08,nowis08:
14:
36PM
$date‘+%B%d,%Y’May26,2008
cal命令
【功能】显示月份和日历。
【格式】cal[[月份]年份]【参数】月份是1~12的数字,年份是1~9999的数字。
【说明】若带有一个参数,则该参数被解释为年份;若带有两个参数,则第1个参数表示月份,第2个参数表示年份。
不带参数时,显示当年当月的日历。
man命令
【功能】显示联机手册页。
【格式】man命令名
【说明】在浏览手册页时,用以下按键翻页、查找和退出:
PageUp、b向上翻一页。
PageDown、Space向下翻一页。
↑向上滚一行。
↓、Enter向下滚一行。
/string 在手册页中查找字符串string。
n 查找下一个字符串。
q 退出。
文件系统中的所有文件通过目录的形式组织和存放。
目录是一种特殊的文件,其内容是该目录下的一组文件(包括子目录)的信息。
目录将所有的文件分层分枝地组织在一起,形成文件系统的树型结构。
1.文件的命名:
Linux文件名的最大长度是255个字符,通常由字母、数字、“.”、“_”和“-”字符组成。
2.文件名通配符
1)模式与通配符:
模式的概念我们并不陌生,它是对一类事物的一种概括性描述。
同样,当我们需要指定具有某种特征的多个文件名时,可以用一个表示文件名的字符串模式来描述。
字符串模式由普通字符和一些具有特殊含义的字符组成,这些特殊字符称为通配符(wildcard)。
●普通文件(-):
普通意义上的文件,用于保存文本、数据或程序等信息。
●目录文件(d):
一种特殊文件,用于构成文件系统的树型结构。
●设备文件(c、b):
Linux系统将设备看做是一种特殊文件,设备文件分为字符设备文件(c)和块设备文件文件(b)两类。
●符号链接文件(l):
一种特殊文件,它的内容是到另一个文件的链接,用于实现文件的共享。
●管道文件(p):
一种特殊文件,用于在进程间传递数据。
6.新建文件的默认权限
文件的初始权限由文件创建掩码(creationmask)决定。
掩码是一个9位二进制数字,通常用八进制数字表示,如022。
掩码中的位与权限字符串相对应,掩码中为1的位限制对应的权限位的权限。
例如:
掩码022表示组用户和其他人没有w权限,对其他权限不做限制。
文件创建时的默认权限有以下几种情况:
1)可执行文件
通过编译程序生成的可执行文件,它的默认权限是777-掩码。
例如:
若掩码为022,则新文件的权限就是755。
2)非可执行文件
对于非可执行文件(如文本文件、数据文件等),在创建时默认是没有x权限的,对这类文件的x权限需要显式地赋予,即通过chmod命令将其改为可执行文件。
因此新建文件的权限是(777-掩码)&666。
例如:
若掩码为022,则新文件的权限就是?
(777-022)&666=644
若掩码为003,则新文件的权限就是?
。
(777-003)&666=664
3)目录
同可执行文件一样,新建目录的默认权限是777-掩码。
若掩码为022,则新目录的权限就是755。
用户登录时,系统自动地为其设置了掩码,通常是022。
用户可以用命令修改掩码,从而改变新建文件的默认权限,使之具有合适的安全性限制。
路径是文件在目录树中所处的位置。
在对文件进行操作时,除需指明文件名外,还须指明该文件的路径。
路径的表达方法是将若干个目录名连结起来,中间用斜杠“/”分开。
绝对路径是从根目录沿目录树到文件所在目录的路径。
绝对路径都是以“/”开头的,并且是唯一的。
例如:
/home/zherry/project。
相对路径是从当前目录沿目录树到文件所在目录的路径。
例如:
若当前目录的绝对路径是/home/cherry/project,则../book是一个相对路径,它的绝对路径是/home/cherry/book。
在访问当前目录附近的文件时,使用相对路径可以简化路径的描述,尤其是当目录的层次较深的情况下。
ls命令
【功能】显示指定文件或指定目录中的所有文件的信息。
【格式】ls[选项][文件或目录]…
【选项】
-a显示所有文件及目录,包括隐藏文件、“.”及“..”目录。
-R递归显示下层子目录。
-F显示文件类型描述符(*为可执行的普通文件,
/为目录文件,…)。
-d显示目录的信息而非其内容。
-u显示文件的最近访问时间,与-l连用。
-c显示文件的最近变更时间,与-l连用。
-t按文件修改时间排序显示。
-l按长格式显示文件详细信息。
mkdir命令
【功能】建立目录。
【格式】mkdir[选项]目录…
【选项】
-m权限按指定的权限建立目录。
-p递归建立目录。
即,若目录的父目录不存在,则一并建立其父目录。
rmdir命令
【功能】删除目录。
【格式】rmdir[选项]目录…
【选项】
-p递归删除目录,即当子目录删除后其父目录为空时,也一同被删除。
cat命令:
-A?
显示所有字符,包括换行符、制表符及其他非打印字符。
-n对输出的所有行进行编号并显示行号。
-b和-n相似,但对于空白行不编号。
-s将连续的空白行压缩为一个空白行。
【说明】指定多个文件时,依次显示各个文件;未指定文件时,读标准输入(默认为键盘)并显示。
more命令
【功能】分屏显示文件内容。
【格式】more[选项][文件]…
【选项】
-p不滚屏,清屏。
-s将连续的空白行压缩为一个空白行。
+n由第n行开始显示。
+/str由含有str字符串的地方开始显示。
【说明】浏览时可使用如下键进行控制,浏览到末页后
自动退出。
未指定文件参数时,默认为读标准输入。
Enter向下翻一行。
Space向下翻页。
b向上翻页。
/string查找字符串string。
n查找下一个字符串。
q退出。
cp命令
【功能】复制文件。
【格式】cp[选项]源文件目标文件
cp[选项]源文件…目标目录
【选项】
-i交互模式,当目标文件存在时,提示是否覆盖。
键入y或Y覆盖,键入其他字符不覆盖。
-r 递归复制目录。
-b为被覆盖的文件建立备份。
备份文件的名称是原文件名后加“~”。
-f强制复制。
即如果目标文件存在且打不开,则先删除它,然后再复制。
-p保持文件原有属性。
-v显示操作结果。
rm命令
【功能】删除文件。
【格式】rm[选项]文件…
【选项】
-f忽略不存在的文件,不作提示。
-i删除前提示用户确认。
-r递归删除目录。
-v显示操作结果。
mv命令
【功能】移动文件、重命名文件。
【格式】mv[选项]源文件目标文件
mv[选项]源文件…目标目录
【选项】
-i覆盖前提示用户确认。
-f不提示用户确认,直接覆盖。
-b为被覆盖的文件建立备份。
备份文件的名称是原文件名后加“~”。
-v显示操作结果。
wc命令
【功能】显示文件的字节数、字数和行数。
【格式】wc[选项][文件]…
【选项】
-c只统计字节数。
-l 只统计行数。
-m只统计字符数。
-w只统计字数
sort命令
sort命令是个常用的文字处理命令,它将文本文件的各行按ASCII字符顺序由小到大排序,并输出排序后的结果。
【功能】对文本文件中的各行按字符顺序排序并显示。
【格式】sort[选项][文件]…
【选项】
-b忽略开始的空白。
-d只考虑字母、数字和空格。
-f忽略大小写。
-kn指定从第n个字段开始的内容作为排序关键字。
-r逆序排列。
【说明】未指定文件时,读标准输入文件。
umask命令
【功能】设置、显示文件创建时的权限掩码。
【格式】umask[选项][掩码]
【选项】
-S以字符形式显示掩码对应的权限。
【说明】若指定了掩码,则将该掩码作为新建文件的权限掩码。
若未指定掩码,则显示现在的权限掩码。
grep命令
【功能】在文本文件中查找与指定模式相匹配的字符串,显示含有匹配字符串的行。
【格式】grep[选项]模式[文件]…
【选项】
-v列出不包含匹配字符串的行。
-c不显示匹配的行,只列出匹配的行数。
-l只显示含有匹配字符串的文件名。
-r递归地搜索目录下的所有文件和子目录。
-n在每个匹配行前加行号显示。
-i匹配时不区分大小写。
如模式“may”可匹配
may、May和MAY。
-w匹配整个单词,而不是单词的一部分。
如模式
“magic”只匹配magic,而不匹配magical。
命令的输入与输出
Linux系统定义了三个标准I/O文件,即标准输入文件stdin、标准输出文件stdout和标准错误输出文件stderr。
在默认的情况下,stdin对应终端的键盘,stdout对应终端的屏幕,stderr也对应终端的屏幕。
输入重定向
输入重定向是指把命令的标准输入改变为指定的文件(包括设备文件),使命令从该文件中而不是从键盘中获取输入,如图3-5所示。
输入重定向主要用于改变那些需要大量标准输入的命令的输入源
输出重定向
输出重定向是指把命令的标准输出或标准错误输出重新定向到指定文件中。
这样,该命令的输出就不显示在屏幕上,而是写入到文件中。
很多情况下都可以使用输出重定向功能。
输出重定向的一般形式为:
●标准输出重定向:
命令>文件
●标准错误输出重定向:
命令2>文件
●合并输出重定向:
命令&>文件
●附加输出重定向:
命令>>文件
.附加输出重定向
附加输出重定向就是将标准输出附加在一个文件的后面。
附加输出重定向的格式为:
命令>>文件
附加输出重定向与标准输出重定向相似,只是当指定的文件存在时,标准输出重定向的做法是先将文件清空,再将命令的输出信息写入,而附加输出重定向则是保留文件内原有的内容,将命令的输出附加在后面。
标准错误输出重定向就是将命令的标准错误输出保存到一个文件中,
合并输出重定向就是将标准输出与标准错误输出一起写入一个文件中,
vi的几个突出特点
1.编辑功能强大
vi的编辑功能十分强大,除通常的编辑功能外,vi还支持一些高级编辑特性,如正则表达式、宏和命令脚本。
利用这些特性可以完成非常复杂的编辑任务,实现编辑的智能化和自动化。
另一方面,vi的功能又十分专注,它只是一个编辑器,没有其他功能。
Linux系统提供了许多专门用途的工具,如排版、排序、流过滤、E-mail、编译等软件。
vi可以和工具软件协同工作,从而实现几乎所有的文件加工处理任务。
用一些小而精悍、功能专一的工具结合起来完成复杂的处理功能,这正是Unix的设计哲学。
2.适用于各种版本的Unix/Linux系统
vi是Unix/Linux系统的标准文本编辑器,几乎每一台Unix/Linux系统上都会有vi,这是其他编辑器无法相比的。
3.适用于各种类型的终端
vi得以广泛应用的原因之一是它对终端设备的广泛适应性。
不管是只有打字机键盘加Esc键的简单终端,还是受通信限制的远程终端,或是配有完备的功能键和鼠标的现代化终端,都可以很好地支持vi完成文本编辑工作。
4.使用灵活快捷
对于同一项编辑操作,vi提供了许多不同的命令
vi的命令都很简练,往往是单个字符或少数几个字符的组合
1.命令模式(Commandmode)
在命令模式下,输入的任何字符都作为命令来解释执行,屏幕上不显示输入内容。
命令模式用于完成各种文本修改工作。
2.输入模式(Insertmode)
在输入模式下,输入的任何字符都将作为文件的内容被保存,并显示在屏幕上。
输入模式用于完成文本录入工作。
3.末行模式(Lastlinemode)
末行模式也称为ex转义模式。
在末行模式下,光标停留在屏幕的最末行,在此接收输入的命令并执行。
末行模式用于执行一些全局性操作,如文件操作、参数设置、查找与替换、拷贝与粘贴、执行Shell命令等。
翻屏命令:
Ctrl+u:
向上翻半屏。
Ctrl+d:
向下翻半屏。
Ctrl+f:
向下翻一屏。
同PageDown键。
Ctrl+b:
向上翻一屏。
同PageUp键。
[n]z+Enter:
将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部
光标定位命令:
0 光标移至行首。
同Home键。
^ 光标移至行首第1个非空格字符。
$ 光标移至行尾。
同End键。
[n]G 光标移到第n行,未指定n时移到末行。
[n]| 光标移到第n列,未指定n时移到首列。
H、M、L光标移到屏幕首、中、尾行行首。
光标移动命令:
h、j、k、l光标向左、下、上、右移一个字符。
同
箭头键。
b/B、w/W光标移到上一个词、下一个词首。
e光标移到词尾。
{、}光标移到段首、段尾。
注:
以上光标移动命令前带数字n时,表示重复移动n次。
如:
2h为左移2格,3e为移到后面第3个词的词尾。
a、A在光标位置后、行尾后开始插入。
i、I在光标位置前、行首前开始插入。
i的作用与Insert键相同。
o、O在光标所在行之后、光标所在行之前的
x、X删除光标处、光标前的字符。
x的作用与Delete键相同。
dd删除光标所在的行。
D删除光标右面的文本。
J删除当前行尾的换行符,使当前行与下一行合并为一行。
d0、d^删除光标左面的文本。
0或^代表行首。
d$ 删除光标右面的文本。
$代表行尾。
dG 删除光标所在行之后的所有行。
G代表最后一行。
db 删除光标处前的字符直到词首。
b代表词首。
de删除光标处的字符直到词尾。
e代表词尾。
dw 删除光标处的字符直到下一个词的词首。
w代表下一
词词首。
cc修改光标所在的行。
C修改光标处到行尾的文本。
c+定位符修改光标到指定范围内的文本。
常用的有:
c0、c^修改光标左面的文本。
c$修改光标右面的文本。
cG修改光标所在行之后的所有行。
cb修改光标处前的字符直到词首。
cw修改光标处的字符直到词尾。
cl修改光标处的字符。
r用输入的字符替换光标处的字符。
R用输入的文本逐个替换从光标处开始的各个字符,直到按下Esc键。
s用输入的文本替代光标处的字符,用Esc键结束输入,等同于cl。
S用输入的文本替代光标所在的行,用Esc键结束输入,等同于cc。
yy拷贝光标所在行至缓冲区。
y+定位符拷贝光标到指定范围内的文本。
常用的有:
y0、c^拷贝光标左面的文本。
y$拷贝光标右面的文本。
yG拷贝光标所在行之后的所有行。
yb拷贝光标处的字符直到词首。
yw拷贝光标处的字符直到词尾
p、P若缓冲区中的内容是完整的行,则将这些行插入到光标所在行之后、之前;若不是完整的行,则将这些文本插入到光标处之后、之前
u 撤销上一个命令所做的修改。
U 撤销最近针对一行所做的全部修改。
在对一行
连续做了多处修改后,用此命令可以一次恢复全行。
. 重复前一个命令。
:
s/the/The/ 将当前行中第1个the改为The。
:
s/is/are/g 将当前行中所有is改为are。
:
s/isa/hasa/gc 将当前行中所有isa改为hasa。
替换
前提示用户确认。
:
1,6s/IF/if/g 将第1至6行中的所有IF用if替代。
:
%s/^//g 在所有行的行首处加4个空格。
:
g/the/s//The/将文中所有行的第1个the改为The。
:
g/is/s//are/g将文中所有is改为are。
:
g/Mary/s/1988//g将所有含有Mary的行中的所有1988去掉。
:
g/printf/s/val/sum/gc将所有含有printf的行中的所有val改为sum。
替
换前先确认。
:
g!
/*/s/IF/if/g将所有不包含‘*’的行中的所有IF用if替代。
用vi编辑文件时,可以在不退出vi的情况下执行Shell命令。
执行命令期间vi暂时挂起,待命令执行结束后返回vi继续运行。
执行Shell命令的格式是:
:
!
命令执行指定的Shell命令。
:
w[文件名]写入指定文件。
若未指定文件则写入当前文件,即vi启动时打开的文件。
:
q未修改原文件,不保存文件,直接退出。
:
wq、:
x保存文件并退出。
:
q!
放弃修改,不保存文件,退出。
:
e!
放弃修改,编辑区恢复为文件原样。
:
e文件名打开指定的文件,调入编辑区。
:
r文件名读入指定的文件,将文件内容插入到光标位置。
:
f在屏幕末行显示文件相关信息