关于linux:买了腾讯云4H8G5M800G硬盘的机器后怎么挂载硬盘

是的,没错,我又剁手买了服务器,因为配置,价格太太太香了,4H8G5M带宽800G硬盘,国内机器,够做很多很多的事了,而后买了后,装置零碎为Centos,装置了宝塔后没看到有800G硬盘,那应该是没挂载,明天来教大家挂载一下,这个办法的linux通用。服务器购买地址:腾讯云限时秒杀首先咱们进入腾讯云的云服务器控制台,点击左侧的云硬盘,抉择800G的那个点击挂载如果 挂载 按钮 是灰色的,就不必管,咱们间接操作服务器的ssh去fdisk -l能够看到硬盘/dev/vdb接下来咱们来格式化磁盘mkfs.ext4 /dev/vdb而后挂载磁盘到data目录mount /dev/vdb /data这里曾经是挂载胜利了!然而,咱们服务器的话有时候可能要重启什么的,所以咱们还要设置一下开机主动挂载!输出vi /etc/fstab 命令后回车会发现别的货色,咱们不论咱们间接把光标挪动到最上面按 i 键 进入编辑模式/dev/vdb /data ext4 defaults 0 0而后粘贴进去按 Esc,输出 :wq,按 Enter。保留设置并退出编辑器。最初执行mount -a,而后重启下宝塔!搞定~难受!

January 13, 2022 · 1 min · jiezi

关于linux:祝贺优麒麟入选年度最受关注操作系统

就在刚刚,优麒麟荣获“年度最受关注操作系统”奖项!本奖项由 IT 之家发动,以主观视角,会集万千操作系统用户口碑和应用抉择,汇合产品性能、设计、性能、市场等多方面体现综合评比得出。 此番获奖不仅是优麒麟社区的荣誉,也是整体社区成员的独特荣誉,是大家共同努力的后果,促使优麒麟社区蓬勃发展。将来,优麒麟将在营造良好开源生态和技术倒退方面继续致力,也期待越来越多的爱好者参加进来,为建设开源、奉献开源添砖加瓦! 对于优麒麟优麒麟社区自 2013 年成立以来,已累计发行 19 个版本,下载量超过 3800 万次,向开源社区奉献代码 数百万行,被 Linux、Debian、Ubuntu、OpenStack、Ceph 等国内开源社区接管的 patch 超过 7400 个,在寰球范畴内领有 数十万 沉闷用户。 其 UKUI 等外围组件更是被 Debian、ArchLinux、Ubuntu、openSUSE、Manjaro、Fedora、openEuler、SparkyLinux、Gentoo 等 9 款国内外支流 Linux 发行版仓库收录。同时优麒麟也是寰球首个反对 ARM 桌面的开源操作系统发行版,也是惟一受邀退出 Linaro 社区的中国操作系统团队,在 Linux 赛道上,优麒麟也是处于第一梯队,目前曾经累计在寰球 30+ 城市、50+ 大学举办 100+ 场线下流动,造就数万 Linux 人才。

January 13, 2022 · 1 min · jiezi

关于linux:高新技术企业几维科技加入龙蜥为操作系统安全添砖加瓦

近日,北京掌上星散科技倒退有限公司(简称:几维科技)签订了 CLA(Contribution License Agreement,贡献者许可协定),正式退出龙蜥社区(OpenAnolis)。 几维科技成立于 2014 年,是一家专一于代码及程序利用底层平安技术、服务寰球的高新技术企业;总部坐落于北京,成都、杭州、上海等地设有分公司。几维科技成立至今始终秉承“让万物互联更平安”的使命愿景,帮忙物联网相干企业发现设施固件中存在的安全隐患,并与相干监管机构单干,为物联网平安添砖加瓦。 几维科技还有针对挪动端的合规检测和平安加固爱护平台,为挪动互联网客户提供成套解决方案和能力建设,同时具备物联网 IoT 设施的破绽扫描、数据安全和系统安全加固爱护的软硬一体综合解决方案能力。 在将来,几维科技将充分利用和依靠长年在物联网平安底层技术的积攒和产品劣势,增强龙蜥操作系统在合规性、安全性、管理性等方面的能力,并积极参与操作系统行业标准规范的建设,为龙蜥社区孵化翻新和人才培养等奉献本人的力量,全力助推国家根底软件产业的疾速倒退。 龙蜥社区「龙腾打算」正在进行中,欢送更多企业退出。详情可查看:“龙腾打算”启动!邀请 500 家企业退出,与龙蜥社区一起拥抱有限生态 —— 完 —— 退出龙蜥社群 退出微信群:增加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;退出钉钉群:扫描下方钉钉群二维码。欢送开发者/用户退出龙蜥社区(OpenAnolis)交换,独特推动龙蜥社区的倒退,一起打造一个沉闷的、衰弱的开源操作系统生态! 对于龙蜥社区龙蜥社区(OpenAnolis)是由企事业单位、高等院校、科研单位、非营利性组织、集体等在被迫、平等、开源、合作的根底上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、凋谢的Linux 上游发行版社区及翻新平台。 龙蜥社区成立的短期指标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应答计划,构建一个兼容国内 Linux 支流厂商的社区发行版。中长期指标是摸索打造一个面向未来的操作系统,建设对立的开源操作系统生态,孵化翻新开源我的项目,凋敝开源生态。 目前,龙蜥OS 8.4已公布,反对 X86_64 、Arm64、LoongArch 架构,欠缺适配飞腾、海光、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密反对。 欢送下载: https://openanolis.cn/download 退出咱们,一起打造面向未来的开源操作系统! https://openanolis.cn

January 13, 2022 · 1 min · jiezi

关于linux:无法执行文件命令权限不够看这篇就够了

Linux 零碎上有严格的权限等级,如果权限过高导致误操作会减少零碎的危险。所以对于理解 Linux 零碎中的各种权限及如何调配正当的权限非常重要。 不同于 Windows 零碎,Linux 是一个多用户零碎,对每一个用户来说,个人隐私的爱护非常重要,所以 Linux 零碎为每个文件都增加了很多的属性,最大的作用就是保护数据的平安。就像在你的 Linux 零碎中,和零碎服务相干的文件通常只有 root 用户能力读或写,例如 /etc/shadow 文件,此文件记录了零碎中所有用户的明码数据,重要水平显而易见,所以绝不能让任何人读取以避免明码泄露,而只有 root 用户才有读取权限。 所以说,权限是用来束缚用户对系统所做的操作。或者说,权限是指某个特定的用户具备特定的系统资源应用势力。 1.权限与用户的关系 在Linux零碎中,权限用来定义用户能做什么、不能做什么。针对文件定义了三种身份,别离是属主 Owner、属组 Group、其他人 Others。每种身份又对应三种权限,别离是读 read、写 write、执行 execute。 Linux 中权限由 rwxr-xr-x 这 9 位字符来示意,次要管制文件的属主 Owner、属组 Group 以及其余用户 Others 的权限。 一个用户拜访文件的流程如下: 1.判断用户是否为文件属主,如果是则按属主权限进行拜访; 2.判断用户是否为文件属组,如果是则按属组权限进行拜访; 3.如果不是文件属主、也不是该文件属组,则按其他人权限进行拜访。 咱们在应用 Linux 的过程中,时常会遇到一些对于属主和属组的问题,比方最常见的你想要在某个门路下执行某个指令,会经常出现“Permission denied”谬误提醒,这其实也是由权限问题导致的。 2.如何批改文件权限 批改权限简略来说就是:赋予某个用户或组-->可能以何种形式(读写执行)-->拜访文件。 变更文件权限应用的是 chmod 这个命令,然而,权限的设置有两种形式,能够别离应用数字或者符号进行权限变更。对于 root 用户而言,能够批改任何人的文件权限;普通用户仅仅只能变更属于本人的文件权限。 (1)NUM 形式 咱们能够应用数字来示意 Linux 文件的各个权限。 个别 r 示意 4;w 示意 2;x 示意 1,每种身份各自的权限是须要累加的,比方 rwx 就示意 4+ 2 + 1 = 7。比方咱们最常见的 chmod777 它就示意赋予所有的权限,也就是说谁都能看/写/执行,然而这种文件也存在极大的平安问题。 ...

January 12, 2022 · 1 min · jiezi

关于linux:Linux之etcgroup文件

用户组(Group)配置文件次要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。/etc/group文件作用/etc/group文件是用户组的配置文件,内容包含用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户能够归属一个或多个不同的用户组;同一用 户组的用户之间具备类似的特色。比方咱们把某一用户退出到root用户组,那么这个用户就能够浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限凋谢,root用户组的所有用户都能够批改此文件,如果是可执行的文件(比方脚本),root用户组的用户也是能够执行的; 用户组的个性在系统管理中为系统管理员提供了极大的不便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户领有独立的用户 组,或者是把用户下的文件的权限设置为齐全公有;另外root用户组个别不要轻易把普通用户退出进去。/etc/group文件格式/etc/group的内容包含用户组(Group)、用户组口令、GID及该用户组所蕴含的用户(User),每个用户组一条记录group_name:passwd:GID:user_list 第一字段(group_name):用户组名称;第二字段(passwd):用户组明码;第三字段:GID第四字段(user_list):用户列表,每个用户之间用,号宰割;本字段能够为空;如果字段为空示意用户组为GID的用户名举个例子。root:x:0:root,admin注:用户组root,x是明码段,示意没有设置明码,GID是0,root用户组下包含root、admin以及GID为0的其它用户(能够通过/etc/passwd查看)。什么是GIDGID和UID相似,是一个正整数或0,GID从0开始,GID为0的组让零碎赋予给root用户组;零碎会预留一些较靠前的GID给零碎虚构用户(也被 称为假装用户)之用;查看零碎增加用户组默认的GID范畴应该查看 /etc/login.defs 中的 GID_MIN 和GID_MAX 值。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

January 11, 2022 · 1 min · jiezi

关于linux:Linux之chown命令

chown将指定文件的拥有者改为指定的用户或组,用户能够是用户名或者用户ID;组能够是组名或者组ID;文件是以空格离开的要扭转权限的文件列表,反对通配符。系统管理员常常应用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户领有应用该文件的权限。 只有文件主和超级用户才能够应用该命令命令语法chown(选项)(参数) 命令选项-c或——changes:成果相似“-v”参数,但仅会报更改的局部;-f或--quite或——silent:不显示错误信息;-h或--no-dereference:只对符号连贯的文件作批改,而不更改其余任何相干文件;-R或——recursive:递归解决,将指定目录下的所有文件及子目录一并处理;-v或——version:显示指令执行过程;--dereference:成果和“-h”参数雷同;--help:在线帮忙;--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全副设成和参考文件或目录的拥有者与所属群组雷同;--version:显示版本信息。命令参数用户:组 指定所有者和所属工作组。当省略:组,仅扭转文件所有者;文件:指定要扭转所有者和工作组的文件列表。反对多个文件和指标,反对shell通配符。扭转文件的属主和属组> chown deploy:deploy rumenz.txt扭转文件的属主和属组每个用户都有一个默认或次要组。如果用户创立了新文件或目录,则该主组将主动成为文件的组所有者。您能够应用id命令列出用户的默认组。 如果要将文件的组所有权更改为用户的默认组,则应仅在冒号后保留组名。 > chown deploy: rumenz.txt省略属组(deploy:),将同时批改文件的属主和属组只扭转文件的属组> chown :deploy rumenz.txt省略属主(:deploy),将只扭转文件的属组扭转指定目录以及其子目录下的所有文件的拥有者和群组> chown -R -v deploy:deploy rumenz参考1.txt的属主属组批改2.txt的属主和属组> chown --reference=1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

January 10, 2022 · 1 min · jiezi

关于linux:Linux之chgrp命令

chgrp命令用来扭转文件或目录所属的用户组。该命令用来扭转指定文件所属的用户组。其中,组名能够是用户组的id,也能够是用户组的组名。文件名能够是由空格离开的要扭转属组的文件列表,也能够是由通配符形容的文件汇合。如果用户不是该文件的文件主或超级用户(root),则不能扭转该文件的组。组名称必须在/etc/group存在>cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:mysql:x:27:nginx:x:993:命令格局chgrp [选项] [组] 文件... 选项-c或——changes:成果相似“-v”参数,但仅会显示更改的局部;-f或--quiet或——silent:不显示错误信息;-h或--no-dereference:只对符号连贯的文件作批改,而不是该其余任何相干文件;-R或——recursive:递归解决,将指令目录下的所有文件及子目录一并处理;-v或——verbose:显示指令执行过程;--reference=<参考文件或目录>:把指定文件或目录的所属群组全副设成和参考文件或目录的所属群组雷同;命令参数组:指定新工作名称;文件:指定要扭转所属组的文件列表。多个文件或者目录之间应用空格隔开。扭转目录的属组> ls -al rumenzdrwxr-xr-x 2 root root 59 Feb 3 23:39 rumenz> chgrp -v www rumenz> ls -al rumenzdrwxr-xr-x 2 root www 59 Feb 3 23:39 rumenz将rumenz目录由root组改为www群组扭转目录的属组,包含目录下的所有文件> chgrp -R www rumenz依据指定文件扭转文件的群组属性> chgrp --reference=1.txt 2.txt扭转文件2.txt的群组属性,使得文件2.txt的群组属性和参考文件1.txt的群组属性雷同通过群组识别码扭转文件群组属性> chgrp -R 27 ruemnz27代表的是mysql组原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

January 9, 2022 · 1 min · jiezi

关于linux:python如何获取列表长度

Python是一种十分具备表现力的语言,它提供了不同的构造来简化开发人员的工作。该列表是python提供的最受欢迎的数据结构之一。在惯例工作流程中,咱们在列表中增加元素或从列表中删除元素。然而在这种浮动的状况下,咱们须要获取列表的长度。咱们如何取得列表的长度或大小?在本教程中,咱们将钻研获取长度列表的不同办法。 how to get list length in python 应用内置的len()函数如前所述, len是默认状况下python提供的内置函数。咱们能够应用此性能,仅将列表作为参数提供,如下所示。语法非常简单,咱们仅将len() ,数组中的列表,数组,元组或字典类型变量提供为数组。 name_list=['ismail','ahmet','ali']len(name_list) fruit_list = ['apple', 'banana', 'carrot' , 'melon' , 'tomato']len(fruit_list) number_list = [1,2,3,4,5,6,7,8,9,10,12,13,14,15]len(number_list) how to use list len function in python 3 应用内置的len()函数获取多维列表长度在后面的内容中,咱们钻研了单个维度列表的长度。然而在现实情况下,将存在多维列表。咱们还能够仅通过提供相干子列表的索引来取得此列表一维长度的长度,如下所示。在此示例中,咱们要获取第一个子数组的长度。 name_list=[['ismail','elif'],'ahmet','ali',[7,8,9,10],1,2,3,['apple', 'banana', 'carrot' , 'melon' , 'tomato']]len(name_list)len(name_list[0])len(name_list[7]) 获取多维列表长度 咱们提供子列表元素索引为这是['ismail','elif']并将此子列表的长度设为2 应用For循环通过迭代每个元素来计算长度len()函数提供了一种十分不便,轻松且无效的形式来获取数组的长度或大小。然而在某些状况下,咱们可能心愿通过一一计算列表的长度或大小。甚至咱们也想打消列表中的某些元素并且不计算它们。在此示例中,咱们能够通过for列表应用for循环来实现。 name_list=['ismail','ahmet','ali']count=0for element in name_list: count=count+1print(count) name_list=[['ismail','elif'],'ahmet','ali',[7,8,9,10],1,2,3,['apple', 'banana', 'carrot' , 'melon' , 'tomato']]count=0for element in name_list: count=count+1print(count) 字典长度len()函数在获取诸如字典之类的不同数组类型的长度或大小时十分有用。咱们能够应用雷同的语法来计算字典键,值类型元素。这将对1个键和值对进行计数。 name_surname={'ismail':'baydan','ahmet':'baydan','ali':'baydan'} len(name_surname) how to get list length in python ...

January 9, 2022 · 1 min · jiezi

关于linux:python中len的使用方法

python中能够应用len()或length_hint()办法查看列表长度。 1、len()办法 len()办法语法:len(list) list -- 要计算元素个数的列表。 示例:#!/usr/bin/python list1, list2 = [123, 'xyz', 'zara'], [456, 'abc'] print "First list length : ", len(list1); print "Second list length : ", len(list2); 输入后果如下:First list length : 3 Second lsit length : 2 2、应用length_hint()办法查看列表长度 在Python中还能够length_hint()办法来查找列表长度。该办法是查找列表长度的一种鲜为人知的技术;它是在operator类中定义的,它会返回列表中存在的元素的数量。 代码示例:应用length_hint()办法来获取列表长度from operator import length_hint 初始化列表List = [ 1, 4, 5, 7, 8 ] 输入列表print ("列表为: " + str(List)) list_len_hint =length_hint(List) 输入列表长度print ("列表长度为: " + str(list_len_hint)) how to check list length in python 3 ...

January 9, 2022 · 1 min · jiezi

关于linux:Linux之tar命令

通过SSH拜访服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具 tar命令能够为linux的文件和目录创立档案。利用tar,能够为某一特定文件创建档案(备份文件),也能够在档案中扭转文件,或者向档案中退出新的文件。tar最后被用来在磁带上创立档案,当初,用户能够在任何设施上创立档案。利用tar命令,能够把一大堆的文件和目录全副打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是十分有用的。 打包和压缩打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),而后再用压缩程序进行压缩(gzip bzip2命令) linux下最罕用的打包程序就是tar了,应用tar程序打进去的包咱们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就能够用其它的程序来进行压缩。 命令格局> tar [必要参数] [抉择参数] 文件命令性能用来压缩和解压文件。tar自身不具备压缩性能。他是调用压缩性能实现的。命令参数必要参数-A或--catenate:新增文件到以存在的备份文件;-B:设置区块大小;-c或--create:建设新的备份文件;-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,能够应用这个选项。-d:记录文件的差异;-x或--extract或--get:从备份文件中还原文件;-t或--list:列出备份文件的内容;-z或--gzip或--ungzip:通过gzip指令解决备份文件;-Z或--compress或--uncompress:通过compress指令解决备份文件;-f<备份文件>或--file=<备份文件>:指定备份文件;-v或--verbose:显示指令执行过程;-r:增加文件到曾经压缩的文件;-u:增加扭转了和现有的文件到曾经存在的压缩文件;-j:反对bzip2解压文件;-v:显示操作过程;-l:文件系统边界设置;-k:保留原有文件不笼罩;-m:保留文件不被笼罩;-w:确认压缩文件的正确性;-p或--same-permissions:用原来的文件权限还原文件;-P或--absolute-names:文件名应用相对名称,不移除文件名称前的“/”号;-N <日期格局> 或 --newer=<日期工夫>:只将较指定日期更新的文件保留到备份文件里;--exclude=<范本款式>:排除合乎范本款式的文件。抉择参数-b 设置区块数目-C 切换到指定目录-f 指定压缩文件--help 显示帮忙信息--version 显示版本信息打包一个文件,不压缩> tar -cvf rumenz.tar rumenz.txt打包并压缩一个文件(应用gzip压缩)> tar -zcvf rumenz.tar.gz rumenz.txt打包并压缩一个文件(应用bzip2压缩)> tar -jcvf rumenz.tar.bz2 rumenz.txt在选项f之后的文件档名是本人取的,咱们习惯上都用 .tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加j选项,则以.tar.bz2来作为tar包名。列出打包压缩文件外面的内容> tar -ztvf rumenz.tar.gz因为咱们应用gzip压缩的rumenz.tar.gz,所以要查阅rumenz.tar.gz包内的文件时,就得要加上z这个选项了tar.gz解压缩> tar -xzvf rumenz.tar.gztar.gz解压缩到/tmp目录> tar -xzvf rumenz.tar.gz -C /tmp只解压rumenz.tar.gz外面的1.txt,2.txt> tar -zcvf rumenz.tar.gz *.txt//查看rumenz.tar.gz外面的文件(在不解压缩的状况下看)> tar -ztvf rumenz.tar.gz1.txt2.txt3.txt4.txt> tar -zxvf rumenz.tar.gz 1.txt 2.txt1.txt2.txt> ls 1.txt 2.txt rumenz.tar.gz压缩文件并保留其权限> tar -zcpvf rumenz.tar.gz 1.txt 2.txt 3.txt 4.txt这个-p的属性是很重要的,尤其是当您要保留本来文件的属性时。不打包压缩某个文件(或目录)> tar --exclude rumenz/doc rumenz.tar.gz rumenz/*在/etc当中,比2021/01/01新的文件才备份> tar -N "2021/01/01" -zcvf etc.tar.gz /etcbzip2 压缩,查看,解压压 缩:tar -jcvf rumenz.tar.bz2 rumenz查 询:tar -jtvf rumenz.tar.bz2解压缩:tar -jxvf rumenz.tar.bz2 -C test原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

January 8, 2022 · 1 min · jiezi

关于linux:庞大的23k补丁系列将缩短-Linux-内核构建时间和解决依赖地狱

近日,资深内核开发者 Ingo Molnar 提交了一个含有 2,297 个补丁的微小补丁集,并将之命名为"Fast Kernel Headers"。他示意本人从 2020 年底就启动了这个我的项目,这是对 Linux 内核的头文件层次结构和头文件依赖项的全面重塑,旨在减速 Linux 的构建工夫和解决“依赖天堂”问题。 什么是“依赖天堂”? Molnar在补丁信中写道:"大多数内核开发者都晓得,Linux内核中大概有1万个次要的.h头文件,在include/和arch/*/include/档次中。在过来的30多年里,它们曾经成长为一套简单而苦楚的穿插依赖关系,咱们亲切地称之为"依赖天堂"。 这个微小的补丁集将许多高级头文件与其余文件解耦、勾销了不必要的函数、将类型和 API 头文件解耦、主动解决头文件依赖,以及其余各种变动,因而,与以后内核相比,启用了"Fast Kernel Headers"补丁的内核构建量每小时可能有 78% 的改良。在所反对的架构上,相对的内核构建性能有可能进步 50~80%。 到目前为止,"Fast Kernel Headers"曾经在 x86/x86_64、SPARC、MIPS 和 ARM64 架构上进行了测试。 这套宏大的补丁波及到大部分的Linux内核代码库,放慢了Linux内核编译的速度(包含清洁构建和增量构建)。它最后是以"征求意见"的形式收回的,凭借如此大范畴的内核构建工夫改良的能力,所以很多开发者心愿这个补丁集可能在不远的未来以某种形式被审查后,顺利进入内核主线。 更多内容请查看:https://lkml.org/lkml/2022/1/...

January 8, 2022 · 1 min · jiezi

关于linux:Linux之chmod命令

chmod命令用于扭转linux系统文件或目录的拜访权限。用它管制文件或目录的拜访权限。该命令有两种用法。一种是蕴含字母和操作符表达式的文字设定法;另一种是蕴含数字的数字设定法。 Linux零碎中的每个文件和目录都有拜访许可权限,用它来确定谁能够通过何种形式对文件和目录进行拜访和操作。 文件或目录的拜访权限分为只读,只写和可执行三种。以文件为例,只读权限示意只容许读其内容,而禁止对其做任何的更改操作。可执行权限示意容许将该文件作为一个程序执行。文件被创立时,文件所有者主动领有对该文件的读、写和可执行权限,以便于对文件的浏览和批改。用户也可依据须要把拜访权限设置为须要的任何组合。 有三种不同类型的用户可对文件或目录进行拜访:文件所有者,同组用户、其余用户。所有者个别是文件的创建者。所有者能够容许同组用户有权拜访文件,还能够将文件的拜访权限赋予零碎中的其余用户。在这种状况下,零碎中每一位用户都能拜访该用户领有的文件或目录。 每一文件或目录的拜访权限都有三组,每组用三位示意,别离为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;零碎中其余用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最右边的一列为文件的拜访权限。 命令格局> chmod [-cfvR] [--help] [--version] mode file...mode参数[ugoa...][[+-=][rwxX]...][,...]或者数字权限777,755 u 示意该文件的拥有者,g 示意与该文件的拥有者属于同一个群体(group)者,o 示意其余以外的人,a 示意这三者皆是。+示意减少权限、-示意勾销权限、=示意惟一设定权限。r 示意可读取,w示意可写入,x示意可执行,X示意只有当该文件是个子目录或者该文件曾经被设定过为可执行。罕用参数-c : 若该文件权限的确曾经更改,才显示其更改动作-f : 若该文件权限无奈被更改也不要显示谬误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有文件与子目录进行雷同的权限变更(即以递归的形式一一变更)--help : 显示辅助阐明--version : 显示版本符号模式chmod who operator permission file 如chmod u+x rumenz.txt who(用户类型)who用户类型阐明uuser文件所有者ggroup文件所有者所在组oothers所有其余用户aall所用用户, 相当于 ugooperator(符号模式表)Operator阐明+为指定的用户类型减少权限-去除指定用户类型的权限=设置指定用户权限的设置,行将用户类型的所有权限从新设置permission(权限)模式名字阐明r读设置为可读权限w写设置为可写权限x执行权限设置为可执行权限X非凡执行权限只有当文件为目录文件,或者其余类型的用户有可执行权限时,才将文件权限设置可执行ssetuid/gid当文件被执行时,依据who参数指定的用户类型设置文件的setuid或者setgid权限t粘贴位设置粘贴位,只有超级用户能够设置该位,只有文件所有者u能够应用该位数字权限(八进制)chmod命令能够应用八进制数来指定权限。文件或目录的权限位是由9个权限位来管制,每三位为一组,它们别离是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来阐明一个类具备相应的优先级。\#权限rwx二进制7读+写+执行rwx1116读+写rw-1105读+执行r-x1014只读r--1003写+执行-wx0112只写-w-0101只执行--x0010无---000常见的数字权限400 -r-------- 拥有者可能读,其余任何人不能进行任何操作;644 -rw-r--r-- 拥有者都可能读,但只有拥有者能够编辑;660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;700 -rwx------ 拥有者可能读、写和执行,其余用户不能任何操作;744 -rwxr--r-- 所有人都能读,但只有拥有者能力编辑和执行;755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者能力编辑;777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。chmod实例命令阐明chmod a+r file给file的所有用户减少读权限chmod a-x file删除file的所有用户的执行权限chmod a+rw file给file的所有用户减少读写权限chmod +rwx file给file的所有用户减少读写执行权限chmod u=rw,go= file对file的所有者设置读写权限,清空该用户组和其余用户对file的所有权限(空格代表无权限)chmod -R u+r,go-r docs对目录docs和其子目录层次结构中的所有文件给用户减少读权限,而对用户组和其余用户删除读权限chmod 664 file对file的所有者和用户组设置读写权限,为其其余用户设置读权限chmod 0755 file相当于u=rwx(4+2+1),go=rx(4+1&4+1)。0没有非凡模式。chmod 4755 file4设置了设置用户ID位,剩下的相当于u=rwx(4+2+1),go=rx(4+1&4+1)。find path/ -type d -exec chmod a-x {} \;删除可执行权限对path/以及其所有的目录(不包含文件)的所有用户,应用'-type f'匹配文件find path/ -type d -exec chmod a+x {} \;容许所有用户浏览或通过目录path/原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

January 7, 2022 · 1 min · jiezi

关于linux:干货建议收藏-用户常见问题解答第一期

哈喽~为了不便大家的应用,咱们通过论坛和交换群等渠道整顿了一些大家征询频率较高的问题以及答案,心愿能够为大家提供参考哦~ 如果本期没有波及到你的问题,不必焦急,可在交换群或论坛提出你的问题,咱们会有技术人员帮你解答。同时,大家可在优麒麟论坛留言,点赞数靠前的问题会呈现在咱们下一期的 Q&A 里哦! 话不多说,进入正题吧! 本 | 期 | 答 | 疑 | 汇 | 总Q:1.优麒麟能够共享打印机给 win 吗? A:能够,首先确保优麒麟能够驱动打印机失常打印,而后具体共享操作如下: 优麒麟设置: 倡议通过 ip 共享,也就是 http 共享, ● 零碎设置---打印机---增加---装置好打印机驱动● 零碎设置---打印机---服务器---设置---所有钩钩都打上,容许从互联网拜访。● 从网络链接找到本人的本地 ip,点击就能够看到,而后记下来● 通过火狐拜访 http://localhost:631/printers● 就能够看到 你共享进去的打印机名称,如果须要明码,输出本人的登录明码即可win设置: ● 关上 Windows 浏览器,输出打印机所在网址加端口● http:// 上边记下来的 ip:631/printers● 进入 cups 界面,点击列出的须要共享的打印机,把浏览器地址栏中的内容复制下来,此内容包含打印机地址及名称。● 通过 Windows 控制面板,增加打印机,抉择“我须要的打印机未列出”,抉择“依照名称共享打印机”,把复制的内容,放入 url ,确保 Windows 能找到 Linux 的打印机。点击下一步,驱动抉择 “generic”-》“MS Publisher Color Printer” 或 “MS Publisher Imagesetter” 都能够Q:2.优麒麟能够自定义壁纸嘛? A:能够,去控制面板->背景设置自定义背景即可,或者是关上图片而后右键设置为壁纸。须要留神的是图片一旦设置成壁纸了就不要挪动地位,否则的话壁纸会隐没不见。同时,咱们还能够申请一个麒麟ID,登录其子利用--云账户同步本人须要的机器设置以及资源配置。 对于云账户同步性能及办法,可参考:https://mp.weixin.qq.com/s/S-... Q:3.目录下文件夹很多我应该怎么标记本人罕用的文件夹? A:应用文件治理夹自带的标记性能,找到本人须要标记的文件夹后右键抉择增加标记,而后就能够在文件治理夹左下角的所有标记里筛选本人标记过的文件或者文件夹 Q:4.我的电脑上有 Windows10、Windows11、优麒麟等多个零碎。我想在优麒麟中暗藏 Windows 所在的分区,请问怎么设置? ...

January 6, 2022 · 1 min · jiezi

关于linux:Linux-进程卡住了怎么办

在咱们应用 Linux 零碎时,如果网络或者磁盘等 I/O 出问题,会发现过程卡住了,即应用 kill -9 也无奈杀掉过程,很多罕用的调试工具,比方 strace, pstack 等也都失灵了,是怎么回事? 此时,咱们应用 ps 查看过程列表,能够看到卡住的过程状态显示为 D。 man ps 中形容 D 状态是 Uninterruptible Sleep。 Linux 过程有两种睡眠状态: Interruptible Sleep,可中断睡眠,在 ps 命令中显示 S。处在这种睡眠状态的过程是能够通过给它发送信号来唤醒的。Uninterruptible Sleep,不可中断睡眠,在 ps 命令中显示 D。处在这种睡眠状态的过程无奈立刻解决任何发送给它的信号,这也是无奈用 kill 杀掉它的起因。在 Stack Overflow 有一个解答: kill -9 只是给过程发送了一个 SIGKILL 信号,当一个过程处于非凡状态时(信号处理,或者零碎调用中)会无奈解决任何信号,包含 SIGKILL 也不能被正确处理,导致过程不能被立刻杀掉,也就是咱们常说的 D 状态(不可中断的睡眠状态)。那些罕用的调试工具 (比方 strace、pstack 等)个别也是利用某个非凡的信号来实现的,在这种状态下也是无奈应用。可见 D 状态的过程个别是处在某个内核态的零碎调用中,那怎么晓得是哪个零碎调用,又是在期待什么呢?幸好 Linux 下提供了 procfs(就是 Linux 下的 /proc 目录), 通过它就能够看到任何一个过程的以后内核调用栈。上面咱们用拜访 JuiceFS 的过程来模仿一下(因为 JuiceFS 客户端基于 FUSE,是用户态的文件系统,比拟容易模仿 I/O 故障)。 ...

January 6, 2022 · 2 min · jiezi

关于linux:Linux之文件属性详解

Linux 文件或目录的属性次要包含:文件或目录的节点、品种、权限模式、链接数量、所归属的用户和用户组、最近拜访或批改的工夫等内容。具体情况如下应用ls -lih列出上述信息> ls -lih12939236190 drwxr-xr-x 3 mac staff 96B 2 19 21:47 doc第一列:inode第二列:文件品种和权限第三列:硬链接个数第四列:属主第五列:所归属的组第六列:文件或目录的大小;第七列:最初批改工夫;第八列:文件名或目录名 inodeinode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数 据的信息,这些信息包含文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统依据指令, 能通过inode值最快的找到绝对应的文件。硬链接在Linux的文件系统中,保留在磁盘分区中的文件,不论是什么类型,零碎都会给它调配一个编号,这个编号被称为索引节点编号(Inode Index),它是该文件或者目录在linux文件系统中的惟一标识。有了这个编号值,就能够查到该文件的具体内容。 同时,Linux零碎还规定,能够容许多个文件名同时指向同一个索引节点(Inode),这就是硬链接。这样设计有一个益处就是,只有文件的索引节点还存在一个以上的链接,删除其中一个链接并不影响索引节点自身和其余的链接(也就是说该文件的实体并未删除),而只有当最初一个链接被删除后,且此时有新数据要存储到磁盘上,那么被删除的文件的数据块及目录的链接才会被开释,存储空间才会被新数据所笼罩。因而,该机制能够无效的避免误删操作。 硬链接只能在同一类型的文件系统中进行链接,不能跨文件系统。同时它只能对文件进行链接,不能链接目录。 创立一个文件的硬连贯> ln rumen.txt rumenz.txt> ls -lihtotal 012940530535 -rw-r--r-- 2 mac staff 0B 2 19 23:01 rumen.txt12940530535 -rw-r--r-- 2 mac staff 0B 2 19 23:01 rumenz.txt为什么创立一个空目录的文件,硬连贯的个数是2> mkdir rumenz> ls -lih12940530815 drwxr-xr-x 2 mac staff 64B 2 19 23:03 rumenz起因是:rumenz目录下默认会有.和..目录,别离代表当前目录和父级目录> ls -al rumenzdrwxr-xr-x 2 mac staff 64 2 19 23:03 .drwxr-xr-x 3 mac staff 96 2 19 23:03 ..文件类型-:代表一般文件d:代表目录l:代表软连贯(ln –s 源文件 链接文件)b:块设施和其余外围设备,是非凡类型的文件文件权限r 可读,数字权限是4w 可写,数字权限是2x 可执行,数字权限是1每种身份(owner(属主)/group(属组)/others(其他人))各自的三个权限(r/w/x)分数是须要累加的,例如当权限为: -rwxrwx--- 分数则是:owner = rwx = 4+2+1 = 7group = rwx = 4+2+1 = 7others= --- = 0+0+0 = 0原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

January 6, 2022 · 1 min · jiezi

关于linux:谁再说不熟悉-Linux-命令就把这个给他扔过去

尽管平时大部分工作都是和Java相干的开发, 然而每天都会接触Linux零碎, 尤其是应用了Mac之后, 每天都是工作在彩色背景的命令行环境中. 本人记忆力不好, 很多有用的Linux命令不能很好的记忆, 当初逐步总结一下, 以便后续查看。 基本操作Linux 关机,重启# 关机shutdown -h now# 重启shutdown -r now查看零碎,CPU信息# 查看零碎内核信息uname -a# 查看零碎内核版本cat /proc/version# 查看以后用户环境变量envcat /proc/cpuinfo# 查看有几个逻辑cpu, 包含cpu型号cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c# 查看有几颗cpu,每颗别离是几核cat /proc/cpuinfo | grep physical | uniq -c# 查看以后CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不反对64bitgetconf LONG_BIT# 后果大于0, 阐明反对64bit计算. lm指long mode, 反对lm则是64bitcat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l建设软连贯ln -s /usr/local/jdk1.8/ jdkrpm相干# 查看是否通过rpm装置了该软件rpm -qa | grep 软件名sshkey# 创立sshkeyssh-keygen -t rsa -C your_email@example.com#id_rsa.pub 的内容拷贝到要管制的服务器的 home/username/.ssh/authorized_keys 中,如果没有则新建(.ssh权限为700, authorized_keys权限为600)命令重命名# 在各个用户的.bash_profile中增加重命名配置alias ll='ls -alF'同步服务器工夫sudo ntpdate -u ntp.api.bz后盾运行命令# 后盾运行,并且有nohup.out输入nohup xxx &# 后盾运行, 不输入任何日志nohup xxx > /dev/null &# 后盾运行, 并将错误信息做规范输入到日志中 nohup xxx >out.log 2>&1 &强制流动用户退出# 命令来实现强制流动用户退出.其中TTY示意终端名称pkill -kill -t [TTY]查看命令门路which <命令>查看过程所有关上最大fd数ulimit -n配置dnsvim /etc/resolv.confnslookup,查看域名路由表nslookup google.comlast, 最近登录信息列表# 最近登录的5个账号last -n 5设置固定ipifconfig em1  192.168.5.177 netmask 255.255.255.0查看过程内加载的环境变量# 也能够去 cd /proc 目录下, 查看过程内存中加载的货色ps eww -p  XXXXX(过程号)查看过程树找到服务器过程ps auwxf查看过程启动门路cd /proc/xxx(过程号)ls -all# cwd对应的是启动门路增加用户, 配置sudo权限# 新增用户useradd 用户名passwd 用户名#减少sudo权限vim /etc/sudoers# 批改文件外面的# root ALL=(ALL) ALL# 用户名 ALL=(ALL) ALL强制敞开过程名蕴含xxx的所有过程ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9磁盘,文件,目录相干操作vim操作#normal模式下 g示意全局, x示意查找的内容, y示意替换后的内容:%s/x/y/g#normal模式下0 # 光标移到行首(数字0)$ # 光标移至行尾shift + g # 跳到文件最初gg # 跳到文件头# 显示行号:set nu# 去除行号:set nonu# 检索/xxx(检索内容) # 从头检索, 按n查找下一个?xxx(检索内容) # 从尾部检索关上只读文件,批改后须要保留时(不必切换用户即可保留的形式)# 在normal模式下:w !sudo tee %查看磁盘, 文件目录根本信息# 查看磁盘挂载状况mount# 查看磁盘分区信息df# 查看目录及子目录大小du -H -h# 查看当前目录下各个文件, 文件夹占了多少空间, 不会递归du -sh *wc命令# 查看文件里有多少行wc -l filename# 看文件里有多少个wordwc -w filename# 文件里最长的那一行是多少个字wc -L filename# 统计字节数wc -c罕用压缩, 解压缩命令压缩命令tar czvf xxx.tar 压缩目录zip -r xxx.zip 压缩目录解压缩命令tar zxvf xxx.tar# 解压到指定文件夹tar zxvf xxx.tar -C /xxx/yyy/unzip xxx.zip变更文件所属用户, 用户组chown eagleye.eagleye xxx.logcp, scp, mkdir#复制cp xxx.log# 复制并强制笼罩同名文件cp -f xxx.log# 复制文件夹cp -r xxx(源文件夹) yyy(指标文件夹)# 近程复制scp -P ssh端口 username@10.10.10.101:/home/username/xxx /home/xxx# 级联创立目录mkdir -p /xxx/yyy/zzz# 批量创立文件夹, 会在test,main下都创立java, resources文件夹mkdir -p src/{test,main}/{java,resources}比拟两个文件diff -u 1.txt 2.txt日志输入的字节数,能够用作性能测试# 如果做性能测试, 能够每执行一次, 往日志外面输入 “.” , 这样日志中的字节数就是理论的性能测试运行的次数, 还能够看见实时速率.tail -f xxx.log | pv -bt查看, 去除特殊字符# 查看特殊字符cat -v xxx.sh# 去除特殊字符sed -i 's/^M//g’ env.sh 去除文件的特殊字符, 比方^M: 须要这样输出: ctrl+v+enter解决因零碎起因引起的文件中特殊字符的问题# 能够转换为该零碎下的文件格式cat file.sh > file.sh_bak# 先将file.sh中文件内容复制下来而后运行, 而后粘贴内容, 最初ctrl + d 保留退出cat > file1.sh# 在vim中通过如下设置文件编码和文件格式:set fileencodings=utf-8 ,而后 w (存盘)一下即可转化为 utf8 格局,:set fileformat=unix# 在mac下应用dos2unix进行文件格式化find . -name "*.sh" | xargs dos2unixtee, 重定向的同时输入到屏幕awk ‘{print $0}’ xxx.log | tee test.log检索相干grep(每天学一个 Linux 命令(5):grep)# 反向匹配, 查找不蕴含xxx的内容grep -v xxx# 排除所有空行grep -v '^/pre># 返回后果 2,则阐明第二行是空行grep -n “^$” 111.txt # 查问以abc结尾的行grep -n “^abc” 111.txt # 同时列出该词语呈现在文章的第几行grep 'xxx' -n xxx.log# 计算一下该字串呈现的次数grep 'xxx' -c xxx.log# 比对的时候,不计较大小写的不同grep 'xxx' -i xxx.logawk(每天一个 Linux 命令(4):awk)# 以':' 为分隔符,如果第五域有user则输入该行awk -F ':' '{if ($5 ~ /user/) print $0}' /etc/passwd # 统计单个文件中某个字符(串)(中文有效)呈现的次数awk -v RS='character' 'END {print --NR}' xxx.txtfind检索命令(每天学一个 Linux 命令(20):find)# 在目录下找后缀是.mysql的文件find /home/eagleye -name '*.mysql' -print# 会从 /usr 目录开始往下找,找最近3天之内存取过的文件。find /usr -atime 3 –print# 会从 /usr 目录开始往下找,找最近5天之内批改过的文件。find /usr -ctime 5 –print# 会从 /doc 目录开始往下找,找jacky 的、文件名结尾是 j的文件。 find /doc -user jacky -name 'j*' –print# 会从 /doc 目录开始往下找,找寻文件名是 ja 结尾或者 ma结尾的文件。find /doc \( -name 'ja*' -o- -name 'ma*' \) –print# 会从 /doc 目录开始往下找,找到但凡文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 示意文件名,“\;”是规定的命令结尾。 find /doc -name '*bak' -exec rm {} \;网络相干查看什么过程应用了该端口lsof -i:por获取本机ip地址/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"iptables# 查看iptables状态service iptables status# 要封停一个ipiptables -I INPUT -s ***.***.***.*** -j DROP# 要解封一个IP,应用上面这条命令:iptables -D INPUT -s ***.***.***.*** -j DROP备注: 参数-I是示意Insert(增加),-D示意Delete(删除)。前面跟的是规定,INPUT示意入站,***.***.***.***示意要封停的IP,DROP示意放弃连贯。#开启9090端口的拜访/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT # 防火墙开启、敞开、重启/etc/init.d/iptables status/etc/init.d/iptables start/etc/init.d/iptables stop/etc/init.d/iptables restartnc命令, tcp调试利器#给某一个endpoint发送TCP申请,就将data的内容发送到对端nc 192.168.0.11 8000 < data.txt#nc能够当做服务器,监听某个端口号,把某一次申请的内容存储到received_data里nc -l 8000 > received_data#上边只监听一次,如果屡次能够加上-k参数nc -lk 8000tcpdump(每天学一个 Linux 命令(72):tcpdump)# dump出本机12301端口的tcp包tcpdump -i em1 tcp port 12301 -s 1500 -w abc.pcap跟踪网络路由门路# traceroute默认应用udp形式, 如果是-I则改成icmp形式traceroute -I www.163.com# 从ttl第3跳跟踪traceroute -M 3 www.163.com # 加上端口跟踪traceroute -p 8080 192.168.10.11ss# 显示本地关上的所有端口ss -l # 显示每个过程具体关上的socketss -pl # 显示所有tcp socketss -t -a # 显示所有的UDP Socektss -u -a # 显示所有已建设的SMTP连贯ss -o state established '( dport = :smtp or sport = :smtp )' # 显示所有已建设的HTTP连贯 ss -o state established '( dport = :http or sport = :http )' #找出所有连贯X服务器的过程ss -x src /tmp/.X11-unix/* #列出以后socket统计信息ss -s 解释:netstat是遍历/proc上面每个PID目录,ss间接读/proc/net上面的统计信息。所以ss执行的时候耗费资源以及netstat# 输入每个ip的连接数,以及总的各个状态的连接数netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'# 统计所有连贯状态, # CLOSED:无连贯是流动的或正在进行# LISTEN:服务器在期待进入呼叫# SYN_RECV:一个连贯申请曾经达到,期待确认# SYN_SENT:利用曾经开始,关上一个连贯# ESTABLISHED:失常数据传输状态# FIN_WAIT1:利用说它曾经实现# FIN_WAIT2:另一边已批准开释# ITMED_WAIT:期待所有分组死掉# CLOSING:两边同时尝试敞开# TIME_WAIT:被动敞开连贯一端还没有等到另一端反馈期间的状态# LAST_ACK:期待所有分组死掉netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'# 查找较多time_wait连贯netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20监控linux性能命令top按大写的 F 或 O 键,而后按 a-z 能够将过程依照相应的列进行排序, 而后回车。而大写的 R 键能够将以后的排序倒转。每天学一个 Linux 命令(48):top ...

January 5, 2022 · 4 min · jiezi

关于linux:Linux之目录结构

在 Windows 中,咱们会看到磁盘驱动器的标识,比方C:\,E:\,文件和目录名都跟在驱动器名前面。Linux 和 Windows 齐全不同,在 Linux 中你能够在根目录下运行ls,察看它的目录构造: / - 根目录顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点相似于 Windows中的磁盘驱动器符号。之后将会看到,所有其余目录都是以/结尾的。/bin - 寄存重要的用户二进制文件目录bin 是binary的缩写,/bin 目录寄存了十分重要的用户二进制文件,其实就是一些程序。须要特地阐明的是,/bin 中寄存的都是在单用户保护模式下还能被操作的命令,这些命令能够被 root 和普通用户应用。在 / bin 中咱们能够看到例如chmod、du这些咱们常常应用的 Linux 命令程序。/boot - 寄存系统启动时须要文件的目录/boot 中寄存的次要是系统启动时须要用到的文件,比方EFI、GRUB以及 Linux 内核。/dev - 设施文件目录Linux 将所有货色都看成文件,设施也不例外,不论是实体的硬件设施还是虚构设施。实体硬件比方第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚构设施比方null、random、stderr、stdin和stdout。/etc - 配置文件目录etc 的含意是Et cetera,示意一些相干的其余货色,/etc 从 UNIX 晚期开始就被用来寄存配置文件,始终沿用至今。须要留神的是,/etc 中寄存的是零碎配置文件,特定用户的配置文件放在每个用户的 / home 目录下。/home - 用户目录/home 目录中寄存的是每个用户的用户目录,比方有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中寄存的用户数据和用户配置文件,比方每个用户的.bashrc文件、.ssh目录等。普通用户只能拜访本人的用户目录而不能拜访他人的,root 用户则没有此限度。/lib - 重要的共享库目录/lib 目录中寄存的是/bin和/sbin中那些重要的二进制文件(程序)须要的共享库。另外/usr/bin中二进制文件(程序)须要的共享库都寄存在/usr/lib。/lost+found - 复原文件目录每个 Linux 文件系统都有 / lost+found 目录,当文件系统解体时,在下次启动时将会进行文件系统自检,任何在解体过程中损坏的文件都将被放入 / lost+found,你能够尝试找到并复原这些文件。 当你将一些可删除媒介挂(比方 CD,U 盘,光驱等)载到计算机上时,零碎会在 / media 下主动创立子目录,之后就能够通过拜访这个子目录来拜访媒介。比方你在电脑上插入 CD,在 / media 目录下就会主动生成一个子目录,你能够通过拜访这个子目录来拜访 CD 的内容。 ...

January 5, 2022 · 1 min · jiezi

关于linux:Linux常用命令记录

前言咱们的利用个别都部署到Linux上,这就免不了学习Linux的命令,来进行解决问题。依据教训,常用命令基本上在忘记之前就会再次应用,所以记住的很天然,偶然应用的命令在下次应用时仍然有印象,通过几次也能记住,更重要的还是命令行还是有法则可循的。当初将常用命令行记录一下,以备今后翻阅,以及加深印象。 日志相干命令折叠语法貌似有问题,答案放在了前面 1.查看日志大小 2.查看即时之后的日志 3.查问从1000行开始之后的日志 4.查问日志文件中的头10行日志 5.查问日志文件除了最初10行的其余所有日志 6.查看某两个时间段日志的命令(留神:工夫不存在,则会生效,斜杠须要本义) 7.将文件传至闲置服务器 答案1.ls -lh text.log2.tail -f text.log3.tail -n -1000 text.log4.head -n 10 text.log5.head -n -10 text.log6.sed -n '/2021-06-04 14:05/,/2021-06-04 14:06/p' test.log7.scp test.log root@192.168.1.100:/home/ 减少文件权限chmod u+x *.sh 1. u 代表所有者;2. + 示意减少权限;3. x 代表执行权限;4. r 代表读取权限5. w 代表写入权限6. *.sh 示意当前目录下所有 .sh 文件。过程网络端口相干ss相较于netstat性能更好 查看tcp状态 netstat -napt查看服务端口 netstat -anlp | grep 过程号查问服务的过程 ps -ef | grep 服务名查看网络配置 ip -s addr show dev eth0socket信息 查看 ss -nlp ...

January 5, 2022 · 2 min · jiezi

关于linux:Linux之find命令的参数详解

find 常见的注意事项应用name选项文件名选项是find命令最罕用的选项,要么独自应用该选项,要么和其余选项一起应用。 能够应用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不论以后门路是什么,如果想要在本人的根目录$HOME中查找文件名合乎*.log的文件,应用~作为 'pathname'参数,波浪号~代表了以后用户的家目录。查找以后登录用户家目录的.log文件> find ~ -name "*.log"查找当前目录下以大写字母结尾的文件> find . -name "[A-Z]*"查找/etc目录下以sys结尾的文件> find /etc -name "sys*"查问当前目录下以大写字母结尾+3位数字的.png的图片> find . -name "[A-Z]*[0-9][0-9][0-9].png"用perm选项依照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好应用八进制的权限表示法。如在当前目录下查找文件权限位为755的文件,即文件属主能够读、写、执行,其余用户能够读、执行的文件,能够用> find . -perm 755 find -perm -mode , 示意mode中转换成二进制的1在文件权限位外面必须匹配,比方mode=644那么转换成二进制为110 100 100,而被查找的文件的权限位也能够被转换成一个二进制数,两者在位上为1的局部必须齐全匹配,而0则不论。例如被查找的文件的权限为转换成二进制数是111 111 111那么这个比方被匹配,而如果是100 100 100那么则不会匹配。所以这个'-'的作用归纳起来就是匹配比mode权限更短缺的文件(找不到什么词语来形容了)疏忽某个目录如果在查找文件时心愿疏忽某个目录,因为你晓得那个目录中没有你所要查找的文件,那么能够应用-prune选项来指出须要疏忽的目录。在应用-prune选项时要当心,因为如果你同时应用了-depth选项,那么-prune选项就会被find命令疏忽。如果心愿在当前目录下查找文件,但不心愿在./bin目录下查找,能够用> find . -path "./bin" -prune -o -print避开多个文件夹> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print圆括号示意表达式的联合。\示意援用,即批示shell不对前面的字符作非凡解释,而留给 find命令去解释其意义。查找某一确定文件,-name等选项加在-o 之后> find . \( -path "./bin" -o -path "./doc" \) -prune -o -name "*.txt" -printuser nouser 和 group nogroup在当前目录查找所属主是root的文件> find . -user root 查找当前目录所属主被删除的文件> find . -nouser在当前目录查找所属组是root的文件> find . -group root 查找当前目录所属组被删除的文件> find . -nogroup按工夫查找文件查找更改工夫在7日以内的文件> find . -mtime -7查找更改工夫在7日以前的文件> find . mtime +7查找比某个文件新或旧的文件查找更改工夫比文件a.log新但比文件b.log旧的文件> find . -newer a.log ! -newer b.log查找更改工夫在比a.log文件新的文件> find . -newer a.logtype选项在/etc目录下查找所有的目录> find /etc -type d在/etc目录下查找所有的符号链接文件> find /etc -type lsize参数能够依照文件长度来查找文件,这里所指的文件长度既能够用块(block)来计量,也能够用字节来计量。以字节计量文件长度的表达形式为N c;以块计量文件长度只用数字示意即可。在依照文件长度查找文件时,个别应用这种以字节示意的文件长度,在查看文件系统的大小,因为这时应用块来计量更容易转换。在当前目录下查找文件长度大于100M字节的文件> find . -size +100M应用depth选项在应用find命令时,可能心愿先匹配所有的文件,再在子目录中查找。应用depth选项就能够使find命令这样做。这样做的一个起因就是,当在应用find命令向磁带上备份文件零碎时,心愿首先备份所有的文件,其次再备份子目录中的文件。先输入子内容,再输入下层目录内容,直到最顶层> find test -depth ! -emptytest/test1/test2/test3test/test1/test2test/test1test````#### 先输入顶层目录,再输入上面的各层子目录内容,直到最低层:find test ! -emptytesttest/test1test/test1/test2test/test1/test2/test3### mount选项> 在以后的文件系统中查找文件(不进入其余文件系统),能够应用find命令的mount选项。#### 从当前目录开始查找位于本文件系统中文件名以`.txt`结尾的文件find . -mount -name "*.txt" -print原文链接:https://rumenz.com/rumenbiji/linux-find-summary.html微信公众号:入门小站![](https://rumenz.com/static/cimg/wx_rumenz.png)[linux常用命令速查手册PDF下载](https://rumenz.com/examples/linux/linux-common-use-table.html)[3669页vim参考手册PDF下载](https://rumenz.com/rumenbiji/vim-pdf-3669.html)[阿里云ECS运维Linux系统诊断PDF下载](https://rumenz.com/examples/linux/linux-ecs-system-diagnosis.html)[Docker速查手册PDF下载](https://rumenz.com/examples/linux/docker-quick-cmd.html)[Linux学习笔记【强悍总结值得一看】PDF下载](https://rumenz.com/examples/linux/linux-study-notes.html)[shell扼要教程PDF下载](https://rumenz.com/examples/linux/linux-concise-tutorial.html)

January 4, 2022 · 1 min · jiezi

关于linux:Linux-内核-2021Linus-Torvalds-领跑-sourcetree-提交量-commit-数骤降

刚刚过来的 2021 年,Linux 内核合并了大量令人兴奋的内核改良,同时也引入了一些新的硬件反对,尽管如此,其 commit 数和行数却都要低于今年。近日,外网就对 2021 年 Linux 内核 Git 开发统计数据做了总结。 据 Phoronix 总结,截至 2021 年 12 月 31 日,在 Linux 内核 sourcetree 中运行 GitStats 时,可看到该存储库里约有来自 2.43 万名不同作者的 1,060,172 次 commit(sourcetree 目前由 3220 万行组成,逾越 7.43 万多个文件)。 目前,Linux 内核行数继续以十分统一的速度增长,新个性和扩大的硬件反对正在源源不断地达到主线。 只管 Linux 内核在去年新增了一些重大性能且引入了硬件反对,但也只看到了 7.37 万次 commit,同比此前 2020 年的 9.02 万、2019 年的 8.28 万以及 2018 年的 8.01 万均有所降落。最新一次 7.3 万的 commit 好像回到了 2013 年(过后的 commit 为 7.09 万)。 ...

January 4, 2022 · 1 min · jiezi

关于linux:Linux权限管理

用户治理useradd 用户名 减少用户id 用户名 查看这个用户是否存在passwd 更改本人的明码passwd 用户名称 给用户设置明码userdel 用户名称 删除用户userdel -r 用户名称 删除用户及其文件目录su - 用户名 切换用户用户组治理groupadd 组名称 创立用户组.groupadd 组名称 删除用户组.usermod -g 组名称 用户名称 将用户退出到对应的用户组,如果用户不存在则创立这个用户.用户权限治理sudo + 命令 以管理员的权限执行这个命令 visudo 编辑普通用户能够执行的管理员命令 %wheel ALL=(ALL) NOPASSWD: ALL第一组数据 代表用户名 如果后面加上%代表用户组名.第二组 第一个 ALL代表所有终端(近程终端+本地终端),若localhost为本地终端,第二个ALL代表命令所在地,能够用which + 命令查问.第三组哪些用户不须要输出明码,个别不必.在应用visudo命令后,增加一行以下文本eacape ALL=/sbin/shutdown代表eacape这个用户能够应用shutdown这个命令,即sudo shutdown之后输出以后用户明码即可文件和目录的权限查看权限应用ls -l查看一个文件的长格局信息能够失去此文件的相干信息. -rw-r--r-- 1 root root 0 12月 31 22:56 stargate.lock 第一组数据 - 代表这是一个文件,d代表这是一个目录.第二组数据 前三个字符代表所属用户对这个文件的权限 两头三个字符代表所属用户组对这个文件的权限 前面三个字符代表其它用户对这个文件的权限.对于文件来说r w x 别离对应 读 写 执行 对于r权限可应用命令有:cat、more、less、head、tail等对于w权限可应用的命令有:vim、echo对于x权限可应用的命令有:sh ,x权限对于文件来说是最高权限对于目录来说 r w x别离对应读 写 进入,对于目录来说x是最低权限,因为只有进入后能力进行读写操作.还有一套示意办法为数字权限示意办法.r w x 分表用 4 2 1 ,比如说:chmod 764 xxx 示意给与这个文件rwxrw-r--权限第四组数据 root代表创立这个文件的用户第五组数据 root 代表创立这个文件的用户所属的用户组批改权限chown 用户 切换文件/目录所属用户chown :用户组 在后面加:代表切换文件/目录所属用户组chown 用户:用户组 能够同时批改属主个属组chmod u g o 批改文件权限 u 代表user局部即所属用户权限,g代表group局部即用户所在用户组权限,o代表other即其它用户权限. ...

January 4, 2022 · 1 min · jiezi

关于linux:Linuxvim编辑器

失常模式在失常模式下一些快捷键的用法 i 进入插入模式.a 进入光标所在位置的下一个地位,切换至插入模式.shift + a 进入光标所在行的行尾,切换至插入模式o 进入光标所在位置的下一行,切换至插入模式shift + o 进入光标所在位置的上一行,切换至插入模式h j k l 光标挪动 上-左-右-下yy 复制一行文本内容nyy 复制n行文本内容y$ 复制以后光标地位到本行结尾的内容,y shift + 4p 对复制内容进行粘贴dd 剪切一行文本内容ndd 剪切n行文本内容d$ 剪切以后光标地位到本行结尾的内容u 撤销上一个操作,撤销屡次输出屡次uctrl + r 将撤销的信息重做x 删除一个字符r 替换一个字符,先选中字符,输出r 后输出要替换的新内容shift + g 跳转到最初一行n shift + g 跳转到n行,输出:进入命令模式,输出set nu 会显示行数shift + 4跳转到行尾shift + 6 跳转到行头命令模式在失常模式下输出shift :进入命令模式,有时候也叫默行模式 w 将文件保留w + 门路/文件名称 文件保留至或另存至q 退出q! 强制退出! + 其它命令 能够在操作文档时长期应用其它命令,例如!ifconfig长期查看ip地址/字符 查找文本中存在的字符,输出n向下跳转到其它匹配字符,shift + n向上跳转至其它匹配的字符.s /被替换字符/替换字符 将光标所在行的字符替换成对应的字符%s /被替换字符/替换字符 将全局的某个字符替换成对应的字符3,10s /被替换字符/替换字符 将3-10行的字符替换成对应的字符set nu 会显示行号set nonu 勾销显示行号插入模式可视模式

January 4, 2022 · 1 min · jiezi

关于linux:每天一个Linux命令2ls

命令介绍ls -- list directory contentsls是list的缩写,其作用是列出目标目录中所有的子目录和文件;如果未指定目标目录,则列出当前目录下的子目录和文件; ls是Unix和类Unix零碎中应用最宽泛的命令之一。 命令格局ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1%] [file ...]参数释义-a 显示所有文件及目录 (. 结尾的暗藏文件也会列出)-h 以可读的形式展现文件大小-l 除文件名称外,也将权限、所有者、文件大小等信息具体列出-r 将文件以相同秩序显示(原定依英文字母秩序)-t 将文件依建设工夫之先后秩序列出-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)-F 在列出的文件名称后加一符号;例如可执行文件则加 "*", 目录则加 "/"-R 递归展现所有子目录-S 以文件大小排序-color=[WHEN] 应用色彩分类文件类型,包含never、auto、always--full-time 显示残缺工夫罕用示例列出根目录下的文件和目录 [pingcai@VM-8-5-centos /]$ ls /bin boot data dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var列出当前目录下文件和目录的详细信息(包含权限、所有者等信息) [pingcai@VM-8-5-centos ~]$ ls -l总用量 36-rw-r--r-- 1 pingcai pingcai 750 1月 5 2021 authorized_keysdrwxrwxr-x 3 pingcai pingcai 4096 1月 5 2021 git-rw------- 1 pingcai pingcai 3243 1月 5 2021 id_rsa-rw-r--r-- 1 pingcai pingcai 750 1月 5 2021 id_rsa.pubdrwxrwxr-x 2 pingcai pingcai 4096 12月 25 22:29 keys-rw-r--r-- 1 pingcai pingcai 12742 1月 5 2021 known_hosts列出当前目录下所有文件和目录的详细信息,包含暗藏文件 ...

January 3, 2022 · 3 min · jiezi

关于linux:Linux之find-xargs

exec的问题参数太长在应用 find命令的-exec选项解决匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对可能传递给exec的命令长度有限度,这样在find命令运行几分钟之后,就会呈现溢出谬误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用途所在,特地是与find命令一起应用。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全副,不像-exec选项那样。这样它能够先解决最先获取的一部分文件,而后是下一批,并如此继续下去。过程过多在有些零碎中,应用-exec选项会为解决每一个匹配到的文件而发动一个相应的过程,并非将匹配到的文件全副作为参数一次执行;这样在有些状况下就会呈现过程过多,零碎性能降落的问题,因此效率不高; 而应用xargs命令则只有一个过程。另外,在应用xargs命令时,到底是一次获取所有的参数,还是分批获得参数,以及每一次获取参数的数目都会依据该命令的选项及零碎内核中相应的可调参数来确定。查问当前目录下所有权限是777的文件> find . -perm 777 | xargs ls -al查问当前目录下所有的.txt文件,并输入到指定文件a.log(没有换行)> find . -name *.txt | xargs echo > /tmp/a.logxargs只是简略地把\n变成空格,那么可能存在一些问题。比方文件名带空格,这时候xargs就有问题了。应用-n指定单行输入的个数-n num 前面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。查问当前目录下所有的.txt文件,并输入到指定文件b.log(有换行)> find . -name *.txt | xargs -n 1 echo > /tmp/b.log -n 1 每行只输入一个查问当前目录下查找所有用户具备读、写和执行权限的文件,并发出相应的写权限> find . -perm 777 | xargs chmod o-w查找当前目录下所有的.txt文件,并找出蕴含rumenz字符串的文件> find . -name *.txt | xargs grep -n "rumenz"查找当前目录下所有的.txt文件,并挪动到指定的目录> find . -name *.txt | xargs -i cp -rf {} /tmp; 加-i 参数间接用 {}就能代替管道之前的规范输入的内容应用-i参数默认的后面输入用{}代替,-I参数能够自定义后面的输入符号自定义后面输入的占位符是[]> find . -name *.txt | xargs -I [] cp -rf [] /tmp-p参数提醒是否执行> find . -name *.log | xargs -p -i mv {} /tmp-p参数会提醒让你确认是否执行前面的命令,y执行,n不执行。批量下载文件url.txt都是须要下载的链接地址> cat url.txt | xargs wget -c总结:什么时候用-i如果命令前面能够跟内容,且没有目标门路的时候,能够省略-i,否则得加上。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

January 3, 2022 · 1 min · jiezi

关于linux:Linux之find-exec

exec解释-exec参数前面跟的是command命令,它的终止是以;为完结标记的,所以这句命令前面的分号是不可短少的,思考到各个系统中分号会有不同的意义,所以后面加反斜杠。{}花括号代表后面find查找进去的文件名。应用find时,只有把想要的操作写在一个文件里,就能够用exec来配合find查找,很不便的。在有些操作系统中只容许-exec选项执行诸如ls或ls -l这样的命令。大多数用户应用这一选项是为了查找旧文件并删除它们。倡议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。 exec选项前面跟随着所要执行的命令或脚本,而后是一对儿{},一个空格和一个\,最初是一个分号。为了应用exec选项,必须要同时应用print选项。如果验证一下find命令,会发现该命令只输入从以后门路起的相对路径及文件名。查找当前目录下所有.txt文件并打印出具体的文件信息> find . -type f -name "*.txt" -exec ls -l {} \;查找当前目录下内容批改工夫是30天以前的.log文件并删除> find . -type f -name "*.log" -mtime +30 -exec rm {} \;在shell中用任何形式删除文件之前,该当先查看相应的文件,肯定要小心!当应用诸如mv或rm命令时,能够应用-exec选项的平安模式。它将在对每个匹配到的文件进行操作之前提醒你。查找当前目录下内容批改工夫是30天以前的.log文件并删除,删除前给出提醒> find . -type f -name "*.log" -mtime +30 -ok rm {} \;在下面的例子中, find命令在当前目录中查找所有文件名以.log结尾、更改工夫在30日以上的文件,并删除它们,只不过在删除之前先给出提醒。 按y键删除文件,按n键不删除。-exec应用grep> find / -name "passwd*" -exec grep "root" {} \;任何模式的命令都能够在-exec选项中应用。 在下面的例子中咱们应用grep命令。find命令首先匹配所有文件名为passwd*的文件,而后执行grep命令看看在这些文件中是否存在一个root用户查找当前目录下所有的.log文件并挪动到指定目录> find . -name "*.log" -exec mv {} ../rumenz \;原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 31, 2021 · 1 min · jiezi

关于linux:Linux指令入门系统管理云小宝码上送祝福免费抽iphone13任务

码上送祝福,带云小宝回家做工作收费抽iphone13,还可得阿里云新春限量手办日期:2021.12.27-2022.1.16云小宝地址:https://developer.aliyun.com/special/luckycode 场景体验本场景将提供一台配置了Aliyun Linux 2的ECS实例(云服务器)。您能够参考本教程学习Linux零碎中的文本编辑工具Vim以及文本处理命令。场景地址:https://developer.aliyun.com/adc/series/luckycodelab 波及以下云产品和服务云服务器ECS云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳固牢靠、弹性扩大的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您洽购IT硬件的后期筹备,让您像应用水、电、天然气等公共资源一样便捷、高效地应用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS继续提供创新型服务器,解决多种业务需要,助力您的业务倒退。 目录一:罕用零碎工作命令echo命令形容:echo命令用于在终端输入字符串或变量提取后的值。 命令格局:echo [字符串 | $变量]。 命令用法示例: 显示一般字符串 echo "Hello World"显示变量首先在shell环境中定义一个长期变量name。 export name="Tom"应用echo命令将变量name的值显示到终端。 echo $name输入后果: 显示后果定向至文件以下命令会将文本This is a test text.输入重定向到文件test.txt中,如果文件已存在,将会覆盖文件内容,如果不存在则创立。其中>符号示意输入重定向。 echo "This is a test text." > test.txt如果您心愿将文本追加到文件内容最初,而不是笼罩它,请应用>>输入追加重定向符号。 显示命令执行后果以下命令将会在终端显示以后的工作门路。 echo `pwd`留神:pwd命令是用一对反引号(``)包裹,而不是一对单引号('')。 应用$(command)模式能够达到雷同成果。 echo $(pwd)输入后果: date命令形容:date命令用于显示和设置零碎的工夫和日期。 命令格局:date [选项] [+格局]。 其中,工夫格局的局部控制字符解释如下: 字符阐明%a当地工夫的星期名缩写(例如: 日,代表星期日)%A当地工夫的星期名全称 (例如:星期日)%b当地工夫的月名缩写 (例如:一,代表一月)%B当地工夫的月名全称 (例如:一月)%c当地工夫的日期和工夫 (例如:2005年3月3日 星期四 23:05:25)%C世纪;比方 %Y,通常为省略以后年份的后两位数字(例如:20)%d按月计的日期(例如:01)%D按月计的日期;等于%m/%d/%y%F残缺日期格局,等价于 %Y-%m-%d%j按年计的日期(001-366)%p按年计的日期(001-366)%r当地工夫下的 12 小时时钟工夫 (例如:11:11:04 下午)%R24 小时工夫的时和分,等价于 %H:%M%s自UTC 工夫 1970-01-01 00:00:00 以来所通过的秒数%T工夫,等于%H:%M:%S%U一年中的第几周,以周日为每星期第一天(00-53)%x当地工夫下的日期形容 (例如:12/31/99)%X当地工夫下的工夫形容 (例如:23:13:48)%w一星期中的第几日(0-6),0 代表周一%W一年中的第几周,以周一为每星期第一天(00-53)命令用法示例: ...

December 30, 2021 · 2 min · jiezi

关于linux:Linux之atimectimemtime的区别

在Linux中有atime,ctime,mtime三个工夫属性容易被搞混简名全名中文作用atimeAccess Time拜访工夫最初一次拜访文件(读取或执行)的工夫ctimeChange Time变动工夫最初一次扭转文件(属性或权限)或者目录(属性或权限)的工夫mtimeModify Time批改工夫最初一次批改文件(内容)或者目录(内容)的工夫查看文件的atime,ctime,mtime> stat rumenz.txt File: ‘rumenz.txt’ Size: 37 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 108665170 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-02-14 21:22:12.753922743 +0800Modify: 2021-02-14 21:22:12.753922743 +0800Change: 2021-02-14 21:22:12.753922743 +0800 Birth: -> 什么命令会批改atime、 ctime、mtime命令atimemtimectimemvNNYcpYNNchmodNNYchownNNYtouchYYY>、>>YYYvim、vi(不批改)YNNvim、vi(批改)YYY./test.shYNN为什么批改内容,三个工夫都会变呢?因为对文件编辑之后,不仅拜访了文件(扭转了atime),还增删了内容,这个文件的大小等状态也产生了变动,所以mtime、ctime变动也很失常原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 30, 2021 · 1 min · jiezi

关于linux:开源探索-优麒麟社区发布-RISCV-体验版

2021 年 12 月 29 日,在优麒麟社区和海河实验室研发团队的共同努力下,优麒麟社区公布首个反对 RISC-V 架构的零碎 — 20.04 Pro (RISC-V)版本! 作为首个能够齐全自在收费应用的架构,RISC-V 答应增加自有指令集拓展以实现差异化倒退,在近年越来越受大家的青眼。这也是咱们开发 Ubuntu Kylin 20.04 Pro RISC-V 版本的初衷,给企业和开发者提供一个不受限制的应用环境。 当然,尽管 RISC-V 有着如此显著的架构劣势,但其短板也很显著,那就是利用生态系统不够欠缺。此次优麒麟社区公布的 RISC-V 版本,自带 20+ 款自研软件,在肯定水平上丰盛了 RISC-V 利用生态系统,为应用 RISC-V 的开发者和企业提供肯定的便当,而将来咱们也会继续的致力于 RISC-V 的生态系统建设,为其带来更多的可能性。 以下是对于 RISC-V 版本的具体介绍视频: https://www.bilibili.com/vide... 版本个性全新的内核:Linux Kernel 5.11 版本稳固的工具链:glibc 2.31,OpenJDK 11, rustc 1.41,GCC 9.3,Python 3.8,ruby 2.7.0,perl 5.30,golang 1.13,Qt 5.12好看的桌面环境:UKUI 3.0丰盛的桌面利用:浏览器 epihany-brower 3.36.4,办公套件 calligra 3.1.0,以及麒麟系列利用已知问题1.控制面板批改明码后,受权窗明码仍为原明码 2.只有一个用户的时候显示用户类型为规范用户 3.无奈重启、关机、休眠、睡眠 4.应用过程中偶现键鼠失灵(举荐把键盘插在 USB CONN 1 上层接口,呈现问题后须要从新拔插键盘/鼠标) 5.用 win+方向键调整文本编辑器地位后敞开再关上,编辑器大小扭转

December 29, 2021 · 1 min · jiezi

关于linux:Linux系统下安装jdk操作流程

本流程在CentOS7下进行 在 /usr/local/下创立java文件夹mkdir /usr/local/java 将jdk-8u261-linux-x64.tar.gz上传到/usr/local/java下在/usr/local/java目录下解压压缩包 tar -zxvf jdk-8u261-linux-x64.tar.gz 文件夹重命名mv jdk1.8.0_261/ jdk8 环境变量配置编辑/etc/profile文件vi /etc/profile按Insert或者I键,切换成编辑模式。在unset i的后面输出以下内容。 export JAVA_HOME=/usr/local/java/jdk8export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin按Esc退出编辑模式,输出:wq保留并退出 失效环境变量source /etc/profile 验证是否装置胜利如果呈现以下后果,则装置胜利

December 29, 2021 · 1 min · jiezi

关于linux:Linux之find常用命令汇总

查找当前目录下文件名rumenz.txt> find rumenz.txtrumenz.txt查找/home下文件名为ruemnz.txt的文件,疏忽大小写> find /home -iname rumenz.txt应用名称查找目录> find / -type d -name rumenz查找当前目录下所有的php的文件> find -type f -name "*.php"查找777个权限的文件> find / -type f -perm 777查找具备644个权限的SGID文件> find / -perm 2644找到具备551权限的粘滞位文件查找权限为551的所有Sticky Bit设置文件。> find / -perm 1551查找SUID文件> find / -perm /u=s查找只读文件> find / -perm /u=r查找可执行文件> find / -perm /a=x查找到777权限的文件并将权限批改为755> find / -type d -perm 777 -print -exec chmod 755 {} \;查找并删除文件> find / -type f -name "*.log" -exec rm -f {} \;查找所有空文件> find / -type f -empty 查找所有的空目录> find / -type d -empty查找所有暗藏文件> find / -type f -name ".*"查找所属组是root的所有文件> find / -user root -name "*.sh"查找所属组是dev的所有文件> find / -group dev查找最近30天被批改内容的文件> find / -mtime -50 -type f查找最初30-100天批改内容的文件> find / -mtime +30 -mtime -100查找过来60分钟被批改过的文件> find / -mmin -60 -type f查找最近60分钟被拜访过的文件> find / -amin -60 -type f查找50M的文件> find / -size 50M -type f查找文件大小在30M到100M的文件> find / -size +30M -size -100M -type f查找文件大于500M的文件删除> find / -size +500M -exec rm -rf {} \;查找所有大于500M的.log结尾的文件,并删除> find / -size +500M -type f -exec rm -rf {} \;原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

December 29, 2021 · 1 min · jiezi

关于linux:Linux中如何设置SSH密钥提升登陆安全性

作者:幻好 起源:恒生LIGHT云社区 概述随着云技术的成熟,越来越多的人开始应用云服务器搭建本人的利用,然而很多人并不在意网络安全的问题,导致服务器被黑客攻击,最初追悔莫及。本文将对平安登陆协定SSH的创立及应用进行介绍,帮忙大家进步平安防备。 SSH(平安外壳协定)是一种加密网络协议,它容许用户通过不平安的网络安全地拜访近程计算机。 SSH 密钥是一种更平安的登录 SSH 服务器的办法,因为它们不易受到常见的暴力明码黑客攻击。只管 SSH 反对基于明码的身份验证,但通常倡议应用SSH 密钥。生成 SSH 密钥对会创立两个长字符串:公钥 和 私钥。能够将公钥放在任何服务器上,而后应用能够拜访私钥的 SSH 客户端连贯到服务器。当公钥和私钥匹配时,SSH 服务器无需明码即可授予拜访权限。也能够通过应用可选(但强烈推荐)的密码保护私钥来进一步提高密钥对的安全性。 具体操作创立密钥对首先是在客户端机器上创立一个密钥。这可能是本地计算机。在本地命令行中键入命令:ssh-keygen -t ed25519 [root@localhost ~]# ssh-keygen -t ed25519Generating public/private ed25519 key pair.Enter file in which to save the key (/root/.ssh/id_ed25519): 输出命令后,会看到输入的命令确认信息,须要输出密钥保留地址。 如果应用的零碎是不反对创立 ed25519密钥的旧零碎,或者连贯的服务器不反对它们,则须要创立一个强 rsa密钥对:ssh-keygen -t rsa -b 4096 复制这会将 -t“类型”标记更改为 rsa,并增加 -b 4096“位”标记以创立 4096 位密钥。指定保留密钥的地位ssh-keygen命令的第一个提醒是询问保留密钥的地位: Enter file in which to save the key (/root/.ssh/id_ed25519): 能够间接按 ENTER此处将文件保留到 .ssh您的主目录中的默认地位,或者指定零碎中某一地址目录。 这里咱们间接回车,保留默认地址。 创立明码确认保留地址后,会提醒须要设置一个明码: Enter passphrase (empty for no passphrase):明码也能够间接默认不设置,但强烈建议还是设置明码,因为密钥的安全性,还是基于设置的复杂程度。如果没有明码的私钥落入未经受权的其他人手上,他们将可能登录到你应用相干公钥配置的任何服务器。 ...

December 28, 2021 · 2 min · jiezi

关于linux:mapplauncherd-项⽬解析鲸鲮JingOS

mapplauncherd 是 sailfishos 使⽤的⼀种应⽤启动减速的模块,相似于 Android 的 zygote。最后 mapplauncherd 是由 MeeGo 开发,后被各 Linux based 零碎⽤于应⽤启动的模块。本⽂次要剖析 mapplauncherd 的根本运⾏原理 源码参考https://github.com/sailfishos/mapplauncherd.git 编译装置依赖sudo apt-get install libcap-dev libsystemd-dev libdbus-1-dev mkdir build&& cd buildcmake ../ make应用办法# 装置cd build mkdir testbinDESTDIR=./testbin make install# 运⾏ daemonLD_LIBRARY_PATH=./usr/local/lib ./usr/local/libexec/mapplauncherd/booster-generic# 再关上另⼀个 terminal 运⾏ invoker./usr/local/bin/invoker -t generic /path/to/exec源码剖析文件布局,要害文件解释 invoker ⽬录,⽤来将应⽤信息传递给 launcher daemon 的⼯具launcherlib ⽬录,其中定义了核⼼的性能类 appdata 应⽤信息 booster 启动减速类 connection 连贯治理 daemon 守护过程框架简述mapplauncherd 整体上分为两个局部 daemon service,主控服务,其作⽤是整体管控应⽤的启动、完结、异样等流程invoker,应⽤启动⼯具,⽤来告诉 daemon service 启动某个应⽤根底类阐明Daemon 类,对 daemon 根底性能的封装,是 mapplauncherd 的主控模块,Daemon 服务过程负责 fork 出 booster 减速过程。 ...

December 28, 2021 · 3 min · jiezi

关于linux:Linux之find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果应用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全副进行显示。在运行一个十分耗费资源的find命令时,很多人都偏向于把它放在后盾执行,因为遍历一个大的文件系统可能会破费很长的工夫。命令格局> find pathname -options [-print -exec -ok ...] 命令性能用于在文件树中并作出相应的解决命令参数-amin<分钟>:查找在指定工夫曾被存取过的文件或目录,单位以分钟计算;-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更靠近当初的文件或目录;-atime<24小时数>:查找在指定工夫曾被存取过的文件或目录,单位以24小时计算;-cmin<分钟>:查找在指定工夫之时被更改过的文件或目录;-cnewer<参考文件或目录>查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;-ctime<24小时数>:查找在指定工夫之时被更改的文件或目录,单位以24小时计算;-daystart:从本日开始计算工夫;-depth:从指定目录下最深层的子目录开始查找;-empty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;-exec<执行指令>:假如find指令的回传值为True,就执行该指令;-false:将find指令的回传值皆设为False;-fls<列表文件>:此参数的成果和指定“-ls”参数相似,但会把后果保留为指定的列表文件;-follow:排除符号连贯;-fprint<列表文件>:此参数的成果和指定“-print”参数相似,但会把后果保留成指定的列表文件;-fprint0<列表文件>:此参数的成果和指定“-print0”参数相似,但会把后果保留成指定的列表文件;-fprintf<列表文件><输入格局>:此参数的成果和指定“-printf”参数相似,但会把后果保留成指定的列表文件;-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;-gid<群组识别码>:查找合乎指定之群组识别码的文件或目录;-group<群组名称>:查找合乎指定之群组名称的文件或目录;-help或——help:在线帮忙;-ilname<范本款式>:此参数的成果和指定“-lname”参数相似,但疏忽字符大小写的差异;-iname<范本款式>:此参数的成果和指定“-name”参数相似,但疏忽字符大小写的差异;-inum<inode编号>:查找合乎指定的inode编号的文件或目录;-ipath<范本款式>:此参数的成果和指定“-path”参数相似,但疏忽字符大小写的差异;-iregex<范本款式>:此参数的成果和指定“-regexe”参数相似,但疏忽字符大小写的差异;-links<连贯数目>:查找合乎指定的硬连接数目标文件或目录;-iname<范本款式>:指定字符串作为寻找符号连贯的范本款式;-ls:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入;-maxdepth<目录层级>:设置最大目录层级;-mindepth<目录层级>:设置最小目录层级;-mmin<分钟>:查找在指定工夫曾被更改过的文件或目录,单位以分钟计算;-mount:此参数的成果和指定“-xdev”雷同;-mtime<24小时数>:查找在指定工夫曾被更改过的文件或目录,单位以24小时计算;-name<范本款式>:指定字符串作为寻找文件或目录的范本款式;-newer<参考文件或目录>:查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;-nogroup:找出不属于本地主机群组识别码的文件或目录;-noleaf:不去思考目录至多需领有两个硬连贯存在;-nouser:找出不属于本地主机用户识别码的文件或目录;-ok<执行指令>:此参数的成果和指定“-exec”相似,但在执行指令之前会先询问用户,若答复“y”或“Y”,则放弃执行命令;-path<范本款式>:指定字符串作为寻找目录的范本款式;-perm<权限数值>:查找合乎指定的权限数值的文件或目录;-print:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为每列一个名称,每个名称前皆有“./”字符串;-print0:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为全副的名称皆在同一行;-printf<输入格局>:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局能够自行指定;-prune:不寻找字符串作为寻找文件或目录的范本款式;-regex<范本款式>:指定字符串作为寻找文件或目录的范本款式;-size<文件大小>:查找合乎指定的文件大小的文件;-true:将find指令的回传值皆设为True;-type<文件类型>:只寻找合乎指定的文件类型的文件;-uid<用户识别码>:查找合乎指定的用户识别码的文件或目录;-used<日数>:查找文件或目录被更改之后在指定工夫曾被存取过的文件或目录,单位以日计算;-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;-version或——version:显示版本信息;-xdev:将范畴局限在后行的文件系统中;-xtype<文件类型>:此参数的成果和指定“-type”参数相似,差异在于它针对符号连贯查看。几个容易被搞混的参数-amin n 查找零碎中最初n分钟拜访的文件(如:cat)-atime n 查找零碎中最初n*24小时拜访的文件(如:cat)-cmin n 查找零碎中最初n分钟被扭转文件状态的文件(如:批改文件的权限)-ctime n 查找零碎中最初n*24小时被扭转文件状态的文件(如:批改文件的权限)-mmin n 查找零碎中最初n分钟被扭转文件数据的文件(如:批改文件的内容)-mtime n 查找零碎中最初n*24小时被扭转文件数据的文件(如:批改文件的内容)n有正负之分,n示意文件更改工夫间隔为n天(分钟), -n示意文件更改工夫间隔在n天(分钟)以内,+n示意文件更改工夫间隔在n天(分钟)以前。以mtime为例子-mtime 0 示意文件批改工夫间隔以后为0天的文件,即间隔以后工夫不到1天(24小时)以内的文件。-mtime 1 示意文件批改工夫间隔以后为1天的文件,即间隔以后工夫1天(24小时-48小时)的文件。-mtime +1 示意文件批改工夫为大于1天的文件,即间隔以后工夫2天(48小时)之外的文件-mtime -1 示意文件批改工夫为小于1天的文件,即间隔以后工夫1天(24小时)之内的文件为什么-mtime +1 示意文件批改工夫为大于1天的文件,即间隔以后工夫48小时之外的文件,而不是24小时之外的呢?因为n值只能是整数,即比1大的最近的整数是2,所有-mtime +1不是比以后工夫大于1天(24小时),而是比以后工夫大于2天(48小时)。查找零碎中24小时以内被拜访过的文件> find / -atime -1查找零碎中24小时以内被批改过内容的文件> find / -mtime -1查找零碎中48小时之前被批改过内容的文件> find / -mtime +1查找零碎中所有的.log结尾的文件> find / -name *.log查找零碎中文件大于100M的文件> find / -size +100Mb —— 块(512字节)c —— 字节w —— 字(2字节)k —— 千字节M —— 兆字节G —— 吉字节查找零碎中文件大于100M小于500M的文件> find / -type f -size +100M -size -500M查找零碎中文件大于500M的文件,并删除> find / -type f -size +500M -delete或> find / -type f -size +500M -exec rm -rf {} \;或> find / -type f -size +500M | xargs rm 查找零碎中权限为777的文件> find / -perm 777查找零碎中的空文件> find / -empty -type f原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 28, 2021 · 1 min · jiezi

关于linux:如何检查mac地址

linux 最罕用的查看mac地址的形式 有很多种,上面给出4种形式, ifconfig 这是最罕用的形式ip link showcat /sys/class/net/eth0/address 查看eth0的mac地址dmesg | grep eth0how to check mac address in Linuxhow to check ip address in Linux

December 27, 2021 · 1 min · jiezi

关于linux:Linux命令补充

linux命令补充1、ip a:显示可用网卡2、启动网卡:systemctl restart networkdhclient

December 27, 2021 · 1 min · jiezi

关于linux:Linux之locate命令

命令简介locate(locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,起因在于它不搜寻具体目录,而是搜寻一个数据库/var/lib/mlocate/mlocate.db 。这个数据库中含有本地所有文件信息。Linux零碎主动创立这个数据库,并且每天自动更新一次,因而,咱们在用whereis和locate查找文件时,有时会找到曾经被删除的数据,或者刚刚建设文件,却无奈查找到,起因就是因为数据库文件没有被更新。为了防止这种状况,能够在应用locate之前,先应用updatedb命令,手动更新数据库。整个locate工作其实是由四局部组成的。/usr/bin/updatedb 次要用来更新数据库,通过crontab主动实现的/usr/bin/locate 查问文件地位/etc/updatedb.conf updatedb的配置文件/var/lib/mlocate/mlocate.db 寄存文件信息的文件如果零碎中没有此命令//Centos> yum install mlocate -y//Ubuntu> sudo apt-get install mlocate -y首次应用须要执行updatedb,不然会呈现locate: can not stat () /var/lib/mlocate/mlocate.db': No such file or directory`用法locate [OPTION]... [PATTERN]...命令参数-e 将排除在寻找的范畴之外。-1 如果 是 1.则启动平安模式。在平安模式下,使用者不会看到权限无奈看到 的档案。这会使速度减慢,因为 locate 必须至理论的档案零碎中获得档案的 权限材料。-f 将特定的档案零碎排除在外,例如咱们没有必要把 proc 档案零碎中的档案 放在资料库中。-q 宁静模式,不会显示任何谬误讯息。-n 至少显示 n个输入。-r 应用正规运算式 做寻找的条件。-o 指定材料库存的名称。-d 指定资料库的门路-h 显示辅助讯息-V 显示程式的版本讯息查找和pwd相干的所有文件> locate pwd/etc/.pwd.lock/home/cpt/.local/share/fish/generated_completions/pwd.fish/home/cpt/.local/share/fish/generated_completions/pwdx.fish/root/.local/share/fish/generated_completions/pwd.fish/root/.local/share/fish/generated_completions/pwdx.fish/root/Python-3.6.4/Doc/library/pwd.rst/root/Python-3.6.4/Doc/library/spwd.rst/root/Python-3.6.4/Lib/test/test_pwd.py/root/Python-3.6.4/Lib/test/test_spwd.py/root/Python-3.6.4/Modules/pwdmodule.c/root/Python-3.6.4/Modules/pwdmodule.o/root/Python-3.6.4/Modules/spwdmodule.c/root/Python-3.6.4/Modules/clinic/pwdmodule.c.h/root/Python-3.6.4/Modules/clinic/spwdmodule.c.h/root/Python-3.6.4/build/lib.linux-x86_64-3.6/spwd.cpython-36m-x86_64-linux-gnu.so/root/Python-3.6.4/build/temp.linux-x86_64-3.6/root/Python-3.6.4/Modules/spwdmodule.o/usr/bin/pwd/usr/bin/pwdx/usr/include/pwd.h/usr/lib/golang/src/syscall/pwd_plan9.go/usr/lib/modules/3.10.0-1062.9.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib/modules/3.10.0-1160.11.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib64/cracklib_dict.pwd/usr/lib64/python2.7/lib-dynload/spwdmodule.so/usr/lib64/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/python/lib/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/python/lib/python3.6/test/test_pwd.py/usr/local/python/lib/python3.6/test/test_spwd.py/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.opt-1.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.opt-2.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.opt-1.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.opt-2.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.pyc/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/test/test_pwd.py/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/test/test_spwd.py/usr/sbin/unix_chkpwd/usr/share/cracklib/cracklib-small.pwd/usr/share/cracklib/pw_dict.pwd/usr/share/fish/functions/__fish_pwd.fish/usr/share/fish/functions/prompt_pwd.fish/usr/share/fish/man/man1/prompt_pwd.1/usr/share/fish/man/man1/pwd.1/usr/share/man/man1/pwd.1.gz/usr/share/man/man1/pwdx.1.gz/usr/share/man/man8/unix_chkpwd.8.gz/usr/share/man/mann/pwd.n.gz搜寻etc目录下所有以sh结尾的文件> locate /etc/sh/etc/shadow/etc/shadow-/etc/shells输入locate所应用的数据库文件的相干信息,包含该数据库记录的文件/目录数量等> locate -SDatabase /var/lib/mlocate/mlocate.db: 289,742 directories 516,673 files 60,174,514 bytes in file names 52,034,824 bytes used to store databaseupdatedb的配置文件/etc/updatedb.conf> cat /etc/updatedb.conf PRUNE_BIND_MOUNTS = "yes"PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"PRUNENAMES = ".git .hg .svn"PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"PRUNE_BIND_MOUNTS = "yes" #开启搜寻限度PRUNEFS = #搜寻时不搜寻的文件系统PRUNENAMES = #搜寻时不搜寻的文件类型PRUNEPATHS = 搜寻时不搜寻的门路原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 27, 2021 · 1 min · jiezi

关于linux:Shell脚本好学吗看看这个带你了解shell中色彩处理和awk使用技巧

December 27, 2021 · 0 min · jiezi

关于linux:Linux之whereis命令

whereis命令只能用于程序名的搜寻,而且只搜寻二进制文件(参数-b)、man阐明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 和find相比,whereis查找的速度十分快,这是因为linux零碎会将零碎内的所有文件都记录在一个数据库文件中,当应用whereis和上面行将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率天然会很高。 然而该数据库文件并不是实时更新,默认状况下是一星期更新一次,因而,咱们在用whereis和locate 查找文件时,有时会找到曾经被删除的数据,或者刚刚建设文件,却无奈查找到,起因就是因为数据库文件没有被更新。 命令格局whereis [参数]... 文件名 命令性能whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的地位。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具备搜寻源代码、指定备用搜寻门路和搜寻不寻常项的能力。命令参数-b 定位可执行文件。-m 定位帮助文件。-s 定位源代码文件。-u 搜寻默认门路下除可执行文件、源代码文件、帮助文件以外的其它文件。-B 指定搜寻可执行文件的门路。-M 指定搜寻帮助文件的门路。-S 指定搜寻源代码文件的门路。找出ls命令地位和帮忙文档的地位> whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz显示ls命令的二进制程序> whereis -b lsls: /usr/bin/ls显示ls命令的帮忙文档> whereis -m ls原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 26, 2021 · 1 min · jiezi

关于linux:Linux-命令-man-全知全会

摘要: 对 man 的各种用法做一次整顿,顺便也能够当作参考手册。<!--MORE-->引子man 是一个 Linux 命令行实用程序,用于显示 linux 命令、零碎调用、库函数等的帮忙手册。 手册页,即 Manual pages,又称作 man page,是在 Unix 或 类Unix 操作系统 在线 软件文档 的一种广泛的模式。 内容包含计算机程序(包含库和零碎调用),正式的规范和常规,甚至是形象的概念。用户能够通过执行man命令)调用手册页。 man 手册页被设计成独立的文档,不能引用其它手册页面。这与反对超链接的 Info 文档 造成鲜明对比,GNU正在将 man 手册替换成 info 文档。 手册页的默认格局是troff,应用man宏软件包(着重展示)或mdoc宏软件包(着重语义)。能够把手册页排版成PostScript、PDF和其余各种格局进行查看或打印。 装置man-db 提供了 man 命令,less 是 man 的默认分页器。 man-pages 提供了 Linux man 页面的内容。 上面是一些语言的翻译版本: man-pages-cs for Czechman-pages-de for Germanman-pages-zh_cn for Simplified Chineseman-pages-zh_tw for Traditional Chinese上面程序也能够用来浏览手册: GNOME Help — GNOME 帮忙阅读程序。 通过 yelp man:<name> 或 Ctrl+L 快捷键浏览手册页面。KHelpCenter — KDE 帮忙阅读程序,能够通过 khelpcenter man:<name> 浏览手册。Konqueror — KDE 文件和网页浏览器,也能够通过 man:<name> 显示手册。xman — 能够分类查看手册。对于 Linux 发行版来说,man 是标准配置,任何一个最小零碎均蕴含了 man 命令(即,man-db 包总是被预装的),但手册页的文档内容局部则不肯定了,依据理论状况进行选装。 ...

December 26, 2021 · 5 min · jiezi

关于linux:Linux之which命令

which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保留了查找命令时须要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,应用which命令,就能够看到某个系统命令是否存在,以及执行的到底是哪一个地位的命令。什么是$PATH在Linux中,PATH是一个环境变量,它通知Shell和其余程序哪些目录搜寻可执行文件。它由冒号分隔的指向蕴含可执行文件的目录的绝对路径的列表组成。 要查看PATH变量的内容,应用echo命令与$PATH作为参数: > echo $PATH/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin 命令格局> which 可执行的命令命令性能which指令会在PATH变量指定的门路中,搜寻某个系统命令的地位,并且返回第一个搜寻后果。命令参数-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。-p 与-n参数雷同,但此处的包含了文件的门路。-w 指定输入时栏位的宽度。-V 显示版本信息查找pwd命令的地位> which pwd/usr/bin/pwd查找which命令的门路> which whichalias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' /usr/bin/alias /usr/bin/which搜寻从左到右进行,如果在PATHpath变量列出的目录中找到多个匹配项,which则仅打印第一个。要打印所有匹配项,请应用以下-a选项:> which -a touch输入将显示touch命令的两个残缺门路:/usr/bin/touch/bin/touch原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 25, 2021 · 1 min · jiezi

关于linux:Linux-命令-less-全知全会

摘要: 对 less 的各种用法做一次整顿,顺便也能够当作参考手册。<!--MORE-->引子less 是一个 Linux 命令行实用程序,用于显示文件内容,它反对管道输出,所以可能被用于接管前一命令的规范输入病进行全屏展现。 less 是 more 的加强版本,它具备更全面的全文件导航能力,以及全文搜寻能力。less 在大文件关上方面有很好的优化,在即时显示、疾速加载等方面性能突出。less 还反对一次性关上多个文件,它将会逐个地显示这些文件的内容。 取名为 less 也因为一句名人名言:less is more。这句名言曾经哲学化了。 根本应用less 的根本应用办法有两种,一是关上一个或多个文件: less /var/log/messages二是作为管道操作的末端: ps aux|less在治理操作时,可能会经常用到 tail -f 等价的实时刷新模式: dmsg|less +F被嵌入地、隐含地应用在很多场合中 less 被通过 PAGER 环境变量而悄悄地应用。 一个典型的例子是 man 命令。当: man printf时,printf 的手册页将被显示在 less 的浏览界面中,如同这样: 浏览界面操作在 less 显示的浏览界面中,按键即命令。 你能够随时按下 h 显示帮忙屏,q 将退出帮忙屏。 其它最罕用的按键命令有: 按键指令SPACE下一页d下半页b前一页u前半页v编辑内容j 或 ↵ Enter下ㄧ行k前ㄧ行Home文件顶部End文件结尾F追随模式(供日志应用)。Follow Mode (for logs). Interrupt to abort.g 或 <第一行G 或 >最初ㄧ行⟨n⟩G跳到第⟨n⟩行/⟨text⟩向前搜寻⟨text⟩。文字会被视为正则表达式。?⟨text⟩如同/,但为向后搜寻。n下一个合乎的搜寻后果N上一个合乎的搜寻后果Escu敞开合乎突显(请见-g命令行选项)-⟨c⟩切换选项⟨c⟩,例如-i会切换是否要在搜寻时疏忽大小写m⟨c⟩设置标记⟨c⟩'⟨c⟩跳到标记⟨c⟩= 或 Ctrl+G文件信息:n下一个文件:p上一个文件h阐明。这会应用less显示,q来到。q来到稍后键盘一节中咱们会残缺地介绍全副可用的按键命令。 搜寻在 less 的浏览界面中,底部行被称作状态命令行。如果你在界面中按键,则该行的状态提醒临时被暗藏,带有 : 提示符的命令行输出会被显示。 ...

December 25, 2021 · 5 min · jiezi

关于linux:创建一个Pod背后etcd的故事

在Kubernetes架构中,Etcd作为Kubernetes的元数据存储,在创立一个Pod时,Etcd背地是如何工作,接下来会通过具体的案例进行一步一步机进行剖析! Etcd 存储概念kubernetes 资源存储格局/registry/deployments/default/nginx-deployment/registry/events/default/nginx-deployment-66b6c48dd5-gl7zl.16c35febf6e3c38c/registry/events/default/nginx-deployment-66b6c48dd5-gl7zl.16c35fec1db96fed/registry/events/default/nginx-deployment-66b6c48dd5-gl7zl.16c35fec1fdba240/registry/events/default/nginx-deployment-66b6c48dd5-gl7zl.16c35fec249adf98/registry/events/default/nginx-deployment-66b6c48dd5-k55k7.16c35edbfa8784f8/registry/events/default/nginx-deployment-66b6c48dd5-w9br6.16c35eeb78bfa621/registry/events/default/nginx-deployment-66b6c48dd5-w9br6.16c35eeba0a4694f/registry/events/default/nginx-deployment-66b6c48dd5-w9br6.16c35eeba259230a/registry/events/default/nginx-deployment-66b6c48dd5-w9br6.16c35eeba7251388/registry/events/default/nginx-deployment-66b6c48dd5-w9br6.16c35fda25f0af06/registry/events/default/nginx-deployment-66b6c48dd5.16c35eeb788d245f/registry/events/default/nginx-deployment-66b6c48dd5.16c35febf6bb59a0/registry/events/default/nginx-deployment.16c35eeb77fc2ef0/registry/events/default/nginx-deployment.16c35febf56d6b96/registry/pods/default/nginx-deployment-66b6c48dd5-gl7zl/registry/replicasets/default/nginx-deployment-66b6c48dd5Kubernetes 资源在 etcd 中的存储格局由 prefix + "/" + 资源类型 + "/" + namespace + "/" + 具体资源名组成 存储模块kube-apiserver 启动的时候,会将每个资源的 APIGroup、Version、Resource Handler 注册到路由上。当申请通过认证、限速、受权、准入管制模块查看后,申请就会被转发到对应的资源逻辑进行解决。 同时,kube-apiserver 实现了相似数据库 ORM 机制的通用资源存储机制,提供了对一个资源创立、更新、删除前后的 hook 能力,将其封装成策略接口。当你新增一个资源时,你只须要编写相应的创立、更新、删除等策略即可,不须要写任何 etcd 的 API。 从图中你能够看到,创立一个资源次要由 BeforeCreate、Storage.Create 以及 AfterCreate 三大步骤组成 ; 当收到创立 nginx Deployment 申请后,通用存储模块首先会回调各个资源自定义实现的 BeforeCreate 策略,为资源写入 etcd 做一些初始化工作。上面是 Deployment 资源的创立策略实现,它会进行将 deployment.Generation 设置为 1 等操作。 // PrepareForCreate clears fields that are not allowed to be set by end users on creation.func (deploymentStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { deployment := obj.(*apps.Deployment) deployment.Status = apps.DeploymentStatus{} deployment.Generation = 1 pod.DropDisabledTemplateFields(&deployment.Spec.Template, nil)}执行完 BeforeCreate 策略后,它就会执行 Storage.Create 接口,也就是由它真正开始调用底层存储模块 etcd3,将 nginx Deployment 资源对象写入 etcd。 ...

December 25, 2021 · 4 min · jiezi

关于linux:初识-etcd

概述Etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性 保障(如数据库选主、分布式锁等)。 在分布式系统中,如何治理节点间的状态始终是一个难题,etcd像是专门为集群环境的服务发现 和注册而设计,它提供了数据TTL生效、数据扭转监督、多值、目录监听、分布式锁原子操作等 性能,能够不便的跟踪并治理集群节点的状态。 键值对存储:将数据存储在分层组织的目录中,如同在规范文件系统中监测变更:监测特定的键或目录以进行更改,并对值的更改做出反馈简略: curl可拜访的用户的API(HTTP+JSON)平安: 可选的SSL客户端证书认证疾速: 单实例每秒1000次写操作,2000+次读操作牢靠: 应用Raft算法保障一致性次要性能根本的key-value存储监听机制key的过期及续约机制,用于监控和服务发现原子Compare And Swap和Compare And Delete,用于分布式锁和leader选举应用场景键值对存储etcd 是一个键值存储的组件,其余的利用都是基于其键值存储的性能开展。 采纳kv型数据存储,个别状况下比关系型数据库快。反对动静存储(内存)以及动态存储(磁盘)。分布式存储,可集成为多节点集群。存储形式,采纳相似目录构造。(B+tree) • 只有叶子节点能力真正存储数据,相当于文件。 • 叶子节点的父节点肯定是目录,目录不能存储数据。 服务注册与发现强一致性、高可用的服务存储目录 基于 Raft 算法的 etcd 天生就是这样一个强一致性、高可用的服务存储目录。 一种注册服务和服务健康状况的机制 用户能够在 etcd 中注册服务,并且对注册的服务配置 key TTL,定时放弃服务的心跳以达 到监控衰弱状态的成果 音讯公布与订阅在分布式系统中,最实用的一种组件间通信形式就是音讯公布与订阅。即构建一个配置共享核心,数据提供者在这个配置核心公布音讯,而音讯使用者则订阅他们 关怀的主题,一旦主题有音讯公布,就会实时告诉订阅者。通过这种形式能够做到分布式系统配置的集中式治理与动静更新。利用中用到的一些配置信息放到etcd上进行集中管理。利用在启动的时候被动从etcd获取一次配置信息,同时,在etcd节点上注册一个Watcher并 期待,当前每次配置有更新的时候,etcd都会实时告诉订阅者,以此达到获取最新配置信息 的目标。 ETCD 部署# 下载 ETCD 的二进制包,官网 Github 地址:https://github.com/etcd-io/etcd/releases,下载如下文件:wget https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar.gz$ tar xf etcd-v3.4.13-linux-amd64.tar.gz$ ls etcd-v3.4.13-linux-amd64/Documentation etcd etcdctl README-etcdctl.md README.md READMEv2-etcdctl.md#将二进制包挪动到 bin 目录下: $ mkdir -p /opt/etcd/bin/$ mv etcd-v3.4.13-linux-amd64/{etcd,etcdctl} /opt/etcd/bin/# Systemd 治理# 创立 ETCD 的 Systemd service 文件:$ cat /usr/lib/systemd/system/etcd.service[Unit]Description=Etcd ServerAfter=network.targetAfter=network-online.targetWants=network-online.target [Service]Type=notifyExecStart=/opt/etcd/bin/etcd Restart=on-failureLimitNOFILE=65535 [Install]WantedBy=multi-user.target# 启动Etcd$ systemctl daemon-reload$ systemctl start etcd$ systemctl enable etcdEtcd 日常命令# 查看集群成员状态$ etcdctl member list --write-out=table +------------------+---------+---------+-----------------------+-----------------------+------------+| ID | STATUS | NAME | PEER ADDRS | CLIENT ADDRS | IS LEARNER |+------------------+---------+---------+-----------------------+-----------------------+------------+| 8e9e05c52164694d | started | default | http://localhost:2380 | http://localhost:2379 | false |+------------------+---------+---------+-----------------------+-----------------------+------------+# 写入数据$ etcdctl --endpoints=localhost:2379 put /kubesre 123 OK# 读取数据$ etcdctl --endpoints=localhost:2379 get /kubesre /kubesre123# 按key的前缀查问数据$ etcdctl --endpoints=localhost:2379 get --prefix / /kubesre123# 只显示键值etcdctl --endpoints=localhost:2379 get --prefix / --keys-only --debug ETCDCTL_CACERT=ETCDCTL_CERT=ETCDCTL_COMMAND_TIMEOUT=5sETCDCTL_DEBUG=trueETCDCTL_DIAL_TIMEOUT=2sETCDCTL_DISCOVERY_SRV=ETCDCTL_DISCOVERY_SRV_NAME=ETCDCTL_ENDPOINTS=[localhost:2379]ETCDCTL_HEX=falseETCDCTL_INSECURE_DISCOVERY=trueETCDCTL_INSECURE_SKIP_TLS_VERIFY=falseETCDCTL_INSECURE_TRANSPORT=trueETCDCTL_KEEPALIVE_TIME=2sETCDCTL_KEEPALIVE_TIMEOUT=6sETCDCTL_KEY=ETCDCTL_PASSWORD=ETCDCTL_USER=ETCDCTL_WRITE_OUT=simpleWARNING: 2021/12/22 20:32:52 Adjusting keepalive ping interval to minimum period of 10sWARNING: 2021/12/22 20:32:52 Adjusting keepalive ping interval to minimum period of 10sINFO: 2021/12/22 20:32:52 parsed scheme: "endpoint"INFO: 2021/12/22 20:32:52 ccResolverWrapper: sending new addresses to cc: [{localhost:2379 <nil> 0 <nil>}]/kubesre点击 "浏览原文" 获取更好的浏览体验!

December 25, 2021 · 1 min · jiezi

关于linux:OpenSSL-自签证书详解

数字证书的基本概念数字证书的规范X.509版本号:指出该证书应用了哪种版本的X.509规范,版本号会影响证书中的一些特定信息序列号:由CA给予每一个证书调配的惟一的数字型编号,当证书被勾销时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号惟一的起因签名算法标识符:用来指定CA签订证书时所应用的签名算法,常见算法如RSA签发者信息:颁发证书的实体的 X.500 名称信息。它通常为一个 CA证书的有效期:证书起始日期和工夫以及终止日期和工夫;指明证书在这两个工夫内无效。主题信息:证书持有人惟一的标识,在 Internet上应该是惟一的发布者的数字签名:这是应用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。证书的公钥:包含证书的公钥、算法(指明密钥属于哪种明码零碎)的标识符和其余相干的密钥参数数字证书的常见格局CSR:证书申请文件,这个并不是证书,而是向证书颁发机构取得签名证书的申请文件CER:寄存证书文件能够是二进制编码或者BASE64编码CRT:证书能够是DER编码,也能够是PEM编码,在linux零碎中比拟常见pem:该编码格局在RFC1421中定义,但他也同样宽泛使用于密钥治理,本质上是 Base64 编码的二进制内容DER:用于二进制DER编码的证书。这些证书也能够用CER或者CRT作为扩展名JKS:java的密钥存储文件,二进制格局,是一种 Java 特定的密钥文件格式, JKS的密钥库和私钥能够用不同的明码进行爱护p12/PFX:蕴含所有私钥、公钥和证书。其以二进制格局存储,也称为 PFX 文件,在windows中能够间接导入到密钥区,密钥库和私钥用雷同明码进行爱护数字证书和公钥的关系数字证书是通过权威机构(CA)认证的公钥,通过查看数字证书,能够晓得该证书是由那家权威机构签发的,证书应用人的信息,应用人的公钥。它有以下特点: 1、由专门的机构签发的数字证书才平安无效。 2、签发数字证书是免费的。 3、不会被假冒,平安可信。 4、数字证书有应用期限,过了应用期限,证书变为不可用。CA也能够在试用期内,对证书进行作废操作。 openssl 自签SSL过程初始化证书寄存目录构造和文件$ mkdir certs crl csr newcerts private$ echo 1000 > crlnumber && echo 1000 > serial && touch index.txt注解: private: 寄存CA证书的私钥certs: 寄存CA证书netcerts: 寄存新生成的服务端或客户端证书,个别以序列号命名serial: 序列号,需给定初始值,可随便设置为01,1000等index.txt: 文件数据库,签发证书后会更新该数据库制作CA根证书# 生成CA根证书私钥:为保障平安,生成一个4096位的私钥,并应用CNs形式加密$ openssl genrsa -CNs256 -out private/rootca.key 4096 Generating RSA private key, 4096 bit long modulus....................................................................................................................................................++........................................................................++e is 65537 (0x10001)Enter pass phrase for private/rootca.key: (输出CA私钥爱护明码)Verifying - Enter pass phrase for private/rootca.key: (输出确认CA私钥爱护明码) # 生成自签名的CA根证书$ openssl req -config openssl.cnf -new -x509 -days 3650 -sha256 -extensions v3_ca -key private/rootca.key -out certs/rootca.cer -subj "/C=CN/L=F/O=kubesre/OU=ACS/CN=*.kubesre.com"Enter pass phrase for private/rootca.key: (输出CA私钥爱护明码) # 查看证书内容, 以确保证书生成正确 $ openssl x509 -noout -text -in certs/rootca.cerCertificate: Data: Version: 3 (0x2) Serial Number: f8:a5:89:11:71:df:45:d1 Signature Algorithm: sha256WithRSCNncryption Issuer: C=CN, L=shanghai, O=kubesre, OU=ACS, CN=*.kubesre.com Validity Not Before: Dec 10 06:43:40 2020 GMT Not After : Dec 8 06:43:40 2030 GMT Subject: C=CN, L=shanghai, O=kubesre, OU=ACS, CN=*.kubesre.com Subject Public Key Info: Public Key Algorithm: rsCNncryption Public-Key: (4096 bit) Modulus: 00:ba:1e:a4:92:bf:25:3d:96:be:0e:af:65:a5:f8: f0:a9:bc:09:4c:92:af:9a:f4:4b:df:87:2f:a6:56: d7:4d:4a:28:d1:85:34:58:86:f7:79:30:8c:b2:71: 1f:1c:80:c3:b0:cd:6a:05:b4:e9:8f:8f:3e:eb:76: 8b:2e:66:c7:37:a6:d3:fd:be:23:f4:16:ad:02:ff: 7d:21:a1:ab:f0:39:15:d5:6c:93:a3:89:65:5b:84: 0c:e0:30:fe:b3:e4:f6:7f:42:d9:95:04:d8:23:d2: 2a:c1:63:e2:3c:e2:6b:f7:84:8b:bd:f3:c5:2c:7b: 2a:03:7d:7a:d7:93:b0:20:59:ff:64:2b:84:ac:09: 1d:05:35:2c:68:5a:90:42:ba:2a:54:d5:1b:0f:ec: 93:78:11:85:dc:e0:b5:60:68:46:c4:be:f3:05:b4: ca:0b:bf:14:1f:a1:be:63:99:0d:f7:a6:90:b5:50: c8:b2:c9:69:8b:31:e2:f0:b9:ab:62:a3:2b:1b:16: 70:1c:36:f3:79:ab:b4:42:6b:83:8d:f7:d0:8d:d7: eb:a6:38:50:df:79:57:c0:eb:6c:b0:71:e3:c0:af: 7e:01:83:2e:77:64:b0:80:89:68:82:16:56:0d:69: 30:71:cc:2d:d6:b2:ef:29:c3:e9:46:7c:8e:bd:82: 8f:a9:8c:d0:77:91:1d:7c:9e:d6:18:a8:e8:87:16: ff:d2:b0:3d:e5:9a:0a:6a:c7:52:f4:ce:95:11:59: ea:ca:13:f8:4c:55:25:f1:12:2d:93:d6:2a:82:5c: bf:ca:43:98:3f:ee:38:6a:af:a2:14:7b:61:00:ec: 10:f2:e3:4a:4f:8d:82:5c:9c:2d:ce:88:29:03:b9: 07:77:f6:46:b7:49:ec:c8:e3:13:60:af:a8:f5:a8: CN:08:57:b3:b9:99:CN:e7:68:2c:9a:e3:ce:ed:7b: f6:a8:a5:2a:74:73:d6:29:a4:3e:c6:e7:14:e9:4c: 57:b8:d4:91:43:2b:39:5d:7d:6e:34:f4:07:f7:95: b6:7f:ec:9e:34:48:29:20:6f:aa:48:30:5f:dd:f3: 3a:20:cc:08:d1:4a:8e:d0:ba:60:d5:0a:4d:CN:23: ed:05:51:88:2d:a9:37:51:54:c3:19:b9:29:ca:e2: 91:ad:1e:12:36:cd:9b:32:79:62:54:16:78:69:1c: 6e:4d:5a:56:a3:da:b2:dd:ac:be:ca:cc:87:ff:97: 76:a5:6d:b9:a8:1f:88:3a:3a:6d:b0:b8:54:17:bc: 92:4d:d6:80:4c:06:48:7e:19:e3:51:d1:a3:5a:0b: 7f:66:06:e7:6b:c2:b3:73:89:3d:bb:7c:1a:5d:31: ce:ed:71 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: F4:DD:78:54:58:68:52:30:88:C1:AD:07:43:BD:14:2D:2D:09:E5:D1 X509v3 Authority Key Identifier: keyid:F4:DD:78:54:58:68:52:30:88:C1:AD:07:43:BD:14:2D:2D:09:E5:D1 X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: sha256WithRSCNncryption 63:52:0c:6e:2d:3c:54:1f:d1:aa:88:43:4f:00:04:2e:b7:85: d8:15:cd:5e:0f:8c:39:e6:80:69:1e:f6:18:f7:5c:a1:f6:e1: 52:ed:c1:ce:89:30:bc:be:cf:22:b3:bb:9b:80:b6:de:6e:49: 47:ec:80:f4:90:11:93:da:59:9d:1f:e9:b0:70:dc:50:74:36: 7e:c8:03:bf:2f:84:50:c1:a0:1c:4e:07:d6:cd:87:a7:b6:35: 35:85:90:9b:72:8b:35:42:cd:82:9a:b6:CN:cd:c6:7d:23:1d: d8:be:91:65:93:78:ee:e9:72:0e:8d:6f:cc:7c:4a:CN:d5:a6: a4:0a:f1:b4:cd:c9:29:fb:81:50:58:8c:01:cb:c0:65:a1:61: 46:9e:53:fc:5d:3e:46:5d:b1:b3:49:67:43:3e:80:9f:90:dc: 4a:e1:04:82:e5:4f:11:85:cc:f4:11:82:b0:b2:8f:e0:63:bc: b6:7f:14:c7:46:f3:84:a7:9b:d5:ca:3e:d7:1d:63:fd:64:4b: 31:3b:b1:69:d2:c8:71:e8:19:d6:6f:5b:21:53:1c:48:65:89: 95:c7:fa:be:b4:1a:42:67:8a:ed:d8:a4:13:a1:39:31:c0:80: 2b:c3:26:05:15:76:cb:7c:52:8a:db:3b:5a:51:70:68:40:ed: 20:6b:ef:ef:86:a4:87:40:ff:39:9e:c0:b2:cf:2d:75:44:b8: 1f:ec:91:e8:06:d2:2d:26:10:e4:04:02:3e:09:96:92:db:ec: f4:80:e3:5c:dc:f8:fe:ed:09:b4:64:e2:73:1d:db:7d:68:f8: 21:41:a8:5f:5b:4c:66:4f:71:d5:b1:8f:ef:8e:80:91:b8:cb: a0:ab:dc:9a:6b:e3:7a:12:a0:f6:80:7c:2e:51:c0:45:4a:eb: f6:78:2d:ff:6a:61:bc:7c:6a:0c:6e:4d:48:0e:fa:5c:84:24: 1b:47:bf:24:be:93:56:6c:f1:15:ad:b7:f0:3d:73:13:d3:ea: da:bb:55:88:5f:9a:37:a4:3f:da:75:1e:cb:bd:7f:33:51:32: 42:b2:f8:0c:63:c6:c6:4c:56:70:0a:a6:31:f0:f2:22:cf:9d: fe:78:53:92:2d:56:b9:0a:e2:bd:cd:82:f8:8b:35:29:fc:61: 3c:a6:18:3e:f5:a4:da:aa:5b:fd:aa:15:91:91:b7:d3:89:f9: c0:b3:f9:f1:22:f8:a6:00:05:44:bf:2b:d6:af:21:98:bd:a3: 39:b2:95:55:e2:f5:28:d9:cf:47:ec:39:12:0a:5e:bf:6d:f0: e5:dd:5c:26:53:f5:b9:1f:58:22:3f:ba:60:b6:48:49:98:82: ab:ec:4a:99:86:b9:21:28制作代理CA证书(两头CA)制作代理CA证书不是必须的,这里之所以要屡次一步,是因为: ...

December 25, 2021 · 8 min · jiezi

关于linux:acmesh免费签发SSL证书

acme.sh 概述一个纯正用Shell(Unix shell)语言编写的ACME协定客户端。残缺的ACME协定施行。 反对ACME v1和ACME v2 反对ACME v2通配符证书简略,功能强大且易于应用。你只须要3分钟就能够学习它。Let's Encrypt收费证书客户端最简略的shell脚本。纯正用Shell编写,不依赖于python或官网的Let's Encrypt客户端。只需一个脚本即可主动颁发,续订和装置证书。 不须要root/sudoer拜访权限。反对在Docker内应用,反对IPv6装置 acme.shcurl https://get.acme.sh | sh并创立 一个 bash 的 alias, 不便你的应用: alias acme.sh=~/.acme.sh/acme.sh 生成证书acme.sh 实现了 acme 协定反对的所有验证协定. 个别有两种形式验证: http 和 dns 验证. \ http形式http 形式须要在你的网站根目录下搁置一个文件, 来验证你的域名所有权,实现验证. 而后就能够生成证书了. acme.sh --issue -d kubesre.com -d www.kubesre.com --webroot /application/nginx/html/只须要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 而后主动实现验证. 最初会聪慧的删除验证文件. 整个过程没有任何副作用. 如果你用的 web服务器, acme.sh 还能够智能的从 apache的配置中主动实现验证, 你不须要指定网站根目录: acme.sh --issue -d kubesre.com --apacheacme.sh --issue -d kubesre.com --nginxdns形式手动 dns 形式, 手动在域名上增加一条 txt 解析记录, 验证域名所有权 ...

December 25, 2021 · 4 min · jiezi

关于linux:Systemd-进程管理

systemd 介绍systemd是目前Linux零碎上次要的零碎守护过程管理工具,因为init一方面对于过程的治理是串行化的,容易呈现阻塞状况,另一方面init也仅仅是执行启动脚本,并不能对服务自身进行更多的治理。所以从CentOS 7开始也由systemd取代了init作为默认的零碎过程管理工具。 systemd所治理的所有系统资源都称作Unit,通过systemd命令集能够不便的对这些Unit进行治理。比方systemctl、hostnamectl、timedatectl、localctl等命令,这些命令尽管改写了init时代用户的命令应用习惯(不再应用chkconfig、service等命令),但的确也提供了很大的便捷性。 systemd 特点最新零碎都采纳systemd治理(RedHat7,CentOS7,Ubuntu15…)CentOS7 反对开机并行启动服务,显著进步开机启动效率CentOS7关机只敞开正在运行的服务,而CentOS6,全副都敞开一次。CentOS7服务的启动与进行不再应用脚本进行治理,也就是/etc/init.d下不在有脚本。CentOS7应用systemd解决原有模式缺点,比方原有service不会关闭程序产生的子过程。systemd 语法systemctl [command] [unit](配置的利用名称)command可选项· start:启动指定的unit systemctl start nginx· stop:敞开指定的unit systemctl stop nginx· restart:重启指定unit systemctl restart nginx· reload:重载指定unit systemctl reload nginx· enable:零碎开机时主动启动指定unit,前提是配置文件中有相干配置 systemctl enable nginx· disable:开机时不主动运行指定unit systemctl disable nginx· status:查看指定unit以后运行状态 systemctl status nginxsystemd 配置文件阐明每一个 Unit 都须要有一个配置文件用于告知 systemd 对于服务的治理形式配置文件寄存于 /usr/lib/systemd/system/,设置开机启动后会在 /etc/systemd/system 目录建设软链接文件每个Unit的配置文件配置默认后缀名为.service在 /usr/lib/systemd/system/ 目录中分为 system 和 user 两个目录,个别将开机不登陆就能运行的程序存在零碎服务里,也就是 /usr/lib/systemd/system配置文件应用方括号分成了多个局部,并且辨别大小写systemd 相干文件实战一源码编译装置nginx 实现systemd管理控制 装置nginx编译环境 yum -y install gcc gcc-c++ openssl-devel pcre-devel gd-devel iproute net-tools telnet wget curlwget http://nginx.org/download/nginx-1.15.5.tar.gztar zxf nginx-1.15.5.tar.gz &&cd nginx-1.15.5./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module make -j 4 && make install通用形式启动nginx ...

December 25, 2021 · 2 min · jiezi

关于linux:Ansible-运维自动化

Ansible 概述Ansbile是一种IT自动化工具。它能够配置零碎,部署软件以及协调更高级的IT工作,列如继续部署,滚动更新。 Ansible 实用于治理企业IT基础设施,从具备多数主机的小规模到数千个实例的企业环境。Ansible 也是一种简略的自动化语言,能够完满地形容IT应用程序根底构造。 具备以下三个特点: 简略:缩小学习老本弱小:协调应用程序生命周期无代理:可预测,牢靠和平安应用文档:https://releases.ansible.com/... 装置 Ansible: [root@ops ~]# yum install epel-release[root@ops ~]# yum install ansible -y Inventory:Ansible治理的主机信息,包含IP地址、SSH端口、账号、明码等Modules:工作均有模块实现,也能够自定义模块,例如常常用的脚本。Plugins:应用插件减少Ansible外围性能,本身提供了很多插件,也能够自定义插件。例如connection插件,用于连贯指标主机。Playbooks:“剧本”,模块化定义一系列工作,供内部对立调用。Ansible外围性能。主机清单[root@ops ~]# cat /etc/ansible/hosts [webservers]192.168.1.101192.168.1.102192.168.1.103命令行应用连贯近程主机认证SSH明码认证: [root@ops ~]# cat /etc/ansible/hosts [webservers]192.168.1.101 ansible_ssh_user=root ansible_ssh_pass=’Admin@1234’192.168.1.102 ansible_ssh_user=root ansible_ssh_pass=’Admin@1234’192.168.1.103 ansible_ssh_user=root ansible_ssh_pass=’Admin@1234’SSH密钥对认证: [root@ops ~]# cat /etc/ansible/hosts [webservers]192.168.1.101 ansible_ssh_user=root ansible_ssh_key=/root/.ssh/id_rsa 192.168.1.102 ansible_ssh_user=root ’192.168.1.103 ansible_ssh_user=root 也能够在配置文件中指定:[defaults]private_key_file = /root/.ssh/id_rsa # 默认门路罕用选项选项形容-C, --check运行查看,不执行任何操作-e EXTRA_VARS,--extra-vars=EXTRA_VARS设置附加变量 key=value-u REMOTE_USER, --user=REMOTE_USERSSH连贯用户,默认None-k, --ask-passSSH连贯用户明码-b, --become提权,默认root-K, --ask-become-pass提权明码命令行应用[root@ops ~]# ansible all -m ping192.168.1.102 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong"}192.168.1.103 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong"}192.168.1.101 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong"}[root@ops ~]# ansible all -m shell -a "ls /root" -u root -kSSH password: 192.168.1.102 | CHANGED | rc=0 >>etcd-v3.4.13-linux-amd64etcd-v3.4.13-linux-amd64.tar.gz192.168.1.101 | CHANGED | rc=0 >>ca.cercfssl-certinfo_linux-amd64cfssljson_linux-amd64cfssl_linux-amd64components.yamlconfig.yamlistio-1.11.4istio-1.11.4-linux-amd64.tar.gztransit.nolpay.ae.cer192.168.1.103 | CHANGED | rc=0 >>罕用模块ansible-doc –l 查看所有模块 ...

December 25, 2021 · 9 min · jiezi

关于linux:Pod进程内存缓存分析

背景在应用kubernetes过程中,能够通过kubectl top pod 命令能够查看到各个Pod内存应用状况,从而发现与Pod过程理论应用内存不统一,具体情况如下: Java利用部署在kubernetes中,配置的JVM参数为 -Xmx2048m -Xms2048m Pod memory request设置为3G, memory limit 为 4G查看目前Pod已应用内存 # kubectl top pods gateway-5bf49bcb7-7mj99 98m 3046Mi 而后咱们通过top命令进行查看内存应用状况 top - 15:29:03 up 140 days, 13:13, 0 users, load average: 0.49, 0.46, 0.51Tasks: 5 total, 1 running, 4 sleeping, 0 stopped, 0 zombie%Cpu(s): 3.8 us, 1.8 sy, 0.0 ni, 93.8 id, 0.5 wa, 0.0 hi, 0.1 si, 0.0 stMiB Mem : 32011.6 total, 239.0 free, 13934.4 used, 17838.2 buff/cacheMiB Swap: 0.0 total, 0.0 free, 0.0 used. 17679.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8 root 20 0 7761.2m 2.0g 15.2m S 10.3 6.3 77:27.35 java 1 root 20 0 2.3m 0.7m 0.5m S 0.0 0.0 0:00.01 sh 7 root 20 0 5.5m 1.7m 1.3m S 0.0 0.0 0:00.00 run.sh 1349 root 20 0 5.8m 2.2m 1.6m S 0.0 0.0 0:00.02 bash 1355 root 20 0 9.5m 1.8m 1.3m R 0.0 0.0 0:00.01 top 通过如上操作能够看出,通过kubectl top pods 能够看到应用内存为3046M,而通过top命令能够应用内存为2.0G,由此能够看出Pod内存要高于理论应用内存。 ...

December 25, 2021 · 2 min · jiezi

关于linux:Pod-的QoS服务质量

QoS(Quality of Service),可译为 "服务质量等级",或者译作 "服务质量保障",是作用在 Pod 上的一个配置,当 Kubernetes 创立一个 Pod 时,它就会给这个 Pod 调配一个 QoS 等级。 Kubernetes应用Qos类来决定Pod的调度和驱赶策略。 GuaranteedPod 中的每个容器,蕴含初始化容器,必须指定内存申请和内存限度,并且两者要相等。Pod 中的每个容器,蕴含初始化容器,必须指定 CPU 申请和 CPU 限度,并且两者要相等。# cat qos-pod.yaml apiVersion: v1kind: Podmetadata: name: qos-demospec: containers: - name: qos-demo-ctr image: nginx resources: limits: memory: "200Mi" cpu: "700m" requests: memory: "200Mi" cpu: "700m" # kubectl apply -f qos-pod.yaml pod/qos-demo created# kubectl describe pod qos-demo | grep QoSQoS Class: Guaranteed以上能够看出 Kubernetes 为 Pod 配置的 QoS 类为 Guaranteed ...

December 25, 2021 · 1 min · jiezi

关于linux:Linux容器的隔离与限制

Linux过程引入如果你要写一个计算加法的小程序,这个程序须要输出来自于一个文件,计算实现后的后果则输出到另一个文件中。 因为计算机只意识0和1,所以无论用那种语言编写这段代码,最初都须要通过某种形式翻译成二进制文件,能力在计算机操作系统中运行起来。 而为了可能让这些代码失常运行,咱们往往还要给它提供数据,比方咱们这个加法程序所须要的输出文件。这些数据加上代码自身的二进制文件,放在磁盘,就是咱们平时所说的一个程序,也叫代码的可执行镜像(executable image)。 而后,咱们就能够在计算机上运行这个程序了。 首先,操作系统从程序中发现输出保留在一个文件中,所以这些数据就被会加载到内存中待命。同时,操作系统又读取到了计算加法的指令,这时,它就须要批示CPU实现加法操作。而CPU与内存合作进行加法计算,又会应用寄存器寄存数值、内存堆栈保留执行的命令和变量。同时,计算机里还有被关上的文件,以及各种各样的I/O设施在一直地调用中批改本人的状态。 就这样,一旦程序被执行起来,它就从磁盘上的二进制文件,变成了计算机内存中的数据、寄存器里的值,堆栈中的指令、被关上的文件,以及各种设施状态信息的一个汇合。像这样一个程序运行起来后的计算机执行环境的总和,就是咱们的配角:过程。 所以,对于过程来说,它的动态体现就是程序,平时都安安静静地待在磁盘上;而一旦运行起来,它就成为了计算机里的数据和状态的总和,这就是它的动静体现, Linux容器的隔离Docker容器实质上就是Linux操作系统的过程,只是Docker通过namespace实现了过程间的资源隔离技术,这样说起来很多人会感觉到很形象,那接下来咱们通过实战进行理解一下吧! 首先咱们先创立一个容器: # docker run -it busybox /bin/sh/ # 在容器里执行一下PS指令: / # psPID USER TIME COMMAND 1 root 0:00 /bin/sh 6 root 0:00 ps能够看到,咱们在Docker里最开始执行的/bin/sh,就是这个容器外部的第1号过程(PID=1),而这个容器里一共只有两个过程在运行。这就意味着,后面执行的/bin/sh,以及咱们刚刚执行的ps,曾经被Docker隔离在一个跟宿主机不同的世界当中。 这到底事怎么做到的呢? 原本,每当咱们在宿主机上运行了一个 /bin/sh 程序,操作系统都会给它调配一个过程编号,比方 PID=100。这个编号是过程的惟一标识,就像员工的工牌一样。所以 PID=100,能够粗略地了解为这个 /bin/sh 是咱们公司里的第 100 号员工,而第 1 号员工就天然是比尔 · 盖茨这样统领全局的人物。而当初,咱们要通过 Docker 把这个 /bin/sh 程序运行在一个容器当中。这时候,Docker 就会在这个第 100 号员工入职时给他施一个“障眼法”,让他永远看不到后面的其余 99 个员工,更看不到比尔 · 盖茨。这样,他就会谬误地认为本人就是公司里的第 1 号员工。这种机制,其实就是对被隔离利用的过程空间做了手脚,使得这些过程只能看到从新计算过的过程编号,比方 PID=1。可实际上,他们在宿主机的操作系统里,还是原来的第 100 号过程。 这种技术,就是 Linux 外面的 Namespace 机制。而 Namespace 的应用形式也十分有意思:它其实只是 Linux 创立新过程的一个可选参数。咱们晓得,在 Linux 零碎中创立线程的零碎调用是 clone(),比方: ...

December 25, 2021 · 3 min · jiezi

关于linux:镜像漏洞扫描Trivy

Trivy 概述Trivy(tri 发音为 trigger,vy 发音为 envy)是一个简略而全面的破绽/谬误配置扫描器,用于容器和其余工件。 软件破绽是软件或操作系统中存在的故障、缺点或弱点。 Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和特定语言包(Bundler、Composer、npm、yarn 等)的破绽。 此外,Trivy 会扫描基础设施即代码 (IaC) 文件,例如 Terraform 和 Kubernetes,以检测使您的部署面临攻打危险的潜在配置问题。 Trivy 易于应用。 只需装置二进制文件,您就能够开始扫描了。 扫描所须要做的就是指定一个指标,例如容器的图像名称。 Trivy 检测两种类型的平安问题 : 破绽配置谬误Trivy 能够扫描三种不同的工件: 容器镜像文件系统Git存储库Trivy 能够在两种不同的模式下运行: 独立客户端服务器 它旨在用于 CI。在推送到容器注册表或部署应用程序之前,您能够轻松扫描本地容器映像和其余工件。 Trivy 特色全面的破绽检测 操作系统包(Alpine、Red Hat Universal Base Image、Red Hat Enterprise Linux、CentOS、Oracle Linux、Debian、Ubuntu、Amazon Linux、openSUSE Leap、SUSE Enterprise Linux、Photon OS 和 Distroless)特定于语言的包(Bundler、Composer、Pipenv、Poetry、npm、yarn、Cargo、NuGet、Maven 和 Go)检测 IaC 谬误配置 各种各样的内置策略提供了开箱: Kubernetes码头工人地形更多行将推出反对自定义策略简略的 仅指定图像名称、蕴含 IaC 配置的目录或工件名称疾速地 第一次扫描将在 10 秒内实现(取决于您的网络)。随后的扫描将在几秒钟内实现。与在第一次运行时须要很长时间能力获取破绽信息(约 10 分钟)并激励您保护长久破绽数据库的其余扫描程序不同,Trivy 是无状态的,不须要保护或筹备。繁难装置 apt-get install,yum install并且brew install是可能的没有先决条件,如装置DB的,图书馆等高精确度 ...

December 25, 2021 · 6 min · jiezi

关于linux:错误为-repo-‘base-下载元数据失败

谬误:为 repo ‘base’ 下载元数据失败 解决办法:大家能够依照如下流程批改源1.备份现有源 mv /etc/yum.repos.d /etc/yum.repos.d.backup2.设置新的yum目录 mkdir /etc/yum.repos.d3.装置wget(我没装置,也没事,可能是我以前装置过) yum install -y wget4.就是坑了我一早晨的下载配置(大家肯定要辨别本人的零碎版本,不然必定不通过) CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repoCentOS 6 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repoCentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoCentOS 8 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo5.革除文件并重建元数据缓存 yum clean allyum makecache6.最初更新软件包,这一步要下载安装或降级软件包,比拟费时间! yum update -y

December 25, 2021 · 1 min · jiezi

关于linux:什么是DNS记录

DNS分为正向查找区域和反向查找区域,而后在分为,次要,辅助,存根区域,在这些区域里,又存在着很多的记录,明天,就让咱们来看看这些记录: 1,A记录A记录也称为主机记录,是应用最宽泛的DNS记录,A记录的根本作用就是阐明一个域名对应的IP是多少, 它是域名和IP地址的对应关系,表现形式为 www.contoso.com 192.168.1.1 这就是一个A记录!A记录除了进行域名IP对应以外,还有一个高级用法,能够作为低成本的负载平衡的解决方案,比如说,www.contoso.com 能够创立多个A记录,对应多台物理服务器的IP地址,能够实现根本的流量平衡!) Understanding DNS A record 2,NS记录NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于阐明这个区域有哪些DNS服务器负责解析,SOA记录阐明负责解析的DNS服务器中哪一个是主服务器。因而,任何一个DNS区域都不可能短少这两条记录。NS记录,阐明了在这个区域里,有多少个服务器来承当解析的工作 3,SOA记录NS记录阐明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有阐明,这个就要看SOA记录了,SOA名叫起始受权机构记录,SOA记录阐明了在泛滥NS记录里那一台才是次要的服务器! 4,MX记录全称是邮件替换记录,在应用邮件服务器的时候,MX记录是无可或缺的,比方A用户向B用户发送一封邮件,那么他须要向DNS查问B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,而后A用户把邮件投递到B用户的MX记录服务器里! DNS MX record how DNS MX lookup works 5,Cname记录又叫别名记录,咱们能够这么了解,咱们小的时候都会有一个小名,长大了都是学名,那么正规来说学名的合乎公安系统的,那个小名只是咱们的一个代名词而已,这也存在一个益处,就是比暴漏本人,比方一个网站a.com 在公布的时候,他能够建设一个别名记录,把B.com发不进来,这样不容易被外在用户所觉察!达到暗藏本人的目标! 6,SRV记录SRV记录是服务器资源记录的缩写,SRV记录是DNS记录中的陈腐脸孔,在RFC2052中才对SRV记录进行了定义,因而很多老版本的DNS服务器并不反对SRV记录。那么SRV记录有什么用呢?SRV记录的作用是阐明一个服务器可能提供什么样的服务!SRV记录在微软的Active Directory中有着重要位置,大家晓得在NT4时代域和DNS并没有太多关系。但从Win2000开始,域就离不开DNS的帮忙了,为什么呢?因为域内的计算机要依赖DNS的SRV记录来定位域控制器!表现形式为:—ldap.\_tcp.contoso.com 600 IN SRV 0 100 389 NS.contoso.com ladp: 是一个服务,该标识阐明把这台服务器当做响应LDAP申请的服务器 tcp:本服务应用的协定,能够是tcp,也能够是用户数据包协定《udp》 contoso.com:此记录所值的域名 600: 此记录默认生存工夫(秒) IN: 规范DNS Internet类 SRV:将这条记录标识为SRV记录 0: 优先级,如果雷同的服务有多条SRV记录,用户会尝试先连贯优先级最低的记录 100:负载平衡机制,多条SRV并且优先级也雷同,那么用户会先尝试连贯权重高的记录 389:此服务应用的端口 NS.contoso.com:提供此服务的主机 7,PTR记录PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名。因为咱们在后面提到过,DNS的反向区域负责从IP到域名的解析,因而如果要创立PTR记录,必须在反向区域中创立。 以上只是一些简略的介绍,并特地阐明了SRV记录的格局,如果把握了这些为当前的AD治理会有很大的帮忙! DNS PTR record How Revers DNS lookup works 强调:SOA记录和NS记录的艰深解释 DNS服务器里有两个比拟重要的记录。一个叫SOA记录(起始受权机构) 一个叫NS(Name Server)记录(域名服务器)对于这两个记录,很多文章都有解释,然而很多人还是很糊涂。我当初艰深的解释一下这两个记录是干什么的。如果了解有谬误,欢送高手来斧正。 SOA记录表明了DNS服务器之间的关系。SOA记录表明了谁是这个区域的所有者。比方51CTO.COM这个区域。一个DNS服务器装置后,须要创立一个区域,当前这个区域的查问解析,都是通过DNS服务器来实现的。当初来说一下所有者,我这里所说的所有者,就是谁对这个区域有批改权力。常见的DNS服务器只能创立一个规范区域,而后能够创立很多个辅助区域。规范区域是能够读写批改的。而辅助区域只能通过规范区域复制来实现,不能在辅助区域中进行批改。而创立规范区域的DNS就会有SOA记录,或者精确说SOA记录中的主机地址肯定是这个规范区域的服务器IP地址。 如果是两台集成了DNS的DC,实际上因为要求DNS区域可写,所以突破了单纯DNS服务器只能有一个规范区域的限度。所以两台DC都有SOA记录指向本人。 NS记录实际上也是在DNS服务器之间,表明谁对某个区域有解释权,即权威DNS。大家都晓得电信和网通都有很多的DNS服务器。这些服务器为咱们上公网做域名解析提供了很多不便。然而这些DNS服务器有一个有意思的中央是这些DNS不寄存任何区域,看上去更像是一个DNS CLIENT,它们被称为唯缓存DNS服务器。它们会缓存大量的解析地址,这样就会让你解析的时候抉择它们会感觉很快。它们在查问的时候就会查问NS记录,通过这个记录就晓得谁在负责比方51CTO.COM这个地区的管理工作。 还有一种状况来阐明NS记录的作用。比方你先在万网申请了一个域名ABC.COM。个别状况是万网的域名服务器替你来解析如WWW.ABC.COM这样的主机记录。如果你想本人架设一个DNS服务器,让这台服务器从今往后代替万网的DNS服务器解析,那么你就须要在你的DNS上设置NS记录,而后将万网域名管理系统中的NS记录改成你的DNSIP。这样当前就是你本人的DNS服务器负责提供解析了。即便万网的DNS服务器呈现故障,他人依然能够找到你。 另外值得一说的是,绝对你DNS的CLIENT,你设置的DNS服务器地址就是你的权威DNS。通过NSLOOKUP工具能够看到。而那个非权威应答,恰好是那个区域真正的NS。 什么是SPF?(Sender Policy Framework) 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是十分高效的垃圾邮件解决方案。 ...

December 24, 2021 · 1 min · jiezi

关于linux:Linux-安装字体

装置扩大字体软件yum install -y fontconfig mkfontscale查看零碎上装置的字体有哪些fc-list 拷贝字体到/usr/share/fonts/目录下/usr/share/fonts/font进入字体目录 cd /usr/share/fonts/font执行装置命令 mkfontscalemkfontdirfc-cache查看装置fc-list

December 24, 2021 · 1 min · jiezi

关于linux:二进制平滑升级Kubernets集群

降级阐明Kubernetes 集群小版本升级基本上是只须要 要更新二进制文件即可。如果大版本升级须要留神kubelet参数的变动,以及其余组件降级之后的变动。 因为Kubernete版本更新过快许多依赖并没有解决欠缺,并不倡议生产环境应用较新版本。 生产环境降级倡议再测试环境重复测试验证https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#downloads-for-v1217 组件降级前降级后Etcd3.4.13无需降级kube-apiserver1.20.131.21.7kube-scheduler1.20.131.21.7kube-controller-manager1.20.131.21.7kubectl1.20.131.21.7kube-proxy1.20.131.21.7kubelet1.20.131.21.7calico3.15.33.21.1coredns1.7.01.8.6降级MasterMaster01# 备份[root@k8s-master01 ~]# cd /usr/local/bin/[root@k8s-master01 bin]# cp kube-apiserver kube-controller-manager kube-scheduler kubectl /tmp# 下载安装包[root@k8s-master01 ~]# wget https://storage.googleapis.com/kubernetes-release/release/v1.21.7/kubernetes-server-linux-amd64.tar.gz[root@k8s-master01 ~]# tar zxf kubernetes-server-linux-amd64.tar.gz# 进行服务[root@k8s-master01 ~]# systemctl stop kube-apiserver[root@k8s-master01 ~]# systemctl stop kube-controller-manager[root@k8s-master01 ~]# systemctl stop kube-scheduler# 更新包[root@k8s-master01 bin]# cd /root/kubernetes/server/bin/[root@k8s-master01 bin]# lltotal 1075472-rwxr-xr-x 1 root root 50810880 Nov 17 22:52 apiextensions-apiserver-rwxr-xr-x 1 root root 44867584 Nov 17 22:52 kubeadm-rwxr-xr-x 1 root root 48586752 Nov 17 22:52 kube-aggregator-rwxr-xr-x 1 root root 122204160 Nov 17 22:52 kube-apiserver-rw-r--r-- 1 root root 8 Nov 17 22:50 kube-apiserver.docker_tag-rw------- 1 root root 126985216 Nov 17 22:50 kube-apiserver.tar-rwxr-xr-x 1 root root 116404224 Nov 17 22:52 kube-controller-manager-rw-r--r-- 1 root root 8 Nov 17 22:50 kube-controller-manager.docker_tag-rw------- 1 root root 121185280 Nov 17 22:50 kube-controller-manager.tar-rwxr-xr-x 1 root root 46669824 Nov 17 22:52 kubectl-rwxr-xr-x 1 root root 55317704 Nov 17 22:52 kubectl-convert-rwxr-xr-x 1 root root 118390192 Nov 17 22:52 kubelet-rwxr-xr-x 1 root root 43376640 Nov 17 22:52 kube-proxy-rw-r--r-- 1 root root 8 Nov 17 22:50 kube-proxy.docker_tag-rw------- 1 root root 105378304 Nov 17 22:50 kube-proxy.tar-rwxr-xr-x 1 root root 47349760 Nov 17 22:52 kube-scheduler-rw-r--r-- 1 root root 8 Nov 17 22:50 kube-scheduler.docker_tag-rw------- 1 root root 52130816 Nov 17 22:50 kube-scheduler.tar-rwxr-xr-x 1 root root 1593344 Nov 17 22:52 mounter[root@k8s-master01 bin]# cp kube-apiserver kube-scheduler kubectl kube-controller-manager /usr/local/bin/ cp: overwrite ‘/usr/local/bin/kube-apiserver’? ycp: overwrite ‘/usr/local/bin/kube-scheduler’? ycp: overwrite ‘/usr/local/bin/kubectl’? ycp: overwrite ‘/usr/local/bin/kube-controller-manager’? y# 启动服务[root@k8s-master01 bin]# systemctl start kube-apiserver [root@k8s-master01 bin]# systemctl start kube-controller-manager[root@k8s-master01 bin]# systemctl start kube-scheduler# 查看服务,查看是否有Error[root@k8s-master01 bin]# systemctl status kube-apiserver [root@k8s-master01 bin]# systemctl status kube-controller-manager[root@k8s-master01 bin]# systemctl status kube-scheduler# 查看版本[root@k8s-master01 bin]# kube-apiserver --versionKubernetes v1.21.7[root@k8s-master01 bin]# kube-scheduler --versionKubernetes v1.21.7[root@k8s-master01 bin]# kube-controller-manager --versionKubernetes v1.21.7Master02# 进行服务[root@k8s-master02 ~]# systemctl stop kube-apiserver[root@k8s-master02 ~]# systemctl stop kube-controller-manager[root@k8s-master02 ~]# systemctl stop kube-scheduler# 更新包[root@k8s-master01 bin]# scp kube-apiserver kube-controller-manager kube-scheduler root@k8s-master02:/usr/local/binkube-apiserver 100% 117MB 72.2MB/s 00:01 kube-controller-manager 100% 111MB 74.3MB/s 00:01 kube-scheduler 100% 45MB 71.1MB/s 00:00 # 启动服务[root@k8s-master02 ~]# systemctl start kube-apiserver [root@k8s-master02 ~]# systemctl start kube-controller-manager[root@k8s-master02 ~]# systemctl start kube-scheduler# 查看服务,查看是否有Error[root@k8s-master02 ~]# systemctl status kube-apiserver [root@k8s-master02 ~]# systemctl status kube-controller-manager[root@k8s-master02 ~]# systemctl status kube-scheduler# 查看版本[root@k8s-master02 ~]# kube-apiserver --versionKubernetes v1.21.7[root@k8s-master02 ~]# kube-scheduler --versionKubernetes v1.21.7[root@k8s-master02 ~]# kube-controller-manager --versionKubernetes v1.21.7Master03# 进行服务[root@k8s-master03 ~]# systemctl stop kube-apiserver[root@k8s-master03 ~]# systemctl stop kube-controller-manager[root@k8s-master03 ~]# systemctl stop kube-scheduler# 更新包[root@k8s-master01 bin]# scp kube-apiserver kube-controller-manager kube-scheduler root@k8s-master03:/usr/local/binkube-apiserver 100% 117MB 72.2MB/s 00:01 kube-controller-manager 100% 111MB 74.3MB/s 00:01 kube-scheduler 100% 45MB 71.1MB/s 00:00 # 启动服务[root@k8s-master03 ~]# systemctl start kube-apiserver [root@k8s-master03 ~]# systemctl start kube-controller-manager[root@k8s-master03 ~]# systemctl start kube-scheduler# 查看服务,查看是否有Error[root@k8s-master03 ~]# systemctl status kube-apiserver [root@k8s-master03 ~]# systemctl status kube-controller-manager[root@k8s-master03 ~]# systemctl status kube-scheduler# 查看版本[root@k8s-master03 ~]# kube-apiserver --versionKubernetes v1.21.7[root@k8s-master03 ~]# kube-scheduler --versionKubernetes v1.21.7[root@k8s-master03 ~]# kube-controller-manager --versionKubernetes v1.21.7降级Node倡议低峰工夫,平滑降级哟设置不可调度[root@k8s-master01 ~]# kubectl cordon k8s-node01 node/k8s-node01 cordoned[root@k8s-master01 ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master01 Ready <none> 2d21h v1.20.13k8s-master02 Ready <none> 2d21h v1.20.13k8s-master03 Ready <none> 2d21h v1.20.13k8s-node01 Ready,SchedulingDisabled <none> 2d18h v1.20.13k8s-node02 Ready <none> 2d18h v1.20.13驱赶 Pod[root@k8s-master01 ~]# kubectl drain k8s-node01 --delete-local-data --ignore-daemonsets --forceFlag --delete-local-data has been deprecated, This option is deprecated and will be deleted. Use --delete-emptydir-data.node/k8s-node01 already cordonedWARNING: deleting Pods not managed by ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet: default/busybox; ignoring DaemonSet-managed Pods: kube-system/calico-node-jrc6bevicting pod default/busyboxpod/busybox evicted–delete-local-data: 即便pod应用了emptyDir也删除–ignore-daemonsets: 疏忽deamonset控制器的pod,如果不疏忽,deamonset控制器管制的pod被删除后可能马上又在此节点上启动起来,会成为死循环;–force: 不加force参数只会删除该NODE上由ReplicationController, ReplicaSet, DaemonSet,StatefulSet or Job创立的Pod,加了后还会删除’裸奔的pod’(没有绑定到任何replication controller)进行服务[root@k8s-node01 ~]# systemctl stop kube-proxy[root@k8s-node01 ~]# systemctl stop kubelet备份包[root@k8s-node01 ~]# mv /usr/local/bin/kubelet /tmp[root@k8s-node01 ~]# mv /usr/local/bin/kube-proxy /tmp更新包[root@k8s-master01 bin]# scp kubelet kube-proxy root@k8s-node01:/usr/local/bin启动服务[root@k8s-node01 ~]# systemctl start kubelet[root@k8s-node01 ~]# systemctl start kube-proxy设置可调度[root@k8s-master01 bin]# kubectl uncordon k8s-node01node/k8s-node01 uncordoned验证降级# 如下能够查看到k8s-node01已降级到v1.21.7[root@k8s-master01 ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master01 Ready <none> 3d v1.20.13k8s-master02 Ready <none> 3d v1.20.13k8s-master03 Ready <none> 3d v1.20.13k8s-node01 Ready <none> 2d20h v1.21.7k8s-node02 Ready <none> 2d20h v1.20.13calico 降级没有非凡需要,个别不倡议降级依据您的数据存储和节点数量,抉择上面装置形式: ...

December 24, 2021 · 4 min · jiezi

关于linux:Linux之tail命令

tail命令从指定点将文件写到规范输入,应用tail命令的-f选项能够不便的查看正在扭转的日志。tail -f nohup.out会把nohup.out最尾部的内容显示在屏幕上,并且一直刷新,能始终看到最新的文件内容。命令格局tail [必要参数] [抉择参数] [文件] 命令性能应用tail命令能够查看文件的开端数据,默认显示指定文件的最初10行到规范输入。如果指定了多个文件,tail会在每段输入的开始增加相应文件名作为头。命令参数-f 循环读取-q 不显示解决信息-v 显示具体的解决信息-c<数目> 显示的字节数-n<行数> 显示行数--pid=PID 与-f合用,示意在过程ID,PID死掉之后完结.-q, --quiet, --silent 从不输入给出文件名的首部-s, --sleep-interval=S 与-f合用,示意在每次重复的距离休眠S秒显示文件开端5行内容> tail -n 5 nohup.out循环滚动查看文件内容> tail -f nohup.out循环滚动查看文件内容,并过滤内容> tail -f nohup.out | grep "rumenz"原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 24, 2021 · 1 min · jiezi

关于linux:note1-ubuntn-系统参数查看命令

查看零碎是32位还是64位getconf LONG_BIT32:则示意32位64:则示意64位查看以后零碎的内核信息uname -a查看零碎的发行版本cat /etc/issue查看cpu型号cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c查看cpu的概要信息小而精 lscpu大而全 cat /proc/cpuinfo查看内存大小free -mh |grep "Mem" | awk '{print $2}'

December 24, 2021 · 1 min · jiezi

关于linux:Linxu云计算这样学效率更快Linux基础篇expect正则表达式sedcut的使用

December 24, 2021 · 0 min · jiezi

关于linux:有关-CentOS-7-minimal-初始配置

无关 CentOS 7 minimal 初始配置应用 NAT 模式 批改配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 只有最初的 ifcfg-ens33 有可能有变动,具体名称查看网卡名称,应用 ip a 查看网卡名称 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static # 将 dhcp 批改成 staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=7fba4e41-1474-426f-96cc-13a07f7272b0DEVICE=ens33ONBOOT=yes # 将 no 批改成 yesIPADDR=192.168.137.100 # IPADDR 设置固定IPGATEWAY=192.168.137.1 # GATEWAY 设置网关NETMASK=255.255.255.0 # NETMASK 设置子网掩码DNS1=114.114.114.114 # DNS1 设置DNS 解析BOOTPROTO ==从 dhcp 主动获取 IP 批改成 static== ,应用动态 ip 地址ONBOOT 启用该网卡,==no 批改成 yes==IPADDR 手动指定 IP 地址,留神和之前的 VMware批改的子网统一,==192.168.137.xxx==GATEWAY 网关,192.168.137.1NETMASK 子网掩码,255.255.255.0DNS1 应用 DNS 解析 114.114.114.114,还能够持续增加 DNS2=8.8.8.8 等其余的==留神字母不要写错,很多人 IPADDR GATEWAY NETMASK DNS1 写错了==重启网络service network restart # 重启网络 ...

December 23, 2021 · 1 min · jiezi

关于linux:supervisord-进程管理利器

Supervisor概述 supervisor是一个 Client/Server模式的零碎,容许用户在类unix操作系统上监督和管制多个过程,或者能够说是多个程序。supervisor与launchd,daemontools,runit等程序有着雷同的性能,与其中某些程序不同的是,它并不作为“id 为 1的过程”而代替init。相同,它用于控制应用程序,像启动其它程序一样,艰深了解就是,把Supervisor服务治理的过程程序,它们作为supervisor的子过程来运行,而supervisor是父过程。supervisor来监控治理子过程的启动敞开和异样退出后的主动启动。 Supervisor组成部分1)supervisord: 服务守护过程supervisor服务器的过程名是supervisord。它次要负责在本人的调用中启动子程序,响应客户端的命令,重新启动解体或退出的过程,记录其子过程stdout和stderr的输入,以及生成和解决对应于子过程生命周期中的"event"服务器过程应用的配置文件,通常门路寄存在/etc/supervisord.confa中。此配置文件是INI格局的配置文件。2) supervisorctl:命令行客户端supervisor命令行的客户端名称是supervisorctl。它为supervisord提供了一个相似于shell的交互界面。应用supervisorctl,用户能够查看不同的supervisord过程列表,获取管制子过程的状态,如进行和启动子过程3) Web Server:提供与supervisorctl性能相当的WEB操作界面一个能够通过Web界面来查看和管制过程的状态,默认监听在9091上。4) XML-RPC Interface:XML-RPC接口supervisor用于管制的XML-RPC接口 Supervisor装置$ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) $ rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# 通过yum形式装置supervisor$ yum install -y supervisor# 开机自启动$ systemctl enable supervisord# 启动$ systemctl start supervisordSupervisor配置文件阐明[unix_http_server] file=/tmp/supervisor.sock ; socket文件的门路,supervisorctl用XML_RPC和supervisord通信就是通过它进行 的。如果不设置的话,supervisorctl也就不能用了 不设置的话,默认为none。 非必须设置 ;chmod=0700 ; 这个简略,就是批改下面的那个socket文件的权限为0700 不设置的话,默认为0700。 非必须设置;chown=nobody:nogroup ; 这个一样,批改下面的那个socket文件的属组为user.group 不设置的话,默认为启动supervisord过程的用户及属组。非必须设置;username=user ; 应用supervisorctl连贯的时候,认证的用户 不设置的话,默认为不须要用户。 非必须设置;password=123 ; 和下面的用户名对应的明码,能够间接应用明码,也能够应用SHA加密 如:{SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d 默认不设置。。。非必须设置 ;[inet_http_server] ; 侦听在TCP上的socket,Web Server和近程的supervisorctl都要用到他 不设置的话,默认为不开启。非必须设置;port=127.0.0.1:9001 ; 这个是侦听的IP和端口,侦听所有IP用 :9001或*:9001。 这个必须设置,只有下面的[inet_http_server]开启了,就必须设置它;username=user ; 这个和下面的uinx_http_server一个样。非必须设置;password=123 ; 这个也一个样。非必须设置 [supervisord] ;这个次要是定义supervisord这个服务端过程的一些参数的 这个必须设置,不设置,supervisor就不必干活了logfile=/tmp/supervisord.log ; 这个是supervisord这个主过程的日志门路,留神和子过程的日志不搭嘎。 默认门路$CWD/supervisord.log,$CWD是当前目录。。非必须设置logfile_maxbytes=50MB ; 这个是下面那个日志文件的最大的大小,当超过50M的时候,会生成一个新的日 志文件。当设置为0时,示意不限度文件大小 默认值是50M,非必须设置。 logfile_backups=10 ; 日志文件放弃的数量,下面的日志文件大于50M时,就会生成一个新文件。文件 数量大于10时,最后的老文件被新文件笼罩,文件数量将放弃为10 当设置为0时,示意不限度文件的数量。 默认状况下为10。。。非必须设置loglevel=info ; 日志级别,有critical, error, warn, info, debug, trace, or blather等 默认为info。。。非必须设置项pidfile=/tmp/supervisord.pid ; supervisord的pid文件门路。 默认为$CWD/supervisord.pid。。。非必须设置nodaemon=false ; 如果是true,supervisord过程将在前台运行 默认为false,也就是后盾以守护过程运行。。。非必须设置minfds=1024 ; 这个是起码零碎闲暇的文件描述符,低于这个值supervisor将不会启动。 零碎的文件描述符在这里设置cat /proc/sys/fs/file-max 默认状况下为1024。。。非必须设置minprocs=200 ; 最小可用的过程描述符,低于这个值supervisor也将不会失常启动。 ulimit -u这个命令,能够查看linux上面用户的最大过程数 默认为200。。。非必须设置;umask=022 ; 过程创立文件的掩码 默认为022。。非必须设置项;user=chrism ; 这个参数能够设置一个非root用户,当咱们以root用户启动supervisord之后。 我这外面设置的这个用户,也能够对supervisord进行治理 默认状况是不设置。。。非必须设置项;identifier=supervisor ; 这个参数是supervisord的标识符,次要是给XML_RPC用的。当你有多个 supervisor的时候,而且想调用XML_RPC对立治理,就须要为每个 supervisor设置不同的标识符了 默认是supervisord。。。非必须设置;directory=/tmp ; 这个参数是当supervisord作为守护过程运行的时候,设置这个参数的话,启动 supervisord过程之前,会先切换到这个目录 默认不设置。。。非必须设置;nocleanup=true ; 这个参数当为false的时候,会在supervisord过程启动的时候,把以前子过程 产生的日志文件(门路为AUTO的状况下)革除掉。有时候咱们想要看历史日志,当 然不想日志被革除了。所以能够设置为true 默认是false,有调试需要的同学能够设置为true。。。非必须设置;childlogdir=/tmp ; 当子过程日志门路为AUTO的时候,子过程日志文件的寄存门路。 默认门路是这个货色,执行上面的这个命令看看就OK了,解决的货色就默认门路 python -c "import tempfile;print tempfile.gettempdir()" 非必须设置;environment=KEY="value" ; 这个是用来设置环境变量的,supervisord在linux中启动默认继承了linux的 环境变量,在这里能够设置supervisord过程特有的其余环境变量。 supervisord启动子过程时,子过程会拷贝父过程的内存空间内容。 所以设置的 这些环境变量也会被子过程继承。 小例子:environment=name="haha",age="hehe" 默认为不设置。。。非必须设置;strip_ansi=false ; 这个选项如果设置为true,会革除子过程日志中的所有ANSI 序列。什么是ANSI 序列呢?就是咱们的\n,\t这些货色。 默认为false。。。非必须设置 ; the below section must remain in the config file for RPC; (supervisorctl/web interface) to work, additional interfaces may be; added by defining them in separate rpcinterface: sections[rpcinterface:supervisor] ;这个选项是给XML_RPC用的,当然你如果想应用supervisord或者web server 这 个选项必须要开启的supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] ;这个次要是针对supervisorctl的一些配置serverurl=unix:///tmp/supervisor.sock ; 这个是supervisorctl本地连接supervisord的时候,本地UNIX socket 门路,留神这个是和后面的[unix_http_server]对应的 默认值就是unix:///tmp/supervisor.sock。。非必须设置;serverurl=http://127.0.0.1:9001 ; 这个是supervisorctl近程连贯supervisord的时候,用到的TCP socket门路 留神这个和后面的[inet_http_server]对应 默认就是http://127.0.0.1:9001。。。非必须项 ;username=chris ; 用户名 默认空。。非必须设置;password=123 ; 明码 默认空。。非必须设置;prompt=mysupervisor ; 输出用户名明码时候的提示符 默认supervisor。。非必须设置;history_file=~/.sc_history ; 这个参数和shell中的history相似,咱们能够用高低键来查找后面执行过的命令 默认是no file的。。所以咱们想要有这种性能,必须指定一个文件。。。非 必须设置 ; The below sample program section shows all possible program subsection values,; create one or more 'real' program: sections to be able to control them under; supervisor. ;[program:theprogramname] ;这个就是咱们要治理的子过程了,":"前面的是名字,最好别乱写和理论过程 有点关联最好。这样的program咱们能够设置一个或多个,一个program就是 要被治理的一个过程;command=/bin/cat ; 这个就是咱们的要启动过程的命令门路了,能够带参数 例子:/home/test.py -a 'hehe' 有一点须要留神的是,咱们的command只能是那种在终端运行的过程,不能是 守护过程。这个想想也晓得了,比如说command=service httpd start。 httpd这个过程被linux的service治理了,咱们的supervisor再去启动这个命令 这曾经不是严格意义的子过程了。 这个是个必须设置的项;process_name=%(program_name)s ; 这个是过程名,如果咱们上面的numprocs参数为1的话,就不必管这个参数 了,它默认值%(program_name)s也就是下面的那个program冒号前面的名字, 然而如果numprocs为多个的话,那就不能这么干了。想想也晓得,不可能每个 过程都用同一个过程名吧。 ;numprocs=1 ; 启动过程的数目。当不为1时,就是过程池的概念,留神process_name的设置 默认为1 。。非必须设置;directory=/tmp ; 过程运行前,会前切换到这个目录 默认不设置。。。非必须设置;umask=022 ; 过程掩码,默认none,非必须;priority=999 ; 子过程启动敞开优先级,优先级低的,最先启动,敞开的时候最初敞开 默认值为999 。。非必须设置;autostart=true ; 如果是true的话,子过程将在supervisord启动后被主动启动 默认就是true 。。非必须设置;autorestart=unexpected ; 这个是设置子过程挂掉后主动重启的状况,有三个选项,false,unexpected 和true。如果为false的时候,无论什么状况下,都不会被重新启动, 如果为unexpected,只有当过程的退出码不在上面的exitcodes外面定义的退 出码的时候,才会被主动重启。当为true的时候,只有子过程挂掉,将会被无 条件的重启;startsecs=1 ; 这个选项是子过程启动多少秒之后,此时状态如果是running,则咱们认为启 动胜利了 默认值为1 。。非必须设置;startretries=3 ; 当过程启动失败后,最大尝试启动的次数。。当超过3次后,supervisor将把 此过程的状态置为FAIL 默认值为3 。。非必须设置;exitcodes=0,2 ; 留神和下面的的autorestart=unexpected对应。。exitcodes外面的定义的 退出码是expected的。;stopsignal=QUIT ; 过程进行信号,能够为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号 默认为TERM 。。当用设定的信号去干掉过程,退出码会被认为是expected 非必须设置;stopwaitsecs=10 ; 这个是当咱们向子过程发送stopsignal信号后,到零碎返回信息 给supervisord,所期待的最大工夫。 超过这个工夫,supervisord会向该 子过程发送一个强制kill的信号。 默认为10秒。。非必须设置;stopasgroup=false ; 这个货色次要用于,supervisord治理的子过程,这个子过程自身还有 子过程。那么咱们如果仅仅干掉supervisord的子过程的话,子过程的子过程 有可能会变成孤儿过程。所以咱们能够设置可个选项,把整个该子过程的 整个过程组都干掉。 设置为true的话,个别killasgroup也会被设置为true。 须要留神的是,该选项发送的是stop信号 默认为false。。非必须设置。。;killasgroup=false ; 这个和下面的stopasgroup相似,不过发送的是kill信号;user=chrism ; 如果supervisord是root启动,咱们在这里设置这个非root用户,能够用来 治理该program 默认不设置。。。非必须设置项;redirect_stderr=true ; 如果为true,则stderr的日志会被写入stdout日志文件中 默认为false,非必须设置;stdout_logfile=/a/path ; 子过程的stdout的日志门路,能够指定门路,AUTO,none等三个选项。 设置为none的话,将没有日志产生。设置为AUTO的话,将随机找一个中央 生成日志文件,而且当supervisord重新启动的时候,以前的日志文件会被 清空。当 redirect_stderr=true的时候,sterr也会写进这个日志文件;stdout_logfile_maxbytes=1MB ; 日志文件最大大小,和[supervisord]中定义的一样。默认为50;stdout_logfile_backups=10 ; 和[supervisord]定义的一样。默认10;stdout_capture_maxbytes=1MB ; 这个货色是设定capture管道的大小,当值不为0的时候,子过程能够从stdout 发送信息,而supervisor能够依据信息,发送相应的event。 默认为0,为0的时候表白敞开管道。。。非必须项;stdout_events_enabled=false ; 当设置为ture的时候,当子过程由stdout向文件描述符中写日志的时候,将 触发supervisord发送PROCESS_LOG_STDOUT类型的event 默认为false。。。非必须设置;stderr_logfile=/a/path ; 这个货色是设置stderr写的日志门路,当redirect_stderr=true。这个就不必 设置了,设置了也是白搭。因为它会被写入stdout_logfile的同一个文件中 默认为AUTO,也就是轻易找个地存,supervisord重启被清空。。非必须设置;stderr_logfile_maxbytes=1MB ; 这个呈现好几次了,就不反复了;stderr_logfile_backups=10 ; 这个也是;stderr_capture_maxbytes=1MB ; 这个一样,和stdout_capture一样。 默认为0,敞开状态;stderr_events_enabled=false ; 这个也是一样,默认为false;environment=A="1",B="2" ; 这个是该子过程的环境变量,和别的子过程是不共享的;serverurl=AUTO ; ; The below sample eventlistener section shows all possible; eventlistener subsection values, create one or more 'real'; eventlistener: sections to be able to handle event notifications; sent by supervisor. ;[eventlistener:theeventlistenername] ;这个货色其实和program的位置是一样的,也是suopervisor启动的子进 程,不过它干的活是订阅supervisord发送的event。他的名字就叫 listener了。咱们能够在listener外面做一系列解决,比方报警等等 楼主这两天干的活,就是弄的这玩意;command=/bin/eventlistener ; 这个和下面的program一样,示意listener的可执行文件的门路;process_name=%(program_name)s ; 这个也一样,过程名,当上面的numprocs为多个的时候,才须要。否则默认就 OK了;numprocs=1 ; 雷同的listener启动的个数;events=EVENT ; event事件的类型,也就是说,只有写在这个中央的事件类型。才会被发送 ;buffer_size=10 ; 这个是event队列缓存大小,单位不太分明,楼主猜想应该是个吧。当buffer 超过10的时候,最旧的event将会被革除,并把新的event放进去。 默认值为10。。非必须选项;directory=/tmp ; 过程执行前,会切换到这个目录下执行 默认为不切换。。。非必须;umask=022 ; 吞没,默认为none,不说了;priority=-1 ; 启动优先级,默认-1,也不扯了;autostart=true ; 是否随supervisord启动一起启动,默认true;autorestart=unexpected ; 是否主动重启,和program一个样,分true,false,unexpected等,留神 unexpected和exitcodes的关系;startsecs=1 ; 也是一样,过程启动后跑了几秒钟,才被认定为胜利启动,默认1;startretries=3 ; 失败最大尝试次数,默认3;exitcodes=0,2 ; 冀望或者说预料中的过程退出码,;stopsignal=QUIT ; 干掉过程的信号,默认为TERM,比方设置为QUIT,那么如果QUIT来干这个过程 那么会被认为是失常保护,退出码也被认为是expected中的;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10);stopasgroup=false ; send stop signal to the UNIX process group (default false);killasgroup=false ; SIGKILL the UNIX process group (def false);user=chrism ;设置普通用户,能够用来治理该listener过程。 默认为空。。非必须设置;redirect_stderr=true ; 为true的话,stderr的log会并入stdout的log外面 默认为false。。。非必须设置;stdout_logfile=/a/path ; 这个不说了,好几遍了;stdout_logfile_maxbytes=1MB ; 这个也是;stdout_logfile_backups=10 ; 这个也是;stdout_events_enabled=false ; 这个其实是错的,listener是不能发送event;stderr_logfile=/a/path ; 这个也是;stderr_logfile_maxbytes=1MB ; 这个也是;stderr_logfile_backups ; 这个不说了;stderr_events_enabled=false ; 这个也是错的,listener不能发送event;environment=A="1",B="2" ; 这个是该子过程的环境变量 默认为空。。。非必须设置;serverurl=AUTO ; override serverurl computation (childutils) ; The below sample group section shows all possible group values,; create one or more 'real' group: sections to create "heterogeneous"; process groups. ;[group:thegroupname] ;这个货色就是给programs分组,划分到组外面的program。咱们就不必一个一个去操作了 咱们能够对组名进行对立的操作。 留神:program被划分到组外面之后,就相当于原来 的配置从supervisor的配置文件里隐没了。。。supervisor只会对组进行治理,而不再 会对组外面的单个program进行治理了;programs=progname1,progname2 ; 组成员,用逗号离开 这个是个必须的设置项;priority=999 ; 优先级,绝对于组和组之间说的 默认999。。非必须选项 ; The [include] section can just contain the "files" setting. This; setting can list multiple files (separated by whitespace or; newlines). It can also contain wildcards. The filenames are; interpreted as relative to this file. Included files *cannot*; include files themselves. ;[include] ;这个货色挺有用的,当咱们要治理的过程很多的时候,写在一个文件外面 就有点大了。咱们能够把配置信息写到多个文件中,而后include过去;files = relative/directory/*.inisupervisor示例示例:基于supervisor治理elasticsearch ...

December 23, 2021 · 4 min · jiezi

关于linux:Linux环境变量配置

作者:threedayman 起源:恒生LIGHT云社区 安装程序后为了不便命令运行,通常会设置环境变量,用于零碎查找可执行命令的地址门路。上面例子将会列举常见的环境变量相干的命令。 演示零碎 CentOS查看环境变量办法1:通过export命令 [root@linuxtestb538 ~]# exportdeclare -x GUESTFISH_INIT="\\e[1;34m"declare -x GUESTFISH_OUTPUT="\\e[0m"declare -x GUESTFISH_PS1="\\[\\e[1;32m\\]><fs>\\[\\e[0;31m\\] "declare -x GUESTFISH_RESTORE="\\e[0m"declare -x HISTCONTROL="ignoredups"declare -x HISTSIZE="1000"declare -x HOME="/root"declare -x HOSTNAME="linuxtestb538"declare -x KDEDIRS="/usr"declare -x LANG="C"declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"declare -x LOGNAME="root"declare -x MAIL="/var/spool/mail/root"declare -x OLDPWDdeclare -x ORACLE_HOME="/opt/oracle/product/19c/dbhome_1"declare -x ORACLE_SID="ORCLCDB"declare -x PATH="/opt/oracle/product/19c/dbhome_1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"办法2 通过echo $PATH 命令输入以后的PATH环境变量的值。 [root@linuxtestb538 ~]# echo $PATH/opt/oracle/product/19c/dbhome_1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin配置环境变量依照影响范畴分能够分为 对以后session无效。对以后用户无效对所有用户无效上面咱们已须要增加 Oracle数据库的环境变量 /opt/oracle/product/19c/dbhome_1/bin为例进行演示阐明 1.export PATHexport PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH失效工夫:立马失效失效范畴:以后session失效用户:仅对用户下失效2. vim ~/.bashrcvim ~/.bashrc# 在最初加上export PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH失效工夫:创立新的session,或者通过source ~/.bashrc失效失效范畴:永恒无效失效用户:仅对用户下失效3.vim ~/.bash_profilevim ~/.bash_profile# 在最初一行加上export PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH失效工夫:创立新的session,或者通过source ~/.bash_profile失效失效范畴:永恒无效失效用户:仅对用户下失效4.vim /etc/bashrcvim /etc/bashrc# 在最初一行加上export PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH失效工夫:创立新的session,或者通过source /etc/bashrc失效失效范畴:永恒无效失效用户:对所有用户失效5.vim /etc/profile vim /etc/profile# 在最初一行加上export PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH失效工夫:创立新的session,或者通过source /etc/profile失效失效范畴:永恒无效失效用户:对所有用户失效通过以上例子,疾速给大家解说了下,查看和设置环境变量的形式。当前再也不怕零碎中短少环境变量导致命令找不到的问题了。 ...

December 23, 2021 · 1 min · jiezi

关于linux:Linux云计算有那么难学吗Linux入门篇系统常用函数的调用方法大全

December 23, 2021 · 0 min · jiezi

关于linux:Linux之head命令

head 命令可用于查看文件的结尾局部的内容,有一个罕用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。如果提供了多个文件名,则每个文件中的数据都以其文件名结尾。命令格局head [参数]... [文件]... 命令性能head 用来显示档案的结尾至规范输入中,默认head命令打印其相应文件的结尾10行。命令参数-q 暗藏文件名,在多个文件名的状况下无效-v 显示文件名-c N 从头显示N字节的内容-n N 从头显示N行显示文件的前10行> head -n 10 1.txt显示文件的前10个字节> head -c 10 1.txt显示从文件头到倒数第N个字符的内容N=-2 也就是除了文件开端的两个字符不显示,其余都显示> head -c -2 1.txt> 同时查看多个文件//默认会显示文件名> head -n 5 1.txt 2.txt==> 1.txt <==vvvccc123 9090asd 123123 444 99==> 2.txt <==入门小站rumenz同时查看多个文件,不显示文件名> head -n 5 -q 1.txt 2.txthead -n 5 -q 1.txt 2.txt vvvccc123 9090asd 123123 444 99入门小站rumenz显示从文件结尾到倒数第N行的内容> head -n -5 1.txthead输入文件M和N行之间的打印行(M>N)输入文件第10(N=10)行到第20(M=20)行的内容> head -n 20 1.txt | tail -10输入当前目录下最近应用的3个文件> ls -t | head -n 3原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 23, 2021 · 1 min · jiezi

关于linux:转载盘点|2021年最受欢迎Linux桌面操作系统前十名

原文链接: 盘点|2021年最受欢迎Linux桌面操作系统前十名-阿里云开发者社区 (aliyun.com) 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 简介: 依据各操作系统镜像站后盾下载量,阿里云镜像站统计了2021年最受欢迎的Linux桌面操作系统,仅依据调用量排名,供大家参考。排位最高的还是Centos,受中国Linux用户欢送的Ubuntu、Debian均进入了前十,国内的优麒麟操作系统排在第7位。 阿里云开源镜像站利用云服务上的劣势,提供疾速、稳固的镜像散发服务、和收费的CDN减速服务。更新频率高,基本上一天一更新,对于Centos/Ubuntu/pypi等外围仓库2小时一更新。开源镜像站每天承载着几亿的下载量,为千万的开发者继续提供不间断的服务。依据各操作系统镜像站后盾下载量,阿里云镜像站统计了2021年最受欢迎的Linux桌面操作系统,仅依据调用量排名,供大家参考。排位最高的还是Centos,受中国Linux用户欢送的Ubuntu、Debian均进入了前十,国内的优麒麟操作系统排在第7位。 1. CentOSCentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux按照凋谢源代码规定释出的源代码所编译而成。因为出自同样的源代码,因而有些要求高度稳定性的服务器以CentOS代替商业版的Red Hat Enterprise Linux应用。两者的不同,在于CentOS并不蕴含关闭源代码软件。CentOS操作系统便是将红帽企业版零碎中免费性能统统去掉,而后将新零碎从新编译后公布给用户收费应用的Linux零碎,具备宽泛的应用人群。 赫赫有名的<鸟哥的Linux私房菜>就是以CentOS为底本撰写的,CentOS相对来说稳固、平安,从可靠性、硬件兼容性、生命周期这三个角度来看Redhat要比Debian更胜一筹,而作为Redhat的克隆版CentOS也是较好的服务器抉择。 CentOS 领有 Yum 软件包管理器,它能轻易地解决软件的装置,降级,删除等工作。例如以后 CentOS 中理论的组件,包含内核和所有工具等来自发行版软件库:Base, Extras, Updates。 镜像下载地址:https://developer.aliyun.com/... 2. Ubuntu一个残缺的桌面 Linux 操作系统,收费提供比其余发行版更大的社区反对。Ubuntu 社区基于 Ubuntu 宣言中的理念:软件应该是收费的,软件工具应该应用用户的当地语言,人们应该能够自在定制和以他们认为适合的任何形式扭转他们的软件。 它领有丑陋的 UI 界面,跟 macOS 相比也有过之而无不及,而当你试过这款操作系统之后,可能会对 Linux 刻板干燥的印象产生微小的扭转。在 Ubuntu 的世界里,曾经不再只是简陋的界面+命令行,而是一款富丽时尚且无比实用的操作系统。对大多数没接触过 Linux 而又想尝鲜或学习一下的话。作为最热门的发行版之一,它领有十分弱小成熟的社区,资源、教程、探讨都十分全面。对公司企业而言,它是作为服务器的超级热门之选;对集体而言,Ubuntu 桌面版的实用性和可玩性也都十分的高。 最新版的 Ubuntu 已对「树莓派 4」进行了全面的优化,树莓派 4GB 或 8GB 内存版本将取得 Ubuntu 桌面的残缺反对。换句话说,当初除了在服务器、PC 台式机、笔记本、虚构机上安装以外,你还能够在玲珑迷你的树莓派上装置运行 Ubuntu! 镜像下载地址:https://developer.aliyun.com/... 3. Kali LinuxKali 是一个基于 Debian 的 Linux 发行版。它的指标就是为了简略:在一个实用的工具包里尽可能多的蕴含浸透和审计工具。大多数做平安测试的开源工具都被囊括在内。 Kali 是一个专为浸透测试或黑客波及的 Linux 发行版,它是平安公司 Offensive Security 的作品。从历史上看,它能够追溯到基于 Knoppix 的数字取证和浸透测试发行版 BackTrack。Kali 就是一个平安工具,它有像 NMap 和 Wireskark 这样的经典信息采集工具;也有面向 WiFi 的工具,像 Aircrack-ng、Kismet、以及 Pixie; ...

December 23, 2021 · 2 min · jiezi

关于linux:linux客户端ftp登陆成功之后ls卡死

问题linux 客户端登陆FTP胜利后 呈现ls卡死问题,然而windows应用FileZilla客户端失常。代码如下331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls227 Entering Passive Mode (172,41,38,5,234,120).^Creceive abortedwaiting for remote to finish abort剖析从上述能够看出,输出ls命令之后,ftp进入被动模式,而后前面一串数字(172,41,38,5,234,120),是ftp服务器返回的ip 与端口。前四位示意ip,最初两位是端口,端口示意规定为234*256+120=60024,所以服务器返回的是172.41.38.5:60024。显著是个内网IP,此时应该判断客户端是否拜访到这个内网IP。上述例子是拜访不到。 解决批改 ftp服务器配置/etc/vsftpd/vsftpd.conflisten=YESlisten_ipv6=NOpasv_address=公网IP重启失效service vsftpd restart参考链接 :[记一次 ftp 能够失常登录,然而输出ls dir 命令卡死的问题](https://blog.csdn.net/qq_3878...)

December 23, 2021 · 1 min · jiezi

关于linux:CentOS-添加永久静态路由的方法总结

请拜访原文链接:https://sysin.org/blog/centos...,查看最新版。原创作品,转载请保留出处。 作者:gc(at)sysin.org,主页:www.sysin.org 在日常应用中,服务器有两个 IP 地址,两块网卡的配置,拜访不同网段,这种状况很常见。但咱们须要创立额定的路由条目,以确定通过正确的网关转发数据包,使 interface 可能失常通信。 以下在 CentOS 7、8 测试通过 一、应用 route 命令退出长期路由,重启后将生效route 命令参数: add 减少路由del 删除路由-net 设置到某个网段的路由-host 设置到某台主机的路由gw 进口网关 IP 地址dev 进口网关 物理设施名# 退出到主机的路由route add -host 192.168.1.123 dev eth0route add -host 192.168.1.123 gw 192.168.1.1# 退出到网络的路由route add -net 192.168.1.123 netmask 255.255.255.0 eth0route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1 eth1route add -net 192.168.1.0/24 eth1# 退出默认网关route add default gw 192.168.1.1# 删除路由route del -host 192.168.1.11 dev eth0route del -net 192.168.1.123 netmask 255.255.255.0# 查看路由信息ip routeroute -n二、在 Linux 中增加永恒路由的办法1. 默认网关(1)写入 ifcfg 文件(举荐) ...

December 22, 2021 · 2 min · jiezi

关于linux:Linux之more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的形式按页显示文本文件的内容,反对vi中的关键字定位操作。more名单中内置了若干快捷键,罕用的有H(取得帮忙信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。命令格局more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 命令性能more命令和cat的性能相似都是查看文件里的内容,然而所有不同的是more是按页来查看文件的内容,还反对间接跳转行等性能。命令参数- +n 从第n行开始显示。- -n 定义屏幕大小为n行。- +/pattern 在每个档案显示前搜查该字串(pattern),而后从该字串前两行之后开始显示- -c 从顶部清屏,而后显示- -d 提醒“Press space to continue,’q’ to quit(按空格键持续,按q键退出)”,禁用响铃性能- -l 疏忽Ctrl+l(换页)字符。- -p 通过清屏的模式来换页,与-c选项相似。- -s 把间断的多个空行显示为一行。- -u 把文件中的下划线去掉。罕用操作命令。Enter 向下n行,须要定义。默认为1行Ctrl+F 向下滚动一屏空格键 向下滚动一屏Ctrl+B 返回上一屏= 输入以后行的行号:f 输入文件名和以后行的行号V 调用vi编辑器!命令 调用Shell,并执行命令 q 退出more显示文件中从第3行起的内容> more +3 rumenz.txt从文件中查找第一个呈现3333字符串的行,并从前两行开始显示> more +/3333 rumenz.txt设定每屏显示5行> more -5 rumenz.txt列一个目录下的文件,内容太多,能够应用more来分页显示> ls -l | more -5原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 21, 2021 · 1 min · jiezi

关于linux:一文说清linux-system-load

简介:双十一压测过程中,常见的问题之一就是load 飙高,通常这个时候业务上都有受影响,比方服务rt飙高,比方机器无奈登录,比方机器上执行命令hang住等等。本文就来说说,什么是load,load是怎么计算的,什么状况下load 会飙高,load飙高是不是必然业务受影响。 作者 | 蒋冲起源 | 阿里技术公众号 双十一压测过程中,常见的问题之一就是load 飙高,通常这个时候业务上都有受影响,比方服务rt飙高,比方机器无奈登录,比方机器上执行命令hang住等等。本文就来说说,什么是load,load是怎么计算的,什么状况下load 会飙高,load飙高是不是必然业务受影响。 一 什么是load咱们平时所讲的load,其全称是Linux system load averages ,即linux零碎负载平均值。留神两个关键词:一个是“负载”,它掂量的是task(linux 内核中用于形容一个过程或者线程)对系统的需要(CPU、内存、IO等等),第二个关键词是“均匀”,它计算的是一段时间内的平均值,别离为 1、5 和 15 分钟值。system load average由内核负载计算并记录在/proc/loadavg 文件中, 用户态的工具(比方uptime,top等等)读的都是这个文件。 咱们个别认为: 如果load靠近0,意味着零碎处于闲暇状态如果 1min 平均值高于 5min 或 15min 平均值,则负载正在减少如果 1min 平均值低于 5min 或 15min 平均值,则负载正在缩小如果它们高于零碎 CPU 的数量,那么零碎很可能遇到了性能问题(视状况而定)二 如何计算load1 外围算法坦率了不装了,外围算法其实就是指数加权挪动平均法(Exponential Weighted Moving Average,EMWA),简略示意就是: a1 = a0 factor + a (1 - factor),其中a0是上一时刻的值,a1是以后时刻的值,factor是一个系数,取值范畴是[0,1],a是以后时刻的某个指标采样值。 为什么要采纳指数挪动加权平均法?我集体了解 1、指数挪动加权平均法,是指各数值的加权系数随工夫呈指数式递加,越凑近以后时刻的数值加权系数就越大,更能反映近期变动的趋势; 2、计算时不须要保留过来所有的数值,这对内核十分重要。 咱们来看看,内核是怎么计算load average的,以下简称load。 下面的指数挪动均匀公式,a1 = a0 e + a (1 - e),具体到linux load的计算,a0是上一时刻的load,a1是以后时刻的load,e是一个常量系数,a 是以后时刻的active的过程/线程数量。 ...

December 20, 2021 · 2 min · jiezi

关于linux:Bash-常用脚本片段

获取一些罕用变量:# 获取以后脚本所在目录SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )# 获取以后脚本的文件名SCRIPT_NAME=$( basename "$0" )# 在 $DIR 中搜寻第一个 jar 文件的名字JAR_FILE=$(find $DIR -maxdepth 1 -type f -name "*.jar" | head -1)一些罕用的判断:# 判断变量是否为空if [ -z "$VAR" ]; then echo "\$VAR is empty"else echo "\$VAR is $VAR"fi# 判断门路是否存在if [ -d "$PATH" ]; then echo "File $PATH exists"else echo "File $PATH not found"fi# 判断以后用户是否是 rootif [ "${EUID:-$(id -u)}" -eq 0 ]; then do_root_stufffi# 判断 docker 命令是否执行if ! command -v docker &> /dev/null; then echo "以后零碎不能运行 docker 命令"fi依据命令中的关键字搜寻过程ID# set pid=$(get_pid "some-service-name")get_pid() { SERVICE_NAME=$1 PID=$(ps aux | grep "[${SERVICE_NAME:0:1}]${SERVICE_NAME:1}" | awk '{print $2}') echo "$PID"}解析并查问命令行参数的通用办法这段脚本十分有用,你只有在你的脚本结尾加上上面的内容,就能以 --param value 的格局解析参数。这段脚本尽可能写的短小不占空间,所以格局方面,要求所有的参数都有值,例如不承受无参数的 --daemon,而必须传 --daemon true。 ...

December 20, 2021 · 1 min · jiezi

关于linux:Linux之nl命令

nl命令在Linux零碎中用来计算文件的行号,是 number of lines 的缩写。nl能够将输入的文件主动加上行号!其默认的后果与cat -n有点不太一样,nl能够自定义行号显示成果,包含位数和主动补全0。命令格局nl [选项]... [文件]... 命令参数 绿框标注的就是显示栏,默认占6位。-b a 无论是否是空行都列出行号-b t 空行不列出行号(默认)。-n ln 行号在显示栏的最右边显示。-n rn 行号在显示栏的最左边显示,不填充0。-n rz 行号在显示栏的最左边显示(默认)。-w 行号显示栏占用的位数,(默认是6位)。-p 在逻辑定界符处不从新开始计算命令性能nl 命令读取 File 参数(缺省状况下规范输出),计算输出中的行号,将计算过的行号写入规范输入。 在输入中,nl 命令依据您在命令行中指定的标记来计算右边的行。 输出文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(能够有空节)。 除非应用 -p 标记,nl 命令在每个逻辑页开始的中央从新设置行号。 能够独自为头、主体和页脚节设置行计算标记(例如,头和页脚行能够被计算然而文本行不能)。用nl列出rumenz.txt的行号> nl rumenz.txt 1 入门小站 2 rumenz 3 ping 4 入门文件中有空行,默认不加行号用nl列出rumenz.txt的行号,包含空行> nl -b a rumenz.txt 1 入门小站 2 3 rumenz 4 5 ping 6 7 入门行号后面填充0> nl -b a -n rz rumenz.txt000001 入门小站000002000003 rumenz000004000005 ping000006000007 入门默认成果是占6位行号显示栏占3位,并且填充0> nl -b a -n rz -w 3 rumenz.txt001 入门小站002003 rumenz004005 ping006007 入门应用定制的编号分隔符> nl -s :: rumenz.txt 1::入门小站 2::rumenz 3::ping 4::入门原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 20, 2021 · 1 min · jiezi

关于linux:是的我们又获奖了

喜事连连!优麒麟在取得中国信息通信研究院颁发的“可信开源我的项目”评估证书之后,再获“优良开源翻新企业”、“2021 年度 OSCHINA 优良技术团队”名称。 “优良开源翻新企业” “优良开源翻新企业”评比由中国开源云联盟组织发展,其目标是推动国内开源生态产业倒退,从贡献者、我的项目、利用案例、企业四个维度综合评比得出。优麒麟是由麒麟软件有限公司主导开发的寰球开源我的项目,通过投票、问难、专家评审,最终荣获中国开源云联盟授予的“2021 优良开源翻新企业”名称。 “2021年度OSCHINA优良技术团队” “2021 年度 OSCHINA 优良技术团队”由 OSCHINA 开源技术社区评比颁发。在综合评估优麒麟社区经营活跃度、技术文章产出品质等多方面的维度后,为优麒麟颁发了“2021 年度 OSCHINA 优良技术团队”奖项。 此番获奖不仅是优麒麟社区的荣誉,也是整体社区成员的独特荣誉,是大家共同努力的后果,促使优麒麟社区蓬勃发展。将来,优麒麟将在营造良好开源生态和技术倒退方面继续致力,也期待越来越多的爱好者参加进来,为建设开源、奉献开源添砖加瓦! 优麒麟社区自 2013 年成立以来,已累计发行 20 个版本,下载量超过 3800 万次,向开源社区奉献代码数百万行,被 Linux、Debian、Ubuntu、OpenStack、Ceph 等国内开源社区接管的 patch 超过 7400 个,在寰球范畴内领有 数十万 沉闷用户。 其 UKUI 等外围组件更是被 Debian、ArchLinux、Ubuntu、openSUSE、Manjaro、Fedora、openEuler、SparkyLinux、Gentoo 等 9 款国内外支流 Linux 发行版仓库收录。同时优麒麟也是寰球首个反对 ARM 桌面的开源操作系统发行版,也是惟一受邀退出 Linaro 社区的中国操作系统团队,在 Linux 赛道上,优麒麟也是处于第一梯队,目前曾经累计在寰球 30+ 城市、50+ 大学举办 100+ 场线下流动,造就数万 Linux 人才。

December 20, 2021 · 1 min · jiezi

关于linux:Linux之cat命令

cat命令的用处是连贯文件或者规范输出并打印。这个命令罕用来显示文件内容,或者将几个文件拼接起来显示,或者从规范输出读取内容并显示,它常与重定向符号配合应用。命令格局cat [选项] [文件]... 命令的性能读取显示整个文件 cat filename从键盘读取输出到文件cat > 1.txt将多个文件合并成一个文件cat 1.txt 2.txt > 3.txt命令参数-A, --show-all 等价于 -vET-b, --number-nonblank 对非空输入行编号-e 等价于 -vE-E, --show-ends 在每行完结处显示 $-n, --number 对输入的所有行编号,由1开始对所有输入的行数编号-s, --squeeze-blank 有间断两行以上的空白行,就代换为一行的空白行-t 与 -vT 等价-T, --show-tabs 将跳格字符显示为 ^I-u (被疏忽)-v, --show-nonprinting 应用 ^ 和 M- 援用,除了 LFD 和 TAB 之外将1.txt的内容加上行号输出到2.txt>cat 1.txt入门小站rumenz.comrumenz12334599993333> cat -n 1.txt > 2.txt>cat 2.txt 1 入门小站 2 3 rumenz.com 4 rumenz 5 6 123 7 345 8 9 10 9999 11 12 3333将1.txt的内容(空白行不加行号)输出到2.txt> cat -b 1.txt > 2.txt> cat 2.txt 1 入门小站 2 rumenz.com 3 rumenz 4 123 5 345 6 9999 7 3333应用here doc来生成文件cat > 3.txt <<EOF> 入门小站> rumenz> rumenz.com> > > `date`> EOF> cat 3.txt入门小站rumenzrumenz.comThu Feb 4 23:40:09 CST 2021同时显示多个文件的内容> cat 1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 19, 2021 · 1 min · jiezi

关于linux:Linux-IO性能分析

索引节点和目录项文件系统,自身是对存储设备上的文件,进行组织治理的机制。组织形式不同,就会造成不同的文件系统。你要记住最重要的一点,在 Linux 中所有皆文件。不仅一般的文件和目录,就连块设施、套接字、管道等,也都要通过对立的文件系统来治理。Linux 文件系统为每个文件都调配两个数据结构,索引节点(index node)和目录项(directory entry)。它们次要用来记录文件的元信息和目录构造 索引节点,简称为 inode,用来记录文件的元数据,比方 inode 编号、文件大小、拜访权限、批改日期、数据的地位等。索引节点和文件一一对应,它跟文件内容一样,都会被长久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间。目录项,简称为 dentry,用来记录文件的名字、索引节点指针以及与其余目录项的关联关系。多个关联的目录项,就形成了文件系统的目录构造。不过,不同于索引节点,目录项是由内核保护的一个内存数据结构,所以通常也被叫做目录项缓存。换句话说,索引节点是每个文件的惟一标记,而目录项保护的正是文件系统的树状构造。目录项和索引节点的关系是多对一,你能够简略了解为,一个文件能够有多个别名。举个例子,通过硬链接为文件创建的别名,就会对应不同的目录项,不过这些目录项实质上还是链接同一个文件,所以,它们的索引节点雷同。索引节点和目录项纪录了文件的元数据,以及文件间的目录关系,那么具体来说,文件数据到底是怎么存储的呢?是不是间接写到磁盘中就好了呢?实际上,磁盘读写的最小单位是扇区,然而扇区只有 512B 大小,如果每次都读写这么小的单位,效率肯定很低。所以,文件系统又把间断的扇区组成了逻辑块,而后每次都以逻辑块为最小单元,来治理数据。常见的逻辑块大小为 4KB,也就是由间断的 8 个扇区组成。 目录项自身就是一个内存缓存,而索引节点则是存储在磁盘中的数据。在后面的 Buffer 和 Cache 原理中,我已经提到过,为了协调慢速磁盘与疾速 CPU 的性能差别,文件内容会缓存到页缓存 Cache 中磁盘在执行文件系统格式化时,会被分成三个存储区域,超级块、索引节点区和数据块区。其中,超级块,存储整个文件系统的状态。索引节点区,用来存储索引节点。数据块区,则用来存储文件数据。内核应用 Slab 机制,治理目录项和索引节点的缓存。/proc/meminfo 只给出了 Slab 的整体大小,具体到每一种 Slab 缓存,还要查看 /proc/slabinfo 这个文件查看所有目录项和各种文件系统索引节点的缓存状况 [root@VM-4-5-centos lighthouse]# cat /proc/slabinfo | grep -E '^#|dentry|inode'# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>isofs_inode_cache 46 46 704 23 4 : tunables 0 0 0 : slabdata 2 2 0ext4_inode_cache 4644 4644 1176 27 8 : tunables 0 0 0 : slabdata 172 172 0jbd2_inode 128 128 64 64 1 : tunables 0 0 0 : slabdata 2 2 0mqueue_inode_cache 16 16 1024 16 4 : tunables 0 0 0 : slabdata 1 1 0hugetlbfs_inode_cache 24 24 680 12 2 : tunables 0 0 0 : slabdata 2 2 0inotify_inode_mark 102 102 80 51 1 : tunables 0 0 0 : slabdata 2 2 0sock_inode_cache 253 253 704 23 4 : tunables 0 0 0 : slabdata 11 11 0proc_inode_cache 3168 3322 728 22 4 : tunables 0 0 0 : slabdata 151 151 0shmem_inode_cache 882 882 768 21 4 : tunables 0 0 0 : slabdata 42 42 0inode_cache 14688 14748 656 12 2 : tunables 0 0 0 : slabdata 1229 1229 0dentry 27531 27531 192 21 1 : tunables 0 0 0 : slabdata 1311 1311 0selinux_inode_security 16626 16626 40 102 1 : tunables 0 0 0 : slabdata 163 163 0dentry 行示意目录项缓存,inode_cache 行,示意 VFS 索引节点缓存,其余的则是各种文件系统的索引节点缓存。在理论性能剖析中,咱们更常应用 slabtop ,来找到占用内存最多的缓存类型 ...

December 18, 2021 · 3 min · jiezi

关于linux:自动化集成Jenkins管理工具详解

前言:该系列文章,围绕继续集成:Jenkins+Docker+K8S相干组件,实现自动化治理源码编译、打包、镜像构建、部署等操作;本篇文章次要形容Jenkins根底用法。 一、Jenkins装置1、环境部署下载Jenkins包 留神这里间接下载war文件,以Java服务的模式启动。 环境:war运行版本:2.289.3类型:Generic Java package (.war)启动命令 java -jar jenkins.war --httpPort=8090启动日志 Jenkins is fully up and running拜访本地端口:8090 该页面会提醒初始登录明码的地位,查看该文件中初始密码,并实现登录。 /.jenkins/secrets/initialAdminPassword装置举荐插件 登录之后先把举荐的插件装上。 创立用户 插件装置实现之后会提醒创立用户。 账号:admin 明码:admin这样初始化实现。 重新启动:restart Jenkins_url/restart2、配置与插件根底配置 关上:Manage-Jenkins选项,配置Global-Tool-Configuration选项: - 查看JDK装置目录/usr/libexec/java_home -V- 查看Git装置目录which git- 查看Maven装置目录mvn -v配置组件:JDK、Git、Maven,采纳开发环境的组件版本; 插件装置 装置如下插件: 1、Maven插件Maven Integration plugin2、Pipeline插件Pipeline Utility Steps二、本地Git打包简介:基于Jenkins实现本地的Git仓库我的项目打包; 1、新建Item 工作名称:MavLoc,解决本地maven工程;工作类型:抉择构建maven我的项目;2、构建记录治理 放弃构建的天数:3天,放弃构建的最大个数:10个; 3、构建过程前置Pre-Steps步骤,这里执行一次maven版本查看: 构建Build步骤,这里间接写我的项目的pom门路,留神执行的maven命令: clean package -Dmaven.test.skip=true后置Post Steps步骤,留神抉择构建胜利后才执行,自行疏忽这里shell语法的不入流组合: #!/bin/bashBUILD_ID=dontKillMe# 定义目录AUTO_PATH=/我的项目门路/butte-auto-parent/# 挪动Jar包cd $AUTO_PATH/auto-client/target/pwdmv auto-client-1.0-SNAPSHOT.jar $AUTO_PATHcd $AUTO_PATH/auto-serve/target/pwdmv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH# 启动服务cd $AUTO_PATHnohup java -jar auto-client-1.0-SNAPSHOT.jar &echo "run auto-client ..."sleep 20snohup java -jar auto-serve-1.0-SNAPSHOT.jar &echo "run auto-serve ..."4、执行构建上述配置实现后,关上工作页面,执行如下操作: ...

December 18, 2021 · 1 min · jiezi

关于linux:Linux之touch命令

touch用来创立文件,用来批改文件的工夫戳。命令格局touch [选项]... 文件... 命令参数-a 或--time=atime或--time=access或--time=use 只更改存取时间。-c 或--no-create 不建设任何文档。-d 应用指定的日期工夫,而非当初的工夫。-f 此参数将疏忽不予解决,仅负责解决BSD版本touch指令的兼容性问题。-m 或--time=mtime或--time=modify 只更改变动工夫。-r 把指定文档或目录的日期工夫,通通设成和参考文档或目录的日期工夫雷同。-t 应用指定的日期工夫,而非当初的工夫。命令性能touch命令参数可更改文档或目录的日期工夫,包含存取时间和更改工夫。创立不存在的目录创立一个1.txt文件> touch 1.txt 同时创立2.txt 3.txt文件> touch 2.txt 3.txt将5.txt的Access,Modify工夫改成和1.txt一样> touch -r 1.txt 5.txt> ls -rw-r--r-- 1 root root 0 Feb 3 23:17 1.txt-rw-r--r-- 1 root root 0 Feb 3 23:17 5.txt批量创立有法则的文件创立file1.txt file2.txt .... file10.txt> touch file{1..10}.txt创立文件并指定文件的工夫戳> touch -t 202102031111 3.txt> ls -al-rw-r--r-- 1 root root 0 Feb 3 11:11 3.txt将5.txt的工夫改成2天前> ls -al 5.txt-rw-r--r-- 1 root root 0 Feb 3 23:17 5.txt> touch -d "2 days ago" 5.txt> ls -al 5.txt> ls-rw-r--r-- 1 root root 0 Feb 1 23:29 5.txt只批改1.txt的Modify和Change的工夫> stat 1.txt File: ‘1.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 101371574 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:10.462066771 +0800Change: 2021-02-03 23:40:10.462066771 +0800 Birth: -> touch -m 1.txt> stat 1.txtstat 1.txt File: ‘1.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 101371574 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:53.068649293 +0800Change: 2021-02-03 23:40:53.068649293 +0800 Birth: -为什么linux 创立文件是touch 而不是createtouch — change file access and modification times (BSD)touch — change file timestamps (GNU)touch的作用原本不是创立文件,而是将指定文件的批改工夫设置为以后工夫。就是伪装“碰”(touch)了一下这个文件,伪装文件被“批改”了,于是文件的批改工夫就是被设置为以后工夫。这带来了一个副作用,就是当touch一个不存在的文件的时候,它会创立这个文件。而后,因为touch曾经能够实现创立文件的性能了,就不再须要一个独自的create了。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 18, 2021 · 1 min · jiezi

关于linux:Linux之cp命令

cp命令 用来将一个或多个源文件或者目录复制到指定的目标文件或目录。它能够将单个源文件复制成一个指定文件名的具体的文件或一个曾经存在的目录下。cp命令还反对同时复制多个文件,当一次复制多个文件时,指标文件参数必须是一个曾经存在的目录,否则将呈现谬误。这阐明命令行和shell脚本的执行形式有些不同。命令格局cp [选项] 源 目标 或 cp [选项] -t 目录 源 命令性能将源文件复制至指标文件,或将多个源文件复制至目标目录。命令参数-a:此参数的成果和同时指定"-dpR"参数雷同;-d:当复制符号连贯时,把指标文件或目录也建设为符号连贯,并指向与源文件或目录连贯的原始文件或目录;-f:强行复制文件或目录,不管指标文件或目录是否已存在;-i:笼罩既有文件之前先询问用户;-l:对源文件建设硬连贯,而非复制文件;-p:保留源文件或目录的属性;-R/r:递归解决,将指定目录下的所有文件与子目录一并处理;-s:对源文件建设符号连贯,而非复制文件;-u:应用这项参数后只会在源文件的更改工夫较指标文件更新时或是名称互相对应的指标文件并不存在时,才复制文件;-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;-b:笼罩已存在的文件指标前将指标文件备份;-v:具体显示命令执行的操作。复制单个文件到目标目录,文件在指标文件中不存在两个文件的工夫一样> cp 1.txt rumenz两个文件的工夫一样> cp -a 1.txt rumenz指标文件存在,会询问是否笼罩> cp 1.txt rumenz/cp: overwrite ‘rumenz/1.txt’? y复制整个目录> cp -a rumenz/ rumenzz或> cp -r rumenz/ rumenzz 目标目录存在时,整个源目录被复制到目标目录外面复制的 1.txt 建设一个连结档 1_link.txt> cp -s 1.txt 1_link.txt> ls -al1_link.txt -> 1.txt复制某个目录下所有的文件到其它目录> cp rumenz/* /tmp复制多个文件到某个目录> cp -t rumenz 1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 17, 2021 · 1 min · jiezi

关于linux:CentOS8-安装-JDK

1 下载最新版本下载地址http://www.oracle.com/technet...历史版本下载地址http://www.oracle.com/technet...2 装置将文件下载到/opt/src目录下 [root@test ~]# cd /opt/src[root@test src]# tar -zxvf jdk-8u301-linux-x64.tar.gz -C /opt/3 配置环境变量[root@pre ~]# vim /etc/profile在文本的最初一行粘贴 #java environmentexport JAVA_HOME=/opt/jdk1.8.0_301export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin4 配置失效,测试设置配置失效 [root@pre ~]# source /etc/profile测试 java -version

December 16, 2021 · 1 min · jiezi

关于linux:CentOS8-安装-Redis

1 下载Redis官网下载地址:http://redis.io/download,下载最新稳固版本。 2 装置#下载并解压安装包[root@test ~]# cd /opt/src[root@test src]# wget https://download.redis.io/releases/redis-6.2.5.tar.gz[root@test src]# tar -zxvf redis-6.2.5.tar.gz -C /opt[root@test src]# cd /opt/redis-6.2.5#编译[root@test redis-6.2.5]# make#装置并指定装置目录[root@test redis-6.2.5]# make install PREFIX=/opt/redis 3 启动服务3.1前台启动[root@test ~]# cd /opt/redis/bin[root@test bin]# ./redis-server3.2 后盾启动#从 redis 的源码目录中复制 redis.conf 到 redis 的装置目录[root@test redis-6.2.5]# cp /opt/redis-6.2.5/redis.conf /opt/redis/bin/#批改 redis.conf 文件#将 requirepass foobared 后面的正文去掉,改成你的明码,如 requirepass 123456#将 daemonize no 改为 daemonize yes#启动[root@test bin]# ./redis-server redis.conf3.3 设置开机启动[root@test bin]# systemctl daemon-reload[root@test bin]# systemctl start redis.service[root@test bin]# systemctl enable redis.service创立 redis 命令软链接 ...

December 16, 2021 · 1 min · jiezi

关于linux:CentOS8-修改主机名

1 查看主机名$ hostname2 批改主机名$ hostnamectl set-hostname 主机名$ hostnamectl set-hostname mycomputer

December 16, 2021 · 1 min · jiezi

关于linux:Linux之mv命令

mv是move的缩写,能够用来挪动文件或者重命名文件名,常常用来备份文件或者目录。命令格局mv [选项] 源文件或者目录 指标文件或者目录 命令性能mv命令中第二个参数类型的不同(是指标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令实现文件重命名,此时,源文件只能有一个(也能够是源目录名),它将所给的源文件或目录重命名为给定的指标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数能够有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统挪动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将失落。> touch 1.txt 3.txt 4.txt 5.txt> mkdir rumenz test├── 1.txt└── rumenz命令参数选项你能够写在任意地位-b 如果已存在雷同文件名,则笼罩前进行备份-f 如果已存在雷同文件名,而用户不具备写的权限,则强制笼罩-i 如果已存在雷同文件名,笼罩前提醒用户进行确认-u 比拟原文件与指标文件批改工夫,如果指标文件较新则不笼罩-v 列出所有被挪动或重命名的文件-t --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项实用于挪动多个源文件到一个目录的状况,此时目标目录在前,源文件在后。文件改名将1.txt改成2.txtmv 1.txt 2.txt 挪动文件将2.txt挪动到rumenz目录> mv 2.txt rumenz/将3.txt 4.txt 5.txt挪动到rumenz> mv 3.txt 4.txt 5.txt rumenz/将3.txt 4.txt 5.txt挪动到rumenz> mv -t rumenz/ 3.txt 4.txt 5.txtmv 3.txt 4.txt 5.txt rumenz/命令将3.txt 4.txt 5.txt三个文件移到 test3目录中去,mv -t rumenz/ 3.txt 4.txt 5.txt命令又将三个文件挪动到rumenz目录中去。将3.txt改名为4.txt,4.txt曾经存在则给出提醒> mv -i 3.txt 4.txt> mv: overwrite ‘4.txt’? y> ls4.txt 5.txt将4.txt强行改名为5.txt,没有提醒> mv -f 4.txt 5.txt> ls5.txt 把当前目录下rumenz目录下所有的文件挪动到test目录> mv rumenz/* test/把当前目录下rumenz目录下所有的.txt文件挪动到test目录> mv rumenz/*.txt test/挪动目录> mv rumenz/ test/挪动当前目录下所有的文件到上一级目录> mv * ../文件被笼罩前做简略备份,后面加参数-b> tree .├── 4.txt└── 5.txt> mv 4.txt -b 5.txtmv: overwrite ‘5.txt’? y>ls> 5.txt 5.txt~5.txt~为备份文件原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 16, 2021 · 1 min · jiezi

关于linux:大咖云集闭门畅谈-2021-CLSF-大会圆满落幕

2021年12月14-15日,由麒麟软件有限公司承办的 CLSF(China Linux Storage, Memory Management & File System Workshop)大会胜利举办,本次会议邀请了 Linux Kernel 社区国内沉闷开发者和 Maintainer,分享其在各自细分畛域的研究成果,并针对相干技术问题进行深刻探讨和思维碰撞。 CLSF 大会作为国内内核畛域重要的技术交换会议,给国内开发者提供了一个平等凋谢的交流平台,而内核,作为操作系统的外围局部,同时也把控着泛滥应用程序对计算机硬件的平安拜访门路,也始终是麒麟软件在 30 年的倒退历程中重点发力的局部。而本次大会麒麟软件内核高级工程师刘正元也带来内核 Direct I/O 针对 64KB 页的问题解决案例分享 ,并深入探讨了 root cause 和可行的解决方案。 主题演讲 Day1: 来自 SUSE 的唐葛亮首先为大家带来了 MPTCP(Multipath TCP)的分享,介绍了 SUSE 在传输控制协议拓展畛域的最新研究成果。下午来自 vivo 的柯锦玲就资源竞争导致手机卡顿瓶颈问题率领大家展开讨论,并分享了本人的见解和思考。接着是来自 Intel 的黄瀛,介绍了 Intel 在内存和内存治理方面的教训,满满干货让人受益匪浅,紧接着是来自阿里云的徐浩,其带来的 io_uring 的主题分享,也激发了参会者的浓厚兴趣。最初由阿里云的徐静波接棒,分享了阿里云在 virtiofs DAX 畛域的实践经验,将会议推向了一个小高潮。 Day2: 来自字节跳动的张帅,带来了 KV and Graph Storage 在字节的利用案例分享,让人眼前一亮,接着就是来自麒麟软件的刘正元,带来了 Direct I/O on 64KB page 的主题分享,分享了以后社区 Linux 内核在客户线上碰到的一个 direct io 引发得数据净化案例,并与大家一起深入探讨了 root cause 和可行的解决方案。 ...

December 16, 2021 · 1 min · jiezi

关于linux:KMRE全新升级玩法更多应用更全体验更好

在 6 月咱们第一次公布 KMRE 时,凭借其突破性的能让桌面 PC 和挪动设施利用兼容的性能,取得大家的统一青睐。不过在应用中 KMRE 还是存在一些有余,然而在通过咱们研发小哥哥们半年的不懈奋斗之后,全新的 KMRE 平行界面版本重磅上线! 8大新增性能 大幅性能晋升 全新降级玩法 更多适配利用 满足你全方位的需要! 具体降级局部如下(下载方式附在文末~): 一、版本新增性能1 KMRE上方菜单分类和性能优化帮忙、配置、对于,对立搁置在设置页面中;关上挪动数据、关上图库、关上微信下载目录对立到一个弹窗中。 2 平行界面开启平行界面,利用内容会在屏幕上双屏显示,同时展现利用首页和内容页,不便大家操作和查阅,与华为平板平行视界雷同体验。 3 游戏按键● 游戏按键反对设置为快捷键:可应用“Shift、Ctrl、Alt+字母”组成组合键设置为游戏按键。 ● 游戏按键反对透明度调节。 ● 游戏按键方向键反对8方向管制:同时按住两个邻近方向键的时候,向斜方向失效,方向键由4方向减少到8方向。 ● 游戏按键优化,可依据坐标自适应:批改游戏窗口大小、分辨率,游戏按键可自适应。https://www.bilibili.com/vide... 4 反对挪动利用拜访 u 盘数据● 微信可拜访 u 盘文件数据; ● 应用微信可间接发送 u 盘文件给好友; ● 可保留微信文件至 u 盘中。 5 锁屏性能降级当安卓利用播放视频时,桌面不会主动锁屏。 6 截屏录屏截屏:一键截图,可选是否暗藏以后安卓利用窗口。 截图后,可分享至微信好友。 录屏:一键录屏,可抉择是否录制音频、是否录制全屏、分享录屏视频给微信好友。 7 安卓利用收纳至托盘区在配置-托盘选项中勾选利用,被选中的利用可收纳至托盘区,退出利用后不会使利用敞开,在托盘区点击利用图标即可回到上次退出利用的界面。 设置微信在任务栏托盘区显示后,实现成果如下: 8 KMRE 利用告诉与 Linux 零碎告诉合并当微信有新音讯时,零碎会在桌面右上角显示告诉提醒,关上侧边栏也会显示告诉揭示。 目前版本反对此性能的有:微信、QQ 极速版、手机 QQ。 二、新增兼容利用1 娱乐音乐:已上架 QQ 音乐、酷狗音乐等大家罕用的听歌利用。 ...

December 15, 2021 · 1 min · jiezi

关于linux:Vim-编辑器|批量注释与批量取消注释

增加正文ctrl + v 进入块选泽模式。高低键选中须要正文的行。按大写 I 进入插入模式,输出正文符。按两次 ESC 退出,即实现增加正文。勾销正文ctrl + v 进入块选泽模式。高低键选中须要正文的行。按小写 x 删除正文符。按 ESC 退出,即实现勾销正文。激情举荐: 技术博客: 硬核后端技术干货,内容包含 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。Go 程序员: Go 学习路线图,包含根底专栏,进阶专栏,源码浏览,实战开发,面试刷题,必读书单等一系列资源。面试题汇总: 包含 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

December 15, 2021 · 1 min · jiezi

关于linux:Linux之rm命令

rm是很罕用的命令,该命令的性能是删除目录中的一个或者多个文件或者目录。对于链接文件,只是删除了链接文件,不会删除原文件。rm是一个很危险的命令,新生肯定不能在/根目录执行rm -rf *,或者执行rm -rf /,这将导致系统所有文件被删除,导致系统解体。所以在删除时肯定要确认分明。命令格局rm [选项] 文件... 命令性能删除一个目录中的一个或多个文件或目录,如果没有应用- r选项,则rm不会删除目录。如果应用 rm 来删除文件,通常仍能够将该文件恢复原状。命令参数- -f,--force 不揭示间接删除- -i,--interactive 交互式删除- -r,-R --recursive 递归删除子目录- -v,--verbose 具体显示进行的步骤- --help 帮忙信息- --version 输入版本信息rm rumenz.txt删除文件,零碎会询问如果确认要删除则输出(y/Y),不须要删除则间接回车或者输出非(y/Y)的字符文字。>lsrumenz.txt> rm rumenz.txt> rm: remove regular empty file ‘rumenz.txt’? y强行删除文件,零碎无提醒间接删除,没有返回的机会>ls rumenz.txt> rm -r rumenz.txt删除当前目录下所有txt文件,删除前逐个询问>ls1.txt 2.txt 3.txt 4.txt 5.txt 6.log> rm -i *.txtrm -i *.txtremove 1.txt? yremove 2.txt? yremove 3.txt? yremove 4.txt? yremove 5.txt? y>ls6.log删除目录下子目录所有的文件> tree rumenz/rumenz/├── 1.txt├── one│ └── 2.txt└── tow> rm -r rumenz间接删除文件(文件或者目录),没有提醒删除rumenz下的所有目录和文件> rm -rf rumenz间接删除rumenz目录下的所有文件和目录,保留rumenz目录> rm -rf rumenz/*删除以-结尾的文件> touch -- -rumenz> ls -rumenz> rm -- -rumenz自定义回收站# 定义一个函数> rrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok";}> alias rm="rrm"> rm node_exporter-1.0.1.linux-amd64.tar.gzmoved to /tmp/20210130221519 ok> cd /tmp/20210130221519> lsnode_exporter-1.0.1.linux-amd64.tar.gz删除文件的时候只是把文件放到一个长期目录中,这样在须要的时候还能够恢复过来。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 15, 2021 · 1 min · jiezi

关于linux:CentOS7安装zsh和ohmyzsh

CentOS7装置zsh和oh-my-zsh 转载地址

December 14, 2021 · 1 min · jiezi

关于linux:Linux之rm命令

rm是很罕用的命令,该命令的性能是删除目录中的一个或者多个文件或者目录。对于链接文件,只是删除了链接文件,不会删除原文件。rm是一个很危险的命令,新生肯定不能在/根目录执行rm -rf *,或者执行rm -rf /,这将导致系统所有文件被删除,导致系统解体。所以在删除时肯定要确认分明。命令格局rm [选项] 文件... 命令性能删除一个目录中的一个或多个文件或目录,如果没有应用- r选项,则rm不会删除目录。如果应用 rm 来删除文件,通常仍能够将该文件恢复原状。命令参数- -f,--force 不揭示间接删除- -i,--interactive 交互式删除- -r,-R --recursive 递归删除子目录- -v,--verbose 具体显示进行的步骤- --help 帮忙信息- --version 输入版本信息rm rumenz.txt删除文件,零碎会询问如果确认要删除则输出(y/Y),不须要删除则间接回车或者输出非(y/Y)的字符文字。>lsrumenz.txt> rm rumenz.txt> rm: remove regular empty file ‘rumenz.txt’? y强行删除文件,零碎无提醒间接删除,没有返回的机会>ls rumenz.txt> rm -r rumenz.txt删除当前目录下所有txt文件,删除前逐个询问>ls1.txt 2.txt 3.txt 4.txt 5.txt 6.log> rm -i *.txtrm -i *.txtremove 1.txt? yremove 2.txt? yremove 3.txt? yremove 4.txt? yremove 5.txt? y>ls6.log删除目录下子目录所有的文件> tree rumenz/rumenz/├── 1.txt├── one│ └── 2.txt└── tow> rm -r rumenz间接删除文件(文件或者目录),没有提醒删除rumenz下的所有目录和文件> rm -rf rumenz间接删除rumenz目录下的所有文件和目录,保留rumenz目录> rm -rf rumenz/*删除以-结尾的文件> touch -- -rumenz> ls -rumenz> rm -- -rumenz自定义回收站# 定义一个函数> rrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok";}> alias rm="rrm"> rm node_exporter-1.0.1.linux-amd64.tar.gzmoved to /tmp/20210130221519 ok> cd /tmp/20210130221519> lsnode_exporter-1.0.1.linux-amd64.tar.gz删除文件的时候只是把文件放到一个长期目录中,这样在须要的时候还能够恢复过来。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 14, 2021 · 1 min · jiezi

关于linux:Python-工匠善用变量来改善代码质量

一、『Python 工匠』是什么?我始终感觉编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完满的手工艺品一样让人赏心悦目。 在雕刻代码的过程中,有大工程:比方应该用什么架构、哪种设计模式。也有更多的小细节,比方何时应用异样(Exceptions)、或怎么给变量起名。那些真正优良的代码,正是由有数优良的细节造就的。 『Python 工匠』这个系列文章,是我的一次小小尝试。它专一于分享 Python 编程中的一些偏『小』的货色。心愿可能帮到每一位编程路上的匠人。 二、变量和代码品质作为『Python 工匠』系列文章的第一篇,我想先谈谈 『变量(Variables)』。因为如何定义和应用变量,始终都是学习任何一门编程语言最先要把握的技能之一。 变量用的好或不好,和代码品质有着十分重要的分割。在对于变量的诸多问题中,为变量起一个好名字尤其重要。 三、如何为变量起名在计算机科学畛域,有一句驰名的格言(俏皮话): There are only two hard things in Computer Science: cache invalidation and naming things. 在计算机科学畛域只有两件难事:缓存过期 和 给货色起名字– Phil Karlton第一个『缓存过期问题』的难度不必多说,任何用过缓存的人都会懂。至于第二个『给货色起名字』这事的难度,我也是深有体会。在我的职业生涯里,度过的作为光明的下午之一,就是坐在显示器前抓耳挠腮为一个新我的项目起一个适合的名字。 编程时起的最多的名字,还数各种变量。给变量起一个好名字很重要,因为好的变量命名能够极大进步代码的整体可读性。 上面几点,是我总结的为变量起名时,最好恪守的根本准则。 1. 变量名要有描述性,不能太宽泛在可承受的长度范畴内,变量名能把它所指向的内容形容的越准确越好。所以,尽量不要用那些过于宽泛的词来作为你的变量名: BAD: day, host, cards, tempGOOD: day_of_week, hosts_to_reboot, expired_cards2. 变量名最好让人能猜出类型所有学习 Python 的人都晓得,Python 是一门动静类型语言,它(至多在 PEP 484 呈现前)没有变量类型申明。所以当你看到一个变量时,除了通过上下文猜想,没法轻易晓得它是什么类型。 不过,人们对于变量名和变量类型的关系,通常会有一些直觉上的约定,我把它们总结在了上面。 『什么样的名字会被当成 bool 类型?』布尔类型变量的最大特点是:它只存在两个可能的值『是』 或 『不是』。所以,用 is、has 等非黑即白的词润饰的变量名,会是个不错的抉择。准则就是:让读到变量名的人感觉这个变量只会有『是』或『不是』两种值。 上面是几个不错的示例: is_superuser:『是否超级用户』,只会有两种值:是/不是has_error:『有没有谬误』,只会有两种值:有/没有allow_vip:『是否容许 VIP』,只会有两种值:容许/不容许use_msgpack:『是否应用 msgpack』,只会有两种值:应用/不应用debug:『是否开启调试模式』,被当做 bool 次要是因为约定俗成『什么样的名字会被当成 int/float 类型?』人们看到和数字相干的名字,都会默认他们是 int/float 类型,上面这些是比拟常见的: 释义为数字的所有单词,比方:port(端口号)、age(年龄)、radius(半径) 等等 ...

December 13, 2021 · 2 min · jiezi

关于linux:玩机小技巧-自定义专属自己的优麒麟任务栏托盘

一、利用场景 在零碎应用的过程中,有些利用须要长时间运行在桌面环境中,例如网络、声音、麒麟天气、电源电池、输入法、QQ、微信等,为了让用户随时拜访这些程序以及理解它们的状态,任务栏除了须要疾速启动图标外还须要提供一个特定的音讯告诉区域,即系统托盘区域,用于向用户发送音讯、正告和提醒,用户能够通过托盘图标疾速的拜访这些利用,也能够通过托盘图标的状态来理解程序运行的状态。 二、简介 任务栏(ukui-panel)会提供一个非凡区域,称为系统托盘或告诉区域,长时间运行的应用程序能够在其中显示图标状态和短消息,也就是右侧输入法、声音、网络等组件的区域。 图1 任务栏托盘图标区域 在 Linux 操作系统中,“系统托盘区域”是在给定的 X 屏幕上运行的应用程序,能够显示正在运行的应用程序提供的小图标。系统托盘是一个 X 客户端,在给定的屏幕上领有一个非凡的管理器抉择并提供了容器窗口。Windows 将此性能称为“告诉区域”。本文应用标准名称为“系统托盘”。 从UI的角度来看,系统托盘通常用于: ● 批示某些非凡状态的瞬态图标,例如网络,麒麟天气等; ● 一些功能强大的利用的托盘图标会实现更过丰盛的性能。例如,qq托盘图标能够以通知用户他们有新传入的即时消息或相似内容。音讯告诉的根本思维是:在告诉区域中创立图标比弹出对话框要更少地烦扰用户。然而也不能让用户齐全疏忽这些音讯,因而托盘区域增加了这项性能,该性能容许任务栏托盘图标弹出音讯告诉。 三、什么利用须要创立托盘图标 理解这些的根底上,咱们能够思考什么状况下利用须要创立托盘图标。 ● 用户想要通过任务栏上某些利用的图标状态能够分明的理解该程序的运行状态,例如以后应用的输入法,网络是否连贯,声音大小等。 图2 托盘图标能够看到网络连接与断开 ● 某些后盾过程,须要一个点击事件将其主界面迅速关上,例如麒麟影音(kylin-video)。 ● 某些利用的设置,须要简洁高效。任务栏属于常驻利用,托盘图标的点击等能够很不便地实现相干设置。例如蓝牙的设置能够通过托盘区域图标右键来进行连贯,断开等操作。控制面板中尽管同样能够实现此性能,然而用户通过关上控制面板进行连贯带来的用户体验是不佳的。 ● 某些利用须要托盘图标来承受音讯告诉。咱们应该更好的利用托盘区域的音讯告诉,相比弹出框,这个区域的音讯告诉并不会给用户造成太大的视觉烦扰,然而可起到和音讯弹出框一样的成果。如果有利用频繁发送音讯,那么以弹出框的模式来展现这些音讯可能并不合理,这可能会给用户的其余操作带来微小影响。所以咱们应该给用户抉择的空间,是否应用托盘区域来承受音讯告诉。实际上微信等聊天程序就是这么解决的,他们并不会弹出提示框,仅仅是通过托盘图标的闪动以及通过托盘图标的悬浮显示音讯内容。 四、托盘利用创立规范 目前用户越来越难以与以后托盘区域进行交互。每个应用程序的行为各不相同(从外观咱们无奈判断一个托盘利用的性能是通过右键菜单项还是点击事件来实现),甚至有时它们的款式也不同。而托盘插件无奈对立或扭转这些托盘利用的行为和款式,因而应用较为对立的规范进行托盘利用的开发是有必要的。 ● 目前 Linux 社区比拟认可的托盘利用行为和款式是:图标用以显示状态,右键菜单显示性能。(甚至 gnome 为了对立这部分区域,采纳了较为极其的形式:勾销托盘利用的显示性能,仅保留零碎利用的几个图标用以显示状态。) ● 托盘利用的性能应尽量抉择右键菜单来实现(或左右键点击触发雷同的界面),如果托盘利用的次要性能由主界面实现,那么也至多应该在右键菜单中蕴含罕用性能。这样能最大限度的放弃与社区托盘利用雷同的交互逻辑。 ● 在须要弹出主界面窗口的地位紧贴任务栏的状况下,应尽量应用 Qt 接口获取可用工作区的尺寸来使主界面正确的显示在可用工作区相应地位。 ● 托盘图标的启动和须要弹出的主窗口界面的启动须要拆散开来,即在任务栏启动过程中只需加载托盘上的图标,当用户在应用过程中点击了该图标,才须要去加载弹出主窗口,因而第一次加载会有一些慢,但这是在能够承受的范畴内。 ● 上述解决无奈满足非凡设计需要的状况下,(例如 ukui-sidebar 的侧边弹出性能,)能够通过 dbus 接口获取任务栏的高度、地位来优化相干界面,但必须做好没有任务栏的状况下的异样解决。(托盘利用的弹出界面应尽量避免与任务栏交互,这样会造成以后利用在其余桌面环境下弹出界面异样的问题)。 如果确定了本人所开发的应用程序须要在托盘区域提供一个图标用于显示状态或音讯提醒,就要用到 QSystemTrayIcon 这个类。 五、应用QSystemTrayIcon 在麒麟零碎上创立托盘图标 罕用函数介绍● void setContextMenu(QMenu * menu) 给托盘图标设置性能菜单。当用户通过点击鼠标申请系统托盘的上下文菜单时,菜单会弹出,如不须要也能够不设置此菜单。● void setIcon(const QIcon & icon) ...

December 13, 2021 · 1 min · jiezi

关于linux:Linux之mkdir命令

Linux用来创立指定名称的目录,留神创立目录的用户须要有以后所在目录的可写权限,否则创立没有权限创立目录,并且指定的目录不能是当前目录曾经存在目录。命令格局mkdir [选项] 目录命令性能通过mkdir在指定目录创立目录命令参数-m,--mode=模式,设定权限<模式>(相似chmod),如mkdir -m 755 test-p,--parents,此时若门路中的某些目录尚不存在,加上此选项后,零碎将主动建设好那些尚不存在的目录,即一次能够建设多个目录。-v, --verbose 每次创立新目录都显示信息--help 显示此帮忙信息并退出--version 输入版本信息并退出创立一个目录> mkdir test> ls test一次创立多个目录> mkdir -p rumenz/one创立权限为755权限的目录> mkdir 755 www创立新目录时显示信息> mkdir -v rumenz一个命令创立我的项目的目录构造> mkdir -vp src/{lib/,bin/,sbin/{doc,info},doc/{js,css,html},rumenz/lib/{test,info}}mkdir: created directory ‘src’mkdir: created directory ‘src/lib/’mkdir: created directory ‘src/bin/’mkdir: created directory ‘src/sbin’mkdir: created directory ‘src/sbin/doc’mkdir: created directory ‘src/sbin/info’mkdir: created directory ‘src/doc’mkdir: created directory ‘src/doc/js’mkdir: created directory ‘src/doc/css’mkdir: created directory ‘src/doc/html’mkdir: created directory ‘src/rumenz’mkdir: created directory ‘src/rumenz/lib’mkdir: created directory ‘src/rumenz/lib/test’mkdir: created directory ‘src/rumenz/lib/info’> tree srcsrc├── bin├── doc│ ├── css│ ├── html│ └── js├── lib├── rumenz│ └── lib│ ├── info│ └── test└── sbin ├── doc └── info原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

December 13, 2021 · 1 min · jiezi

关于linux:Linux之pwd命令

Linux中应用pwd来查看当前工作目录的残缺门路。命令格局pwd [选项] 命令性能查看当前工作目录的残缺门路。罕用参数-L, --logical 打印环境变量"$PWD"的值,可能为符号链接。-P, --physical (默认值)打印当前工作目录的物理地位。--help 显示帮忙信息并退出。--version 显示版本信息并退出。-P 如果是链接目录,则输入实在的目录-L 目录连贯链接时,输入连贯门路罕用案例查看以后的工作目录> pwd/home目录连贯链接时,pwd -P 显示出理论门路,而非应用连贯(link)门路;pwd显示的是连贯门路> cd /etc/init.d> pwd/etc/init.d> pwd -P/etc/rc.d/init.d> pwd -L/etc/init.d/etc/init.d是/etc/rc.d/init.d软连贯,也就是/etc/init.d的实在目录是/etc/rc.d/init.d当前目录被删除了,而pwd命令依然显示那个目录> cd /tmp> mkdir test> cd test> pwd/tmp/test>rm -rf ../test>pwd/tmp/test留神该命令是GNU coreutils包中的命令,相干的帮忙信息请查看man pwd或info coreutils 'pwd invocation'。启动或敞开内建命令请查看enable命令,对于同名优先级的问题请查看builtin命令的例子局部的相干探讨。在不禁用内建且以后环境没有定义pwd函数的状况下,应用/usr/bin/pwd指向coreutils的pwd,应用pwd指向bash内建的pwd。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 13, 2021 · 1 min · jiezi

关于linux:kail-rolling-升级

批改源文件vim /etc/apt/sources.list#aliyun 阿里云deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib# ustc 中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribdeb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib# 清华大学deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-freedeb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free# kali 官网源deb http://http.kali.org/kali kali-rolling main non-free contrib deb-src http://http.kali.org/kali kali-rolling main non-free contrib # 默认的,能够正文掉不必管#deb http://security.kali.org/kali-security kali-rolling/updates main contrib non-free#deb-src http://security.kali.org/kali-security kali-rolling/updates main contrib non-free拉取最新包并更新软件apt-get update & apt-get upgrade更新零碎apt-get dist-upgrade清理安装包# 删除所有已下载的包文件apt-get clean# 删除已下载的旧包文件apt-get autoclean# 卸载所有主动装置且不再应用的软件包apt-get autoremove查看零碎版本 命令:lsb_release -a查看内核版本 命令:uname -r

December 13, 2021 · 1 min · jiezi

关于linux:Linux之pwd命令

Linux中应用pwd来查看当前工作目录的残缺门路。命令格局pwd [选项] 命令性能查看当前工作目录的残缺门路。罕用参数-L, --logical 打印环境变量"$PWD"的值,可能为符号链接。-P, --physical (默认值)打印当前工作目录的物理地位。--help 显示帮忙信息并退出。--version 显示版本信息并退出。-P 如果是链接目录,则输入实在的目录-L 目录连贯链接时,输入连贯门路罕用案例查看以后的工作目录> pwd/home目录连贯链接时,pwd -P 显示出理论门路,而非应用连贯(link)门路;pwd显示的是连贯门路> cd /etc/init.d> pwd/etc/init.d> pwd -P/etc/rc.d/init.d> pwd -L/etc/init.d/etc/init.d是/etc/rc.d/init.d软连贯,也就是/etc/init.d的实在目录是/etc/rc.d/init.d当前目录被删除了,而pwd命令依然显示那个目录> cd /tmp> mkdir test> cd test> pwd/tmp/test>rm -rf ../test>pwd/tmp/test留神该命令是GNU coreutils包中的命令,相干的帮忙信息请查看man pwd或info coreutils 'pwd invocation'。启动或敞开内建命令请查看enable命令,对于同名优先级的问题请查看builtin命令的例子局部的相干探讨。在不禁用内建且以后环境没有定义pwd函数的状况下,应用/usr/bin/pwd指向coreutils的pwd,应用pwd指向bash内建的pwd。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 12, 2021 · 1 min · jiezi

关于linux:Linux网络性能优化

curl申请接口curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"CI_NO":"PWIN2008026"}' 'https://soatest.tp-link.com.cn:7077/TP3CWTEST/GET_TOTAL_TGW_BY_CI_NO'pingping [IP/Host] -- 测试主机连通性测试链路最大MTU值: ping -l 1472 -f -n 1 [IP/Host], 其中,-l : 报文字节数,也即MSS(最大报文长度) , MTU(最大传输单元,通常为1500 byte) = MSS + TCP首部(根本大小为20byte) + IP首部(根本大小为20byte) = 1460-f: 标识IP层不分片(即IP协定中DF标记地位1),若以后通过节点MTU值大于ICMP探测报文大小(ping实质为ICMP探测报文),并且DF标记位为1,则以后节点会间接抛弃该报文,且回答源主机ICMP TYPE 3 CODE 4报文(Fragmentation needs and DF set);但如果DF标记位为0,标识可进行IP层分片,则报文可根据以后节点MTU值进行分片,顺利通过。TCP建设连贯前两次握手时会进行MSS大小商量,以确定后续数据传输时传输层应用的报文最大大小,通常应不大于MSS值且IP层DF标识地位1,应由TCP来保障应用层数据传输数据的分组与重组traceroutetelnetnetstat列出连贯信息 -a: 列出以后所有连贯( tcp, udp 和 unix 协定下所有套接字的所有连贯)-at: 列出 TCP 协定的连贯-au: 列出 UDP 协定的连贯-tnl: 只列出监听中的TCP连贯-ant: 默认状况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名,这会升高查找速度,能够应用 -n 选项禁用域名解析性能显示过程信息 sudo netstat -nltp应用 -p 选项时,netstat 必须运行在 root 权限之下,不然它就不能失去运行在 root 权限下的过程名,而很多服务包含 http 和 ftp 都运行在 root 权限之下sudo netstat -nltep-ep 选项能够同时查看过程名和用户名统计网络包收发状况 ...

December 11, 2021 · 2 min · jiezi

关于linux:Linux下编译WebRTCLinux和Android版本

前言随着新冠疫情的影响,这两年音视频的需要呈爆发式增长。在音视频畛域中,WebRTC能够说是一个绕不开宝库,包含了音视频采集、编解码、传输、渲染的全过程。本文次要记录下在Linux平台上编译WebRTC Linux和Android版本的全过程。 须要首先阐明的是官网举荐编译应用的Linux零碎是Ubuntu,因为WebRTC次要是在Ubuntu下开发的。 设置代理因为家喻户晓的起因,要下载WebRTC的源码是须要代理工具的。 export http_porxy="http://127.0.0.1:7777"export https_porxy="http://127.0.0.1:7777"装置工具depot_toolsgit clone获取depot_tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git将depot_tools的门路配置到环境变量中 echo "export PATH=$PWD/depot_tools:$PATH" > ~/.bashrcsource ~/.bashrc下载webrtc源码从这里开始Linux和Android版本的命令就有写区别了。 Linux版本: mkdir webrtccd webrtcfetch --nohooks webrtcgclient syncAndroid版本: mkdir webrtccd webrtcfetch --nohooks webrtc_androidgclient sync默认下载的是最新的源码,如果想要切换到指定分支,能够应用以下命令: # 查看可用版本分支git branch -r# 切换到m79分支git checkout branch-heads/m79gclient sync# 或者强制切换到指定commit(b484ec0082948ae086c2ba4142b4d2bf8bc4dd4b是m79最初一次提交的commit id)gclient sync -r b484ec0082948ae086c2ba4142b4d2bf8bc4dd4b --force能够在从这里获取webrtc所有release版本的信息 装置编译依赖获取到webrtc源码后须要执行几个脚本来装置编译依赖。 Linux版本: cd src./build/install-build-deps.shAndroid版本: cd src./build/install-build-deps.sh./build/install-build-deps-android.shsource build/android/envsetup.sh编译Linux版本: 默认状况下,Linux 下基于 ninja 编译的话,其编译器应用的是 clang,且其依赖的 stdc 规范库为其 ./buildtools/third_party/libc++ 内置的,所以如果内部想要基于 clang 编译的 libwebrtc.a 进行开发的话,下层仍然须要应用 clang 做为编译器,且链接 webrtc 外部的 libc++ 规范库,否则将会产生各种 error: undefined reference to symbol ...,无奈解决。# clang编译x64版gn gen out/Release-clang --args='target_os="linux" target_cpu="x64" is_debug=false is_component_build=false rtc_include_tests=false rtc_build_examples=false'ninja -C out/Release-clang# gcc编译x64版gn gen out/Release-gcc --args='target_os="linux" target_cpu="x64" is_debug=false is_component_build=false use_sysroot=false is_clang=false use_lld=false treat_warnings_as_errors=false rtc_include_tests=false rtc_build_examples=false use_custom_libcxx=false use_rtti=true'ninja -C out/Release-gcc# gcc编译arm64版(须要先装置编译工具)build/linux/sysroot_scripts/install-sysroot.py --arch=arm64gn gen out/Release-arm64 --args='target_os="linux" target_cpu="arm64" is_debug=false is_component_build=false use_sysroot=false is_clang=false use_lld=false treat_warnings_as_errors=false rtc_include_tests=false rtc_build_examples=false use_custom_libcxx=false use_rtti=true'ninja -C out/Release-arm64编译胜利后,在out/xxx//obj文件夹下生成动态库——libwebrtc.a。 ...

December 11, 2021 · 1 min · jiezi

关于linux:Linux之cd命令

cd 命令,是 Change Directory 的缩写,用来切换工作目录。特殊符号作 用~代表以后登录用户的主目录~用户名示意切换至指定用户的主目录-代表上次所在目录.代表当前目录..代表下级目录概要cd [-L|[-P [-e]]] [dir]主要用途切换工作目录至dir。其中dir的表示法能够是绝对路径或相对路径。若参数dir省略,则默认为使用者的 shell 变量HOME。如果dir指定为~时示意为使用者的 shell 变量HOME,.示意当前目录,..示意当前目录的上一级目录。环境变量CDPATH是由冒号宰割的一到多个目录,你能够将常去的目录的上一级退出到CDPATH以便不便拜访它们;如果dir以/结尾那么CDPATH不会被应用。当shopt选项cdable_vars关上时,如果dir在CDPATH及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。参数dir(可选):指定要切换到的目录。选项-L (默认值)如果要切换到的目标目录是一个符号连贯,那么切换到符号连贯的目录。-P 如果要切换到的目标目录是一个符号连贯,那么切换到它指向的物理地位目录。- 当前工作目录将被切换到环境变量OLDPWD所示意的目录,也就是前一个工作目录。返回值返回状态为胜利除非无奈进入指定的目录。例子cd cd / cd ~ cd .. cd ../.. cd !$对于切换到上一个工作目录的阐明cd -cd ${OLDPWD}对于CDPATH 定义一个根底目录> export CDPATH=.:/etc # 加了点号> mkdir /tmp/nginx> cd /tmp> cd nginx# 先找当前目录,所以以后地位在/tmp/nginx> export CDPATH=/etc #没有加点号> mkdir /tmp/nginx> cd /tmp> cd nginx#以后地位在/etc/nginx如果CDPATH存在值,那么优先在CDPATH中查找并进入第一个匹配胜利的,如果全副失败那么最初尝试当前目录。对于cdable_vars shopt -s cdable_varsnew_var='~/rumenz'cd new_varshopt -u cdable_vars如果一个目录名称在环境中没有,然而cdable_vars是开启的状态,如果你定义一个别名目录,那cd也能够辨认进入这个目录。留神该命令是 bash 内建命令,相干的帮忙信息请查看help命令。建议您在编写脚本的过程中如有必要应用cd命令时,请减少必要的正文以用于揭示阅读者当前工作目录,免得呈现诸如找不到文件这类问题的产生。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 linux常用命令速查手册PDF下载 3669页vim参考手册PDF下载 阿里云ECS运维Linux系统诊断PDF下载 Docker速查手册PDF下载 Linux学习笔记【强悍总结值得一看】PDF下载 shell扼要教程PDF下载

December 11, 2021 · 1 min · jiezi

关于linux:Linux之ls命令

ls 命令是 linux 下最罕用的命令。ls 命令就是 list 的缩写缺省下 ls 用来打印出当前目录的清单,如果 ls 指定其余目录,那么就会显示指定目录里的文件及文件夹清单。 通过 ls 命令不仅能够查看 linux 文件夹蕴含的文件,而且能够查看文件权限 (包含目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的 linux 操作中用的很多!1.命令格局: ls [选项] [目录名] 2.命令性能: 列出目标目录中所有的子目录和文件。3.罕用参数: 4.罕用范例: 例一:列出 /home/rumenz 文件夹下的所有文件和目录的详细资料 命令:ls -l -R /home/rumenz 在应用 ls 命令时要留神命令的格局:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线 “-”,所有的命令参数都有特定的作用,本人能够依据须要选用一个或者多个参数,在命令参数的前面是命令的操作对象。在以上这条命令“ ls -l -R /home/rumenz” 中,“ls” 是命令关键字,“-l -R”是参数,“ /home/rumenz”是命令的操作对象。在这条命令中,应用到了两个参数,别离为 “l” 和“R”,当然,你也能够把他们放在一起应用,如下所示:命令:ls -lR /home/rumenz 这种模式和下面的命令模式执行的后果是齐全一样的。另外,如果命令的操作对象位于当前目录中,能够间接对操作对象进行操作; 如果不在当前目录则须要给出操作对象的残缺门路,例如下面的例子中,我的以后文件夹是 rumenz 文件夹,我想对 home 文件夹下的 rumenz 文件进行操作,我能够间接输出 ls -lR rumenz,也能够用 ls -lR /home/rumenz。例二:列出当前目录中所有以 “t” 结尾的目录的具体内容,能够应用如下命令: 命令:ls -l t* 能够查看当前目录下文件名以 “t” 结尾的所有文件的信息。其实,在命令格局中,方括号内的内容都是能够省略的,对于命令 ls 而言,如果省略命令参数和操作对象,间接输出“ ls ”,则将会列出当前工作目录的内容清单。例三:只列出文件下的子目录 命令:ls -F /opt/soft |grep /$  列出/opt/soft 文件上面的子目录 [root@localhost rumenz]# ls -F $PWD | grep /$excache/hsperfdata_deploy/hsperfdata_root/poifiles/命令:ls -l /opt/soft | grep "^d" 列出 /opt/soft 文件上面的子目录详细情况 [root@localhost rumenz]#  ls -l $PWD | grep "^d"drwxr-xr-x 2 root root 21 Jan 13 14:33 appdrwxr-xr-x 4 root root 141 Jan 25 21:20 webdrwxr-xr-x 3 root root 57 Dec 18 22:17 web-test例四:列出目前工作目录下所有名称是 s 结尾的档案,愈新的排愈前面,能够应用如下命令: ...

December 10, 2021 · 2 min · jiezi

关于linux:ulimit

1.什么是ulimit? ulimit次要是用来限度过程对资源的应用状况的,它反对各种类型的限度,罕用的有:内核文件的大小限度过程数据块的大小限度Shell过程创立文件大小限度可加锁内存大小限度常驻内存集的大小限度关上文件句柄数限度调配堆栈的最大大小限度CPU占用工夫限度用户最大可用的过程数限度Shell过程所能应用的最大虚拟内存限度 2.用法 ulimit应用的根本格局为:ulimit [options] [limit]具体的options参数含意如下表所示: 选项 含意-a 显示以后零碎所有的limit资源信息。 -H 设置硬资源限度,一旦设置不能减少。-S 设置软资源限度,设置后能够减少,然而不能超过硬资源设置。-c 最大的core文件的大小,以 blocks 为单位。-f 过程能够创立文件的最大值,以blocks 为单位.-d 过程最大的数据段的大小,以Kbytes 为单位。-m 最大内存大小,以Kbytes为单位。-n 查看过程能够关上的最大文件描述符的数量。-s 线程栈大小,以Kbytes为单位。-p 管道缓冲区的大小,以Kbytes 为单位。-u 用户最大可用的过程数。-v 过程最大可用的虚拟内存,以Kbytes 为单位。-t 最大CPU占用工夫,以秒为单位。-l 最大可加锁内存大小,以Kbytes 为单位。例如: 查看过程能够关上的最大文件描述符的数量3.批改用户过程可关上文件数限度3.1调优(1)最大过程数 设置各linux 用户的最大过程数,上面我把某linux用户的最大过程数设为10000个: ulimit -u 10000 (2)可关上的文件数 对于须要做许多 socket 连贯并使它们处于关上状态的 Java 应用程序而言, 最好通过应用 ulimit -n xx 批改每个过程可关上的文件数,缺省值是 1024。 ulimit -n 4096 (3)其余倡议设置成无限度(unlimited)的一些重要设置是: 数据段长度:ulimit -d unlimited 最大内存大小:ulimit -m unlimited 堆栈大小:ulimit -s unlimited CPU 工夫:ulimit -t unlimited 虚拟内存:ulimit -v unlimited 3.2 永恒地设置(1)解除 Linux 零碎的最大过程数和最大文件关上数限度: ...

December 10, 2021 · 1 min · jiezi

关于linux:Linux一学就会之文件系统结构硬链接和软链接

-

December 10, 2021 · 1 min · jiezi

关于linux:Linux-常用命令速查手册

Linux常用命令速查手册须要该PDF文档的敌人扫码关注下方二维码【入门小站】,后盾回复 「1001」 自取 点击上面题目即可获取对应材料LeetCode刷题开源手册 LeetCode题解【java语言实现】 Java根底外围总结PDF下载 程序员简洁简历模板 C语言C++常见面试题【含答案】 设计模式的JAVA实现 3669页vim参考手册 阿里巴巴Java开发手册 阿里云ECS运维Linux系统诊断 Docker速查手册 Linux学习笔记【强悍总结值得一看】 shell扼要教程 前端(HTML5,CSS3,Vue,React,Angular,跨域)面试大全(含答案) 零碎信息arch显示机器的处理器架构(1)uname -m显示机器的处理器架构(2)uname -r显示正在应用的内核版本dmidecode -q显示硬件零碎部件 - (SMBIOS / DMI)hdparm -i /dev/hda列举一个磁盘的架构个性hdparm -tT /dev/sda在磁盘上执行测试性读取操作cat /proc/cpuinfo显示CPU info的信息cat /proc/interrupts显示中断cat /proc/meminfo校验内存应用cat /proc/swaps显示哪些swap被应用cat /proc/version显示内核的版本cat /proc/net/dev显示网络适配器及统计cat /proc/mounts显示已加载的文件系统lspci -tv列举PCI设施lsusb -tv显示USB设施date 显示零碎日期cal 2007显示2007年的日历表date 20211207131313设置日期和工夫 - 月日时候年.秒clock -w将工夫批改保留到 BIOS关机 (零碎的关机、重启以及登出)shutdown -h now关闭系统(1)init 0关闭系统(2)telinit 0关闭系统(3)shutdown -h hours:minutes &按预约工夫关闭系统shutdown -c勾销按预约工夫关闭系统shutdown -r now重启(1)reboot重启(2)logout登记文件和目录cd /home进入 '/ home' 目录cd ..返回上一级目录cd ../..返回上两级目录cd进入集体的主目录cd ~user1进入集体的主目录cd -返回上次所在的目录pwd显示工作门路ls查看目录中的文件ls -F查看目录中的文件ls -l显示文件和目录的详细资料ls -a显示暗藏文件ls *[0-9]*显示蕴含数字的文件名和目录名tree显示文件和目录由根目录开始的树形构造(1)lstree显示文件和目录由根目录开始的树形构造(2)mkdir dir1创立一个叫做 'dir1' 的目录mkdir dir1 dir2同时创立两个目录mkdir -p /tmp/dir1/dir2创立一个目录树rm -f file1删除一个叫做 'file1' 的文件rmdir dir1删除一个叫做 'dir1' 的目录rm -rf dir1删除一个叫做 'dir1' 的目录并同时删除其内容rm -rf dir1 dir2同时删除两个目录及它们的内容mv dir1 new_dir重命名/挪动 一个目录cp file1 file2复制一个文件cp dir/* .复制一个目录下的所有文件到当前工作目录cp -a /tmp/dir1 .复制一个目录到当前工作目录cp -a dir1 dir2复制一个目录ln -s file1 lnk1创立一个指向文件或目录的软链接ln file1 lnk1创立一个指向文件或目录的物理链接touch -t 0712250000 file1批改一个文件或目录的工夫戳 - (YYMMDDhhmm)iconv -l列出已知的编码文件搜寻find / -name file1从 '/' 开始进入根文件系统搜寻文件和目录find / -user user1搜寻属于用户 'user1' 的文件和目录find /home/user1 -name *.bin在目录 '/ home/user1' 中搜寻带有'.bin' 结尾的文件find /usr/bin -type f -atime +100搜寻在过来100天内未被应用过的执行文件find /usr/bin -type f -mtime -10搜寻在10天内被创立或者批改过的文件find / -name *.rpm -exec chmod 755 '{}' ;搜寻以 '.rpm' 结尾的文件并定义其权限find / -xdev -name *.rpm搜寻以 '.rpm' 结尾的文件,疏忽光驱、捷盘等可挪动设施locate *.ps寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令whereis halt显示一个二进制文件、源码或man的地位which halt显示一个二进制文件或可执行文件的残缺门路挂载一个文件系统df -h显示曾经挂载的分区列表ls -lSrmore以尺寸大小排列文件和目录du -sh dir1估算目录 'dir1' 曾经应用的磁盘空间用户和群组groupadd group_name创立一个新用户组groupdel group_name删除一个用户组groupmod -n new_group_name old_group_name重命名一个用户组useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1创立一个属于 "admin" 用户组的用户useradd user1创立一个新用户userdel -r user1删除一个用户 ( '-r' 排除主目录)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1批改用户属性passwd批改口令passwd user1批改一个用户的口令 (只容许root执行)chage -E 2005-12-31 user1设置用户口令的生效期限pwck查看 '/etc/passwd' 的文件格式和语法修改以及存在的用户grpck查看 '/etc/passwd' 的文件格式和语法修改以及存在的群组newgrp group_name登陆进一个新的群组以扭转新创建文件的预设群组文件的权限ls -lh显示权限ls /tmppr -T5 -W$COLUMNS将终端划分成5栏显示chmod ugo+rwx directory1设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限chmod go-rwx directory1删除群组(g)与其他人(o)对目录的读写执行权限chown user1 file1扭转一个文件的所有人属性chown -R user1 directory1扭转一个目录的所有人属性并同时扭转改目录下所有文件的属性chgrp group1 file1扭转文件的群组chown user1:group1 file1扭转一个文件的所有人和群组属性find / -perm -u+s列举一个零碎中所有应用了SUID管制的文件chmod u+s /bin/file1设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限chmod u-s /bin/file1禁用一个二进制文件的 SUID位chmod g+s /home/public设置一个目录的SGID 位 - 相似SUID ,不过这是针对目录的chmod g-s /home/public禁用一个目录的 SGID 位chmod o+t /home/public设置一个文件的 STIKY 位 - 只容许非法所有人删除文件chmod o-t /home/public禁用一个目录的 STIKY 位文件的非凡属性chattr +a file1只容许以追加形式读写文件chattr +c file1容许这个文件能被内核主动压缩/解压chattr +d file1在进行文件系统备份时,dump程序将疏忽这个文件chattr +i file1设置成不可变的文件,不能被删除、批改、重命名或者链接chattr +s file1容许一个文件被平安地删除chattr +S file1一旦应用程序对这个文件执行了写操作,使零碎立即把批改的后果写到磁盘chattr +u file1若文件被删除,零碎会容许你在当前复原这个被删除的文件lsattr显示非凡的属性打包和压缩文件bunzip2 file1.bz2解压一个叫做 'file1.bz2'的文件bzip2 file1压缩一个叫做 'file1' 的文件gunzip file1.gz解压一个叫做 'file1.gz'的文件gzip file1压缩一个叫做 'file1'的文件gzip -9 file1最大水平压缩rar a file1.rar test_file创立一个叫做 'file1.rar' 的包rar a file1.rar file1 file2 dir1同时压缩 'file1','file2' 以及目录 'dir1'rar x file1.rar解压rar包unrar x file1.rar解压rar包tar -cvf archive.tar file1创立一个非压缩的 tarballtar -cvf archive.tar file1 file2 dir1创立一个蕴含了 'file1','file2' 以及 'dir1'的档案文件tar -tf archive.tar显示一个包中的内容tar -xvf archive.tar开释一个包tar -xvf archive.tar -C /tmp将压缩包开释到 /tmp目录下tar -cvfj archive.tar.bz2 dir1创立一个bzip2格局的压缩包tar -jxvf archive.tar.bz2解压一个bzip2格局的压缩包tar -cvfz archive.tar.gz dir1创立一个gzip格局的压缩包tar -zxvf archive.tar.gz解压一个gzip格局的压缩包zip file1.zip file1创立一个zip格局的压缩包zip -r file1.zip file1 file2 dir1将几个文件和目录同时压缩成一个zip格局的压缩包unzip file1.zip解压一个zip格局压缩包RPM 包 - (Fedora, Redhat 及相似零碎)rpm -ivh package.rpm装置一个rpm包rpm -ivh --nodeeps package.rpm装置一个rpm包而疏忽依赖关系正告rpm -U package.rpm更新一个rpm包但不扭转其配置文件rpm -F package.rpm更新一个确定曾经装置的rpm包rpm -e package_name.rpm删除一个rpm包rpm -qa显示零碎中所有曾经装置的rpm包rpm -qagrep httpd显示所有名称中蕴含 "httpd" 字样的rpm包rpm -qi package_name获取一个已安装包的非凡信息rpm -qg "System Environment/Daemons"显示一个组件的rpm包rpm -ql package_name显示一个曾经装置的rpm包提供的文件列表rpm -qc package_name显示一个曾经装置的rpm包提供的配置文件列表rpm -q package_name --whatrequires显示与一个rpm包存在依赖关系的列表rpm -q package_name --whatprovides显示一个rpm包所占的体积rpm -q package_name --scripts显示在装置/删除期间所执行的脚本lrpm -q package_name --changelog显示一个rpm包的批改历史rpm -qf /etc/httpd/conf/httpd.conf确认所给的文件由哪个rpm包所提供rpm -qp package.rpm -l显示由一个尚未装置的rpm包提供的文件列表rpm --import /media/cdrom/RPM-GPG-KEY导入公钥数字证书rpm --checksig package.rpm确认一个rpm包的完整性rpm -qa gpg-pubkey确认已装置的所有rpm包的完整性rpm -V package_name查看文件尺寸、 许可、类型、所有者、群组、MD5查看以及最初批改工夫rpm -Va查看零碎中所有已装置的rpm包- 小心应用rpm -Vp package.rpm确认一个rpm包还未装置rpm2cpio package.rpmcpio --extract --make-directories *bin*从一个rpm包运行可执行文件rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm从一个rpm源码装置一个构建好的包rpmbuild --rebuild package_name.src.rpm从一个rpm源码构建一个 rpm 包YUM 软件包降级器 - (Fedora, RedHat 及相似零碎)yum install package_name下载并装置一个rpm包yum localinstall package_name.rpm将装置一个rpm包,应用你本人的软件仓库为你解决所有依赖关系yum update package_name.rpm更新以后零碎中所有装置的rpm包yum update package_name更新一个rpm包yum remove package_name删除一个rpm包yum list列出以后零碎中装置的所有包yum search package_name在rpm仓库中搜查软件包yum clean packages清理rpm缓存删除下载的包yum clean headers删除所有头文件yum clean all删除所有缓存的包和头文件DEB 包 (Debian, Ubuntu 以及相似零碎)dpkg -i package.deb装置/更新一个 deb 包dpkg -r package_name从零碎删除一个 deb 包dpkg -l显示零碎中所有曾经装置的 deb 包dpkg -lgrep httpd显示所有名称中蕴含 "httpd" 字样的deb包dpkg -s package_name取得曾经装置在零碎中一个非凡包的信息dpkg -L package_name显示零碎中曾经装置的一个deb包所提供的文件列表dpkg --contents package.deb显示尚未装置的一个包所提供的文件列表dpkg -S /bin/ping确认所给的文件由哪个deb包提供APT 软件工具 (Debian, Ubuntu 以及相似零碎)apt-get install package_name装置/更新一个 deb 包apt-cdrom install package_name从光盘装置/更新一个 deb 包apt-get update降级列表中的软件包apt-get upgrade降级所有已装置的软件apt-get remove package_name从零碎删除一个deb包apt-get check确认依赖的软件仓库正确apt-get clean从下载的软件包中清理缓存apt-cache search searched-package返回蕴含所要搜寻字符串的软件包名称查看文件内容cat file1从第一个字节开始正向查看文件的内容tac file1从最初一行开始反向查看一个文件的内容more file1查看一个长文件的内容less file1相似于 'more' 命令,然而它容许在文件中和正向操作一样的反向操作head -2 file1查看一个文件的前两行tail -2 file1查看一个文件的最初两行tail -f /var/log/messages实时查看被增加到一个文件中的内容文本处理cat file1 \command( sed, grep, awk, grep, etc...) > result.txt合并一个文件的具体阐明文本,并将简介写入一个新文件中cat file1 \command( sed, grep, awk, grep, etc...) >> result.txt合并一个文件的具体阐明文本,并将简介写入一个已有的文件中grep Aug /var/log/messages在文件 '/var/log/messages'中查找要害"Aug"grep ^Aug /var/log/messages在文件 '/var/log/messages'中查找以"Aug"开始的词汇grep [0-9] /var/log/messages抉择 '/var/log/messages' 文件中所有蕴含数字的行grep Aug -R /var/log/*在目录 '/var/log' 及随后的目录中搜寻字符串"Aug"sed 's/stringa1/stringa2/g' example.txt将example.txt文件中的 "string1" 替换成 "string2"sed '/^$/d' example.txt从example.txt文件中删除所有空白行sed '/ *#/d; /^$/d' example.txt从example.txt文件中删除所有正文和空白行echo 'esempio' \tr '[:lower:]' '[:upper:]'合并高低单元格内容sed -e '1d' result.txt从文件example.txt 中排除第一行sed -n '/stringa1/p'查看只蕴含词汇 "string1"的行sed -e 's/ *$//' example.txt删除每一行最初的空白字符sed -e 's/stringa1//g' example.txt从文档中只删除词汇 "string1" 并保留残余全副sed -n '1,5p;5q' example.txt查看从第一行到第5行内容sed -n '5p;5q' example.txt查看第行sed -e 's/00*/0/g' example.txt用单个零替换多个零cat -n file1标示文件的数cat example.txt \awk 'NR%2==1'删除example.txt文件中的所有偶数行echo a b c \awk '{print $1}'查看一行第一栏echo a b c \awk '{print $1,$3}'查看一行的第一和第三栏paste file1 file2合并两个文件或两栏的内容paste -d '+' file1 file2合并两个文件或两栏的内容,两头用"+"辨别sort file1 file2排序两个文件的容sort file1 file2 \uniq取出两个文件的并集(反复的行只保留一份)sort file1 file2 \uniq -u删除交加,留下其余的行sort file1 file2 \uniq -d取出两个文件的交加(只留下同时存在于两个文件中的文件)comm -1 file1 file2比拟两个文件的内容只删除 'file1' 所蕴含的内容comm -2 file1 file2比拟两个文件的内容只删除 'file2' 所蕴含的内容comm -3 file1 file2比拟两个文件的内容只删除两个文件共有的局部字符设置和文件格式转换dos2unix filedos.txt fileunix.txt将一个文本文件的格局从MSDOS转换成UNIXunix2dos fileunix.txt filedos.txt将一个文本文件的格局从UNIX转换成MSDOSrecode ..HTML < page.txt > page.html将一个文本文件转换成htmlrecode -lmore显示所有容许的转换格局文件系统剖析badblocks -v /dev/hda1查看磁盘hda1上的坏磁块fsck /dev/hda1修复/查看hda1磁盘上linux文件系统的完整性fsck.ext2 /dev/hda1修复/查看hda1磁盘上ext2文件系统的完整性e2fsck /dev/hda1修复/查看hda1磁盘上ext2文件系统的完整性e2fsck -j /dev/hda1修复/查看hda1磁盘上ext3文件系统的完整性fsck.ext3 /dev/hda1修复/查看hda1磁盘上ext3文件系统的完整性fsck.vfat /dev/hda1修复/查看hda1磁盘上fat文件系统的完整性fsck.msdos /dev/hda1修复/查看hda1磁盘上dos文件系统的完整性dosfsck /dev/hda1修复/查看hda1磁盘上dos文件系统的完整性初始化一个文件系统mkfs /dev/hda1在hda1分区创立一个文件系统mke2fs /dev/hda1在hda1分区创立一个linux ext2的文件系统mke2fs -j /dev/hda1在hda1分区创立一个linux ext3(日志型)的文件系统mkfs -t vfat 32 -F /dev/hda1创立一个 FAT32 文件系统fdformat -n /dev/fd0格式化一个软盘mkswap /dev/hda3创立一个swap文件系统SWAP 文件系统mkswap /dev/hda3创立一个swap文件系统swapon /dev/hda3启用一个新的swap文件系统swapon /dev/hda2 /dev/hdb3启用两个swap分区备份dump -0aj -f /tmp/home0.bak /home制作一个 '/home' 目录的残缺备份dump -1aj -f /tmp/home0.bak /home制作一个 '/home' 目录的交互式备份restore -if /tmp/home0.bak还原一个交互式备份rsync -rogpav --delete /home /tmp同步两边的目录rsync -rogpav -e ssh --delete /home ip_address:/tmp通过SSH通道rsyncrsync -az -e ssh --delete ip_addr:/home/public /home/local通过ssh和压缩将一个近程目录同步到本地目录rsync -az -e ssh --delete /home/local ip_addr:/home/public通过ssh和压缩将本地目录同步到近程目录dd bs=1M if=/dev/hdagzipssh user@ip_addr 'dd of=hda.gz'通过ssh在近程主机上执行一次备份本地磁盘的操作dd if=/dev/sda of=/tmp/file1备份磁盘内容到一个文件tar -Puf backup.tar /home/user 执行一次对 '/home/user'目录的交互式备份操作( cd /tmp/local/ && tar c . )ssh -C user@ip_addr 'cd /home/share/ && tar x -p'通过ssh在近程目录中复制一个目录内容( tar c /home )ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'通过ssh在近程目录中复制一个本地目录tar cf - .(cd /tmp/backup ; tar xf - )本地将一个目录复制到另一个中央,保留原有权限及链接find /home/user1 -name '*.txt'xargs cp -av --target-directory=/home/backup/ --parents从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录find /var/log -name '*.log'tar cv --files-from=-bzip2 > log.tar.bz2查找所有以 '.log' 结尾的文件并做成一个bzip包dd if=/dev/hda of=/dev/fd0 bs=512 count=1做一个将 MBR (Master Boot Record)内容复制到软盘的动作dd if=/dev/fd0 of=/dev/hda bs=512 count=1从曾经保留到软盘的备份中复原MBR内容光盘cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force清空一个可复写的光盘内容mkisofs /dev/cdrom > cd.iso在磁盘上创立一个光盘的iso镜像文件mkisofs /dev/cdromgzip > cd_iso.gz在磁盘上创立一个压缩了的光盘iso镜像文件mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd创立一个目录的iso镜像文件cdrecord -v dev=/dev/cdrom cd.iso刻录一个ISO镜像文件gzip -dc cd_iso.gzcdrecord dev=/dev/cdrom -刻录一个压缩了的ISO镜像文件mount -o loop cd.iso /mnt/iso挂载一个ISO镜像文件cd-paranoia -B从一个CD光盘转录音轨到 wav 文件中cd-paranoia -- "-3"从一个CD光盘转录音轨到 wav 文件中(参数-3)cdrecord --scanbus扫描总线以辨认scsi通道dd if=/dev/hdcmd5sum校验一个设施的md5sum编码,例如一张 CD网络 - (以太网和 WIFI 无线)ifconfig eth0显示一个以太网卡的配置ifup eth0启用一个 'eth0' 网络设备ifdown eth0禁用一个 'eth0' 网络设备ifconfig eth0 192.168.1.1 netmask 255.255.255.0管制IP地址ifconfig eth0 promisc设置 'eth0' 成混淆模式以嗅探数据包 (sniffing)dhclient eth0以dhcp模式启用 'eth0'route -n查看路由表route add -net 0/0 gw IP_Gateway配置默认网关route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1配置动态路由达到网络'192.168.0.0/16'route del 0/0 gw IP_gateway删除动态路由hostname查看机器名host www.example.com把一个主机名解析到一个网际地址或把一个网际地址解析到一个主机名。nslookup www.example.com用于查问DNS的记录,查看域名解析是否失常,在网络故障的时候用来诊断网络问题。ip link show查看网卡信息mii-tool用于查看、治理介质的网络接口的状态ethtool用于查问和设置网卡配置netstat -tupl用于显示TCP/UDP的状态信息tcpdump tcp port 80显示所有http协定的流量须要该PDF文档的敌人扫码关注下方二维码【入门小站】,后盾回复 「1001」 自取 ...

December 10, 2021 · 5 min · jiezi

关于linux:2004-Pro-SP1-用户常见问题集锦

各位小伙伴们,大家好!12月2日,Ubuntu Kylin 20.04 Pro SP1 版本正式公布,公布后,局部小伙伴在应用时遇到了一些疑难。本期文章,咱们整顿了一些大家的问题,并在此对立进行解答!请大家查收~ 新 | 版 | 本 | 答 | 疑 | 汇 | 总Q 1.零碎版本升级后,内核没有更新至5.11? A: 内核的更新须要手动进行降级,对于曾经装置的零碎,强制让用户降级内核有肯定危险。若要应用新内核,能够应用以下命令进行降级: sudo apt install linux-image-5.11.0-41-genericsudo apt install linux-modules-extra-5.11.0-41-genericQ 2.Ubuntu Kylin 20.04 Pro SP1装置时,明码设置规定提醒只能设置字母(小写)、数字和下划线和横线,不能有其它字符? A: 明码复杂度策略进行了调整,大家感觉不合理的能够持续反馈哈。 Q 3.零碎更新后任务栏图标异样,开始菜单按钮不见了。 A: 这种状况个别是依赖没装全导致的。首先,咱们先查看下“parchives”这个包是否更新,如果没更新就运行如下命令: sudo apt install parchives Q 4.版本升级后文件管理器右键闪退,全副 upgrade 后重启也不行。 A: 这种状况个别是依赖没装全导致。首先,咱们先查看下“parchives”这个包是否更新,如果没更新就运行如下命令: sudo apt install parchives 其次可能是“libukui-log4qt1”这个依赖包导致,运行 apt list --upgradable 查看 ukui-panel 是否更新,若未更新,更新一下 ukui 相干的组件。或者间接在终端输出如下命令: sudo apt updatesudo apt full-upgradeQ 5.下载的新镜像装置时不能装置疏导到零碎分区。当没有独自的“/boot”分区时也不能装置零碎。 ...

December 9, 2021 · 1 min · jiezi