Linux运维学习笔记
此笔记为学习https://www.bilibili.com/video/BV1nW411L7xm/?vd_source=3f851e85e66ef33269a2eefee664cec2的学习记录,目前持续更新中,希望能找到运维的实习吖 O(≧▽≦)O
Linux的终端
终端组成部分
Linux关机命令
shoutdown -h now(正常关机)
halt(关闭内存)
init 0
使用VMware备份操作系统
快照
- 保存某个时期系统状态,短期备份
克隆
- 复制,长期备份,必须关闭敞口
Linux系统的文件
文件与文件夹
Linux系统的文件目录结构
Linux的基本指令
指令与选项
- 标准格式:#指令主体 [选项] [操作对象]
基础指令
ls指令
-
ls:
列出当前目录所有文件 -
ls 路径:
列出指定路径下的文件-
- 蓝色表示文件夹
- 黑色表示文件
- 绿色表示拥有的权限
-
-
ls 选项 路径
:列出指定路径下的文件并以指定的格式显示-
ls -l
:详细列表形式展示 -
ls -a
:显示所有文件(包括隐藏文件) -
ls -lh 路径:列出指定文件夹的名称,并显示大小
-
pwd指令
pwd
:打印当前工作路径
cd命令
cd 路径
:用于切换当前工作目录
mkdir指令
mkdir 路径
:创建目录mkdir -p 路径
:一次性创建多个不存在的目录mkdir 路径1 路径2 路径3 ...
:一次性创建多个目录
touch指令
touch 文件路径
:创建文件touch 文件1 文件2
:当前路径下创建多个文件
cp指令
cp 被复制的文档路径 文档被复制到的路径
:复制一个文件cp -r 被复制的文档路径 文档被复制到的路径
:递归复制
mv指令
mv 需要移动的文档 需要保存的位置
:移动文档到新的位置(可以用来重命名)
rm指令
- rm 选项 需要移除的文件路径
rm 文件名
:不带选项,需要频繁输入y或nrm -f 文件名
:强制删除,不提示是否删除rm -r 文件名
:递归删除rm 部分名字*
: *为通配符,删除某些字段开头的文件
vim命令
vim 文件的路径
:编写某个文件
输出重定向
-
正常执行的指令 >/>> 文件的输出路径
:输出结果到指定的地方-
>
:覆盖输出,会覆盖掉原来文件的内容 -
>>
:追加输出,在原始内容末尾继续添加
-
cat指令
cat 文件的路径
:cat有直接打开一个文件的功能cat 待合并的文件路径1 待合并的文件路径2... > 合并之后的文件路径
:合并若干个文件并存到一个文件中,配合输出重定向使用
进阶指令
df指令
df
:查看磁盘空间
free指令
free -m
:表示以mb为单位查看剩余内存
head指令
head -n 文件路径
:查看一个文件的前n行,默认n为10
tail指令
tail -n 文件路径
:查看一个文件的最后的n行,默认n为10tail -F 文件的路径
:查看一个文件的动态变化
less指令
less 需要查看的文件路径
:查看文件,以较少的内容进行输出,用辅助功键(空格翻页、上下键/回车一行行查看、数字+空格指定行)能查看更多
wc指令
wc 选项 文件的路径
:统计文件内容信息(行数、单词数、字节数)wc -l
:行数wc -w
:单词数wc -c
:字节数
date指令(重点)
-
date
:表示操作时间日期(读取、设置),输出格式为2023年9月26日21:49:17 -
date +%F
:输出形式为2023-9-26 -
date +"+%F %T"
:引号表示年月日与时分秒成为一个整体,输出形式 2023-9-26 21:49:17 -
date -d "-1 day"
:获取之前或者之后的某个时间(备份)
cal指令
cal
:直接输出当前月份的日历cal -3
:输出上月、本月、下月的日历cal -y 年份
:输出整年的月份
clear/按下ctrl+L指令
clear
:清除终端中已经存在的命令和结果(信息)
管道
- :管道一般可以用于“过滤,”特殊“,”拓展处理“
高阶指令
hostname指令
hostname
:输出完整主机名hostname -f
:输出当前主机名中的FQDN(全限定域名)
id指令
id
:默认显示当前执行该命令的用户的基本信息id 用户名
:显示指定用户的基本信息
whoami指令
whoami
:一般用于shell脚本,用于获取当前操作的用户名方便记录日志
ps -ef指令(重点)
-
ps -ef
:查看服务器的进程信息-e
:等价于“-A”表示列出全部的进程-f
:显示全部的列(显示全字段)
-
ps -ef|grep 进程名称
:在ps的结果中过滤出想要查看的进程状态
top指令(重点)
top
:查看服务器进程占用资源-
运行top的时候,可以按下快捷键:
- M:表示将奖结果按照内存(MEM)从高到低进行降序排序
- P:表示将结果按照CPU的使用率从高到低进行降序排序
- 1:当服务器拥有多个CPU的时候可以使用“1”快捷键来切换是否显示各个CPU的详细情信息
du -sh指令
du -sh 目录路径
:查看目录的真实大小-s
:summaries,只显示汇总的大小-h
:以高可读的形式显示
find指令
find 路径范围 选项 选项的值
:用于查找文件(共有55个指令)- 选项:
-name
:按照文档名称进行搜索-type
:按照文档的类型进行搜索- 文档类型:“-”表示文件(用“f”来代替),“d”表示文件夹
service指令(重点)
service 服务名 start/stop/restart
:用于控制一些软件的服务启动/停止/重启
kill指令(重点)
kill 进程PID
:杀死进程kill all 进程名称
:与kill相似
ifconfig指令(重点)
ifconfig
:获取网卡信息- inet addr就是网卡的IP地址
reboot指令
reboot
:重新启动计算机reboot -w
:模拟重启(实际不重启)
shutdown指令(重要)
shutdown -h now "关机提示"或者shutdown -h 指定时间 "关机提示"
:关机- 取消关机:
- centos7.x之前的版本:Ctrl+c
- centos7.x之后的版本
shutdown -c
- 取消关机:
uptime指令
uptime
:输出计算机从开机到现在的时间
uname指令
uname
:获取操作系统的类型uname -a
:获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
netstat -tnlp指令
netstat -tnlp
:查看网络的连接状态
man指令
man 命令
:手册
练习题
-
如何通过命令行重启linux操作系统?
reboot
-
如何在命令行中快速删除光标前/后的内容?
前:ctrl + u 后:ctrl + k
-
如何删除/tmp下所有A开头的文件?
cp /etc/passwd /tmp/
-
如何查看系统最后创建的3个用户?
cp /etc/passwd /tmp/
-
如何查看系统最后创建的3个用户?
tail -3 /etc/passwd
-
什么命令可以统计当前系统中一共有多少账户?
wc -l /etc/passwd
cat /etc/passwd|wc -l
-
如何创建/tmp/test.conf文件?
touch /tmp/test.conf
-
如何通过vim编辑打开/tmp/test.conf?
vim /tmp/test.conf
-
如何查看/etc/passwd的头3行和尾3行?
head -3 /etc/passwd
tail -3 /etc/passwd
-
如何一次性创建目录/text/1/2/3/4?
mkdir -p /text/1/2/3/4
-
如何最快的返回到当前账户的家目录?
cd ~
cd
-
如何查看/etc所占的磁盘空间?
du -sh /etc
-
如何删除/tmp下所有的文件?
rm -rf /tmp/*
-
尝试启动Apache的服务,并且检查是否启动成功。
service httpd start
ps -ef|grep httpd
-
使用已学命令杀死Apache的进程。
killall httpd
vi编辑器
vim的三种模式(重点)
-
命令模式
-
编辑模式(输入模式)
-
末行模式(尾行模式)
命令模式
光标移动
- 移动到行首:
^
- 移动到行尾:
$
- 移动到首行:
gg
- 移动到末行:
G
- 翻屏:
- 向上:
按键PageUp
/Ctrl+b
- 向上:
按键PageDown
/Ctrl+f
- 向上:
复制
- 复制光标所在行:
yy
- 光标的当前行在内,向下复制指定的行数:
数字yy
- 可视化复制:
ctrl+v
,然后方向键上下左右进行选择
粘贴
- 想要粘贴的地方:
p
剪切/删除
- 剪切/删除光标所在行:
dd
(删除之后的下一行上移) - 剪切/删除光标的当前行在内,向下进行删除/剪切指定的航:
数字dd
- 剪切/删除光标的当前行在内,但是不上移:
D
撤销/恢复
- 输入:
:u
/u
- 恢复:
ctrl+r
光标迅速移动
- 快速移动到指定行:
数字G
- 以当前行为标准向上/下/左/右移动:
数字+方向键
模式间的切换
末行模式
保存
- 保存:
:w
- 另存为:
:w 路径
退出
- 退出:
:q
保存并退出
- 输入:
:wq
强制
- 强制退出但不保存:
:q!
调用外部的命令
- 输入:
:!外部命令
搜索/查找
- 输入:
/关键
,通过按键选择上一个(N)下一个(n)
取消高亮
- 输入:
:nohl
替换
:s/搜索的关键词/新的内容
:替换光标所在行第一处符合条件的内容:s/搜索的关键词/新的内容/g
:替换光标所在行的全部符合条件的内容:%s/搜索的内容/新的内容
:替换整个文档每行第一个符合条件的内容:%s/搜索的关键词/新的内容/g
:替换整个文档符合条件的内容%
表示整个文件g
表示全局
行号
- 显示:
:set nu
- 取消显示:
:set nonu
多个文件切换
-
查看当前已经打开的文件名称:
:files
-
切换文件的方式
- 切换指定文件:
open 已经打开的文件名
- 通过其他命令来切换上/下一个文件
:bp
:切换到上一个文件:bn
:切换到下一个文件
- 切换指定文件:
编辑模式
进入
a
:光标前插入i
光标后插入
退出
按下esc
实用功能
代码着色
- 开启显示:
:syntax on
- 关闭显示:
:syntax off
vim中计算器的使用
- 进入编辑模式
- 按下按键
ctrl+r
,然后输入=
,光标回来到最后一行 - 输入需要计算的内容然后按下回车
拓展
vim的配置
-
在文件打开的时候在末行模式下的输入的配置(临时的)
-
个人配置文件(~/.vimrc,没有的话需自行创建)
-
全局配置文件(vim自带,/etc/vimrc)
异常退出
-
解决方法:
- 将交换文件(在编程过程中产生的临时文件)删除掉即可:
rm -f 临时文件名
- 将交换文件(在编程过程中产生的临时文件)删除掉即可:
别名机制(使用)
退出方法
:x
:没有修改直接退出,修改了将保存后退出
Linux自有服务
运行模式
-
与该级别有关的几个命令:
init 0
:关机init 3
:切换到不带桌面的模式init 5
:切换到图形化界面init 6
:重启电脑
用户与用户组管理
- 注意三个文件
- /etc/passwd:储存用户关键信息
- /etc/group:储存用户组的关键信息
- /etc/shodow:储存用户密码信息
用户管理
-
添加用户
-
useradd 选项 用户名
,常用选项:-g
:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名-G
:表示指定用户的用户附加3组,选项的值可以是用户组的id,也可以是组名-u
:自定义用户id
-
-
-
修改用户
usermod 选项 用户名
,常用选项:-g
:表示指定用户的用户主组,选项值可以是用户组的id,也可以是组名-G
:表示指定用户的用户附加组,选项值可以是用户组的id,也可以是组名-u
:修改用户ID(用户的标识符)-l 新用户名 旧用户名
:修改用户名
-
设置密码
passwd 用户名
-
删除用户
userdel 选项 用户名
,常用选项:-r
:删除用户的同时,删除其家目录
用户组管理
-
用户组添加
groupadd 选项 用户名
,常用选项:-g
:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组id数字
-
用户组编辑
groupmod 选项 用户组名
,常用选项:-g
:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组id数字-n
:类似于用户修改“-l”,表示设置新的用户组名称
-
用户组删除
groupdel 用户组名
网络设置
-
网卡位置:
-
重启网卡:
service network restart
-
查看服务的快捷方式
- 在/etc/init.d存放着相对应的服务快捷方式
-
创建软链接
ln -s 原始文件的路径 快捷方式的路径
-
重启网卡
- 停止网卡:
ifdown 网卡名
- 开启网卡:
ifup 网卡名
- 停止网卡:
ssh服务
- 默认端口号:22
- 端口文件在/etc/ssh/ssh_config
- 端口号范围在0-65535
- 不能使用已被占用的端口号
- 服务启动/停止/重启:
service sshd start/stop/restart
远程终端
- 常用工具:Xshell、Putty、secureCRT
ssh文件传输
设置主机名
- 临时设置主机名:
hostname 主机名
- 永久设置主机名:
- 找到主机名的配置文件:/etc/sysconfig/network
- 修改其中的HOSTNAME为新主机名
- 修改Linux服务器的hosts文件,将新主机名指向本地(设置FQDN)
chkconfig
-
开机启动服务查询:
chkconfig --list
-
删除服务:
chkconfig --del httpd 服务名
-
添加开机启动服务:
chkconfig -add 服务名
-
设置服务在某个级别下开机启动/不启动:
chkconfig -level 连在一起的启动级别 服务名 on/off
ntp服务
- 一次性同步时间(简单):
ntpdate 时间服务器的域名或IP地址
- IP地址查询亦可访问http://www.ntp.org.cn/
- 设置时间同步服务
- 服务名:ntpd
- 启动ntpd服务:
service ntpd start
- 设置ntpd服务开机自启:
chkconfig --level 35 ntpd on
防火墙服务
- 查看防火墙是否开机启动:
chkconfig --list | grep iptables
- iptables服务启动/重启/关闭:
service iptables start/stop/restart
- 查看iptables的状态:
service iptables status
- 查看规则的命令:
iptables —L-n
- 简单设置防火墙规则:
-
保存防火墙规则:
/etc/init.d/iptables save
rpm管理
-
查询:
rpm -qa|grep 关键词
,选项:-q
:查询-a
:全部
-
卸载:
rpm -e 软件的名称
-
安装
-
方法:
- 从光盘中下载(旧版本)
- 去官网下载
-
以光盘文件为例:
-
查看块状文件:
lsblk
-
Name:名称,Size:设备大小,Type:类型,MountPoint:挂载点(类似windows下盘符)
- 光盘的挂载与解挂:
- 解挂:
umount 当前设备的挂载点(路径)
(相当于U盘在windows上已经被弹出了,但是没有拔下电脑USB接口。) - 挂载:
mount 设备原始地址 要挂载的位置路径
- 解挂:
- 光盘的挂载与解挂:
-
-
安装软件的命令:
rpm -ivh 软件包完整名称
,选项:-i
:安装-v
:显示进度条-h
:表示以”#“形式显示进度条
-
cron/crontab计划任务
-
crontab 选项
,常用选项:-l
:列出指定用户的计划任务列表-e
:编辑指定用户的计划任务列表-u
:指定的用户名,如果不指定,则表示当前用户-r
:删除指定用户的计划任务列表
-
编辑计划任务
-
crontab权限问题:超级用户可以通过配置来设置某些用户不允许设置计划任务,配置文件(黑名单)位于:
/etc/cron.deny
,里面写用户名,一行一个;还有一个配置文件(白名单)设置允许用户设置计划任务:/etc/cron.allow
(白名单高于黑名单)
Linux权限管理
权限概述
权限介绍
身份介绍
-
Owner身份(文件所有者,默认为文档的创建者)
-
Group身份(与文件所有者同组的用户)
-
Others身份(其他人,相对于所有者)
-
Root用户(超级用户)