Linux学习心得问题总结(三)
day09 文件权限篇
文件权限的属性有哪些?我们应如何理解这些属性?
文件权限的属性包括可读(r)、可写(w)、可执行(x)三种权限,根据文件类型可分为普通文件(.txt,.png,.png,.mp4...
)还有一些特殊文件(二进制文件b,socket文件s),其文件属性分析如下:
然后针对文件和文件夹的权限做一个分类:
权限分类 | 文件权限 | 文件夹权限 |
---|---|---|
作用 | 首字母权限位为- 是普通文件类型 文件的最大权限位为777,默认的权限位为755 | 首字母权限位为d,属于文件夹类型 文件夹权限的改变下次所创建的文件都会依靠于文件的权限而定 文件夹的最大权限位为666,默认权限位为644 |
如何使用link 来添加快捷方式
link表示软链接,它的命令是ln,常常作为软件服务快捷方式,在Linux我们会将它指向PATH环首字母境变量
这里我以Nginx为例,创建了Nginx启动快捷方式
# 创建Nginx快捷启动方式
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx# 语法
ln -s 快捷方式路径 指向快捷方式的路径
效果如下图所示:
nginx快捷方式成功加入到了/usr/bin/环境变量内!!!
有关文件权限的数字表示方法和字母表示方法
3.1 关于文件权限的字母表示方法
-
文件权限的表示方法:读r(read权限位数字表示为4),写w(write权限位数字表示为2),执行x(executive权限位数字表示为1)
-
在这里我们就要提到一个文件权限修改关键的命令chmod(change modefiy),针对于chmod文件权限修改我们作用的对象有三个文件所属主
u
(root),文件所属组g
(group),其他用户o
,当然如果我们需要整体对文件进行修改需要使用a(all)
权限从而能更方便修改用户所属权限关系chmod u-w a.txt b.txt #将文所属主权限调制u-w chmod u+w,g+x,o+rw a.txt #所属主加入w,所属组加入x,其他用户加入rw权限 chmod a+x b.txt #全部权限用户都有x可执行权限
3.2 关于文件权限的数字表示方法
- 在文件权限位中读权限会用数字4来表示,写权限会用数字2来表示,可执行权限用数字1来表示。
rwxr-xr-x
------------------->755(u=4+2+1 g=4+1+0 o=4+1+0 )
-w---xr--
------------------->214(u=0+2+0 g=0+0+1 o=4+0+0 )
chmod 755 a.txt #一般会将权限的数字表示写在文件名之前
如何理解chown、chgrp命令
4.1 chown命令
chown(Change owner)更改所属主的权限,语法格式为chown ownuser filename
-
修改文件用户权限
chown abc a.txt
-
修改文件用户组权限
chown :hhh111 a.txt
- 同时修改用户和用户组的权限
chown hhh111:hhh111 a.txt
- 实现文件权限递归规则统一
chown -R root /root/t1 #将t1目录的规则按照root的用户的原则进行修改
4.2 chgrp命令
- chgrp (change group )修改了目录组权限,修改语法:
chgrp old_group fileanme
chgrp hhh111 b.txt
-
实现群组递归效果(文件目录皆可)---->作用效果同chown
chgrp -R gp1 a.txt
day10 文件特殊权限
suid、sgid、sticky这几类权限有什么作用?为什么要学习这些权限?
在Linux 权限位中,有着一些特殊权限也发挥了一些重要的作用:suid (所有用户皆可访问和使用该文件)、sgid(使用的共享目录)、sticky(可粘贴键),关于特殊权限的添加也还是使用的chmod
命令
- suid (用户统一访问目录|文件)
【思考】 为什么无论是针对普通用户还是超级用户都能执行passwd修改密码操作,答案可想而知,我们就要根据passwd这个文件来进一步进行研究了
字母表现形式(s|S)
首先我们可以看到的是其权限位上表示的特殊权限位是s.如果在所属主用户上其原本拥有x权限,再加上特殊权限就是s,而如果本身不含有x可执行权限,那么它的特殊权限位就是S
.如果我们加入了ssid权限,那么就只针对临时拥有可执行文件二进制文件有效。
-
小写情况如下
chmod u+s filename
-
大写情况如下
chmod u+S filename
数字表现形式(用户控制位写成4位)
chmod 4655 a.txt #这里的4节即表示特殊用户权限
- sgid(共享目录)
方便所在组的所有用户能协同管理该目录,假如公司创建了一个运维组,且运维组只能管理属于自己的业务,而开发组负责自己开发的业务,那么我们针对这个场景应该如何应对呢?
-
创建共享目录方法
创建此类文件一定要确定目录文件权限拥有x权限
,一般情况下我会给到目录777权限- chmod 777 testdir # testdir为测试的目标目录
- **chmod g+s testdir ** #添加该目录为共享目录(字母表示法)|| chmod 7277 testdir #添加该目录为共享目录((数字表示法)
-
sticky
它的特点就是用户只能对用户进行写,而不能进行篡改操作,就好比老师发布了一个作用,只有老师自己独有权限修改和删除此类文件,你的身份无法进行此项操作。
umask作用是什么
umask 也叫做默认子网掩码,默认掩码是0022 ,此权限主要是为了修改文件或者文件夹的默认权限位
我们通过查询文件权限可以知道:
文件夹默认权限位表示755----->简单来说:777-022=755
文件默认权限表示位表示644------>简单来说: 666-022=644
day11 系统服务管理篇
Linux默认提供的服务有哪些
1.1 ssh 服务
1.首先了解sshd服务端口情况
[root@hxd111 tmp]# netstat -tnlp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1158/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 1158/sshd: /usr/sbi 2.了解针对服务有哪些有哪些常规的操作systemctl [start/stop/status/restart] service_name 下面以sshd为例做出简要说明systemctl status sshd || systemctl start sshd || systemctl stop sshd 3.sshd启动后即可访问该远程服务
1.2 network服务
针对Linux网路功能如何管理systemctl status network|| systemctl start network || systemctl stop network
systemctl有哪些常见的用法?
-
在使用Centos6操作系统时,我们使用的是
service
管理服务的运行状态对于service 服务进行管理常见的使用项包括启动(start),停止(stop),重启(restart),重新加载配置(reload),查看状态(status)
例如:启动mysqld服务时 service mysqld 指令 指定mysql的使用帮助service mysqld start #启动mysql服务service mysqld stop #停止mysql服务service mysqld restart #重启mysql服务service mysqld reload #加载mysql配置文件
chkconfig
指定服务进行开机自启动
作用:主要拥有以下几个功能: 为系统管理增加新服务,为系统管理移除服务、列出服务启动清单、查询服务的启动状态,默认不加选项只能显示服务使用信息
#查看系统程序列表
chkconfig --list
#开机启动服务
chkconfig service on
# 关闭开机启动
chkconfig service off
随着后期系统的更新和完善,Centos7系统将Service启停服务的命令和chkconfig命令进行了整合,从而出现了如今的systemctl
systemctl语法
systemctl (英语全拼:system control) 用于控制systemd系统和管理服务
语法
systemctl [OPTIONS...] COMMAND ..command选项解释如下unit(表示服务 ----sshd,network,nginx)
以下几个命令即代替了旧版的service服务名
start:启动指定特定的unit
stop:关闭了指定的unit
restart:重启了指定的unit
reload: 重载指定的unit
status :查看unit当前运行状态
is-enabled:查看是否开机自启动而enable和disable则是替代了传统的自启动chkconfig 服务名 on/off
- 列出内置服务、名字和状态(运行、挂掉的都显示)
systemctl list-units --type service 【--all】 #不输入all将只显示active内容
- 举例:搜索sshd服务进行管理
systemctl list-units --type service | grep sshd
systemctl is-enabled sshd.service
day12 scp与ntp服务
scp远程传输服务与Linux之间的关系
-
由本机电脑传输文件到同局域网的其他设备(scp)
scp /etc/passwd root@10.2.53.8:/tmp/
-
拉取其他局域网上的设备
scp root@10.2.53.8:/etc/passwd /tmp/
systemctl命令原理
1.依赖于systemctl脚本存放路径 /usr/lib/systemd/system/
2.通过systemctl status
服务调用这个脚本 status
3.找到了其可执行命令/usr/sbin/sshd -D
4.通过link方式创建了systemctl服务并指向了可执行路径
systemctl与Ngixn服务
# 1.使用yum源安装nginx
yum -y install nginx# 2.关闭防火墙,查看nginx
iptables -F# 关闭nginx服务
ps -ef | grep nginx
kill -9 pid
- 以服务管理模式运行systemctl
systemctl start nginx.service
systemctl status nginx.service
systemctl stop nginx.service
实际运行systenctl文件下的nginx.service 可执行文件
Ntp时间服务器的部署
- 修改linux的日期、时间timedatectl
timedatectl-- date (修改软件时间)--查看系统中时期文件ls /usr/share/zoneinfocp /usr/share/zoneinfo/Asia/Shanghai /usr-- hwclock(修改硬件主板时间以及纽扣电池,提供电路)
- 查看当前时间(timedatectl)
[root@localhost etc]# timedatectlLocal time: Sun 2025-05-18 22:06:38 CSTUniversal time: Sun 2025-05-18 14:06:38 UTCRTC time: Sat 2025-05-24 21:44:51Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: noNTP service: activeRTC in local TZ: no
[root@localhost etc]# timedatectl statusLocal time: Sun 2025-05-18 22:06:44 CSTUniversal time: Sun 2025-05-18 14:06:44 UTCRTC time: Sat 2025-05-24 21:44:56Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: noNTP service: activeRTC in local TZ: no
-
修改时间,时区
timedatectl set-time '10:00' timedatectl list-timezones | wc -l timedatectl list-timezones | grep -i 'shanghai' timedatectl set-timezone Asia/Shanghai
ntp时间同步
ntpdate
命令强制更新系统时间,进行时间同步
ntpdate -u ntp.aliyun.com
- 搭建时间同步服务器
1.安装ntp软件
yum -y install ntp2.查看ntp软件信息
[root@localhost etc]# ls /usr/lib/systemd/system/ | grep ntp
ntpdate.service
ntpd.service
ntp-wait.service
sntp.service3.找到ntp软件配置文件
[root@localhost etc]# rpm -ql ntp | grep conf
/etc/ntp.conf
/etc/sysconfig/ntpd
/etc/sysconfig/ntpdate
/etc/sysconfig/sntp4.修改ntp配置文件
vim /etc/ntp.conf# 添加ntp的运行日志
logfile /var/log/my_ntp.log
#记录程序的运行进程号,通过脚本,找到程序进程id
profile /var/run/ntpd.pid
server times.aliyun.com iburst prefer
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst5.重启ntp服务
systemctl restart ntpd.service6.查看ntp是否和上游服务器同步
ntpstat7.查看时间同步状态
ntpq -p
date命令和hwclock命令
timedatectl
进行了替代硬件+软件
让软件时间和硬件时间同步hwclock 可以将硬件时间和软件时间做同步-s --hctosys 从硬件时钟设置系统时间-w --systoch 从当前系统时间设置硬件时钟
置文件
vim /etc/ntp.conf
#添加ntp的运行日志
logfile /var/log/my_ntp.log
#记录程序的运行进程号,通过脚本,找到程序进程id
profile /var/run/ntpd.pid
server times.aliyun.com iburst prefer
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst
5.重启ntp服务
systemctl restart ntpd.service
6.查看ntp是否和上游服务器同步
ntpstat
7.查看时间同步状态
ntpq -p
### date命令和hwclock命令timedatectl进行了替代硬件+软件
让软件时间和硬件时间同步
hwclock 可以将硬件时间和软件时间做同步
-s --hctosys 从硬件时钟设置系统时间
-w --systoch 从当前系统时间设置硬件时钟
相关文章:

Linux学习心得问题总结(三)
day09 文件权限篇 文件权限的属性有哪些?我们应如何理解这些属性? 文件权限的属性包括可读(r)、可写(w)、可执行(x)三种权限,根据文件类型可分为普通文件(.…...
蓝桥杯国14 不完整的算式
!!!!!!!!!!!!!!!理清思路 然后一步步写 问题描述 小蓝在黑板上写了一个形如 AopBC 的算式&#x…...

Anthropic推出Claude Code SDK,强化AI助理与自动化开发整合
Anthropic发布Claude Code SDK,协助开发团队将人工智慧助理整合进自动化开发流程,支援多轮对话、MCP协定及多元格式。 Anthropic推出Claude Code SDK,提供开发者与企业一套可程序化整合Claude AI助理至开发流程的工具。此SDK以命令列介面为基…...

6.4.1最小生成树
知识总览 生成树(一定是连通的): 是连通的无向图的一个子图,子图包含这个无向图的所有顶点有n-1条边(少一条边,生成树就不连通了)即为生成树,一个连通图可能有多个生成树 最小生成树(最小代价树): 只有连通的无向图才…...
DAY 33
知识点回顾: 1. PyTorch和cuda的安装 2. 查看显卡信息的命令行命令(cmd中使用) 3. cuda的检查 4. 简单神经网络的流程 a. 数据预处理(归一化、转换成张量) b. 模型的定义 i. 继承nn.Module类 ii. 定义…...
基于ICEEMDAN-SSA-BP的混合预测模型的完整实现过程
以下将为您详细阐述基于ICEEMDAN-SSA-BP的混合预测模型的完整实现过程,包含原理说明、算法实现、代码解析及优化策略。本教程分为六个核心部分,采用Python 3.9环境开发。 基于ICEEMDAN-SSA-BP的混合时间序列预测模型 一、模型架构设计 1.1 整体流程 #mermaid-svg-o4UD3HaTm…...
常见排序算法详解及其复杂度分析
常见排序算法详解及其复杂度分析 排序算法是数据结构与算法学习中的基础内容,也是面试高频考点。本文将系统介绍几种常见的排序算法,包括它们的原理、时间复杂度、空间复杂度以及 Python 实现方法。 一、冒泡排序(Bubble Sort) …...

DARLR用于具有动态奖励的推荐系统的双智能体离线强化学习(论文大白话)
1. 概述 离线强化学习是现在强化学习研究的一个重点。相比与传统的强化学习它不需要大量的实时交互数据,仅仅依赖历史交互日志就可以进行学习。本文就是将离线强化学习用于推荐系统的一篇文章。 这篇文章主要解决的核心问题有以下几个: 1)…...

第35节:PyTorch与TensorFlow框架对比分析
引言 在深度学习领域,PyTorch和TensorFlow无疑是当前最受欢迎的两大开源框架。 自2015年TensorFlow由Google Brain团队发布,以及2016年Facebook的AI研究团队推出PyTorch以来,这两个框架一直在推动着深度学习研究和工业应用的发展。 本文将从多个维度对这两个框架进行详细对…...

企业级智能体 —— 企业 AI 发展的下一个风口?
在AI技术迅猛发展的当下,企业对AI的应用不断深入。企业级智能体逐渐受到关注,它会是企业AI发展的下一个风口吗?先来看企业典型的AI应用场景,再深入了解企业级智能体。 企业典型AI应用场景 1. 内容生成:2025年…...

【软考向】Chapter 2 程序设计语言基础知识
程序设计语言概述低级语言 —— 机器指令、汇编语言高级语言 ——翻译:汇编、解释和编译语言处理程序基础 —— 翻译给计算机,汇编、编译、解释三类编译程序基本原理 —— 词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成文法和语言的形式描述确定的有限…...

JavaWeb:SpringBootAOP切面实现统计方法耗时和源码解析
介绍 快速入门 1.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>2.切面类java Slf4j Aspect Component public class RecordTimeApsect {/*** 统计耗…...

RabbitMQ的其中工作模式介绍以及Java的实现
文章目录 前文一、模式介绍1. 简单模式2. 工作队列模式3. 广播模式4. 路由模式5. 通配符模式6. RPC模式7. 发布确认模式 二、代码实现1、简单模式2、工作队列模式生产者消费者消费者 1消费者 2 3、广播模式 (Fanout Mode)生产者消费者 4、路由模式 (Direct Mode)生产者消费者 5…...

vue2项目搭建
作者碎碎念:开历史倒车了,没想到不兼容,只能从vue3->vue2了。 1 vue3和vue2 这部分参考了官网的《vue3迁移指南》:Vue 3 的支持库进行了重大更新。以下是新的默认建议的摘要: 新版本的 Router, Devtools & test utils 来…...

Spring AI 源码解析:Tool Calling链路调用流程及示例
Tool工具允许模型与一组API或工具进行交互,增强模型功能,主要用于: 信息检索:从外部数据源检索信息,如数据库、Web服务、文件系统或Web搜索引擎等 采取行动:可用于在软件系统中执行特定操作,如…...

2025年- H48-Lc156 --236. 二叉树的最近公共祖先(递归、深搜)--Java版
1.题目描述 递归终止条件: 如果当前节点 root 为 null,表示到达了叶子节点的空子树; 如果当前节点是 p 或 q,就返回它(因为从这里可以回溯寻找公共祖先)。 2.思路 (1) 如果当前节…...
【人工智能】低代码-模版引擎
模板引擎是一种将数据与静态模板结合,生成动态内容的工具。它的核心作用是将业务逻辑与展示层分离,使代码更易维护、复用和管理。 核心功能 变量替换:将模板中的占位符替换为动态数据。 逻辑控制:支持条件判断(if/els…...

Hertz+Kitex快速上手开发
本篇文章以用户注册接口为例,快速上手HertzKitex 以用户注册接口来演示hertz结合kitex实现网关微服务架构的最简易版本 项目结构 api- gateway:网关实现,这里采用hertz框架 idl:接口定义用来生成kitex代码 kitex_genÿ…...
线程池配置经验总结
1. 核心线程数配置(corePoolSize) 1.1 核心线程数的配置影响因素 CPU核心数 CPU密集型任务:核心线程数 ≈ CPU核心数 1IO密集型任务:核心线程数 ≈ CPU核心数 (1 平均等待时间/平均计算时间) 一般经验值:2 CPU核心数 内存大小ÿ…...

机器学习课程设计报告 —— 基于二分类的岩石与金属识别模型
机器学习课程设计报告 题 目: 基于二分类的岩石与金属识别模型 专 业: 机器人工程 学生姓名: XXX 指导教师: XXX 完成日期:…...

分词算法BPE详解和CLIP的应用
一、TL;DR BPE通过替换相邻最频繁的字符和持续迭代来实现压缩CLIP对text进行标准化和预分词后,对每一个单词进行BPE编码和查表,完成token_id的转换 二、BPE算法 2.1 核心思想和原理 paper:Neural Machine Translation of Rare…...

STM32F103_Bootloader程序开发02 - Bootloader程序架构与STM32F103ZET6的Flash内存规划
导言 在工业设备和机器人项目中,固件远程升级能力已成为提升设备维护性与生命周期的关键手段。本文将围绕STM32平台,系统性介绍一个简洁、可靠的Bootloader程序设计思路。 我们将Bootloader核心流程划分为五大功能模块: 启动入口与升级模式判…...

通过Auto平台与VScode搭建远程开发环境(以Stable Diffusion Web UI为例)
文章目录 Stable Diffusion Web UI一、🎯主要功能概述二、🧠支持的主要模型体系三、📦安装方式简述✅ 一、前提准备✅ 二、安装步骤混乱版本(仅用于记录测试过程)第一步:克隆仓库(使用清华大学镜…...
Windows_Rider C#语言开发环境构建
Windows_Rider C#语言开发环境构建 一、C#语言简介历史背景语言特点应用领域开发工具未来发展方向 二、Rider简介功能特点支持的语言免费版本最新更新 三、开发环境构建(一)安装 JetBrains Rider(二)安装 .NET SDK(三&…...

Unity 打包程序全屏置顶无边框
该模块功能: 1. 打包无边框 2. 置顶 3. 不允许切屏 4.多显示器状态下,程序只在主显示上运行 5.全屏 Unity 打包设置: 如果更改打包设置,最好将Version版本增加一下,否则可能不会覆盖前配置文件 代码: 挂在场景中即可 using UnityEngine; using System; // 确保这行存…...

GAMES104 Piccolo引擎搭建配置
操作系统:windows11 家庭版 inter 17 12 th 显卡:amd 运行内存:>12 1、如何构建? 在github下载:网址如下 https://github.com/BoomingTech/Piccolo 下载后安装 git、vs2022 Git Visual Studio 2022 IDE - …...
第 29 场 蓝桥·算法入门赛
1. 不油腻的星座 "我们只欢迎不油腻的星座!" 在「非哺乳动物星座联盟」的派对上,主持人突然宣布:"请在场的 12 星座中,名字里包含哺乳动物的立刻离场",结果白羊、金牛、狮子、摩羯 44 个星座红着脸…...

用service 和 SCAN实现sqlplus/jdbc连接Oracle 11g RAC时负载均衡
说明 11.2推出的SCAN ,简化了客户端连接(当增加或者减少RAC实例时,不需要修改客户端配置,并且scan listener有各个实例的负载情况,可以实现连接时负载均衡。 不过客户端需要使用专门建立的service,而不能用RAC数据库…...
Jenkins 中获取构建触发用户的完整指南
在持续集成(CI/CD)流程中,追踪构建的触发用户是排查问题、审计操作或通知相关人员的重要需求。然而,Jenkins 默认不直接暴露触发构建的用户信息,尤其是在自动触发场景下。本文将详细介绍 多种获取 Jenkins 构建触发用户的方法,涵盖插件使用、脚本编写和 API 查询,并提供…...

防火墙流量管理
带宽管理介绍 针对企业用户流量,防火墙提供了带宽管理功能,基于出/入接口、源/目的安全区域、源/目的地址、时间段、报文DSCP优先级等信息,对通过自身的流量进行管理和控制。 带宽管理提供带宽限制、带宽保证和连接数限制功能,可…...