1.虚拟机安装linux(centos 32bit)
1.1 虚拟机安装前置工作的准备,如内存。硬盘。CPU分配。镜像下载等
1.2 安装方式(图形界面或者命令行 推荐图形界面即直接回车)
1.3 安装过程默认,如默认语言、键盘式等
1.4 安装分区
1.4.1 在选定磁盘上删除所有分区
1.4.2 在选定驱动器上删除linux分区
1.4.3 在选定驱动器上使用空闲空间
1.4.4 自定义分区
1.4.4.1 linux磁盘表示
1.4.4.1.1 IDE磁盘 hd(磁盘前缀) hda(磁盘1)hdb(磁盘2) hda1(磁盘1的1分区) hdb1(磁盘2的1分区)
1.4.4.1.2 SATA磁盘 sd(磁盘前缀) sda(磁盘1)sdb(磁盘2) sda1(磁盘1的1分区) sdc6(磁盘3的6分区)
1.4.4.2 linux分区表示
1.4.4.2.1 挂载点 即所有分区的根
1.4.4.2.2 文件系统类型 即分区存储格式
1.4.4.2.3 分区大小
1.4.4.2.4 交换分区(swap 即windows下的虚拟内存)
1.5 网络配置(IP、网关、子网掩码、主机名、DNS等)
1.6 时区、用户密码设置
1.7 默认软件包安装
1.8 安装完毕后重新启动系统即可
1.9 系统初始化设置(防火墙、创建用户、SELinux等)
1.10 如果是一机多系统的話,先装windows再装linux。因为装windows会重写引导文件
2.熟悉系统图形界面
2.1 文件夹标签打开方式显示(编辑,首选项里面设置)
2.2 隐藏文件查看(首选项里面设置 以.开头的文件或者文件夹均为隐藏文件/文件夹)
2.3 常用工具栏使用
2.4 支持7个终端(前6个均为命令 后1个为图形 快捷键为ctrl+alt+ f1~f7)
3.命令
3.1 命令格式
3.1.1 命令 -选项.... 参数
3.2 常用命令
3.2.1 ls命令 显示当前目录文件信息
ls -l 显示目录的完整信息 =》ll
ls -i 显示目录所有的文件,包括隐藏文件
ls -s 显示文件大小
ls --help 显示关于ls的选项帮助信息
ls -lis 等同于 ls -l -i -s
3.2.2 pwd命令 显示当前目录名
3.2.3 clear命令(ctrl+l) 清屏
3.2.4 date命令 显示当前时间日期
3.2.5 cal命令 显示日历
cal 12 2012 查看2012年12月的日历 注意年月次序
cal 2012 查看2012年所有月份日历
3.2.6 bc命令 计算器
scale=4(小数点后4位,默认情况下不保留小数点后的数字)
1/3
3.2.7 history命令 执行过的命令集合(1000个有重复)
history
!22 (执行第22条命令)
3.3 命令大小写区分
4.热键和快捷键
4.1 Tab热键————自动补齐命令
如果唯一则自动补齐,如果不唯一需要按两次则加载所有可能性
4.2 上下热键————执行历史命令切换
4.3 ctrl+i/home————命令行光标快速切换到本行开头
4.4 ctrl+e/end————命令行光标快速切换到本行结束
4.5 ctrl+u————从当前光标处往前删除
4.6 ctrl+k————从当前光标处往后删除
4.7 ctrl+c————中止输入命令执行
4.8 ctrl+shift+t—————多开终端
4.9 ctrl+d————关闭终端
5.帮助信息
5.1 whatis 命令————查看该命令作用
whatis ls
5.2 ls --help ————该命令常用的选项有哪些
5.3 man命令————查看该命令具体详细信息
man ls
man -k clock ————查看含有clock关键字的所有命令
man host.allow————查看该文件配置说明
输入 /+关键字 可将关键字高亮显示
使用m/n可向上下查找(或向上向下键)
退出按q
5.4 info命令————用法跟man差不多。man可取代
6.编译器
6.1 nano
6.2 gedit
6.3 vi
7.一些使用小技巧
7.1 数据同步问题
sync命令————同步内存数据到硬盘
7.2 开关机命令
7.2.1 shutdown命令
7.2.2 reboot命令
7.2.3 poweroff命令
7.2.4 halt命令
7.3 运行级别
7.3.1 级别(7种)
0:关机模式
1:单用户模式
2:多用户模式(无NFS)
3:多用户模式(有NFS)
4:系统保留
5:图形化界面
6:系统正常关闭并重启
7.3.2 init命令————切换运行级别
init 3 切换到3级别
init 0 切换到0级别 即关机
init 6 切换到6级别 即重启
7.4 忘记root密码
1.开机时按e键进去可选进入项
2.进去编译模式
3.敲1按回车,按b进去编译
4.编译完成后输入passwd更改密码
5.然后重启即可使用新密码登陆
8.文件权限和目录配置
8.1 文件权限
8.1.1 权限说明
drwxr-xr-x. 2 root root 4096 Oct 23 23:53 Desktop
drwxr-xr-x:文件/文件夹权限
第一位:
d为文件夹
-为文件
b为设备(块) U盘、硬盘等
c为设备(字符)键盘、鼠标等
l为软连接(快捷方式)
其他位:
r读
w写
x运行
前三位为所有者权限(u)
中间三位为所有组权限(g)
后三位为其他人权限(o)
.:是否为隐藏文件
root:文件/文件夹所有者
root:文件/文件夹所有组
4096:文件/文件大小
Oct 23 23:53: 创建时间/修改时间
Desktop: 文件/文件夹名
8.1.2 默认权限
1.umask命令————文件默认权限
2.chattr/lsattr命令————文件隐藏属性
3.SUID/SGID/SBIT命令————文件特殊权限
4.file命令————文件类型
8.2 更改文件/文件夹权限
8.2.1 chmod命令————修改文件/文件夹读写运行权限
第一种方式:chmod u+x,g+r,o+r xyz(不会改变子文件权限)
第二种方式(推荐):chmod 766 xyz(不会改变子文件权限)
r:4
w:2
x:1
7:rwx
6:rw
5:rx
3:wx
chmod -R 766 xyz(会改变子文件权限)
8.2.2 chown命令————可以修改所有者和所有组权限
chown hadoop xyz/
将xyz的所有者更改为hadoop用户
chown -R hadoop:root xyz/
将xyz下的所有文件所有者更改为hadoop用户,所有组更改为root
8.2.3 chgrp命令————只能更改所有组
chgrp root xyz/
将xyz的所有组更改为root
8.3 文件目录结构
bin————可运行程序
boot————系统启动文件,内核初始化
dev————设备文件
etc————配置文件
home————用户的家目录
lib————链接库文件
lost+found————默认的
media————挂载点,自动
misc————默认的
mnt————挂载点,手工
net————网络文件
opt————使用源码安装包时安装目录
proc————内核参数,不占用磁盘大小
root————root用户的家目录
sbin————类似bin,系统管理员的命令
selinux————selinux文件目录
srv————
sys————系统配置文件
tmp————临时文件
usr————安装软件默认路径
var————日志文件、缓存文件、数据文件
8.4 绝对路径和相对路径
当前目录 .
上一级目录 ..
8.5 基本查看命令
1.uname命令————返回系统类型名
uname -a 查看系统所有信息
2.lsb_release命令
9.文件和目录的管理
9.1 目录和文件相关操作
1.cd命令————切换目录
cd:change directory
~:一个变量,代表当前用户家目录
cd - 上次所在目录(注意不是上一级目录)
2.mkdir————增加目录
mkdir xx yy zz 创建三个目录分别为xx yy zz
mkdir -p xx/yy(如果父文件夹不存在创建父文件夹)
3.rmdir————删除目录(不能删除非空目录)
rmdir xx yy zz
rmdir -p xx/yy(如果父文件夹中只有一个文件,会删除掉父文件夹)
4.rm————删除文件
rm -rf xx(删除xx中的所有文件)
5.cp————复制文件
1.cp xx/yy xx1/yy1
如果yy是文件,且yy1是文件夹时,则将yy拷贝到yy1下
如果yy是文件,且yy1是文件或者不存在时,则将yy拷贝到xx1中并重命名为yy1
2.cp -rf xx/yy xx1/yy1
yy是文件夹 即将yy所有文件拷贝到xx1下的yy1中(没复制权限属性信息)
3.cp -rfp xx/yy xx1/yy1
yy是文件夹 即将yy所有文件拷贝到xx1下的yy1中(复制权限属性信息)
6.mv————移动文件(与cp用法一致)
7.查看文件内容
1.cat————顺序显示,只能看到最后一屏的内容 适合查看小文件
cat -n xx 有行号
2.tac————倒序显示
3.nl————相当于 cat -n
4.head————查看文件前几行
head -5 xx 前五行(默认头10行)
5.tail————查看文件后几行
tail -5 xx 后五行(默认尾10行)
6.more————分屏查看内容
more xx (回车一行一行 空格一屏幕一屏幕 只能往后看, 不能往前看)
7.less————分屏查看内容
less xx(往前往后都可)
8.od————查看二进制文件
8.touch————创建文件
touch xx
9.whereis/locate/find————查找文件
whereis xx
locate xx(不及时,在数据库来找,如果需要及时的話,要更新数据库 updatedb)
find 目录 -属性 属性值(不指明目录在当前目录查找)
属性:权限、大小、时间等
9.2 路径变量$PATH
1.变量赋值
$PATH=".:/usr/local/hadoop/bin:/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
2.输出打印变量值
echo $PATH
1.Linux磁盘和文件系统
VFS————虚拟文件系统
df命令————查看已挂载的分区
df 分区名
du命令————查看文件夹大小
du 文件夹名
ln命令————符号链接
fdisk命令————分区命令
fdisk 硬盘名
partprobe命令————更新分区表
partprobe 硬盘名
mkfs命令————格式化分区(新建分区只有格式化后才能使用)
mkfs -t 文件系统类型(ext3、ext4) 分区名
mkfs.文件系统类型(ext3、ext4) 分区名(等同于上面的)
fsck/badblocks命令————磁盘检验
badblocks -sv 分区名
mount命令————挂载设备(临时,关机重启后无效)
mount 外部设备 目录 将外部设备挂载在目录里
umount命令————卸载设备
umount 挂载点
umount 外部设备
fstab文件————挂载文件(重启关机均有效)
配置信息格式: 设备名 挂载点 格式类型 默认权限 备份标识 检验标识
2.文件的压缩和打包
2.1 常用的压缩命令
Compress命令
gzip/zcat命令
gzip 文件名(会直接将原文件压缩成.gz后缀的文件,源文件没有了)
gzip -c 文件名 > 文件名.gz(会直接将原文件压缩成.gz后缀的文件,源文件还存在)
gzip -d 文件名(会直接将源文件解压,源文件没有了)
zcat 文件名(查看压缩文件内容,纯文本)
bzip2/bzcat命令(使用方式同上 注意后缀为bz2)
2.2 常用的打包命令
tar命令(无压缩功能)
tar cvf 文件名.tar 文件名(打包文件,保留源文件)
tar cvf 文件名.tar 文件名 --remove-files(打包文件,不保留源文件)
tar tvf 文件(不解包下查看文件内容)
tar xvf 文件(解包下查看文件内容)
2.3 常用备份命令
————完全备份 (0)
————差异备份 (级别从高往低)
————增量备份 (级别从低往高)
dump命令————备份
dump 级别(0~9) 备份文件名 需备份文件
2.4 常用还原命令
restore命令————恢复
3.vim程序编辑器
vim是vi的增强版
1.插入模式:
1.i 当前光标后一字符
2.I 本行开头
3.a 当前光标后后一字符
4.A 本行行尾
5.o 本行后空一行
6.O 本行前空一行
7.insert 当前光标
2.命令模式:
1.esc
2.yy————复制行
3.p————粘贴行
4.dd————删除当前行
5.x————删除当前字符
6.r————替换当前字符
3.末行模式:
1.冒号:(保存w、退出q、替换s、定位(直接输入数字跳转到该数字行))
2.斜杠/ (查找)
3.next 切换下个文件
4.first 第一个文件
5.last 最后一个文件
4.特殊符号:
1.^ 表示行开头
2.$ 表示尾部
3.% 表示所有行
4.认识和学习bash
1.查看系统支持的shell
cat /etc/shells(Linux 默认使用bash)
2.which命令————查看命令所在目录
which 命令名(如果找不到目录且该命令可用,则表示该命令为bash内置命令)
3.type命令————查看命令所属信息
type 命令名
4.变量
1.变量赋值:变量名=值
2.变量使用:$变量名(前面一定要有美元符号)
3.变量取消:unset 变量名
4.本地变量(只在当前会话有效)
定义 变量名=变量值
5.环境变量(所有会话有效)
定义 export 变量名=变量值
6.位置变量(指定位置的变量)
$0(第一个变量)
$1(第二个变量)
$#(总共几个变量)
$*(变量分别是...)
7.变量查看
set命令(查看所有变量 即本地和环境变量)
env/export/export -p 命令(显示环境变量)
8.read命令————将键盘输入的值赋值给变量(以回车为结束标识)
read 变量名
9.数组
定义 xx=(aa bb cc)
输出 echo ${xx[*]} 全部输出
echo ${xx[0]} 输出第一个元素
echo ${#xx[*]} 输出数组元素个数
echo ${!xx[*]} 输出所有元素下标
10.declare命令————定义变量
declare -x aa=1 (是环境变量)
declare +x aa=1 (不是环境变量)
declare -r aa (aa值不能更改,即常量)
11.通配符
1.[] 匹配一个字符
2.- 表示范围 a-z即 a到z
3.? 表示任意一个字符
4.!或者^ 表示非 [^0-9]即非数字
5.* 表示任意一个或多个字符
5.输出重定向
1.>命令————将控制台的输出输出到文件(若文件不存在,则创建该文件,如果存在,则覆盖)
cal > 文件名 (只能重定向正确的结果)
cal 2> 文件名 (只能重定向不正确的结果)
2.>>命令————将控制台的输出输出到文件(若文件不存在,则创建该文件,如果存在,则追加)
cal >> 文件名 (只能重定向正确的结果)
cal 2>> 文件名 (只能重定向不正确的结果)
3.&>命令————将控制台的输出输出到文件(无论正确或者错误均可重定向,覆盖文件)
6.命令特殊符号
1.: 命令1:命令2(即执行完命令1后执行命令2,无论命令1是否正确)
2.&& 命令1&&命令2(如果命令1不正确,不会执行命令2)
3.|| 命令1||命令2(如果命令1正确,不会执行命令2)
7.管道
命令1的结果通过管道传给命令2做参数 如 命令1 | 命令2
1.选取命令
cut————分隔文件内容,适用于有规律的文件 如:cut -d: -f1 文件名(即按:来选取第1部分的文件内容)
grep————选取文件内容,适用于无规律但知道关键字的文件 如:ifconfig eth1 | grep "Mask"(即按Mask关键字将所在行过来展现出来)
2.排序命令
sort————将结果排序输出 如: grep -ivn "abc" 文件名 | sort -r (将结果反向输出)
wc————字数统计 如:wc 文件名(返回行号、单词数、字符数(空格和换行符均算))
uniq————结果统计 如:uniq 文件名 -c(返回结果和结果次数)
3.双向重定向命令
tee————将结果输出到文件 如: ifconfig eth1 | tee 文件名 |grep "Mask"
4.字符转换命令
tr————转换字符 如: tr 'a-z' 'A-Z' < 文件名
col————转换字符(将tab转换成空格) 如: col -x 文件名
join————匹配合并文件(匹配文件1和文件2关键字再合并,以分隔符标识关键字) 如:join -t ':' 文件1 文件2
paste————粘贴合并文件(直接粘贴合并) 如:paste 文件1 文件2
expand————(功能与col一致) 如: expand 文件名
5.切割命令
split————把大文件切割成若干个小文件 如: split -b 10k 大文件 小文件(小文件大小为10k)
6.参数代换
xargs————对于不支持管道的命令提供参数支持 如:find -name "xxx*" |xargs ls -h
5.shellscript脚本
1.开头格式
#!/bin/bash
2.注释行使用 #
3.执行脚本
1.source 脚本文件名
2.bash 脚本文件名
3. ./脚本文件名
4.返回值
1.执行成功返回0
2.执行错误返回非0
5.判断分支
1.if...;then...elif...;then...else....fi
2.case...esac
3.function
6.循环分支
1.while /until ... do ... done
2.for...do...done
1.Linux帐号和ACL权限管理
1.帐号和用户组
1.1 用户标识符————UID(root为0 系统用户为1~499 普通用户为500~65535)
1.2 用户组标识符————GID()
1.3 用户帐号信息文件————/etc/passwd
hadoop:x:500:500:hadoop:/home/hadoop:/bin/bash
hadoop为用户名 x为密码加密符 500为UID
500为GID hadoop为注释信息 /home/hadoop为用户家目录
/bin/bash为shell信息
1.4 用户密码信息文件————/etc/shadow
hadoop:$1$0HZuNsCv$URJuS1MRpjafAVcmYO0bI1:15957:0:99999:7:::
hadoop为用户名
$1$0HZuNsCv$URJuS1MRpjafAVcmYO0bI1为加密后的密码信息
15957为密码有效日期时间
0为密码最小使用天数
99999为密码最大使用天数
7为最大天数到期后警告天数
2.帐号管理
2.1 useradd命令————添加用户
useradd -p "用户名" 用户名 (创建一个密码跟用户名一样的用户)
2.2 usermod命令————修改用户信息(含密码)
usermod -s /bin/bash 用户名(修改用户的shell信息)
2.3 userdel命令————删除用户
userdel -r 用户名(-r 会删除用户相关缓存和家目录)
2.4 passwd命令————修改用户信息(仅限密码)
passwd 用户名
2.5 chage命令————修改帐号信息(不含密码)
chage -d 2015-10-1 tom (修改tom最近设置密码时间为2015-10-1)
2.6 su命令————用户身份切换
su - 用户名
2.7 sudo命令————特权用户切换
sudo 用户名
3.组管理
3.1 groupadd命令————添加组
如:groupadd 组名
3.2 groupdel命令————删除组
如:groupdel 组名
3.3 groupmod命令————修改组
如:groupmod -n 新组名 旧组名
3.4 groups命令————查看用户所属组(一个用户可存在于一个或多个组)
如: groups root
3.5 gpasswd命令————操作用户组
如: gpasswd -a tom test(即把tom用户添加到test组中)
gpasswd -d tom test(即把tom用户从test组中删除)
3.6 newgrp命令————临时将一个组转换成用户的主组
如: newgrp test(即将当前登陆用户的主组修改为test)
4.ACL————访问控制列表
4.1 setfacl命令————设置权限
setfacl -m u:hadoop:rw- xx文件(为hadoop用户对xx文件设置rw权限,会覆盖原来权限)
setfacl -m g:test:rw- xx文件(为test组对xx文件设置rw权限,会覆盖原来权限)
setfacl -x u:hadoop xx.sh(取消hadoop用户对xx文件的权限)
4.2 getfacl命令————获取权限
getfacl xx文件(获取xx文件的权限明细信息)
5.用户shell命令
5.1 查询用户
who命令————查看当前登陆用户
last命令————查看历史登陆信息
lastlog命令————查看所有用户的登陆信息
5.2 用户对谈
write命令————发送消息给用户化
write 用户2(即表示当前用户发送信息给用户2,输入消息以ctrl+d为结束符)
mesg命令————信息收发状态
mesg y(开启当前用户收信息)
mesg n(关闭当前用户收信息,如果消息是root发送的即使关闭也能收到)
wall命令————广播(所有人都能收到)
wall 广播内容
2.磁盘配额和高级文件系统管理
2.1 磁盘配额
1.quotacheck命令————设置磁盘配额功能(默认不开启,注意:分区需在挂载时设置是否以配额方式挂载才能设置该功能)
quotacheck -cug /dev/sda3(即对sda3这个分区设置关于用户和用户组的磁盘配额功能 其中u表示用户 g表示用户组)
2.quotaon命令————启动磁盘配额服务
3.quotaoff命令————关闭磁盘配额服务
4.edquota命令————配置磁盘配额功能信息
edquota -u 用户1(配置用户1磁盘配额信息)
其中配额信息如下:
1.文件系统
2.文件大小(该用户已有文件)
3.软配额(软限制,满足即通知)(已有文件大小,单位是Kb,0为无限)
4.硬配额(硬限制,满足即不能再创建文件)(已有文件大小,单位是Kb,0为无限)
5.文件个数(总文件个数)
6.软配额(软限制,满足即通知)(文件个数,0为无限)
7.硬配额(硬限制,满足即不能再创建文件)(文件个数,0为无限)
5.quota命令————查看配额设置信息
quota -u 用户1(查看用户1的配额设置信息)
2.2 高级文件系统管理
1.RAID——阵列
RAID0————长度相加(无备份,至少两块)
RAID1————镜像备份(有备份,至少两块)
RAID5————校验和(有备份,至少三块)
2.LVM——逻辑虚拟卷 动态扩展或缩小分区空间
3.计划任务
3.1 仅执行一次任务
atq命令————查看计划任务
at命令————设置计划任务(仅一次)
at 10302015(MMDDYYYY) 回车
任务1
任务2
任务3(ctrl+d为结束符)
atrm命令————删除计划任务
atrm 任务序号
/etc/at.deny 文件出现的用户没权限运行at命令
/etc/at.allow 文件出现的用户有权限运行at命令(优先级allow > deny)
3.2 循环执行任务
crontab命令————设置计划任务(循环周期性执行)
crontab -l (查看当前用户计划任务)
crontab -l -u 用户1(查看用户1计划任务)
crontab -e 回车
编辑任务(跟vim编辑器使用一致,一个任务可多条命令)
任务格式:分 时 天 月 周 命令内容(*为每一)
0 19 * * * date(每天19时执行date命令)
0 19 * * 1-5 date(每周1-5每天19时执行date命令)
crontab -r (删除计划任务)
/etc/crontab.deny 文件出现的用户没权限运行crontab命令
/etc/crontab.allow 文件出现的用户有权限运行crontab命令(优先级allow > deny)
run-parts命令————运行某个目录里面的所有脚本
run-parts 目录名(注意需有可运行权限)
3.3 可唤醒执行任务————本来应该按计划执行的因为关机而没有执行到的任务,开机后重新执行
/etc/anacrontab 可唤醒执行任务配置文件
4.程序管理和SELinux
4.1 工作管理
jobs命令————查看后台运行工作
ps aux命令————查看所有运行进程
bg命令————设置后台运行程序
bg 序号(设置后台已停止运行的进程继续后台运行)
fg命令————设置前台运行程序
fg 序号(设置后台进程前台运行)
&命令————后台运行标识(关闭控制台不运行)
firefox &(将firefox这个进程后台启动运行)
nohup命令————后台运行(关闭控制台也运行)
nohup 命令1
kill命令————杀死进程
kill -9 %1(杀死后台标识为1的进程)
kill -9 1(杀死进程标识为1的进程,注意跟前者区分)
4.2 进程管理
ps命令————当前shell的所有进程
pidof命令————查看某个进程pid(即进程标识号)
pidof ping
killall命令————根据进程名杀死进程
killall -9 进程名
renice命令————更改已经正在运行的进程优先级
renice 优先级数 进程pid
其中优先级数取值范围是:-20~19 越大执行优先级越低 默认值为0
nice命令————更改还未运行的进程优先级
nice -n -19 cat(cat命令以-19优先级来运行)
free命令————查看内存资源使用信息
uptime命令————查看系统资源负荷信息
vmstat命令————查看系统IO信息
vmstat 3 6(即3秒钟执行一次vmstat,总共执行6次)
4.3 SELinux————可以理解为进程设置权限
1.运行模式
强制模式————不满足条件时警告并阻止运行
允许模式————不满足条件时警告但可运行
关闭模式————不启用selinux
getenforce命令————获取当前模式状态
setenforce命令————设置模式
setenforce 1(强制模式)
setenforce 0(允许模式)
/etc/selinux/config 默认设置文件(重启系统后也生效)
2.启动、关闭、查看
3.网络服务运行
4.所需的服务
5.策略和规则
5.系统服务和daemon
1.daemon和service
service 对外提供的服务
daemon 一直在系统中运行的进程
分类:独立服务和非独立服务(super daemon)
服务于端口一一对应 即服务使用端口来表示 /etc/services 可查看相关服务端口对应关系
2.配置和启动daemon
独立服务启动文件: /etc/init.d/下的所有服务
独立服务启动方式(以下两种方式均可):
1.service 服务名 restart
2./etc/init.d/服务名 restart
非独立服务启动文件:/etc/xinet.d/下的所有服务
非独立服务启动步骤:
1.设置配置文件 /etc/xinetd.conf
2.重启xinetd服务 service xinetd restart(由此可见xinetd是独立服务)
3.查看系统服务
netstat命令————查看正在运行服务
netstat -nutlp(查看当前正在监听的服务)
chkconfig命令————查看系统启动服务
chkconfig --list
setup命令
ntsysv命令
6.日志文件
6.1 事件级别
1.emerg 恐慌状态
2.alert 紧急状态
3.crit 临界状态
4.err 其他错误状态
5.warning 警告消息
6.notice 通知事项
7.info 信息消息
8.debug 调试
(由上往下,级别越低)
6.2 日志配置文件
/etc/syslog.conf
6.3 日志格式
时间 地点 人物 事件
6.4 日志保护的两种方式
1.使用chattr命令设置日志文件只能增加不能减少的权限
2.配置中央日志服务器(即将该主机的日志文件通过网络传输给中央日志服务器)
6.5 日志备份————logrotate
1.配置文件 /etc/logrotate.conf
2.执行logrotate -f /etc/logrotate.conf
6.6 日志分析————logwatch
7.启动引导和内核模块
7.1 Linux启动流程
1.BIOS自检
2.MBR激活,找到分区表,找到boot分区
3.加载文件系统配置文件(即加载文件系统为ext3/ext4)
4.加载系统配置文件
5.加载内核到内存并初始化 (即加载系统驱动和系统模块)
6.运行系统第一个程序/sbin/init
7.init读取运行 /etc/inittab 配置文件
8.启动配置文件中的相关服务
9.加载 /etc/rc.d/rc.local 设置管理员设置的系统启动项
10.加载其他一些配置文件
7.2 内核模块
模块文件 /lib/modules/下
lsmod命令————查看系统加载模块
modinfo命令————查看某个模块的信息
modinfo 模块名
7.3 BootLoad引导器
grub文件 /boot/grub
两个stage1和*stage1_5 其中*stage1_5是文件系统类型信息
stage2存储系统内核配置信息
1.系统设置工具(网络和打印机)和硬件检测
1.1 setup工具
1.1.1 用户身份验证设置
1.1.2 网络配置
1.1.3 防火墙设置
1.1.4 键盘形式设置
1.1.5 时区设置
1.1.6 系统服务设置
1.1.7 X界面设置
1.2 设置打印机
lpr命令————添加打印请求
lpq命令————查看打印请求
lprm命令————删除打印请求
1.3 硬件数据收集和Im_sensors
1.3.1 硬件数据收集
lspci命令————查看pci硬件信息
lspci | grep -i net (查看网卡信息)
lsusb命令————查看usb硬件信息
iostat命令————监控硬件信息
iostat -c 1 3(每1秒钟监控cpu使用信息,总共3次)
hal-device-manage命令————查看硬件信息(相当windows的设备管理器)
1.3.2 Im_sensors————查看硬件温度信息
1.安装————pkgs.org下载相关包
2.配置和启动相关模块
3.运行sensors命令
2.软件包安装
2.1 源码包安装————可以指定安装路径,但很麻烦
安装gcc(编译源码包需要用到)
解压源码包(一般后缀为.tar.gz) tar zvxf 文件名
进入解压目录,运行configure文件生成makefile文件 ./configure --prefix=需要安装到的文件夹名(默认安装到/usr/local)
编译 make
安装 make install
2.2 rpm包安装————不可以指定安装路径且有可能存在包依赖,但很简便
rpm命令————安装或卸载软件
rpm -ivh 文件包名(i为安装,v为显示进度,h为校验签名)
rmp -qa(q为查询,a为全部包)
rmp -ql 包名 (查看安装文件路径)
rmp -qc 包名 (查看配置文件路径)
rmp -e 软件名 (卸载软件)
rmp -Uvh 包名 (更新软件包,先卸载旧包再安装新包)
1.SAMBA服务器————(linux和windows的文件共享)
1.1 安装
yum install samba -yum
1.2 配置文件
/etc/samba/smb.conf(具体参数可度娘)
1.3 具体服务
nmbd————提供旧系统服务(可启动也可以不启动)
smbd————主进程(必须启动)
1.4 打开端口
udp:137~138
tcp:139、45
1.5 更改共享文件夹的上下文
chcon -t samba_share /xx/
1.6 更改布尔值
setenforce 0(关闭)//访问不了的話关闭它
setenforce 1(开启)
1.6 重启服务
service smb restart
1.7 异常排查
1.配置文件是否开启写权限
2.文件夹是否开启写权限
3.更改上下文或者X-linux的布尔值
1.8 创建samba的用户和密码(必须是系统中存在的用户)
samba用户名是系统的用户
samba密码(可以跟系统密码不一致)
添加:
smbpasswd -a 用户名
禁用:
smbpasswd -d 用户名
启用:
smbpasswd -e 用户名
1.9 清理连接缓存
net use * /del(windows cmd命令下执行)
2.WEB服务器————LAMP(L linux A apache M mysql P php)
2.1 Apache服务器安装
1.服务安装
yum install httpd\* -y
2.配置文件
配置文件目录 /etc/httpd/
具体配置项可度娘
3.打开端口
iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT 1 -p udp --dport 80 -j ACCEPT
service iptables save
4.重启服务
service httpd restart
3.FTP服务器
3.1 工作模式————相对服务器而言
主动模式:服务器使用20端口主动连接客户端
被动模式:客户端使用服务器端的21端口连接
3.2 安装
yum install vsftpd -y
3.3 配置文件
配置文件夹 /etc/vsftpd
vim /etc/vsftpd/vsftpd.conf
3.4 打开端口
iptables -I INPUT 1 -p tcp --dport 20:21 -j ACCEPT
iptables -I INPUT 1 -p udp --dport 20:21 -j ACCEPT
service iptables save
3.5 重启服务
service vsftpd restart