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

存放服务运行情况信息、系统运行或异常信息。

image

/var/log/secure

存放用户登录信息。

image

规律查看日志信息

查看有'Failed'字段的记录:

grep Failed /var/log/secure

image

proc目录

记录一些硬件使用情况,硬件详细信息。

查看CPU信息

cat /proc/cpuinfo
# 或者
lscpu
  • CPU(s):整个服务器有多少核心
  • Core(s) per socket:每个CPU有多少核心
  • Socket(s):服务器有几个CPU

命令查看内存信息

cat /proc/meminfo

image

实时使用情况:

free
# 或者
free -h

image

命令查看磁盘信息

df -h

查看负载情况

cat /proc/loadavg

image

前三个数字代表:平均每分钟负载、平均5分钟负载、平均15分钟负载。

w

image

第一行分别代表:当前时间、服务器运行时间、连接用户数、平均负载情况。

查看挂载信息

cat /proc/mounts

系统优化

查看自己的系统

cat /etc/redhat-release
# 或者
uname -r/-a/-n/-s/...

image

在系统中创建用户

创建tom用户名。

useradd tom

创建tom的密码,输入命令后会提示你输入密码。

passwd tom

切换用户

su - 用户名

换回上一个用户可以用 ctrl + d 快捷键

环境变量

特征:

  • 由大写字母组成
  • 配置的环境变量所有用户都必须遵循
  • 系统中默认就有的变量信息

PS1环境变量

PS1即命令提示符信息,查询:

echo $PS1

image

修改环境变量

临时修改:

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

image

查看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/

image

  • 第一列: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
posted @ 2022-06-09 20:01  Yume_Minami  阅读(76)  评论(0编辑  收藏  举报