目录
- 一、centos系统安装后的基本配置
- 1.常用软件安装
- 2.主机名和网络
- 3.关闭防火墙
- 二、Linux命令
- 1.命令的基本组成
- 2.文件类型
- 3.命令提示符
- 4.快捷键
- 5.帮助命令
- 6.关机重启命令
- 三、Linux命令分类
- 1.目录
- 2.文件
- 四、VIM编辑器
- 1.使用
- 2.模式
- 3.命令模式
- 4.编辑模式
- 5.行末模式
- 五、文件系统管理
- 1.Linux文件系统类型
- 2.如何分区
- 六、Raid
- 1.功能特性
- 2.工作级别
- 七、用户,组,权限
- 1.用户
- 2.组
- 3.权限
- 八、程序管理
- 进程
- 服务
- 九、网络
- 操作
一、centos系统安装后的基本配置
1.常用软件安装
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc^C
2.主机名和网络
# 1.设置主机名
hostnamectl set-hostname 自定义主机名
# 2.更改/etc/hosts中配置,进入vim编辑
vim /etc/hosts
# 3.添加一句 IP地址 自定义主机名
10.0.0.100 xcq
# 或者不用进入vim
echo "IP地址 自定义主机名">>/etc/hosts
3.关闭防火墙
# 1.显示出当前使用的 iptables 规则
iptables -L
# 2.清除iptables内置规则,但此时并不会永久关闭防火墙,重启会刷新
iptables -F
# 3.开机禁用防火墙,第一道防火墙成功关闭
systemctl disable firewalld
#第二道防火墙
# 4.getenforce 查询当前状态。此时状态,Enforcing:工作状态
getenforce
# 5.临时关闭防火墙 ,此时状态,Permissive:关闭状态
setenforce 0
# 6.为了永久关闭
vim /etc/selinux/config
# 7.在config文件中更改配置
SELINUX=disable
二、Linux命令
1.命令的基本组成
命令体 选项 参数(对象)
命令体:实现功能的小程序
选项:对于这个小程序的配置
参数:文件
2.文件类型
d :目录,也就是文件夹
f :普通文件
l :链接,快捷方式
b :块设备,磁盘、光驱
c :字符设备
p :管道
s :套接字
3.命令提示符
#:表示root用户
[root@oldboy ~]#
$:普通用户
[oldguo@oldboy ~]$
4.快捷键
# 经常使用
ctrl + c/cancel:取消当前的操作
ctrl + l(小写字母L)/clear:清屏
ctrl + d:退出当前用户
ctrl + r:搜索使用过的命令。或history:显示所有使用过的命令
[TAB]:
1.命令补全
2.参数补全
# 了解
ctrl + a:把光标移动到行首
ctrl + e:把光标移动到行尾
ctrl+ u:把光标到行首的内容删除/剪切
ctrl + y:粘贴
delete:光标所在处从前往后删除内容
ctrl + k:把光标到行尾的内容删除/剪切
ctrl + →:向右移动一个单词
ctrl + ←:向左移动一个单词
ctrl + s:锁屏,虽然锁屏,但是键盘还是可以使用的,命令也会执行,所以一般都是先退出当前用户,再锁屏,提高安全性
ctrl + q:解锁
5.帮助命令
# 该命令的详细帮助
man 命令
# 该命令的简易帮助
命令 --help
# 该命令的最详细帮助
info 命令
6.关机重启命令
# 重启
reboot
#关机
poweroff
三、Linux命令分类
1.目录
目录结构规范 FSH(文件系统层次化标准)
- 绝对路径:从"/"开始一个具体路径
- 相对路径:从当前目录开始的具体路径(pwd可以查看当前所在目录)
# 1.创建目录
# 创建一个目录
mkdir /test
# 连续创建多个目录,并且是父子关系
# 创建a目录,并在a目录下创建b目录,在b目录下创建c目录
mkdir -p /a/b/c
# 与mkdir -p不同的是mkdir只能创建最后的c目录,且如果a或b目录没有就会报错
# 2.查询目录
# 只列出文件及目录
ls 目录名
# 显示目录名,参数以详细格式列表
ls -l 目录名
# 只显示当前目录名
ls -d 目录名
# 只显示当前目录名的具体信息
ls -ld 目录名
# 显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息
ls -al 目录名
# 对输出文件进行各种排序
ls -ltr 目录名
# 以树的形式显示目录及文件,会显示所有的
tree 目录名
# 只显示n层的目录及文件
tree -L n 目录名
# 3.删除目录
rm -rf 目录名
# 通过文件句柄,有可能可以找回丢失数据(前提:不能重启,不能有大量数据写入)
# 4.修改目录
# 剪切
# mv 来源目录 目的目录
mv /root/oldboy/ /tmp
# mv可以实现剪切的同时重命名
mv /root/oldguo/ /tmp/oldguo.bak
# 相对路径,在当前目录,相当于重命名
mv oldboy old
# 复制
# cp -r 来源目录 目的目录
cp -r /tmp/old /
# 复制目录的同时携带属性
cp -a
# 5.切换目录
# 切换到指定目录
cd 目录名
# 切换到上一层目录
cd ..
# 切换到上一次目录
cd -
注
# 同时创建多个目录,必须是连续的数组或字母
mkdir a{1..10}
mkdir dir{a..f}
# 搜索dir开头的
ls -ld dir*
# 删除dir开头的
rm -rf dir*
2.文件
文件种类:
- ASCII TEXT:纯文本文件(操作最多的)
- LSB Exe:二进制的可执行文件(命令,程序)
- 压缩文件:zip tar gz bz2 cpio iso
- 二进制数据文件等.
# 1.创建文件
touch a.txt
# 2.查询文件
# ls的操作与目录的一致
ls 文件名
# 文件内容查看
cat a.txt
# 可查看多个文件内容
cat a.txt b.txt
# 由 1 开始对所有输出的行数编号
cat -n a.txt
# 分页显示大文件内容
# 对于一些大文件,可以只显示一部分内容,空格可接着显示没显示的部分,只能往下翻页
more a.txt
# 可上下翻页
less a.txt
# 文件前多少行
# 默认显示前10行
head a.txt
# 显示前三行,全称n3,简称3
head -n3 a.txt
head -3 a.txt
# 文件后多少行 默认显示后10行
# 显示后2行
tail -2 a.txt
# 监视文件,会显示文件新增的后几行
tail -f a.txt
# mv 命令和目录的操作一样
# cp 命令和目录的区别不需要加-r (加上也不报错)
# 3.内容修改
# 覆盖重定向
# a会被passwd的内容覆盖
cat /etc/passwd >a.txt
# 追加重定向
# 在a的后面添加上passwd的内容
cat /etc/passwd >>a.txt
四、VIM编辑器
1.使用
vim 文件名
2.模式
- 命令模式/初始模式:进入VIM之后的默认操作
- 编辑模式:可用键盘对文本随意写入
- 末行模式
3.命令模式
G:光标到达最后一行
gg/1G:光标到达第一行
nG:光标到达第n行
^:光标到达行首
$:光标到达行尾
/:搜索关键字
yy:复制光标所在行
Nyy:复制N行
dd:剪切
Ndd:剪切N行
p:粘贴,剪切后不黏贴就是删除
x(del):删除光标所在字符
dG:删除光标到文本末尾
d$:从光标删除到行尾,包括贯标所在字符
d^:从光标删除到行首,不包括光标所在字符
r:替换光标所在字符
ZZ:保存退出
u:撤销上次操作
4.编辑模式
a:在光标之后录入数据
i:在光标之前录入数据
o:在光标下一行开启新行录入数据
A:在行尾录入数据
I:在行首录入数据
O:在光标上一行开启新行录入数据
ESC:退回到命令模式
# 小技巧:为了安全行,建议每编辑完一行就ESC,退回到命令模式
5.行末模式
:q! # 不保存退出
:wq!# 保存退出
:set nu # 每行标上序号
:set nonu # 取消序号
:%s/原字符/替代的字符/g # 替换字符 g代表全局替换
五、文件系统管理
1.Linux文件系统类型
- ext2
- ext3
- ext4
- XFS
# 显示所有的分区
ls -l /dev/sd*
2.如何分区
# 首先,当你新装了一块硬盘,你需要对这块硬盘分区
# 1.查看你的新装的硬盘的名字
ls -l /dev/sd*
# 2.假设是/dev/sdb,分区
fdisk /dev/sdb
# 3.对/dev/sdb 新建分区
n
# 4.对/dev/sdb的新建分区命名,默认是1,每份一块会自增,最多到4
回车
# 5.对/dev/sdb的新建分区分配空间的起始位置,开始位置是在上一个分区的之后,一般默认
回车
# 6.对/dev/sdb的新建分区分空间,也就是结束位置
+10G
回车
# 7.还可以接着分区,此时的分区还是预分区,一旦关闭,是不会保存的
# 保存预分区
w
# 8.格式化成文件系统(XFS)
mkfs.xfs /dev/sdb1
# 9.挂载设备
# 创建挂载点
mkdir /data
mount /dev/sdb1 /data
# 注:此时的挂载,一旦关机就不会有效果,所以要设置开机自动挂载
# 10.自动挂载文件系统
vim /etc/fstab
# 新建一行
/dev/sdb1 /data xfs defaults 0 0
# 由于,在正真的生产环境中是根据连接顺序来排列的,这样会导致一个问题,和挂载里的配置名会不一致,所以使用UUID来表示唯一,更加安全
# 显示当前格式化的所有的硬盘的uuid
blkid
# 在/etc/fstab使用uuid
vim /etc/fstab
UUID=9fb2ec36-6a60-4394-9bfa-369261844d56 /data xfs defaults 0 0
六、Raid
1.功能特性
- 将多块磁盘合并成一块磁盘,提供更大的存储空间
- 可以把一个文件分成多份并发存取,可以提供更高的IO能力
- 数据物理层面的高安全
2.工作级别
raid0
优点:
条带化功能,性能极高
至少两块盘,理论上盘越多性能越高
缺点:
安全性和单盘一样
如果有一块硬盘坏了,那数据就会丢失
raid1
优点:
镜像功能,性能没有明显提升,就算有硬盘坏了,但是由于在别的盘有镜像保存,安全性高
缺点:
浪费一半空间
raid10
优点:
镜像+条带化 ,至少四快盘,性能和安全兼顾
缺点:
浪费一半空间
raid5
带有校验功能的条带化
优点:
存储数据时,根据数据计算校验值,存储到第三块盘.
即使有硬盘损坏,也可以根据校验值和仅剩的数据计算出丢失的数据,安全性相比raid0大大提高
读数据性能较高
缺点:
写入性能较低
至少三快盘,只允许一块盘损坏,浪费1/n的磁盘空间
适合于读多写少的场景
七、用户,组,权限
1.用户
作用
- 登录系统
- 管理系统对象
定义
用户名(uid),密码,家目录(/home/oldboy),家目录下会有环境变量文件等.
每个用户都必须有一个工作组,创建时没指定,自动创建一个同名的组
操作
# 创建用户
# -u 10011:指定用户ID
# -g dev:指定用户所属组是dev,不写默认会创建一个以用户名命名的组
useradd -u 10011 -g dev oldguo
# 查询用户
id oldguo
# 设置用户密码
passwd oldguo
# 切换当前用户
su - oldboy
# 删除用户
userdel -r oldboy
# 编辑用户ID
usermod -u 3000 oldguo
2.组
# 创建组,并指定组ID,若不指定,默认从1000开始
groupadd -g 1001 dev
groupadd -g 1002 sa
groupadd -g 1003 dba
# 查询组
cat /etc/group
# 查询组文件group最后三行,因为新建的组添加在后面
tail -3 /etc/group
# 删除组
groupdel dba
# 编辑组ID
groupmod -g 10086 dev
3.权限
定义
权限是作用在文件上的属性.
权限的分类
- r:可读,用4代表
- w:可写,用2代表
- x:可执行,用1代表
目录 | 文件 | |
r | ls命令 | cat,vim等 |
w | 目录以及目录下的修改 | vim |
x | 目录下的所有操作都依赖于x | 可执行程序 |
实例
# 文件的属性以及文件名
-rw-r--r-- 1 root root 154 Jan 4 17:38 uwsgi.ini
# -:文件
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
# rw-r--r--:应该以三个为一组,分成三部分,且均为『rwx』
第1-3位(rw-):该文件的所有者拥有该文件的权限
第4-6位(r--):所有者的同组用户拥有该文件的权限
第7-9位(r--):其他用户拥有该文件的权限
# root root:文件所有者和文件所有者的组
使用
# chmod:更改文件权限
# Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限:
# r:4
# w:2
# x:1
# chmod [-R] xyz 文件或目录
# -R:对该目录下的所有文件生效
chmod -R 755 /data
# chgrp:更改文件属组
# chgrp [-R] 属组名 文件名
# -R:该目录下的所有文件的属组都会更改。
chgrp -R dev /data
# chown:更改文件属主,也可以同时更改文件属组
# chown [–R] 属主名 文件名
# chown [-R] 属主名:属组名 文件名
chown -R oldguo /data
chown -R oldguo:dev /data
八、程序管理
进程
# 显示进程
ps -ef / ps -A
# 过滤
ps -ef|grep mysql
# 停止进程,搜索条件:进程号
kill 进程号
# 强制停止进程,搜索条件:进程号
kill -9 进程号
# 停止进程,搜索条件:进程名
pkill mysqld
服务
# 开启服务
systemctl start 服务名
# 重启服务
systemctl restart 服务名
# 暂停服务
systemctl stop 服务名
# 查看已启动服务的端口
netstat -tulnp / ss -tulnp
# 可过滤
netstat -tulnp |grep 80
ss -tulnp|grep 80
九、网络
操作
# 查看IP地址,类似于windows的ipconfig
ip a
# 显示或配置网络设备
ifconfig
# 连接网络
ping
# 修改网卡IP地址IPADDR
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改好后重启
systemctl restart network