• 云计算 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 < a.txt < 
    

    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
  • 相关阅读:
    安装部署VPP,不是翻墙!!
    Spark学习(3)-Spark环境搭建-Standalone
    链表 oj2 (7.31)
    DockerCompose常用命令及演示
    宏的优缺点&&宏的替代技术
    Android 通知
    Nacos win10 安装配置教程
    Spring源码-5.aop代理
    如何使用 Flutter Web 构建 Chrome 扩展(教程含源码)
    享元模式Flyweight
  • 原文地址:https://blog.csdn.net/2301_81766386/article/details/136749460