您的位置:首页 > 运维架构 > Linux

LSA-读书笔记

2014-03-30 20:31 645 查看
第一章:linux系统安装及基本操作
一、linux起源和发展
1.linux作者:芬兰赫尔辛基大学的 Linus Torvalds(李纳斯?托沃兹),标志是企鹅。
2.Linux内核版本:XX.YY.ZZ 即“主版本号.次版本号.末版本号”,次版本号是奇数为开发版,次版本号为偶数为稳定版。开发版增加功能,稳定版修改错误。
3.GNU/GPL/LGPL
GNU:是GUN is not Unix的缩写,目标是编写大量兼容于unix的自由软件。
GPL:是General Public License的缩写,意思是通用公共许可证,目标是保证软件自由。
LGPL:是Lesser General Public License的缩写,意思是次级公共许可证,目标是保证软件自由,但允许作者使用GNU库时不公开自己那部分的源代码。
4.Linux发行版
Red Hat公司:Red Hat Enterprise Linux 5
Novell公司:Suse Linux 11
Debian社区:Debian Linux 5.0
二、安装linux操作系统
1.linux如何表示分区
hdXN:hd代表IDE硬盘,X代表第几块硬盘,N代表分区号,逻辑分区从5开始
sdXN:sd代表非IDE硬盘,如SATA,SCSI,移动设备
2.Linux文件系统:默认是ext3文件系统
3.Linux目录结构:
所有的分区、目录、文件都是从根目录(/)开始
/boot:存放启动文件
/bin:存放普通命令,所有用户都可执行
/sbin:存放管理命令,管理员可以执行
/home:存放所有普通用户的默认工作目录(宿主目录)
/root:是管理员(root)的宿主目录
/etc:存放各种配置文件
/dev:存放设备文件
/var:存放经常需要变化的文件
/usr:存放其他应用程序
/tmp:存放临时文件
4.安装
(1)安装程序列引导方式:USB引导,光盘引导
(2)软件包读取方式:光盘,硬盘,网络服务器(http,ftp,nfs)
(3)安装界面:直接回车为图形界面安装,输linux text回车为文本界面安装
三、基本操作
1.控制台切换
Ctrl+Alt+F1~F6 进入虚拟控制台1-6
Ctrl+Alt+F7 回图形界面
2.关机及重启
shutdown -r/-h now
halt –p init 0
reboot init 6

第二章:管理文件和目录
`一、linux命令概述
1.命令格式: 命令 [选项] [参数]
选项:对命令的执行要求,不同的命令选项也会不同,选项可以同时使用多个
参数:是命令作用的对象
2.操作技巧
可以用tab补全命令或文件名
可以用\强制换行
可以用Ctrl+U快速删除光标前面所有内容
可以用Ctrl+K快速删除光标后面所有内容
可以用Ctrl+L快速清除屏幕内容
可以用Ctrl+C快速取消当前命令行的编辑
3.如何查看命令帮助
help 内部命令 / 命令 --help / man 命令 / info 命令
二、文件和目录管理
1.目录操作命令
(1)pwd ?查看当前工作目录
(2)cd [目录][-][~]
什么都不加回主目录,“-”回前一个目录,“~”回主目录
(3)ls [-ladhR] [目录或文件] ?查看文件或目录
-l 显示详细信息
-a 显示所有文件,包括隐藏文件
-d 显示目录本身
-h 显示文件大小时,给出存储单位
-R 以递归方式显示子目录内容
(4)mkdir [-p] 目录 ?创建目录
-p 如果上级目录不存在,自动创建
(5)du [-ahs] 目录 ?统计文件及目录的空间占用情况
-a 统计所有文件 -h 显示存储单位 -s 只显示总大小
2.文件操作命令
(1)touch 文件名 ?创建空文件
(2)file 文件名 ?查看文件类型
(3)cp [-fipr] 源文件或目录 目标文件或目录 ?复制文件
-f 覆盖同名的目标文件时不提醒
-i 覆盖同名的目标文件时提醒
-p 保留源文件权限其其它属性不变
-r 复制目录时必须使用此选项
(4)rm [-fir] 文件或目录名 ?删除文件或目录
-f 删除时不提醒
-i 删除时提醒
-r 删除目录时必须使用此选项
(5)mv 源文件或目录 目标文件或目录 ?移动文件、目录或重命名文件、目录
(6)which 命令名 ?显示命令位置及别名
(7)find 目录 [-type 文件类型] [-name 文件名] [-size +/-文件大小] [-user 用户名] ?查找文件
(8)ln [-s ] 源文件或目录取 链接文件或目录 ?建立链接
-s 建立符号链接
3.文件内容操作
(1)cat 文件名 ?显示文件内容
(2)more 文件名 ?显示文件内容,分页显示
(3)less 文件名 ?显示文件内容,分页显示,能向前翻页
(4)head [-n ] 文件名 ?只显示文件开头的n行
(5)tail [-n ] 文件名 ?只显示文件结尾的n行
(6)wc [-clw] 文件名 ?统计文件字符数、行数、单词数
-c 只统计字符数 -l 只统计行数 -w 只统计单词数
(7)grep [-vi] “内容” 文件名 ?只显示或不显示文件中带指定字符的行
-i 不区分大小写 -v 不显示带指定字符的行
4.压缩文件管理
(1)gzip [-Nd] 文件名 ?压缩或解压文件
-N是一个数字,代表压缩级别 -d 代表解压
(2)bzip2 [-Nd] 文件名 ?压缩或解压文件
-N是一个数字,代表压缩级别 -d 代表解压
(3)tar [-tcxzjpvC] 文件 [文件] ?查看压缩文件内容、创建压缩文件、解压文件
-t 查看压缩文件内容 -c 创建压缩文件 -x 解压文件 -z 使用gzip
-j 使用bzip2 -p 打包时保留权限 -v 显示详细信息 -C 解压时指定位置
三、VI的使用
1.三种模式
命令模式--(a或i或o)-?输入模式------(Esc)-?命令模式
命令模式—(:)-?末行模式------(Esc)-?命令模式
2.命令模式命令
(1)移动光标
hh nG nL nH M
(2)复制粘贴删除
nyy p/P ndd
(3)查找
/string ?string
(4)撤销与保存退出
u/U ZZ
3.末行模式命令
(1)保存与退出
:w :wq :w file :q :q!
(2)打开新文件,读入其他文件内容
:e file :r file
(3)查找与替换
:m,ns/string1/string2/g

第三章:安装及管理应用程序
一、linux应用程序基础
1.应用程序组成
普通程序文件:一般放在/usr/bin
管理程序文件:一般放在/usr/sbin
配置文件: 一般放在/etc
日志文件:一般放在/var/log
参考文档:一般放在/usr/share/doc
帮助文件:一般放在/usr/share/man
2.软件包类型
RPM包:扩展名为.rpm,需要RPM包管理器安装
DEB:扩展名为.dep,需要DPKG管理器安装
源代码软件包:一般扩展名为.tar.gz或.tar.bz2,需要解压后安装,安装时需要GCC工具
提供安装程序的软件包:只需要运行安装脚本即可。
绿色免安装包:解压后即可使用
二、RPM包管理工具
1.查询
rpm [-q] [-qa] [-qi] [-ql] [-qf] [-qc] [-qd] [-qpi] [-qpl] [-qpc] [-qpd] 软件名/软件包名/文件名
-q 查询软件是否安装
-qa 查询系统中已安装的所有软件包
-qi 查询软件包安装信息
-ql 查询软件包安装的文件信息
-qf 查询文件属于哪个软件包安装的
-qc 查询软件包安装的配置文件信息
-qd 查询软件包安装的文档文件信息
-qpi 查询安装包准备要安装信息
-qpl 查询安装包准备要安装的文件信息
-qpc 查询安装包准备要安装的配置文件信息
-qpd 查询安装包准备要安装的文档文件信息
2.安装
rpm -i[vh] [--force] [--nodeps] [-U] [-F] 软件包名
-i安装 v显示安装信息 h用#号显示安装进度 --force强制安装,替换已安装过的软件包
--nodpes安装时不检查依赖关系 -U 若软件包没有安装,则安装,若已安装,则升级安装
-F 若软件包没有安装,则不安装,若已安装,则升级安装
3.卸载
rpm –e [--nodeps] 软件名
-e 卸载 --nodeps 忽略依赖关系
4.维护RPM数据库
重建RPM数据库: rpm --rebuilddb/--initdb
三、软件编译安装
1.获取程序源代码
2.解压 (一般使用tar命令)
3.编译前的配置 (./configure [options])
4.编译成安装文件 ( make )
5.安装 (make install)
第四章:管理用户和文件权限
一、管理用户和组账号
1.用户和组账号概述
用户账号:超级用户(root,权限最大)、程序用户(用于运行应用程序)、普通用户
组账号:是多个账号的集合,组不可以加入组
UID/GID:用户账号和组账号的数字标识
2.用户账号管理
(用户账号使用两个文件,/etc/passwd /etc/shadow)
(1)/etc/passwd文件格式 ? teacher:x:500:500:teacher:/home/teacher:/bin/bash
含义: 用户名:密码:UID:GID:全名或描述信息:主目录:使用的shell
(2)/etc/shdows文件格式 ?teacher:$1$7…….:14374:0:99999:7:::
含义:用户名:已加密密码:密码上次修改时间:密码最少使用天数:密码最长使用天数:密码过期警告天数:密码过期后账户禁用天数:账号无效日期:末规定
(3)添加用户
useradd [-u 用户UID] [-d 宿主目录] [-e 账号无效日期] [-g 主要组] [-G 附加组]
[-s 使用的shell] [-M] 用户名
注:-M意思是不创建主目录
(4)为用户设置密码
passwd [-dluS] 用户名
-d 清除用户密码,用户可以不用密码直接登录头 –l锁定 -u解锁 -S查看用户是否被销定
(5)修改用户
usermod [-u 用户UID] [-d 宿主目录] [-e 账号无效日期] [-g 主要组] [-G 附加组]
[-s 使用的shell] [-M] [-l 新名] [-L] [-U] 用户名
-M不创建主目录 -L锁定 -U解锁
(6)删除用户
userdel [-r] 用户名
-r 同时删除宿主目录
(7)用户配置文件
/etc/skel/ 创建用户宿主目录时,以这个目录的文件为模板
/etc/bashrc 为所有用户设置环境
/etc/profile 为所有用户设置环境
~/.bashrc 只对当前用户有效,每次打开bash时执行一次
~/.bash_logout 只对当前用户有效,用户每次退出登录时执行一次
~/.bash_profile 只对当前用户有效,用户每次登录时执行一次
2.组账号管理
(组账号文件有两个:/etc/group,/etc/gshadow)
(1)添加组
groupadd [-g 组GID号] 组名
(2)添加、删除成员
gpasswd [-a 添加的成员名] [-d 删除的成员名] [-M 要添加的多个成员名]
(3)删除组
groupdel 组名
3.用户账号与组账号查询
groups /id 查询用户属于哪些组
finger/users/w/who 查询当前已登录用户的详细信息
二、管理文件/目录的权限和归属
1.文件权限查看
drwxr-xr-x 5 root root 12288 10-07 12:15 /etc
对应含义为:
类型.拥有者权限.拥有组权限.其他人权限 引用数 拥有者 拥有组 大小 创建日期 名称
权限:r(4)读取 w(2)修改 x(1)执行
2.修改权限
chmod [-R] [ugoa][+-=][rwxst] 文件或目录
-R 递归修改子目录 u拥有者 g拥有组 o其他人 a所有人
+增加权限 -去掉权限 =赋予权限
r读取 w写入 x执行 s执行者临时变为属主或属组 t只有属主可以删除

chmod [-R] Xnnn 文件或目录
X=1 设置t位,2,4,6设置S位
nnn 分别代表属主、属组、其他人权限的数字形式
3.修改文件/目录的归属
chown [-R] 属主 文件或目录
chown [-R] :属组 文件或目录
chown [-R] 属主:属组 文件或目录

第五章:管理磁盘和文件系统
一、管理磁盘分区
1.查看现有硬盘及分区
fdisk -l
2.给硬盘分区
fdisk /dev/硬盘名
m 查看帮助 n创建新分区 d删除分区 t改变分区类型(82 swap 83 ext3 8e lvm) w保存退出 q不保存退出
3.让系统重新探测分区信息
partprobe [/dev/硬盘名]
4.格式分区,创建文件系统
mkfs[.文件系统] 分区名 或 mkfs -t 文件系统 分区名
对于swap分区,使用如下命令操作
mkswap 分区名 swapon 分区名 swapoff 分区名
二、挂载/卸载文件系统
1.挂载文件系统
mount [-t 文件系统] [-o loop] 分区名/ISO镜像 挂载位置
挂载镜像时必须用-o loop
2.卸载文件系统
umount 挂载位置/设备文件名 \ 对于光驱还可以用 eject [-t]
3.分区自动挂载 修改/etc/fstab,文件格式如下
分区名或卷标 挂载位置 文件系统 挂载选项 (01)是否可以让dump自动备份 (012)是否可以让fsck自动检查
4.查看已挂载分区的使用情况
df -hT
三、设置磁盘配额
1.磁盘配额限制类型:用户限制与组限制、磁盘容量与文件数限制、硬限制与软限制
2.磁盘配额管理
(1)在挂载选项上添加usrquota(用户配额)、grpquota(组配额)
(2)检测磁盘配额并生成配额文件
quotacheck -augcv
-a扫描所有分区 -u检测用户 -g检测组 -c创建 -v显示详细信息
(3)编辑用户或组的磁盘配额
edquota [-u 用户名] [-g 组名]
FileSystem blocks soft hard inodes soft hard
分区名 已用空间 空间软限制 空间硬限制 已使用文件数 文件数软限制 文件数硬限制
(4)启动磁盘配额
quotaon -avug [分区挂载位置]
-a所有分区 -v显示详细信息 -u用户 -g组
(5)查看用户或组分区磁盘配额使用情况
quota [-u 用户名] [-g 组名]
四、逻辑卷管理
1.基本概念
PV(物理卷) VG(卷组) LV(逻辑卷)
思路:把一个或多个物理卷加入到一个卷组,卷组大小是所有加入该卷组的物理卷大小之和
在卷组上创建逻辑卷,创建时不受物理卷限制,卷组就好像是一个大的硬盘
2.PV物理卷管理
先用fdisk把分区类形改成8e,然后使用下面命令管理物理卷
pvscan ?查看并显示类形为8e的分区信息
pvcreate 分区名 ?创建物理卷
pvdisplay [物理卷名] ?显示物理卷详细信息
pvremove 分区名 ?移除物理卷
3.VG卷组管理
vgscan ?查看并显系统中已建立的卷组
vgcreate 卷组名 物理卷 ?创建一个新卷组
vgdisplay [卷组名] ?显示卷组详细信息
vgremove 卷组名 ?删除卷组
vgextend 卷组名 物理卷 ?扩展卷组
4.LV逻辑卷管理
lvscan ?查看并显示逻辑卷
lvcreate –L 逻辑卷大小 –n逻辑卷名 卷组名 ?创建新的逻辑卷
lvdisplay [逻辑卷名] ?显示逻辑卷详细信息
lvextend –L +大小 逻辑卷名 ?扩展逻辑卷空间大小
lvremove 逻辑卷名 ?删除逻辑卷
第六章:管理进程和计划任务
一、linux 引导流程
1.引导流程总览
(1)开机自检 (2)执行MBR (3)执行GRUB (4)加载内核/boo/vmlinuxz-版本
(5)执行init进程,init是系统中第一个进程,(PID)进程号永远为1
init进程执行/etc/inittab init进程执行/etc/rc.d/sysinit init进程执行/etc/rd.d/rc,/etc/rd.d/rc根据指定的级别,进入到/etc/rd.d/rc.n/中执行该目录所有文件
(6)执行/etc/rc.d/rc.local
2./etc/initab文件
文件格式: id字段:运行级别:动作类型:运行的程序或脚本
3.运行级别控制
(1)查看系统运行级别 runlevel
(2)改变系统运行级别 init 级别
(3)查看服务在各运行级别启动状态 chkconfig --list [服务名称]
(4)改变服务在各运行级别启动状态
chkconfig [--level 级别] 服务名称 on/off 或 ntsysv [--level 级别]
二、进程管理
1.查看进程
(1)ps [-auxelf]
a显示当前终端下所有进程 u显示用户名 x显示当前用户所有进程
-e显示系统内所有进程 -l显示进程详细信息 -f用完整格式显示进程信息
(2)top
动态显示占用资源较多的进程,M按内存,N按启动时间,P按CPU,q退出
(3)pgrep [-l] 进程名
只显示指定名称的进程,-l显示进程号
(4)pstree [-aup]
显示进程树,-a列出命令完整信息,-u显示进程是哪个用户运行的 -p显示进程号
2.控制进程
(1)启动进程直接放后台运行 完整命令 &
(2)暂停 Ctrl+z
(3)前台放后台 bg jobs号
(4)后台放前台 fg jobs号
(5)终止进程 Ctrl+c kill [-9] 进程号 killall [-9] 进程名
三、任务计划
1.at (一次性任务)
(1)定制 at 时间
(2)查看 atq
(3)删除 atrm 任务号
2.Crontab(周期性任务)
(1)编辑任务 crontab [-u 用户名] -e
(2)查看 crontab [-u 用户名] -l
(3)删除 crontab [-u 用户名] -r
(4)任务保存位置 /var/spool/cron/用户名
(5)任务格式
分 时 日 月 周 任务|指令
第七章:编写shell管理脚本(一)
一、bash常用功能
1.历史记录
(1)查看与清除 history [-c] -c清除
(2)使用历史记录 使用上下光标键 !n !string
(3)设置历史记录条数 export HISTSIZE=历史记录条数 或 把这个命令放入配置文件/etc/profile或者~/.bash_profile永久生效
2.命令别名
(1)查看 alias [别名]
(2)设置或修改 alias 别名=’命令’
(3)取消别名 unalias [-a] [别名] -a取消当前环境中所有别名
3.标准输入输出和重定向
(1)设备文件类型: 标准输入(STDIN),文件号是0,默认设备是键盘
标准输出(STDOUT),文件号是1,默认设备是显示器
标准错误输出(STDERR),文件号是2,默认设备是显示器
(2)输入输出重定向操作符
<输入重定向 > 输出重定向 >> 追加输出重定向
2>错误输出重定向 2>>错误输出追加重定向 &>把标准输出与错误输出到同一文件
4.管道操作
“|“ 把前一个命令的执行结果,传给后一个命令,做为后一个命令的输入
二、shell变量应用
1.用户自定义变量
(1)定义 [export] 变量名=值
(2)引用变量的值 $变量名
(3)为变量赋值常用方法 双引号,解释特殊字符;单引号,不解释特殊字符;read,从键盘读取;
反撇号,允许执行命令,把命令执行结果作为变量的值
(4)查看变量: set
(5)清除变量: unset 变量名
(6)运算符:expr + - \* / %
2.环境变量
$USER、$LOGNAME 代表当前用户登录名称
$UID 代表当前用户的UID号
$SHELL 代表当前用户所使用的shell
$PWD 代表当前工作目录
$PATH 代表命令的搜索路径
3.位置变量
$1~$9 分别代表用户输入的第1至9个参数
4.预定义变量
$0当前的进程名 $#参数个数 $?上一个命令是否成功 $$当前的进程号
三、编写并执行脚本
1.如何执行脚本
(1)可以直接执行带x权限的脚本,如果脚本文件不在PATH所指定的路径,执行时需给出绝对路径
(2)使用shell解释器执行,不需要有可执行权限 bash 脚本文件名 或 sh 脚本文件名
(3)使用“.”命令执行,不需要有可执行权限 . 脚本文件名
(4)使用“source”命令执行,不需要有可执行权限 source 脚本文件名

第八章:编写shell管理脚本(二)
一、使用if条件语句
1.条件测试([ 条件表达式 ] 或 test 条件表达式)
(1)测式文件状态
-d是否是目录 –e是否存在 -f是否为文件 -r是否可读 -w是否可写 -x是否可执行 -L是否是链接
(2)整数值比较
-eq等于 -ne不等于 -gt大于 -lt小于 -le小于等于 -ge大于等于
(3)字符串比较
=等于 !=不等于 !取反
(4)逻辑测试
&&/-a 并且 || /-o或者 ! 取反
2.if语句的结构
if   条件测试命令     |     if  条件测试命令               |  if  条件测试命令1
then                  |       then                         |   then
条件成立时的命令 |           条件成立时的执行命令     |     条件1成立时的执行命令
fi                    |        else                         |   elif  条件测式命令2
|           不成立时执行的命令       |     then
|     fi                              |     条件测式2成立时执行的命令
else
条件测式2不成立时执行的命令
fi
二、使用循环语句
for   变量名   in  取值列表  | while  条件测试命令   |  until  条件测试命令
do                          | do                   |  do
命令序列                |   命令序列          |    命令序列
done                        | done                 |  done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息