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# 1.进入配置 2vim /etc/hosts 3# 2.光标移到最后一行 4o 5# 3.输入ip地址和主机名 610.0.0.100 py3 7# 4.按Esc,冒号:wq,保存并退出

.png)
三、关闭防火墙
1、检查防火墙是否开启
iptables -L
2、清除策略
iptables -F
3、永久关闭第一个防火墙
systemctl disable firewalld
4、关闭第二个防火墙
1# 1.查看防火墙 2getenforce 3# 2.临时关闭防火墙 4setenforce 0 5# 3.永久关闭,进入配置 6vim /etc/selinux/config 7# 4.修改配置,保存并退出 8SELINUX = disabled

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