云计算 3月15号(linux的权限管理 进程管理 管道重定向 磁盘管理 文件查找 软件管理 计划任务 web服务器 配置文件)

一、走进Linux

服务器类型:塔式服务器、刀片式服务器、机架式服务器

服务器基建:云服务器、物理服务器、虚拟服务器、容器

操作系统:centos、ubuntu、debain、欧拉、龙蜥、银河麒麟、中标麒麟

复制代码
# 修改时区
timedatectl set-timezone Asia/Shanghai
/etc/localtime
​
# 日期时间
date 查看时间
date -s "年-月-日 小时:分钟:秒" 修改时间
date +"%F %T" 格式化打印时间 "%Y-%m-%d %H:%M:%S"
date -d "+1 minute" 指定相对当前时候的某一个时间
​
# 同步时间
ntpdate ntp.aliyun.com # time.windows.com
​
# 打印所在目录 pwd
pwd
​
#  查看某个目录下有什么内容
ls # -a|A 查看隐藏文件  -l 查看详细信息 -i 查看inode号 -h 人性化显示 -d 查看目录本身
​
# 切换目录
cd 目标地址 # . 当前目录 ..上一级目录 ~或不跟 家目录 - 切换到这里之前的目录
​
# 创建文件
touch 文件路径
​
# 删除文件
rm 文件或目录的路径 # -r 删除目录 -f 强制删除
​
# 关机和重启
init 0 或 poweroff
init 6 或 reboot
​
# 别名
alias 查看别名
alias 命令="需要设置别名的命令" # 设置别名
unalias 取消别名
二、文件管理

目录结构 Linux 单根、Windows 多根

绝对路径 ls /etc/a.txt 相对 cd /etc/ ; ls a.txt

文件类型 - 普通文件 l 软链接 d 目录 b 设备

常用指令

vim

用户和组

2.1 常用命令
复制代码
# 历史命令记录
history
​
# 打印信息到终端
echo "需要打印的信息" # -n 取消换行 -e 特殊字符有意义
echo "text" > a.txt # > 覆盖到文件中  >> 追加到文件中
​
# 创建目录 
mkdir 路径 # -p 创建连级目录 -v 显示详细信息
​
# 复制
cp 源路径1[ 源路径2 源路径3] 目标路径 # -r 复制目录
​
# 移动
mv 源路径1[ 源路径2 源路径3] 目标路径 # mv 如果在修改时指定新的名字,也可以用来给文件改名
​
# 查看文件内容
cat 文件路径1[ 文件路径2 文件路径3] # 查看全部 -n 查看时显示行号
tail # 后面的部分 -n 行数 -f 实时查看 -F 包含-f功能,也可以等待文件创建 * 表示查看当前目录下的所有文件
head # 前面的部分 -n 行数
​
# 过滤文件内容
grep "需要过滤的关键字" 文件路径 # -r 递归过滤,可以过滤当前路径中的所有文件
​
2.2 vim
复制代码
4个模式:
默认模式(命令模式) # 进入方法:1、vim文件时默认进入这个模式或在其他模式下esc
编辑模式 # 进入方法 在命令模式下 i I a A o O
扩展命令模式 # 进入方法 在命令模式下 :
可视化模式 # 进入方法 在命令模式下 ctrl + v 或 shift + v
​
:wq 保存退出
2.3 用户和组
复制代码
用户组相关文件
/etc/passwd 用户信息存放文件
/etc/group 创建用户时会自动创建同名组,组信息的存放文件
/etc/shadow 密码存放文件
/home/目录  用户家目录
/var/mail 用户邮箱
/var/spool/at 用户一次性计划任务
/var/spool/cron 用户计划任务
​
创建用户组
useradd 用户 # -s 指定登录shell -g 指定主属组 -G 指定附属组 
groupadd 组
​
修改用户组
usermod -aG 组名 用户 # 追加用户到组 
usermod -g 组名 用户 # 给用户修改主属组
groupmod -g 组 # 修改组信息
passwd 用户 # 修改用户密码,不写用户修改自己 -l 锁定用户 -u 解锁用户
gpasswd 组 # -a 添加用户到组 -M 指定组内成员 -d 从组中删除用户
三、权限管理

基本权限UGO

高级权限

提权方法

特殊权限

隐藏权限

3.1 基本权限
复制代码
U user G group  O other
R 4 读 W 2 写    X 1 执行
[root@localhost ~]# ll
-rw-r--r-- 1 root zhangsan 93605 Mar 15 09:29 a.txt
普通文件 用户-读写6 组-读4 其他人-读4 主-root 组-张三
​
# 设置权限 -R 递归设置
chmod 742 文件 
chmod u=rwx,g=r,o=w 文件 # a表示所有角色
chmod u+r,o-w 文件
​
# 设置属主属组
chown 主:组 文件 # : 也可以写成.
chown 主 或 chown :组 # 只改其中一个
​
su 切换用户 # 退出是exit或ctrl + d
3.2 高级权限
复制代码
suid # 给命令赋权,该命令所有用户使用将会像root权限一样
chmod u+s
sgid # 给目录设置,该目录中所有创建的文件会继承目录的属组
chmod g+s
sticky # 给目录设置,该目录中只有自己或root可以删除自己的文件,其他用户即便拥有删除权限,也不能删除
chmod o+t
3.3 提权
复制代码
1、chmod u+s #命令提权
2、visudo # 用户提权
3、setfacl # 给某个用户针对某个文件提权 # getfacl 查看
3.4 隐藏权限
复制代码
# 查看
lsattr
​
# 设置
chattr +i # i是不可读写 a是可追加
chattr -i
四、进程

查看进程

实时查看进程

处理进程

4.1 查看进程
复制代码
1、查看所有进程
ps aux 
ps -ef
​
2、查看网络进程
ss -anlp # -tnlp -unlp
netstat 参数一样
​
3、lsof
根据文件或端口查看对应的进程
​
4、w
查看当前登录的用户终端进程
​
5、pidof  pgrep
根据进程名称找到所有进程pid
​
4.2 实时查看进程
复制代码
top
​
htop
4.3 处理进程
复制代码
# 杀死进程
-1 重新加载 -9 强制杀死 -15 正常杀死 -18 恢复 -19 挂起
kill 根据pid
pkill 根据名字
killall 根据pid
​
jobs 查看后台运行的进程
# 前后台
进程运行时 
启动命令 & # 放到后台
bg % 工作号 # 后台运行
fg % 工作号 # 前台运行
​
进程运行中
ctrl + z # 放到后台,并停止
bg % 工作号 # 后台运行
fg % 工作号 # 前台运行
​
​
常用指令
free -m # 查看内存使用 -k 千字节 -g g字节 -h 人性化
uptime # 查看时间和cpu平均负载
rz # 上传
sz # 下载 
五、管道和重定向

管道

重定向

xargs

5.1 重定向
复制代码
# 文件描述符
0 标准输入
1 标准正确输出
2 标准错误输出
& 混合输出
1>&2 正确到错误管道
2>&1 错误到正确管道
​
# 丢弃输出
ls / &>/dev/null
# 丢弃错误
ls / 2>/dev/null
# 分离
ls / /hello 1>a.txt 2>b.txt
​
> 覆盖 >> 追加
​
# 输入重定向
cat <<EOF # 输出到屏幕
hello
EOF 
​
cat > a.txt <<EOF # 覆盖到文件a.txt 
hello
EOF
5.2 管道
复制代码
前面的命令执行的结果中的正确输出 | 以标准输入的方式接受前面的正确输出
cat /etc/passwd | grep root
​
xargs 指令 # 将接受管道前面推送的所有输出作为参数,按照规律交给后面的命令
​
echo -e "1.txt\n2.txt\n3.txt" | xargs -i touch {}  # -i 的分割符必须是换行
echo "1.txt 2.txt 3.txt" | xargs -n 1 sh -c 'touch $0' # 第二种方法,-n可以决定每次接受几个参数
六、磁盘管理

分区方式

文件系统

挂载

逻辑卷

raid 磁盘阵列

6.1 分区方式
复制代码
MBR 4个主分区或3个主分区+1个扩展分区(逻辑分区) 不超过2T
GPT 128个主分区 可以超过2T
6.2 文件系统
复制代码
xfs
ext
# 格式化
mkfs.xfs
mkfs.ext4
mkswap
​
# 挂载
临时
mount 设备 挂载目录  # -t xfs ext4 nfs -o 挂载模式 rw,remount
永久挂载
/etc/fstab
/etc/rc.local # 记得加执行权限
​
查看所有磁盘设备的信息
lsblk
​
查看当前已挂载的磁盘和使用情况
df -Th
​
查看目录或文件的大小
du -sh
6.3 逻辑卷
复制代码
# 创建
1、添加磁盘
2、将磁盘制作为物理卷
pvcreate
3、将物理卷加入到卷组,没有可以创建
vgcreate
vgextend
4、创建逻辑卷
lvcreate
​
扩容
当卷组有剩余空间
1、扩容逻辑卷
lvextend
2、扩容文件系统
resize2fs
xfs_growfs
​
当卷组没有空间
1、添加磁盘
2、将磁盘制作为物理卷
pvcreate
3、将物理卷加入到卷组
vgextend
4、扩容文件系统
resize2fs
xfs_growfs
6.4 磁盘阵列
复制代码
raid0 条带卷
读写:快 数据安全:低 磁盘利用率:100%
raid1 镜像卷
读写:读快 数据安全:高 磁盘利用率:50%
raid5 带有奇偶校验的条带卷
读写:一般 数据安全:中 磁盘利用率:n-1/n
七、文件查找-打包压缩

文件查找

文件过滤

打包tar c、压缩 tar jJz

软硬链接

7.1 文件查找
复制代码
find 要查找的文件路径 模式 
维度:
时间 -atime -mtime -amin -mmin
大小 -size
名字 -name
类型 -type
权限 -perm
​
例:查找大于50M的以.txt结尾的文件
find / -name "*.txt" -a -size +50M # -a 是和 -o 是或
​
查找后的动作
find / -name "*.txt" -a -size +50M -ls # 查看详细信息
find / -name "*.txt" -a -size +50M -exec cp {} /tmp \; # 查找后拷贝
​
查找命令的位置
which 
whereis 
7.2 文件过滤
复制代码
grep 关键字 文件 # -r 递归 
7.3 打包压缩
复制代码
归档 + 压缩(gzip|bzip2|xzip)
tar cvf 压缩包.tar 文件
tar cvzf 压缩包.tar.gz 文件
tar cvjf 压缩包.tar.bz2 文件
tar cvJf 压缩包.tar.xz 文件
​
解压缩
tar xvzf 压缩包 -C /etc # -C 指定解压缩的目录
7.4 软硬链接
复制代码
软链接
链接文件和源文件的inode号不相同
软链接的目标可以是目录
软链接可以跨文件系统配置
当源文件删除后,软链接失效
​
硬链接
链接文件和源文件的inode号相同
硬链接的目标不可以是目录
硬链接不可以跨文件系统配置
当源文件删除后,硬链接不失效
​
!!!!!!注意,删除软链接目录时,后面不要加/,rm -rf 软链接目录
八、软件包管理

软件包的类型

软件的安装方式

8.1 软件包类型
复制代码
软件包类型  .rpm
​
# 查看当前系统中所有安装的软件包
rpm -qa  # 安装过的包
8.2 软件包安装方式
复制代码
rpm 安装
rpm -ivh 包 # 安装
rpm -e 包 # 卸载
rpm -ql 包 # 列出所有安装的内容
rpm -qf 文件 # 查看某文件是哪个包安装的
rpm -qc 包 # 查看某个包都有哪些配置文件
​
yum 安装
yum install # 安装
yum reinstall # 重新安装
yum remove|erase # 卸载
yum clean all # 清空缓存
yum makecache # 创建新的缓存
yum repolist # 查看yum源信息
yum list # 查看源里面所有的包
yum provides # 查看某个命令是哪个包提供的
yum search # 在包的介绍中找关键字
yum history # 查看操作历史
yum history undo 编号 # 回滚
​
源码安装
三部曲
1检查
2编译
3安装
​
九、计划任务和日志

一次性计划任务和循环计划任务

日志服务和日志轮转

9.1 一次性计划任务
复制代码
时间表达式有两种
1、具体的时间点
teatime noon midnight tommorrow
2022年的5月15日下午4点
at 4PM 2024-5-15
2、根据当前时间来定义的未来时间
at now +5minute
at 4PM tommorrow
​
使用方法1
at 时间表达式
> 任务
> ctrl + d 结束
​
使用方法2
at 时间表达式 < 脚本任务
​
存放位置:
/var/spool/at
9.2 循环性计划任务
复制代码
操作方法
crontab -l # 查看
crontab -e # 编辑
crontab -r # 删除
crontab -u # 指定用户,需要配合其他参数完成
​
表达式
*   *   *   *   *       任务
分   时   日   月   周
符号
* 每
/ 隔
- 到
, 和
​
*/2     3   10-15   3,5,8   *
​
存放位置
/var/spool/cron
9.3 日志和日志轮转
复制代码
日志服务 rsyslog
/etc/rsyslog.conf
​
日志轮转服务 logrotate
/etc/logrotate.d/ 对应修改某个日志的轮转文件
十、web服务器
复制代码
虚拟主机的维度
基于端口
基于域名
基于ip
​
web服务器只能处理静态资源,动态资源需要后端进行处理
十一、常用的配置文件
复制代码
网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33
selinux配置文件
/etc/sysconfig/selinux
用户信息存放文件
/etc/passwd
本地解析文件
/etc/hosts
启动模块配置文件
/etc/grub2.cfg
ftp配置文件
/etc/vsftpd/vsftpd.conf
挂载文件
/etc/fstab
开机执行文件
/etc/rc.d/rc.local
yum仓库源存放位置
/etc/yum.repos.d
yum配置文件
/etc/yum.conf
临时dns修改配置文件
/etc/resolv.conf
邮箱配置文件
/etc/mail.rc
系统级计划任务
/etc/crontab
日志轮转配置
/etc/logrotate.conf
/etc/logrotate.d
ssh配置文件
/etc/ssh/sshd_config
启动配置目录
/etc/systemd/system
apache配置文件目录
/etc/httpd/conf/httpd.conf
nginx配置文件目录
/etc/nginx/nginx.conf
mysql配置文件
/etc/my.cnf
​
十二、常用端口
复制代码
20 #FTP传输                        
​
21 #FTP连接
​
22 #SSH
​
23 # TELNET 终端网络
​
25 #SMTP 邮件 465  587
​
53 #DNS
​
67 #DHCP 服务端
​
68 #DHCP 客户端
​
80 #HTTP 
​
110 #POP3 邮局协议版本3
​
123 #NTP 
​
137 #NetBIOS
​
143 #IMAP
​
161 #SNMP 监听端口
​
162 #SNMP Trap端口
​
443 #HTTPS
​
3306 #mysql
​
9000 #php
相关推荐
运维&陈同学6 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
科技云报道6 小时前
推动AI云产业向深向实,云·AI·算力创新发展大会即将启幕
云计算
dessler7 小时前
云计算&虚拟化-虚拟化技术介绍
linux·运维·云计算
神秘的土鸡7 小时前
丹摩征文活动 | SD3+ComfyUI的图像部署实践
人工智能·云计算·aigc·ai绘画·gpu算力·安全架构
云计算DevOps-韩老师11 小时前
【网络云计算】2024第45周周考-分组技能大赛-LVM结合RAID解题思路【RAID结合LVM】
网络·云计算·perl·devops·lvm扩容·lvm基本概念·raid基础
林农11 小时前
C03S01-Linux网络基本设置
linux·网络·云计算
容器魔方13 小时前
KubeEdge 1.19.0版本发布!更完备的节点设备能力,全新的Dashboard体验
云原生·容器·云计算
小安运维日记18 小时前
CKA认证 | Day1 k8s核心概念与集群搭建
运维·云原生·容器·kubernetes·云计算·k8s
这里是苏同学19 小时前
Linux操作系统之软件安装与包管理器工具
linux·运维·网络·centos·云计算
KubeSphere 云原生19 小时前
云原生周刊:Istio 1.24.0 正式发布
云计算·k8s·容器平台·kubesphere