Linux基础 day3 各个目录下的重要文件、系统优化、文件属性
一、网络不通畅排查
1. 确认⽹关地址是否通畅
就是ping一下网络看通不通
2. 确认⽹卡配置是否正确
老朋友 vi /etc/sysconfig/....
3. 确认⽹络管理服务关闭
systemctl stop NetworkManager
systemctl disable NetworkManager
二、各个目录下的重要文件
1.etc目录下的重要数据文件
-
fstab ————filesystem table 系统挂载信息表
在Linux中,不管挂载了多少硬盘,都不会像windows一样给你显示在我的电脑下,需要自己指定什么路径可以去到哪块硬盘
磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 --- 挂载
(开了个⻔)
PS:所有存储设备必须挂载才能使⽤
临时挂载:mount /dev/cdrom /mnt
永久挂载:修改⼀个和开机⾃动挂载相关的配置⽂件 /etc/fstab
设备⽂件 挂载点
/dev/第⼀个分区 : /boot
/dev/第⼆个分区 : swap
/dev/第三个分区 : /
cat /etc/fstab # 查看⽂件内容
blkid # 查看磁盘分区
总结:实现磁盘存储设备,挂载操作永久⽣效,开机⾃动加载挂载
信息
-
rc.local————开机自启动
# eg:我们可以在这个文件中加一个开机自动备份的功能
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/ifcfg-eth0.bak # 将文件备份到指定路径的命令
echo "cp /etc/sysconfig/network-scripts/ifcfg eth0 /tmp/ifcfg-eth0.bak" >> /etc/rc.local
# 将这条命令追加写到rc.local中
chmod +x /etc/rc.d/rc.local
-
inittab————系统启动运行级别配置文件
系统启动运⾏级别
系统启动时候:
A系统启动:⽹络服务运⾏ 安全服务运⾏ 存储服务运⾏ 01级 别
B系统启动:安全服务运⾏ 存储服务运⾏ 02级 别
C系统启动:存储服务运⾏ 03级 别
三种系统:运⾏启动级别不⼀样
centos6 (7种运⾏级别)
0 关机级别(init 0)
1 单⽤户模式(重置⽤户密码信息root 修复系统)
救援模式
2 多⽤户模式 NFS (没有⽹络服务)
3 多⽤户模式 (命令⾏模式)
4 未知 未使⽤
5 图形化界⾯模式(init 5)
6 重启级别
centos7 (target⽬标)
ls /usr/lib/systemd/system/runlevel*target -l # 查看文件命令,直接复制来看
systemctl get-default # 查看当前虚拟机的模式
poweroff.target
rescue.target
multi-user.target
multi-user.target
multi-user.target ——————只有这个模式才支持一个虚拟机链接多个人
graphical.target
reboot.target
-
profile————配置环境变量信息或者别名信息⽂件(重要!!!!)
类似于win中的环境变量配置,是linux中的环境变量特征
环境变量都⽤⼤写字⺟表示
环境变量可以被所有⽤户所使⽤
环境⼀般是系统安装就已经设置
目前阶段这个东西还不做涉猎,了解很重要即可
-
bashrc————设置别名,使复杂命令简单化
比如说
[root@vm ~]# ls -l /etc/hosts
-rw-r--r--. 1 root root 181 Dec 7 12:28 /etc/hosts
[root@vm ~]# ll /etc/hosts
-rw-r--r--. 1 root root 181 Dec 7 12:28 /etc/hosts
#仅仅只是缩写而已,好像目前用不上
-
motd————好玩的,类似定制开机画面、动画
用vim 写入代码进去保存后再重新链接一下虚拟机即可看到欢迎的页面
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG
-
issue.net————用户登录之前提示信息
尽量不要去改
2.usr目录下重要的数据文件
- local————用于保存用户安装软件程序信息
#重点————linux安装软件的四种方式
1.yum算一种,最好用的一种,可以把依托关系的软件一起打包了
一般是yum install -y 程序名
如果要修复安装 yum reinstall -y 程序名
注意:卸载也是,一并带着卸载了
yum remove 软件名
2.rpm包的方式安装
无法解决依托软件的下载
在系统中需要有软件安装包
一般很少用来安装软件,查看和针对性删除倒是很方便
rpm -v 显示详细信息
rpm -h 以人类更看的方式显示信息
rpm -a 查询
rpm - e 卸载
3.编译安装软件
安装软件更加灵活,可以自己给软件定制化
4.二进制包安装软件
小零食,类似打开一个exe程序,部署效率高
3.var(variable)目录下的重要的数据文件
- log/messages————系统运行情况
- log/secure————用户登录信息保存文件
用户登录信息保存文件,也会保存一些登录不成功的情况,一般正常的都是有规律的,看到不太一样的信息我们就要留意一下了,我们可以检测这个文件出现的恶意登录状况做一些应对策略。
#Linux三剑客————grep
grep过滤
grep 'Failed' /var/log/secure
我们可以对日志文件做大小的限制、或者切割
#切割
secure-0k > secure-100k > 大小范围10M > 切割secure-bak01 secure
#这个一般都是运维搞好,开发的人不用操心这个事儿
4.proc目录下重要的数据文件(重要)
该目录主要记录一些硬件的使用情况,能看到服务器的硬件参数
#查看CPU信息的命令 :lscpu
# /proc/cpuinfo
#查看内存信息的命令:free 或者 free -h
# /proc/meminfo
total 服务器总共的内存容量
free 服务器未使用的内存容量
avaliable 服务器还可以使用的容量
buff 缓冲
cached 缓存
#查看磁盘的信息 :df -h
#查看系统挂载信息 : cat /proc/mounts
#查看负载情况 cat /proc/loadavg
0.00, 0.01, 0.03 1/132 20202
平均每分钟负载 平均5分钟负载 平均15分钟负载
负载的数值不能超过服务器的核⼼数 8核 7(阈值)
#命令查看负载信息 直接输入 w
当前时间 服务器运⾏时间 连接⽤户数 平均负载情况
三、系统优化相关
1.针对用户的优化
1.了解⾃⼰的系统情况
cat /etc/redhat-release
2.为服务器添加用户,修改用户密码
useradd 添加用户
passwd 用户名 ————给用户设置密码
3.切换用户
u - 用户名
4.查看自己是谁
whoami
2.下载软件的优化操作
1.给yum换源
查看yum下载源
yum repolist
curl -o /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
# 注意不要一次性拷贝,分行拷贝哦
2.给yum拓展epel源
相当于拓展一个小图书馆,大图书馆可能没有你要下载的小众的软件
wget -O /etc/yum.repos.d/epel.repo
http://mirrors.aliyun.com/repo/epel-7.repo
# 注意不要一次性拷贝,分行拷贝哦
3.检查测试
yum install -y bash-completion-extras
4.一些好玩的软件 sl cowsay(基于第二步的拓展源)
#安装一下
yum install sl cowsay -y
还有animalsay 也可以玩玩,随机动物说话
3.安全相关的优化
1.干掉selinux服务程序
(因为这玩意会限制root管理员的一些功能,为了以后的进阶学习一般干掉)
getenforce 查看 selinux 的状态
vim /etc/selinux/config
#永久修改,修改后要重启Linux系统
# enforcing - SELinux security policy is
enforced.
# permissive - SELinux prints warnings instead of
enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #就改这个
# 临时关闭
setenforce # 设置
# usage: setenforce [ Enforcing | Permissive | 1
2.防火墙——(背下来)
应⽤防⽕墙场景
建议开启:服务器可以被外界访问(公⽹/外⽹ip)
建议关闭:服务器可以被内部访问(私⽹/内⽹ip)
建议关闭:服务器处于⾼并发状态(公⽹/外⽹ip) 软件防⽕墙
关闭 硬件防⽕墙进⾏安全控制
在centos7中叫firewalld
查看某一个服务是否在运行命令——systemctl status 服务名
#临时关闭某个服务
systemctl stop 服务名
#永久关闭某个服务
systemctl disable 服务名
4.字符编码
echo $LANG # 查看当前系统字符编码
$符号是查看环境变量的符号
#临时修改
export LANG=en_US.GBK
#永久修改
echo "export LANG=en_US.GBK" >>/etc/profile
#一定要让立即生效
source /etc/profile
5.文件相关操作
1.上传与下载
#第一种,使用一个模块lrzsz,先下载
下载完成后
# linux上⾯数据
传输给 widows主机 sz -y 数据信息
# windows上⾯数据
传输给 linux主机 rz -y
PS:空⽂件是⽆法传递的 xshell⽀持拖拽上传
2.查看系统⽂件数据信息
⽐较⼤的⽂件 如何查看信息
less 逐⾏ 或者 ⼀⻚⼀⻚进⾏查看 q退出
more 逐⾏ 或者 ⼀⻚⼀⻚进⾏查看
以上两个查看⽂件信息命令区别说明:
1.是否可以使⽤快捷⽅式之间区别
less 可以使⽤快捷键
more 禁⽌使⽤快捷键
2.是否可以实现查看完毕⾃动退出
less 不可以使⽤
more 可以实现
#截取查看某个文件的前几行,或者后几行,注意二者参数有细微区别!
#读取后也可以追加到文件内 类似cp之类的追加
head -n行数
tail -行数
tail -f /var/log/secure --- 实时监控⽇志⽅法,文件消失立刻不监控
tail -F /var/log/secure --- 实时监控⽇志⽅法,文件消失也没事还监控
3.文件筛选——一般用grep该剑客即可
grep "03" -B 2 /oldboy/oldboy.txt # 连带前⼏⾏
grep "03" -A 2 /oldboy/oldboy.txt # 连带后⼏⾏
grep "03" -C 1 /oldboy/oldboy.txt # 连带上下⾏
grep -n "03" /oldboy/oldboy.txt # 附带⾏号
grep -v "03" /oldboy/oldboy.txt # 取反操作
4.文件内容替换(略麻烦,暂时记不住)
需求将⽂件中的oldboy信息替换为oldgirl
⽅式1:
sed命令替换步骤:第⼀个历程 备份⽂件
sed命令替换步骤:第⼆个历程 查看搜索
sed -n '/oldboy/p' oldboy.txt
sed命令替换步骤:第三个历程 ⽂件信息模拟替换
别名功能
sed -n 's#oldboy#oldgirl#gp'
/oldboy/oldboy.txt
sed命令替换步骤:第四个历程 ⽂件信息真正替换
sed -i 's#oldboy#oldgirl#g'
/oldboy/oldboy.txt
sed命令替换步骤:第五个历程 替换完成检查确认
⽅式2:
在linux系统中,不是所有命令都可以直接编辑修改⽂件
可以直接编辑⽂件的命令 vi/vim sed xxxctl
tr企业应⽤:可以将指定字⺟⼤⼩写进⾏转换 1对1进⾏替换
tr 'a-z' 'A-Z' < /oldboy/oldboy.txt
#比如说把文件中的oldboy变为oldgirl
sed -i 's#oldboy#oldgirl#g' 文件 #g为全局模式的意思
5.别名功能
1.查看别名
#查看别名
alias 别名
#查看别名并查看命令路径
which 别名
2.设置别名
#临时设置别名
alias 别名='完整的命令(纯英文的)'
调用别名即可变为设置的命令
#永久设置别名
这个就不说了,最好别做
四、文件的属性信息
1.文件属性信息组成
还记得前面学ls 命令时学了 ls -l 文件 这个命令吗?
现在就来详细研究展现出来的是啥意思
还有 ls -lhi 文件名 更详细
比如 ls -lhi 1.txt
#最开头 inode信息,索引的数据值
#第二列 文件类型文件权限
d表示目录
-表示文件或者压缩包
l链接类型的文件(相当于快捷方式)
#第三列 硬链接 (快捷方式,可以存在多个)
#第四列 文件所属的用户信息 (监护人) ——————重要
#第五列 文件所属用户组信息 (家里的亲人) ———————重要
#第六列 文件大小
⽂件类型:
windows系统中: 根据⽂件扩展名称信息决定⽂件类型
linux系统中: 系统的⽂件类型和⽂件扩展名没有半⽑钱关系
linux系统⽂件类型分类 ls -lhi /etc/ # ./
d directory ⽬录类型的⽂件
- file 普通类型的⽂件
l softlink 连接类型的⽂件
c character 字符类型的⽂件(会源源不断的产⽣字符
信息)
b block 块设备类型的⽂件 设备⽂件
s socket 和⽹络接⼝通讯相关(开发 ⽹络编程)
p pip 管道⽂件
2.find 命令和 tar 压缩命令(重要)
#显示某一个文件的类型
file 文件
#显示文件的位置
where 文件名
#快速查找数据信息的命令 ————find
find 区域 找人的类型 具体的条件
比如说找1.txt
find /etc -type f -name '1.txt' # f就是普通文档的意思
比如说找.log结尾的
find /var -type f -name '*.txt'
比如说找大于1k 小于10k的文件
find /etc -type f -size +1k -size -10k
比如说找大于1k 小于10k的文件,并且只找规定的第一层 这个单词要记一下
find /etc -maxdepth 1 -type f -size +1k -size -10k
#压缩文件 c是创建,x是解压
tar -zcvf 压缩后的路径及文件名 要压缩的文件还有文件名
#预览压缩文件
tar -tf 路径及文件名
#解压文件
tar -zxvf 路径及压缩包名 -C(指定到路径才加)路径及文件名
3.文件权限(重要)
首先,文件权限,由最开头的类型 加上9个字符(每三个一组)加上个句点符组成
第一组是创建者——属主,第二组是用户组——亲人,第二组有时候也是第一个人
第三组是其他用户
r 可读 数值4
w 可写 数值2
x 可执行 数值1
- 空白 数值0
# 所以一般听到777权限的文件,那就是满权限所有人都可读可写可执行
520 权限就是 -r-x-w----
4.文件所属用户、用户组
在linux系统中,多⽤户操作系统,⽂件数据,系统进程信息都要有⽤户管
理
创建⽤户: useradd oldgirl
# ⽅法⼀: 交互式设置密码
passwd oldgirl # ⼀定要加上⽤户名否则是设置root⽤户密码
输⼊确认密码信息
# ⽅法⼆: 免交互设置密码
useradd oldboy01
echo "12345"|passwd --stdin oldboy01 # >/dev/null
# ⽅法三: 即创建⽤户⼜设置⽤户密码信息(分号⽀持多个命令)
useradd jason;echo "12345"|passwd --stdin jason
#查看某个用户是否存在
id 用户名
uid 用户的id值
gid 用户组的id值 一般自己就是一个组
groups 用户属于的其他组
#管理员都是0,1~999是虚拟用户,一般不分配给你用
#普通用户只能管理自己家目录下的数据,或者/tmp 临时目录
- 拓展
#修改当前目录下的文件权限 *能一起改
chmod xxx 文件名 # xxx是前面学习过的数字值,自己算哦