Linux03
usr目录
系统存放程序用。
/usr/local/
用于保存用户安装软件程序的信息,相当于windows系统中的Program Files (x86)文件夹。
Linux系统安装软件方式
方式一:yum安装软件,安装软件的同时还会自动安装所依赖的一些软件
安装vim:
yum install -y vim
重装软件:
yum reinstall -y vim
方式二:rpm包方式安装软件,安装软件时系统中需要有软件的安装包
rpm安装软件:
rpm -ivh xxx.rpm
- -i:安装
- -v:显示详细信息
- -h:以⼈类更好看理解⽅式显示信息
查询软件:
rpm -qa vim-enhanced
rpm -ql vim-enhanced
- -qa:查询软件信息
- -ql:查询软件安装目录的列表信息
卸载软件:
rpm -e vim-enhanced
- -e:擦除
方式三:编译安装软件,这种方式更加灵活,可以自己设置软件安装路径和功能
方式四:二进制包安装软件,即食即用,免安装直接下载就可以使用的方式
var目录
存放经常发生变化的文件,比如日志。
/var/log/messages
存放服务运行情况信息、系统运行或异常信息。
/var/log/secure
存放用户登录信息。
规律查看日志信息
查看有'Failed'字段的记录:
grep Failed /var/log/secure
proc目录
记录一些硬件使用情况,硬件详细信息。
查看CPU信息
cat /proc/cpuinfo
# 或者
lscpu
- CPU(s):整个服务器有多少核心
- Core(s) per socket:每个CPU有多少核心
- Socket(s):服务器有几个CPU
命令查看内存信息
cat /proc/meminfo
实时使用情况:
free
# 或者
free -h
命令查看磁盘信息
df -h
查看负载情况
cat /proc/loadavg
前三个数字代表:平均每分钟负载、平均5分钟负载、平均15分钟负载。
w
第一行分别代表:当前时间、服务器运行时间、连接用户数、平均负载情况。
查看挂载信息
cat /proc/mounts
系统优化
查看自己的系统
cat /etc/redhat-release
# 或者
uname -r/-a/-n/-s/...
在系统中创建用户
创建tom用户名。
useradd tom
创建tom的密码,输入命令后会提示你输入密码。
passwd tom
切换用户
su - 用户名
换回上一个用户可以用 ctrl + d 快捷键
环境变量
特征:
- 由大写字母组成
- 配置的环境变量所有用户都必须遵循
- 系统中默认就有的变量信息
PS1环境变量
PS1即命令提示符信息,查询:
echo $PS1
修改环境变量
临时修改:
export PS1="[\u@@@\h \w]\$ "
永久修改:
打开配置文件:
vim /etc/profile
末行添加内容:
export PS1="[\u@@@\h \w]\$ "
保存退出后重新加载配置文件:
source /etc/profile
下载优化
查看当前yum源
yum repolist
修改yum源
换成阿里云的yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清华yum源
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
修改yum扩展源epel源(第三方功能)
先安装wget:
yum install -y wget
修改epel源:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
检测:看看是否能成功安装bash-completion-extras(自动补全功能)
yum install -y bash-completion-extras
安全优化
修改selinux设置
selinux是用来限制管理员root的,但是一般不会取限制管理员的权限,所以一般都是关闭。
永久关闭:
- 打开selinux配置:
vim /etc/selinux/config
- 修改 SELINUX 的值:
SELINUX=disabled
文件修改之后,不会立即生效,需要重启liunx操作系统才行。
临时修改:
setenforce
查看:
getenforce
防火墙服务
查看防火墙状态:
systemctl status firewalld.service
停止防火墙服务:
systemctl stop firewalld.service
禁用防护墙:
systemctl disable firewalld.service
应用防火墙场景
- 建议开启:服务器可以被外界访问(公网/外网ip)
- 建议关闭:服务器可以被内部访问(私网/内网ip)
- 建议关闭:服务器处于高并发状态(公网/外网ip),软件防火墙关闭,硬件防火墙进行安全控制
字符编码优化
环境变量方式修改
查看当前系统字符编码:
echo $LANG
临时修改:
export LANG=en_US.UTF-8
永久修改:
echo "export LANG=en_US.UTF-8" >> /etc/profile
source /etc/profile
文件数据
linux 和 windows之间传输数据
安装和传输数据相关的软件:
yum install -y lrzsz
检查是否安装成功:
rpm -qa lrzsz
Linux 传给 windows
sz -y 文件
windows 传给 Linux
rz -y
xshell支持直接把文件拖拽上传。
查看系统文件数据信息
查看大文件
比较大的文件使用cat命令一次性查看不方便,我们可以使用其他命令。
less:逐行或者一页页查看,空格查看下一页,回车查看下一行,方向键上/下查看上/下一行,q退出。
less a.txt
more:逐行或者一页页查看,空格查看下一页,回车查看下一行,q退出。
more a.txt
区别:
- less:可以使用快捷方式,查看完毕不会自动退出
- more:不可以使用快捷方式,查看完毕会自动退出
截取文件内容
前5行截取:
head -5 a.txt
后5行截取:
tail -5 a.txt
实时监控文件
实时监控日志:
日志文件消失立刻失效
tail -f /var/log/secure
日志文件消失后,后续日志文件又创建可继续监控
tail -F /var/log/secure
检索文件中的指定内容信息
匹配含有'Failed'的每一行数据:
# grep命令,只显示匹配的数据
grep 'Failed' /var/log/secure
# sed命令,先显示匹配的数据,然后显示全部文件信息
sed '/Failed/p' /var/log/secure
# awk命令,只显示匹配的数据
awk '/Failed/' /var/log/secure
匹配含有'Failed'的每一行数据,并连带前2行:
grep 'Failed' -B 2 /var/log/secure
匹配含有'Failed'的每一行数据,并连带后2行:
grep 'Failed' -A 2 /var/log/secure
匹配含有'Failed'的每一行数据,并连带前后2行:
grep 'Failed' -C 2 /var/log/secure
匹配含有'Failed'的每一行数据,并附带行号:
grep 'Failed' -n /var/log/secure
匹配含有'Failed'的每一行数据,并取反:
grep 'Failed' -v /var/log/secure
替换文件数据信息
模拟替换(显示替换后的内容,但不会修改文件):将abc替换为def
sed -n 's#abc#def#gp' a.txt
真实替换:
sed -i 's#abc#def#gp' a.txt
替换指定字符:将a.txt中的a、b、c替换成A,并写入b.txt
tr 'abc' 'A' < a.txt > b.txt
别名功能
查看别名
查看所有别名:
alias
查看ll命令的别名:
alias ll
查看ll命令的别名和所在绝对路径
which ll
设置别名
临时设置:
alias rm='echo sorry!!!'
永久设置:
- 打开/etc/profile/
vi /etc/profile
- 添加别名:
alias rm='echo sorry!!!'
- 打开~/.bashrc
vi ~/.bashrc
- 将冲突的别名注释掉
- 重新连接服务端
PS:别名后面单引号中一定是完整命令信息。
文件属性信息
查看文件属性信息
ls -lhi /etc/
- 第一列:inode信息,index node,索引节点
- 第二列:文件类型,文件权限
d directory ⽬录类型的文件
- file 普通类型的⽂件
l softlink 连接类型的文件
c character 字符类型的⽂件(会源源不断的产⽣字符信息)
b block 块设备类型的⽂件 设备⽂件
s socket 和⽹络接⼝通讯相关(开发 ⽹络编程)
p pip 管道⽂件
- 第三列:硬链接数(可以直接被访问到的链接)
比如/b可以访问到a,/c也可以访问到a,那么a的硬链接数为2个
- 第四列:文件的所属用户信息(监护人)
- 第五列:文件的所属用户组信息
- 第六列:文件大小信息
- 第七列:文件修改时间信息
- 第⼋列:文件名称(不属于文件属性信息)
文件相关命令
显示文件信息类型
file a.txt
显示命令绝对路径信息
which cp
显示命令路径以及文件
whereis cp
快速定位文件路径信息
先安装:
yum install -y mlocate
然后更新数据库信息:
updatedb
查找/etc目录下含有ab的文件
locate /etc/a.txt
快速查找数据信息命令
查找/root目录下名为a.txt的文件
find /root -type f -name "a.txt"
查找/root目录下以.txt扩展名结尾的文件
find /root -type f -name "*.txt"
查找/etc目录下所有大于10k,但小于100k的文件
find /etc -type f -size +10k -size -100k
限制查找的层级:只查找一层
find /etc -maxdepth 1 -type f -size +10k -size -100k
对数据信息进行压缩处理
压缩/root、/etc至/root/a.tar.gz
tar -zcvf /root/a.zip /root /etc
检查确认压缩数据
tar -tf /root/a.zip
解压数据文件到当前目录
tar -zxvf /root/a.zip
解压数据文件到指定目录
tar -zxvf /root/a.zip -C /tmp