##1. linux初识
1.1 CentOS 安装
- 根据步骤安装CentOS 7
- 设置ip地址
- 方式一:
- 手动启动网卡(每次重启后需重新设置)
systemctl restart network # 启动网络服务
ifup ens33 #启动网卡
2. 方式二:
- 修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 按 i 进入编辑模式
# 将最后一行ONBOOT=no改为ONBOOT=yes, 按ESC退出编辑模式,再输入:wq保存退出
init 6 #重启
- Xshell连接
命令语法: ssh 用户名@IP地址
ssh root@192.168.1.155
1.2 linux基本命令
-
pwd 查看当前文件所在目录的绝对路径
-
cd 切换目录
# 相对路径 . 当前目录 .. 上一层目录 - 前一个工作目录 ~ 当前【用户】所在的家目录
-
文件和文件夹的增删改查
-
新增文件夹
mkdir dirname
mkdir -p /root/lixyu/{aa,bb,cc}
创建多个目录,放在大括号里面用逗号隔开,千万要注意不能有空格 -
新增文件
touch filename
touch aa, bb, cc
创建三个文件 -
删除文件
rm -r
文件\文件夹 递归删除rm -f filename\dir
强制删除rm -rf filename\dir
强制递归删除rm -rf /*
从根目录开始递归删除,系统无法启动 -
修改或移动文件
mv old_filename new_filename
mv old_dirname new_dirname
mv old_dirname /opt/new_dirname
-
查询文件
ls
查看目录下文件名ls -l
查看目录下的文件或文件详情ls -a
或la
查看隐藏文件cat filename
查看文件内容tail -f filename
实时监控文件内容more filename
分页询文件内容 -
chattr
锁定文件,使文件无法被删除+a
上锁-a
解锁chattr +a filename
-
lsatt
r 查看文件是否有被锁lsattr filename
-
cat
查看和编辑文件编辑:
cat >> filename << EOF
编辑完后再结束接
EOF
查看:
cat filename
-
more
多行使用管轮查看文件内容 -
less
多行分页查看文件内容,使用pagup
和pagdown
翻页 -
cp
复制\-r
递归复制\-p
保留属性复制
-
-
alias
修改命令别名alias rm='echo "不能删"'
-
关机
init 0
shutdown
-
重启
init 6
reboot
-
修改计算机名
hostnamectl set-hostname new_name
-
移动文件
cp
要复制的文件 复制路径 -
find
查找命令name
按照文件名查找
type
按照文件类型查找
d
查找目录
l
查找连接
f
普通文件
b
块文件
c
字符设备文件
s
socket文件
find 查找路径 过滤命令 ‘关键字’
可以使用 * 通配符 -
管道符
|
- 主要用于过滤作用
-
head -10
查看前10hang 默认10行 -
tail -3 name.py
查看文件的后三行 默认10行tail -f name.py
持续刷新显示 -
which
查找对应命令在的路径 -
scp
远程文件传输- scp 【可选参数】 本地源文件 远程文件标记
- 本地传到另一服务器:
scp /temp/name.py 192.168.11.131:/opt/
- 本地从另一服务器请求:
scp 192.168.11.131: /temp/name.py /opt/
r : 递归复制
v : 详情方式输出
q :不显示传输进度条
C : 允许压缩
-
du
显示文件大小
du -s
显示总大小
du -h
以K M G T
友好显示 -
df
df -h
查看磁盘大小 -
top
动态监视进程活动与系统负载等信息 -
ntp
同步时间服务ntpdate -u ntp.aliyun.com
-
date
110621382019 月日时分年 -
上传下载文件
yum install lrzsz 安装lrzsz包 rz 上传 sz 下载文件
-
wget
命令用于在终端下载网络文件wget
参数 下载地址wget -r -p
下载地址wget filename
上传文件 -
查看进程
ps -ef
[过滤信息]kill -9 进程ID
pkill 进行名
删除全部killall 进程名
删除全部 -
SElinux
美国国家安全局防火墙
# 临时关闭
getenforce # 查看状态(0表示关闭 1表示开启)
setenforce 1/0 # 表示开启/关闭
# 永久关闭
vim /etc/selinux/config
# 修改
SELINUX=disabled
-
iptables
防火墙iptables -L
查看防火墙规则
iptables -F
清空防火墙规则
centos7默认已经使用firewall
作为防火墙了
- 关闭防火墙
systemctl status firewalld
#查看防火墙状态
systemctl stop firewalld
#关闭防火墙
systemctl disable firewalld
#关闭防火墙开机启动
systemctl is-enabled firewalld.service
#检查防火墙是否启动
1.3 vim编辑器
-
命令模式
默认进入命令模式
w(e)
移动光标到下一个单词
b
移动到光标上一个单词
数字0
移动到本行开头
$
移动光标到本行结尾
H
移动光标到屏幕首行
G
移动光标到文档尾行
M
移动到光标到屏幕的中间一行
L
移动光标到屏幕的尾行
gg
移动光标到文档的首行
ctrl + f
下一页
ctrl + b
上一页 -
编辑模式
按
i
ora
oro
进入编辑模式 -
底线模式
w
保存
q
退出
wq
保存退出
q!
无理由退出
wq!
无理由保存退出 -
查找
/ str_name
在整片文档中搜索strname字符串,向下查找
? str_name
在整片文档中搜索strname字符串,向上查找
n
表示查找下一个关键字
N
表示查找上一个关键字
gd
找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上 -
复制粘贴删除
yy
拷贝
nyy
往下拷贝n行
dd
删除光标所在行
D
删除当前光标到行尾的内容
dG
删除当前行到文档尾部内容
P
粘贴yy复制的所有内容
del
删除光标所在的字符
u
撤销上异步的操作
%
找到括号的另一半 -
esc
随时退出编辑底线命令模式
1.4 权限操作
-
创建普通用户
useradd username
创建用户passwd username
配置密码 -
给普通用户授权
使用
visudo
对/etc/sudoers进行修改增加一下内容
root ALL=(ALL) ALL libai ALL=(ALL) ALL
修改完后使用source
命令进行重载
1.5 文件与目录权限设置
-
文件权限
# 普通文件: r 可读 w 可写 x 可执行 # 目录(文件夹) r 查问文件内容 w 创建和修改文件 x 进入目录
-
文件内容
- 一般文件 d 文件夹 l 软连接 b 块设备,存储媒体文件 c 代表键盘,鼠标
-
执行文件方法
进入到需要执行的目录
执行
./file_name
-
crontab 执行定时计划任务
打开配置文件 crontab -e
* * * * * 需要执行的命令 分时日月周
-
yum 使用
先下在阿里云 repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清空yum 缓存并且生成新的yum缓存
yum clean all yum makecache
安装软件扩展源
yum install -y epel-release
1.6 DNS
DNS 域名解析系统
原理:
1 我们要想访问www.baidu.com, 首先会去本地DNS缓存中查找
2 如果本地DNS缓存中没有,那就要去本地文件hosts文件中查找
3 如果本地hosts文件中也没有,那就会去公网的DNS服务器中找
4 如果公网的DNS服务器没有的话,会去世界上的13个DNS根服务器去找
5 如果13个DNS根服务器中也没有,就说明此域名没有注册,没有办法访问
www.baidu.com--> 本地DNS缓存--> hosts文件 --> 公网DNS服务器 --> 以上均没有对应的IP 无法访问
DNS服务器
# 电信DNS服务器
202.96.134.133
202.96.134.33
202.96.128.86
202.96.134.166
# 114DNS服务器
114.114.114.114
# 谷歌DNS服务器
8.8.8.8
# 阿里云的DNS服务器
223.5.5.5
223.6.6.6
# 腾讯
119.23.23.23
- 谷歌:
8.8.8.8
-
nslookup 查看域名解析
-
修改dns 方法 vim /stc/resolv.conf
nameserver 223.5.5.5
nameserver 119.23.23.23
1.7 配置阿里源
cd /etc/yum.repos.d
mkdir repo_bak
mv *.repo repo_bak/
- 下载阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache
- 安装扩展源
yum install -y epel-release
1.8 系统管理命令
- CentOS 6前
service network restart
service network start
service network stop
service network status
- CentOS 7
systemctl restart network
systemctl start network
systemctl stop network
systemctl status network