第一章 基本背景
Linux系统特点
开放性,多用户,多任务,良好的用户界面,设备独立性,丰富的网络功能,可靠的系统安全,良好的可移植性
Linux系统组成
内核、Shell、文件系统、应用程序
Linux系统版本
点分隔的3段数字组成,r.x.y ,比如3.10.0-327。
r:目前发布的内核主版本
x:偶数表示稳定版本;奇数表示开发版本
y:错误修补的次数
第二章 系统安装
硬盘分区命名:格式/dev/xxyN
- /dev:Linux系统中所有设备文件所在的目录名
- xx:分区名的前两个字母表示分区所在设备的类型,通常是hd(IDE硬盘)或sd(SCSI硬盘)
- y:这个字母表示分区所在的设备,如/dev/hda(第1个IDE硬盘)或/dev/sdb(第2个SCSI硬盘)
- N:最后的数字N代表分区。前4个分区(主分区或扩展分区)用数字1~4表示,逻辑驱动器从5开始
硬盘分区规划:
- 最简单的分区规划:
- swap分区(物理内存的1~2倍)
- /boot分区(与Linux系统启动有关的程序,最少200MB)
- / 分区(10GB以上)
- 合理的分区规划:
- swap分区(物理内存的1~2倍)
- /boot分区(与Linux系统启动有关的程序,最少200MB)
- /usr分区(Linux系统中的应用程序,至少8GB)
- /var分区(存放Linux系统中经常变化的数据以及日志文件,1GB以上)
- / 分区(系统的根目录,所有的目录都挂在这个目录下面,建议大小最少为1GB)
- /home分区(存放普通用户的数据)
第三章 字符界面
进入字符界面
systemctl set-default multi-user.target
multi-user.target表示字符界面
提示符
root是#,其他是$
关机与重启
shutdown -h [关机时间] (halt命令调用 shutdown -h)
重启:
shutdown -r [重启时间][警告信息字符串] (reboot命令也是重启)
快捷键
- Ctrl+l :清屏
- Ctrl+c :终止执行
- Ctrl+z :挂起
- Ctrl+d :结束
- Ctrl+o :执行当前命令,并选择上一条命令
光标操作:
- Ctrl+a :移动到行首
- Ctrl+e :移动到行位
- Ctrl+u :删除光标到行首
- Ctrl+k :删除光标到行尾
- Ctrl+w :删除从光标到当前单词开头的部分
- Ctrl+y :插入最近删除的单词(Ctrl+u或k删除的内容)
- Alt+f :按单词前移(向右)
- Alt+b :按单词后移(向左)
- Alt+d :从光标处删除至单词尾
- Alt+c :从光标处更改单词为首字母大写
- Alt+u :从光标处更改单词为全部大写
- Alt+l :从光标处更改单词为全部小写
特殊字符
~ 用户主目录
` 反引号,用来命令替代
# 注释
$ 变量取值
& 后台进程工作
( 子Shell开始
) 子Shell结束
\ 使命令持续到下一行
| 管道
< 输入重定向
> 输出重定向
>> 追加重定向
' 单引号(不具有变数置换的功能)
" 双引号(具有置换的功能)
/ 路径分隔符
; 命令分隔符
通配符
? 代表任何单一字符
* 代表任何字符
[字符组合] 在中括号中的字符都符合,比如[a-z]代表所有的小写字母
[!字符组合] 不在中括号中的字符都符合,比如[!0-9]代表非数字的都符合
上一条命令
Ctrl+r :向上搜索历史列表
Ctrl+p : 查看历史列表中的上一个命令
Ctrl+n :查看历史列表中的下一个命令
history:查看命令历史记录
命令排列
命令1; 命令2 :先执行命令1,不管命令1是否出错,接下来就执行命令2
命令1&&命令2 :当命令1正确运行完毕后,才能执行命令2
命令替换:
命令1 $(命令2) 或 命令1 命令2
:例如
kill -9 $(pidof less)
管道:
将某个命令的输出信息当作某个命令的输入,由管道符号“|”来标识
[命令1]|[命令2]|[命令3]
例如: ls /etc|more
重定向
输出重定向:
[命令] > [文件]:将某一命令执行的输出保存到文件中
例如:ls /boot > /root/abc;echo Hello > /root/mm
输出追加重定向:
[命令] >> [文件]:即将某一命令执行的输出添加到已经存在的文件中
输入重定向:
[命令] < [文件]:将某一文件的内容作为命令的输入
例如:cat < /root/mm;
输入追加重定向:
[命令] << [分隔符]
> [文本内容]
> [分隔符]
告诉Shell,当前标准输入来自命令行的一对分隔符之间的内容
例如:
cat > /root/bc <<EOF
> Hello Linux
> EOF
错误重定向:
[命令] 2> [文件]:将某一命令执行的出错信息输出到指定文件中
错误追加重定向:
[命令] 2>> [文件]:出错信息添加到已经存在的文件中
同时实现输出和错误重定向:
[命令] &> [文件]:可以同时实现输出重定向和错误重定向的功能
例如:ls /boot &> /root/kk:如果有文件,输出重定向,没文件,错误重定向
vim
三种模式:命令模式、插入模式和末行模式
默认位于命令模式,:进入末行模式,i/a进入插入模式
进入插入模式:
i:当前位置之前插入
a:当前位置之后插入
I:当前行首
A:当前行末
o:下面新开一行插入
O:上面新开一行插入
s:删除当前字符插入
S:删除当前行插入
光标:
H:屏幕顶部
M:屏幕中间
L:屏幕底部
0:行首
Ctrl+b:使光标往上移动一页屏幕
Ctrl+f:使光标往下移动一页屏幕
Ctrl+u:使光标往上移动半页屏幕
Ctrl+d:使光标往下移动半页屏幕
$:移动到行尾
^:移动到行首
w:跳到下一个字开头
e:跳到下一个字结尾
b:回到上一个字开头
G:使光标移动到文件尾
gg:使光标移动到文件首
命令模式:
/关键字:先按[/]键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按[n]键会往后查找下一个关键字,而按[N]键会往相反的方向查找
?关键字:先按[?]键,再输入想查找的字符
ZZ:保存退出
ZQ:不保存退出
u:撤销上一个操作
末行模式:
:w 保存文件
:wq 保存文件并退出
:wq! 保存文件并强制退出vi编辑器
:wq! filename 将文件另存为filename后强制退出
:q 退出vi编辑器
:q! 如果无法离开vi,强制退出vi编辑器
:n1,n2w filename 将从n1行开始到n2行结束的内容保存到文件filename中,n1和n2代表数字
:r filename 打开另外一个已经存在的文件filename
:e filename 新建名为filename的文件
:f filename 把当前文件改名为filename文件
:n 在冒号后输入一个数字,再按回车键就会跳到该行
:d 删除当前行
第四章 文件
Linux文件类型
普通文件、目录文件、设备文件(字符设备文件和块设备文件)、管道文件和符号链接文件
- 普通文件:ls -lh 权限前面第一个是-的
- 目录文件:ls -lh 权限前面第一个是d的
- 设备文件:
- 块设备文件(可以随机读写的,如磁盘):ls -l 权限前面第一个是b的
- 字符设备文件(打印机和终端等可以接收字符流的):ls -l 权限前面第一个是c的
- 管道文件(FIFO文件):ls -l 权限前面第一个是p的
- 链接文件:
- 软链接文件(符号链接文件,包含了另一个文件的路径名,自动地把该操作转换为对源文件的操作):ls -l 权限前面第一个是l的
- 硬链接文件(读写和删除操作时,结果和软链接相同,源文件删除后就是普通文件):ls -l 硬链接数大于1的
文件目录结构
/home 各用户的主目录
/root root的主目录
/bin 常用的命令文件,不能包含子目录
/sbin 系统管理员和root用户所使用的命令文件
/dev 大部分的设备文件,比如磁盘、光驱等
/lib Linux系统的共享文件和内核模块文件
/modules目录存放核心可加载模块
/lib64 64位版本Linux系统的共享文件和内核模块文件
/tmp 包含一些临时文件
/mnt 手动为某些设备(比如硬盘)挂载提供挂载目录
/boot Linux系统的内核文件和引导装载程序(如GRUB)文件
/opt 某些第三方应用程序的安装文件
/media 由系统自动为某些设备(一般为光盘、U盘等设备)挂载提供挂载目录
/var 该目录存放不经常变化的数据,如系统日志、打印队列、DNS数据库文件等
/etc Linux系统上大部分的配置文件,建议修改配置文件之前先备份
/usr 可以供所有用户使用的程序和数据
/srv 存储一些服务启动之后所需要取用的资料目录
/run 一个临时文件系统,一些程序或服务启动以后,会将他们的PID放置在该目录中
/sys 在Linux系统提供热插拔能力的同时,该目录包含所检测到的硬件设置,它们被转换成/dev目录中的设备文件
/proc
是一个虚拟的文件系统,它不存在磁盘上,而是由内核在内存中产生,用于提供系统的相关信息。
在/proc目录下的一些最重要的文件。
/proc/cpuinfo:该文件保存计算机CPU信息。
/proc/filesystems:该文件保存Linux文件系统信息。
/proc/ioports:该文件保存计算机I/O端口号信息。
/proc/version:该文件保存Linux系统版本信息。
/proc/meminfo:该文件保存计算机内存信息。
文件和目录操作
pwd:显示当前用户所处的工作目录的绝对路径
cd:更改工作目录路径
ls:列出目录和文件信息
–a 显示当前目录中的所有文件,包含隐藏文件
–l 显示文件及其详细信息
-s 在每个文件名后输出该文件的大小
touch:创建空文件以及更改文件的时间
例如通过touch file1或touch file2 file3创建文件
touch -c -t 06071930 file1(-c的意思是不存在不创建)
mkdir:创建目录
rmdir:删除空目录
cp:复制文件和目录 cp [源文件][目标文件]
-r:一个目录下所有文件复制到新目录下
mv:文件和目录改名、移动文件和目录路径
mv [选项] [源文件|目录] [目标文件|目录]
可以配合*使用:mv -f /root/picture/*.png /usr/local/share/picture
-f 强制覆盖
rm:删除文件或目录
-r 目录连同目录下的都删除
-f 强制删除,忽略不存在的文件,不给出提示
wc:统计文件行数、单词数和字节数和字符数
wc [文件]:统计文件的行数、单词数和字符数
链接文件
软链接:也叫符号链接,包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。可链接不存在的文件或者自己。
硬链接:类似于起绰号,和真名字指向同一块物理空间。用于想让一个文件在多个目录下重复出现,但只占用一份文件的空间;或者想给不同的用户开不同权限。
区别:硬链接记录的是目标的inode,软链接记录的是目标的路径
创建:
ln [源文件] [链接文件]:创建硬链接
ln -s [源文件] [链接文件]:创建软链接
第五章 文本显示
显示
cat:显示文本文件
cat [选项] [文件]
-n 加行号 cat -n textfile1 > textfile2:把textfile1文件的内容加上行号后输入到textfile2文件中
创建文件:
cat >mm.txt<<EOF
>Hello
>Linux
>EOF
more:分页显示文本文件
-s 连续两行以上空白行则以一行空白行显示
+n 从第n行开始显示
-n 一次显示n行
less:回卷显示文本文件,可以前后查看,查看之前不会加载整个文件
head:显示指定文件前若干行,默认10行
head –c [数目][文件]:显示规定数目个字节
head [数目][文件]:显示规定数目个行
tail:查看文件末尾数据,默认10行
tail –c [数目][文件]:显示规定数目个字节
tail [数目][文件]:显示规定数目个行
文本处理
sort:文件中的内容排序
sort [选项] [文件]
-r为倒序
uniq:将重复行从输出文件中删除
-d 仅显示重复行
-u 仅显示不重复行
cut:从文件每行中显示出选定的字节、字符或字段
-c :以字符为单位进行分割
-d :自定义分隔符,默认为制表符
-f :与-d一起使用,指定显示哪个区域
例如:cut -f 1,5 -d: /etc/passwd:显示文件/etc/passwd中的用户登录名和用户名全称字段,这是第1个和第5个字段,由冒号隔开
comm:逐行比较两个已排过序的文件
comm [选项] [文件1] [文件2]
-1 不输出文件1特有的行
-2 不输出文件2特有的行 -12是共有行
-3 不输出两个文件共有的行
diff:逐行比较两个文本文件,列出其不同之处
文件和命令查找
grep:查找文件中符合条件的字符串(重要)
grep [选项] [查找模式] [文件名]
-v 表示不满足条件的文件
例如:
在文件kkk中搜索匹配字符“test file” :grep 'test file' kkk
显示所有以d开头的文件中包含“test”的行数据内容:grep 'test' d*
在/root/aa文件中找出以b开头的行内容:grep ^b /root/aa
在/root/kkk文件中找出以le结尾的行内容:grep le$ /root/kkk
查找sshd进程信息:ps –ef|grep sshd
find:列出文件系统内符合条件的文件
find [路径] [选项]
-name:文件名符合的
-ctime n:在过去n天内被修改过的文件
locate:在数据库中查找文件,比find快
数据库文件在:/var/lib/mlocate/mlocate.db
locate [文件名]
-c count,显示几个符合的
whereis:查找文件
-b 只查找二进制文件
-m 只查找说明文件
-s 只查找原始代码文件
系统信息显示
uname:显示计算机及操作系统相关信息
hostname:显示或修改计算机主机名
free:查看内存信息
du:显示目录或文件的磁盘占用量
日期和时间
cal:显示日历信息
date:显示和设置系统日期和时间
hwclock:查看和设置硬件时钟
第七章 用户和组
用户文件
/etc/passwd
识别用户的一个重要文件用户以账户zhangsan登录系统时,系统首先会检查/etc/passwd文件,看是否有zhangsan这个账户,然后确定用户zhangsan的UID,通过UID来确认用户的身份,如果存在则读取/etc/shadow文件中所对应的密码
每一行表示的是一个用户账户的信息,一行有7个段位,每个段位用“:”分隔
用户名 : 密码 : 用户标识号UID: 用户标识号GID : 用户名全称 :主目录 :登录Shell
zhangsan: x : 1000 : 1000 : 张三 :/home/zhangsan :/bin/bash
UID是用户的ID值,值得范围是0-60000,root的UID是0,Linux把1~999预留出来给虚拟用户使用,新用户UID默认是从1000开始(重要)
/etc/shadow
是/etc/passwd的影子文件,对应互补。/etc/shadow文件内容包括用户及被加密的密码,以及用户账户的有效期限等
只有root用可以读取和操作,不能随便更改为其它用户可读
内容包括9个段位,每个段位之间用“:”分隔
zhangsan:$6$E/xvWMmh$rhYLQwwffEqIudVLFzMlvkb0iN4.0Oluk6H.UovEYN0/99dVoHXcaCNGZZkFY1S3QHYgm7e6JPzEew6ybmN4e0:16364:0:99999:7:::
用户名:加密密码:用户最后一次更改密码的日期:密码允许更换前的天数:密码需要更换的天数:密码更换前警告的天数:账户被取消激活前的天数:用户账户过期日期:保留字段
用户账户设置
useradd:创建用户账户(重要)
useradd zhangsan
password zhangsan
useradd -u [UID] [用户名] :指定用户UID
useradd -d [用户主目录] [用户名]:指定用户主目录
useradd -g [群组] [用户名]:指定用户群组
useradd -s [shell类型] [用户名]:指定用户Shell类型
usermod:修改用户账户
usermod [选项][用户名]
-d 修改主目录
-l 修改登录名
-c 修改用户全称
-f 密码过期后几天禁用该账户 例如-f 20 zhangsan
-g 修改所属群组
-L 锁住账户(重要)
-U 解锁账户
-e 修改过期日期 例如:-e 12/12/2012 zhangsan
-s 修改Shell类型
usermod:删除用户账户
userdel [选项][用户名]
例如:userdel lisi 不删除用户主目录
-r 连同主目录一起删除,彻底删除(重要)
组群文件
/etc/group
内容包括用户和组群,并且能显示出用户是归属哪个组群或哪几个组群
组群名、组群密码、GID及该组群所包含的用户
zhangsan:x:1000:
GID是从0开始的正整数,GID为0的组群是root组群。Linux系统会预留GID号1~999给系统虚拟组群使用,创建的新组群GID是从1000开始的
/etc/gshadow
是/etc/group的加密文件,组群密码就是存放在这个文件中每个组群都有一条记录。
一行有4个段位,每个段位用“:”分隔
组群名 : 组群密码 :组群管理者 :组群成员
beijing :$6$E/xvWMmh$rhYLQwwffEqIudVLFzMlv1: : ou
组群命令
groupadd:创建组群账户
groupadd [选项] [组群名]
-g 设置GID
-r 设置名字
groupmod:修改组群账户
groupmod [选项][组群名]
-g 修改GID
-n 修改组群名
groupdel:删除组群账户
必须先删除这些用户后,才能删除组群
groupdel [组群名]
用户和组群维护
passwd:设置或修改用户的密码,普通用户(只能修改自己)和超级权限用户都可以运行(重要)
-L 锁住密码,不能登录到系统,可以用su命令从其他用户切换到用户
-u 解锁
-d 清除用户密码
gpasswd:设置一个组群的组群密码,或者是在组群中添加、删除用户
-a [用户] [组群]:加入用户到组群
-d [用户] [组群]:删除用户
-r 取消密码
su:切换到其它用户账户
- 连同Shell一起切换 例如:su - it
-c 执行完指定的指令后,即恢复原来的身份
例如:用户it使用su方式以root用户执行“ls /root”命令:su - root -c “ls /root”
newgrp:让用户账户以另一个组群的身份进行登录
groups:查看用户属于哪些组群
id:显示用户的UID以及该用户所属组群的GID
id [选项] [用户名]
-g 显示主组群的GID
-G 显示所有组群GID
-u 显示用户UID
第八章 磁盘分区
fdisk:
n 创建新分区
e 创建扩展分区
p 创建主分区
w 保存
格式化:
mkfs [选项] [设备]
-t 指定文件系统格式
例如:mkfs -t ext3 /dev/sda5
挂载:
mount [选项] [设备] [挂载目录]
-o 只读方式挂载
例如:mount /dev/sda5 /mnt/kk
卸载:
umount [选项] [设备|挂载目录]
例如:umount /dev/sda5
自动挂载文件:
/etc/fstab文件
设备 挂载目录 文件系统类型 挂载选项 转储选项(0不备份) 文件系统检查选项(0不检查,根文件系统为1)
/dev/sda5 /mnt/kk ext4 defaults 0 0
交换空间Swap
1. 使用交换分区
fdisk命令创建/dev/sda5分区
mkswap /dev/sda5创建为交换分区
swapon /dev/sda5启动交换分区
写入/etc/fstab文件使得开机自动启用交换分区,挂载目录和文件系统是swap
swapoff /dev/sda5删除交换分区
2. 使用交换文件
dd if=/dev/zero of=/swapfile bs=1024 count=66536创建文件/swapfile
mkswap /swapfile 指定为交换文件
swapon /swapfile 打开交换文件
写入/etc/fstab文件使得开机自动启用交换分区,挂载目录和文件系统是swap
swapoff /swapfile 禁用交换文件
第九章 软件包管理
rmp:软件包管理Red Hat Package Manager
-ivh 安装
-e 删除
-Uvh 升级
-Fvh 刷新
-q 查询是否已经安装
-qa 查询所有安装的包,和grep一起使用
-qi 查询已安装包的描述信息
-ql 查询已安装包的文件列表
-qR 查询已安装包的依赖关系
-qf 文件属于哪个包
yum:自动化地升级、安装和删除RPM软件包工具
配置文件:/etc/yum.repos.d
yum install packagename 安装软件包
yum remove packagename 删除软件包
yum update packagename 升级软件包
yum search keyword 搜索关键字
yum groupinstall等安装软件包组
tar:打包
tar [选项][文件|目录]
cvf 创建备份文件 c创建
tvf 查看备份文件内容 t列出
xvf 解包
rvf 删除
uvf 更新
z 调用gzip
j 调用bzip2
J 调用xz
例如:tar cvf abc.tar /root/abc
第十章 权限
r读取,w写入,x执行,-不具备权限
对文件和目录:
r代表可以看见文件内容,可以看见目录下的内容(ls)
w可以修改文件内容,可以创建删除目录下的
x可执行文件,可进入目录(cd)
chmod 修改权限
普通设定
chmod [操作对象ugoa] [操作符号+-=] [权限] [文件|目录]
数字权限设定:顺序是u、g、o,r对应数值4,w对应数值2,x对应数值1,-对应数值0
chmod [数字] [文件|目录]
-R 目录及其子目录都修改权限
chown更改文件和目录所有者:
chown [选项] [用户.组群] [文件|目录]
chown [选项] [用户:组群] [文件|目录]
-R将下级文件所有者也修改
例如:chown newuser a, chown :newuser a
第十一章 进程
ps:查看进程
-e 所有进程
-aux 不带控制台终端的进程
-u 显示用户名和进程的起始时间,例如显示root的进程:ps -u root
-t 终端下的进程,例如: ps -t tty1
-p 进程号,例如:ps -p 1659
例如:查询crond进程号ps –ef|grep crond
top:查看进程
kill -9:杀死进程
定时计划:
/etc/crontab文件:
minute hour day month dayofweek user-name commands
分钟 小时 日期 月份 星期 执行用户名 命令或脚本
*代表所有,1-4代表一个范围,3,6,9,10代表一个可选范围,/代表时间间隔,“0-59/2”可以用来在分钟字段上定义时间间隔为两分钟
crontab命令:root以外的用户可以使用crontab命令配置cron任务
crontab -e打开vi编辑器,编辑用户的crontab条目,root可以查看/var/spool/cron下的用户名名称的文件
-u指定用户-l列出,例如root下,crontab -u zhangsan –l
-r 删除
crontab /home/zhangsan/zhangsancron 恢复用户的crontab文件
第十二章网络
网卡配置
/etc/sysconfig/network-scripts/ifcfg-xxx文件配置网卡
/etc/resolv.conf 配置DNS
/etc/hosts 配置DNS之前的到IP地址的匹配,如主机名
/etc/services 定义了Linux系统中所有服务的名称、协议类型、服务的端口等信息
网络命令:
traceroute:显示数据包到目标主机之间的路径
ifconfig:显示和配置网络接口,比如设置IP地址、MAC地址、激活或关闭网络接口,例如ifconfig eno16777736 192.168.0.100 netmask 255.255.255.0 up,禁用是down
ping: 测试连通性
netstat:显示网络状态的信息
arp:增加、删除和显示ARP缓存条目
-s 新增
-d 删除
tcpdump:网络数据采集分析
管理网络服务:
systemctl [选项] [单元命令|单元文件命令]
start 启动
status 状态
stop 停止
restart 重启
enable 开机自启动
is-enabled 是否开机自启动
disable 关闭开机自启动
第十三章 远程管理
ssh [选项] [用户@]主机 [命令]
例如:
ssh -l zhangsan 192.168.0.100
ssh root@192.168.0.100 ls /boot 以root账号连接远程主机192.168.0.100,并执行ls /boot命令
scp:不同主机之间传输文件
scp [选项] [[用户@]主机1:]文件1 [[用户@]主机2:]文件2
例如:
scp /root/a root@192.168.0.100:/root/b 用root账号把本地文件root/a传送到192.168.0.100远程主机下的/root下,并改名为b
scp root@192.168.0.100:/root/abc /root/a 用root账号把远程主机192.168.0.100上的文件/root/abc传送到本地主机/root目录下,并改名为a
逻辑卷
创建LV的步骤:
1、新建分区
fdisk /dev/vdb2
2、初始化分区,即创建PV
pvcreate /dev/vdb2
3、创建卷组
vgcreate -s 块大小(PE Size) 卷组名 设备名
vgcreate -s 8MB aaa /dev/vdb2
4、创建逻辑卷
lvcreate -n 逻辑卷名 -L 逻辑卷大小 卷组名 (逻辑卷大小为4的整数倍,卷组名是从哪个卷组中分)
lvcreate -n lv1 -L 100m aaa
5、格式化、挂载...
mkfs -t ext4 /dev/mapper/aaa-lv1 格式化
lvextend扩大
lvreduce缩小
问答
简述Linux应用领域?
Linux服务器、嵌入式Linux系统、软件开发平台、桌面应用
简述Linux特点?
开放性,多用户,多任务,良好的用户界面,设备独立性,丰富的网络功能,可靠的系统安全,良好的可移植性
简述Linux组成?
内核、Shell、文件系统、应用程序
简述主流Linux发行版?
Linux 发行版本是指一些厂家和组织将 Linux 系统的内核、应用软件和文档包装起来,并提供一些系统安装界面、系统配置设定管理工具构成的发行版本
主流的 Linux 发行版本有:Red Hat、Ubuntu、Debian、CentOS等
简述RHEL7系统新特性?
支持swap内存压缩、引进了LVM缓存、对NetworkManager进行大量改进、引入Docker、引入性能工具、包含RubyJavaPython等编程语言
简述Linux安装硬件要求?
主流计算机CPU、1GB内存、10GB以上硬盘
设计合理分区规划?
swap分区(物理内存的1~2倍)
/boot分区(与Linux系统启动有关的程序,最少200MB)
/usr分区(Linux系统中的应用程序,至少8GB)
/var分区(存放Linux系统中经常变化的数据以及日志文件,1GB以上)
/分区(系统的根目录,所有的目录都挂在这个目录下面,建议大小最少为1GB)
/home分区(存放普通用户的数据)
简述分区命名方案?
/dev/xxyN:
/dev:所有设备文件所在的目录名
xx分区所在设备的类型
ya、b分别是第一个和第二个
N:分区,前四个分区(主分区或扩展分区)用1~4表示,逻辑驱动器从5开始
安装Linux时的IP地址设置方法?
配置网卡、IPv4设置、手动添加IP地址
Firewalld防火墙默认连接区域?
public
进入字符界面方式:
字符界面、图形界面下的终端以及虚拟控制台
哪些命令能关机?
shutdown、halt、init0
简述Linux系统中目标的概念?
之前使用运行级别代表特定的操作模式,数字0~6表示7个级别,每个运行级别可以启动特定的一些服务。RHEL7使用目标替换运行级别,目标使用目标单元文件描述,文件扩展名是.target。
在Linux系统中获取帮助有哪些方式?
man、--help
有哪些重定向方式?
输出重定向:[命令] > [文件] 输出追加重定向:[命令] >> [文件]
输入重定向:[命令] < [文件] 输入追加重定向:[命令] << [分隔符] >[文本] >[分隔符]
错误重定向:[命令] 2> [文件] 错误追加重定向:[命令] 2>> [文件]
同时实现输出和错误重定向:[命令] &> [文件]
简述vi编辑器的工作模式?
命令模式:按冒号进入末行模式,按i或a进入插入模式
插入模式:按Esc进入命令模式
末行模式:按Esc进入命令模式
Linux系统中有哪些文件类型?
普通文件-、目录文件d、设备文件b.c、管道文件p、符号链接文件l
简述软连接文件和硬链接文件的区别?
硬链接记录的是目标的inode,软链接记录的是目标路径。软链接就像是快捷方式,硬链接就像是备份。软链接可以做跨分区的链接,硬链接只能在本分区做链接。
简述Linux系统中的目录结构?
分层的树形结构,都挂载在根文件系统“/”下
简述使用“ls -l”命令显示的详细信息?
文件类型和访问权限、文件的链接数、文件的用户所有者、文件的组群所有者、文件长度、文件的更改时间或最后访问时间、文件名称
使用什么命令可以删除具有子目录的目录?
rm -rf /root/ab
常见的文本内容显示命令有哪些?区别是什么?
cat、more(分页)、less(回卷)、head(前若干行)、tail(末尾)
常见的文本处理命令有哪些?区别是什么?
sort(排序)、uniq(去重)、cut(选定字段)、comm(逐行比较)、diff(逐行比较不同)
使用什么命令能显示当前计算机的内核版本?
uname -r
使用什么命令能清除计算机屏幕信息?
clear
使用什么命令可以以倒序方式排序文件内容?
sort -r textfile1
在Linux系统中用户账户有哪些分类?
root用户、系统用户、普通用户
管理用户账户的配置文件有哪些?并描述这些文件各字段的含义。
/etc/passwd文件:7个字段,用户名:密码:UID:GID:用户名全称:主目录:登录shell
/etc/shadow文件:9个字段,用户名:加密密码:6个日期相关字段:保留字段
管理组群账户的配置文件有哪些?并描述这些文件各字段的含义
/etc/group文件:4个字段,组群名:组群密码:GID:组群成员
/etc/gshadow文件:4个字段,组群名:组群密码:组群管理者:组群成员
默认情况下新创建的第一个用户账户UID是多少?
1000
简述对用户账户设置密码和不设置密码的区别?
在/etc/shadow文件中,设置密码的用户的第二个字段显示的是加密密码,能登录到Linux系统上,不设置密码的用户的第二个字段显示的是“!!”,不能登录到Linux系统上
简述磁盘分区的含义?
不仅仅利于对文件的管理,而且不同的分区可以建立不同的文件系统,这样才能在不同的分区上安装不同的操作系统。
简述格式化的含义?
格式化是指对磁盘分区进行初始化的一种操作,通常会导致现有分区中所有的数据被清除,是在磁盘中建立磁道和扇区,建立好后,计算机才可以使用磁盘来储存数据。
fdisk命令有哪些子命令?其含义分别是什么?
m显示所有子命令
p显示磁盘分区信息
a设置磁盘启动分区
n创建新的分区
e创建扩展分区
p创建主分区
d删除磁盘分区
q退出不保存设置
l列出已知分区类型
w保存设置并退出fdisk
v验证分区表
t更改分区的系统ID
Linux系统中常用的文件系统有哪些?
xfs、ext4、ext3、JFS、vfat、msdos、ext2
使用新磁盘存储数据一般需要哪些操作步骤?
分区 格式化 挂载
要实现开机自动挂载文件系统,可以通过哪些方法实现?
修改/etc/fstab文件,使用设备名、UUID或卷标标识。
使用RPM软件包管理的用途是什么?
安装、删除、升级、刷新和管理RPM软件包
知道所属关系
查询是否安装
把自己的程序打包
依赖性检查
签名检查
简述升级RPM软件包和刷新RPM软件包的区别?
升级是删除和安装的组合,不管该软件包的早期版本是否已被安装,升级选项都会安装该软件包。
刷新会进行版本比较,若比已安装的版本更新,则会升级到更新的版本,若先前没有安装,则不会安装该软件包。
简述在本地磁盘上创建本地软件仓库的步骤?
安装软件包、复制软件包、创建软件仓库配置文件、创建软件仓库
tar命令可以调用哪些压缩程序?
gzip、bzip2、xz
文件有哪些权限?其含义分别是什么?
用户所有者权限:访问自己的文件权限
组群所有者权限:用户组访问其中一个用户的文件的权限
其他用户权限:其他所有用户访问一个用户的文件的权限
可以使用哪些方法设置文件的权限?
文字设定法、数字设定法
简述Linux系统的进程分类?
交互式进程:shell启动并控制的进程
批处理进程:安排在指定时间完成的一系列进程
守护进程:引导系统时启动,以执行即时的操作系统任务
简述Linux系统的启动过程?
BIOS自检、启动GRUB2、加载内核、执行systemd进程、初始化系统环境、执行/bin/login
简述GRUB2的新功能?
相比GRUB来讲不用在构建时将所有功能都加入,这使得GRUB 2的体积相比变得很小
图形接口
使用模块机制,通过动态加载需要的模块来扩展功能
支持脚本语言,比如条件判断、循环、变量和函数
支持救援模式,可以用于系统无法引导的情况
国际化语言
灵活的命令行接口
简述GRUB2密码支持的两种格式?
明文密码、PBKDF2加密密码
简述网卡配置文件的内容?
/etc/sysconfig/network-scripts/ifcfg-eno16777736文件。回路IP地址信息。
测试网络连通可以使用哪些命令?
ping、netstat
DNS服务使用什么端口号?
53
简述OpenSSH替代telnet的主要原因?
OpenSSH是安全、加密的网络连接工具,telnet使用明文传输口令和数据,不安全。
简述VFC软件的组成部分?
服务端的VNC server、客户端的VNC viewer
简述NFS的含义?
network file system 网络文件系统。通过配置NFS服务器,可以让客户机挂载NFS服务器上的共享目录、文件就如同位于客户机的本地硬盘上一样。
简述/etc/exports文件内容的格式?
该文件控制着NFS服务器要导出的共享目录以及访问控制。
格式:共享目录 客户端(导出选项)
什么是LVM?
逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制。
什么是PV、VG、LV?
PV是物理卷,VG是卷组,LV是逻辑卷。
PV、VG、LV之间的相互关系?
若干个物理卷(PV)组合而成卷组(VG),从卷组分割出的一块空间为逻辑卷(LV)。
逻辑卷是否可以在线扩容、缩小?
可以在线扩容,但不可以在线缩小
文件系统是否可以在线扩容、缩小?
可以在线扩容,但不可以在线缩小。
缩小逻辑卷或文件系统应注意哪些?
缩小文件系统时,必须将逻辑卷卸载并确定数据使用量。
如何创建逻辑卷?
新建空分区
初始化分区(创建PV):pvcreate 设备名
创建卷组:vgcreate -s 块大小 卷组名 物理卷设备名
创建逻辑卷:lvcreate -n 逻辑卷名 -L 逻辑卷大小 已存在卷组名
格式化逻辑卷:mkfs -t 文件系统类型 逻辑卷设备名
卷组的PE默认大小是多少?
4MB