目录
一 shell
二 系统基本操作
三 LINUX系统的目录结构
四 命令
五 特殊符号
六 获取帮助
七 重定向
八 文本编辑器
九 用户和组
十 组
十一 文件/目录的权限和归属
十二 权限
十三 进程
十四 管理进程
十五 查看进程
十六 系统启动流程
十七 system程序
十八 ssh配置文件
十九 网络配置
二十 tar命令
二十一 rsync命令
二十二 at
二十三 cron
二十四 管理分区
二十五 du 查看目录大小
二十六 df 查看磁盘空间使用率
二十七 mount 挂载分区
二十八 umount 取消挂载
二十九 查找和管理文件
三十 YUM
三十一 逻辑卷管理
三十二 RAID
三十三 安装KVM虚拟机
三十四 virsh 命令
三十五 PXE服务器
三十六 正则表达式
三十七 grep
三十八 cut
三十九 sort 例:sort sort.txt
四十 uniq
四十一 awk
四十二 sed
四十三 NICE
四十四 查看
四十五 设置
四十六 IPA
四十七 SMB
命令的分类:内部命令 外部命令
区分命令:type(cd/mkdir)
查看系统所支持的shell:cat /etc/shells
查看当前使用的shell:echo $SHELL
shell是一门脚本语言
虚拟终端:
图形-字符:ctrl+alt+f2-f6
字符-字符:alt+f2-f6
字符-图形:alt+f1
linux命令格式:
命令 选项 参数
命令必须写在第一位
选项和参数有时可以颠倒顺序
- 代表简写 -- 代表选项的全称
help 内部命令 查看内部命令的帮助信息
--help 外部命令 查看外部命令的帮助信息
关闭当前shell:exit或者Ctrl + d
工作区:
互不干扰的四个工作区间
ctrl+alt+方向键上/下切换
常用命令
passwd 设置密码
useradd zhangsan创建用户
passwd zhangsan设置密码
passwd -l zhangsan锁定密码
passwd -S zhangsan查看密码状态
passwd -u zhangsan解锁密码
passwd -d zhangsan清空用户密码
date查看当前日期
date -s ()绑定日期和时间
设置特殊格式:
date +%Y-%m-%d 和 date +%H-%M-%Sfile 查看文件类型
普通文件 目录 字符文件 块文件 套接字文件 连接文字 管道符文字p
vim 1.txt 创建文件
file 1.txt 查看文件类型head 查看文件头部10行
-n(数字) 查看头部指定行数
例:head -3 /etc/passwdtail 查看文件尾部10行
-n(数字) 查看尾部指定行数
-f 动态查看更新文件内容
例:tail -3 /etc/passwd
tail -f 1.txtwc 统计文件内容
-l 行数
-w 单词数
-c 字节数
例:wc /etc/passwd
wc -l /etc/passwd
wc -w /etc/passwd
wc -c /etc/passwd
history 查看历史命令
!加命令编号 快速调用
!加命令首字母 快速调用
ctrl+r历史命令搜索栏
esc + .上一条历史命令的参数
例:!wc
!wc -cBash组合键
Ctrl+a:将光标移动到首行
Ctrl+e:将光标移动到行尾
Ctrl+u:删除光标前的字符
Ctrl+k:删除光标后的字符
Ctrl+左右箭头:以单词为单位移动光标
Ctrl+r:搜索历史命令
tab:补全命令和路径
/bin 存放普通用户使用的命令
/sbin 存放管理员可以执行的命令
/home 存放普通的家目录 如zhangsan家目录为/home/zhangsan
/root 管理员的家目录
/etc 存放配置文件的目录
/boot 存放跟启动相关的文件
/usr 用户自定义的相关程序或文件
/proc 内核参数相关,硬件参数相关文件的存放目录
/var 内容经常变化的文件存放目录 如日志
/tmp 临时文件的存放目录
/run 存放进程文件的目录
cd 切换目录:
相对路径:以当前目录作为起点,切换目录 例:cd c/
绝对路径:以根目录作为起点,切换目录 例:cd /root/a/b/c
cd - 返回之前所在的目录
cd .. 返回上一级目录
cd ~ 返回当前用户的家目录
cd !$ 引用上一条命令的参数
pwd 查看当前所在的工作目录ls 查看目录的内容:
-a查看隐藏文件 例:ls -lha / nls -a
-A查看隐藏文件,不显示.和.. 例:ls -A
-l查看目录内容文件的详细信息 注:ls -l = ll
-h文件大小带单位 例:ls -lh
-d 显示目录本身的内容 例:ls -lhd
-R递归显示目录和子目录的内容 例:ls -R
-r 反向选取 例:ls lhSr
-S 文件从大到小排列 例:ls lhS
-t 文件按创建时间排序 例:ls lhtrtouch 创建测试用的空文件或刷新时间戳 例:touch a{1..6}.txt 可通过{}快速创建多个文件
mv 移动或重命名 例:mv a*.txt b
mkdir 创建目录: 例:mkdir a
-p 创建多级目录 例:mkdir -p b/ccp复制: 例:cp 1.txt 4.txt
-i 覆盖时提示信息 例:cp -i 1.txt 4.txt 注:cp = cp -i (unalias cp去掉显示信息)
-f 强制复制 例:cp -f 1.txt 4.txt
-r 递归 例:cp -r a b(复制两个目录)
-p 保留原属性
rmdir 删除空目录 例:rmdir a
rm 删除文件或目录: 例:rm a / rm a/*(删除a目录下的所有文件)
-i 覆盖时提示信息
-f 强制复制
-r 递归
1.元字符
> 重定向 例:cat 1.txt > 2.txt
将命令的输出结果不显示在屏幕上,而是输出到指定的文件里
| 管道符 例:cat /etc/passwd | awk -F: '{print $1}'
将前面命令的输出作为后面命令的输入(二次筛选)
2.通配符 例:find . -name "*.txt"/find . -name "?.txt"
* 代表任意位的任意字符
?代表一位任意字符
\转义符
注:考试不会考,工作可能会用到
b* 以字母b开头的文件或目录
*b 以字母b结尾的文件或目录
*b* 文件或目录名中包含字母b
[!b]* 不以字母b开头的文件或目录
???* 文件名不少于3个字符长度
*[[:digit:]]* 文件名中包含数字
[[:upper:]]* 文件名以大写字母开头
man 查看帮助 例:man intro
-a 获取所有帮助信息(按q退出) 例:man -a intro
-k 搜索关键字 例:man -k passwdgedit 图形化文本编辑器
查看gedit(1)的手册页 man 1 gedit
在手册页中查找如何使用gedit命令编辑文件 gedit /etc/passwd
gedit +n/etc/passwd 跳转到第n行进行编辑
gedit + /etc/passwd 跳转到文本末尾进行编辑
查案su(1)命令的手册页 man 1 su
更加简洁查看文件内容 man 1 su | less
注:/ 快速定位
emacs 图形和字符都支持的文本编辑器 ctrl+x 和 ctrl+c 退出info 查看帮助 对man命令的补充
pinfo查看textinfo's GNU文档系统,不加任何参数
d 返回顶级页
u 返回上一页
/ 快速定位
n 下一页
q 退出
标准输入: /dev/stdin 编号0
标准输出:/dev/stdout 编号1
标准错误输出:/dev/stderr 编号2
/dev/null Linux的“回收站”,文件会被粉碎 例:1>/dev/null
& 代表标准输出和标准错误输出 例:cat 1.txt 2.txt &>3.txt
>file2>file2 发送命令输出到文件file,发送错误到文件file2
>>file2>&1 发送输出和错误到同一个文件,丹保留原文件内容 例:cat 1.txt 2.txt &>3.txt 2>&1
&>/dev/null 运行一个命令,但是抛弃所有可能的终端显示
|tee file 同时发送命令输出到文件和屏幕中 例:cat 1.txt | tee 3.txt
>file2>/dev/null 运行命令,保存输出到file,丢弃错误信息
主要工作模式:命令模式,输入模式,末行模式命令-输入:
a 当前光标后一个输入
A 行尾输入
i 当前光标输入
I 行首输入
o 当前光标下一行输入
O 当前光标上一行输入
输入-命令:esc
命令-末行: :
末行-命令:esc命令模式:
G 跳转最后一行
gg 跳转第一行
NG 跳转第N行
yy 复制一行
Nyy 复制N行
p 粘贴
dd 删除
Ndd 删除N行
d$ 删除至行尾
d^ 删除至行首
dw 删除一个单词
U 撤销本行的操作
u 撤销上一步操作 直至文本初始状态
/ 向下查找
?向上查找
n 向下切换
N 向上切换
:nohl 取消高亮显示
:set nu 显示行号
:set nonu 取消行号
ZZ 保存末行模式:
w 保存
q 退出
!强制
w 路径 另存为
!命令 不中断文本使用命令
e 打开文件 例:e /etc/shadow
r 读取其他文件内容
s 替换 例:sub /root/boot/g (g一行都替换)
% s 替换全文 例:% s/root/boot/c(c有提示)
sp 文件名 水平分割
vsp 文件名 垂直分割
close 关闭窗口
ctrl + w 切换窗口vimtutor vim帮助手册
用户配置文件 /etc/passwd
用户密码文件 /etc/shadowsu 用户名 切换用户
su - 用户名 以新的shell环境打开目标用户sudo 提升权限
visudo(直接退出:wq) 或 vim /etc/sudoers (需要强制退出:wq!)打开sudo的配置文件
(配置文件里写的内容:用户名 host01=/sbin/useradd )创建用户:sudo /sbin/useradd lisi
sudo -l 查看本用户被授权执行的命令
useradd 创建用户:
-u 指定uid 例:useradd -u 2000 user01
-d 指定家目录 例:useradd -d /tmp user02
-e 指定失效时间 例:useradd -e 20160101 user03
-M 不生成家目录 例:useradd -M user04
-s 指定登录shell 例:useradd -M -s /sbin/nologin user05 (能访问程序但是不能登录系统)
-g 指定基本组 例:useradd -g wheel user06
-G 指定附加组 例:useradd -G wheel user07
/etc/skel/ 家目录模板
.bash_profil 登录时应用的用户配置文件
.bashrc 切换shell时应用的用户配置文件
.bash_logout 注销时应用的用户配置文件usermod 修改已存在的用户的相关属性:
-l 重置登录名 例:usermod -l user02 user01
-L 锁定用户 例:usermod -L user01 锁定
-U 解锁用户 例:usermod -U user01 解锁userdel删除用户 : 例:userdel user01
-r 删除用户的同时删除家目录 例:userdel -r user01/etc/login.defs 用户属性配置文件
groupadd 添加组 例:groupadd g1 useradd u1 useradd u2
-g 指定Gid 例:groupadd -g 30000 g1gpasswd :
-a 添加一个成员 例:gpasswd -a u1 g1
-d 删除一个成员 例:gpasswd -d u1 g1
-M 添加多个成员 例:gpasswd -M u1,u2 g1usermod -G g1 u1 添加用户u1到组g1
id g1 确认添加到组g1
chage:
-l 查看用户密码信息 例:chage -l u1
-M 指定密码最大有效期 例:chage -M 30 u1
-d 下次登录时重设密码 例:chage -d 0 u1
date -d "+180 days" 设置账号到期时间
hage -E 2015-06021 u1 设置用户到期时间
访问权限:
读取r(4):允许查看文件内容,显示目录列表
写入w(2):允许修改文件内容,允许在目录中新建,移动,删除文件或子目录
可执行x(1):允许运行程序,切换目录归属(所有权):
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号chmod a(代表所有用户)u(属主)g(属组)o(其他)+-= rwx 文件或目录 设置权限
例:chmod u+x 1.txt chmod a=rwx 1.txt
chmod nnn 文件或目录 例:chmod 700 1.txt (7代表属主添加rwx权限0表示不变)
-R:递归修改指定目录下所有子项的全新chown 更改属主和属组
chgrp 更改属组 例:chgrp u1 1.txt
格式:
chown 属主 文件或目录 例:chown root 1.txt
chown :数组 文件或目录 例:chown :u2 1.txt
chown 属主:属组 文件或目录 例:chown u1:u2 1.txt
-R:递归修改指定目录下所有文件,子目录的归属set位权限(权限字符为s)
SUID(4):
为属主设置
使用户在执行时,暂时获得属主的权限
当表现为S时,表示该位权限为只有suid权限;
当表现为s时,表示该位权限为suid+x权限。SGID(2):
为属组设置
使用户在执行时,暂时获得属组的权限
当表现为S时,表示该位权限为只有sgid权限;
当表现为s时,表示该位权限为sgid+x权限。Sticky(1)粘滞位权限(权限字符为t)
为其他人设置
使用户只能管理自己创建的文件
当表现为T时,表示该位权限为只有t权限;
当表现为t时,表示该位权限为t+x权限。
acl权限
setfacl 设置附加权限
getfacl 查看附加权限 例:getfacl ccc 查看ccc文件的权限
-m 添加 例:setfacl -m user:manager:rwx ccc 给用户manage添加ccc文件rwx权限 setfacl -m group:g1:rw- ccc
-R 递归 例:setfacl -R -m user:manager:r-- ccc 子目录也生效
-b 清空 例:setfacl -b /ccc
-x 删除一条 例:setfacl -x user:manager:rwx ccc
default 设置默认,读未来创建的文件生效 例:setfacl -m default:user:manager:rwx /ccc
程序 进程 线程
ctrl + z 将前台的程序放进后台并挂起
bg 序号 将后台挂起的程序,恢复运行
fg 序号 将后台的程序,调回前台运行
命令 & 将命令放进后台运行
jobs 继续查看
kill 通过Pid杀死进程
killall 通过进程名杀死进程
-9 强制终止 例:kill -9 8352 killall -9 sleep
-l 列出信号列表pkill 通过特定条件杀死进程
-U 根据用户名踢出在线用户 例:pkill -U u3
-t 根据接口名踢出在线用户 例:pkill -9 -t pts/2
top 动态查看进程信息
pid 进程号 pr 优先级
Ni内核调用优先级
Virt 虚拟内存使用量
Res 物理内存使用量
-P 根据CPU占用率排序
-M 根据内存占用率排序
-t 根据时间排序
k 杀死进程
q 退出
z 彩色显示Top
1.BIOS 基本输入输出系统
a.POST 开机自检
b.根据用户设置的顺序启动计算机
2.MBR 硬件跳转指针 512字节
第一部分 446字节
第二部分 64字节 DPT 16*4
第三部分 AA 55 标示MBR分区结束
3.引导菜单 grub lilo
根分区在硬盘中的位置
内核的参数
内核镜像的位置
4.init进程
加载内核,激活网络设置,登录提示,图形界面等
取代传统的SysV init程序,管理系统。
常用命令:
systemctl start 服务名
stop 服务名
restart 服务名
condrestart 服务名
reload 服务名
systemctl status 服务名 查看服务的运行状态
systemctl is-active 服务名 查看服务是否开启
systemctl list-units --type service 查看系统中所有的服务状态
systemctl list-units --type service --all 添加显示不活动的单位
systemctl list-units-files --type service 查看所有单位的开机启动和不启动设置
systemctl --failed --type service 仅显示失败的服务
service --status-all 查看系统中的服务运行状态(只能查看到少量服务,绝大多数由systemd管理)
etc/ssh/sshd_conf
port 22 指定端口
PasswordAuthentication 设置用户名密码的访问方式
PubkeyAuthentication 设置密钥对的访问方式
PermitRootLogin 是否允许root用户远程连接使用方法:
ssh 用户名@服务器地址 远程连接 例:ssh [email protected]
-p 指定端口号 例:ssh -p 3000 [email protected]
w -f 确认远程登录成功
exit 退出远程登录
rm ~/.ssh/known_hosts 解决拒绝登录问题
ssh [email protected] hostname 不登录远程主机查看对方主机名
设置ssh通过私钥文件认证,实现免密码登录
ssh-keygen 生成一个密钥对
ssh-copy-id [email protected] 把公钥发送给指定ipscp 本地文件 用户名@服务器地址:目录 上传文件 例:scp 1.txt [email protected]:/tmp
scp 用户名@服务器地址:目录 本地文件 下载文件 例 :scp [email protected]:/tmp/3.txt ./
-P 指定端口号 例:scp -P 3000 3.txt [email protected]:/tmpsftp 用户名@服务器地址 安全的FTP连接 例:sftp [email protected]
-oPort=端口 指定端口号 例:sftp -oPort=3000 [email protected]
注:或前面是红帽7系统用的命令,后面是6
ip addr 或 ifconfig 查看网卡情况
ip -s link show 网卡名称 查看网卡流量
ip route 或 route -n 显示本地路由
ping -c3 192.168.1.1 确认默认网关可用
tracepath 192.168.1.1 或traceroute 192.168.1.1 查看目标路径
ss -ltn 或 netstat -anpt 显示本地端口
ip addr show eno16777736 确认ip地址
nmcli connection show 显示所有连接
nmcli connection show --active 显示激活的连接
nmcli connection show "eno16777736" 显示所有连接的配置
nmcli connection up "static-eth0" 激活新连接
用途:制作归档文件,释放归档文件
格式: tar [选项]...归档文件名 原文件或目录 例:tar -zcvf 1.tar.gz 1.txt
tar [选项]...归档文件名 [-C目录目录] 例:tar -zxvf 1.tar.gz -C /usr/src
常用命令选项:
-c:创建.tar格式的包文件
-x:解开.tar格式的包文件
-v:输出详细信息
-f:表示使用归档文件
-p:打包时保留原始文件及目录的权限
-t:列表查看包内文件 例:tar -tf 1.tar.gz
-C:解包时指定释放的目录文件夹
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
-J:创建.xz格式压缩包
用途:在两个系统之间安全同步文件
格式:rsync [选项] 原始位置 目标位置 例: rsync -av [email protected]:/var/log /aa
常用选项:
-a:归档模式,递归并保留对象属性,等同于-rlptgoD
-v:显示同步过程的详细(verbose)信息
-z:在传输文件时进行压缩(compress)
-H:保留硬连接文件
-A:保留ACL属性信息
--delete:删除目标位置有而原始位置没有的文件
--checksum:根据对象的校验和来决定是否跳过文件
-r:递归模式,包含目录及子目录中所有文件
-l:对于符号链接文件仍然复制为符号链接文件
-p:保留文件的权限标记
-t:保留文件的时间标记
-g:保留文件的属组标记(仅超级用户使用)
-o:保留文件的属主标记(仅超级用户使用)
-D:保留设备文件及其他特殊文件
用途:安排一次性任务计划
格式:at 时间 例:at 11:00相关命令:
ctrl + d 编辑结束
atq或at -l 查看任务列表
at -c 序号 预览任务,包括设置环境
atrm 序号 删除任务
-q:生成队列 例:at -q g teatime tomorrow
用途:周期性的计划任务
格式:分 时 日 月 周 命令的完整路径(可以用which查看完整路径)
特殊时间格式: -连续的时间间隔
,不连续的时间间隔
/有规律的时间间隔
例:30 23 1-5 */2 1,3,5 /usr/bin/touch /root/c.txt
相关命令:
crontab -e [-u 用户名] 编辑 例:crontab -e (默认root用户)
-l [-u 用户名] 查看
-r [-u 用户名] 删除
fdisk -l 查看磁盘分区情况
fdisk 磁盘名 划分分区 例:fdisk /dev/sdb
partprobe 磁盘名 刷新分区情况,更新至分区表 例:partprobe /dev/sdb
mkfs -t 文件系统 分区名 格式化分区 例:mkfs -t ext4(或xfs) /dev/sdb1
mount /dev/sdb1 /aa 把分区挂在aa目录下
df -hT 查看系统磁盘分区类型
常用命令:
p:查看当前磁盘分区情况
n:新建分区(p主分区 e扩展分区 l逻辑分区)
w:保存
q:退出不保存
d:删除分区
t:标记分区
-ah:查看所有目录和文件以及子目录的大小 例:du -ah
-sh:查看所有目录和文件的总大小 例:du -sh
-h 显示单位大小 例:df -hT 注:df -HT 以1000单位转化
-T 显示文件系统类型
例:mount 查看挂载文件
格式:
mount 挂载源 挂载点
-t 指定文件系统的类型,如:nfs,iso9660,ext4等
-o 指定挂载参数 如:remount,loop,usrquota等
格式:
umount 挂载源
umount 挂载点 例:umount /aa
/etc/fstab 自动挂载文件
格式:
挂载源 挂载点 文件系统 挂载参数 是否备份 是否进行磁盘检测
例:/dev/sdc1 /aa ext4 defaults 0 0
mount -a 应用该文件内容
blkid 查看设备的UUID
ln 创建链接文件
格式:
ln [-s] 源文件或目录 链接文件或目标目录 例:ln -s 1.txt 1a,txt
-s 建立符号(软)链接文件(省略此项则建立硬链接)(软链接类似快捷方式,硬链接类似复制,软连接删除源文件链接文件也没了,硬链接则还存在)locate 索引式查找文件 例:locate 1.txt 找到配置文件
-i 忽略大小写 例:locate -i 1a.txt
updatedb 更新locate的数据库find 查找符合条件的文件
-name 以文件名作为查找条件 例:find /root -name "*.txt"
-size 以文件大小作为查找条件 例:find /usr/bin/ -size +50k 查找/usr/bin目录中所有大于50kb的文件
-type 以文件类型作为查找条件 例:find /root -type l
-user 以属主作为查找类型 例:find /var/lib/ -user chrony
-group 以属组作为查找条件 例:find /var -user root -group mail 查找/var目录中所有属主是root而且属组是mail的文件
-perm 以权限作为查找条件 例:find / -perm 755
-esec 表示二次筛选 例:find / -size +500k -esec ls -lh {} \;
-ok 执行前提示用户 例:find /root -name "*.txt" -ok rm -r {} \;
{} \; 代表前面find命令的处理结果
-mmin 查找变化的文件 例:find /root -mmin +120 查找最近120分钟内没有更改过的文件(+表示时间内没有变化的文件,-表示有变化的)
为了解决RPM软件包安装时的依赖关系,红帽推出的软件包管理机制1,常见的搭建方式
[仓库名称]
name=描述信息
baseurl=软件仓库的位置
enabled=是否开启YUM功能
gpgcheck=是否启用校验
基于本地 仓库的位置file://
基于FTP 仓库的位置ftp://
基于HTTP 仓库的位置http://2, 常用的选项
yum install 安装
yum groupinstall 安装组
yum info 查看软件信息
yum groupinfo 查看软件组信息
yum search 查看符合条件的软件包
yum remove 卸载
yum update 升级
yum clean all 清空yum缓存
1 结构:
PV(物理卷):
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(基本单元)VG(卷组):
一个或多个物理卷组合而成的整体LV(逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统2 命令
scan 扫描
例: vgscancreate 建立
pvcreate 分区名
vgcreate -s PE大小 卷组名 分区名
lvcreate -L 空间 -n 逻辑卷名称 卷组名
例: pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5
vgcreate vg0 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5
lvcreate -L 1G -n lv0 vg0display 显示
例: vgdisplay vg0
lvdisplay /dev/vg0/lv0
pvdisplay /dev/sdb1extend 扩展
例: lvextend -L 2G /dev/vg0/lv0
vgextend vg1 /dev/sdb1reduce 减少
remove 删除mkfs -t xfs /dev/vg0/lv0 格式化
1 类型:raid 0 raid 1 raid 5
2 命令:mdadm
-a 检测设备名称
-n 指定设备数量
-l 指定raid级别
-C 创建 例:mdadm -Cv /dev/md0 -a yes -n 3 -l 5 /dev/sdc /dev/sdd /dev/sde
-v 显示输出过程
-f 模拟设备损坏 例:mdadm /dev/md0 -f /dev/sde
-a 添加设备 例:mdadm /dev/md0 -a /dev/sdf
-r 移除设备 例:mdadm /dev/md0 -r /dev/sde
-Q 查看简要raid信息 例:mdadm -Q /dev/md0
-D 查看详细raid信息 例:mdadm -D /dev/md0 或 mdadm --detail /dev/md0
-S 停止raid 例:mdadm -S /dev/md0
-x 指定冗余磁盘 例:mdadm -Cv /dev/md0 -a yes -n 3 -l 5 -x 1 /dev/sdc /dev/sdd /dev/sde /dev/sdf
条件:
1 检查CPU是否开启VT功能
cat /proc/cpuinfo | grep vmx
2 检查KVM模块是否开启
lsmod kvm
如果未开启
modprobe kvm
3 设置网卡桥接
cd /etc/sysconfig/network-scripts/ 网卡目录
vim ifcfg-br0 新建网卡
TYPE=Bridge
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
vim ifcfg-eno16777736 真实机使用的物理网卡
#IPADDR=192.168.1.1
#NETMASK=255.255.255.0(屏蔽ip地址)
ONBOOT=yes
BRIDGE=br0 指定ip地址
reboot 重启
4 安装相关的kvm软件包
yum -y install virt-manager libvirt-python python-virtinst libvirt-client
systemctl start libvirtd 开启服务
virt-manager 打开虚拟管理器
eject 退出抽取式设备
cp /run/media/root/...拷贝镜像文件
virsh list --all 列出所有虚拟机并显示状态
virsh start test 启动名为test的虚拟机
virsh shutdown test 正常关闭名为test的虚拟机
virsh destroy test 立即关闭名为test的虚拟机
virsh reboot test 重启名为test的虚拟机
功能: 实现网络装机服务
条件:
服务器端:DHCP服务
TFTP服务
客户端:网卡必须支持PXE协议
主板必须支持网络启动
安装:
1 TFTP服务
yum -y install tftp tftp-server
vim /etc/xinetd.d/tftp
server_args = -s /tftpboot
disable = no
service xinetd restart
mkdir /tftpboot
chmod 777 /tftpboot/
chkconfig xinetd on
2 DHCP服务
yum -y install dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcp.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
删除subnet以下的行
修改subnet 网段为 192.168.1.0 netmask 255.255.255.0
添加{
option routers 192.168.1.1;网关
option subnet-mask 255.255.255.0;子网掩码
range 192.168.1.50 182.168.1.100;地址池
filename "pxelinux.0";
next-server 192.168.1.1;
}
service dhcp restart
chkconfig dhcp on
3 FTP服务
yum -y install vsftpdmkdir /var/ftp/pub/dvd
chmod 777 dvdmount /dev/cdrom /var/ftp/pub/dvd/
ervice vsftpd restart
chkconfig vsftpd on
4 SYSLINUX服务
yum -y install syslinux
mkdir /tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
chmod 644 default
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/5 配置kickstart服务
yum -y install system-config-kickstartsystem-config-kickstart 图形界面配置kickstart服务
保存
cp ks.cfg /var/ftp/pub/
vim /tftpboot/pexlinux.cfg/default
在第一个label区域后面加
ks=ftp://192.168.1.1/pub/ks.cfg
^a 表示以a开头的行
a$ 表示以a结尾的行
. 表示一位任意字符
[0-9] 表示0-9任意数字
[a-z] 表示a-z中任意字母
[^a-z] 表示除了a-z外任意字母
* 表示任意字符
\{10\} 表示10个字符
作用:筛选符合条件的行
选项: -i 忽略大小写 例:grep -i "root" /etc/passwd
-v 反向选取 例:grep -v "root" /etc/passwd例:
grep "kernel" /var/log/messages
grep "^root" /etc/passwd
grep "nologin$" /etc/passwd | wc -1
grep "^[a,b].*" /usr/share/dict/words
grep "^[^a,b].*" /usr/share/dict/words
grep "^a.z.*" /usr/share/dict/words
grep "^a.\{5\}$" /usr/share/dict/words
grep "processor" /proc/cpuinfo | wc -l 查看有几个cpu
grep "^.\{9\}z$" /usr/share/dict/words 10个字符并以z结尾
grep "^[a,b,c]...s" /usr/share/dict/words 以abc开头,第五位只能是s行
grep "^[0-9][0-9].*" /usr/share/dict/words 以两位数字开头的行
grep "^[a,b,c].*[^a,b,b]$" /usr/share/dict/words 以abc开头且不以abc结尾
grep "^[a-z].*[A-Z]$" /usr/share/dict/words 以小写字母开头大写字母结尾
作用:裁剪工具
选项:
-b 以字节为单位 例:cut -b 1 cut.txt 数字表达方式:1,2,3或1-3,5或-3(开头到第三个字节)
-c 以字符为单位 例:cut -c 1 cut.txt
-f 以域为单位
-d 指定分隔符划分不同的域 例:cut -d ":" -f 2 cut.txt
作用:排序
选项:
-b 忽略每行前面开始出的空格字符 例:sort -b sort.txt
-c 检查文件是否已经按照顺序排序
-f 排序时,忽略大小写字母
-M 将前面3个字母依照月份的缩写进行排序
-n 依照数值的大小排序 例:sort -n sort.txt
-o<输出文件> 将排序后的结果存入指定的文件 例:sort -r 1.txt -o 1.txt
-r 反向排序 例:sort -r sort.txt
-t 指定分隔字符划分不同的域
-k 指定所选取的域 例:sort -n -t ":" -k 2 sort.txt
-u 合并重复行排序 例:sort -bu sort.txt
例:uniq uniq.txt
作用:合并重复值
选项:
-c 合并重复项,并显示合并的行数 例:uniq -c uniq.txt
-d 合并显示重复行 例:uniq -d uniq.txt
-D 不合并显示重复的所有行 例:uniq -D uniq.txt
-u 只显示文件中不重复的各行 例:uniq -u uniq.txt
作用:过滤
选项:
-F 指定分隔符 例:awk -F: '{print $1}' /etc/passwd
print 指定选择的区域
作用:修改文本内容
选项:
-n 安静模式 例:sed -n '1p' sed.txt 只显示第一行
-a 新增 例:sed '1,3a ff\ngg' sed.txt (\n是换行符)
-c 替换
-d 删除 例:sed '1d' sed.txt 数字也可以写成1-3或1,3或$或2,$
-i 插入
-e 编辑
-p 显示行 例:sed '1p' sed.txt 显示第一行和所有内容
注:cat 1.txt 2.txt > 2.txt 不能这样查看
设置进程优先级
-20 - 19之间 数字越小 优先级越高
nice -n 优先级 进程 对新进程设置优先级 例:nice -n 10 sha1sum /dev/zero &
renice -n 优先级 进程 对已经运行的进程设置优先级 例:(sudo)renice -n -10 6149 设置优先级
top界面下 r 可进入优先级设置界面
seq 设定范围 例:seq 8 1-8
sha1sum/md5 加密
ps u $(pgrep sha1sum) 查看sha1sum进程
killall shalsum 关掉所有进程
getenforce 查看状态
setenforce 0/1 关闭/开启(临时生效)
永久开启:
vim /etc/selinux/config
selinux=xxxENFORCING 强制开启
PERMISSIVE 宽容级别
DISABLED 关闭
安全上下文由user role type 三部分组成
安全上下文设置:
semanage fcontext -a -t 上下文 文件或目录
restorecon -Rv 文件或目录
布尔值设置:
getsebool -a 查看所有布尔值
setsebool -P 模块 on/off
例:
yum -y install httpd 安装网站服务器网页默认地址:
cd /var/www/html/ 网页文档默认地址
vim index.html 创建首页
systemctl start httpd.service 开启网站服务创建新地址:
mkdir /aa 创建新目录
echo "test!" > /aa/index.html 创建文件
vim /etc/httpd/conf/httpd.conf 修改配置
systemctl restart httpd.service 重启服务
ls -Z /var/www/html/index.html 查看上下文
semanage fcontext -a -t httpd_sys_content '/aa(/.*)?' 设置默认值
restorecon -Rv /aa/ 刷新root用户访问zhangsan用户的网页:
vim /etc/httpd/conf.d/userdir.conf 用户个人主页配置文件
删除UserDir disabled 打开UserDir public_html
systemctl restart httpd.service 重启
useradd zhangsan 创建用户(新窗口)
passwd zhangsan
su - zhangsan
mkdir public_html
cd public_html/
vim index.html
chmod 711 /home/zhangsan 修改权限
getsebool -a | grep home
setsebool -P httpd_enable_homedirs on 设置布尔值(返回原来窗口)
客户端配置DNS
yum -y install bind 安装dns
cd /etc/
vim named.conf
修改:
listen-on port 53 {any;};
allow-query {any;};
cp named.rfc1912.zones named.fc1912.zones.bak 备份
vim named.rfc1912.zones 配置区域文件
只修改保留这些:
zone "example.com" IN{
type master;
file "example.localhost";
allow-update {none;};
}
cp -p named.localhost example.localhost
vim example.localhost 配置数据文件
@符号改成example.com
NS dns.example.com
MX 5 mail.example.com
dns A 192.168.1.5(主机地址)
mail A 192.168.1.50(地址随便写)
server A 192.168.1.5(服务器)
client A 192.168.1.6(客户端)
mv named.localhost example.localhost
systemctl start named.service 开启dns服务
nslookup 解析域名
service.example.com
client.example.com
exit
服务器配置IPA
yum -y install ipa-server
yum -y install bind-dyndb-ldap
echo "192.168.1.5 server.example.com" >> /etc/hosts
ipa-server-install --setup-dns
authconfig --enablemkhomedir --update
systemctl enable sssd.service
init6 开机重启
配置防火墙
systemctl stop firewalld 关闭防火墙
在客户端安装
setenforce 0
systemctl stop firewalld
vim /etc/resolv.conf
添加search example.com
nameserver 192.168.1.5
nslookup 解析
server.example.com
client.example.com
yum install -y authconfig authconfig-gtk ipa-client
authconfig-gtk 打开认证界面
(LDAP
dc=example,dc=com
https://server.example.com/ipa/config/ca.crt
去掉√
EXAMPLE .COM
SERVER.EXAMPLE.COM
SERVER.EXAMPLE.COM
)
ipa-client-install --domain=example.com --no-ntp --realm=EXAMPLE.COM --mkhomedir
server.example.com
服务器上创建一个名为work的共享
yum -y install samba
cd /etc/samba/
ls
mv smb.conf smb.conf.bak
cat smb.conf.bak
cat smb.conf.bak | grep -v "^#"
cat smb.conf.bak | grep -v "^#" | grep -v "^;"
cat smb.conf.bak | grep -v "^#" | grep -v "^;" | grep -v "^$"
cat smb.conf.bak | grep -v "^#" | grep -v "^;" | grep -v "^$" > /etc/samba/smb.conf
vim /etc/samba/smb.conf
(把注释信息删除
添加[work]
comment = smaba
path = /aa
guest ok = yes)
useradd zhangsan
passwd zhangsan
pdbedit -a -u zhangsan
pdbedit -L 查看所有用户
systemctl start smb客户端配置
yum -y install cifs-utils
mkdir /aa
vim /aa/zhangsan.smb
(usename=zhangsan
password=123
domain=MYGROUP)
mkdir /home/zhangsan/bb
chmod 770 /aa
chmod 600 /aa/zhangsan.smb
vim /etc/fstab
添加//server.example.com/work /home/zhangsan/bb cifs credentials=/aa/zhangsan.smb 0 0
mount -a
cd /home//zhangsan/bb/ (测试文件,需提前在服务器创建文件)
几年前的笔记了,分享一下,可能有些内容和现在有些改动,请指正,谢谢!