linux学习笔记
第一章 Linux常用软件
一、Linux目录结构
./bin
这个目录存放着最经常使用的命令
./sbin
s就是super user,存放着系统管理员使用的系统程序
./home
存放普通用户的主目录
./root
该目录为系统管理员,也称为超级权限者的用户主目录
./lib
系统开机时所需要的最基本的动态链接共享库
./lost+found
这个目录一般为空,当系统非法关机时,这里就存放一些文件
./etc
所有系统所需要的配置文件和子目录
./usr
这是一个非常重要的目录,用户很多应用程序和文件都放在这个目录下
./boot
存放的是启动linux时使用的一些核心文件,包括连接文件和镜像文件
./proc ./sys ./srv
这三个文件内容都不能动,否则系统会崩溃
./temp
存放一些临时文件
./dev
类似于windows的设备管理系统,把所有的硬件用文件的形式存储
./media
linux 系统会自动识别一些设备,例如u盘,光驱等
./mnt
系统提供该目录是为了让用户临时挂载别的文件系统
./opt
这是给主机额外的安装文件所存放的目录
二、远程登录linux-Xshell6
介绍
- Xshell 是目前最好登录到Linux操作的软件,流畅的速度并且完美的解决了中文乱码的问题
- Xshell是一个强大的安全终端模拟软件,它支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议
- Xshell可以在Windows界面下用来访问远端不同程序下的服务器,从而比较好的到达远程控制终端的目的
Xshell使用操作
- 登录远程服务器
通过linux操作系统ifconfig获取ip地址:192.168.246.128
新建会话,输入ip地址连接
快捷键
Alt + N:新建会话
Alt + S:简单模式
Alt + R:透明模式
Alt + A:总在最前面
Alt + Enter:全屏
Alt + 1 :切到第一个会话,2,3,4…类推
Ctrl + Alt + F:新建传输文件
Ctrl + Shift + L:清屏
Ctrl + Insert :复制
Shift + Insert :粘贴
三、远程上传下载软件 Xftp6
介绍
- 是一个基于windows平台功能强大的SFTP、FTP文件传输软件
处理中文乱码
- 修改编码为UTF-8
四、vi和vim编辑器
介绍
- Linux系统会内置vi文本编辑器
- Vim具有程序编辑能力,可以看做Vi的增强版本,可以用字体的颜色辨别语法的正确性,方便程序设计
vi和vim常用的三种模式
-
正常模式
以vim打开一个档案就直接进入一般模式。在这个模式下可以使用【上下左右】按键来移动光标,可以使用【删除符号】来进行档案内容处理,也可以使用【复制、粘贴】来处理文件数据
-
插入模式
按下 i 、I 、o、O、a、A、r、R等任何一字母才会进入的编辑模式,一般来说按 i 即可
-
命令行模式
输入esc 在输入:进入,在这个模式下,可以提供你相关的指令,完成读写、存盘、替换、离开vim、显示行号等的动作则在此模式中达成
正常模式命令
命令 | 说明 |
---|---|
w | 移动到下一个单词的开头 |
e | 移动到当前单词的结尾 |
b | 移动到上一个单词的开头 |
ge | 移动到前一个单词的结尾 |
^ | 移动到行头 |
$ | 移动到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置 |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
shift+zz | 退出vim |
dd | 删除整行 |
2dd | 向下删除2行,以此类推 |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
.(小数点) | 重复上一次的命令操作 |
gg | 游标移动到第一行 |
G | 游标移动到最后一行 |
nG | 游标移动到第n行(如果默认没有显示行号,请先进入命令行模式,输入:setnu以显示行号) |
Ctrl+o | 快速回到上一次(跳转前)光标所在位置 |
yy | 复制游标所在的整行 |
3yy | 向下复制3行,以此类推 |
p | 粘贴至光标后 |
R | 连续替换,直到按下Esc |
>> | 整行向右缩进 |
<< | 整行向左回退 |
插入模式命令
命令 | 说明 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置到一个单词的结尾字符 |
命令行模式的命令
命令 | 说明 |
---|---|
:q! | 强制退出vim,不保存 |
:q | 退出vim |
:wq! | 强制保存并退出vim |
:w | <文件路径> 另存为 |
:saveas | <文件路径> 另存为 |
:x | 保存并退出vim |
:wq | 保存并退出vim |
:set nu | 显示行号 |
:set shiftwidth=10 | 设置缩进为10个字符,以此类推(输入Esc回到普通模式,再次尝试>>看缩进是否变化) |
:ce(center) | 本行内容居中 |
:ri(right) | 本行内容居右 |
:le(left) | 本行内容居左 |
命令行下 /+关键字,回车 | 在文件中查找某个单词,输入n查找下一个 |
vim键盘图
第二章 Linux操作系统命令
一、关机&重启命令
shutdown -h now | 立刻进行关机 |
shutdown -h 1 | 一分钟后会关机 |
shutdown -r now | 现在重新情动计算机 |
halt | 关机,作用和上边一样 |
reboot | 现在重新启动计算机 |
sync | 把内存的数据同步到磁盘 |
二、用户登录和注销
- 登录时尽量少使用root账号进行直接登录,可以先登录普通账号,再用==su - 用户名 ==命令来切换管理员身份
- 在提示符下输入logout 即可注销用户
- logout 注销指令在图形运行级别无效,在运行级别3下有效
三、用户管理
用户
- 添加用户
useradd 【选项】用户名
选项 | 作用 |
---|---|
-d | 指定用户登录时的目录 |
-e | 指定用户的有效期限 |
-f | 缓冲天数,密码过期时在指定天数后关闭该账号 |
-g | 指定用户所属组 |
-G | 指定用户的附加组 |
-m | 自动创建用户的登录目录 |
-r | 创建系统账号 |
-s | 指定用户的登录shell |
-u | 指定用户的用户ID |
- 设置和修改密码
设置用户密码 passwd [选项] 用户名,修改密码也使用同样的语法格式
选项:
选项 | 作用 |
---|---|
-l | 锁定密码,锁定后密码失效,无法登录 |
-d | 删除密码,仅系统管理员可用 |
-S | 列出密码的相关信息,仅管理员可使用 |
-f | 强制执行 |
- 删除用户
删除用户userdel [选项] 用户名
选项 | 作用 |
---|---|
-f | 强制删除,即使是当前用户 |
-r | 删除用户的同时,删除与用户相关的所有文件,慎重选择 |
- 查询用户信息:id 用户名
- 查看当前登录用户 : whoami
用户组
- 介绍
系统可以对有共性/权限的多个用户进行统一的管理 - 新增组
指令:groupadd 组名 - 删除组
指令: groupdel 组名 - 增加用户是直接加上组
指令: useradd -g 用户组 用户名
groupadd mingjiao
useradd -g mingjiao zhangwuji
- 修改用户组
指令:usermod - g 用户组 用户名
用户和组相关文件
- /etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息每行含义:用户名:口令:用户标识号:注释性描述:主目录:登录Shell - /etc/shadow 文件
口令的配置文件
每行含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:失效时间:标志 - /etc/group 文件
组(group)配置文件, 记录Linux包含组的信息
每行含义:组名:口令:组标识号:组内用户列表
四、指定运行级别
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户工作状态,root权限,用于系统维护,禁止远程登陆 |
2 | 多用户状态(没有NFS) |
3 | 完全的多用户状态(有NFS),登陆后进入控制台命令行模式 |
4 | 系统未使用,保留 |
5 | X11控制台,登陆后进入图形GUI模式 |
6 | 系统重启 |
- 应用实例
命令:init [0123456] 通过init 来切换不同的运行级别
应用案例:init 0 实现关机 - 查看当前运行级别: systemctl get-default
- 设置运行级别:systemctl ser-default multi-user.target //设置为三级别systemctl ser-default graphical.target//设置为五级别
五、帮助指令
man 获得帮助指令
基本语法:man[命令或配置文件](获得帮助信息)
help指令
基本语法:help 命令(获得shell内置命令的帮助信息)
六、文件目录类指令
pwd指令
基本语法:pwd (显示当前工作目录的绝对路径)
ls指令
基本语法:ls [选项][目录或者文件]
选项 | 作用 |
---|---|
-a | 显示隐藏文件 |
-l | 以列表显示信息 |
- cd指令
基本语法:cd[选项] (切换到指定目录)
选项 | 作用 |
---|---|
~ | 当前用户家目录 |
/ | 根目录 |
- | 上一次访问的目录 |
… | 上一级目录 |
mkdir指令
基本语法:mkdir [选项] 要创建的目录 (实现在指定位置创建命名的文件夹或目录)
选项 | 作用 |
---|---|
-p | 创建多级目录 |
rmdir指令
基本语法:rmdir[选项] 要删除的空目录(删除空目录)
rmdir 删除的是空目录,如果目录下有内容时无法删除
要删除非空目录,需要 rm - rf 要删除的目录
touch指令
基本语法:touch 文件名称(创建空文件)
cp指令
基本语法:cp [选项] 要拷贝的文件 文件拷贝到的位置(拷贝文件到指定目录)
选项 | 作用 |
---|---|
-r | 递归复制整个文件夹 |
cp 前加“\” | 强制覆盖不提醒 |
rm 指令
基本语法:rm [选项] 要删除的文件或者目录(移除文件或目录)
选项 | 作用 |
---|---|
-r | 递归删除整个文件 |
-f | 强制删除不提示 |
mv指令
基本语法:
- mv oldnamefile newnamefile(重命名)
- mv 目录A下的文件 目录B(移动文件)
cat指令
基本语法:cat [选项] 要查看的文件
选项 | 作用 |
---|---|
-n | 显示行号 |
cat只能浏览文件,而不能修改文件,为了浏览文件方便,一般会带上 管道命令|more
more指令
more指令是一个基于VI编辑器的文本过滤器,他以全屏的方式按页显示文本文件的内容,more指令内置了若干快捷键(交互指令)
基本语法: more 要查看的文件
操作 | 功能说明 |
---|---|
space | 代表性向下翻一页 |
Enter | 代表向下翻【一行】 |
q | 代表立即离开more,不显示文件内容 |
ctrl+f | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less指令
基本语法:less 要查看的文件(用来分屏查看文件内容)
操作 | 功能 |
---|---|
space | 向下翻滚一页 |
pagedown | 向下翻动一页 |
pageup | 向上翻动一页 |
/字串 | 向下搜寻【字串】的功能;n:向下查找;N:向上查找 |
?字串 | 向上搜寻【字串】的功能;n:向上查找;N:向下查找 |
q | 离开less |
echo指令
echo输出内容到控制台
基本语法:echo [选项] [输出内容]
head指令
head显示文件的开头部分内容,默认情况下head指令显示文件前10行内容
基本语法:head 文件(查看文件头10行内容)
head -n 文件 (想查看文件头5行内容,5可以为任意数)
>指令和>>指令
'>'输出重定向(覆盖),>>追加
基本语法:
- ls - l > 文件(列表的内容写入文件中(覆盖写))
- ls - l >> 文件(列表的内容追加到文件中的末尾)
- cat 文件1 >文件2 (将文件1的内容覆盖到文件2)
- echo “内容” >>文件(追加)
In指令
In - s [源文件或目录] [软连接名](给原文件创建一个软链接)
七、时间日期指令
date指令
基本语法:date (显示当前日期)
+%Y | 显示当前年份 |
+% m | 显示当前月份 |
+%d | 显示当前是哪一天 |
+%Y+%m+%d %H:%M:%S | 显示年月日时分秒 |
-s 字符串日期 | 设置日期 |
cal指令
基本语法:cal cal [选项][月份][年份](查看日历指令)
选项 | 作用 |
---|---|
-1 | 显示一个月的月历 |
-3 | 显示系统前一个月,当前月,下一个月的月历 |
-s | 显示星期天为一个星期的第一天,默认的格式 |
-m | 显示星期一为一个星期的第一天 |
-j | 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数) |
-y | 显示当前年份的日历 |
八、搜索查找类指令
find指令
- 寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归搜索,将满足条件的文件或者目录显示在终端
基本语法:find [搜索范围] [选项]
选项 | 说明 |
---|---|
- name <查询方式> | 按照指定的文件名查找模式查找文件 |
- user<用户名> | 查找指定用户名所有文件 |
- size<文件大小> | 按照文件大小查找文件 |
locate指令
- locate 指令能够快速定位文件路径
基本语法:locate 搜素文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
grep指令和管道符号|
- grep过滤查找,管道符 “|”,表示前一个命令处理结果输出结果传递给后面的命令处理
基本语法:grep [选项] 查找文件 源文件
选项 | 作用 |
---|---|
-n | 显示匹配行和行号 |
-i | 忽略文字大小写 |
案例:请在aaa.txt文件中,查找“yes”所在行,并显示行号
写法1:cat/home/aaa.txt | grep -n “yes”
写法2:grep -n “yes” /home/aaa.txt
九、压缩与解压指令
gzip/gunzip指令
- gzip用于压缩文件,gunzip用于解压文件
基本语法:
- gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)
- gunzip 文件.gz (解压缩文件命令)
zip/unzip指令
- zip用于压缩文件,unzip用于解压文件
基本语法: - zip [选项] xxx.zip 将要压缩的内容(压缩文件和目录命令)
选项 | 作用 |
---|---|
-r | 递归压缩,即压缩目录 |
- unzip [选项] XXX.zip(解压缩文件)
选项 | 作用 |
---|---|
-d <目录> | 指定压缩后文件存放目录 |
tar指令
- tar指令是打包指令,最后打包的文件是.tar.gz文件
基本语法:tar [选项] xxx.tar.gz 打包文件
选项 | 作用 |
---|---|
-c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
压缩 : tar -zcvf pa.tar.gz aaa.txt bbb.txt
解压:tar -zxvf pa.tar.gz -C(解压到指定路径) /opt/tmp2
十、组管理和权限管理
在Linux中每个用户必须属于一个组,不能独立于组外,在Linux中每个文件有所有者、所在组、其他组的概念
组
-
所有者
一般为文件的创建者,谁创建了该文件,就自然成为文件的所有者
查看文件所有者指令:ls -ahl
修改文件所有者指令:chown 用户名 文件名 -
所在组
创建组:groupadd 组名
查看文件所在组:ls -ahl
修改文件所在组:chgrp 组名 文件名 -
其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组 -
改变用户所在组
usermode -g 新组名 用户名
usermod -d 目录名 用户名(改变该用户登录的初始目录(用户需要又有进入新目录的权限))
权限
用 ll 或 ls -l 命令可以显示目录下所有文件详细信息(不包括隐藏文件), 如下图在每个文件信息开头的 d - w r x 共10位是什么信息呢, 是文件对于不同文件访问者的权限, 具体如下图 :
文件类型 | 说明 |
---|---|
d | 文件夹 |
- | 普通文件 |
l | 软链接(类似Windows的快捷方式) |
b | 块设备文件(例如硬盘、光驱等) |
p | 管道文件 |
c | 字符设备文件(例如屏幕等串口设备) |
s | 套接口文件 |
修改权限
- 介绍
Linux系统中,每个文件或目录都有访问许可权限,用它来确定以何种方式对文件或目录进行访问和操作。在Linux中,如果要对文件的权限进行修改,那么可在终端中使用 chmod 命令对其文件的权限进行修改,但是 chmod 命令修改文件权限有两种方式:1、字母法,2、数字法 - 第一种方法:+、-、= 变更权限
u:所有者 、q:所有组、o:其他组、a:所有人
- chmod u=rwx , g=rx , o=x 文件名/目录名
- chmod o+w 文件名/目录名(给其他组赋予写权限)
- chmod o-x 文件名/目录名(去除其他组执行权限)
- 第二种方法:通过数字变更权限
r = 4 w = 2 x = 1
chmod 751 文件名/目录名
修改文件所有者
- chown newowner 文件/目录 (改变所有者)
- chown newowner : newgroup 文件/目录 (改变所有者和所在组)
- -R 如果是目录 则是其下所有子文件或目录递归生效
修改文件/目录所在组
- chgrp newgroup 文件/目录(改变所在组)
- -R 如果是目录 则是其下所有子文件或目录递归生效
第三章 Linux实操篇
一、定时任务调度
crontab 重复执行定时任务
-
概述
任务调度:是指系统在某个时间执行的特定的命令或程序
调度任务的分类:1.系统工作 、2个别用户工作
系统工作:有些重要的工作必须周而复始的执行,如病毒扫描
个别用工作:个别用户可能希望执行某些程序,如mysql数据库备份 -
基本语法:crontab [ 选项]
选项 | 作用 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户的所有 |
-
确定服务器是否开启定时任务计划服务
命令: service crond status 确认定时任务是否开启?
命令: service crond start 开启服务
命令: service crond stop 关闭服务
命令: service crond restart 重启服务
命令: service crond reload 重新载入配置 -
crontab格式说明
格式为 : * * * * *
项目 | 含义 |
---|---|
第一个“*” 0-59 | 一小时当中的第几分钟 |
第二个“*” 0-23 | 一天当中的第几小时 |
第三个“*” 1-31 | 一个月当中的第几天 |
第四个“*” 1-21 | 一年当中的第几个月 |
第五个“*” 0-7 | 一周当中的星期几 |
案例:crontab -e 进入调度文件 输入:’* /1*** ls -l >> to.txt’,意思是说每小时每分钟执行一次* /1*** ls -l >> to.txt’命令
- 特殊字符
特殊符号 | 含义 |
---|---|
星号(*) | 代表任何时间,例如,month字段如果是星号,则表示在满足其它字段的制约条件后,每月都执行该命令操作; |
逗号(,) | 代表不连续时间,比如‘0 8,12,16 * * * *’,代表每天的8点0分,12点0分,16点0分都要执行一次命令 |
中杠(-) | 表示连续的时间范围,例如“0 5 * * 2-6”表示:,代表了周二到周六凌晨5点0分执行任务 |
/ , */n | 可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10 * * * *,表示每十分钟执行一次。 |
at 一次性执行定时任务
- 基本介绍
1.ta命令试一次性定时计划任务,at守护进程atd会以后台模式运行,检查作业列来运行
2.在使用at命令时,一定要保证atd进程启动,可以用ps -ef |grep atd来检查进程是否在运行 - at命令格式
at [选项] [时间]
Ctrl + D 结束 at指令输入
选项 | 作用 |
---|---|
-m | 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出 |
-I | atq的别名 |
-d | atrm的别名 |
-v | 显示任务将被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q<列队> | 使用指定的列队 |
-f<文件> | 从指定文件读入任务而不是从标准输入读入 |
-t<时间参数> | 以时间参数的形式提交要运行的任务 |
- 时间格式,这里可以定义出什么时候要进行 at 这项任务的时间,格式有:
格式 | 说明 |
---|---|
HH:MM(小时:分钟) | ex> 04:00 在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此任务 |
HH:MM[am\pm] [Month] [Date] | ex> 04pm March 17也是一样,强制在某年某月某日的某时刻进行该项任务 |
- 案例一:两分钟后执行/bin/ls/home
at now + 2 minutes - 案例二:2天后的下午5点执行/bin/ls/home
输入两次Ctrl +D退出at命令
atq命令来查看系统中有没有执行的工作任务
atrm 编号 删除已经设置的任务
二、磁盘分区、挂载
- 原理介绍
1)Linux无论有几个分区,分给哪一目录使用,归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
2)Linux中采用了一种叫 “载入” 的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得 - 硬盘说明
1)Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上都是SCSI硬盘
2)对于IDE硬盘,驱动标识为hdx,其中hd分区所在的设备类型,这里指IDE硬盘了。x为盘号(a为基本盘,b为基本从属盘,c为辅助盘,d为辅助从属盘),代表分区,前4个分区用数字1~4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。如:hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区
3)对于SCSI硬盘则标识为sdx~,SCSI硬盘是用sd来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。 - 查看所有设备挂载情况
命令:lsblk 或者 lsblk -f
- 挂载的经典案例
1)虚拟机添加硬盘
在 VMware下:虚拟机—>设置—>硬盘—>添加—>下一步(4)—>完成—>重启Linux
2)分区
分区命令: fdisk /dev/sdb
选项 | 作用 |
---|---|
m | 显示命令列表 |
p | 显示磁盘分区 |
n | 新增分区 |
d | 删除分区 |
w | 写入并退出 |
说明:开始分区写入n,新增分区,然后选择p,分区类为主分区,两次回车默认剩余的全部空间。最后输入w写入分区并退出,若不保存退出输入q
3)格式化
命令:mkfs -t ext4 /dev/sdb1,其中ext4是分区类型
4)挂载
先创建一个目录 /home/newdisk
命令:amount 设备名 目录名
但是如果重启这种挂载关系就会消失了!!!!!
5 ) 卸载
命令:umount 设备名称 或者 挂载目录
6)设置可以自动挂载(永久挂载,当你重启Linux之后,仍然可以挂载)
永久挂载:通过修改 /etc/fstab 实现挂载
添加完成后 执行 mount -a 立即执行
三、磁盘情况查询
- 基本语法
df -h - 查看指定目录磁盘占用情况
du -h /目录
查看指定目录的磁盘占用情况,默认是当前目录
-s | 指定目录占用大小汇总 |
---|---|
- h | 带计量单位 |
- a | 含文件 |
- -max-depth=1 | 子目录深度 |
- c | 列出明细的同时,增加汇总值。 |
实例:查询 /opt 目录的磁盘占用情况,深度为1
磁盘情况 — 工作实用指令
1)统计 /home 文件夹下文件的个数
2)统计 /home 文件夹下目录的个数
3)统计 /home 文件夹下文件的个数,包括子文件夹里的
4)统计文件夹下目录的个数,包括子文件夹里的
5)以树状显示目录结构(yum install tree 安装tree指令)
四、Linux 网络配置
NAT网络设置
- 网络地址转换技术NAT(network address translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。
查看网络IP和网关
- 查看windows环境下VMnet8网络配置(ipconfig指令)
- 查看 Linux 的网络配置(ifconfig指令)
- ping 目的主机(测试当前主机是否能够联通目的主机)
指定 IP
直接修改配置文件来指定IP,并可以连接到外网,(程序员推荐),
编辑 vim /etc/sysconfig/network-scripts/ifcfg-eth33
要求:将ip地址配置的静态的,比如:ip地址为192.168.200.130
ifcfg-eth0文件说明
- DEVICE=eth0 #接口名(设备,网卡)
- HWADDR=00:0C:2x:6x:0x:xx #MAC地址
- TYPE=Ethernet #网络类型(通常是Ethemet)
- UUID=926a57ba-92c6-4231-bacb-f27e5e6a9f44 #随机id
- ONBOOT=yes #系统启动的时候网络接口是否有效(yes/no)
- BOOTPROTO=static #IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
- IPADDR=192.168.200.130 #IP地址
- GATEWAY=192.168.200.2 #网关
- DNS1=192.168.200.2 #域名解析器
配置好以后重启服务器或者网络服务生效
设置主机名和hosts映射
-
设置主机名
1.为了方便记忆,可以给Linux系统设置主机名,也可以根据需要修改主机名
2.指令 hostname:查看主机名
3.修改文件在/etc/hostname 指定
4.修改后重启生效 -
设置hosts映射
1.Windows
在 C:\Windows\System32\drivers\etc\hosts 文件指定即可
2.Linux
在 /etc/hosts 文件指定 -
主机解析机制分析(hosts、dns)
五、进程
进程管理
基本介绍
- 在Linux中,每个执行的程序都可以称为一个进程,每个进程都分配一个ID号(pid,进程号)
- 每个进程都可能以两种方式存在。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行的操作的;后台进程,但由于屏幕上无法看到进程,通常使用后台方式执行
- 一般系统都是以后台进程的方式存在的,而且都是常驻在系统中,直到关机才结束
显示系统执行的进程ps
ps 命令是用来查看目前系统中哪些正在执行的程序,以及它们的执行情况
选项 | 说明 |
---|---|
-a | 列出所有运行中/激活进程 |
-u | 以用户的格式显示进程信息 |
-x | 显示后台进程运行的参数 |
-ef | 以全格式显示当前所有进程 , -e 显示所有进程,-f 全格式 |
-aux | 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等 |
USER | 进程执行者 |
---|---|
PID | 进程号 |
%CPU | 占用cpu的百分比 |
%MEM | 占用物理内存百分比 |
VSZ | 占用虚拟内存大小 |
RSS | 占用物理内存大小 |
TTY | 终端名称 |
STAT | 运行状态,S 表示sleep睡眠状态,R表示运行状态,D 表示短期等待,Z 表示僵死进程,T被跟踪或者被停止 |
START | 进程的开始时间 |
TIME | 进程占用CPU时间 |
COMMAND | 进程名,即执行该进程的指令 |
1.指令:ps - aux | grep xxx 显示过滤后的进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等
2.指令:ps - ef | grep xxx 以全格式显示当过滤后的进程 , -e 显示所有进程,-f 全格式
终止进程(kill 和 killall)
基本语法
kill [选项] 进程号(通过进程号杀死进程)
killall 进程名称(通过进程名称杀死进程,也支持通配符,这在系统因为负载过大而变得很慢很有用)
常用选项
-9 :表示强迫进程立即停止
案例1:踢掉某个非法登录用户
进程树 pstree
服务管理
基本介绍
- 查看服务名
使用setup -> 服务器系统就可以看到全部服务
chkconfig 指令
systemctl 指令
firewall 指令
查看端口协议指令:netstat - anp | more
动态监控进程
动态监控 top 指令
查看系统网络信息netstat指令
六、软件包管理
rpm 包管理
yum 指令
七、Linux-java 定制篇
安装 JDK
安装 tomcat
安装 IDEA
安装MySQL5.7
第四章 Shell编程
- Shell是一个命令解释器,它为用户提供了一个想Linux内核发送请求以便运行程序的界面系统程序,用户可以使用Shell来启动、挂起、停止,甚至编写一些程序
Shell 脚本的执行方式
- 脚本格式要求
1.脚本要以 #!/bin/bash 开头
2.脚本需要有可执行权限,用 chmod 指令 - 脚本的常用执行方式
方式一:输入脚本的绝对路径和相对路径
说明:首先要赋予脚本可执行权限,再执行脚本
方式二:sh + 脚本
说明:不需要赋予脚本可执行权限,直接执行即可
Shell 的变量
反引号 : 1 前面的键 ~ 的另外一种表示 `
-
定义变量的规则
定义变量: 变量=值(中间不要有空格!!!)
变量的名称可以由字母、数字和下划线组成,但不能以数字开头
输出变量时需要加上$,如:A=100 echo $A
变量的名称一般为大写
环境变量
位置参数变量
预定义变量
运算符
条件判断
流程控制
if语句
case语句
for循环
while循环
read 读取控制台输入
函数
系统函数
自定义函数
数据库备份
第五章 日志管理
一、日志文件基本介绍
系统常用日志
二、日志管理服务rsyslodg
三、日志轮替
四、查看内存日志
第六章 创建自己的Linux系统
基本原理
操作步骤
1.在现有的Linux系统加一个20G硬盘
2.分区挂载
fdisk /dev/sdb 分为两个区
5.安装grub,内核文件拷贝至目标磁盘
== grub2-install --root-directory=/mnt /dev/sdb==
可以通过查看二进制确认我们是否安装成功
hexdump -C -n 512 /dev/sdb
6.将 boot内文件全部复制到mnt/boot/
rm -rf /mnt/boot/* //清除掉/mnt/boot内文件
cp -rf /boot/* /mnt/boot/ //复制文件
7.进入grub2/grub.cfg文件,找到框选位置进行修改
上下两个操作都是相同的,修改六次,添加两次
- mkdir -pv /mnt/sysroot/{etc/rc.d,usr,var,proc,sys,dev,lib,lib64,bin,sbin,boot,srv,mnt,media,home,root}
- cp /lib64/. /mnt/sysroot/lib64/
- cp /bin/bash /mnt/sysroot/bin/
创建一个新的虚拟机
创建好虚拟机以后,将原先自带的硬盘移除
添加现有磁盘
找到之前挂载好的磁盘
成功进入界面
第七章 Linux 备份与恢复
如果Linux上没有dump 和 restore 指令,需要先按照
yum -y install dump
yum -y install restore
下载相关指令
dump-备份
restore 恢复
第八章 Linux可视化管理工具
webmin