Linux系统管理
第一章:Linux系统安装及基本操作
单词:
Platform:平台 Kernel:核心 General:一般的 Swap:交换的 Lesser:次要的
Dump:倒 Postfix:后缀 Grand:极好的 Bootloader:启动器
Linux的相关概念。
通常所说的Linux指的是Linux操作系统,其中包括Linux内核、系统基本库和应用程序等组成部分。长期以来,Linux内核采用了稳定版本和开发版本并存的版本控制方式,版本号的命名格式为x.yy.zz,其中x为主版本号,yy为次版本号,zz表示修订的版本号。
x主版本号:表示内核结构、功能等方面的重大升级,主版本号升级比较慢,目前只使用了“1”和“2”两个主版本号。
yy次版本号:用于表示内核版本是开发版本还是稳定版本,使用奇数代表开发版本,使用偶数代表稳定版本。
zz修订版本号:表示对同一个内核次版本的不断修订和升级。
Linux的主流发行版本:Red Hat、Novell、Debian、CentOs、Ubuntu、SuSe等。
Linux中硬盘和分区的表示。
Linux内核读取光驱、硬盘等资源时均通过“设备文件”的形式进行,因此在Linux系统中,将硬盘和分区表示为不同的文件。
硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名;而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中X可以为a、b、c、d等字母序号。(例如,第一个IDE硬盘表示为:hda)
分区:表示分区时,以硬盘设备名为基础,在后边添加该分区(无论是主分区、扩展分区、逻辑分区)对应的数字序号即可。
PS:需要注意的是,由于硬盘中的主分区只有4个,因此主分区和扩展分区的序号就限制在1-4之间。而逻辑分区始终从5开始。(例如,第一个IDE硬盘中划分的第一个主分区是hda1)
Linux中使用的文件系统类型。
文件系统类型决定了向分区中存放数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。在Linux系统中,最常使用的文件系统包括一下两种格式。
EXT3:第三代扩展文件系统,是是目前大多数Linux系统中默认使用的文件系统类型,属于较典型的日志型文件系统。
SWAP:交换文件系统,主要用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存。
Linux中的目录结构。
在Linux系统中,将所有的文件数据组织为一个“树形”的目录结构,所有的分区、目录、文件等都具有一个相同的位置起点——“根目录”。
整个树型结构目录中,使用独立的一个“/”表示根目录,根目录是Linux文件系统的起点,其所在分区称为根分区。
常见子目录及其作用
/boot:存放启动Linux系统所必须的文件,包括内核文件、启动菜单配置文件等。出于安全考虑,该目录通常被划分为独立的分区。
/bin:存放Linux系统中最基本的用户命令,普通用户都有权限执行。
/dev:存放Linux系统中的硬盘、键盘、鼠标、光驱等各种设备文件。
/etc:存放Linux系统及各种程序的配置文件,配置文件较多的程序会在“etc”目录中建立独立的子目录,用于存放各自的配置文件。
/home:存放所有系统普通用户的默认工作目录(又称宿主目录)。如果服务器需要提供大量的普通用户,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份。
/root:该目录是Linux系统管理员root的宿主目录。
/sbin:存放Linux系统中最基本的管理命令,一般管理员用户才有权限执行。
/var:存放系统中经常需要变化的一下文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,该目录也通常划分为独立的分区。
Linux的安装方式:光盘引导、USB引导。(过程比较简单,跟安装Windows系统界面差不了多少,就不再多叙了。)
切换Linux操作界面
在服务器应用领域,很多Linux/Unix服务器甚至不需要显示器,对服务器的绝大部分管理、维护操作都是通过远程登录的方式进行的。图形操作界面虽然操作简单,但是需要占用更多的资源,不利于远程传输数据,而字符界面的效率则要高得多。要切换进入Linux系统的字符界面,可以使用以下几种方式。
1.使用控制台快捷键。
大多数的Linux系统中默认开启了六个虚拟终端(也称虚拟控制台),用于登录到纯字符模式的操作界面,分别表示tty1-tty6。在RHEL5系统的图形界面环境中,按快捷键Ctrl+Alt+Fn可以切换到第n个虚拟字符控制台,其中n代表数字序号1-6 。需要从字符返回图形桌面环境时可以按快捷键Alt+F7,而在字符控制台切换时,只需要使用Alt+Fn即可。(虚拟机里面快捷键需要加上Shfit)
2.使用远程登录的方式登录到Linux主机。
SSH(安全命令解释器)是目前最常用的远程登录方式。
3.使用图形界面中的伪字符终端。
不管上述哪种方式登录到字符界面后,都可以看到类似“[root@localhost~]#”形式的提示符,其中root表示当前登录的用户,localhost表示本机的主机名,最后的“#”表示当前用户是管理员,如果登录的是普通用户,则是“$”。
安装了图形包,开机就是字符模式,怎么打开图形界面,可以使用startx或者init 5的方式。
关机及重启的命令操作。
shutdown -r now(立刻重启电脑)
shutdown -h now(立刻关闭电脑)
shutdown -r +15 'gaun ji'!(15为时间,这个命令设置,15分钟后自动重启系统,同时通知已登录到主机的各用户“guan ji!”)
halt -p(关闭系统,同时关闭主机电源。)
reboot(用于重启系统。)
第二章:管理文件和目录
单词:
Manual:手册 Shell:贝壳,命令解释器 Expression:表达式 List:列表 Remove:删除
Move:移动 Which:哪一个 Concatenate:连结 More:更多的 Less:更少的 Head:头部
Tail:尾部 Count:计算 Executable:执行 Symbolic:符号的
Linux命令的分类
内部命令:指的是集成于Shell解释器程序内部的一些特殊命令,也称为内建命令。
外部命令:指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。
Linux命令行的格式
命令字 [选项] [参数]
命令字即命令名称,是整条命令最关键的一部分。 Linux的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的。
选项的作用是调节命令的具体功能,决定这条命令如何执行。
参数是命令的处理对象,通常情况下命令参数可以说文件名、目录名或者用户名等内容。
使用Linux命令的快捷键
Tab键:可以将输入的不完整的命令和或文件、目录名自动补齐。如输入“ifcon”后按Tab键,即可自动补齐为ifconfig命令字。该功能只能向后补齐,且必须以以输入的部分字母开头,能够唯一定位一个命令字或文件、目录名;否则可按两次Tab键,系统将输出可用的名称列表。
反斜杠\:如果命令过长,为了美观方便查看,可以插入“\”符合强制换行。
Ctrl+U:快速删除当前光标处之前的所有字符。
Ctrl+K:快速删除当前光标处到行尾的所有字符。
Ctrl+L:快速情况当前屏幕中显示的内容。
Ctrl+C:取消当前命令的编辑,并切换为新的一行命令提示符。
获得命令帮助
使用help命令,help命令本身是Linux Shell中的一个内建指令,其用途是查看各Shell内部命令的帮助信息。使用help命令时,是需要添加内部指令的名称作为参数即可。
如:
使用“--help”选项,对于大部分的外部命令,都可以使用这个选项,用于显示命令字的格式及选项等帮助信息。
如:
使用man手册页,它是Linux系统中最为常用的一种在线帮助形式,绝大部分的外部软件都在安装时为执行程序、配置文件提供了详细的帮助手册页。这些手册页中的信息按照特定的格式进行组织,通过统一的手册页浏览程序man进行阅读。
如:执行man touch后的内容。
使用info命令,信息页是Linux系统中提供的另外一种在线帮助形式,功能与man手册页累死,但提供的信息通常会更加详尽,而且提供了不同帮助主题间的跳转功能。通常使用man手册页已经能够满足绝大部分的命令在线帮助需求,因此使用到info的情况较少。
目录操作命令
pwd命令——查看当前的工作目录(Print Working Directory)
cd命令——切换工作目录(Change Directory)
在Linux系统中表示某个目录或文件的位置时,根据其参照的起始目录不同,可以使用两种不同的形式,分别称为相对路径和绝对路径。
相对路径:这种方式一般以当前工作目录为起点,输入的时候比较简便。
绝对路径:这种方式以根目录“/”作为起点。
使用cd - 用于返回上一次执行cd所处的目录。
ls命令——列表显示目录内容
ls命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。常用选项是:
-l:以长格式显示文件和目录的列表,包括权限、大学、最后的更新时间等详细信息。
-a:显示所有子目录和文件的信息,包括名称以点号"."开头的隐藏目录和文件。
-d:显示目录本身的属性而不是目录中的内容。
-h:以更人性化的方式显示出目录或文件的大小。
-R:以递归的方式显示指定目录及其子目录中所有内容。
使用ls命令显示目录或文件信息时,可以使用通配符"?"或"*"以提高命令编写效率。其中,问号可以匹配文件名中的一个未知字符,而星号可以匹配文件名中任意多个字符。
mkdir命令——创建新的目录(Make Directory)
mkdir命令用于创建新的空目录,也可以同时创建多个目录。可能较常用到的选项为“-p”,改命令用于创建嵌套的多层目录结构。若不使用-p选项,则只能在已经存在的目录中创建其它子目录。
du命令——统计目录及文件的空间占用情况(estimate file space usage)
du命令可用于统计指定目录(或文件)所占磁盘空间的大小。使用目录或文件名称作为参数,可以同时添加多个参数。du命令常用的选项如下:
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-h:以更人性化的方式显示出统计结果。
-s:只统计每个参数所占用空间的总大小。
文件操作命令
touch命令——新建空文件
touch命令本用于更新文件的时间标记,但在实际使用中经常用于创建新的测试文件。使用文件名作为参数,可以同时创建多个文件。当目标文件已经存在时,将更新该文件的时间标记,否则将创建指定名称的空文件。
file命令——查看文件类型
file命令用于查看文件的类型,可以根据文件的内部存储结构来进行判别,而不根据文件的扩展名来进行判别。在Linux系统中,文件扩展名与文件类型没有绝对的关系。
cp——复制文件或者目录
cp命令用于复制文件或者目录,将需要复制的文件或目录(源)重建一份并保存为新的文件或目录(目标)中。cp命令的基本使用格式:cp [选项] ...源文件或目录...目标文件或目录
若需要复制的是多个文件或目录时,则目标必须是目录。
cp命令常用的几个选项:
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
-i:覆盖目标同名文件或目录时提醒用户确认。
-p:复制时保持源文件的权限、属主及时间标记等属性不变。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
rm命令——删除文件或目录
rm命令用于删除指定的文件或目录,在Linux命令行界面中,删除的文件是难以恢复的,因此使用rm命令删除文件时需要格外小心。rm命令使用要删除的文件或目录名作为参数。常用选项:
-f:删除文件或目录时不进行提醒,而直接强制(Force)删除。
-i:删除目标同名文件或目录时提醒用户确认。
-r:删除目录时必须使用此选项,表示递归删除整个目录树。
mv命令——移动文件或目录
mv命令用于将指定的文件或目录转移位置,如果目标位置与原位置相同,则效果相当于为文件或目录重命名。mv命令基本格式:mv [选项] ...源文件或目录...目标文件或目录
which命令——查找Linux命令文件并显示所在的位置
which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行"echo $PATH"命令查看),这个范围也是Linux系统在执行命令或程序时的默认搜索路径。在RHEL5系统中,为which命令添加了特定的别名设置,因此其查找范围还包括用户环境中设置的命令别名。
find命令——查找文件或目录
find命令是Linux系统中功能非常强大的文件和目录查找命令,可以根据目标的名称、类型、大小等不同属性进行查找。find命令在查找时将采用递归查询的方式,其使用形式相当灵活,也可以相当复杂。这里介绍最基本的几种用法。
find命令的基本使用格式:find [查找范围] [查找条件表达式]
其中,查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了find命令根据哪些属性、特征来进行查找。常用的几种查找类型如下:
-name:按名称查找。根据目标文件的部分名称查找,允许使用通配符(*或?)。
-size:按文件大小查找。根据目标文件的大小进行查找,一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件,常用容量单位k、M、G。
-user:按文件属主查找。根据文件是否属于目标用户进行查找。
-type:按文件类型查找。这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。
需要同时使用多个查找条件时,各表达式之间可以使用逻辑运算符"-a"、"-o",分别表示而且(And)、或者(Or)。
ln命令——为文件或目录建立链接(Link)
ln命令用于为文件或目录建立快捷方式(在Linux系统中称为链接文件),提高用户定位文件或目录的效率。链接文件分为符号链接、硬链接两种类型,主要区别是:不能对目录创建硬链接,也不能跨越不同分区创建硬链接文件。如果需要创建符号链接(又称为软链接)文件,需要为ln命令添加"-s"选项。ln命令的基本使用格式:ls [-s] 源文件或目录... 链接文件或目标目录
当目标是一个已经存在的目录时,新创建的链接文件将保存到该目录中,并使用与源文件或目录相同的名称。
文件内容操作命令
1.cat命令——显示并连接文件内容
cat命令本用于连接多个文件的内容,但在实际使用中更多的用于查看文件内容。cat命令是应用最为广泛的文件内容查看命令。使用该命令时,只需要指定文件名作为参数即可。
2.more和less命令——分页查看文件内容
使用cat命令可以非常简单直接地显示出文件的全部内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,而文件的大部分内容却来不及看到。使用more和less命令可以采用全屏的方式分页显示文件内容更便于从头到尾仔细地阅读文件内容。
more命令为较早出现的分页显示命令,表示文件内容还有更多的意思。less命令是较晚出现的分页显示命令,提供了比早期more命令更多的一些扩展功能,两个命令的用法基本类似。
使用more命令查看超过一屏的文件内容时,将进行分屏显示,按Enter键逐行滚动查看,按空格键向下翻一屏,按q键退出并返回原来命令环境。
3.head和tail命令——查看文件开头或末尾的部分内容
head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用-n选项(n为具体的行数)指定需要显示多少行的内容,默认显示十行。
tail命令更多地用于查看系统日志文件,以便观察相关的网络访问、服务调试等相关信息。添加-f选项的命令还可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容。
4.wc命令——统计文件内容中的单词数量等信息
wc命令用于计算文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同事统计多个文件。较常用的选项如下(默认情况相当于三个选项都使用):
-c:统计文件内容的字节数。
-l:统计文件内容的行数。
-w:统计文件内容的单词个数。
grep命令——检索、过滤文件内容
grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字作为查找条件,也可以使用复杂的条件表达式(如"^word"表示以word开头,"word$"表示以word结尾,"^$"表示空行)。
使用grep命令的基本格式:grep [选项] ... 查找条件 目标文件
grep命令较常用到的选项:
-i:查找内容时忽略大小写。 -v:反转查找,即输出与条件不符的行。
归档及压缩命令
1.gizp和bzip2命令——制作压缩文件或解开已成压缩的文件
这两个命令的压缩算法各不相同,但命令使用格式基本相似,一般来说bzip2的压缩效率更要好一些。使用gzip制作的压缩文件建议使用扩展名".gz",而使用bzip2制作的压缩文件建议使用扩展名".bz2"。制作压缩文件时使用"-9"选项可以有效提高压缩的比率,但文件较大时会需要更多的时间。需要解压文件时,可以使用"-d"选项(使用解压专用命令gunzip、bunzip2也可以)。
2.tar命令——制作归档文件或释放已归档文件
tar命令可以只对目录或文件进行归档,而不进行压缩。但是在实际的备份工作中通常在归档的同时也将包文件进行压缩,以便节省磁盘空间。使用tar命令时,选项前"-"引导字符可以省略。
-f:表示使用归档文件。
-c:创建.tar格式的包文件
-C:解包时指定释放的目标文件夹。
-x:解开.tar格式的包文件。
-j:调用bizp2程序进行压缩或解压缩。
-z:调用gzip程序进行压缩或解压缩。
-p:打包时保留文件及目录的权限。
-t:列表查看包内的文件。
-v:输出详细信息。