Linux 系统参数和变量配置

一、常见系统参数配置

(一)用户系统资源限制

文件路径:/etc/security/limits.conf

常见配置:

对appuser做资源限制appuser soft nofile 655360对所有用户做资源限制* soft nofile 655360对用户组做限制@student hard nofile 65535类型:soft 超过阈值告警hard 真正的上限

命令:ulimit

ulimit -a 显示当前所有的资源限制
ulimit -H 设置硬件资源限制 必须卸载n参数前面
ulimit -S 设置软件资源限制
ulimit -n 设置进程最大打开文件描述符数
ulimit -f 设置可以建立的最大文件容量

注意:

  • 可以限制通过PAM登录的用户资源使用,但是不对系统服务生效
  • 动态的参数同样会写进/pro/sys 目录下
  • 很多软件都有推荐的ulimit配置

(二)内核参数配置

文件

内核静态参数配置 /etc/sysctl.conf

例如:

        在配置文件中追加:net.ipv4.ip_forward=1 

        sysctl -p /etc/sysctl.conf 使参数生效

命令

内核运行参数配置 sysctl

内核参数位置:/proc/sys 参数名称是以文件所在的路径,并将 '/' 以 '.' 来取代

例如:/proc/sys/net/ipv4/ip_forward的参数名称为net.ipv4.ip_forward

sysctl -w net.ipv4.ip_forward=1

等价于

echo 1 > /proc/sys/net/ipv4/ip_forward

注意:部分内核参数是不允许修改的,在没清楚参数作用前,变更要谨慎!!!


二、变量与环境变量

(一)变量

可以理解为临时的局部变量,有效范围小

设置变量
FIRST='Hello World!'注意:1) 变量等号左右不能有空格2) 变量由字符和数字组成,但不能用数字开头3) 变量的内容可以用""和''组成,可以拼接和共用"" 内可以包含转义符'' 会原样输出,纯文本\ 在双引号内是转义字符`` 反单引号返回内容命令执行结果$() 同上,返回内容命令执行结果4) $变量名 取值5) 未定义的变量为空
案例:
# echo "$FIRST"            # 可以取值
Hello World!# echo '$FIRST'            # 原样输出
$FIRST# FIRST="Hello World!"     # ! 是特殊字符需要转义
bash: !": event not found
取消变量

unset FIRST

特殊变量
常用特殊变量$ 当前shell的PID? 上一条命令的返回值,0是执行成功,其他值都是不成功echo $$
echo $?
变量的剪切
用例:
time_env=`date "+%Y/%m/%d %H:%m:%S"`echo $time_env
2023/12/26 17:12:16
从前往后剪切# :从第一个字符开始,尝试匹配正则表达式,去掉 <第一个完全满足的最小子串> 例:去掉符合 '*/' 正则表达式的第一个子串,最小匹配echo ${time_env#*/}12/26 17:12:16## : 从第一个字符开始,尝试匹配正则表达式,去掉 <第一个完全满足的最大子串> 贪婪例:去掉符合 '*/' 正则表达式的第一个子串,贪婪匹配echo ${time_env##*/}26 17:12:16
从后往前剪切% :从右往左,尝试匹配正则表达式,去掉 <第一个完全满足的最小子串>echo ${time_env%:*}2023/12/26 17:12%% :从右往左,尝试匹配正则表达式,去掉 <第一个完全满足的最大子串> 贪婪echo ${time_env%%:*}2023/12/26 17
变量的替换
path 的变量内容内的 sbin 取代成大写 SBIN匹配的第一个替换echo ${PATH/sbin/SBIN}匹配的全部替换echo ${PATH//sbin/SBIN}
变量的缺省赋值

这个有用,但是我平时也不用

username=${username-root}    主要是 '-'解释:username 未设置时赋值rootusername=${username:-root}   主要是 ':-'解释:username 未设置或为空时赋值为rootusername=${username+root}    主要是 '+'解释:username 已设置或为空时替换成rootusername=${username:+root}    主要是 ':+'解释:username 已设定为非空字符串时替换为rootvar=${str=expr}              主要是 '=' 解释:str 未设置时,给str 和 var 都赋值exprstr 为空时, 给var 赋值exprvar=${str:=expr}解释:str 未设置或为空,给str 和 var 都赋值exprstr 已设置,给 var 赋值expr

(二)环境变量

分临时环境变量和永久环境变量,也存在所有用户共用和单用户可用的情况

注意:

使用export 声明后,变量就变成环境变量

PATH 追加内容必须要用 ':' 隔开,否则PATH变量异常会导致很多命令不可用,变更PATH要谨慎!不过不会影响內建命令的使用

PATH=$PATH:$new_env案例:将PATH变量置为空(测试,慎用)
# export PATH=''
# ls
bash: ls: No such file or directory此时内置命令可用,即不需要通过PATH找命令路径的命令
# export

临时环境变量退出,再登录就能恢复,注意不要在生产环境测试!!!

设置环境变量
临时环境变量export FIRST='Hello World!'永久环境变量 (把上面临时的写入到配置文件,自动加载)1) 编辑全局环境变量并生效vi /etc/profilesource /etc/profile2)编辑用户下环境变量vi ~/.bashrcsource ~/.bashrc或vi ~/.profilesource ~/.profile
环境变量加载顺序
login shell 登录进来 bash 依次加载顺序是:1) /etc/profile2) /etc/profile.d/*.sh3) /etc/locale.conf4) ~/.bash_profile5) ~/.bashrc6) /etc/bashrc7) 进入bashnologin shell 登录进来 bash 依次加载顺序是:1) ~/.bashrc2) /etc/bashrc

当 ~/.bashrc 被删除后, 由于 PS1 变量没有被赋值,bash 就会如下显示:

-bash-4.2$  

可以从/etc/skel/.bashrc 拷贝再自定义恢复

(三)变量与环境变量区别

区别在于环境变量可以被子程序引用,而变量不行,变量可以粗略的理解为局部变量,环境变量可以粗略的理解为全局变量

(四)其他

系统运行时变量

        调整进程的oom_score,减小被OOM的概率 [-17, 15],-17表示禁止OOM kill

        cat /proc/$$/oom_adj   # 查看当前shell的oom参数

/proc/ 里面有很多有意思的东西,暂时没有研究,后续看过了再补充进来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[附代码]稳态视觉诱发电位SSVEP之预训练模型提高性能

SSVEP 之深度学习 深度学习已经被广泛运用在脑电信号分析来提高脑机接口的性能,这是一个end-to-end的方法,简单来说,只要搭建好深度学习网络,做好特征工程,然后分类即可,对于一个刚刚接触脑机接口领域深度学习的学习者来说,可以先忽略中间的数学相关的东西,先建一个网…

软件测试/测试开发丨Linux 数据处理三剑客学习笔记

一、Linux 三剑客之 grep 1、 内容检索 获取行&#xff08;单行&#xff09; grep pattern file获取内容 grep -o pattern file获取上下文 grep -A -B -C pattern file 2、 文件检索 递归搜索 grep pattern -r dir/展示匹配文件名 grep -H 111 /tmp/1只展示匹配文件名 grep …

HTML进阶

列表、表格、表单 文章目录 列表、表格、表单01-列表无序列表有序列表定义列表 02-表格表格结构标签-了解合并单元格 03-表单input 标签input 标签占位文本单选框上传文件多选框下拉菜单文本域label 标签按钮 04-语义化无语义的布局标签有语义的布局标签 05-字符实体 01-列表 …

影视后期:Pr 调色处理之风格调色

写在前面 整理一些影视后期相关学习笔记博文为 Pr 调色处理中风格调色&#xff0c;涉及下面几个Demo 好莱坞电影电影感调色复古港风调色赛博朋克风格调色日系小清晰调色 理解不足小伙伴帮忙指正 简单地说就是害怕向前迈进或者是不想真正地努力。不愿意为了改变自我而牺牲目前所…

常见算法面试题目

前言 总结一些常见的算法题目&#xff0c;每一个题目写一行思路&#xff0c;方便大家复习。具体题目的来源是下面的网站。 剑指offer 剑指offe2 leetcode200题 leetcode 100题 leetcode150题 leetcode 75题 文章目录 前言二叉树非递归遍历牛客JZ31 栈的压入、弹出序列 (…

软考网络工程师教程第五版(2018最新版)

软考网络工程师教程第五版(2018最新版) 内容简介 本书是全国计算机技术与软件专业技术资格(水平)考试指定用书。作者在前4版的基础上,根据网络工程师新版大纲的要求,针对考试的重点内容做了较大篇幅的修订,书中主要内容包括数据通信、广域通信网、局域网、城域网、因特网…

Python 创建第一个项目

打开pycharm编辑器 点击New Project创建一个新项目。 主要修改项目名和项目路径&#xff0c;其它保持默认&#xff0c;点击Create。 当编辑器创建好项目后&#xff0c;我们通过右键项目名&#xff0c;点击New&#xff0c;再点击Python File 创建一个Python文件。 写好文件名&a…

Motionface VoiceFocus使用教程

Motionface VoiceFocus使用教程 1&#xff1a;系统要求 软件运行支持32位/64位window 10/11系统, 其他要求无。 2&#xff1a;下载安装 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 下载VoiceFo…

69.乐理基础-打拍子-大切分与变体

内容来源于&#xff1a;三分钟音乐社 前置内容&#xff1a;66.乐理基础-打拍子-小切分-CSDN博客 上一个内容&#xff1a;68.乐理基础-打拍子-大附点与变体-CSDN博客 大切分&#xff1a; 把每个小切分的每一个音符翻一倍就变成大切分了&#xff0c;小切分是两个十六分音符夹一…

08 通信协议之UART

引言&#xff1a; 从本文开始&#xff0c; 本个专题之后的几篇文章都是讲解嵌入式开发中几种常见的通信协议的&#xff0c; 比如UART, I2C&#xff0c;SPI&#xff0c; CAN总线这些我就不讲了&#xff0c; 没用到过&#xff0c; 学是学不完的&#xff0c; 等用到的时候再去学习…

什么情况下不应该使用 LockWindowUpdate ?

在之前的文章中&#xff0c;我们将了解了 LockWindowUpdate 应该在什么场景下使用&#xff0c;也就是拖动的场景。 今天&#xff0c;我们来看看 LockWindowUpdate 被误用的一些场景。 人们看到 LockWindowUpdate 的“您锁定的窗口将无法重新绘制自身”行为&#xff0c;并将其…

磁盘阵列(RAID)

1.独立硬盘冗余阵列&#xff08;RAID, Redundant Array of Independent Disks&#xff09; 旧称廉价磁盘冗余阵列&#xff08;Redundant Array of Inexpensive Disks&#xff09;&#xff0c;简称磁盘阵列 用虚拟化存储技术把多个硬盘组合起来&#xff0c;成为一个或多个硬盘阵…

Spark魔力:招聘网站数据深度分析系统

Spark魔力&#xff1a;招聘网站数据深度分析系统 简介数据集技术栈功能特点创新点 简介 在本文中&#xff0c;我们将介绍一款基于Spark的招聘网站数据分析系统&#xff0c;该系统使用爬取的前程无忧招聘数据。通过结合Flask、Pandas、PySpark、以及MySQL等技术&#xff0c;实现…

指定列名自动将Excel内的数据拆分为不同的Sheet(基于Python)

在Python中&#xff0c;可以使用pandas和openpyxl或xlsxwriter库来读取Excel文件、操作数据以及将数据写入新的Excel文件中。以下是一个简单的示例&#xff0c;说明如何读取一个Excel文件&#xff0c;将指定列的数据拆分到独立的sheet中&#xff1a; 首先&#xff0c;确保安装…

大数据机器学习GAN:生成对抗网络GAN全维度介绍与实战

文章目录 大数据机器学习GAN&#xff1a;生成对抗网络GAN全维度介绍与实战一、引言1.1 生成对抗网络简介1.2 应用领域概览1.3 GAN的重要性 二、理论基础2.1 生成对抗网络的工作原理2.1.1 生成器生成过程 2.1.2 判别器判别过程 2.1.3 训练过程训练代码示例 2.1.4 平衡与收敛 2.2…

回顾 2023,展望 2024

by zhengkai.blog.csdn.net 项目与心得 今年最大的项目和心得&#xff0c;非GCP莫属&#xff0c;作为全球顶尖的云平台&#xff0c; GCP有他的优势&#xff0c;也有很多难用的地方。但是作为当时的一个strategic solution&#xff0c;我们的印度本地化项目必须使用GCP&#xf…

uni-app js语法

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

Zookeeper实现分布式锁和注册中心

目录 分布式锁 实现方式 分布式锁场景如何选择Redis和zookeeper 用InterProcessMutex实现分布式锁 zookeeper实现注册中心 分布式锁 实现方式 数据库唯一索引Redis的setnxZookeeper创建临时节点及监听机制Zookeeper创建临时有序节点 分布式锁场景如何选择Redis和zookeepe…

App Inventor 2 接入短信服务,实现短信验证码功能

发送短信验证码功能一般都是基于短信平台提供的sdk进行调用&#xff0c;这里是基于阿里云短信平台进行的开发&#xff0c;阿里云短信平台接入步骤请点此参考。 App Inventor 2拓展提供的函数如下&#xff1a; 主要提供2个函数&#xff0c;生成随机位数的数字随机码 和 发送短信…

01.QT概述

一、QT简介 Qt是一个跨平台的应用程序开发框架&#xff0c;用于开发图形界面和嵌入式应用程序。它最初由挪威的Trolltech公司开发&#xff0c;并于1995年首次发布。Qt提供了一套丰富的工具和类库&#xff0c;用于开发桌面应用程序、移动应用程序和嵌入式系统。 二、QT特点 1.…