linux---》用户操作/su和sudo/普通权限/特殊权限/解压压缩/软件管理,rpm和yum/源码安装nginx
用户操作
####创建用户####1 创建sa和sutdents组
groupadd sa
groupadd students
# 2 用户可以属于多个组,只能属于一个主组,附加组可以有多个 G
useradd -u 5001 -g students -G sa -c "注释" -s /bin/bash lqz666
# 3 设置密码
passwd lqz666# 4 有的情况下我们创建用户,不希望登录
#创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin # 运行进程 某个用户运行的##### 修改用户 ###
usermod -L lqz666
usermod -U lqz666### 删除用户 ###
userdel justin #保留家路径
userdel -r lqz888 # 家路径一并删除
su和sudo
# su身份切换-以root用户登录了---》切换到其他用户上去su 用户名 不需要输入密码su - username # 加载当前用户的环境变量-以其他用户登录了---》切换成root用户su root 需要输入root用户密码
# 环境变量加载顺序/etc/profile->/家路径.bash_profile->家路径/.bashrc->/etc/bashrc# sudo 提权--->能不能干取决于有没有被授予
su命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全。为了改进这个问题,从而产生了sudo这个命令。其实sudo就相当于给某个普通用户埋下了浩克(hulk)的种子,当需要执行一些高级操作时,进行发怒,但正常情况下还是普通人,还是会受到限制# 举个例子:-普通用户不能创建用户-就是普通用户,就想创建---》问管理员要root密码--》su 成 root---》可以创建了---》完事切回来-我就是普通用户,管理员授予我创建用户权限 sudo useradd lqz 输入密码:你的密码# 1 命令 把lqz666这个用户加入到wheel组,这个组 是root 用户的组,有很多权限usermod lqz666 -G wheel# 2 wheel组的成员,跟root是一种权限,跟root用户一样,有一些权限-删除文件,创建文件夹。。。# 3 文件有些操作权限-rwx:读,写 ,执行属主:用户的权限属组:当前组都有权限 rwxrw_r__ 其他:其他用户有权限
普通权限
针对文件定义了三种身份,
分别是属主(owner):文件属于哪个用户
属组(group):文件是属于哪个用户用户组的
其他人(others):其他人
三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)rw- r-- r--
当前用户有读写权限 同一个组有读权限 其他人有读权限d rwx --- ---# 授予文件权限
# 方式一:
chmod u=rwx,g=rwx,o=rwx lqz.txt
# 方式二:
r:4
w:2
x:1
110 rw- 6
chmod 777 lqz.txtchmod 077 lqz.txtchomd +x xx.sh # 对该文件加执行权限(自己,组,其他人都有)
特殊权限
#选项: + 增加权限 -减少权限 =等于某个权限
# a:让文件或目录仅可追加内容
# i:不得任意更动文件或目录-电脑中毒了,一切皆文件---》查看哪个进程占cpu,内存高,定位到那个可执行文件---》删除可执行文件即可-删没有权限-chattr -i 文件# 操作
chattr +i 文件
解压压缩
# 在windows系统下,我们接触最多的压缩格式是 rar 或 zip ,但在Linux上使用最多的压缩格式是 zip 和 tar.gz 。当然不用担心,Linux上的压缩格式放在windows系统下都是可以正常打开的。
PS: Linux不支持 Windows下的 RAR 格式的压缩文件。Windows和Linux互通通常选择 zip# gzip-仅对文件有效,对文件夹无效,压缩后文件删除,解压后压缩包删除-安装:yum install gzip -y-压缩:gzip 文件名-解压:gzip -d file.gz-实际用途:做备份-gzip * 把当前路径下所有文件都压成 gz-gzip -d * 解压当前路径下所有gz文件# zip-yum install zip unzip -y-压缩:zip filename.zip xx.txt-压缩:包括目录和文件:zip -r filename1.zip xx.txt a.txt /etc/hosts-查看压缩包中有哪些文件:unzip -t filename1.zip-解压:unzip filename.zip-解压到指定目录下:unzip filename.zip -d /opt/
# tar #语法:tar [-zjxcvfpP] filename c #创建新的归档文件x #对归档文件解包t #列出归档文件里的文件列表v #输出命令的归档或解包的过程f #指定包文件名,多参数f写最后z #使用gzip压缩归档后的文件(.tar.gz)j #使用bzip2压缩归档后的文件(.tar.bz2)J #使用xz压缩归档后的文件(tar.xz)C #指定解压目录位置X #排除多个文件(写入需要排除的文件名称)h #打包软链接# 压缩时候选项:可以打出czf #打包tar.gz格式 常用cjf #打包tar.bz格式 不怎么用cJf #打包tar.xz格式 不考虑# 解压时候选项zxf #解压tar.gz格式jxf #解压tar.bz格式xf #自动选择解压模式xvf #显示解压过程tf #查看压缩包内容# 实战:-压缩:只记这一条即可tar czf test.tar.gz a.txt ./etc xx.txt-解压:tar -xf test.tar.gztar -xvf test.tar.gz-查看压缩包内容tar tf test.tar.gz
软件管理,rpm和yum
# 把光驱挂在到某个目录下
mount /dev/cdrom /mnt# rmp包的样子
httpd-devel-2.4.6-97.el7.centos.5.x86_64.rpm
rpm
# rpm安装软件命令rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
# rpm查看软件rpm -q 查看是否安装rpm -ql 释放的目录
# rpm卸载软件rpm -qa |grep tree # 从所有安装的软件中过滤一些是否有treerpm -q tree # 查看tree有没有装rpm -e tree # 卸载tree软件
安装软件命令
| 选项 | 描述 |
|---|---|
| -i | 安装rpm |
| -v | 显示安装详细信息 |
| -h | 显示安装rpm进度 |
| –force | 强制重新安装 |
| –nodeps | 忽略依赖关系 |
查看软件命令
| 选项 | 描述 |
|---|---|
| rpm -q | 查看指定软件包是否安装(重点) |
| rpm -qa | 查看系统中已安装的所有RPM软件包列表 |
| rpm -qi | 查看指定软件的详细信息 |
| rpm -ql | 查询指定软件包所安装的目录、文件列表(重点) |
| rpm -qc | 查询指定软件包的配置文件(只有配置文件,etc下的) |
| rpm -qf | 查询文件或目录属于哪个RPM软件 |
| rpm -qip | 查询未安装的rpm包详细信息 |
| rpm -qlp | 查询未安装的软件包会产生哪些文件 |
yum
# Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装# YUM源-yum install 装软件,它去某个位置下,默认是centos提供的,国外,可能会慢一些-国内的阿里云,提供镜像站wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# epel扩展源wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo# 查询软件yum list |wc -l # 查看所有可以按装的软件yum list|grep ftpyum info ftp#安装软件
yum install vim -y
yum install 远程地址rpm包自动处理依赖
yum reinstall vsftpd # 重新安装
rpm -qc vsftpd # 查看改软件安装后的一些目录# 更新软件
yum update nginx -y
# 卸载软件
yum remove 软件名 -y
源码安装nginx
源码安装
# nginx 为例安装# yum install nginx 简单,不能使用最新版,不能修改源码
# 源码安装,官方下载最新版,改源码,自己编译---》得到软件# 源码安装nginx
1 wget https://nginx.org/download/nginx-1.24.0.tar.gz
2 tar xf nginx-1.24.0.tar.gz
3 配置相关的选项,并生成Makefile./configure --help./configure --prefix=/usr/local/nginx # 指定安装路径yum -y install gcc gcc-c++ makeyum install -y pcre-develyum -y install zlib-develyum -y install openssl-devel
4 make 编译---》把源码编译成可执行文件---》/usr/local/nginx路径下会不会有?5 make install 安装6 cd /usr/local/nginx 可以看到文件夹
conf html logs sbin
配置文件 index.html 日志 可执行文件7 在任意路径下敲nginx 都能找到-1 软连接-2 把sbin路径加入到环境变量- vim .bash_profile-加入一行:PATH=$PATH:$HOME/binPATH=$PATH:/usr/local/nginx/sbinexport PATH-3 source 一下,让它生效source .bash_profile-4 以后再任意路径敲nginx,都会有响应
系统服务
# centos7 systemclt
systemctl管理服务的启动、重启、停止、重载、查看状态等常用命令# systemctl restart network# win上net start 服务名# 使用 systemctl 管理nginx -如果用yum安装的nginx,自动加入到服务中去,就会被systemctl管理-yum install nginx -y-systemctl status nginx-systemctl start nginx-systemctl stop nginx-systemctl reload nginx# 把咱们自己使用源码安装的软件也可以被systemctl管理#1 来到路径下:路径是
cd /usr/lib/systemd/system/
# 2 新建一个 mynginx.service
vim mynginx.service
[Unit]
Description=xxxx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecRestart=/usr/local/nginx/sbin/nginx -s restart
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target# 3 以后,使用systemctl 管理nginx-systemctl status mynginx-systemctl start mynginx-systemctl stop mynginx-systemctl reload mynginx# 4 开机自启动
systemctl enable mynginx # 开机启动
systemctl disable mynginx # 取消开机启动# 关闭防火墙,设置不开机自启动
systemctl stop firewalld
systemctl disable firewalld
进程管理
#1 ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.4 0.3 128148 6800 ? Ss 15:08 0:01 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 15:08 0:00 [kthreadd]# 哪个用户启动
# 进程id是什么,后期杀进程,可以使用进程id号
# cpu占用率
#内存占用率
# COMMAND 进程的命令 [系统进程] 其他进程#2 ps aux | grep redis#3 孤儿进程和僵尸进程
#4 ps -ef# 5 top 动态查看进程# 6 杀进程
kill -9 进程id号
pkill -9 进程名 批量干掉进程
相关文章:
linux---》用户操作/su和sudo/普通权限/特殊权限/解压压缩/软件管理,rpm和yum/源码安装nginx
用户操作 ####创建用户####1 创建sa和sutdents组 groupadd sa groupadd students # 2 用户可以属于多个组,只能属于一个主组,附加组可以有多个 G useradd -u 5001 -g students -G sa -c "注释" -s /bin/bash lqz666 # 3 设置密码 passwd lqz6…...
tinkerCAD案例:20. Simple Button 简单按钮和骰子
文章目录 tinkerCAD案例:20. Simple Button 简单按钮Make a Trick Die tinkerCAD案例:20. Simple Button 简单按钮 Project Overview: 项目概况: This is a series of fun beginner level lessons to hone your awesome Tinkercad skills a…...
Java - 为什么要用BigDecimal?
🤔️为什么要用BigDecimal? 当然是因为使用Double计算,在某些对精度要求很高的场景下会出现问题💀不信你看⤵️ Test void test12() {// 丢失精度double result 0.2 0.1;System.out.println(result); // 输出结果为 0.300000000…...
mac 删除自带的ABC输入法保留一个搜狗输入法,搜狗配置一下可以减少很多的敲击键盘和鼠标点击次数
0. 背景 对于开发者来说,经常被中英文切换输入法所困扰,我这边有一个方法,删除mac默认的ABC输入法 仅仅保留搜狗一个输入法,配置一下搜狗输入:哪些指定为英文输入,哪些指定为中文输入(符号也可…...
JiaYu说:如何做好IT类的技术面试?
IT类的技术面试 面试IT公司的小技巧IT技术面试常见的问题嵌入式技术面试嵌入式技术面试常见的问题嵌入式软件/硬件面试题 JiaYu归属嵌入式行业,所以这里只是以普通程序员的角度去分析技术面试的技巧 当然,也对嵌入式技术面试做了小总结,友友们…...
RL 实践(6)—— CartPole【REINFORCE with baseline A2C】
本文介绍 REINFORCE with baseline 和 A2C 这两个带 baseline 的策略梯度方法,并在 CartPole-V0 上验证它们和无 baseline 的原始方法 REINFORCE & Actor-Critic 的优势参考:《动手学强化学习》完整代码下载:7_[Gym] CartPole-V0 (REINFO…...
Python numpy库的应用、matplotlib绘图、opencv的应用
numpy import numpy as npl1 [1, 2, 3, 4, 5]# array():将列表同构成一个numpy的数组 l2 np.array(l1) print(type(l2)) print(l2) # ndim : 返回数组的轴数(维度数) # shape:返回数组的形状,用元组表示;元组的元素…...
SpringBoot 如何进行 统一异常处理
在Spring Boot中,可以通过自定义异常处理器来实现统一异常处理。异常处理器能够捕获应用程序中抛出的各种异常,并提供相应的错误处理和响应。 Spring Boot提供了ControllerAdvice注解,它可以将一个类标记为全局异常处理器。全局异常处理器能…...
数据库索引优化与查询优化——醍醐灌顶
索引优化与查询优化 哪些维度可以进行数据库调优 索引失效、没有充分利用到索引-一索引建立关联查询太多JOIN (设计缺陷或不得已的需求) --SQL优化服务器调优及各个参数设置 (缓冲、线程数等)–调整my.cnf数据过多–分库分表 关于数据库调优的知识点非常分散。不同的 DBMS&a…...
Student and Teacher network(学生—教师网络)与知识蒸馏
Student and Teacher network指一个较小且较简单的模型(学生)被训练来模仿一个较大且较复杂的模型(教师)的行为或预测。教师网络通常是一个经过训练在大型数据集上并在特定任务上表现良好的模型。而学生网络被设计成计算效率高且参…...
FPGA——PLD的区别以及各自的特点
目录 一、概述二、PLD的优点三、PLD的分类1、PROM(可编程只读存储器):2、PAL(可编程阵列逻辑)3、GAL(通用阵列逻辑)4、CPLD (复杂PLD)5、FPGA(现场可编程门阵…...
八、Kafka时间轮与常见问题
Kafka与时间轮 Kafka中存在大量的延时操作。 1、发送消息-超时重试机制 2、ACKS 用于指定分区中必须要有多少副本收到这条消息,生产者才认为写入成功(延时 等) Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而…...
Web端即时通讯技术(SEE,webSocket)
目录 背景简介个人见解被动推送轮询简介实现 长轮询(comet)简介实现 比较 主动推送长连接(SSE)简介实现GETPOST 效果 webSocket简介WebSocket的工作原理:WebSocket的主要优点:WebSocket的主要缺点: 实现用法一用法二 **效果** 比较…...
脑电信号处理与特征提取——4.脑电信号的预处理及数据分析要点(彭微微)
目录 四、脑电信号的预处理及数据分析要点 4.1 脑电基础知识回顾 4.2 伪迹 4.3 EEG预处理 4.3.1 滤波 4.3.2 重参考 4.3.3 分段和基线校正 4.3.4 坏段剔除 4.3.5 坏导剔除/插值 4.3.6 独立成分分析ICA 4.4 事件相关电位(ERPs) 4.4.1 如何获…...
分析npm run serve之后发生了什么?
首先需要明白的是,当你在终端去运行 npm run ****,会是什么过程。 根据上图的一个流程,就可以衍生出很多问题。 1,为什么不直接运行vue-cli-service serve? 因为直接运行 vue-cli-service serve,会报错,…...
LINUX上操作redis 用shell7
LINUX上操作redis 用shell7 步骤1:连接到Linux服务器步骤2:安装和配置Redis步骤3:连接到Redis服务器步骤4:操作Redis数据步骤5:断开与Redis服务器的连接 步骤1:连接到Linux服务器 首先,需要使用…...
Python的threading模块
为引入多线程的概念,下面是一个例子: import time, datetimestartTime datetime.datetime(2024, 1, 1, 0, 0, 0) while datetime.datetime.now() < startTime:time.sleep(1)print(Program now starting on NewYear2024) 在等待time.sleep()的循环调…...
HTML5 的离线储存怎么使用,工作原理
TML5提供了一种称为离线储存(Offline Storage)的功能,它允许网页在离线时缓存和存储数据,以便用户可以在没有网络连接的情况下访问这些数据。离线储存是通过使用Web Storage API或者应用程序缓存(Application Cache&am…...
FTP文件传输协议与DHCP
基本概念 主机之间传输文件是IP网络的一个重要功能 互联网早期,最通用方式就是使用FTP(File Transfer Protocol,文件传输协议)以及(Trivial File Transfer Protocol,简单文件传输协议) FTP采用…...
【UE5 多人联机教程】06-显示玩家名称
效果 可以看到玩家输入各自的名称,会显示到自己控制的角色头上。但是目前有一个BUG就是,当客户端加入游戏时会多创建一个服务端的角色。 步骤 1. 打开“BP_ThirdPersonCharacter”,添加一个控件组件,用于显示玩家名称 作为网格体…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
