1、LINUX操作系统安装及初始化配置(熟悉); 2、LINUX操作系统目录组成结构及文件级增删改查操作(重点); 3、LINUX操作系统用户、权限管理(重点); 4、开源软件及LINUX下软件包的管理(重点); 5、LINUX操作系统磁盘管理(了解); 6、LINUX操作系统网络基础(重点); 7、LINUX操作系统状态监控命令(了解); 8、LINUX操作系统进程管理(重点); 9、网络服务基础(了解);
计算机操作系统简介 操作系统是什么 操作系统的内核是什么 两种操作系统用户界面 安装Linux操作系统的准备工作 LINUX发行版(CENTOS、RHEL、FEDORA、UBUNTU、SUSE) RHEL与CENTOS的关系 为什么选择Red Hat Enterprise Linux 安装Linux操作系统 图形安装 最小化安装 课后作业 【本节内容】 1. 计算机操作系统简介 1) 掌握操作系统的定义:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。、 2) 掌握操作系统的内核的定义:操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源,其中包括。文件系统、内存管理、设备管理和进程管理。 3) 了解两种操作系统用户界面 :图形界面、命令行界面。 2. 了解LINUX主要发行版:CENTOS、RHEL、FEDORA、UBUNTU、SUSE 3. 安装Linux操作系统的准备工作 1) 了解为什么选择Red Hat Enterprise Linux: 因为它是所有Linux/UNIX系统中最容易安装,同时也是应用最广的一种Linux操作系统。而Linux操作系统多数是用作服务器的,由于使用Linux的成本十分低廉,因此目前许多Internet服务器都是使用Linux操作系统。 4. 安装Linux操作系统(详见鸟哥私房菜P102)。 1) 掌握安装Linux操作系统时对内存的最低要求为:512M 2) 掌握安装过程中的各选项的含义: a) install or upgrade an existing system:安装或升级现有的系统 b) install system witn basic video driver:安装系统和基本的视频驱动程序 c) rescue installed system:救援安装系统 d) boot from local drive:从本地硬盘启动 3) 了解安装过程语言的选择为简体中文的选项为: Chinese(Simplified) 4) 掌握默认的主机名为:localhost.localdomian 5) 掌握安装过程中密码的设置:无需复杂性要求。 6) 掌握选择skip按钮会跳过对安装介质的检测。 7) 掌握最小化安装相关事项: a) 掌握最小化安装时无法开启图形桌面。 b) 掌握文本界面下用户登陆输入的密码不显示。 c) 掌握最小化安装系统时默认缺失的程序为:x-window (关于X-window的解释详见鸟哥私房菜第二十四章) 8) 掌握默认的管理员为root 5. 课后作业 1) 图形安装Linux操作系统(1小时) 2) 最小化安装Linux操作系统(35分钟)
UNIX是什么 UNIX操作系统的特点 UNIX 与Linux的关系 GNU项目与自由软件 GUN计划 自由软件意味着什么 Linux简介 Linux是什么 Linux操作系统的主要用途及企业 常见的两种桌面环境 登录和退出Linux init 0命令 什么是Linux终端 虚拟终端的切换 系统提示符“$”和“#” exit命令 课后作业 【本节内容】 1. UNIX是什么 1) 掌握UNIX的定义: UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。 2) 了解UNIX操作系统的特点:多用户和多任务 a) 多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰; b) 多任务表示任何一个用户在同一时间可以在UNIX操作系统上运行多个程序。 2. 了解UNIX的简要发展史 (详见鸟哥私房菜P40-P52或linux系统管理P13) 3. GNU项目与自由软件 1) 了解GUN计划,是由Richard Stallman在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。 2) 了解GPL条款 GPL条款是为保证GNU软件可以自由地使用、复制、修改和发布,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授予所有权利给任何人的协议条款。 3) 了解自由软件意味着: a) 你有自由以任何目的来运行该程序。 b) 你有修改程序满足自己需求的自由。 c) 你有权利重新发布副件,既可以白送也可以收取一定费用。 d) 你有权利发布该程序修改过的版本,从而让其他人得益于你的改进。 4. Linux简介 1) 掌握Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 2) 掌握Linux操作系统的主要用途:主要用于服务器,特别是网络服务器。 3) 掌握两种常见的桌面环境:KDE和GNOME。 5. 登录和退出Linux(操作演示图解见linux系统管理P17-P22) 1) 掌握关闭Linux系统的命令:init 0 2) 掌握什么是Linux终端:Linux终端也称为虚拟控制台。Linux终端采用字符命令行方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制。 3) 掌握切换虚拟终端的方法:Ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2 4) 掌握普通用户登录后系统的提示符:$ 5) 掌握root用户登录后系统的提示符:# 6) 掌握退出命令:exit 6. 课后作业 (用时25分钟) 1) 开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 2) 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 3) 使用命令退出虚拟终端2上登录的用户 4) 使用快捷键切换到虚拟终端5,使用管理员身份登录,查看系统提示符 5) 使用命令退出虚拟终端5上登录的用户 6) 切回图形界面,右单击桌面打开终端,输入关闭系统的命令
Linux命令的格式 命令的语法格式 命令格式中命令、选项、参数的具体含义 whoami命令 whoami命令的功能 who命令 who命令的功能 who命令的输出结果 date、cal、和clear命令及带有参数的命令 date命令的功能 cal命令的功能 cal命令用法举例 clear命令的功能 清屏快捷键 su和passwd命令 su命令的功能 su命令用法举例 passwd命令功能 passwd用法举例 利用man命令来获取帮助信息 man命令功能 man命令用法举例 使用“命令名 --help”获取帮助 课后作业 【本节内容】 1. Linux命令的格式(详见linux系统管理P23) 1) 了解Linux命令的语法格式: 命令 【选项】 【参数】 2) 掌握命令格式中命令、选项、参数的具体含义 a) 命令:告诉Linux(UNIX)操作系统做(执行)什么。 b) 选项:说明命令运行的方式(可以改变命令的功能)。选项部分是以“-”字符开始的。 c) 参数:说明命令影响(操作)的是什么(如一个文件、一个目录或是一段正文文字) Ls –a / 2. whoami命令(详见linux系统管理P24) 1) 了解whoami命令的功能:列出目前登陆Linux系统所使用的用户名(账号)。 3. who命令(详见linux系统管理P25) 1) 掌握who命令的功能:列出目前哪些用户在系统上工作。 2) 掌握who命令的输出结果:显示当前登录的所有用户,以及当前的日期和时间。 4. date、cal、和clear命令及带有参数的命令 (详见linux系统管理P28-P29) 1) 掌握date命令的功能:显示系统当前的日期和时间。 2) 掌握date命令设置时间时间的格式:date 月日时分年。 例如:将时间设定成2013年12月24日上午10点18的命令: 扩展(date 12241018201 hwclock –s 同步硬件 –w 同步系统) 3) 掌握cal命令的功能:显示某月的日历。 4) 灵活应用cal命令列出某一年某月的日历:例如显示2008年8月份日历的命令为:cal 8 2008 5) 掌握clear命令的功能:清除屏幕 6) 掌握清屏快捷键:ctrl+l 5. su和passwd命令(详见linux系统管理P29-P31) 1) 掌握su命令的功能:从当前的用户切换到另一个指定的其他用户。 2) 灵活应用su命令切换用户: 例如:切到root用户的命令:su – root 3) 掌握passwd命令功能:修改用户(既可以是普通用户,也可以是root用户)的密码,查看用户的密码状态等。Useradd 4) 掌握使用passwd命令修改用户密码: 例如:修改dog用户密码的命令:passwd dog 6. 利用man命令来获取帮助信息(详见linux系统管理P34) 1) 掌握man命令的功能:获取某个Linux命令的使用说明。 2) 掌握使用man命令查看某命令的使用说明: 例如:查看su命令的使用说明的命令为:man su 7. 使用“命令名 --help”获取帮助 1) 例如:查看ls命令帮助的命令为:(不使用man方法) ls –-help 8. 课后作业(用时30分钟) 1) 要求以root用户登录系统,右击桌面打开终端,查看当前登陆Linux系统所使用的用户名 2) 查看哪些用户在系统上工作 3) 修改当前时间为2018年8月26号11:28 4) 查看2015年10月份日历 5) 使用两种方法查看ls命令的使用说明 6) 清除屏幕 7) 使用“useradd tom”命令新建tom用户,为tom用户设置密码“123” 8) 切换当前用户为tom 9) 查看当前登陆Linux系统所使用的用户名
Linux文件系统的层次结构 Linux文件系统的树状结构 目录是什么 顶层根目录的表示 文件系统中的两个特殊目录 Linux系统中的一些重要的目录 bin目录 sbin目录 家目录 dev目录 etc目录 挂载目录/media或/mnt 其他常用目录 绝对和相对路径 绝对路径 相对路径 课后作业
【本节内容】 1. Linux文件系统的层次结构(详见linux系统管理P40) 1) 了解Linux文件系统的树状结构: 在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构。 2) 掌握目录的定义:目录相当于Windows中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录。 3) 掌握顶层根目录的表示: 使用“/”来表示根目录 4) 了解文件系统中的两个特殊目录: . 表示当前目录,即用户所在的工作目录 .. 表示父目录,即当前目录的上一层目录 2. Linux系统中的一些重要的目录(详见linux系统管理P41) 1) 掌握Linux中的一些重要目录 a) bin目录:用来存放常用的可执行文件 b) sbin目录:用来存放系统的可执行文件 c) 家目录:用来存放用户自己的文件或目录,其中,超级用户root的家目录是/root,而普通用户的家目录被存放在/home目录下,并使用用户名作为最后一级目录(家目录)的名称,如cat用户的家目录为/home/cat d) dev目录:设备文件目录 e) etc目录:配置文件目录 f) 挂载点(目录):通常可移除式硬件会被挂载在/media或/mnt目录之下 3. 绝对和相对路径(详见linux系统管理P43) 1) 掌握绝对路径的定义:必须以一个正斜线(/)开始。绝对路径包括从文件系统的根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名字,它是文件位置的完整路标,因此在任何情况下都可以使用绝对路径找到所需的文件。 2) 掌握相对路径的定义:不是以正斜线(/)开始,相对路径可以包含从当前目到要查找的对象(目录或文件)所必须遍历的每一个目录的名字。 4. 课后作业(用时25分钟) 1) 开启Linux操作系统,要求以root用户登录GNOME图形界面 2) 右击桌面打开终端,使用“useradd lucy”命令创建lucy用户 3) 使用鼠标点击的方法进入根目录 4) 点击进入root用户的家目录 5) 点击进入lucy用户的家目录 6) 点击进入用来存放常用的可执行文件的目录 7) 点击进入用来存放系统的可执行文件的目录 8) 点击进入设备文件目录 9) 点击进入配置文件目录
使用pwd和cd命令来确定和切换目录 pwd命令的功能 cd命令的功能 cd .. cd ~ cd – cd 使用ls命令列出目录中的内容 ls命令的功能 ls –a ls –all ls –l 使用cp命令复制文件和目录 cp命令的功能 –i选项 –r选项 –p选项 –f选项 使用mv命令移动及修改文件和目录名 mv命令的功能 mv命令的用法举例 使用mkdir命令创建目录 mkdir命令的功能 mkdir命令的用法举例 使用touch命令创建文件 touch命令的功能 touch命令的用法举例 使用rm命令删除文件 rm命令的功能 –i选项 –r选项 –f选项 rm命令的用法举例 使用rmdir或rm –r命令删除目录 rmdir命令的功能 rmdir命令的用法举例 rm –r命令的功能 rm –r命令的用法举例 使用cat命令浏览正文文件的内容 cat命令的功能 cat命令的用法举例 使用head命令浏览文件中的内容 head命令的功能 –n选项 head命令的用法举例 使用tail命令浏览文件中的内容 tail命令的功能 –n选项 tail命令的用法举例 使用more命令浏览文件 more命令的功能 more命令的用法举例 课后作业
【本节内容】 1. 使用pwd和cd命令来确定和切换目录(详见linux系统管理P43-P46) 1) 掌握pwd命令的功能:确定现在所在的工作目录 2) 掌握cd命令的功能:切换当前目录 3) 掌握“cd ..”命令:进入上一级目录 4) 掌握“cd ~”命令:切换到用户的家目录 5) 掌握“cd”命令:同cd ~,也可切换到用户的家目录 6) 掌握“cd –”命令:切换到用户之前的工作目录 7) 掌握“cd 目录名”命令:切换到指定的目录。 a) 例如:切换到/home/dog目录的命令为:cd /home/dog 2. 使用ls命令列出目录中的内容(详见linux系统管理P47-P50) 1) 掌握ls命令的功能:列出当前目录(默认为当前目录)或指定目录中的内容 2) 掌握ls -a命令:列出目录下的所有文件,包括以“.”开头的隐含文件 a) 例如:列出/home/dog目录中的所有文件,包括隐藏文件的命令:ls -a /home/dog 3) 了解ls –all命令:同ls –a 4) 掌握ls –l命令:列出某个目录中每一个文件的详细资料 例如:列出/home/dog目录中所有非隐藏文件的细节的命令: a) ls –l /home/dog 3. 使用cp命令复制文件和目录(详见linux系统管理P50) 1) 掌握cp命令的功能:将文件(可以是多个)复制成一个指定的目的文件或复制到一个指定的目标目录中。 2) 掌握cp命令的常用选项: Cp 源文件 目标文件 a) –r(recursive,递归的):递归地复制目录。当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容。 i) 例如:将/home/dog目录中的内容全部复制目录/home/cat中的命令为: cp –r /home/dog /home/cat b) -f(force,强制):在目标文件已经存在的时候不询问直接强制复制 4. 使用mv命令移动及修改文件和目录名(详见linux系统管理P54) 1) 掌握mv命令的功能:既可以在不同的目录之间移动文件和目录,也可以重新命名文件和目录。 2) 掌握mv命令的用法举例: a) 移动文件和目录的例子: 将当前目录中的lists文件移动到其子目录babydog中的命令: mv lists babydog b) 重命名文件和目录的例子: 将bigdog目录名改为babydog的命令: mv bigdog babydog 5. 使用mkdir命令创建目录(详见linux系统管理P55) 1) 掌握mkdir命令的功能:创建一个新目录 2) 掌握mkdir命令的用法举例: 创建目录daddog的命令:mkdir dadgog 6. 使用touch命令创建文件(详见linux系统管理P56) 1) 掌握touch命令的功能:可以创建一个空文件,也可以同时创建多个文件。 2) 掌握touch命令的用法举例: 在当前目录中创建一个名为babydog1的文件的命令: touch babydog1 7. 使用rm命令删除文件(详见linux系统管理P57) 1) 掌握rm命令的功能:永久地在文件系统中删除文件或目录。 2) 掌握rm命令的常用选项: a) –r(recursive,递归的):递归地删除目录。当删除一个目录时,删除该目录中所有的内容,其中包括子目录中的全部内容。 b) –f(force,强制):系统并不询问而是强制删除,即直接删除原有的文件。 3) 掌握rm命令的用法举例: 删除当前目录中的babydog1文件的命令:rm babydog1 8. 使用rmdir或rm –r命令删除目录(详见linux系统管理P59) 1) 掌握rmdir命令的功能:删除空目录。 2) 掌握rmdir命令的用法举例: 删除空目录 mumdog/girldog/babydog的命令: rmdir mumdog/girldog/babydog 3) 掌握rm –r命令的功能:删除包含文件和子目录的目录。 4) 掌握rm –r命令的用法举例: 删除非空目录mumdog的命令: rm –r mumdog 9. 使用cat命令浏览正文文件的内容(详见linux系统管理P73) 5) 掌握cat命令的功能:将一个或多个文件的内容显示在屏幕上,该命令会不停的以只读的方式显示整个文件的内容。 6) 掌握cat命令的用法举例: a) 浏览game.txt文件中的全部内容的命令: cat game.txt 10. 使用head命令浏览文件中的内容(详见linux系统管理P75) 1) 掌握head命令的功能:默认将显示一个文件的前10行。 2) 掌握head命令的常用选项: -n 改变显示的行数 3) 掌握head命令的用法举例: a) 查看/etc/passwd文件中前10行的详细信息的命令: head /etc/passwd b) 查看/etc/passwd文件中前5行的详细信息的命令: head –n 5 /etc/passwd 11. 使用tail命令浏览文件中的内容(详见linux系统管理P76) 1) 掌握tail命令的功能:默认显示文件最后10行的内容。 2) 掌握tail命令的常用选项: -n 显示从文件末尾算起的n行 3) 掌握tail命令的用法举例: a) 查看/etc/passwd文件中最后10行的详细信息的命令: tail /etc/passwd b) 查看/etc/passwd文件中最后5行的详细信息的命令: tail –n 5 /etc/passwd 12. 使用more命令浏览文件(详见linux系统管理P78) 1) 掌握more命令的功能:使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。 2) 灵活应用more命令 a) 分页浏览learning.txt文件内容的命令: more learning.txt 13. 课后作业(用时60分钟) 1) 开启Linux操作系统,要求以root用户登录GNOME图形界面,右击桌面打开终端 2) 使用命令切换到root用户的家目录 3) 确定当前用户所在的工作目录 4) 创建目录wg 5) 使用绝对路径的方法在wg目录下新建文件a.txt 6) 进入wg目录 7) 使用相对路径的方法在当前目录下新建wg01目录和b.txt文件 8) 以长列表格式列出当前目录下的内容 9) 删除空目录wg01 10) 进入上一级工作目录 11) 强制删除非空目录wg 12) 复制/etc/passwd到当前目录,名为file1 13) 不停的以只读的方式查看file1文件的内容 14) 查看file1文件的前3行内容 15) 查看file1文件的后2行内容 16) 以百分比的方式分页查看file1文件的内容 17) 以上下翻页的方法分页查看file1文件的内容
用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 群组及group文件 /etc/group文件的功能 /etc/group文件的功能 怎样在Linux系统中添加一个新的用户账户 useradd命令的功能 useradd命令的常用选项 useradd命令的用法举例 使用usermod命令修改用户账户 usermod命令的功能 usermod命令修改用户账户信息时的常用选项 usermod命令的用法举例 使用usermod命令锁住用户及将用户解锁 usermod –L命令 usermod –U命令 使用userdel命令删除用户账号 userdel命令的功能 userdel的常用选项 userdel的用法举例 群组的管理 groupadd命令的功能 groupadd命令的常用选项 groupadd命令的用法举例 groupmod命令的功能 groupmod命令的常用选项 groupmod命令的用法举例 groupdel命令的功能 groupdel命令的用法举例 课后作业
【本节内容】
详见:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1. 用户及passwd文件 1) 掌握/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。 2) /etc/passwd文件每个字段的具体含义: a) 第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。 b) 第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码。 c) 第3个字段(列)记录的是这个用户的uid。 d) 第4个字段(列)记录的是这个用户所属群组的gid。 e) 第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。 f) 第6个字段(列)记录的是这个用户的家目录的路径。 g) 第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。 2. shadow文件(详见linux系统管理P133) 1) /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。 2) /etc/shadow文件每个字段的具体含义: a) 第1个字段(列)是用户名。 b) 第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。 3. 群组及group文件(详见linux系统管理P135) 1) /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。 2) /etc/group文件每个字段的具体含义: a) 第1个字段是这个群组的名字。 b) 第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。 c) 第3个字段记录的是这个群组的gid。 d) 第4个字段记录的是这个群组里还有哪些群组成员。 4. 怎样在Linux系统中添加一个新的用户账户(详见linux系统管理P449) 1) 掌握useradd命令的功能:新增一个用户。 2) 了解useradd命令的常用选项: a) –u:指定用户的UID b) –g:指定用户所属的群组 c) –d:指定用户的家目录 d) –c:指定用户的备注信息 e) –s:指定用户所用的shell 3) 灵活应用useradd命令的举例: a) 例如:在系统中新增一个fox(狐狸)用户的命令:useradd fox b) 例如:在系统中新增一个用户user01,属组为police以及uid为600的命令: useradd –u 600 –g police user01 5. 使用usermod命令修改用户账户(详见linux系统管理P458) 1) 掌握usermod命令的功能:修改用户的账户信息。 2) 了解usermod命令的常用选项: a) –u:修改用户的UID b) –g:修改用户的GID c) –G:将一个用户加入到指定的群组中 d) –d:修改用户的家目录 e) –c:修改用户的备注信息 f) –s:修改用户所用的shell 3) 灵活应用usermod命令的举例: a) 修改babydog4用户的家目录为/home/babies的命令: usermod –d /home/babies babydog4 b) 将babydog4这个用户添加到babydog6这个群组中的命令: usermod –G babydog6 babydog4 c) 将babydog4这个用户的的gid变更为dog群组的命令: usermod –g dog babydog4 6. 使用usermod命令锁住用户及将用户解锁(详见linux系统管理P461) 1) 了解usermod –L命户令的功能:将用户的账号锁住 2) 了解usermod –L命户令的用法举例: 例如:将babydog6用户的账号锁住的命令:usermod –L babydog6 3) 了解usermod –U命户令的功能:将用户的账号解锁 4) 了解usermod –U命户令的用法举例: 例如:将babydog6用户的账号解锁的命令:usermod –U babydog6 7. 使用userdel命令删除用户账号(详见linux系统管理P462) 1) 掌握userdel命令的功能:删除用户。 2) 了解userdel命令的常用选项: a) –r:在删除用户的同时删除这个用户的家目录及其邮箱。 3) 灵活应用userdel命令删除用户的举例: a) 例如:删除babydog5用户不删除其家目录的命令: userdel babydog5 b) 例如:删除babydog5用户,同时删除其家目录的命令: userdel –r babydog5 8. 群组的管理 1) 掌握groupadd命令的功能:创建一个新的群组账号。 2) 了解groupadd命令的常用选项: c) –g:指定群组的GID 3) 灵活应用groupadd命令的举例: 例如:在系统中新增加一个名为boydogs的群组的命令: groupadd boydogs 4) 掌握groupmod命令的功能:修改一个群组账号的信息。 5) 了解groupmod命令的常用选项: a) –g:修改群组的GID b) –n:修改群组的名称 6) 灵活应用groupmod命令的举例: a) 例如:修改police群组的gid为521的命令: groupmod –g 521 police b) 例如:将群组boydogs改名为daddogs的命令: groupmod –n daddogs boydogs 7) 掌握groupdel命令的功能:删除一个群组账号。 8) 灵活应用groupdel命令的举例: 例如:删除daddogs群组的命令:groupdel daddogs 9. 课后作业(用时50分钟) 1) 新建用户natasha,uid为1000,gid为555,备注信息为“master” 2) 修改natasha用户的家目录为/Natasha 3) 查看用户信息配置文件的最后一行 4) 为natasha用户设置密码“123” 5) 查看用户密码配置文件的最后一行 6) 将natasha用户账户锁定 7) 将natasha用户账户解锁 8) 新建组police,gid为999 9) 查看组配置文件的最后一行 10) 将natasha用户加入police组 11) 修改police组的组名为jingcha 12) 删除natasha用户,连家目录和邮箱一起删除 13) 删除jingcha组
怎样查看文件的权限 ls命令详解 root用户及文件的安全控制 什么是root用户 用户分类 文件操作权限 文件操作权限的字符表示 chown chgrp 使用符号表示法设定文件或目录上的权限 chmod命令的功能 chmod命令的-R选项 什么是符号表示法 权限状态的3个部分 符号表示法举例 使用数字表示法设定文件或目录上的权限 什么是数字表示法 数字代表的资源权限状态 数字表示法举例 课后作业 【本节内容】 1. 怎样查看文件的权限(详见linux系统管理P138) 1) 掌握使用ls –l命令查看文件上所设定的权限。 2) 掌握ls –l命令的显示结果中的第一列分成4组,其中; a) 第1个字符为第1组,代表这是一个文件(-)或是一个目录(d),也可以是其他资源。 b) 第2、3、4个字符为第2组,定义了文件或目录的所有者(owner)所具有限的权,使用u代表所有者(owner)对文件的所有权限。 c) 第5、6、7个字符为第3组,定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。 d) 第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用户对文件或目录所具有的权限。使用o代表这一组(other)权限。 3) 掌握ls –l命令的显示结果中的第三列、第四列为文件的属主和属组。 2. root用户及文件的安全控制(详见linux系统管理P136) 1) 掌握root用户的定义:root用户也称为超级用户,它可以完全不受限制地访问任何用户的账户和所有文件及目录。 2) 了解Linux系统中用户分类: Linux系统是将系统中的所有用户分成了3类: a) 第1类:所有者 b) 第2类:同组用户(修正:所属组,因为你创建一个用户的过程会以为这个用户名为名字创建一个同名的组) c) 第3类:非同组的其他用户 3) 掌握文件操作权限包括读(read)、写(write)和执行(execute) 4) 掌握Linux操作系统在显示权限时,使用如下4个字符来表示文件操作权限: a) r:表示read权限,也就是可以阅读文件或者ls命令列出目录内容的权限。 b) w:表示write权限,也就是可以编辑文件或者在一个目录中创建和删除文件的权限。 c) x:表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容的权限等。 d) -:表示没有相应的权限(与所在位置的r、w或x相对应)。 3. 掌握使用chown修改文件的属主 chown 属主:属组 文件 chown :属组 文件 chown 属主 文件 a) 例如,修改文件file1的属主为root的命令为:chown root file1 4. 掌握使用chgrp修改文件的属组 chgrp 属组 文件 a) 例如,修改文件file1的属组为wg的命令为:chgrp wg file1 5. 使用符号法设定文件或目录上的权限(详见linux系统管理P132) 1) 掌握chmod命令的功能:设定或更改文件或目录上的权限。 2) 掌握-R选项:不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。 3) 掌握是符号表示法的定义: 符号表示法是使用几个特定的符号来设定权限的状态。 4) 掌握权限状态可以分为3个部分: a) 第1个部分,表示要设定或更改谁的权限状态。其中的具体表示如下: u:表示所有者(owner)的权限。 g:表示群组(group)的权限。 o:表示既不是owner也不与owner在同一个group的其他用户(other)的权限。 a:表示以上3组,也就是所有用户(all)的权限。 b) 第2部分,是运算符(operator),也有人称为操作符,其中的具体表示如下: +:表示加入权限 -:表示去掉权限 =:表示设定权限 c) 第3部分,表示权限(permission),其中的具体表示如下: r:表示read(读)权限。 w:表示write(写)权限。 X:表示execut(执行)权限。 5) 灵活应用符号表示法设定或更改文件或目录上的权限: a) 例如:在dog_wolf文件上添加所有者和同组用户的可执行权限的命令: chmod ug+x dog_wolf b) 例如:在babydog目录上为其他用户添加写权限的命令: chmod o+w babydog 6. 使用数字表示法设定文件或目录上的权限(详见linux系统管理P143) 1) 掌握数字表示法的定义: 数字表示法是指使用一组三位数的数字来表示文件或目录上的权限状态。其中: 第1个数字代表所有者(owner)的权限(u)。 第2个数字代表群组(group)的权限(g)。 第3个数字代表其他用户(other)的权限(o)。 2) 数字代表的资源权限状态: 4:表示具有读(read)权限。 2:表示具有写(write)权限。 1:表示具有执行(execute)权限。 0:表示没有相应的权限。 3) 灵活应用数字法表示法设定或更改文件或目录上的权限: a) 例如:使用数字表示法对owner开放/home/dog/babydog目录和其中所有文件的一切权限,但是对同组用户开放读和执行权限,而对其他用户只开放读权限的命令: chmod -R 754 /home/dog/babydog 7. 课后作业(用时60分钟) 1) 在用户的主目录下创建目录test,进入test创建空文件file1 2) 以长格式形式显示文件信息,注意文件的权限和所属用户和组 3) 为文件file1设置权限,使其他用户可以对此文件进行写操作。 4) 查看设置结果, 5) 取消同组用户对文件file1的读取权限,并查看设置结果。 6) 用数字表示法为文件file设置权限,所有者可读、可写、可执行,所属组用户和其他用户只具有读和执行的权限。设置完成后查看设置结果。 7) 用数字形式更改文件file1的权限,使所有者只能读取此文件。其他任何用户都没有权限。查看设置结果。 8) 回到上层目录,查看test的权限 9) 为其他用户添加对此目录的写权限
使用cat命令进行文件的纵向合并 两种文件的纵向合并方法 归档文件和归档技术 归档的目的 什么是归档 tar命令的功能 tar命令的常用选项 使用tar命令创建、查看及抽取归档文件 使用tar命令创建归档文件 使用tar命令查看归档文件 使用tar命令抽取归档文件 文件的压缩和解压缩 什么是压缩 压缩的目的 什么是解压缩 gzip命令和gunzip命令 bzip2命令和bunzip2命令 在使用tar命令的同时进行压缩和解压缩 在使用tar命令的同时进行压缩和解压缩的用法举例 课后作业 【本节内容】 1. 使用cat命令进行文件的纵向合并 1) 掌握使用cat命令实现文件的纵向合并: a) 例如:使用cat命令将baby.age、baby.kg和baby.sex这三个文件纵向合并为baby文件的方法: cat baby.age baby.kg baby.sex >baby b) 例如:使用cat命令将baby.age文件的内容添加到baby2文件中的方法: cat baby.age >>baby2 2. 归档文件和归档技术(详见linux系统管理P209) 1) 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。 2) 了解归档的目的:归档的目的就是方便备份、还原及文件的传输操作。 3) 掌握tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。 4) 掌握tar命令的常用选项: c:创建一个新的tar文件。 t:列出tar文件中目录的内容。 x:从tar文件中抽取文件。 f:指定归档文件或磁带(也可能是软盘)设备(一般都要选)。 v:显示所打包的文件的详细信息,v是verbose的第1个字母。 z:使用gzip压缩算法来压缩打包后的文件。 j:使用bzip2压缩算法来压缩打包后的文件。 3. 使用tar命令创建、查看及抽取归档文件(详见linux系统管理P210) 1) 掌握使用tar命令创建归档文件的用法举例: 例如:使用tar命令将arch目录打包成一个名为arch.tar的归档文件的方法(要求显示所有打包的文件和目录): tar cvf arch.tar arch 掌握使用tar命令查看归档文件的用法举例: 例如:使用tar命令显示arch.tar这个归档文件(包)中的所有文件的方法: tar tf arch.tar 2) 掌握使用tar命令抽取归档文件的用法举例: 例如:使用tar命令恢复arch.tar中的全部内容的方法: tar xvf arch.tar -C 路径
4. 文件的压缩和解压缩(详见linux系统管理P212) 1) 掌握压缩的定义:压缩就是将一个大的文件通过一些压缩算法变成一个小文件。 2) 了解压缩的目的:主要是缩小文件的大小,这样会节省存储文件的磁盘或磁带的空间,另外在网络上传输这些小文件也会减少网络的浏览(也就是节省网络的带宽)。 3) 掌握解压缩的定义:解压缩就是将一个通过一些压缩算法的文件恢复到压缩之前的样子。 4) 掌握gzip命令和gunzip命令的用法举例: a) 例如:将文件file1压缩成.gz格式的压缩包应该使用的命令为:gzip file1 –c > /路径/name.gz b) 例如:将压缩文件file1.gz解压缩的命令为: gunzip file1.gz > 5) 掌握bzip2命令和bunzip2命令的用法举例: a) 例如:将文件file1压缩成.bz2格式的压缩包应该使用的命令为:bzip2 file1 > b) 例如:将压缩文件file1.bz2解压缩的命令为: bunzip2 file1.bz2 > 5. 在使用tar命令的同时进行压缩和解压缩(详见linux系统管理P214) 1) 掌握在使用tar命令的同时进行压缩和解压缩的用法举例 a) 例如:使用tar命令将arch目录打包而且同时使用gzip的技术压缩打包后文件的方法(打包后的文件名为arch.tar.gz): tar cvfz arch.tar.gz arch b) 例如:使用tar命令将arch目录打包而且同时使用bzip2的技术压缩打包后文件的方法(打包后的文件名为arch.tar.bz2):tar cvfj arch.tar.bz2 arch 6. 课后作业(用时65分钟) 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) 2) 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) 3) 将/1.txt、/2.txt两个文件打包为/1.tar 4) 使用gzip命令压缩1.txt文件名为1.txt.gz 5) 解压缩1.txt.gz 6) 使用bzip2压缩1.txt压缩后文件名为1.txt.bz2 7) 解压缩1.txt.bz2 8) 解包1.tar,解包后文件存放到/tmp目录下 9) 使用tar命令打包并且压缩/1.txt、/2.txt,得到的文件名为1.tar.gz 10) 解包1.tar.gz,解包后文件存放到/tmp目录下
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删除与复制的操作 删除与复制命令 粘贴命令 复原和重做命令 扩展模式与文件的存储和退出 扩展模式下常用的命令 快速移动光标在文件中的位置 快速移动光标在屏幕中的位置 课后作业
【本节内容】 1. vi编辑器简介(详见linux系统管理P252) 1) 掌握vi的定义:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类型的正文编辑器,它可以用来创建和修改正文文件。 2. vi编辑器的操作模式(详见linux系统管理P255) 1) 掌握vi编辑器的3中基本模式: a) 命令行模式:vi的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等。 b) 编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式下,输入的每一个字符都被vi编辑器解释为输入的正文。使用ESC键返回命令行模式。 c) 扩展模式:在一些UNIX系统上也叫最后一行模式。在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行。 3. 在vi编辑器中光标的移动(详见linux系统管理P256) 1) 掌握在vi编辑器中用来移动光标位置的键与光标移动之间的关系,如下表:
4. 进入插入模式(详见linux系统管理P258) 1) 掌握从命令行模式进入插入模式的命令: a:进入插入模式并在光标之后进行添加。 i:进入插入模式并在光标之前进行插入。 o:进入插入模式并在当前(光标所在)行之下开启新的一行。
5. 在命令行模式下删除与复制的操作(详见linux系统管理P259) 1) 掌握常用的删除与复制的常用按键
6.粘贴命令
1) 掌握粘贴命令:
7. 复原和重做命令
1) 掌握常用的复原和重做命令:
8.扩展模式与文件的存储和退出
1)掌握扩展模式下常用的命令:
9.快速移动光标在文件中的位置
1)掌握快速移动光标在文件中的位置的命令
10.快速移动光标在屏幕中的位置
1)掌握快速在屏幕中移动光标的位置的命令
11.课后作业(用时40分钟)
1) 使用vi编辑器编辑文件/1.txt进入编辑模式写入内容“hello world” 2) 进入命令行模式复制改行内容,在下方粘贴80行 3) 快速移动光标到文件的最后一行 4) 快速移动光标到当前屏幕的中间一行 5) 快速移动光标到文件的第五行 6) 在下方插入新的一行内容“welcome to beijing” 7) 删除刚插入的一行 8) 撤销上一步的操作 9) 进入扩展模式,执行文件的保存退出操作
Linux系统引导的顺序 Linux系统引导的顺序 BOIS的初始化和引导加载程序 什么是BIOS GRUB程序和grub.conf文件 什么是grub grub配置文件grub.conf 内核的初始化和init的初始化 init的配置文件/etc/inittab init程序要做的工作 run levels(运行级别) 各运行级别对应的功能 关闭系统及重启系统 关闭系统的命令 重启系统的命令 单用户模式修改用户密码 救援模式 课后作业
【本节内容】 1. Linux系统引导的顺序(详见linux系统管理P312) 1) 掌握Linux系统引导的顺序:(详见附1)
其中,BIOS的工作是检查计算机的硬件设备,如CPU、内存和风扇速度等; MBR会在启动盘的第1个块中,大小为512B。其中前446中的程序代码是用来选择boot partition(分区),也就是由哪个分区来装入开机用的代码; 在内核部分主要是装机计算机设备的驱动程序以便操作系统可以控制计算机上的设备。并且以只读的方式挂载/(根)文件系统,也就是此时的操作系统只能读到根文件系统(目录)所在的分区; init程序的进程id为1,即Linux操作系统第1个执行的程序。 1. BOIS的初始化和引导加载程序(详见linux系统管理P313) 1) 掌握BIOS的定义:BIOS(Basic Input/Output System)(基本输入/输出系统的缩写),它是硬件与软件之间的接口,而且是非常基本的接口。 2. GRUB程序和grub.conf文件(详见linux系统管理P317) 1) 掌握GRUB的定义:GRUB是Grand Unified Bootloader(多重操作系统启动管理器)的缩写。 2) 掌握grub的配置文件为:grub.conf 设置grub Md5加密命令 grub-MD5-crypt Password = 明文或 password --md5 密文(编辑grub配置文件的密码) Title red hat 标题 Password = 明文或 password --md5 密文(加载内核系统引导必须的密码) 3. 内核的初始化和init的初始化(详见linux系统管理P322) 1) 掌握init的配置文件为:/etc/inittab 2) 了解init程序要做的工作: a) 决定预设(默认)要使用哪个run levels(运行级别)。 b) 执行一些系统初始化的脚本(程序)来初始化操作系统。 c) 根据run level的设置来执行所对应目录中的程序,以决定要启动哪些服务。 d) 设定某些组合键。 e) 定义UPS不间断电源系统,即当电源出现问题时或电源恢复时要执行哪些程序。 f) 产生6个virtual consoles,也就是tty1~tty6。 4. run levels(运行级别)(详见linux系统管理P326) 1) 掌握所有的运行级别及每一个运行级别对应的功能:
5. 关闭系统及重启系统(详见linux系统管理P342) 1) 掌握常用的可以关闭系统的命令: shutdown -h now halt poweroff init 0 2) 掌握常用的可以重启系统的命令: shutdown -r now reboot init 6 Ctrl+Alt+Delete键 6. 掌握单用户模式修改用户的密码 7. 掌握救援模式 8. 课后作业(用时70分钟) 1) 以root用户登录系统 2) 修改grub配置文件,默认以第1个操作系统启动,将默认的读秒修改为10秒 3) 设置grub菜单密文密码“123” 4) 修改系统的默认运行级别为3 5) 使用与运行级别有关的命令重启系统 6) 使用单用户模式修改用户的密码为“123” 7) 使用救援模式删除grub菜单密码
系统监视和进程控制工具—top和free top命令的功能 top命令显示结果中一些常用状态信息的具体含义 free命令的功能 系统中进程的监控—ps 什么是进程 什么是守护进程 什么是父进程、子进程 ps命令的功能 系统中进程的监控—pstree、kill、pkill、pgrep pstree命令的功能 pstree命令的用法举例 kill命令的功能 kill命令的用法举例 kill -9 pkill、pgrep命令的功能 课后作业 【本节内容】 1. 系统监视和进程控制工具—top和free 1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 2) 了解使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果。
1. 第一行是任务队列信息
12:38:33
当前时间
up 50days
系统运行时间,格式为时:分
1 user
当前登录用户数
load average: 0.06, 0.60, 0.48
系统负载。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
2. 第二、三行为进程和CPU的信息
Tasks: 29 total
进程总数
1 running
正在运行的进程数
28 sleeping
睡眠的进程数
0 stopped
停止的进程数
0 zombie
僵尸进程数
Cpu(s): 0.3% us
用户空间占用CPU百分比
1.0% sy
内核空间占用CPU百分比
0.0% ni
用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id
空闲CPU百分比
0.0% wa
等待输入输出的CPU时间百分比
0.0% hi
硬件中断占用CPU时间的百分比0.0% si
软件中断占用CPU时间的百分比
3. 第四五行为内存信息。
4. 进程信息
列名
含义
PID
进程id
PPID
父进程id
RUSER
Real user name
UID
进程所有者的用户id
USER
进程所有者的用户名
GROUP
进程所有者的组名
TTY
启动进程的终端名。不是从终端启动的进程则显示为 ?
PR
优先级
NI
nice值。负值表示高优先级,正值表示低优先级
P
最后使用的CPU,仅在多CPU环境下有意义
%CPU
上次更新到现在的CPU时间占用百分比
TIME
进程使用的CPU时间总计,单位秒
TIME+
进程使用的CPU时间总计,单位1/100秒
%MEM
进程使用的物理内存百分比
VIRT
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP
进程使用的虚拟内存中,被换出的大小,单位kb。
RES
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE
可执行代码占用的物理内存大小,单位kb
DATA
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR
共享内存大小,单位kb
nFLT
页面错误次数
nDRT
最后一次写入到现在,被修改过的页面数。
S
进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
COMMAND
命令名/命令行
WCHAN
若该进程在睡眠,则显示睡眠中的系统函数名
Flags
任务标志,参考 sched.h
cpu利用率与load average
cpu是用来干活的,按照这个层面去理解,每个码农都是一个cpu
cpu利用率:上一天班的时间是8个小时,而码农敲代码的时间为2个小时,2/8=0.25 ,25%就是码农在一天的时间内的利用率(正常情况,cpu利用率交换机->路由器->代理服务器,代理服务器可以控制用户的上网行为,比如限制用户可以访问和不可以访问的网站,多用于用户行为管理
LB:http://nginx.org/en/docs/http/load_balancing.html
===============服务端
介绍:
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
安装:
yum install rpcbind nfs-utils -y
配置:
NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。
/etc/exports文件内容格式:
[客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
a. 输出目录:
输出目录是指NFS系统中需要共享给客户机使用的目录;
b. 客户端:
客户端是指网络中可以访问这个NFS输出目录的计算机
客户端常用的指定方式
- 指定ip地址的主机:192.168.0.200
- 指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
- 指定域名的主机:david.bsmart.cn
- 指定域中的所有主机:*.bsmart.cn
- 所有主机:*
c. 选项:
选项用来设置输出目录的访问权限、用户映射等。
NFS主要有3类选项:
访问权限选项
- 设置输出目录只读:ro
- 设置输出目录读写:rw
用户映射选项
- all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
- no_all_squash:与all_squash取反(默认设置);
- root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
- no_root_squash:与rootsquash取反;
- anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
- anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
- secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
- insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
- sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
- async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
- wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
- no_wdelay:若有写操作则立即执行,应与sync配合使用;
- subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
- no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
修改配置
[root@MiWiFi-R3-srv nginx]# cat /etc/exports /share 192.168.31.0/24(rw,sync,fsid=0)
开权限(nfs开启了w权限还不行,others还需要对/share目录有w权限)
chmod -R o+w /share
先为rpcbind和nfs做开机启动:
[root@MiWiFi-R3-srv nginx]# systemctl enable nfs-server.service [root@MiWiFi-R3-srv nginx]# systemctl enable rpcbind.service
启动(必须先启动rpcbind服务)
[root@MiWiFi-R3-srv nginx]# systemctl start rpcbind.service [root@MiWiFi-R3-srv nginx]# systemctl start nfs-server.service
确认nfs服务器启动成功
[root@MiWiFi-R3-srv nginx]# rpcinfo [root@MiWiFi-R3-srv nginx]# exportfs /share 192.168.31.0/24
[root@MiWiFi-R3-srv nginx]# showmount -e #默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错 Export list for MiWiFi-R3-srv: /share 192.168.31.0/24
[root@MiWiFi-R3-srv nginx]# showmount -a #显示已经与客户端连接上的目录信息 All mount points on MiWiFi-R3-srv:
=====================客户端
yum install rpcbind nfs-utils -y
systemctl enable rpcbind.service && systemctl start rpcbind.service
showmount -e NFS服务器IP #检查 NFS 服务器端是否有目录共享 mount -t nfs 192.168.31.106:/share /var/www/html/
=====================测试 基于nginx的负载均衡配置,打开后端被代理服务的access.log日志,tail -f access.log来观察访问,访问LB刷新页面发现内容保持一致,但是每台被代理的机器的access.log日志都有新的内容进来
什么是计划任务: 后台运行,到了预定的时间就会自动执行的任务,前提是:事先手动将计划任务设定好。这就用到了crond服务 crond服务相关的软件包 [root@MiWiFi-R3-srv ~]# rpm -qa |grep cron cronie-anacron-1.4.11-14.el7.x86_64 crontabs-1.11-6.20121102git.el7.noarch cronie-1.4.11-14.el7.x86_64
这些包在最小化安装系统时就已经安装了,并且会开机自启动crond服务,并为我们提供好编写计划任务的crontab命令。
计划任务分为两类:系统级和用户级
首先需要知道的是,无论是系统级还是用户级的cron计划都是文本文件,系 统的计划文件存放在/etc/crontab路径下。用户的计划文件放在/var/spool/cron/用户名,不管是哪一种,都可以满足我们定制计划任务的需求。
root用户可以直接对文件进行修改来编写计划任务也可以使用 crontab -e命令,而普通用户只能使用后者。除此之外,系统crontab文件中任务的定义也有所不同,在前五个部分之后插入了一个“用户”部分。
[root@MiWiFi-R3-srv ~]# cat /etc/crontab #查看全局计划任务 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root
# For details see man 4 crontabs
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed * * * * * root run-parts /test #run-parts命令,可以执行一个目录下所有的可执行文件,目录下文件必须有执行权限
You have new mail in /var/spool/mail/root
[root@MiWiFi-R3-srv ~]# crontab -u tom -l #通过命令查看用户tom的计划任务 */1 * * * * echo 123213123213
[root@MiWiFi-R3-srv ~]# cat /var/spool/cron/tom #从文件中查看用户tom的计划任务 */1 * * * * echo 123213123213
crontab命令编写计划任务
语 法:crontab [-u ][配置文件] 或 crontab [-u ][-elr]
crontab任务配置基本格式: * * * * * command 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天) 命令
第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令
参 数: -e 编辑该用户的计时器设置。 -l 列出该用户的计时器设置。 -r 删除该用户的计时器设置。 -u 指定要设定计时器的用户名称。
注意:
1 查看计划任务的执行:tail -f /var/log/cron
2 写计划任务时,命令必须加上绝对路径,否则会出现这种情况:从日志中看,确实触发了计划任务的执行,但是命令却没有执行成功,比如* * * * * reboot就会出现这种情况,需要将reboot写成/usr/sbin/reboot
crontab例子:
30 21 * * * /usr/local/etc/rc.d/apache restart #每晚的21:30 重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/apache restart #每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/apache restart #每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/apache restart #每天18 : 00至23 : 00之间每隔30分钟重启apache
0 23 * * 6 /usr/local/etc/rc.d/apache restart #每星期六的11 : 00 pm重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/apache restart #晚上11点到早上7点之间,每隔一个小时的每分钟重启 apache
0 */1 * * * /usr/local/etc/rc.d/apache restart #每一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/apache restart #每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/apache restart #一月一号的4点重启apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44 #每半小时同步一下时间
0 */2 * * * www /usr/bin/somecommand >> /dev/null 2>&1 #以用户www的身份每两小时就运行某个程序:
0 1 * * * /home/testuser/test.sh #每天1点调用/home/testuser/test.sh
*/10 * * * * /home/testuser/test.sh #每10钟调用一次/home/testuser/test.sh
30 21 * * * /usr/local/etc/rc.d/lighttpd restart #每天的21:30重启lighttpd
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #每月1、10、22日的4 : 45重启lighttpd
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #每周六、周日的1 : 10重启lighttpd
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #上面的例子表示每星期六的11 : 00 pm重启lighttpd
* */2 * * * /usr/local/etc/rc.d/lighttpd restart #每两小时的每分钟重启lighttpd
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一号的4点重启lighttpd
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44 #每半小时同步一下时间
对于一些常见的时间格式可以用如@yearly的方式代替
@reboot 代表的意思Run once, at startup. @yearly 代表的意思Run once a year, "0 0 1 1 *". @annually 与@yearly相同意思 @monthly 代表的意思Run once a month, "0 0 1 * *". @weekly 代表的意思Run once a week, "0 0 * * 0". @daily 代表的意思Run once a day, "0 0 * * *". @midnight 与@daily的意思相同 @hourly 代表的意思Run once an hour, "0 * * * *". 除此之外,系统还有一些自带的计划任务
cron默认配置了调度任务,分别为:hourly、daily、weekly、mouthly,默认配置文件为/etc/anacrontab
将需要执行的脚本放到相应的目录下即可,目录分别为:
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/ect/cron.mouthly
查看cron服务是否起作用:
如果我们要查看定时任务是否准时调用了可以/var/log/cron中的运行信息
cat /var/log/cron
也可以用tail -f /var/spool/mail/用户名,来查看普通用户的计划任务执行情况
此处需要记住两点:
第一:cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。
第二:crontab的用户手册中推荐每一个命令使用绝对路径,例如调用rm命令时写作:/bin/rm,这是为了防止由于每一个用户的PATH环境变量不同而导致命令无法找到的错误。
网上查询到的资料crontab不执行的问题:
转自:http://blog.csdn.net/jbgtwang/article/details/7995801
第一,脚本的原因:大多数情况下,我们要相信科学,相信计算机,不是有鬼,就是我们的脚本的问题,这种问题导致crontab不能执行的概率占到 70%以上。因为程序执行到某一步导致crontab终止执行,我就碰到一次在迁移代码的时候将数据库连错了。导致无法访问而死在那里了。
第二,执行环境问题,当我们碰到第一情况下,一般都可以通过手动执行程序将问题扼杀在摇篮里,一般情况下高手是不应该犯第一种错误的。问题是当我们 手动执行成功而crontab不能执行的时候,笔者碰到一次就是执行环境的问题,例如相关路径的设置问题。解决方案:在代码最前面执行 source /home/user/.bash_profile
第三,系统时间不正确。这种问题最好理解,也是比较常见和隐蔽的问题,解决方案:date -s ********
第四,就是我们的脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。
第五,crontab 守护进程死掉了。这种情况是极少发生的,但也不排除,当我们实在是找不到其他原因的时候可以用。解决方案:重启该进程。
第六,crontab不执行的问题困扰了好长时间,脚本写的都正确,但是就是不执行,最终解决方法如下: crontab -u root /var/spool/cron/root 这样root用户的crontab就生效了 service crond restart 重启下服务就好了
第七,crond没有启动
第八,脚本编码问题,脚本在window下编写,传到linux下后报“锘?!/bin/bash”,用vi编辑器新建新shell脚本,输入内容后保存。
第九
最初始阶段 当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。 下一步,计算机将从你所选择的存储设备中读取起始的512 bytes(比如光盘一开是的512 bytes,如果我们从光盘启动的话)。这512 bytes叫做主引导记录MBR (master boot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB和LILO。 随后,boot loader会帮助我们加载kernel。kernel实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过kernel传达给硬件。Windows和Linux各自有自己kernel。狭义的操作系统就是指kernel,广义的操作系统包括kernel以及kernel之上的各种应用。 (Linus Torvalds与其说是Linux之父,不如说是Linux kernel之父。他依然负责Linux kernel的开发和维护。至于Ubuntu, Red Hat, 它们都是基于相同的kernel之上,囊括了不同的应用和界面构成的一个更加完整的操作系统版本。) 实际上,我们可以在多个分区安装boot loader,每个boot loader对应不同的操作系统,在读取MBR的时候选择我们想要启动的boot loader。这就是多操作系统的原理。 小结:BIOS -> MBR -> boot loader -> kernel kernel 如果我们加载的是Linux kernel,Linux kernel开始工作。kernel会首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,kernel会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,kernel就完成了在计算机启动阶段的工作,交接给init来管理。 小结: kernel -> init process init process (根据boot loader的选项,Linux此时可以进入单用户模式(single user mode)。在此模式下,初始脚本还没有开始执行,我们可以检测并修复计算机可能存在的错误) 随后,init会运行一系列的初始脚本(startup scripts),这些脚本是Linux中常见的shell scripts。这些脚本执行如下功能: 设置计算机名称,时区,检测文件系统,挂载硬盘,清空临时文件,设置网络…… 当这些初始脚本,操作系统已经完全准备好了,只是,还没有人可以登录!!!init会给出登录(login)对话框,或者是图形化的登录界面。
输入用户名(比如说vamei)和密码,DONE! 在此后的过程中,你将以用户(user)vamei的身份操作电脑。此外,根据你创建用户时的设定,Linux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。 所以你将是用户vamei, 同时是vamei组的组员。(注意,组vamei和用户vamei只是重名而已,就好想你可以叫Dell, 同时还是Dell公司的老板一样。你完全也可以是用户vamei,同时为stupid组的组员) 总结 BIOS -> MBR -> boot loader -> kernel -> init process -> login 用户,组