一、课程知识框架
Linux基础知识、系统管理
bash shell编程
Linux服务及安全:
openssl,web,file service(vsftpd,samba,nfs),dhcp,dns
mysql数据库
Linux集群:LB,HA
lvs,haproxy,nginx
heartbeat,corosync,keepalived
分布式应用:mogilefs,mongodb
缓存系统:memcached,varnish
虚拟化:xen,kvm
云:openstack
监控和自动化:zabbix,cobbler,puppet,ansbile
大数据:hadoop
RHCSA,RHCE,RHCA
二:用户界面
GUI:
Gnome:C
KDE:C++
XFace
CLI:
sh
bash
csh
zsh
ksh
tcsh
GUI接口:
CLI接口:
命令提示符,prompt,bash(shell)
#:root
$:普通用户
物理终端:控制台 /dev/console
虚拟终端(terminal):Ctral+Alt+F1-F6
由图形界面切换到文本界面的组合键为:Ctrl+Alt+Shift+F(n) ,其中F(n)为F1-F6 ; 由文本界面切换回图形界面的组合键为: Alt+F7 ; 在文本界面不同控制台界面之间切换: Alt+F(x) , 其中F(x)为F1-F6,为6个控制台;
伪终端:/dev/pts/N ssh或telnet远程连接打开的终端,图形界面下的终端
串行终端:/dev/ttySN
shell的工作环境的定制:
变量:变量名,变量值 命名的内存空间 其实就是内存的存储空间 通过名字指向内存的存储空间 变量赋值:VAR_NAME=value
PS1: 定义命令提示符信息
定义方法:
Login:
用户名:用户ID
认证机制:Authentication 密码认证,生物认证
授权:Authorization
审计:Audition(日志)
命令:
magic number:魔数 标识二进制文件执行格式
登录以后:
家目录:主目录: /root,/home/USERNAME
工作目录:当前目录:pwd命令可显示
三、帮助命令
命令有两类:
内置命令:shell程序自带的基本命令
外部命令:独立于shell程序之外的,有着可执行程序文件
查看其类别:type COMMAND
命令帮助获取方式:
内置命令:help
命令格式:
命令 选项 参数
选项:定义命令运行方式(有些选项也可代参数)
短选项:-character字母 多个选项可以组合:
长选项:--word单词 不能组合
参数:命令的作用对象
命令的使用帮助:
内置命令:help COMMAND
外部命令:
1、COMMAND --help 获取简要命令使用帮助
2、man COMMAND 命令手册:manual
通常是由程序作者提供,按照一定格式组织成文本文件,并压缩后存放在系统上的某位置:/usr/share/man man命令的执行 ,通常即为找到此文件打开并显示
命令手册有章节之分:1-9
1:用户命令 #普通用户
2、系统调用 system call
3、库调用 library call
4、设备文件
5、配置文件x
6、游戏
7、杂项
8、管理命令
9、
man N COMMAND 指定特定章节 #N为数字 whatis COMMAND 显示指定关键字存在帮助手册的章节相关信息及简要说明 #精确匹配 man -f KEYWORD 相当于whatis man -a command 打开符合命令的所有章节的手册 man -w command 显示手册所在的路径 man -aw command 结合-a参数显示所有章节的手册路径
当系统中没有安装man时,如何手动安装man呢?
yum install man man-pages -y makewhatis
没有安装man时,whatis命令是无法使用
whatis 资 料 库 包 含 了 所 有 系 统 指 令 的 简 单 描 述 , 而 whatis 指 令 会 在 此 资 料 库 中 搜 寻 符 合 keyword 的 指 令 , 并 把 结 果 显 示 于 standard output 。
whatis 资 料 库 是 使 用 makewhatis 这 个 指 令 所 建 立 的 。
man命令调用less命令查看文件内容
翻屏:
空间键:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
退出:q
行定位:
G:跳转至文件尾部
NG:跳转至文件第#行
关键字搜索:
/KEYWORD:搜索指定关键字,从文件首部向尾部搜索
?KEYWORD:搜索指定关键字,从文件尾部向首部搜索
n:与搜索方向相同
N:与搜索方向相反
手册段落:
NAME:命令的名称及简要说明
SYSNOPSIS:使用格式
DESCRIPTION:命令功能的详细描述
OPTIONS:所有选项的相关说明
EXAMPLES:使用示例
FILES:相关的配置文件
SEE ALSO: 相关参考
帮助格式中的字符串:
[]:可选内容
<>:必选内容
|:二选一
...:同类内容可以有多个
3、info命令 获取在线文档
仅在man手册无法提供足够的可用帮助信息时才使用
4、许多应用程序都自带帮助文档:/usr/share/doc
changelog:更新日志
INSTALL:安装说明
README:程序说明信息
5、主流发行版官方文档
6、google
7、各应用程序官方会提供在线文档
四、常用命令
练习:shutdown,poweroff,reboot,half,date,hwclock,cal,who,whoami,hash
shutdown [OPTION]... TIME [MESSAGE]
-r 重启
-h 关机
-t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒)
-k 仅送出警告讯息文字, 但不是真的要 shutdown
-c 将已经正在 shutdown 的动作取消.
TIME:
now
+m:m分钟后关机,+0表立即
hh:mm 下个hh:mm关机或重启
poweroff: shutdown -h now halt:shutdown -h now reboot:shutdown -r now
date:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
[root@localhost ~]#date 2015年 08月 18日 星期二 10:39:37 CST [root@localhost ~]#date 081810082014 2014年 08月 18日 星期一 10:08:00 CST [root@localhost ~]#date 2014年 08月 18日 星期一 10:08:04 CST [root@localhost ~]#date 081810082015.55 2015年 08月 18日 星期二 10:08:55 CST [root@localhost ~]#date 2015年 08月 18日 星期二 10:08:56 CST
FORMAT:
%F:YYYY-MM-DD
%D:MM/DD/YY
%y:2位的年
%Y:4位的年
%m:
%d:
%T:HH:MM:SS
%H,%k
%M
%S
%s: 时间戳 从Unix元年(1970年1月1号 00:00:00)至此刻所经过的秒数
[root@localhost ~]#date +%F-%H-%M-%S 2015-08-18-10-56-59 [root@localhost ~]#date +%Y%m%d%H%M%S 20150818105735
hwclock: 获取或设置硬件时钟
Linux系统上可使用2套时间
硬件时间
系统时间
hwclock -s,--hctosys hwclock -w,--systohc
cal:
cal [[[day] month] year]
who
w
whoami
hash:
记录或显示程序位置:
shell通过环境变量PATH来定义应用程序文件查找路劲:路径通常使用冒号且查找次序从左至右
系统在执行外部命令时,会先查看shell的命令hash缓存表,如果存在,就直接使用路径引用,否 则,需要遍历PATH环境变量所指向的目录来查找
哈希:
key value:以键为查找标准比对,找到对应的键后,其对应的值则为所需要的结果
hash -r:情况缓存 -d NAME:清除指定名称对应的缓存
[root@localhost ~]#help cd cd: cd [-L|-P] [dir] #“[],|”表示可选,也可不选 Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used. If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR. Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links The default is to follow symbolic links, as if `-L' were specified. Exit Status: Returns 0 if the directory is changed; non-zero otherwise. [root@localhost ~]#
cd 命令常见用法:
cd 回用户的主目录 不带参数
cd ~
cd ~USERNAME 切换至指定用户的家目录
cd - 可在当前所在目录与上次所在目录之间反复切换
pwd:显示当前工作目录
六、bash的特性
bash的特性之一:history
保存的最大条数:HISTSIZE=1000
持久保存的位置:HISTFILE=~/.bash_history
持久保存的历史命令的条目数量:HISTFILESIZE
用法:
history history N #显示最近的N个命令 history -c #清空命令历史中的命令 history -d OFFSET #删除指定位置的命令 OFFSET表示历史命令的编号 history -a /PATH/TO/SOMEFILE #保存当前命令历史缓冲区中的命令至指定文件中 !N #再次执行命令历史中的第N条命令 !! #再次执行上一条命令 !STRING #再次执行命令历史中最近一次 先输入命令再按ESC再按.或者!$ #调用上一次命令的最后一个参数
bash的特性之二:自动补全
命令补全:
根据内建命令或外部命令各自查找方式查找以用户指定的字符开头的命令:
如果用户指定的开头的字符串能唯一标识某命令,则TAB键可直接补全此命令,否则两次TAB键可显示 所有以指定字符串开头的命令
路径补全:
以用户指定的字符串为起始路径进行文件名查找,完成补全:
如果用户指定的开头的字符串能唯一标识某文件,则TAB键可直接补全此文件,否则两次TAB键可显示 所有以指定字符串开头的文件名
bit、byte、位、字节、汉字的关系
1 bit = 1 二进制数据
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 汉字 = 2 byte = 16 bit
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
1 byte = 8 bit
3. 一个英文字符占一个字节;
1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;
1 汉字 = 2 byte = 16 bit
5. 标点符号
A>. 汉字输入状态下,默认为全角输入方式;
B>. 英文输入状态下,默认为半角输入方式;
C>. 全角输入方式下,标点符号占2字节;
D>. 半角输入方式下,标点符号占1字节;
故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);
英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);
老美在发明电脑时,肯定以自己的英文字母--即他们自认为的字符为最小的存储计量单位,于是也就有了不规范的1字符=1byte, 岂不知还有我们伟大的汉字计量单 位,NND,一个汉字也是一个字符,我们的1汉字字符就等于2byte,后来,他们可能意识到这个尴尬的问题,于是又标榜为:一个字母为一个标准字符,去球吧,谁整天没事说个字符还“标准字符”,所以啊,个人认为:字符,不能用于标准的计量单位。