Linux总结
MySQL常用命令超详细总结,初学者必看:MySQL的使用,看这篇就够了
文章目录
第一章 Linux的目录结构
1.1 基本介绍
Linux的文件系统采用的是层级式的树状目录结构,在此结构中的最上层目录是根目录”/”,然后在此目录下创建其他的目录,如图所示:
1.2 目录结构的具体介绍
1.3 Linux目录总结
- Linux的目录中有且只有一个根目录
- Linux的各个目录是规划好的,不要乱放文件
- Linux是以文件的形式来管理系统,故Linux系统中一切皆为文件
第二章 Vi和Vim编辑器
2.1 Vi和Vim的基本介绍
- Vi文本编辑器是所有Linux系统都会内置的
- Vim具有程序编辑的能力,可以看作是Vi的增强版本,可以自主的以字体颜色识别语法的正确性, 还具有代码补全、编译和错误跳转等功能,在编程中被广泛使用
2.2 Vi和Vim三种常见模式
-
一般模式
用vim 文件名
指令(此文件有则打开,无则创建)即可进入一般模式(这是默认的模式),在此模式中输入的字符不显示,都认为是指令 -
插入模式(编辑模式)
在一般模式下按i
(即insert)进入插入模式,在此模式中输入的字符都显示,认为是文本 -
命令行模式
在一般模式下按”:
”或”/
”进入命令行模式,在此模式中输入的字符在最后一行显示,按回车后确认指令,命令行模式下常用的指令:
①:wq
表示保存
②:q!
表示强制退出
③:q
表示退出,若对文档有修改会有提示 -
三种模式的转换
2.3 快速入门案例
使用vim编写一个Hello.java程序并保存
2.4 Vim模式下的常用指令
一般模式下:
yy
:拷贝当前行,5yy表示拷贝当前行向下的5行(包括当前行)p
:粘贴dd
:删除当前行,5dd表示删除当前行向下的5行(包括当前行)G
:移动到文档的末行,gg:移动到文档的首行u
:撤销Ctrl + r
:重做shift + g
:跳转到指定行,输入20后shift + g:跳转到第20行
命令行模式下:
/关键字
:查找关键字,回车确认后再按n可跳转到下一个搜索结果:set nu、:set nonu
:设置、取消行号
第三章 开关机、重启、注销
3.1 开关机、重启
- 基本介绍
①
shutdown:
shutdown -h now:立即关机
shutdown -h x:x分钟后关机
shutdown -r now:立即重启
shutdown -r x:x分钟后重启
②halt
:关机
③reboot
:重启
④sync
:把内存的数据同步到磁盘
- 注意细节
关机或重启前都应该先执行sync,防止数据的丢失
3.2 用户登录和注销
- 基本介绍
(1) 登陆时应该尽量少用root账户登录,因为它是系统管理员,权限最高,为避免操作失误,可以使用普通用户登录,需要时再通过”su - root
”命令切换成系统管理员
(2) 在提示符下输入logout
即可注销用户
- 使用细节
logout注销指令在图形运行级别无效,在运行级别3下有效
第四章 用户管理
4.1 基本介绍
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户都必须先向系统管理员申请一个账号,以这个账号的身份进入系统
- Linux的用户至少要属于一个组
4.2 添加用户
- 基本语法
useradd [选项] 用户名
- 实际案例
添加一个用户xm,若没有指明xm属于哪个组,则自动的创建一个与xm同名的组,并让xm属于新创建的这个组:
- 细节说明
(1) 当创建用户成功之后,会自动的创建和用户同名的家目录(home文件夹下创建xm文件夹)
(2) 可以使用useradd -d
指定目录 新用户,给创建的新用户指定家目录:
注意:Person目录之前必须不存在,指令执行后会在home文件夹下创建Person文件夹
4.3 指定或修改用户的密码
- 基本语法
passwd 用户名 (创建用户之后应当立即为此用户设置密码)
- 实际案例
给Jaychou指定密码:
4.4 删除用户
- 基本语法
userdel 用户名
- 实际案例
① 删除用户xm,但保留家目录:
② 删除用户xq及家目录:
- 细节说明
删除用户时一般不删除家目录,此目录方便以后使用
4.5 查询用户
- 基本语法
id 用户名
-
实际案例
查询root用户的信息:
-
细节说明
当用户不存在时,返回”无此用户”
4.6 切换用户
- 基本语法
su - 要切换的用户名
注意:- 两边都有空格
- 实际案例
从root用户切换到Jaychou用户,再切换回root用户:
- 细节说明
(1) 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要密码:
(2) 返回到原来的用户,使用exit
指令
4.7 用户组
-
介绍
用户属于组,系统可以对属于同一个组的用户进行统一的管理 -
增加组
groupadd 组名
- 删除组
groupdel 组名
- 增加用户时指定所属组
useradd -g 组名 用户名
- 修改用户所属组
usermod -g 组名 用户名 (同样使用-d 目录名可以改变用户的家目录)
- 用户和组的相关文件
(1) /etc/passwd文件
用户的配置文件,记录用户的各种信息:
每行含义:用户名:密码:用户id:组id::家目录:shell
(2) /etc/shadow文件
密码的配置文件,记录密码的信息:
(3) /etc/group文件
组的配置文件,记录组的信息:
第五章 实用指令
5.1 指令的运行级别
5.2 修改运行级别的指令
基本语法:init [012356]
5.3 修改开机后的默认运行级别
- 输入指令
vim /etc/inittab
打开文件:
-
在最后一行找到id:5:initdefault: 修改默认级别(此时的默认级别是5):
-
输入
reboot
指令,重启系统之后变为运行级别3
5.4 帮助指令
-
介绍
当对某个指令不熟悉时,可以使用Linux提供的帮助指令来了解这个指令的用法 -
基本语法
(1) man
指令:获得帮助信息
(2) help
指令:获得shell内置命令的帮助信息
5.5 文件目录类
- pwd指令
基本语法:pwd
功能描述:显示当前工作目录的绝对路径
表示root用户的家目录是/root
- ls指令
基本语法:ls [选项] [目录或文件] (不加目录或文件代表显示当前工作目录)
常用选项:
(1) -l:以列表的方式显示信息
(2) -a:显示隐藏的文件
(3) -al:以列表的形式显示包含隐藏的文件或目录
- cd指令
基本语法:cd [参数]
功能描述:切换到指定目录
注意事项:
(1) 绝对路径表示从根目录”/”开始定位
(2) 相对路径表示从当前工作目录开始定位
(3) 相对路径中…/代表回到上一级目录
(4) cd ~ / cd
回到自己的家目录(~之前有空格)
(5) cd ..
回到当前目录的上一级目录(…之前有空格)
应用实例:
(1) 使用绝对路径切换到/home目录:
(2) 使用相对路径切换到/root目录:
- mkdir指令
基本语法:mkdir [选项] 要创建的目录
功能描述:mkdir指令用于创建目录(只可创建文件夹,无法创建文件)
常用选项:-p代表创建多级目录(一次可创建多个目录)
应用实例:
(1) 创建一个目录/home/Directory1:
(2) 创建多级目录/home/Directory2/animal:
- rmdir指令
基本语法:rmdir 要删除的空目录
功能描述:rmdir指令用于删除目录(只可删除文件夹,无法删除文件)
注意事项:
(1) rmdir指令删除的是空目录,若目录下有内容则无法删除
(2) rm -rf 要删除的目录
指令删除非空目录
- touch指令
基本语法:touch 文件名
功能描述:
(1) touch指令用于创建空文件,相当于widows右键新建文件
(2) touch指令可以一次创建多个空文件,使用空格隔开
应用实例:在/home目录下创建两个空文件hello1.txt、hello2.txt:
- cp指令
基本语法:cp [选项] 被拷贝的文件 拷贝目的地
功能描述:cp指令用于拷贝文件到指定目录
注意事项:
(1) -r
选项可以将整个文件夹拷贝到指定目录(包括文件夹下的所有文件)
(2) \cp
指令复制时可以强制覆盖已有的同名文件,不会提示
应用实例:
(1) 将/home/hello1.txt拷贝到/home/Directory1目录下(拷贝单个文件):
(2) 将/home/Directory1文件夹拷贝到/home/Person目录下(拷贝整个文件夹):
(3) 强制覆盖:
- rm指令
基本语法:rm [选项] 要删除的文件或目录
功能描述:rm指令用于删除文件或文件夹
注意事项:
(1) -r选项表示删除文件夹(包括文件夹下的所有文件)
(2) -f选项表示强制删除不提示
(3) -rf选项亦表示强制删除不提示
(4) 不要使用rm -rf /* 指令,/*表示根目录下所有文件,此操作会将所有数据删除
应用实例:
(1) 将/home/hello1.txt文件删除:
(2) 将/home/hello2.txt文件删除:
(3) 将/home/Directory1文件夹删除:
- mv指令
基本语法:mv 文件或目录 文件或目录
功能描述:
使用实例:
(1) 将/home目录下的Tom.txt重命名为Jerry.txt:
(2) 将/home目录下的Jerry.txt文件移动到/home/Person目录下:
(3) 将/home目录下的Tom文件夹重命名为Jerry:
- cat指令
基本语法:cat [选项] 文件
功能描述:cat指令以只读的方式查看文件内容
注意事项:
(1) -n选项表示显示行号
(2) cat指令只可以浏览文件,不能修改文件
(3) 为了浏览方便常使用 cat 文件 | more 指令分页浏览,按空格键进入下一页
应用实例:打开/home/Person/Tom.txt文件,并显示行号:
- more指令
基本语法:more 文件
功能描述:more指令是基于vi编辑器的文本过滤器,以全屏幕方式按页显示文本文件的内容
应用实例:使用more指令查看/home/Person/Tom.txt文件:
操作说明:
- less指令
基本语法:less 文件
功能描述:
less指令用来分屏查看文件内容,其功能与more指令类似,但less指令显示文件内 容时,并不是一次将整个文件加载之后才显示,而是根据需要加载内容,效率较高
操作说明:
- 输出重定向指令和追加指令
功能描述:>
输出重定向指令会将原来的内容覆盖
>>
追加指令不会覆盖原来文件的内容,而是追加到文件的尾部
基本语法:
(1) ls -l > 文件
将ls -l会显示出的列表的内容覆盖写入到指定文件
(2) ls -l >> 文件
将ls -l会显示出的列表的内容追加写入到指定文件的尾部
注意:
①是将列表的内容以文本形式写入到指定文件,不是写入列表中的文件本身
②指定文件若不存在,则创建此文件
(3) cat 文件1 > 文件2
将文件1的内容覆盖写入到指定文件(>>代表追加到尾部)
(4) echo “文本” > 文件
将双引号中的内容覆盖写入到指定文件(>>代表追加到尾部)
- echo指令
基本语法:echo [选项] 输出内容
功能描述:echo指令将内容输出到终端显示
应用实例:
(1) 使用echo指令输出环境变量:
(2) 使用echo指令输出”Hello”:
- head指令
基本语法:head [选项] 文件
功能描述:head指令用于显示文件的开头部分,默认显示文件的前10行内容
常用选项:-n x表示显示文件的前x行内容
应用实例:查看/home/Person/Jerry.txt文件的前5行:
- tail指令
基本语法:tail [选项] 文件
功能描述:tail指令用于显示文件的末尾部分,默认显示文件的后10行内容
常用选项:
(1) -n x表示显示文件的后x行内容
(2) -f表示实时追踪文件的更新,一旦文件内容有更新,则显示的内容同步变化
应用实例:
(1) 查看/home/Person/Jerry.txt文件的后5行:
(2) 实时监控/home/Person/Tom.txt文件,并将更新同步显示:
- ln指令
基本语法:ln -s 被链接的文件或目录 链接名
功能描述:ln指令类似windows里的快捷方式,给文件或目录指定快捷方式(链接)
应用实例:
(1) 在/home目录下创建一个链接linktoroot,链接到/root目录:
(2) 删除链接linktoroot:
- history指令
基本语法:history
功能描述:显示系统所有执行过的历史指令
注意事项:
(1) !xx
指令可以执行历史编号为xx的指令(xx前没有空格)
(2) history xx
指令可以查看最近使用过的xx条指令
应用实例:
(1) 显示所有执行过的历史指令:
(2) 执行编号为12的指令:
5.6 时间日期类
- date指令
基本语法:(1)date
(功能:显示当前时间(年月日时分秒))
(2)date “+%Y”
(功能:显示当前年份)
(3)date “+%m”
(功能:显示当前月份)
(4)date “+%d”
(功能:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S”
(功能:显示当前的年-月-日 时:分:秒)
注意:可以不使用”-”或”:”作为连接符,亦可用汉字等其他字符连接
(6)date -s “年-月-日 时:分:秒”
指令设置系统的时间
应用实例:显示当前时间:
- cal指令
基本语法:cal [选项]
功能描述:
(1) cal指令查看日历,不加选项查看本月日历
(2) cal xxxx 指令查看某一年的日历(xxxx指年份)
应用实例:查看当前月份的日历及2020年的日历:
5.7 搜索查找类
- find指令
基本语法:find 目录 选项
功能描述:
find指令从指定的目录向下递归的遍历其所有子目录,将满足条件的文件或目录
输出在终端
常用选项:
应用实例:
(1) 查找/home/Person/Tom.txt文件:
(2) 查找/home目录下属于root用户的文件:
(3) 查找整个系统大于、小于、等于2000M的文件:
(4) 查找整个系统中所有以.txt结尾的文件:
- locate指令
基本语法:locate 文件
功能描述:
locate指令可以快速定位文件所在的路径,locate指令利用事先建立的包含系统中
所有文件名及路径的数据库实现快速定位
注意:由于locate指令基于数据库查询,故使用locate指令之前,使用updatedb
指令手动更新数据库
应用实例:查找Tom.txt文件所在的路径:
- grep指令和管道符号
基本语法:grep [选项] 查找内容
功能描述:
(1) grep指令用于过滤查找
(2) 管道符”|”
表示将前面的指令的输出结果传递给后面的指令处理
常用选项:
应用实例:在/home/Person/Jerry.txt文件中,查找”Arrays”字符串所在行并显示行号:
5.8 压缩和解压类
- gzip/gunzip指令
基本语法:
gzip 文件
(功能:压缩文件,只能将文件压缩为以.gz结尾的压缩文件)
gunzip 文件
(功能:解压以.gz结尾的压缩文件)
注:
(1)两个指令的源文件不保留
(2)两个指令都可同时操作多个文件,空格隔开
应用实例:
(1) 将/home/Person/Jerry.txt文件压缩为.gz结尾的文件:
(2) 将/home/Person/Jerry.txt.gz文件解压:
- zip/unzip指令
基本语法:
zip [选项] 压缩结果名.zip 被压缩的内容
unzip [选项] 被解压文件名.zip
注:
(1) 两个指令的源文件保留
(2) 两个指令都可同时操作多个文件,文件之间用空格隔开
功能描述:zip指令用于压缩文件,unzip指令用于解压文件
常用选项:
(1) zip指令的 -r 选项递归压缩目录(即压缩文件夹及其所有子目录和子文件)
(2) unzip指令的 -d 目录 选项指定解压后的文件存放位置
应用实例:
(1) 将/home/Person下的Jerry.txt和Tom.txt文件压缩成package.zip文件:
(2) 将package.zip文件解压到/var目录下:
- tar指令
基本语法:tar [选项] 打包结果名.tar.gz 被打包的内容(目录或文件)
功能描述:既可压缩,又可解压
常用选项:
应用实例:
(1) 将/home/Person/下的Tom.txt和Jerry.txt压缩成Animals.tar.gz:
(2) 将Animals.tar.gz解压到当前目录:
(3) 将Animals.tar.gz解压到/home/xm目录下:
5.9 其他指令及注意事项
- 清屏指令:
clear
- 可以通过上下箭头调出原来使用过的指令
- 按Tab键可以自动补全文件名或目录名
- 强制退出正在执行的指令:
Ctrl + c
- 终端中修改的不是有色方块中的字符,而是方块的前一个字符,如:增删字符不影响m
- 退出终端指令:
exit
第六章 组管理和权限管理
6.1 Linux组的基本介绍
- Linux中每个用户至少属于一个组,不能独立于组外
- Linux中每个文件都有所有者、所在组、其他组的概念
6.2 文件/目录所有者
谁创建了该文件/目录,自然成为了该文件/目录的所有者
- 查看文件/目录的所有者
基本语法:ls -l
(还可查看文件的权限等各类信息)
应用实例:创建一个animal组,再创建一个用户dog,然后用dog用户创建一个文件dog.txt:
- 修改文件/目录的所有者
基本语法:chown [选项] 用户名 文件名
常用选项:-R选项表示对文件夹及其下所有内容有效
应用实例:使用root用户创建一个文件bone.txt,然后将此文件的所有者改为dog用户:
注意事项:bone.txt的组并未改变,依然属于root组,即文件不一定属于所有者所在的组
6.3 文件/目录所在组
当用户创建了一个文件/目录后,默认这个文件/目录所在的组就是该用户所在的组
-
查看文件/目录所在组
基本语法:ls -l
(还可查看文件的权限等各类信息) -
修改文件/目录所在组
基本语法:chgrp [选项] 组名 文件名
(-R选项表示对文件夹及其下所有内容有效)
应用实例:使用root用户创建bone2.txt文件,然后将这个文件所在组移动至animal组:
注意事项:bone2.txt的所有者并未改变,依然属于root用户,即文件的所有者和所在组无关系
- 修改文件/目录所有者和所在组
基本语法:chown [选项] 用户名:组名 文件名
常用选项:-R选项表示对文件夹及其下所有内容有效
应用实例:将/home/dog目录及其下所有内容的所有者和所在组均改为root:
6.4 其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
6.5 权限的基本介绍
ls -l中某个文件显示的内容如下:
-rw-r--r--. 1 dog root 5 8月1 18:08 bone.txt
内容说明:
(1) 第1位表示文件类型:
- 普通文件
d 目录
l 链接
c 字符设备(键盘、鼠标等)
b 块文件(硬盘)
(2) 第2-4位表示该文件所有者拥有该文件的权限(User)
(3) 第5-7位表示该文件所在组的用户拥有该文件的权限(Group)
(4) 第8-10位表示其他组的用户拥有该文件的权限(Other)
(5) 数字1:
①如果是文件,则表示硬连接的个数(一般都是1)
②如果是目录,则表示该目录的第一级子目录个数
注:
1. 不是该目录下的文件个数
2. 实际第一级子目录个数需要此数字减2,因为Linux系统中每个目录下都有./和../ 表示当前目录和上一级目录
③如果是链接,则表示链接文件个数
(6) dog表示该文件所有者
(7) root表示该文件所在组
(8) 数字5表示文件大小(字节),如果是文件夹则为4096
(9) 绿色的时间表示文件的最后修改时间
(10) 最后表示文件名
6.6 rwx权限详解
-
rwx作用到文件
(1)r
表示可读(read):可以读取、查看
(2)w
表示可写(write):可以修改该文件
注:可写不代表可以删除该文件,删除文件的前提条件是对该文件所在的目录有写权限
(3)x
表示可执行(execute):可以执行该文件 -
rwx作用到目录
(1)r
表示可读:可以使用ls指令查看该目录的内容
(2)w
表示可写:可以新建、删除、修改、移动目录内文件
(3)x
表示可执行:可以使用cd指令进入该目录 -
使用数字表示rwx
规则:r = 4,w = 2,x = 1
示例:r = 4,rw = 4 + 2 = 6,rwx = 4 + 2 + 1 = 7,rwxr-xr-x = 755
6.7 修改权限
通过chmod
指令,可以修改文件或目录的权限
-
通过+、-、=变更权限
u:所有者,g:所在组的用户,o:其他组的用户,a:u、g、o的总和(所有人)
(1)chmod u=rwx,g=r,o=rx 文件/目录名
:修改u、g、o的权限
(2)chmod g+x,o+w 文件/目录名
:给g增加x权限,给o增加w权限
(3)chmod a-x 文件/目录名
:给所有用户减少x权限 -
通过数字变更权限
chmod 751 文件/目录名
<====>chmod u=rwx,g=rx,o=x 文件/目录名
第七章 任务调度
7.1 概述
- 任务调度:系统在某个指定的时间执行特定的命令或程序
- 任务调度分类:(1) 系统工作:某些重要的工作必须周而复始的执行,如病毒扫描
(2) 个别用户工作:个别用户可能定时执行某些命令,如数据库的备份
7.2 快速入门
-
基本语法:
crontab [选项]
-
常用选项:(1) -e表示编辑crontab定时任务
(2) -l表示列出当前有哪些任务调度
(3) -r表示删除当前用户所有的crontab任务调度
(4)service crond restart
指令表示重启任务调度 -
注意事项:(1) 如果只是简单的任务可以不用写脚本,直接在crontab中加入任务即可
(2) 如果是比较复杂的任务,需要写脚本(Shell编程) -
应用实例:执行任务调度,任务为:*/1 * * * * ls -l /home >> /home/word.txt,代表的意思是:
每分钟执行一次ls -l /home >> /home/word.txt:
-
(实例中橙色)参数说明:
(1) 五个占位符的说明:
(2) 特殊符号的说明:
(3) 特定时间执行任务案例:
- 应用实例:
使用Shell脚本编写任务,每天凌晨2点将当前日期和日历追加到/home/word.txt中:
(1) 使用vim编辑器编辑一个文件:vim /home/mytask.sh,按i在其中输入:
date >> /home/word.txt
cal >> /home/word.txt
保存,退出vim编辑器
(2) 给mytask.sh一个可执行权限:
chmod 744 /home/mytask.sh
(3) 执行crontab -e
指令,其中输入:0 2 * * * /home/mytask.sh,保存,成功
第八章 磁盘分区
8.1 Linux分区过程
一个可使用的分区应该经历以下四步:
- 分区:把大硬盘分为小的分区
(1)目前使用的硬盘基本上都是SCSI硬盘
(2) SCSI硬盘使用sd表示分区的设备类型,而IDE硬盘使用hd表示分区的设备类型
(3)分区时设置分区设备文件名 - 格式化:写入文件系统
- 挂载:为每个分区分配挂载点
8.2 分区
- 分区方式:
(1) mbr分区:
最多支持四个主分区
系统只能安装在主分区
扩展分区要占一个主分区
MBR最大只支持2TB,但拥有最好的兼容性
(2) gtp分区:
支持无限多个主分区(但操作系统可能限制,比如 windows下最多128个分区)
最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
windows7 64位以后支持gtp
-
分区类型:
(1) 主分区:最少一个,最多只能有四个
(2) 扩展分区:可以没有,最多一个,是主分区的一种(若有扩展分区,最多只能有三个主分区)
注意:扩展分区不能存储数据和格式化,必须划分成逻辑分区才可以使用
(3) 逻辑分区:在扩展分区中划分,SCSI硬盘Linux最多支持11个逻辑分区
注意:逻辑分区的主要作用是突破四个分区的限制,使Linux可以有多个分区 -
分区表示方法:
8.3 格式化
-
格式化的作用是写入文件系统:
(1) 把分区分成一个一个等大小的数据块
(2) 建立一个inode列表,通过inode编号找到文件保存在哪几个数据块中,从而在数据块取出 数据,拼凑成完整文件以供使用 -
目前常用的文件系统是ext4,是CentOS 6.3 默认文件系统
8.4 分区设备文件名
对应上图的两种分区方法:
注意:/dev/sda(1 - 4)只可以给主分区或扩展分区使用,逻辑分区不可使用,只可以从sda5开始
8.5 挂载
给分区写入挂载点(理解为windows下的c、d、e等盘符),Linux使用空目录作为挂载点(盘符),故Linux中目录可以有自己独立的硬盘空间(分区),挂载之后,在挂载点(目录)存放的文件都认为存在于对应硬盘空间(分区)中
8.6 查看系统的分区情况
基本语法:lsblk、lsblk -f
应用实例:
8.7 增加新硬盘
第一块硬盘为sda,第二块硬盘为sdb,依次类推…
注意:
(1) a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘
(2) sda1、sda2…是sda硬盘的分区,sdb1、sdb2…是sdb硬盘的分区,依次类推…
应用实例:给Linux系统增加一块新硬盘,挂载到/home/newdisk目录下,步骤如下:
-
添加硬盘,在Centos界面外,点击如下(点击之后需重启系统):
-
分区,执行指令
fdisk /dev/sdb
(磁盘映射为文件,sdb映射至此文件),输入m显
示菜单列表,再选择n新增分区,之后执行如下图:
-
格式化,执行指令
mkfs -t ext4 /dev/sdb1
(向sdb1分区写入ext4文件系统) -
挂载,先创建空文件夹newdisk,再执行指令 mount /dev/sdb1 /home/newdisk
-
永久(自动)挂载,步骤4重启后会失去挂载效果,执行指令 vim /etc/fstab,如下:
每一行都有六列(字段),含义如下:
在/etc/fstab中最后一行加入 /dev/sdb1 /home/newdisk ext4 delaults 1 2,保存
-
执行指令
mount -a
生效 -
取消挂载效果:
umount 设备文件名
或umount 挂载目录
,分区保留,自行处理
8.8 磁盘情况查询
- 查询系统整体的磁盘使用情况
(1) 基本语法
df [-h]
- 查询指定目录的磁盘使用情况
(1) 基本语法
du [选项] [目录]
如果不加目录默认是当前目录
(2) 常用选项
-h:带计量单位
-s:对指定目录进行汇总
-a:将文件也列出(默认只列出文件夹)
–max-depth=x:子目录深度x
-c:列出明细的同时增加汇总值
(3) 应用实例
8.9 磁盘情况实用指令
- 统计/opt目录下文件的个数
ls -l /opt | grep "^-" | wc -l
注:
(1) grep支持正则表达式
(2) wc -l用于统计数据
- 统计/opt目录下目录的个数
ls -l /opt | grep "^d" | wc -l
- 统计/opt目录下文件的个数,包括子文件夹里的
ls -lR /opt | grep "^-" | wc -l
-R选项表示递归
- 统计/opt目录下目录的个数,包括子文件夹里的
ls -lR /opt | grep "^d" | wc -l
- 以树状结构显式/home目录
tree /home
没有tree指令时,需要使用yum install tree
安装tree指令
第九章 网络配置
9.1 Linux网络配置原理图
查看Linux的网络配置:ifconfig
9.2 Linux网络环境配置
- 自动获取
Linux每次启动后都会自动获取ip地址,缺点是每次自动获取的ip地址可能不同
进入Linux的设置
- 指定IP
直接修改配置文件指定ip,固定ip地址,假定固定为192.168.200.130
(1) 输入指令 vim /etc/sysconfig/network-scripts/ifcfg-ens33
(2) 在VMware中点击编辑进入虚拟网络编辑器
(3) 重启网络服务或者重启系统生效
service network restart
或
reboot
第十章 进程管理
10.1 基本介绍
- 在Linux中,每个执行的程序都称为一个进程,每个进程都有一个进程号pid
- 每个进程都可能以两种方式存在:前台与后台;前台指的是用户目前的屏幕可以看到的,后台指 的是此进程在运行,但是屏幕上看不到
- 通常系统的服务都是以后台的方式运行,而且会常驻内存,直到关机才结束
10.2 显示系统中运行的进程
- 使用ps指令可以查看目前系统中运行的进程及其详细情况
ps [选项]
-a:显示当前终端的所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
ps -aux | grep xxx
:可以查看xxx进程的信息
- ps指令详解
(1) USER:进程所属的用户名称
(2) PID:进程号
(3) %CPU:进程占用CPU的百分比
(4) % MEM:进程占用物理内存的百分比
(5) VSZ:进程占用的虚拟内存大小(KB)
(6) RSS:进程占用的物理内存大小(KB)
(7) TTY:终端名称(缩写)
(8) STAT:进程状态
S:睡眠;s:会话的先导进程;N:比普通优先级更低的优先级
R:正在运行;D:短暂等待;Z:僵死进程;T:被跟踪或者被停止
(9) START:进程的启动时间
(10) TIME:进程使用CPU的总时间
(11) COMMAND:启动此进程所用的命令参数(过长会被截断显示)
- 使用
ps -ef
指令可以以全格式显示当前所有的进程
-e:显示所有进程;-f:全格式(会显示父进程)
ps -ef | grep xxx
:可以查看xxx进程的信息
(1) PPID:父进程的id
(2) C:数值越大表示执行优先级越低;数值越小表示执行优先级越高
(3) STIME:进程启动的时间
10.3 终止进程
若某个进程需要停止时,需要使用kill指令终止该进程
- 基本语法
kill [选项] 进程号
killall 进程名称 (会将其所有子进程全部终止,支持通配符)
- 常用选项
-9:强行终止进程
- 注意
登录的用户、打开的终端都有对应的进程号,可以将其踢出或关闭
10.4 查看进程树
通过进程树可以更直观的观察进程的信息及其之间的关系
- 基本语法
pstree [选项]
- 常用选项
-p:显示进程的PID
-u:显示进程的所属用户
- 应用实例
10.5 服务管理
服务(守护进程)的本质是运行在后台的进程,通常会监听某个端口的变化,等待其他程序的请求
service
指令基本语法
service 服务名 [start | stop | restart | reload | status]
注:CentOS 7.0之后很多服务不再使用service,而使用systemctl
service指令管理的服务在 /etc/init.d中查看
setup
指令查看服务
- CentOS 7.0之后运行级别说明
查看当前运行级别:systemctl get-default
设置运行级别:systemctl set-default xxx.target
运行级别3:multi-user.target
运行级别5:graphical.target
- c
hkconfig
指令设置服务自启动
通过chkconfig指令可以给某个服务在指定的运行级别下设置是否自启动
基本语法:
查看chkconfig管理的服务:chkconfig --list [| grep xxx]
设置服务是否自启动:
chkconfig --level 5 服务名 on/off
注意:chkconfig指令使用之后需要重启机器方可生效
systemctl
指令管理服务
systemctl指令管理的服务在 /usr/lib/systemd/system中查看
基本语法:
systemctl [start | stop | restart | status] 服务名
- systemctl指令设置服务自启动
查看服务自启动状态:systemctl list-unit-files [| grep 服务名]
设置3、5运行级别自启:systemctl enable 服务名
关闭3、5运行级别自启:systemctl disable 服务名
查询某个服务是否自启:systemctl is-enabled 服务名
注意:如果使用start、stop指令停止启动服务,仅本次有效;重启后仍然会恢复默认开启或关闭,修改默认开机是否启动必须使用systemctl [enable|disable] 服务名
- 打开或关闭指定端口
实际生产环境中往往需要将防火墙打开,如果把防火墙打开,外部请求就无法与Linux进行通 讯,此时Linux需要打开指定的端口与外界通讯
(1) 基本语法
打开端口:firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
查询端口是否开放:firewall-cmd --query-port=端口号/协议
重新载入方可生效:firewall-cmd --reload
(2) 查看协议
netstat -a | more
10.6 动态监控进程
使用top指令可以动态监控进程,top指令每隔一段时间会自动刷新正在运行的进程
- 基本语法
top [选项]
- 交互操作说明
top指令显示的结果中直接输入字母即可
- 应用实例
(1) 监视特定的用户
先输入top,回车,输入u,回车,输入用户名
(2) 终止指定的进程
先输入top,回车,输入k,回车,输入进程号
(3) 指定进程刷新的时间为10秒
top -d 10
10.7 监控网络状态
- 基本语法
netstat [选项]
- 常用选项
-an:按一定顺序输出
-p:显示哪个进程在调用
- 应用实例
(1) 输入指令 netstat -an | more
对黄框说明:
(2) 输入指令 netstat -anp | more
(3) 查看某一进程:netstat -anp | grep xxx
第十一章 RPM与YUM
11.1 RPM
- RPM包的介绍
rpm包是一种具有.RPM扩展名的安装文件
- RPM包的相关指令
(1) 查看已安装的火狐的rpm包:rpm -qa | grep firefox
rpm包的基本格式:firefox-60.2.2-1.el7.centos.x86_64
① 名称:firefox
② 版本号:60.2.2-1
③ 适用操作系统:1.el7.centos.x86_64,表示centos7.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用
(2) 查看已安装的所有rpm包:rpm -qa | more
(3) 查看火狐的rpm包是否安装:rpm -q firefox
(4) 查看火狐的rpm包的信息:rpm -qi firefox
(5) 查看火狐的rpm包中的文件:rpm -ql firefox
(6) 查看install.log文件所属的rpm包:rpm -qf /root/install.log
(7) 卸载火狐rpm包:rpm -e firefox
注意:如果其他软件依赖所要卸载的软件,会提示:
removing these packages would break dependencies:foo is needed by bar-1.0-1
可以使用 rpm -e --nodeps firefox 强制卸载
(8) 安装rpm包:rpm -ivh RPM包全路径名称
参数说明:
i = install 安装
v = verbose 提示
h = hash 进度条
安装示例:
(1) 将火狐的rpm包移动到/opt目录下
(2) 输入指令
11.2 YUM
- YUM的介绍
YUM是基于RPM包的安装包管理器,能够从指定的服务器自动下载RPM包并且安装,无需手 动提前将RPM包下载到本地,并且可以一次安装所有依赖的安装包
- YUM的基本指令
(1) 查看yum服务器的rpm包:yum list [| grep xxx]
(2) 通过yum安装指定的rpm包:yum install xxx