linux知识点整理.docx
《linux知识点整理.docx》由会员分享,可在线阅读,更多相关《linux知识点整理.docx(27页珍藏版)》请在冰豆网上搜索。
linux知识点整理
Linux实用教程
第一章
⏹Linux是在GPL(GeneralPublicLicense,通用公共许可证)版权协议下发行的操作系统,是一种类Unix的操作系统,其版权属于LinusTorvalds.
⏹GNU是“GNU'sNotUnix”的递归缩写。
Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:
Gnu在英文中原意为非洲牛羚,发音与new相同)。
UNIX是一种广泛使用的商业操作系统的名称。
由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。
GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和XWindow视窗系统等。
不过GNU计划也开发了大批其他的自由软件。
⏹Linux的应用主要有4个方面:
服务器、嵌入式、软件开发、桌面应用。
Linux的长处主要在于服务器端和嵌入式两个领域。
⏹Linux系统的特点:
1.开放性
2.多用户
3.多任务
4.良好的用户界面
5.设备独立性
6.丰富的网络功能
7.可靠的系统安全
8.良好的可移植性
⏹Linux系统一般有4个主要部分:
内核、Shell、文件系统、应用程序。
⏹Linux与Windows的区别:
Windows
Linux
文件扩展名
使用文件扩展名来区分文件类型
Linux系统不使用文件扩展名来识别文件的类型。
相反,Linux根据文件的头内容来识别其类型。
为了提高可读性仍可以使用文件名扩展,但这对Linux系统来说没有任何作用。
图形化界面
必选图形界面,图形界面和命令行不能分开使用。
可选图形化界面,图形环境并没有集成到Linux系统中,而是运行于系统之上的单独一层,图形化的管理工具通常是命令行工具的扩展,使用图形化工具并不妨碍对配置文件进行手工修改。
命令区分大小写
命令和文件名不区分大小写。
所有Linux系统下的命令、文件和口令等都区分大小写
⏹Linux版本主要指内核版本和发行版本,通常安装在服务器上的版本是发行版本。
内核版本是在Linus领导下的开发小组开发出的系统内核版本号,由三个数字组成kernel的主版本号
x:
次版本号,偶数:
表示稳定版本;奇数:
开发中版本
y:
修正号,表示错误修补次数。
如:
稳定版本;测试版本:
什么是发行版本:
答:
一些组织和厂家,将Linux系统的内核、应用软件和文档包装起来,并提供安装界面、系统配置管理工具等,就构成了Linux发行版本。
第二章
Linux通过字母和数字的组合来标识硬盘分区,如“hda1”,其具体含义是:
前两个字母表明分区所在设备的类型,例如hd指IDE硬盘,sd指SCSI硬盘;
第三个字母表示分区所在的设备,如/dev/hda表示第1个IDE硬盘,/dev/sdb表示第2个SCSI硬盘。
最后的数字表示在该设备上的分区顺序,前四个分区(主分区或扩展分区)用数字1到4表示,逻辑分区从5开始,例如:
hda3表示第一个IDE硬盘上的第三个主分区或扩展分区。
例:
第1块IDE硬盘想分3个分区,有哪些分区策略,分区名分别叫什么
策略1:
策略2:
策略3:
答:
1:
hda1,hda2,hda3(三个主分区)
2:
hda1,hda2,hda5(两个主分区)
3:
hda1,hda5,hda6(一个主分区)
(3)SWAP分区:
起虚拟内存作用,由操作系统管理,用户不能使用,其大小一般取
(4)min(物理内存×2,2GB)。
(5)在Linux、BSD或其它Unix类的操作系统中GRUB(GRandUnifiedBootloader,启动/引导加载程序)和LILO(LinuxLoader)最为常用。
MBR(MasterBootRecord,主引导扇区)
执行下面命令删除MBR中的GRUB或LILO引导程序:
fdisk/mbr例如:
c:
\>fdisk/mbr(在C盘根目录下执行该命令)
第三章
Ø为了使得XWindow更加易于使用,各个公司与组织做了许多集成桌面环境,在Linux下主要是GNOME与KDE。
(其中GNOME最常用。
)Fedora默认使用的是GNOME。
GNOME:
GNUNetworkObjectModelEnvironment
KDE:
KDesktopEnvironment
Ø什么是工作区:
虚拟桌面又叫工作区,能够扩大桌面空间,使用户可以方便的组织窗口,例如把相关的窗口放到同一个虚拟桌面上。
工作区切换:
在同一时间只能看到一个桌面,可以通过鼠标点击或快捷键(Ctrl+Alt+上下箭头)进行切换。
如果在同一工作区打开了多个窗口,按super键使这些窗口平铺,以便选择其中某个。
第四章
(1)如果希望系统引导后自动进入字符界面,需要修改/etc/inittab文件,保存文件后重启生效。
使用gedit打开/etc/inittab文件(配置文件)
(2)Linux系统用户登录分两步:
第一步输入用户的用户名,系统根据该用户名识别用户;第二步输入用户的口令。
登录字符界面之后,也可以通过输入“startx”命令启动Linux图形化界面。
超级用户登陆后提示符是“#”,其他用户登陆后提示符是“$”。
(3)runlevel命令:
查看系统当前的运行级别。
#runlevel
显示上一次的运行级别和当前系统运行级别。
(显示N:
表示没有上一次运行级别)
(4)在Linux系统下常用的关闭和重启系统的命令有”shutdown”,”halt”,”reboot”和”init”.
shutdown命令的语法规则:
shutdown[-cfFhknr(参数)][-t秒数][时间][警告信息]
halt就是调用shutdown–h执行关闭系统。
⏹halt命令
⏹相当于shutdown-hnow
⏹reboot命令
⏹相当于shutdown-rnow
⏹Linux的关机命令只有超级用户能使用。
init定义了7种运行级别,如
“init0”命令为关闭系统;
“init3”为进入完整多用户模式的字符界面;
“init5”为进入完整多用户模式的图形界面;
“init6”为重新引导计算机。
Linux运行级别有如下7种:
0:
停止运行,所有进程中止,关闭系统。
1:
单用户模式,用于维护系统,只有少数进程运行。
2:
多用户模式,除了NFS服务没有启动外,其他和运行级别3一样。
3:
完整的多用户模式,进入Linux系统的字符界面。
4:
没有使用(可由用户定义)。
5:
完整的多用户模式(带有基于XWindow的图形界面)。
6:
重新引导计算机。
⏹如果是字符界面,所在的运行级别为3。
如果是图形界面,所在的运行级别就是5。
(5)
⏹如果想得到命令的帮助信息,可以使用help、man、info命令。
以得到mkdir命令的帮助信息为例,它们的使用方法为:
⏹#mkdir--help
⏹#manmkdir
⏹#infomkdir
⏹help得到的帮助最简洁,info描述较为详细,最常用的是man。
(6)使用whereis命令可以查找命令所在的位置。
#whereisls
查找ls命令在什么目录下。
(7)Fedora的标准提示符包括用户登录名、登入的主机名、当前工作目录、提示符。
以普通用户zhangsan登入名为PC-LINUX的主机,当前工作目录是/home/zhangsan,如下所示:
[zhangsan@PC-LINUX~]$
以root用户登录系统的提示符如下所示:
[root@PC-LINUX~]#
(8)Linux系统由以下3个重要的部分组成:
内核;
Shell;
应用程序。
(9)命令可分为如下两大类:
bash内置的命令和应用程序。
怎样知道哪些命令是bash内置命令,哪些是应用程序呢
用which命令查看。
功能:
在环境变量$PATH设置的目录里查找符合条件的文件。
如:
whichls显示可执行命令ls的路径和它的别名。
bash中使用的通配符
(10)符 号
(11)含 义
(12)
(13)代表任何单一字符
(14)*
(15)代表任何字符
(16)[字符组合]
(17)中括号中的任一字符皆符合,如:
[a-z]代表任一小写字母
(18)[!
字符组合]
(19)不在中括号中的字符皆符合,如:
[!
0-9]代表任一非数字字符。
注:
创建文件时不能使用通配符。
符号
意 义
符号
意 义
~
用户主目录
|
管道
`
命令取代
通配符,代表任何单一字符
#
解释
<
输入重定向
$
变量取值
>
输出重定向
&
后台进程工作
'
单引号(不具有变数置换的功能)
*
通配符,代表任何字符
"
双引号(具有变数置换的功能)
(
子Shell开始
/
路径分隔符
)
子Shell结束
;
命令分隔符
\
使命令持续到下一行
常用控制组合键
组合键
意义
Ctrl+C
终止目前的命令
Ctrl+D
输入结束,即EOF之意(如使用mail信件结束时),或注销Linux
Ctrl+Z
暂停目前的命令
Ø如果输入了一个不完整的命令或文件名,按一下Tab键,bash会自动补全命令。
Ø通过按向上方向键,可以向后遍历最近在该控制台下输入的命令。
用向下方向键可以向前遍历命令。
Ø如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。
常用的有两种方法:
使用“;”与使用“&&”号。
使用“;”
格式:
命令1;命令2
功能:
先执行命令1,不管命令1是否出错,接下来执行命令2。
使用“&&”
格式:
命令1&&命令2
功能:
只有命令1正确执行完后才执行命令2。
⏹命令替换符号。
格式:
命令1$(命令2)或
命令1`命令2`
功能:
将命令2的输出作为命令1的参数。
如:
#kill`pidofgedit`(注:
“`”与“~”在同一键上)
Ø命令别名
经常使用的一些较长的命令可以为其定义别名,以简化输入。
格式:
alias[别名]=[需要定义别名的命令]注:
“=”两边不能有空格
如:
#aliasok=“ls-l/boot”
#ok
用unalias命令取消别名。
Ø管道可以将某个命令的输出信息当作某个命令的输入,有管道符号:
“|”来表示
命令语法:
[命令1]|[命令2]|[命令3]
管道可以把一系列命令连接起来,
第一个命令的输出会作为第二个命令的输入,
第二个命令的输出又会作为第三个命令的输入,以此类推。
显示在屏幕上的是管道行中最后一个命令的输出。
Ø重定向有5种方式,分别是:
Ø输出重定向:
将命令的输出保存到文件中,如果存在相同的文件,则覆盖file文件中的内容。
格式:
command>file
使用输出重定向将目录/boot的内容保存到文件/root/abc。
#ls/boot>/root/abc
#cat/root/abc
输入重定向:
即将文件file的内容作为命令的输入。
格式:
command错误重定向:
将命令执行的出错信息输出到文件file中。
格式:
command2>file
追加重定向:
将command命令执行的输出添加到已存在的文件file中。
格式:
command>>file
同时实现输出和错误的重定向:
可以同时实现输出重定向和错误重定向的功能。
格式:
command&>file
⏹程序&表示在后台执行该程序。
如:
#gedit&
⏹单引号内的文字都是原样输出。
如:
#echo‘todayis`date`’
⏹双引号内的字符可以进行变量置换。
如:
#echo“todayis`date`”
进行特殊处理的三个符号:
①美元符号②反引号③反斜杠
反斜杠被用作转义字符或命令换行符。
用echo命令显示字符串时,要使转义字符生效,需要使用选项“-e”,如:
#echo–e“Hello\nHowareyou”
Øvi的两种模式:
指令模式:
该模式下的按键做为指令处理。
输入模式:
把按键当作插入的字符处理。
从输入模式切换到指令模式,按ESC键。
从指令模式切换到输入模式,可用i,a或o,
i:
从光标前输入资料
a:
从光标后输入资料
o:
在光标所在行下新增一行并进入输入模式
存盘退出:
在指令模式下输入ZZ或:
x或:
wq
不存盘退出:
在指令模式下输入ZQ或:
q!
存盘(不退出)在指令模式下输入:
w
删除命令:
x删除光标下的字符
dd删除当前行
ndd删除从当前行开始的n行
dw删除光标后的单词剩余部分
dG删除当前光标到文件尾
:
20,30d删除20到30行
被删除的内容自动复制到剪贴板,用p粘贴
复制命令:
v进入/退出块选择模式,选好后用y复制,用p粘贴。
yy复制当前行
nyy复制从当前行开始的n行
yG从当前行复制到文件尾
查找命令(末行模式)
/字符串查找字符串(n继续查找)
字符串是由下向上查找(n继续查找)
第五章
1.可以用file命令查看该文件的类型。
#fileit
it:
ASCIItext
2.Linux文件类型常见的有:
⏹普通文件、目录文件、字符设备文件、块设备文件、管道文件和(符号)链接文件等。
管道文件不属于用户直接命名的普通文件,它是由系统创建的。
3.Linux系统下链接有两种方式:
软链接和硬链接。
软链接也叫符号链接,包含了另一个文件的路径名,可以是任意文件或目录。
在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作。
在删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
和硬链接有所不同,软链接文件只是其源文件的一个标记。
当我们删除了源文件后,链接文件虽然存在,却不能查看软链接文件的内容了。
硬链接是已存在文件的另一个文件,对硬链接文件进行读写和删除操作时,结果和软链接相同。
但如果删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。
inode值相同的文件,他们的关系是互为硬链接的关系。
当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。
如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。
硬链接文件有以下两个限制:
①不允许给目录创建硬链接
②只有在同一文件系统中的文件之间才能创建链接。
ln[选项]源文件名[链接文件名]
-s选项:
用于创建符号链接,默认情况下是创建硬链接。
ln–sa1
cata1
ln–s~/dir1a为目录创建链接。
4.pwd:
显示工作目录的绝对路径。
5.cd[目录]:
改变工作目录,不带参数则回到用户主目录。
~表示用户主目录。
..表示工作目录的上一级目录。
.表示工作目录。
6.ls[选项][目录或文件]:
列出子目录的和文件信息。
-a:
以“.”开头的文件被系统视为隐藏文件,用ls-a显示所有文件。
-d:
如果参数是目录,显示该目录的信息而不是该目录下的文件。
-l:
使用长格式显示,可察看更详细的文件资料。
7.touch命令:
可以创建空文件,更新文件时间信息。
#touchfile1
将文件file1的访问/修改/状态改变时间改为当前时间,如果file1不存在,则创建新文件。
#touchfile2file3
同时创建两个空文件file2和file3
8.mkdir命令:
建立目录。
mkdir[选项]目录名
-p:
要建立的目录是一个路径,用该选项可以建立该路径上的所有目录。
9.rmdir:
删除空目录。
10.cp命令用于复制文件或目录,其命令格式如下:
11.cp [选项] 源文件 目标文件
12.cp [选项] 源文件组 目标目录
-a:
该选项通常在拷贝目录时使用。
它保留链接、文件属性,并递归地拷贝目录。
-r:
是指连同源文件夹中的子目录一同拷贝。
⏹cp(换名复制)
⏹cp/(将复制到根目录下)
⏹cp/(将换名复制到根目录下)
13.mv命令用于移动文件和目录,兼有改名的功能。
mv[-f][-i]文件1文件2
mv[-f][-i]目录1目录2
mv[-f][-i]文件列表目录
⏹mv../将文件移动到上层目录
⏹mv 将改名为
⏹mvdir2../将dir2目录上移一层
14.rm命令可以删除文件及整个目录。
rm[选项]文件列表。
注:
rmdir命令用于删除空目录。
第六章
1.cat命令:
主要用于显示文件内容,还能连接两个或多个文件,形成新文件。
-n:
由1开始对所有输出的行数编号。
⏹cat>将文件、中的内容合并输入到中
⏹cat>
⏹cat>>将文件和中的内容追加输入到中
⏹cat>从键盘输入,存储到文件,用ctrl+d结束输入。
(>不是输出重定向吗)
2.more命令可以让画面在显示满一页时暂停,此时可按空格键继续显示下一页,按回车继续显示下一行,按q键退出,按b键显示上一页内容。
-num:
一次显示的行数。
+num:
从第num行开始显示。
⏹ls-l/bin|more
分屏显示“ls-l/bin”命令的执行结果。
⏹more+3-5从第3行开始显示文件,一次显示5行
⏹more分页显示文件
3.less命令的用法与more命令类似,也可以用来浏览超过一页的文件。
less命令除了可以按空格键向下显示文件外,还可以利用上下箭头键及pgup,pgdn来卷动文件。
按q键结束浏览。
4.head命令:
用于显示文件前几行的内容。
-n:
显示文件的前n行,默认为10。
5.tail命令:
用于显示文件后几行的内容。
-num:
从距文件末尾num行处开始显示文件内容,默认为10.
6.cut命令
功能:
显示每行中的指定字段。
⏹-d:
指定定界符。
⏹-f:
指定要显示的字段列表。
#cut–f1,5-d:
/etc/passwd
root:
root
bin:
bin
daemon:
daemon
adp:
adm
…
上面命令显示passwd文件中的第1个和第5个字段,字段间的分隔符为“:
”。
7.grep命令
grep[参数]<要找的字串><要找字串的源文件>
功能:
在文件内容中搜索匹配的字符串。
grep‘linux’
在中查找linux字符串
grep‘linux’*.txt
在所有.txt文件中查找linux字符串
ls|grep‘txt’
在ls命令的输出结果中查找txt字符串。
8.find命令:
按文件名或属性查找文件
格式:
find[<路径>][匹配条件]
find/-name
在/及其子目录下查找名为的文件。
find-name“*.txt”
在当前目录及其子目录下查找以txt为扩展名的文件。
(使用通配符时要加引号)
find/home-usertom
在/home及其子目录下查找用户tom的所有文件。
9.locate命令:
使用locate命令可以用于查找文件,比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作程序(crontab)来建立。
10.whereis命令:
使用whereis命令可以查找指定文件、命令和手册页的位置。
whereis命令也是在数据库中查找。
命令语法:
whereis[选项][文件名]
11.whatis命令
功能:
查询指定命令的命令功能。
命令语法:
whatis[命令]
#whatisls
查询ls命令的功能。
12.uname命令
功能:
显示计算机以及操作系统的相关信息。
命令语法:
uname[-amnrsv]
r(--release):
显示操作系统内核版本。
13.hostname命令
功能:
显示或修改计算机的主机名。
语法:
hostname[计算机名]
hostname
显示当前计算机主机名。
hostnameLINUX
修改计算机主机名为LINUX。
14.date命令:
显示和设置计算机系统的日期和时间(超级用户才可以设置)
–s:
设置描述的日期
#date
显示当前计算机上的日期和时间
15.echo命令
格式:
echo[-n]字符串
功能:
主要用于在屏幕上显示一串字符,“-n”表示输出后不换行。
#echohellolinux
输出字符串时可以用引号也可以不用。
#echohellolinux>
将字符串写入到文件中。
#echo$变量名
显示变量内容。
16.wall命令
格式:
wall[消息]
功能:
向所有用户发送消息。
#wall“closecomputer”
发送指定的字符串。
#wall
输入消息,以ctrl+d结束。
17.write命令
格式:
write用户名[终端号]
功能:
向指定用户发送信息。
#writeroottty1
向tty1终端上的用户root发送信息,以ctrl+d结束输入。
18.clear
清除计算机屏幕上信息。
第七章
1.一个简单Shell程序的创建过程(1->2->3或1->4)
1、文件/root/date的内容为:
#!
/bin/bash
#filename:
date
echo“Mr.$USER,Todayis:
”
echo`date`
2、使文件具备执行权限:
chmodu+x/root/date
3、执行Shell程序
#/root/date
如果date文件在当前目录下,还可这样执行:
#./date
4、用bash命令执行程序
如果文件不具备可执行权限,那么可以用bash命令来执行该文件:
#bash/root/date或
#bash
2.Shell程序中用“$var”的形式来引用名为var的变量的值。
如:
#echo$PATH
3.预定义变量:
与环境变量不同的是,用户只能根据Shell的定义来使用这些变量,常见的有:
$#存储命令行参数的个数
$存储前一命令返回的状态值
$0存储shell程序自己的名称
$[1-n]存储第[1-n]个命令行参数
$*存储shell脚本的所有参数(不包含$0)
$$存储shel