Linux配置及指令
[TOC]
一、linux中常用软件的安装
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
二、主机名和网络
1、修改主机名
hostnamectl set-hostname py3
2、设置网络
# 1.进入配置
vim /etc/hosts
# 2.光标移到最后一行
o
# 3.输入ip地址和主机名
10.0.0.100 py3
# 4.按Esc,冒号:wq,保存并退出
.png)
三、关闭防火墙
1、检查防火墙是否开启
iptables -L
2、清除策略
iptables -F
3、永久关闭第一个防火墙
systemctl disable firewalld
4、关闭第二个防火墙
# 1.查看防火墙
getenforce
# 2.临时关闭防火墙
setenforce 0
# 3.永久关闭,进入配置
vim /etc/selinux/config
# 4.修改配置,保存并退出
SELINUX = disabled
.png)
四、Linux命令
1、命令组成
命令体 选项 参数(对象,文件)
ls -l /var
2、文件的分类
d :目录
f :普通文件
l :链接
b :块设备,磁盘 光驱
c :字符设备
p :管道
s :套接字
3、命令提示符
[root@oldboy ~]# # '#'表示超级管理员用户
[oldguo@oldboy ~]$ # '$'表示普通用户
4、常用快捷键
ctrl + c # cancel 取消当前的操作
ctrl + l # (小写字母L) clear(命令),清空当面屏幕
ctrl + d # 退出当前用户
ctrl + r # 查找(历史命令)。 history|grep
[TAB]:
1.命令补全
2.参数补全
ctrl + a # 把光标移动到行首
ctrl + e # 把光标移动到行尾
ctrl+ u # 把光标到行首的内容删除/剪切
ctrl + y # 粘贴
delete # 光标所在处从前往后删除内容
ctrl + k # 把光标到行尾的内容删除/剪切
ctrl + → # 向右移动一个单词
ctrl + ← # 向左移动一个单词
ctrl + s # 锁屏
ctrl + q # 解锁
5、查看帮助
man ls # 手册,查看ls的手册
ls --help # 简要手册
info ls # 查看详细的ls的手册
6、关机重启
shutdown -r n # n分钟以后重启
shutdown -h n # n分钟以后关机
shutdown -r now # 立即重启
shutdown -c # 取消关机重启
# 常用关机重启命令
reboot # 重启
poweroff # 关机
五、linux管理命令
1、普通文件及目录的命令
ls
pwd
cd
tree
mkdir
touch
cp
mv
rm
2、目录
绝对路径:从"/"开始一个具体路径
相对路径:从当前目录开始的具体路径( pwd 可以查看当前所在目录)
1.创建目录
mkdir /oldboy # 在根目录下创建oldboy目录,利用绝对路径创建 mkdir old # 在当前目录下创建old目录,利用相对路径创建 mkdir -p a/b/c # 创建多层目录,创建a,a下的b,b下的c mkdir a b c # 同时创建a、b、c mkdir a{1..10} # 批量创建a1~a10目录
2.查询目录
ls -ld /oldboy # 查看oldboy目录是否存在,并查看其详细信息 ls -ld a b c # 同时查看a、b、c tree /a # 查看多层目录,查看a下的所有目录,会以树状图的形式展示 tree -L 2 / # 查看根目录下的两次目录,如果是3,表示查看3层目录 ls -ld dir* # 产看以dir开头的所有文件
3.删除目录(慎用)
rm -rf /oldboy # 删除根目录下的oldboy rm -rf a b c # 同时删除a、b、c rm -rf dir* # 删除以dir开头的所有目录
通过文件句柄,有可能可以找回丢失数据(前提:不能重启,不能有大量数据写入)
4.修改目录
mv /root/oldboy/ /tmp # 将oldboy文件移到tmp目录下 mv /root/oldguo/ /tmp/oldguo.bak # 将oldboy移到tmp中,并重命名 mv oldboy old # 当前目录下的oldboy重命名为old cp -r /tmp/old / # 将old文件拷贝到根目录下 cp -a /tmp/old / # 带上源文件的属性权限拷贝
5.切换目录
cd / # 切换到根目录下 cd /oldboy # 切换到根目录下的oldboy目录 cd oldboy # 切换到当前目录下的oldboy cd .. # 切换到上一层目录 cd - # 切换到上一次所在的目录
3、普通文件
(1)文件种类
ASCII TEXT:纯文本文件(操作最多的)
LSB Exe:二进制的可执行文件(命令,程序)
压缩文件:zip tar gz bz2 cpio iso
二进制数据文件:
(2)命令
linux中一切皆文件,不管是目录还是文件,名字都不能重复
1.创建文件
touch a.txt # 创建a.txt文件
2.删除文件
rm -rf a.txt # 删除a.txt文件
3.查看文件
ls -l a.txt # 查看文件属性 # (1)小文件内容查看 cat /etc/passwd # 查看passpwd文件的内容 cat /etc/passwd /etc/shadow # 同时查看两个文件的内容 cat -n /etc/passwd # 查看文件内容,每行内容都带上序号 # (2)分页显示大文件内容 more /var/log/secure # 使用空格下翻,只能往下翻,查看文件内容 less /var/log/secure # 既能往上翻,又能往下翻 # (3)文件前多少行 head /etc/passwd # 查看前10行内容,默认是10行 head -n3 /etc/passwd # 查看前3行内容,默认是10行 head -3 /etc/passwd # 查看前3行内容,默认是10行 # (4)文件后多少行 tail /etc/passwd # 查看后10行内容,默认是10行 tail -2 /etc/passwd # 查看后2行内容 tail -f /var/log/secure # 实时监控文件
4.复制、剪切文件
mv # 命令和目录的操作一样 cp # 命令和目录的区别不需要加-r (加上也不报错)
5.修改文件内容
cat /etc/passwd >a.txt # > 覆盖重定向,如果文件没有,会自动创建 cat /etc/passwd >>a.txt # >> 追加重定向,如果文件没有,会自动创建 echo "10.0.0.100 python3" >>/etc/hosts # 将"10.0.0.100 python3"追加到hosts中
4、vim编辑
(1)命令模式
vim passwd
直接进入的就是初始模式,即命令模式
↑↓←→ # 上下左右光标移动
page up page down # 翻页
G # 光标到达最后一行
1G # 光标到达第一行(gg)
10G # 第10行
^ # 光标到达行首
$ # 光标到达行尾
/ # 搜索关键字
yy # 复制光标所在行
Nyy # 复制N行
dd # 删除/剪切
Ndd # 删除/剪切N行
p # 粘贴
x(del) # 删除光标所在字符
dG # 删除光标到文本末尾
d$ # 从光标删除到行尾,包括贯标所在字符
d^ # 从光标删除到行首,不包括光标所在字符
r # 替换光标所在字符
ZZ # 保存退出
u # 撤销上次操作
(2)编辑模式
a # 在光标之后录入数据
i # 在光标之前录入数据
o # 在光标下一行开启新行录入数据
A
I
O
ESC # 回到命令模式,建议每编辑完一行就ESC,退回到命令模式
(3)末行模式
在命令模式下,进入末行模式
:q! # 强制不保存退出
:wq! # 保存退出
:set nu # 在编辑器中显示行号
:set nonu # 在编辑器中不显示行号
:%s/root/ROOT/g # 批量修改,将所有的root替换为ROOT,g表示全局
5、链接(快捷方式)
ln -s passwd passwd.lnk
6、磁盘和文件系统
[root@python3 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Jan 3 15:28 /dev/sda
brw-rw---- 1 root disk 8, 1 Jan 3 15:28 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jan 3 15:28 /dev/sda2
brw-rw---- 1 root disk 8, 16 Jan 3 15:28 /dev/sdb
[root@python3 ~]# fdisk -l
(1)分区
# 1.分区
fdisk /dev/sdb # 进行分区
m
n # 新建分区
p # 打印先有的分区
w # 保存分区
# 2.格式化成文件系统(XFS)
mkfs.xfs /dev/sdb1
# 3.挂载设备
mkdir /data # 格式化以后创建新的目录
mount /dev/sdb1 /data # 把新的分区,挂载到data中
# 4.查看挂载的磁盘使用情况
df -h
(2)自动挂载
# 自动挂载文件系统
vim /etc/fstab # 进入文件进行配置
/dev/sdb1 /data xfs defaults 0 0 # 在配置文件中添加内容,挂载的分区、挂载位置、类型、默认参数、不检查系统
.png)
挂载的分区使用UUID更加安全
获取UUID
blkid
自动挂载,使用uuid
UUID=R2PoCI-tOiD-Mksr-fsiW-5tBV-YIbV-pVYwfP /data xfs defaults 0 0
7、Raid
(1)功能特性
1.将多块磁盘合并成一块磁盘,提供更大的存储空间
2.可以提供更高的IO能力
3.数据物理层面的高安全
(2)Raid的工作级别
# 1.raid0
条带化功能,性能极高,安全性和单盘一样
至少两块盘,理论上盘越多性能越高
# 2.raid1
镜像功能,性能没有明显提升,安全性高.
浪费一半空间
# 3.raid10
镜像+条带化 ,至少四快盘,性能和安全兼顾
浪费一般空间
# 4.raid5
带有校验功能的条带化
存储数据时,根据数据计算校验值,存储到第三块盘.
写入性能较低
读数据性能较高
至少三快盘,只允许一块盘损坏,浪费1/n的磁盘空间
适合于读多写少的场景
8、用户、组、权限
(1)用户的定义
用户名(uid),密码,家目录(/home/oldboy),家目录下会有环境变量文件等. 每个用户都必须有一个工作组,创建时没指定,自动创建一个同名的组
(2)组的定义
组名字,GID(1001~65535)
(3)用户和组的管理
a.组的管理
# 1.创建组
groupadd -g 1001 dev # 创建分组,组id从1000开始
groupadd -g 1002 sa
groupadd -g 1003 dba
# 2.查看组
cat /etc/group
tail -3 /etc/group
# 3.删除组
groupdel dba # 删除组dba
# 修改组(不建议改)
groupmod -g 10086 dev # 修改组的id
b.用户的管理
# 创建用户(普通用户)
useradd oldguo # 其余自动创建
useradd -u 10011 -g dev oldguo # 指定id,指定组,用户名
# 查看用户
id oldguo
# 设置密码
passwd oldguo
# 切换用户
su - oldboy # 切换到oldboy用户
exit # 退出用户
# 删除用户
userdel -r oldboy
# 修改用户(id)
usermod -u 3000 oldguo
(4)权限
a.权限的分类
r 4 # 读
w 2 # 写
x 1 # 执行
b.权限的管理
[root@py3 ~]# ls -l /a
# drwxr-xr-x 3 root root 14 Jan 4 04:12 b
drw ----> root用户权限
xr- ------> 文件所属组root组的权限
xr- -------> 文件的进行操作
c.权限对应命令
目录 文件
r ls cat more ,vim
w 目录下的修改 vim >
x 目录下所有操作都依赖于x 可执行程序
d.设置权限
# 设置权限
chmod -R 755 /data # 755相当于 rwxrx-rx-
chwon -R oldguo:dev /data # 设置oldguo和dev的权限
9、程序管理
# 查看进程状态
ps -ef # 查看所有进程的状态
ps -ef|grep mysql # 查看mysql的状态
# 关闭进程
kill 1234(pid) # 安全的结束
kill -9 1234 # 如果进程崩了,也可以关闭
pkill mysqld # 批量关闭,关闭mysqld的所有进程
# 服务的启动与关闭
systemctl start httpd(服务的名字) # 开启服务
systemctl restart httpd # 重启服务
systemctl stop httpd # 关闭服务
10、网络管理
# 查看ip地址
ip a
或者
ifconfig
# ping命令
# 网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0 # linux中默认的网卡位置,可以修改IP地址
systemctl restart network # 改完IP地址以后要重启
# 查看已启动端口
netstat -tulnp # 查看启动的端口
netstat -tulnp |grep 80 # 过滤查看端口
ss -tulnp|grep 80 # 查看端口对应的详细信息
11、查看yum源
[root@py3 ~]# cd /etc/yum.repos.d/
[root@py3 yum.repos.d]# ls