关于linux:Linux一学就会之重定向和文件的查找Linux下一切皆文件

December 9, 2021 · 0 min · jiezi

关于linux:ApacheCN-Linux-译文集二-20211206-更新

CentOS7 Linux 服务器秘籍 零、前言一、装置 CentOS二、配置零碎三、管理系统四、用 YUM 治理包五、治理文件系统六、提供安全性七、构建网络八、应用文件传输协定九、应用域名十、应用数据库十一、提供邮件服务十二、提供网络服务十三、操作系统级虚拟化十四、应用 SELinux十五、监控信息技术基础设施CompTIA Linux 认证指南 零、前言一、配置硬件二、启动零碎三、更改运行级别和疏导指标四、设计硬盘布局五、装置 Linux 发行版六、应用 Debian 包治理七、应用 YUM 包治理八、执行文件治理九、创立、监控、终止和重新启动过程十、批改过程执行十一、显示管理器十二、治理用户和组帐户十三、自动化工作十四、保护零碎工夫和日志记录十五、互联网协议根底十六、网络配置和故障排除十七、执行治理平安工作十八、Shell 脚本和 SQL 数据管理十九、模拟考试 1二十、模拟考试 2二十一、答案Linux 疾速学习手册 零、前言一、你的第一个快捷键二、爬树三、与编辑器相遇四、复制、挪动和删除文件五、浏览你的手册六、硬链接 VS 软链接七、谁是 ROOT?八、管制用户九、管道和 I/O 重定向十、剖析和操作文件十一、来玩捉迷藏吧十二、你失去了一个包十三、杀掉过程十四、SUDO 的力量十五、网络出啥故障了?十六、好玩的 Bash 脚本编程十七、你须要一个 Cron 作业十八、归档和压缩文件十九、创立你本人的命令二十、每个人都须要磁盘空间二十一、打印“再见,我的敌人”二十二、答案Linux 治理秘籍 零、前言一、简介和环境设置二、SSH 远程管理三、网络和防火墙四、服务和守护程序五、硬件和磁盘六、安全性、更新和包治理七、监控和记录八、权限、SELinux 和 AppArmor九、容器和虚拟化十、Git、配置管理和作为代码的基础设施十一、网络服务器、数据库和邮件服务器十二、故障排除和工作场合内政十三、BSD、Solaris、Windows、IaaS 和 PaaS 以及 DevOpsLinux Mint 系统管理 零、前言一、Linux Mint 简介二、装置 Linux Mint三、Shell 根底四、帐户设置五、装置、删除和降级软件六、配置硬件七、建设工作网络八、存储和备份九、平安十、监控您的零碎十一、故障排除Linux Shell 脚本编程基础知识 零、前言一、脚本之旅的开始二、入手操作输出/输入、重定向管道和过滤器三、高效的脚本编写四、模块化和调试五、自定义环境六、应用文件七、欢送来到过程八、调度工作和在脚本中嵌入语言Linux 零碎编程技巧 零、前言一、取得必要的工具并编写咱们的第一个 Linux 程序二、让你的程序更容易编写三、深刻 Linux C 语言四、处理程序中的谬误五、解决文件输出/输入和文件系统操作六、生成过程和应用作业控制七、应用用systemd解决你的守护过程八、创立共享库九、终端输入输出和扭转终端行为十、应用不同品种的 IPC十一、在程序中应用线程十二、调试你的程序Linux 工具秘籍 零、前言一、应用终端/命令行二、桌面三、文件和目录四、网络和互联网五、权限、拜访和安全性六、过程七、磁盘和分区八、应用脚本九、应用 Cron 主动执行工作十、内核十一、附录 A:Linux 最佳实际十二、附录 b:寻找帮忙精通 CentOS7 Linux 服务器 ...

December 8, 2021 · 1 min · jiezi

关于linux:ApacheCN-Linux-译文集-20211129-更新

笨办法学 Linux 中文版 练习 0:起步练习 1:文本编辑器,vim练习 2:文本浏览器,少即是多练习 3:Bash:Shell、.profile、.bashrc、.bash_history练习 4:Bash:解决文件,pwd,ls,cp,mv,rm,touch练习 5:Bash:环境变量,env,set,export练习 6:Bash:语言设置,LANG,locale,dpkg-reconfigure locales练习 7:Bash:重定向,stdin,stdout,stderr,<,>,>>,|,tee,pv练习 8:更多的重定向和过滤:head,tail,awk,grep,sed练习 9:Bash:工作管制,jobs,fg练习 10:Bash:程序退出代码(返回状态)练习 11:总结练习 12:文档:man,info练习 13:文档:Google练习 14:包治理:Debian 包管理工具aptitude练习 15:系统启动:运行级别,/etc/init.d,rcconf,update-rc.d练习 16:解决过程,ps,kill练习 17:任务调度:cron,at练习 18:日志:/var/log,rsyslog,logger练习 19:文件系统:挂载,mount,/etc/fstab练习 20:文件系统:批改和创立文件系统,tune2fs,mkfs练习 21:文件系统:批改根目录,chroot练习 22:文件系统:挪动数据,tar,dd练习 23:文件系统:权限,chown,chmod,umask练习 24:接口配置,ifconfig,netstat,iproute2,ss,route练习 25:网络:配置文件,/etc/network/interfaces练习 26:网络:封包过滤配置,iptables练习 27:平安 Shell,ssh,sshd,scp练习 28:性能:获取性能状况,uptime,free,top练习 29:内核:内核音讯,dmesg练习 30:打磨、洗练、反复:总温习下一步做什么Debian 手动装置ArchLinux 环境建设操作手册 零、前言一、Arch Linux 环境设置操作指南Linux 基础知识 零、前言一、Linux 简介二、Linux 命令行三、Linux 文件系统四、应用命令行五、更高级的命令行和概念Linux 架构实用手册 零、前言第一局部:应用 GlusterFS 的高性能存储解决方案 一、设计方法论概述二、定义 GlusterFS 存储三、构建存储集群四、在云基础设施上应用 GlusterFS五、Gluster 零碎中的性能剖析第二局部:应用 Kubernetes 的高可用性 Nginx Web 利用 六、创立高可用性自我修复架构七、理解 Kubernetes 集群的外围组件八、构建 Kubernetes 集群九、部署和配置 Kubernetes第三局部:Elasticsearch 栈 十、利用 ELK 栈进行监控十一、设计 ELK 栈十二、应用 Elasticsearch、Logstash 和 Kibana 治理日志第四局部:应用 Saltstack 的系统管理 ...

December 8, 2021 · 3 min · jiezi

关于linux:为什么程序猿都应该学点linux命令

大家好,我是xindoo,明天和大家分享下一个我的观点——程序猿都应该学点Linux命令!这也是这两年我做后端开发的切身体会。意识我的人可能都晓得,我职业生涯比拟“非凡”,我毕业后先是干的运维,而后再转的Java开发。 运维的经验苦不堪言,但积攒下来的运维相干教训却让我在转开发后受益匪浅,其中一项就是相熟大部分罕用的Linux命令。 我曾经记不清多少次只用几行命令搞定他人半天都没搞定的事儿,而后拂袖离去,深藏功与名…… 学好linux命令有啥用?用linux命令日常提效的例子不可胜数,我说一些对我的显著作用。 疾速排查和定位问题举个很简略的场景,早上去下班,刚坐下忽然收到服务器的报警,CPU使用率98%!登陆服务器top命令能够疾速定位到是哪个过程或者线程,sar命令定位出问题产生工夫点,用cat、grep等命令疾速找到出问题时的日志……,分分钟解决问题。当高手泡杯茶的功夫解决问题时,老手还手足无措。 对于性能问题定位的命令,我之前翻译过篇文章10行命令60秒疾速定位性能瓶颈有趣味能够理解下。 数据荡涤和统计数据荡涤和统计的办法很多,就比方用excel就能够实现很多类型的统计工作,但针对一些简略的统计,我本人写个shell脚本也能分分钟搞定,尤其是当须要被统计的数据是间接在服务器上时。比方这台机器上服务明天员工报过多少次error。还有从日志中解析出某个接口明天所有申请的均匀、最大、最小耗时…… 像这种简略的数据荡涤和统计,我用grep、awk也能分分钟实现。 印象比拟深的一个经验,有次咱们在排查某个问题时,从两个零碎中导出了两份用户数据,想比照下每个用户在两个零碎里的数据差别,过后数据量还是挺多的。这种问题你会怎么办? 从服务器上拉到本地,而后用excel的vlookup如同也行。当服务器上数据不容许下载呢? 这两份数据如果是数据库里的两个表,很显著就是将两个表间接join起来(过后也有共事提出先将数据入库)。但在linux上用awk命令能够很容易实现这个性能,起初我也把具体方法写了一篇博客awk实现类sql的join操作 。 辅助开发辅助开发的事就不可胜数了,比方我用wget命令下载文件,用curl命令调试接口,用dig、ping、nc测试网络,用wrk压测接口…… 装X这个就不多说了,在控制台各种敲,很geek。 如何学习Linux命令以上说了好多学好linux命令的长处,我置信你必定按捺不住想要学了,这里我分享一些我的学习办法。 多练习,但没必要太刻意练习这个也算是陈词滥调了,如何货色想要纯熟,都须要大量的刻意练习,学习linux命令也不例外。 但我这里给一个忠告,就是没必要一次性花太多的工夫去熟练掌握某个linux命令,尤其是有些比拟冷门的命令。 很多命令的确很不罕用,如果你执着于一次性把握其所有参数,但长期不应用必定还是会遗记,到时候还是得从新学,投入产出比太低。 比方我之前学习过tcpdump的应用,过后大部分的参数根本都会用了,但tcpdump在日常工作中应用的太少了,而且也波及到大量网络的常识,我曾经很长时间没有用过了, 曾经遗记怎么应用了。 像这种工作中不太波及,也不罕用的命令,理解下就能够了,晓得它能干什么足以,等真正有需要的时候再去学。 先晓得有什么样的命令,再思考怎么去用Linux命令及其参数不能用浩如烟海来形容,但也算是不可胜数了,索性大部分的命令及参数是不会用到的,但也举荐大家略微记录下。 就比方我明天早上遇到一凌晨OOM的问题,我想去追溯那段时间机器的负载状况,最简略的形式就是用sar命令,方便快捷,尽管我早已遗记具体的参数,但man或者搜寻下立马就晓得了。 所以我的倡议是先晓得有什么样的命令,而后再按需要去理解具体命令的应用形式。初学者应该从最简略最罕用的命令开始学起,比方下图中的命令。 网上有很多常用命令的参考指南,我之前也写过一篇博客我罕用的Linux命令 善用man和搜索引擎在linux中,所有命令的应用形式都能够通过man命令来查问,包含具体的示意,各种参数的作用都有,都是命令的开发者提供了,必定保障准确无误,不过毛病是都是英文的,而且有些篇幅较长,对像我这种英文不太好的人不是很敌对。 另外,搜索引擎也是理解一个linux如何应用的好工具,网上有各种相干博客,有些入门网站(比方菜鸟教程)也有比拟体系化的教学内容,甚至有时候还能够找到你问题的解决方案。这种形式对老手比拟敌对,但这种形式的毛病是内容品质参差不齐,本人要做好信息的分别和筛选。 对于我不相熟的linux命令,我日常是两种办法都应用,比拟偏向于第二种,但在第二种无奈解决我问题时我会去看man珍藏,去寻找更业余的材料。 珍藏代码片段我可能比拟偏实用主义,学linux命令大多数状况都是为了解决具体的问题,而我遇到的问题各式各样,应用的办法也不一样,可能时隔良久才会反复呈现,等呈现时之前用的解决方案早就遗记了。为防止这种问题,我开始用snippetsLab记录一些罕用的代码片段,将本人写的略微简单且不是很罕用的代码片段保存起来,加上形容和标签不便检索,等之后如果再用到能够疾速找回。 比方像上文中awk实现join的性能,略微有点简单,每次让我从新写也不是写不进去,但还是须要花点工夫调试的。 这种与其每次都调,还不如记录下来下次贴过来间接应用。 这两年我曾经在snippetsLab中记录了数百条代码片段了。 结语说真的,尽管我不举荐做运维这个工作,尤其是在国内,但我十分倡议大家理解下运维相干的技能,尤其是各种罕用的linux命令,不论你是前端还是后端、不过是java还是go程序猿,都应该理解罕用的linux命令。

December 8, 2021 · 1 min · jiezi

关于linux:Centos7-更换国内源

备份本地源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak更新国内源针对国内源有很多,个别咱们抉择阿里或者163阿里:http://mirrors.aliyun.com/rep...163:http://mirrors.163.com/.help/...我这里应用阿里 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo清空yum缓存yum clean all重建yum缓存yum makecache更新yumyum upgrade

December 8, 2021 · 1 min · jiezi

关于linux:Linux常用命令如何操作文件

创立文件touch 文件名字 复制文件1、指标文件名字应用默认和源文件名字一样的名字 cp 源文件目录/源文件名字 指标文件目录/ 2、自定义指标文件名字 cp 源文件目录/源文件名字 指标文件目录/指标文件名字 注:cp,是copy的意思。 挪动文件mv 源文件目录/源文件名字 指标文件目录/指标文件名字 注:mv,是move的意思。 删除文件删除单个文件rm 文件名字 删除所有文件rm -r 文件目录 注:rm是remove的意思。-r参数,是递归的意思,即递归删除文件夹里的所有内容。 执行脚本文件如何应用? ./文件门路/文件名字 留神:须要加./ 批改文件执行权限如何应用? //批改文件执行权限gongzhihaodeMacBook-Pro:~ gongzhihao$ chmod 777 test2.txtgongzhihaodeMacBook-Pro:~ gongzhihao$//查看文件执行权限gongzhihaodeMacBook-Pro:~ gongzhihao$ ls -l test2.txt-rwxrwxrwx  1 gongzhihao  staff  62 Nov 27 14:11 test2.txtgongzhihaodeMacBook-Pro:~ gongzhihao$阐明: 1、数字7,示意有读、写和可执行权限 为什么有3个7? 因为有3个读/写/可执行权限。 2、rwx 示意,r(read)可读,w(write)可写,(execute)可执行。 3、参数-l 显示更多列的信息,比方查看rwx的权限。 不加的话,就只能看到文件名字。 使环境变量文件立刻失效步骤 批改vi 环境变量文件 立刻失效source 环境变量文件

December 7, 2021 · 1 min · jiezi

关于linux:Linux-Rsync断点续传持续更新

1. 磁盘空间满rsync: recv_generator: mkdir “/teacherclubBackup/rsync……” failed: No space left on device (28) 解决方案:思考应用lsblk查看挂在状况,fdisk -l查看分区。尝试扩容磁盘

December 7, 2021 · 1 min · jiezi

关于linux:优麒麟这款工具助你提高60的工作效率

你是不是常常感觉每天都在加班然而活却始终干不完?同样的工作,他人1小时能实现,你可能须要用上三倍的工夫?为了改掉迁延症,避免工夫节约,小编明天要通知你如何利用优麒麟自带的闹钟工具,迅速进步本人的工作效率! 进行集中式的工作布局咱们的一天须要实现多件事件,当咱们沉迷于实现某一件事件时,经常会因为太投入而不盲目的占用了属于其余事务的工夫。导致效率低下,工夫不够用。此时,你能够用优麒麟闹钟来辅助你合理安排工夫的工具,为每个工夫点配置好相应的闹钟,并实时进行揭示。 咱们假如一个场景:老板告诉今天上午进行PPT汇报。咱们须要在今天下午实现PPT制作。次要步骤分为以下几点: (1)工作拆分,咱们布局要集中用2小时实现工作,做一个PPT须要实现的工作为:确定PPT主题、确定纲要、实现内容的收集与填充、查看并模仿演练一遍。 (2)调配工夫:在每一项步骤调配工夫,比方我30分钟内要实现主题和纲要确认,内容的收集与填充安顿安顿50分钟,剩下40分钟用来模仿演练。 (3)依据布局制订好相应的闹钟,让闹钟在要害工夫点提醒你,帮忙你按时按量的实现工作。 同时,为了让你取得更好的应用体验,优麒麟还进行了以下设计: ● 反对滚轮调节,疾速设置闹钟工夫。 ● 反对自定义闹钟名称,清晰提醒你要实现的工作。最多可配置20个闹钟。 ● 反对自定义反复周期,进行闹钟揭示,老板再也不必放心我遗记写周报啦~ ● 可抉择玻璃、犬吠、声呐、雨滴等各具个性的揭示铃声,你就是全办公室最靓的仔。 在应用时你还能够个性化设置提醒和敞开性能: ● 闹钟工夫到,在右下角呈现提醒窗体,并播放铃声。窗体可主动并反对手动敞开。如果点击稍后揭示,默认会在2分钟后再次弹出揭示。 ● 闹钟在敞开时,如果抉择后盾运行,则闹钟会暗藏,无感知的运行在后台程序中,在闹钟工夫到时,进行揭示。再次在菜单栏点击闹钟图标,则会从新呈现闹钟主窗体。 ● 设置,弹出设置窗体。第一可配置闹钟里所有工夫展现的格局12时或24时制。第二可配置稍后揭示的工夫距离,默认2分钟。第三可配置默认铃声。 克服迁延,帮你掌控进度这个办法和用闹钟进行集中管理有殊途同归之妙,只是,闹钟罕用于多任务的集中性治理,而这个办法实用于单任务的治理。比方,PPT制作实现,进入最终的汇报环节。当咱们在进行PPT演示时,咱们同样能够借助优麒麟闹钟的倒计时性能,设置好本次汇报所需工夫,管制汇报的进度。 倒计时性能反对铃声配置,运行中暂停。倒计时工夫归零,进行右下角弹窗提醒,并播放铃声。 一直优化工作工夫,提高效率在做工作打算的时候,相熟的内容咱们会比拟理解须要消耗的工夫,然而在进行新工作时,往往把握不好消耗工夫,此时你就能够应用闹钟的秒表性能,比方你第一次剪辑视频,3min的视频你可能用了3小时,那接下来给本人定个指标,下一次我须要管制在2个半小时以内,一直的去优化,缩短应用工夫。 这个办法也能够用于考试,写稿等等场景,且秒表性能最多可记录100条数据,在面临多步骤工作时也实用。 产品将来降级布局闹钟作为一个稳固运行的产品,新版本次要针对用户在应用上的一些新需要、以及在款式上的好看调整。 目前打算减少以下四个性能,具体以实际上线为准。 (1)与邮件客户端联动 在邮件客户端创立了须要揭示的事件后,同步在闹钟利用配置一个对应的闹钟。工夫到,进行揭示,确保不错过重要的事件。 (2)自定义铃声 反对客户抉择一段音频,作为工夫到的揭示铃声。 (3)秒表记录色彩标记 针对一次秒表统计中的最长最短时间做非凡标记。 (4)科技感的迷你窗体 新版的迷你窗体,不仅展现工夫,还反对暂停与完结,窗体也更加精炼。 通过点击迷你窗口,窗体切换为只显示以后剩余时间的并置顶的粗劣窗体,点击对应图标能够切换回主窗体。 降级后的闹钟具备好看的视觉和易用的交互,在应用步骤上简略易懂,界面设计也更合乎用户操作个性。

December 7, 2021 · 1 min · jiezi

关于linux:linux4

权限计算方法文件默认权限:644目录默认权限:755 umask :用于设置权限计算参考值 #文件:666 - umask = 666 - 022 = 644 偶数运算 #文件:666 - umask = 666 - 033 = 633 + 011 = 644 奇数运算 #目录:777 - umask = 777 - 022 = 755 没有奇偶运算区别 umask为什么永恒设置的是022: 查看/etc/profile 文件 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ] 如果 条件01 && > < = >= <= ≠ gt lt eq ge le ne then 而后 umask 002 else 否则 umask 022 fi用户相干命令介绍张三 运维部门 sa_zhangsan sa组 1000~2000李四 开发部门 dev_lisi dev组 2001~3000王五 数据库局部 db_wangwu db组 3001~4000老男孩 全才 sa_oldboy sa组 dev db ...

December 5, 2021 · 2 min · jiezi

关于linux:Linux-sed-命令

[TOC] sed命令整体能够干嘛总体而言,sed命令能够对文本进行查找、删除、插入、替换等操作。它跟vim或者vi命令最大的去区别是,后者只能通过人工交互的形式,对文本进行解决。而很多时候,咱们心愿脚本自动化的进行文本处理,那么sed无疑是咱们的好帮手 命令简介sed OPTIONS [SCRIPT] [INPUTFILE...] OPTIONS 用于指定对解决后的文本的一些输入行为,比方-i,-n,后续会详解SCRIPT 定义理论的解决行为,比方想要查问什么、删除什么、插入什么INPUTFILE 这是具体要被解决的文本。文本还能够来自于管道符,于是命令格局形如下 echo "Welcome To The Geek Stuff" | sed 's/\(\b[A-Z]\)/\(\1\)/g'样例文本阐明为了不便对命令解决成果的阐明,首先咱们筹备一个文本sed_learn.txt,其内容如下 unix is great os. unix is opensource. unix is free os.learn operating system.unix linux which one you choose.查找在script中,以p做为查找输入命令,意即print 查找指定行数的内容并打印打印1到2行的文本 sed -n '1,2 p' sed_learn.txt 输入后果 unix is great os. unix is opensource. unix is free os.learn operating system.上述搜寻打印应用到了参数-n,具体解说 查找指定关键字所在的行,并打印打印蕴含unix关键字的行sed -n '/unix/p' sed_learn.txt,输入后果如下 unix is great os. unix is opensource. unix is free os.unix linux which one you choose.其中两斜杠/unix/ 两头,除了能够指定关键字,还能够指定正则表达式 ...

December 5, 2021 · 2 min · jiezi

关于linux:linux重要的目录之proc和dev目录

/proc/目录虚构文件系统,将内核与过程状态归档为文本文件(零碎信息都寄存这目录下) Linux零碎上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚构文件系统),存储的是以后内核运行状态的一系列非凡文件,用户能够通过这些文件查看无关零碎硬件及以后正在运行过程的信息,甚至能够通过更改其中某些文件来扭转内核的运行状态。 目录形容/proc/meminfo查看内存信息/proc/loadavg还记得 top 以及 uptime 吧?没错!上头的三个均匀数值就是记录在此!/proc/uptime就是用 uptime 的时候,会呈现的资讯啦!/proc/cpuinfo对于处理器的信息,如类型、厂家、型号和性能等。/proc/cmdline加载 kernel 时所下达的相干参数!查阅此文件,可理解零碎是如何启动的!/proc/filesystems  目前零碎曾经加载的文件系统罗!/proc/interrupts目前零碎下面的 IRQ 调配状态。/proc/ioports目前零碎下面各个安装所配置的 I/O 位址。/proc/kcore这个就是内存的大小啦!好大对吧!然而不要读他啦!/proc/modules目前咱们的 Linux 曾经加载的模块列表,也能够想成是驱动程序啦!/proc/mounts零碎曾经挂载的数据,就是用 mount 这个命令呼叫进去的数据啦!/proc/swaps到底零碎挂加载的内存在哪里?呵呵!应用掉的 partition 就记录在此啦!/proc/partitions应用 fdisk -l 会呈现目前所有的 partition 吧?在这个文件当中也有纪录喔!/proc/pci  在 PCI 汇流排下面,每个安装的详细情况!可用 lspci 来查阅!/proc/version外围的版本,就是用 uname -a 显示的内容啦!/proc/bus/*  一些汇流排的安装,还有 U盘的安装也记录在此喔!/dev/目录设施文件分为两种:块设施文件(b)和字符设施文件(c)设施文件个别寄存在/dev目录下dev是设施(device)的英文缩写。/dev这个目录对所有的用户都非常重要。因为在这个目录中蕴含了所有Linux零碎中应用的外部设备。然而这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个拜访这些外部设备的端口。咱们能够十分不便地去拜访这些外部设备,和拜访一个文件,一个目录没有任何区别。目录形容/dev/hd[a-t]IDE设施/dev/sd[a-z]SCSI设施/dev/fd[0-7]规范软驱/dev/md[0-31]软raid设施/dev/loop[0-7]本地回环设施/dev/ram[0-15]内存/dev/null有限数据接管设施,相当于黑洞/dev/zero有限零资源/dev/tty[0-63]虚构终端/dev/ttyS[0-3]串口/dev/lp[0-3]并口/dev/console控制台/dev/fb[0-31]framebuffer/dev/cdrom=> /dev/hdc/dev/modem=> /dev/ttyS[0-9]/dev/pilot=> /dev/ttyS[0-9]/dev/random随机数设施/dev/urandom随机数设施原文链接:https://rumenz.com/rumenbiji/... 关注微信公众号:【入门小站】回复【100】获取【Linux参考笔记手册】 举荐浏览:Linux查看文件内容命令总结

December 3, 2021 · 1 min · jiezi

关于linux:优麒麟项目亮相中日韩开源论坛-共话开源初心探索未来新可能

2021 年 12 月 3 日,由中国工业和信息化部、日本经济产业省和韩国将来发明科学部(以下简称中日韩)为推动开源软件倒退,独特主办的“中日韩三国 IT 局长 OSS 会议暨东北亚开源软件推动论坛”(以下简称“中日韩开源论坛”),以线上直播的模式胜利举办。 往年大会以“开源引领翻新,携手共拓数字将来”为主题,聚焦开源倒退的新技术、新模式、新利用,邀请来自中日韩三国企业代表在论坛上进行了开源前沿技术主题演讲。以中国的华为、小米、麒麟软件、腾讯、阿里、平凯星辰,日本的 FRAMEOO、PostgreSQL 企业联合会、富通、NEC,韩国的三星、Kakao、LG、Naver、Kt ds、韩国电子通信研究院为代表的中日韩的开源软件企业独特就技术倒退、我的项目利用、社区建设等开源畛域相干问题进行了深入探讨,并分享最新的技术停顿。 中国工业和信息化部信息技术倒退司司长谢少锋示意:开源提倡凋谢平等合作共享的理念,是当今世界公认的技术和产业翻新形式之一,是新一代信息技术和数字经济倒退的根底和能源,这也就是为什么,即便面临新冠疫情,中日韩三国仍旧要稳步推动开源工作的单干,将来将继续坚固三国的开源成绩,增强交换单干,充分发挥开源的价值和作用,助力三国企业高质量倒退。 麒麟软件很荣幸作为开源操作系统的代表,受邀加入本次大会,与各位行业专家分享旗下开源操作系统—优麒麟在这些年的技术研究成果,以及将来的倒退布局。会上,由麒麟软件有限公司副总裁李震宁代表麒麟软件进行分享,先是介绍了优麒麟及其截止目前的成绩: 优麒麟自创建以来曾经有 10 年的历史以及技术积淀,并失去了国内社区的认可。当初寰球累计下载量 3600+ 万次,沉闷爱好者和开发者 20+ 万人,累计向开源社区奉献代码超 400万 行,其中被 Linux、Gnome、Unity、OpenStack、Ceph 接管 Patch 超 7000 个。 其 UKUI 等外围组件更是被 Debian、ArchLinux、Ubuntu、openSUSE、Manjora、Fedora、openEuler、SparkyLinux 等 8 款国内外支流 Linux 发行版仓库收录。同时优麒麟也是寰球首个反对 ARM 桌面的开源操作系统发行版,也是惟一受邀退出 Linaro 社区的中国操作系统团队,在 Linux 赛道上,优麒麟也是处于第一梯队,目前曾经累计在寰球 30+ 城市、50+ 大学举办 100+ 场线下流动,造就数万 Linux 人才。 而将来,优麒麟也将投入更多的人力物力,将持续致力倒退,争取做寰球第一的 Linux 开源桌面操作系统,同时李震宁也在会上对日韩两国的技术专家发动邀请,邀请大家退出到优麒麟的生态建设中来,一起攻克难题,共享技术成绩,推动东北亚开源操作系统的倒退过程。 自主翻新,凋谢共赢 开源改革突飞猛进,发展趋势逐步向核心技术畛域拓展。突破开源界线,建设中日韩开源翻新的单干体系,成为新时代背景下促成东北亚科技单干的优质通路。 优麒麟作为中国开源我的项目代表,也将持续施展带头作用,增强与国内开源技术社区交换,集社区智慧力量,一直倒退翻新,构建起弱小的利用生态,早日在世界舞台,引领开源操作系统的倒退潮流,成为让世界认可的开源操作系统。

December 3, 2021 · 1 min · jiezi

关于linux:如何使用Systemd定时服务

我上一篇文章中介绍的locate文件查找命令,须要依赖updatedb更新索引能力疾速查找文件,因而须要定时运行该命令来更新文件索引。咱们晓得在Linux和类Unix零碎上通常应用crontab来创立定时工作。 在Ubuntu上咱们应用apt install mlocate之后,会装置一个脚本文件到 /etc/cron.daily/mlocate,也就是通过Cron机制来每天执行updatedb。然而在我的openSUSE上却并未发现有相干的Crontab配置,但我发现索引文件还是在每天的零点进行了更新,那这个定时工作是谁来执行的呢? 我通过查找与mlocate相干的文件,发现了以下几个文件: ❯ locate "mlocate"/etc/systemd/system/timers.target.wants/mlocate.timer/usr/lib/systemd/system/mlocate.service/usr/lib/systemd/system/mlocate.timer原来在openSUSE零碎上,应用的是Systemd的定时单元来实现的。Systemd是一种Linux零碎服务管理程序,在我之前的文章在OPENSUSE上应用SYSTEMCTL管理系统服务中介绍过。 那这里咱们将重点介绍下Systemd的定时服务(systemd timer unit)。 systemd定时单元相似与Cron,systemd的定时单元在Linux零碎上提供了机制来调度工作,相比于Cron机制,其余具备以下个性(在应用systemd作为初始化和服务治理的零碎上): 调度的工作能够依赖于其余systemd服务能够应用systemctl命令来治理定时单元,相似与治理systemd服务除了相似Cron的循环实时定时工作(realtime)之外,还反对一种基于非工夫事件触发的工作(monotonic)定时单元记录日志到systemd的日志零碎(journal),因而不便于对立监控和诊断systemd定时工作的类型下面的个性中,咱们提到其反对两种类型 - realtime 和 monotonic Realtime - 相似于Cron,这种类型的定时工作由定义的相对工夫来触发,在配置文件中通过 OnCalendar 选项来定义Monotonic - 这种类型的定时工作将会在指定的事件(例如系统启动,服务激活)肯定工夫后触发,在配置文件中通过 OnBootSec 和 OnUnitActiveSec ,OnStartupSec 等选项来定义,并且该类型的定时工作触发工夫不是固定的,在每一次零碎重启之后都会被重置systemd定时工作的配置在文章开始,咱们在寻找mlocate更新文件索引的定时工作时看到,有文件 /usr/lib/systemd/system/mlocate.timer ,没错,就是通过以 .timer 作为扩展名的systemd单元文件来定义systemd的定时单元的 [Unit]Description=Daily locate database updateDocumentation=man:updatedb[Timer]OnCalendar=dailyAccuracySec=12hUnit=mlocate.servicePersistent=true[Install]WantedBy=timers.target能够看到文件格式与systemd服务的单元文件相似,不过须要 [Timer] 段,在该段定义了如下选项 OnCalendar=daily,意思是每天触发AccuracySec=12h,意思是因为某些起因须要揣测执行的工夫Unit=mlocate.service,这里就是指定了须要执行的工作服务Persistent=true,指定如果因为关机等起因到时了为能执行工作的状况下,启动会立刻触发该工作那该定时单元指定了 mlocate.service 作为触发执行的工作,也就是 /usr/lib/systemd/system/mlocate.service 里定义的服务,那服务里就是定义应用 updatedb 命令去更新文件索引。 对于 OnCalendar ,其值反对的格局为 DayOfWeek Year-Month-Day Hour:Minute:Second,例如 OnCalendar=--* 5:00:00,指定在每天早上的5点执行OnCalendar=Fri 18:00:00,指定在每个月的周五下午6点执行在一个配置文件中,还能够指定多个 OnCalendar ,例如 OnCalendar=Mon..Fri 10:00OnCalendar=Sat,Sun 22:00下面的配置就指定了在周一到周五的每天上午10点,以及在周末两天的早晨10点执行。 上面咱们来举一个应用monotonic类型定时工作的例子,在目录 /etc/systemd/system/ 下服务单元文件 foo.service [Unit]Description="Foo shell script"[Service]ExecStart=/usr/local/bin/foo.sh同时创立一个定时单元文件 foo.timer ...

December 3, 2021 · 1 min · jiezi

关于linux:Linux一学就会之Centos文件权限管理

December 3, 2021 · 0 min · jiezi

关于linux:速看外媒评-2021-开发者首选最佳-Linux-桌面-Top-5FedoraArchGentoo-上榜

提到 Linux,很多普通用户会感觉离它很远,但如果你当初正用安卓手机看这篇文章的话,那么祝贺!你用的正是 Linux!其实更多时候,一些 Linux 发行版的确须要专业知识能力充分利用它们。 刚刚,外媒 ZDNet 就评比出了2021 年度面向开发人员的最佳 Linux 桌面 Top 5 ,一起来看看吧! Fedora:开发者的首选业内人士都晓得,Fedora 作为 Red Hat 红帽社区的 Linux 发行版,始终以来都是不少开发者及程序员们的第一抉择。 作为推动 Linux 极限的支流发行版,Fedora 由最新的 Linux 内核和最新的开源软件提供能源。 甚至连“大神”Linus Torvalds 也在应用 Fedora 进行开发工作,其重量还须要多说吗? 因而,Fedora 也被称为最前沿的 Linux ,比方 Fedora 易于装置和设置,用户无需成为 Linux 专家就能间接用;优良的 Fedora 开发人员门户提供了开发命令行、桌面、挪动和web应用程序的专用指南,且提供了开发硬件设施(如Arduino和Raspberry Pi)的优良指南,还附带了顶级的集成开发环境(IDE)Eclipse for Java、C/C++、PHP和Vagrant等开发工具,这是一种用于创立可复制、可移植的容器或基于虚拟机(VM)的开发环境的工具。 Arch-Linux/Manjaro-Linux:让你取得桌面的相对控制权如果你也心愿通过设置一个 Linux 桌面来实现工作,且依照心愿的形式进行查看的话,ArchLinux 就十分值得关注。有了 Arch,所有尽在你的掌控。 只管 Arch 的口号是“放弃简略”,但这对于首个“桌面”是 Bourne shell 的用户来说,这的确不难,而对于那些没有应用命令行的用户来说,这就是另一回事了。 Arch 只有一个命令 shell,这齐全取决于您将应用哪种桌面环境以及如何定制。即便在其优良如 ArchWiki 文档网站的帮忙下,您也会有很多工作要做,十分不容易。然而,一旦实现后,您将会领有一个举世无双的专属桌面。 如果听起来太简单,您也能够应用 Manjaro Linux 发行版,它有三个次要的桌面版本:GNOME、KDE Plasma 和 XFCE。如果你想切换 Linux 内核,Manjaro 是为数不多的几个易于切换操作系统的发行版之一。它同时反对多个内核,只需重新启动零碎,在“启动”菜单中进行抉择,就能够回到桌面,再运行一个新内核即可。 ...

December 3, 2021 · 1 min · jiezi

关于linux:推荐2款文件系统中查找文件的工具

家喻户晓,在Linux或者类Unix的文件系统中,想通过文件名关键字查找文件,能够通过find命令。那本文将举荐2款能够疾速查找文件的工具,性能比find命令更好,可在某些场景下替换find的应用。 mlocate大部分的Linux发行版的都提供了 mlocate 软件包,该软件包蕴含了一个locate命令用于查找文件,和一个updatedb命令用于更新文件索引供locate应用。 可间接通过零碎的软件包管理工具间接装置 # CentOS/RHEL$ sudo dnf install mlocate# Debian/Ubuntu$ sudo apt install mlocate装置实现后,首先须要执行以下命令进行文件索引 sudo updatedb索引文件将默认寄存在 /var/lib/mlocate/mlocatedb ,也能够批改配置文件 /etc/updatedb.conf 文件,增加某些不须要索引的文件夹,例如 # Paths which are pruned from updatedb databasePRUNEPATHS="/tmp /var/tmp /var/cache /var/lock /var/run /var/spool /mnt /cdrom /usr/tmp /proc /media /sys /.snapshots /var/run/media"实现索引之后,就能够应用 locate <pattern> 命令进行文件查找了,例如 $ locate mlocate/etc/systemd/system/timers.target.wants/mlocate.timer/usr/bin/rpmlocate/usr/lib/systemd/system/mlocate.service/usr/lib/systemd/system/mlocate.timer/usr/sbin/rcmlocate/usr/share/doc/packages/mlocate/usr/share/doc/packages/mlocate/AUTHORS/usr/share/doc/packages/mlocate/ChangeLog/usr/share/doc/packages/mlocate/NEWS/usr/share/doc/packages/mlocate/README/usr/share/licenses/mlocate/usr/share/licenses/mlocate/COPYING/usr/share/man/man5/mlocate.db.5.gz/var/lib/mlocate/var/lib/mlocate/mlocate.db/var/lib/mlocate/mlocate.db.9O5YsQ/var/lib/systemd/migrated/mlocate/var/lib/systemd/timers/stamp-mlocate.timer能够应用 -b 选项进行准确匹配,例如上面两个查问的后果区别 $ locate -b '\updatedb'/usr/bin/updatedb留神应用 -b 时,须要在搜寻的要害自前应用 \ 。 $ locate 'updatedb'/etc/updatedb.conf/etc/apparmor.d/usr.bin.updatedb/usr/bin/updatedb/usr/share/augeas/lenses/dist/updatedb.aug/usr/share/man/man5/updatedb.conf.5.gz/usr/share/man/man8/updatedb.8.gz/usr/share/nvim/runtime/ftplugin/updatedb.vim/usr/share/nvim/runtime/syntax/updatedb.vim/usr/share/vim/vim80/ftplugin/updatedb.vim/usr/share/vim/vim80/syntax/updatedb.vim还能够应用 -r 进行根本的正则表达式模式匹配查找,能够查看 locate --help 或者 man locate 。 接下来咱们将介绍另一款find的代替平 - fd 。 ...

December 3, 2021 · 1 min · jiezi

关于linux:linux基础3

tar打包命令tar 命令经常用于打包、压缩某些文件或目录,也能够增加新文件到归档文件中。Tar 代表的是磁带存档,是一种归档的文件格式,晚期用于将文件归档到磁带备份存储。现能够用于收集、散发、归档文件,还能够保留文件原有的属性,如:用户和组权限,拜访和批改日期以及目录构造 tar zcvf /backup/oldboy.tar.gz /etc/ /oldboy/ /var/log/messages tar: 从成员名中删除结尾的“/” --- 压缩数据信息,如果采纳绝对路径,在压缩时会将/目录信息移出 解释:移出/ 根目录信息,次要是防止解压后数据会笼罩原有目录中数据信息 (默认设置) 查看压缩包数据信息: tar tf /backup/oldboy.tar.gz tar zxvf x --- 提取压缩包中数据信息 tar zxvf oldboy.tar.gz -C /data --- 将解压后的数据保留到指定目录中 (默认解压数据到当前目录)补充:find删除目录局部数据信息 形式一:将自身定位目录进行排除 find /oldboy/ -mindepth 1 ! -name "*.tar.gz" /oldboy/hosts /oldboy/services find /oldboy/ ! -path /oldboy/ ! -name "*.tar.gz" /oldboy/services /oldboy/hosts 命令(脚本文件) 参数信息 文件或目录(参数) --- 脚本 find /oldboy/ -mindepth 1 ! -name "*.tar.gz"|xargs rm -rf xargs --- 放在管道符号前面,示意将管道符号后面命令产生的后果信息转换为参数信息,再交给xargs之后的命令进行解决 ...

December 2, 2021 · 3 min · jiezi

关于linux:linux之cp强制复制文件

cp复制行为cp -rf /rumenz/* /bar,但依然提醒我确认每个笼罩。 cp -rf /rumenz/* /barcp: overwrite ‘bar/rumenz.html’? y零碎会一个一个文件提醒,如果目录文件很多,就很麻烦 起因:在.bashrc文件中定义了alias cp='cp -i'的别名,所以每个文件都会提醒. yes不必一个个确认> yes | cp -rf /rumenz/* /bar卸载别名unalias cp cp -f rumenz.txt tmp/rumenz.txtalias cp="cp -i" 应用反斜杠> \cp -rf /rumenz/* /bar应用反斜杠,就不会应用零碎中定义的别名原文链接:https://rumenz.com/rumenbiji/... 关注微信公众号:【入门小站】回复【100】获取【Linux参考笔记手册】 举荐浏览:Linux查看文件内容命令总结

December 2, 2021 · 1 min · jiezi

关于linux:linux-查看所有用户的三种方式

通过应用 /etc/passwd 文件,getent 命令,compgen 命令这三种办法查看零碎中用户的信息。 大家都晓得,Linux 零碎中用户信息寄存在 /etc/passwd 文件中。 这是一个蕴含每个用户根本信息的文本文件。当咱们在零碎中创立一个用户,新用户的详细信息就会被增加到这个文件中。 /etc/passwd 文件将每个用户的根本信息记录为文件中的一行,一行中蕴含 7 个字段。 /etc/passwd 文件的一行代表一个独自的用户。该文件将用户的信息分为 3 个局部。 第 1 局部:root 用户信息第 2 局部:零碎定义的账号信息第 3 局部:实在用户的账户信息第一局部是 root 账户,这代表管理员账户,对系统的每个方面都有齐全的势力。 第二局部是零碎定义的群组和账户,这些群组和账号是正确装置和更新系统软件所必须的。 第三局部在最初,代表一个应用零碎的实在用户。 在创立新用户时,将批改以下 4 个文件。 /etc/passwd: 用户账户的详细信息在此文件中更新。/etc/shadow: 用户账户明码在此文件中更新。/etc/group: 新用户群组的详细信息在此文件中更新。/etc/gshadow: 新用户群组明码在此文件中更新。:应用 /etc/passwd 文件应用任何一个像 cat、more、less 等文件操作命令来打印 Linux 零碎上创立的用户列表。 /etc/passwd 是一个文本文件,其中蕴含了登录 Linux 零碎所必须的每个用户的信息。它保留用户的有用信息,如用户名、明码、用户 ID、群组 ID、用户 ID 信息、用户的家目录和 Shell 。 /etc/passwd 文件将每个用户的详细信息写为一行,其中蕴含七个字段,每个字段之间用冒号 : 分隔: [root@centosb ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinsystemd-network:x:192:192:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinabrt:x:173:173::/etc/abrt:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinchrony:x:998:996::/var/lib/chrony:/sbin/nologinmysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/falsentp:x:38:38::/etc/ntp:/sbin/nologin7 个字段的详细信息如下。 ...

December 2, 2021 · 1 min · jiezi

关于linux:更快更稳更高效Ubuntu-Kylin-2004-Pro-SP1-正式发布

12 月 2 日,优麒麟团队正式发表 Ubuntu Kylin 20.04 Pro SP1 上线。此版本默认搭载 Linux 5.11 内核,新增显示器显示模式的记忆反对、鼠标拖拽反对等性能,优化网络插件、登录程序和定时关机等零碎组件,修复了用户手册程序解体、软件商店暂停键刷新不及时、蓝牙传输空文件失败等重大问题, 累计 200+ 桌面环境和应用软件方面的已知问题失去解决,从而全面晋升零碎稳定性和安全性,为用户提供更加高效便捷的应用体验,欢送大家下载应用。 全新内核加持,性能反对更弱小! UKUI 桌面环境优化,应用更晦涩! 自研软件全面降级,体验更高效! 装置形式 1. 通过官网下载全新装置: https://www.ubuntukylin.com/d... 2. 已装置 Ubuntu Kylin 20.04 和 20.04 Pro 正式版的用户通过以下形式降级: $ sudo apt update$ sudo apt full-upgrade零碎性能改良与BUG修复日志桌面环境改变网络插件 修复开启投屏后,点击无线模块,列表加载失败的问题修复可连贯网络中仍然显示“已连贯上的网络”的名称的问题修复敞开无线网络,无线连接列表仍存在 WiFi 列表,开关仍处于关上状态的问题修复在新建用户进行网络连接或批改,会弹两次受权窗口的问题修复网络连接开关按钮提早响应,且网络刷新迟缓的问题修复正在连接的有线网络和顶部“以后未连贯任何网络”文字重叠的问题修复设置谬误的 IP 地址进行有线连贯,任务栏的有线网络图标没有加载动画的问题修复同时连贯有线和无线网络,睡眠唤醒后不显示可用的有线连贯的问题修复拔掉网线,重启零碎后插入网线,有线网络开关未主动关上的问题修复任务栏无线列表中,网络安全性信息显示不全的问题修复断开网线的状况下,新建一个有线网络,网络连接界面没有显示的问题窗口切换 修复截图后固定在桌面的工作在窗口切换界面图标显示不全的问题修复 Alt+Tab 不能切换多任务视图的问题修复在桌面预览界面,挪动窗口后,预览界面显示不正确的问题智能搜寻 修复解析加密 DOC 文件时索引解体的问题修复一个潜在的索引解体问题优化关键词提取流程,缩短索引所需的工夫修复在弹出建设索引提醒弹窗后按 WIN+D,点击任务栏托盘无奈呼出页面的问题修复偶现的点击最佳列表,右侧详情显示谬误的问题电源治理 修复无奈在设定的工夫内进入睡眠模式的问题锁屏程序 新增基于 session 闲暇工夫封装的一层闲暇工夫接口修复开机后先显示桌面后显示登录界面的问题修复在本地设置一张GIF 格局的图片作为锁屏界面,切换用户或登记之后锁屏界面换壁纸的问题修复锁屏时,按 WIN+P 会在输入框输出字符的问题任务栏 修复切换英文,登记从新登录后,任务栏图标隐没的问题优化收集箱格调登录程序 修复装置零碎设置中勾选开机主动登录,胜利登录后新建一个用户,切换用户必现屏幕白屏的问题修复登录明码长度达到最大值无提醒的问题修复设置明码时效到期后登录失败的提示信息一闪而过,无奈看清具体提醒的问题修复启动时段谬误优化登录体验,默认启动 NumLock 小键盘,并做成可配置的是否主动开启UKUI 接口 新增桌面操作系统版本信息对立接口修复 log4qt 日志库偶现开释资源时因期待线程退出阻塞过程退出的问题修复会话偶现卡住的问题零碎告诉后台程序 修复点击桌面弹窗的截图和侧边栏的截图跳转不统一的问题去除应用 dbus 获取屏幕信息接口,改为应用 Qt 默认机制获取设置后端 ...

December 2, 2021 · 1 min · jiezi

关于linux:Linux一学就会之Centos8用户管理

December 2, 2021 · 0 min · jiezi

关于linux:玩坏-Linux-的-N-种方式-垃圾代码中有死循环

本系列是查阅有数材料,又不想从头开始读厚厚的计算机操作系统教材,痛定思痛之后脑洞大开的后果。鉴于我有一些根底概念,那就从破坏性试验开逆向思考:用垃圾代码搞坏 Linux,顺便理解各种状况下系统诊断命令的输入。 我的智商下,第一个可能搞坏操作系统的代码就是死循环了。 先上代码。最简略的 Python。 def run(): i = 0 while(True): i += 1if __name__ == "__main__": run()在 linux 上执行这个 Python 脚本。 应用 top 查看 要害信息: load avarage 的三个值顺次开始升高。因为别离代表 1 、 5、 15 分钟的零碎负载load avarage 第一位一分钟后达到 ~ 1。示意单核 cpu 被占满。python 过程的 cpu 达到 100%,该过程所在的 cpu 占满。cpu idle 达到 93.5 ,阐明整体看 cpu 还是十分空的。 idle 近似了解成空跑。晶振在不停的发时钟信号,然而没有工作要做。持续用 htop 看零碎状态 能够看到编号是 10 的 CPU 占用率居高不下,其余 cpu 没动静。传说中的:一方有难、八方围观。 要害信息: 死循环执行一段时间后 load avarage 当初都起来了,顺次起立。起来吧,极寒交迫的 CPU零碎硬件 CPU 是 8 core 16 thread。Htop 外面 cpu 显示了 16 个。一个过程会在一个固定逻辑 cpu 中执行,不会调度到其余 cpu 上。毁坏加码 ...

December 2, 2021 · 1 min · jiezi

关于linux:常用项目部署方案和区别

我的项目部署类型和区别 一 市场罕用我的项目部署计划市场罕用我的项目服务部署分为:蓝绿部署、滚动部署、灰度部署(金丝雀部署)、性能开关公布等 依据 2017 年的 DevOps 倒退报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差别。技术组织的软件交付能力是一种综合能力,波及泛滥环节,其中公布是尤为重要的环节。 以后支流的公布策略,每个的优劣,适用性,让开发人员特地是架构师对古代公布技术有一个更为清晰全面的意识,让大家可能依据本人的企业上下文,对公布策略做出正确的选型和实际。 产品或我的项目不可能一步到位,一次性推向用户,故而有版本的存在。在app版本更新或者我的项目迭代的过程中,不可避免须要公布。公布就是部署;部署就是批改;批改则意味着危险。 二 单服务器组公布先解释下单服务器组的概念,新近咱们机器资源比拟缓和,不像当初云计算和虚拟化(包含容器技术)这么发达,所以利用机器根本是事后动态调配好的(个别由运维负责调配),原来利用 A 住在这 n 台机器上,那么下次降级公布的利用 A 也住在这 n 台机器上,所以称为单服务器组公布形式。 2.1 蛮力公布如下图所示,这种公布形式比较简单粗犷,有点像咱们传统的软件降级形式,次要靠手工实现,先将老版本 V1 全副下掉,再将新版本发到机器下来。这种形式会引入服务中断(停机),在开发测试环境是可行的,但对于生产环境公布,其会间接影响用户的应用体验,这种形式个别是不倡议的。 公布前: 公布后: 劣势和实用场合劣势:简略成本低有余:服务中断用户受影响,出了问题回退也慢实用场合:开发测试环境非关键利用(用户影响面小)初创公司什么都缺,找夜深人静用户访问量小的工夫干流量模式 蛮力发布会引入服务中断工夫 2.2 金丝雀公布(单服务器组)在蛮力公布根底上的一种简略改良公布形式,目前依然是不少成长型技术组织的支流公布形式。单服务器组下的金丝雀公布的简化步骤如下图所示: 公布前: 先发一台金丝雀: 全副发完: 实际要点1、金丝雀公布个别先发 1 台,或者一个小比例,例如 2% 的服务器,次要做流量验证用,也称为金丝雀 (Canary) 测试(国内常称灰度测试)。以前旷工开矿下矿洞前,先会放一只金丝雀进去探是否有有毒气体,看金丝雀是否活下来,金丝雀公布由此得名。简略的金丝雀测试个别通过手工测试验证,简单的金丝雀测试须要比较完善的监控基础设施配合,通过监控指标反馈,察看金丝雀的健康状况,作为后续公布或回退的根据。2、如果金丝测试通过,则把残余的 V1 版本全副降级为 V2 版本。如果金丝雀测试失败,则间接回退金丝雀,公布失败。 劣势和实用场合劣势:用户体验影响小,金丝雀公布过程呈现问题只影响大量用户有余:公布自动化水平不够,公布期间可引发服务中断实用场合:对新版本性能或性能不足足够信念用户体验要求较高的网站业务场景不足足够的自动化公布工具研发能力流量模式 大量金丝雀先承受流量,再全量公布 2.3 滚动式公布(单服务器组)滚动式公布国外术语通常叫 Rolling Update Deployment 在金丝雀公布根底上的进一步优化改良,是一种自动化程度较高的公布形式,用户体验比拟平滑,是目前成熟型技术组织所采纳的支流公布形式。单服务器组下的滚动公布的简化步骤如下图所示: 公布前: 公布中,先发一台金丝雀 公布中,再发若干台 直到全副发完: 实际要点滚动式公布个别先发 1 台,或者一个小比例,如 2% 服务器,次要做流量验证用,相似金丝雀 (Canary) 测试。滚动式公布须要比较复杂的公布工具和智能 LB,反对平滑的版本替换和流量拉入拉出。每次公布时,先将老版本 V1 流量从 LB 上摘除,而后革除老版本,发新版本 V2,再将 LB 流量接入新版本。这样能够尽量保障用户体验不受影响。一次滚动式公布个别由若干个公布批次组成,每批的数量个别是能够配置的(能够通过公布模板定义)。例如第一批 1 台(金丝雀),第二批 10%,第三批 50%,第四批 100%。每个批次之间留察看距离,通过手工验证或监控反馈确保没有问题再发下一批次,所以总体上滚动式公布过程是比拟迟缓的 (其中金丝雀的工夫个别会比后续批次更长,比方金丝雀 10 分钟,后续距离 2 分钟)。回退是公布的逆过程,将新版本流量从 LB 上摘除,革除新版本,发老版本,再将 LB 流量接入老版本。和公布过程一样,回退过程个别也比较慢的。劣势和实用场合劣势:用户体验影响小,体验较平滑有余:公布和回退工夫比拟迟缓公布工具比较复杂,LB 须要平滑的流量摘除和拉入能力实用场合:用户体验不能中断的网站业务场景有肯定的简单公布工具研发能力;流量模式 ...

December 2, 2021 · 2 min · jiezi

关于linux:linux重要目录之usr和var

/usr/目录usr是user的缩写,是已经的HOME目录,然而当初曾经被/home取代了,当初usr被称为是Unix System Resource,即Unix系统资源的缩写。默认软件都会存于该目录下。用于存储只读用户数据的第二档次;蕴含绝大多数的用户工具和应用程序。目录形容/usr/X11R6寄存X-Windows的目录;/usr/games寄存着XteamLinux自带的小游戏;/usr/docLinux技术文档;/usr/include用来寄存Linux下开发和编译应用程序所须要的头文件;/usr/lib寄存一些罕用的动静链接共享库和动态档案库;/usr/man帮忙文档所在的目录;/usr/srcLinux凋谢的源代码,就存在这个目录,爱好者们别放过哦;/usr/bin/非必要可执行文件 (在单用户模式中不须要);面向所有用户。/usr/lib//usr/bin/和/usr/sbin/中二进制文件的库。/usr/sbin/非必要的零碎二进制文件,例如:大量网络服务的守护过程。/usr/share/体系结构无关(共享)数据。/usr/src/源代码,例如:内核源代码及其头文件。/usr/X11R6/X Window零碎版本 11, Release 6./usr/local/本地数据的第三档次,具体到本台主机。通常而言有进一步的子目录,例如:bin/、lib/、share/.这是提供给个别用户的/usr目录,在这里装置个别的应用软件;/var/目录/var 包含零碎个别运行时要扭转的数据.每个零碎是特定的,即不通过网络与其余计算机共享.目录形容/var/log/message日志信息,按周主动轮询/var/spool/cron/root定时器配置文件目录,默认按用户命名/var/log/secure记录登陆零碎存取信息的文件,不论认证胜利还是认证失败都会记录/var/log/wtmp记录登陆者信息的文件,last,who,w命令信息来源于此/var/spool/clientmqueue/当邮件服务未开启时,所有应发给系统管理员的邮件都将堆放在此/var/spool/mail/邮件目录/var/tmp  比/tmp 容许的大或须要存在较长时间的临时文件. (尽管系统管理员可能不容许/var/tmp 有很旧的文件.)/var/lib  零碎失常运行时要扭转的文件.  /var/local  /usr/local 中装置的程序的可变数据(即系统管理员装置的程序).留神,如果必要,即便本地装置的程序也会应用其余/var 目录,例如/var/lock .  /var/lock  锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以反对他们正在应用某个特定的设施或文件.其余程序留神到这个锁定文件,将不试图应用这个设施或文件./var/log/各种程序的Log文件,特地是login   (/var/log/wtmp log所有到零碎的登录和登记) 和syslog (/var/log/messages 里存储所有外围和零碎程序信息. /var/log 里的文件常常不确定地增长,应该定期革除.  /var/run  保留到下次疏导前无效的对于零碎的信息文件.例如, /var/run/utmp 蕴含以后登录的用户的信息./var/cache/应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须可能再生或复原数据。缓存的文件能够被删除而不导致数据失落。原文链接:https://rumenz.com/rumenbiji/... 关注微信公众号:【入门小站】回复【100】获取【Linux参考笔记手册】 举荐浏览:Linux查看文件内容命令总结

December 1, 2021 · 1 min · jiezi

关于linux:linux基础2-系统重要文件介绍

零碎重要文件介绍: /etc能够用于设置变量与别名信息: /etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile以上文件配置改变后如何失效:形式一:从新建设连贯会话形式二:执行命令从新加载文件 source /etc/profile . /etc/profile source == .设置变量:能够让变量永恒失效 /etc/profile /etc/bashrc: 文件配置变量信息之后,会全局失效(零碎中所有用户都能够辨认)~/.bashrc ~/.bash_profile:文件配置变量信息之后,只会部分失效(只有指定用户能够辨认,其余用户无奈辨认) 总结:部分设置会优先于全局设置 别名设置:能够让简单命令简单化 设置办法:alias 别名名称-ifnet0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' (长期设置) alias ifnet0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'PS:别名名称信息尽量不要和已有命令名称抵触 将变量设置信息放入:/etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile 能够使别名全局失效 vim /etc/profile alias ifnet0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' 最初一行 如何勾销别名:形式一:利用unalias勾销别名形式二:采纳命令绝对路径形式执行 /bin/cp /etc/hosts /tmp/ 形式三:进行命令本义过程 \cp /etc/hosts /tmp/ 问题:心愿设置一个rm别名 rm等于将要删除的信息挪动到长期目录第一个历程:编写别名设置信息 alias rm='mv -t /tmp' rm /etc/hosts mv -t /tmp /etc/hosts 第二个历程:将别名设置信息放入/etc/profile文件中 vi /etc/profile alias rm='mv -t /tmp' 第三个历程:查看是否有用户局部变量设置 vi ~/.bashrc # alias rm='rm -i' ...

December 1, 2021 · 2 min · jiezi

关于linux:干货分享-Debian包的潜规则脚本篇

咱们在装置一个 Debian 包时,可能须要在装置或者卸载时去解决一些额定的安装操作,比方:新建一个目录,进行一个正在运行的服务等。这时就要用到一些非凡的脚本,“维护者脚本”。顾名思义,这是咱们的研发人员经常会用到的脚本。 常见维护者脚本报错 ●“dpkg (subprocess): unable to execute installed post-installation script (/var/lib/dpkg/info/xxx.postinst)” ● 下面这个报错应该很常见,这就是在装置时执行维护者脚本呈现问题的报错。上面将会介绍一下这些脚本。 一、四大维护者脚本文件 “preinst、postinst、prerm 和 postrm”1、根本形容binarypackage.preinst,binarypackage.postinst,binarypackage.prerm,binarypackage.postrm 这四类文件被称为维护者脚本,这些脚本被搁置在 Debian 目录下的管制区内,并且被“dpkg”用来管制装置,降级和删除。 2、具体性能这些文件是可执行脚本,在装置或删除包之前或之后主动运行。连同一个名为 control 的文件,所有这些文件都是 Debian 存档文件的 “control” 局部的一部分。上面 foo 代指二进制安装包名。 01 foo.preinst:软件装置前执行的脚本 在从 deb 文件中解压缩它所属的包之前执行此脚本。许多 preinst 脚本进行正在降级的包的服务,直到它们的装置或降级实现。 02 foo.postinst:软件装置后执行的脚本 一旦 foo 从它的 deb 文件中解包,这个脚本通常会实现包 foo 装置实现后的必须配置工作。通常,postinst 脚本会要求用户输出,或正告用户,如果他们承受默认值,他们应该记得返回并依据须要重新配置该包。一旦装置或降级了新包,许多 postinst 脚本就会执行脚本内的命令来启动或重启服务。 03 foo.prerm:软件卸载前执行的脚本 此脚本通常会进行与包关联的任何守护过程,它在卸载软件包的相干文件前执行。 04 foo.postrm:软件卸载后执行的脚本 这个脚本通常批改与 foo 相干的链接或其余文件,或删除由包创立的文件。 目前所有的管制文件都能够在/var/lib/dpkg/info 目录下找到。与包 foo 相干的文件以名称"foo"结尾,并有适当的文件扩展名"preinst", "postinst"等。 3、维护者脚本的执行流程当你在执行装置或卸载命令时,维护者脚本的执行程序如下: ● 首次装置某 deb 包时,执行“dpkg -i test_v1.deb”装置,Debian 上面管制脚本按如下程序执行: ...

December 1, 2021 · 2 min · jiezi

关于linux:LinuxCentOSUbuntu查看文件内容命令总结

Linux/CentOS/Ubuntu查看文件内容命令总结cd 命令,用于切换当前目录,它的参数是要切换到的目录的门路,能够是绝对路径,也能够是相对路径。cd /home    进入 '/ home' 目录cd ..            返回上一级目录 cd ../..         返回上两级目录 cd               进入集体的主目录 cd ~user1   进入集体的主目录 cd -             返回上次所在的目录pwd 命令,显示工作门路[root@mailvip ~]# pwd/rootls 命令,查看文件与目录的命令,list 之意ls 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 列出全副文件,蕴含暗藏文件ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示进去  ls [0-9] 显示蕴含数字的文件名和目录名cp 命令,用于复制文件,copy 之意,它还能够把多个文件一次性地复制到一个目录下-a :将文件的个性一起复制-p :连同文件的属性一起复制,而非应用默认形式,与-a类似,罕用于备份-i :若指标文件曾经存在时,在笼罩时会先询问操作的进行-r :递归继续复制,用于目录的复制行为 //常常应用递归复制-u :指标文件与源文件有差别时才会复制mv 命令,用于挪动文件、目录或更名,move 之意-f :force强制的意思,如果指标文件曾经存在,不会询问而间接笼罩-i :若指标文件曾经存在,就会询问是否笼罩-u :若指标文件曾经存在,且比指标文件新,才会更新rm 命令,用于删除文件或目录,remove 之意-f :就是force的意思,疏忽不存在的文件,不会呈现正告音讯-i :互动模式,在删除前会询问用户是否操作-r :递归删除,最罕用于目录删除,它是一个十分危险的参数 关注微信公众号:【入门小站】回复【100】获取【Linux参考手册】下载地址

December 1, 2021 · 1 min · jiezi

关于linux:Linux-之父-Linus-Torvalds-桌面版-Linux-的程序兼容性才是最糟糕的问题你怎么看

近日,“Linux 之父” Linus Torvalds 在 7 年前某会议上对桌面版 Linux 所存在问题进行“吐槽”的视频,再次被网友和媒体们挖了进去,由此引发了热议。 视频中,Linus 强调:乱改外围,造成应用程序不兼容,这才是桌面版 Linux 最蹩脚的问题所在! 家喻户晓,Linus 向来以犀利、激进的语言而闻名。去年,Linus 还对 Intel 的 Advanced Vector Extensions 512(AVX-512)指令集提出了一些激进认识,称其为“功率病毒”,并怒喷 Intel 婉言“去死”。 而在这个视频中,Linus 就直指各大 Linux 桌面发行版的程序兼容性问题,并强调了该问题将给开发者和普通用户带来的很多蹩脚体验。 首先,Linus 指出了Linux 决裂的一个重要起因:每个发行版都在随便地批改 glibc 库,扭转底层 API。 因为这些 API 的差异导致利用开发者无奈为 “Linux” 平台创立一个通用的包,因而利用的二进制文件通常只能实用于某个发行版。 咱们晓得,Linus 始终以来都在呐喊且要求各版本的 Linux 尽量不要更改外围,不能毁坏用户空间,但事实中根本没人恪守这个准则。 Linus 示意,本人也参加了一个聊天软件的开发,为 Windows 和 OSX 制作了二进制文件包,但“我个别不为 Linux 桌面制作二进制文件,不同的 Linux 发行版有不同的规定,因为给不同版本的 Linux 做适配真他X的苦楚。” 其次,API 的变动也会让一些桌面版 Linux 在向后兼容方面变得很差,Linus 称这会给非开发者的普通用户带来很不好的交互体验。 最初,Linus 也谈到了桌面版 Linux 在包治理上节约了太多精力,以及 SteamOS 对桌面 Linux 发行版的影响等。 ...

December 1, 2021 · 1 min · jiezi

关于linux:Linux-DIY-一个脚本壁纸工具

在Linux没找到适合的壁纸软件,于是估摸着本人简略实现了一个。 性能由三局部实现: bgwall 软件主体,由 ruby 编写的脚本。调度图片获取脚本,以及壁纸更换。./fethch_script/ 寄存获取图片的脚本。./post_script/ 寄存对获取后的图片进行前期加工的脚本。成果源码如下 (相当之简陋 勉强能用) #!/usr/bin/env ruby# encoding:utf-8# -*- coding: UTF-8 -*-require 'fileutils'# 壁纸更换距离DURA = 30 * 60IMGS = 2# 图片脚本调用形式 INDEX 程序; RANDOM 随机FETCH = 'INDEX'VALS = { :INDEX_FETCH => 0, :COUNT_FETCH => 0 }# 图片长期寄存门路IMG = '/tmp/bgwall/'FSC = './fetch_script/'PSC = './post_script/'CBG = "#{IMG}/bgwall_current.png"NBG = "#{IMG}/bgwall_next.png"def call_bg_script(script, img_dir, count)return nil if script.nil?file = `#{script[0]} #{img_dir}/#{script[1]}_#{count} #{count}`.chompputs ">>> bg [#{file}] fetch by #{script[1]}"return fileenddef call_post_script(img_path)Dir::open(PSC).filter{|f| f.start_with? /\d+/ and File.executable? PSC + f }.sort.map{|v| [PSC + v, v] }.each_with_index do |script,index| nName = "#{IMG}#{index}_#{File.basename(img_path)}" FileUtils.copy_file img_path, nName system("#{script[0]} #{img_path} #{nName}") img_path = nNameendreturn img_pathenddef get_background_image(fetch_type)VALS[:COUNT_FETCH] += 1fsca = Dir::open(FSC).filter{|f| f.start_with? /\d+/ and File.executable? FSC + f }.sort.map{|v| [FSC + v, v] }return nil if fsca.empty?call_bg_script case fetch_typewhen 'RANDOM'fsca[ rand fsca.size ]when 'INDEX'VALS[:INDEX_FETCH] += 1fsca[ VALS[:INDEX_FETCH] % fsca.size ]elsefsca[ rand fsca.size ]end, IMG, VALS[:COUNT_FETCH]enddef set_background_image(img_path)# 依据不同的环境 应用不同的 工具#system("hsetroot -fill #{img_path}")puts ">>> set background #{img_path} [#{Time.now}]\n\n"system("feh --bg-scale #{img_path}")end`[[ -d #{IMG} ]] || mkdir #{IMG}; echo $(date) > #{PSC}/start && echo $(date) > #{FSC}/start; sleep 2`# 每分钟刷新一次桌面背景 次要更新图片解决进本的操作,比方刷新显示工夫Thread::new doloop do if Time.now.sec == 00 next if not File.exist? CBG if File.exist? NBG set_background_image NBG else set_background_image CBG end post_bg = call_post_script CBG FileUtils.copy_file post_bg, NBG end sleep 1endend# 间隔时间后 拉取新壁纸loop dosleep 7 if Time.now.sec == 00file = get_background_image FETCHFileUtils.copy_file file, CBG if not file.nil?next if not File.exist? CBGsleep DURAend工夫脚本 ...

December 1, 2021 · 2 min · jiezi

关于linux:centos76-安装mysql

背景 : 应用centos7.6装置mysql 在centos7中曾经将mysql从yum利用列表中移除,并应用mariadb代替,所以间接通过yum install mysql-server装置时会提醒没有可用软件包mysql-server。在centos7中装置mysql须要从新增加mysql的存储库。本文参考官网文档:https://dev.mysql.com/doc/ref... 增加mysql yum的存储库首先要将mysql yum存储库增加到yum源目录中/etc/yum.repos.d/,不须要手动增加。依照以下步骤来即可。 ①获取下载连贯,在这个页面中找到最新的下载连贯。 https://dev.mysql.com/downloa... 不要下载错版本啦(可看下边图片)。不晓得能够通过命令查看 uname -a ② 装置下载的rpm包,这一步会主动将mysql yum存储库增加到yum源目录中 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpmyum localinstall mysql80-community-release-el7-1.noarch.rpm# 通过上边两个步骤后能够发现 /etc/yum.repos.d/ 目录下多了两个文件# mysql-community.repo mysql-community-source.repo 装置mysql通过上边的步骤后就能够间接装置mysql了 1)抉择mysql的版本,装置最新版请疏忽这一步。我选的mysql5.7,最新的8.0 vi 批改 /etc/yum.repos.d/mysql-community.repo 文件,抉择想要装置的版本将 enabled=1,将其它版本改为enabled=0,如下图 2) 装置mysql yum install mysql-community-server 3)启动mysqld服务,启动服务后查看服务的状态, systemctl start mysqld 4)查看明码,装置后会有一个初始密码,在mysql日记文件中,/var/log/mysqld.log,如下, [root@centosb local]# grep 'temporary password' /var/log/mysqld.log2021-11-30T06:49:24.455509Z 1 [Note] A temporary password is generated for root@localhost: %BufAZ.CW7qQ5)批改明码,以数据库root用户登录mysql,批改明码,肯定要批改明码,不批改无奈对数据库进行操作。实现的默认明码策略validate_password要求明码蕴含至多一个大写字母,一个小写字母,一个数字和一个特殊字符,并且明码总长度至多为8个字符。批改明码后刷新权限表 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'abcdABCD-1'; # 批改明码Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;设置编码为utf-8 show variables like "%character%";show variables like "%collation%";Variable_nameValuecharacter_set_clientutf8character_set_connectionutf8character_set_databaseutf8character_set_filesystembinarycharacter_set_resultsutf8character_set_serverutf8character_set_systemutf8character_sets_dir/usr/share/mysql/charsets/8 rows in set (0.01 sec) ...

November 30, 2021 · 1 min · jiezi

关于linux:Linux基础三

[TOC] 在目录下创立py文件,并进行运行os模块在Python中有一个内置库os,是一个零碎接口库,operating system interfaces。在linux零碎中解决数据、运行脚本的时候,常常会操作文件和目录,所以os库就是起这个作用,对于固定逻辑的文件、目录的操作,都能够写成脚本的模式。 上面就介绍几种罕用办法: getcwd 获取当前目录门路 [I have no name!@i-7lo31rsr Ceallach_Shaw]$pwd /home/coggle/Ceallach_Shaw [I have no name!@i-7lo31rsr Ceallach_Shaw]$vi os_test.py新建py文件,引入os模块,利用getcwd办法,打印以后门路。留神:这里用的vi,所以退出保留的办法是,esc退出insert模式,切换到命令行模式,输出wq,回车保留。(后文对vi的应用不再赘述了,遗记了的同学就翻阅上一篇文章 Linux根底(一) import osprint(os.getcwd())命令行下,运行py文件,打印的门路与以后门路统一。 [I have no name!@i-7lo31rsr Ceallach_Shaw]$python3 os_test.py /home/coggle/Ceallach_Shawpath.abspath('.') .代表以后门路,查看当前目录的绝对路径 import os#print(os.getcwd())print(os.path.abspath('.'))运行py文件: [I have no name!@i-7lo31rsr Ceallach_Shaw]$python3 os_test.py /home/coggle/Ceallach_Shaw补充: “.”示意当前目录,也能够用“./”示意;“..”示意上一级目录,也能够用“../”示意;“~” 代表用户的宿主目录;“/”处于Linux文件系统树形构造的最顶端,咱们称它为Linux文件系统的root,它是Linux文件系统的入口(参考上一篇文章内容中的目录结构图Linux根底(一))listdir('.') 列出当前目录下所有文件与目录 import osl=os.listdir('.')print(l) 如果只是须要列出当前目录下的所有目录(文件不须要),则在for循环前面加个条件判断是否为目录 if os.path.isdir(x) [x for x in os.listdir('.') if os.path.isdir(x)] mkdir 、rmdir mkdir-创立目录、rmdir-删除目录 在当前目录下创立一个dir2的目录: import osos.mkdir(os.getcwd()+'/dir2')dir2目录创立胜利: [I have no name!@i-7lo31rsr Ceallach_Shaw]$python3 os_test.py [I have no name!@i-7lo31rsr Ceallach_Shaw]$lsaffairs.txt coggle dir dir2 os_test.py test.py test2.txt补充: ...

November 30, 2021 · 2 min · jiezi

关于linux:Linux基本操作和服务器硬件选购指南

November 30, 2021 · 0 min · jiezi

关于linux:linux基础篇记录1

设置linux的字符集编码字符编码:UTF-8 GBK 字符编码环境变量:LANG 长期批改字符编码: LANG=zh_CN.utf8 永恒批改字符编码: 形式一:批改字符编码配置文件 vi /etc/locale.conf LANG="zh_CN.utf8" 形式二:利用命令永恒批改 localectl set-locale LANG=zh_CN.utf8 零碎近程连贯优化目标:进步近程连贯效率 79 GSSAPIAuthentication yes --- no 115 #UseDNS yes --- UseDNS no sed --- 批改调整文件内容 sed -i '79s#yes#no#g' /etc/ssh/sshd_config sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config补充:近程无奈连贯服务器主机时,排错思路 第一步:排查网络连通性 ping 近程主机地址 查看: 1)windows主机网络是否失常 2)服务端网卡是否连贯失常 3)查看路由配置 第二步:网络中有平安服务或平安硬件设施对近程连贯数据包有阻止 防火墙服务或硬件能够进行设置调整 第三步:近程主机服务没有失常启动 systemctl status sshd PS:查看服务端口是否有改变 零碎工夫同步优化 主动零碎同步工夫 timedatectl 批改时区--开启工夫同步性能--下载工夫同步服务(chrony)--启动工夫同步服务--工夫恢复正常 手动零碎同步工夫 形式一:手动和工夫服务器校对工夫ntpdate time.windows.com形式二:手工间接调整工夫timedatectl set-time "2020-11-15 15:13"零碎下载资源速度优化零碎下载源优化 更快下载软件/某些软件是否能下载安装 阿里云/清华源 yum install -y xxx Loaded plugins: fastestmirror Existing lock /var/run/yum.pid: another copy is running as pid 1921. Another app is currently holding the yum lock; waiting for it to exit... The other application is: yumMemory : 76 M RSS (394 MB VSZ)Started: Mon Nov 16 15:00:22 2020 - 00:08 agoState : Sleeping, pid: 1921 以上提示信息,示意零碎中有其余用户正在应用yum命令装置软件\\清华源 阿里源 科技源 网易源 搜狐源 ...

November 29, 2021 · 2 min · jiezi

关于linux:linux配置nodejs含软连和全局配置

下载liunx版本的压缩包并设置软连PPS:如果wget不存在这个命令,间接到node官网下载tar包上传到机器上也行。wget前面的url就是node官网那个下载按钮的href(如下图)。你把node.js装到哪个目录要记得,前面要用。 全局配置sudo vim /etc/profile //进入这个文件i //插入//在最底下写这两句,NODE_HOME是之前你下载的node文件门路export NODE_HOME=/usr/local/node-v10.15.3-linux-x64export PATH=$PATH:$NODE_HOME/binwq //保留并退出source /etc/profile //执行测试node -v切换镜像npm config set registry https://registry.npm.taobao.org参考:https://www.jianshu.com/p/657...https://www.runoob.com/nodejs...

November 29, 2021 · 1 min · jiezi

关于linux:Linux一学就会之Vim编辑器的使用和Xmanager工具的使用

November 29, 2021 · 0 min · jiezi

关于linux:linux比较两个目录的差异

diff给定两个目录,如何找出哪些文件因内容不同> diff --brief --recursive dir1/ dir2/--brief仅显示有无差别或者应用> diff -qr dir1/ dir2/-q 仅显示有无差别,不显示具体的信息-r 比拟子目录中的文件git> git diff --no-index dir1/ dir2/能够显示色彩差别rsync> rsync -rvn -i --delete dir1/ dir2 | sed -n '2,/^$/{/^$/!p}'其中deleting所在的行就是dir2中多出的文件。其余的都是dir1中多出的文件。其中>f+++++++++中的f代表的是文件,d代表的目录。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 28, 2021 · 1 min · jiezi

关于linux:Linux基础二

应用vi或vim编辑文件在linux里的文本编辑,须要把握一些快捷键操作。个别应用vim 、nano nanonano绝对vim来说,更容易上手一些,没有vim那些神奇的操作(用的6的人,感觉ta在变魔术) 新建、保留文件在底下有很多可选快捷键揭示(这就很敌对了,一看就会~),倒三角就是Ctrl的意思 nano test.py #创立文件 轻易编辑,而后保留,会揭示你是否保留(间接按Y,就算是按了Y,还会持续揭示你是否勾销之类的选项,十分贴心啊~~),而后enter保留。 罕用快捷键Ctrl + G :获得线上阐明(help),比拟有用 (相当于指令说明书)。 Ctrl + X :来到naon软件,如果有批改则会提醒保留。 Ctrl + R :从其余文件读入数据,能够将某个文件的内容贴在本文件中(有意思的性能),but 须要本人手动输出绝对路径,而且是不带门路揭示的输出,有些麻烦了(文件名都想不起叫啥),需多开窗口或者提前复制好须要导入文件的绝对路径。 Ctrl + C :阐明以后光标所在处的行数与列数等信息。 Ctrl + _ : 能够间接输出行号,光标疾速挪动到该行。 Alt + M: 能够反对鼠标来挪动光标的性能,开关按钮(这个很不便了,对于win过去的用户)。 这里只列举了其中几种很便捷的快捷键,就算是遗记了也不要紧,ctrl+G看看就晓得了,非常适合老手“玩家”。 vi/vimvim 是最弱小的编辑器(不承受反驳)。性能多到你压根就别想记住的那种。 劝退图 :(能够齐全不必鼠标~) 在应用vim的时候,有3种模式 命令模式(刚进去就是这个模式)输出模式底线命令模式命令模式一进去就是该模式,须要键入 i 切换到输出模式,底线呈现insert,这个状态下能力编辑内容 在命令模式下,输出x则是删除光标所在的字符。 编辑实现后,esc切换到命令模式下,输出:,wq,按enter即可保留内容;或者输出q,间接退出编辑,不保留内容。 输出模式HOME/END,挪动光标到行首/行尾 Page Up/Page Down,上/下翻页 ESC,退出输出模式,切换到命令模式 底线命令模式在命令模式下,键入:即进入底线命令模式 q 退出程序w 保留文件wq 保留并退出3种模式之间的关系和简略应用,如下图所示: 简略练习nano test.py #新建py文件,输出print语句#!/usr/bin/env python3print('Hello World!')$ python3 test.py # 运行python文件Hello World!欢送关注集体公众号:Distinct数说 ...

November 27, 2021 · 1 min · jiezi

关于linux:linux双向重定向之tee命令

tee的作用是将一份规范输出多重定向,一份重定向到规范输入/dev/stdout,而后还将规范输出重定向到每个文件FILE中。 在执行Linux命令时,咱们能够把输入重定向到文件中,比方 ls >rumenz.txt,这时不能看到输入了,如果咱们既想把输入保留到文件中,又想在屏幕上看到输入内容,就能够应用tee命令了. tee流程示意图 命令语法> tee [options] FILE1 FILE2 FILE3...保留当前目录文件列表到文件并打印到屏幕> ls -al | tee rumenz.txttotal 1088drwxr-xr-x 3 root root 93 Jun 20 22:57 .drwxr-xr-x 9 root root 4096 Jul 5 23:09 ..-rw-r--r-- 1 mysql mysql 0 Jun 20 22:57 1.txt-rw-r--r-- 1 mysql mysql 0 Jun 20 22:57 2.txtdrwxr-xr-x 3 root root 17 Jun 8 23:29 rumenzrumenz.txt外面也有雷同的内容tee 命令追加信息到文件中默认是笼罩写入,-a是追加写入到指标文件> ls -al | tee -a rumenz.txttee 写入多个文件> ls -al | tee rumenz.txt rumenz1.txt rumenz2.txt 让 tee 命令的输入内容间接作为另一个命令的输出内容tee 命令,你不仅能够将输入内容写入文件,还能够把输入内容作为另一个命令的输出内容。比如说,上面的命令不仅会将文件名存入 rumenz.txt 文件中,还会通过 wc 命令让你晓得输出到 rumenz.txt中的文件数目> ls file* | tee rumenz.txt | wc -ltee 命令晋升文件写入权限很多时候咱们应用非root账号批改了一个文件,正要保留的时候,vim抛出以下谬误,间接退出的话,就会失落掉批改"/etc/nginx/nginx.conf" E212: Can't open file for writing这个时候咱们就能够用tee来晋升权限保留文件:w !sudo tee %root 明码,而后就能让你保留批改了总结tee命令读取规范输出,把这些内容同时输入到规范输入和(多个)文件中,tee命令能够重定向规范输入到多个文件。要留神的是:在应用管道线时,前一个命令的规范谬误输入不会被tee读取。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 27, 2021 · 1 min · jiezi

关于linux:每周一个linux命令netstat

根底环境 netstat 命令介绍打印网络连接、路由表、接口统计信息、假装连贯和多播成员,应用最多的是打印网络连接信息。 netstat 命令装置yum install net-tools -ynetstat 罕用参数阐明-a 显示所有连贯-t 显示tcp连贯-u 显示udp连贯-l 显示监听端口的链接-p 显示监听端口对应的程序-n 禁止将端口号转换成别名显示netstat 过滤监听状态的UDP端口netstat -lup|grep 323 阐明: 323:代表要过滤的端口号 lup:三个参数示意显示UDP端口监听状态的程序名称 grep:依据端口号到过滤 netstat 过滤监听状态的TCP端口netstat -ltnp|grep 22 阐明: 22:代表要过滤的端口号 ltnp:四个参数示意显示TCP端口监听状态的程序名称 grep:依据端口号到过滤 netstat 过滤监听状态的TCP端口别名netstat -ltp|grep ssh 阐明: 22:代表要过滤的端口号 ltp:三个参数示意显示TCP端口别名监听状态的程序名称 grep:依据端口别名到过滤 netstat 命令返回值阐明netstat -anp 阐明: Proto:代表协定(tcp、tcp6、udp、udp6) Recv-Q:数据曾经在本地接管缓冲,然而还没有recv() Send-Q:对方没有收到的数据或者说没有Ack的,还是本地缓冲区 Local Address: 本地IP:本地端口 Foreign Address: 近程IP:近程端口 State:链接状态(监听状态、建设连贯状态等) PID:过程PID号 Program name:程序名字

November 27, 2021 · 1 min · jiezi

关于linux:linux如何将输出重定向到文件和标准输出

调用ls -al > rumenz.txt会将来自该命令的任何输入重定向到指定的文件,有没有方法将输入重定向到文件并将其显示在规范输入上?> ls -al > rumenz.txt下面的命令执行后,数据被输出到rumenz.txt文件,屏幕没有任何输入,如果既想输出到文件又想输出到屏幕,请应用如下的办法.应用tee如果您只关怀规范输入> ls -al | tee rumenz.txt如果要蕴含 stderr,请执行以下操作,会笼罩之前的数据> ls -al 2>&1 | tee rumenz.txt2>&1将通道 2(规范谬误/规范谬误)重定向到通道 1(规范输入/规范输入),这样两者都被写入为规范输入。它也被定向到tee命令的给定输入文件。 如果要蕴含 stderr,请执行以下操作, 追加模式 > ls -al 2>&1 | tee -a rumenz.txt原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 26, 2021 · 1 min · jiezi

关于linux:Manjaro-Linux-入门使用教程

阿里云官网镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000303593 简介: Manjaro 是一款基于 Arch LInux 的自在开源发行版,它排汇了 Arch Linux 优良丰盛的软件治理,同时提供了稳固晦涩的操作体验。 一、Manjaro 初体验Manjaro 是一款基于 Arch LInux 的自在开源发行版,它排汇了 Arch Linux 优良丰盛的软件治理,同时提供了稳固晦涩的操作体验。优雅简略是它的谋求,稳固实用是它的劣势。Manjaro 和 Arch Linux 一样采纳滚动发行模式,然而它的滚动更新是在 Arch Linux 更新测试一段时间之后,这也保障了零碎的稳定性。话虽如此,应用中你仍旧可能面临大量的更新而不知如何抉择,所以,如果应用曾经满足需要,有降级的必要吗? 1. 下载镜像镜像下载能够去 Manjaro 官方网站下载,国内速度太慢也能够到阿里云官网镜像站 进行下载。Manjaro 提供了多种桌面环境,能够依据爱好自行下载,我个别偏差于 kde 或者 gnome 桌面。 2. 制作启动盘应用 Rufus 工具以 DD 模式写入镜像到 U 盘,制作 U 盘启动胜利之后,开机抉择 U 盘进行启动即可。Rufus 工具这里抉择的是 3.4 版本,通过测试,高版本的 Rufus 可能会存在分区类型等选项不能批改的 Bug。 3. 装置 Manjaro装置 Manjaro 这里不做形容,网上有很多优良的教程能够参考。总体来说 Manjaro 装置还是比拟轻松的,相比其余的 Linux 发行版,装置体验更好。特地是对显卡驱动方面的反对,一键装置,特地省心。 二、更换软件源更换软件源为国内阿里源,装置软件更迅速。 sudo pacman -Syysudo pacman-mirrors -i -c China -m rank #选一个阿里源就行#sudo pacman -Syyu在弹出的窗口里抉择一个镜像源即可。 ...

November 26, 2021 · 2 min · jiezi

关于linux:新型Linux恶意软件隐藏在无效日期中黑客通过微软漏洞监视目标电脑|11月26日全球网络安全热点

平安资讯报告Discord恶意软件流动针对加密和NFT社区Discord上的一项新恶意软件流动应用Babadeda加密器来暗藏针对加密、NFT和DeFi社区的恶意软件。 Babadeda是一种加密程序,用于加密和混同看似有害的应用程序安装程序或程序中的歹意负载。 从2021年5月开始,威逼行为者始终在以加密为主题的Discord频道上散发由Babadeda作为非法应用程序混同的近程拜访木马。 因为其简单的混同,它的AV检测率非常低,据Morphisec的钻研人员称,其感染率正在放慢。 新闻来源: https://www.bleepingcomputer.... 新的Linux恶意软件暗藏在日期有效的cron作业中平安钻研人员发现了一种新的Linux近程拜访木马(RAT),它通过暗藏在打算在2月31日不存在的一天执行的工作中来放弃简直不可见的配置文件。 该恶意软件被称为CronRAT,目前以网络商店为指标,使攻击者可能通过在Linux服务器上部署在线领取撇取器来窃取信用卡数据。CronRAT具备独创性和复杂性的特点,就在线商店的恶意软件而言,许多防病毒引擎都无奈检测到它。 CronRAT滥用Linux任务调度零碎cron,该零碎容许调度工作在日历中不存在的日子运行,例如2月31日。Linuxcron零碎承受日期标准,只有它们具备无效的格局,即便日历中不存在日期-这意味着打算工作不会执行。 这就是CronRAT实现其隐身所依赖的。荷兰网络安全公司Sansec明天的一份报告解释说,它在打算工作的名称中暗藏了一个“简单的Bash程序”。CronRAT背地的攻击者能够在受感化的零碎上运行任何命令。 CronRAT已在世界各地的多家商店中被发现,它被用来在服务器上注入窃取支付卡数据的脚本——即所谓的Magecart攻打。 Sansec将新恶意软件形容为“对Linux电子商务服务器的严重威胁”,因为它具备以下性能: 无文件执行定时调制防篡改校验和通过二进制混同协定管制在独自的Linux子系统中启动串联RAT伪装成“DropbearSSH”服务的管制服务器无效负载暗藏在非法的CRON打算工作名称中所有这些性能使CronRAT简直无奈检测到。在Virus Total扫描服务上,12个防病毒引擎无奈解决歹意文件,其中58个未将其检测为威逼。 新闻来源: https://www.bleepingcomputer.... CISA、FBI倡议在网上保持警惕,以抵挡感恩节前后的勒索软件攻打在感恩节假期之前,网络安全和基础设施安全局和联邦调查局正在催促提高警惕,防备勒索软件攻打,要求公司施行多因素身份验证,并要求员工不要点击可疑电子邮件。 CISA主管Jen Easterly在一份申明中说:“尽管咱们目前还没有意识到具体的威逼,但咱们晓得威逼行为者不会休假。”“咱们将持续提供及时和可操作的信息,以帮忙咱们的行业和政府合作伙伴在假期期间放弃平安和弹性。咱们催促所有组织保持警惕,并向CISA或FBI报告任何网络事件。” “具体来说,歹意网络攻击者常常利用假期和周末来毁坏属于组织、企业和要害基础设施的要害网络和零碎,”申明持续说道。 美国疆土安全部示意,从2019年到2020年,勒索软件攻打减少了300%。 新闻来源: https://1430wcmy.com/2021/11/... 零信赖可有效应对勒索软件威逼零信赖是平安供应商、参谋和政策制定者抛出的最新流行语,作为解决所有网络安全问题的灵丹妙药。大概42%的寰球组织示意,他们曾经制订了采纳零信赖的打算。拜登政府还概述了联邦网络和零碎采纳零信赖架构的必要性。 零信赖的概念曾经存在一段时间了,很可能是最低权限拜访的扩大。零信赖通过“永不信赖,始终验证”的准则有助于最大限度地缩小攻击者的横向挪动(即入侵者用于侦察网络的技术)。在零信赖的世界中,不会仅仅因为您位于公司防火墙之后就授予您隐含的信赖(无论您从何处登录或尝试拜访的资源如何)。只有取得受权的集体能力依据须要拜访抉择的资源。 为了无效地施行零信赖,组织必须理解其三个外围组成部分: 1.领导准则 四项领导准则是零信赖策略的基本要素。这些包含定义业务成绩(组织只有在晓得他们试图爱护什么以及他们在哪里之后能力无效地爱护本人);从内到外进行设计(辨认须要细粒度爱护的资源并构建与这些资源密切相关的安全控制);概述身份拜访要求(为用户和设施提供更细粒度的访问控制治理);并检查和记录所有流量(将通过身份验证的身份与预约义的策略、历史数据和拜访申请的上下文进行比拟)。 2.零信赖网络架构 ZTNA由爱护面(对公司最有价值的数据、资产、利用和服务资源)组成;微边界(爱护资源而不是整个网络环境的粒度爱护);微分段(依据业务的不同性能将网络环境分为离散的区域或部门);和特定于上下文的最小权限拜访(依据工作角色和相干流动以及通过制订最小权限准则授予资源拜访权限)。 3.实现零信赖的技术 没有一种解决方案能够实现零信赖。话虽如此,身份拜访治理、多因素身份验证、单点登录、软件定义边界、用户和实体行为剖析、下一代防火墙、端点检测和响应以及数据透露预防等技术能够帮忙您开始零信赖。 零信赖和勒索软件问题 零信赖不是勒索软件的灵丹妙药,但如果施行切当,它能够帮忙创立更弱小的平安进攻来抵挡勒索软件攻打。这是因为,从根本上说,人为谬误是所有网络攻击的根本原因,而零信赖将焦点从新放在用户身份和拜访治理上。零信赖还有助于显着缩小攻击面,因为外部和内部用户只能拜访无限的资源,而所有其余资源都齐全暗藏起来。 零信赖是一种相似于数字化转型的策略。它须要整个组织(不仅仅是IT团队)的承诺;它须要思维形式的扭转和架构办法的基本转变;它须要审慎执行并三思而行,并牢记久远;最初,它必须是一个永恒的、一直倒退的过程,随着一直变动的威逼局势而变动。简直一半的网络安全业余人员依然对利用零信赖模型不足信念,这是天经地义的-一个谬误的行动可能会使组织处于更蹩脚的地步。也就是说,胜利施行零信赖的企业将在反抗勒索软件等一直变动的威逼方面处于更无利的位置,并成为真正具备网络弹性的组织。 新闻来源: https://www.darkreading.com/v... 少数网购钓鱼欺骗针对美国消费者对垃圾邮件的分析表明,在假期前夕,大多数针对在线购物者的网络钓鱼欺骗都来自美国(44%)。 该数字基于对Bitdefender在2021年11月1日至11月11日期间收集的寰球垃圾邮件遥测数据的剖析,以预测行将到来的假日购物季。 钻研表明,只管网络钓鱼者撒网很广,但他们的重点是美国购物者,美国购物者成为威逼行为者最有吸引力的指标,接管垃圾邮件的比例最大,占寰球垃圾邮件总量的44%。 紧随其后的是英国(8%)、澳大利亚(6%)、南非(5%)、爱尔兰(4%)、德国(4%)、瑞典(3%)、丹麦(2%)、法国(2%)、罗马尼亚(1%)和意大利(1%)。 新闻来源: https://www.techradar.com/new... 这个新的隐形JavaScript恶意软件正在感化计算机HP ThreatResearch将新的躲避加载程序称为“RATDispenser”,该恶意软件负责在2021年部署至多八个不同的恶意软件系列。曾经发现了这种新恶意软件的大概155个样本,散布在三个不同的变体中,暗示它处于活动状态倒退。 “RATDispenser用于在启动二级恶意软件之前在零碎上取得初始立足点,从而建设对受感化设施的管制,”平安研究员帕特里克·施拉普弗说。“所有有效载荷都是RAT,旨在窃取信息并让攻击者管制受益设施。” 与其余此类攻打一样,感化的终点是蕴含歹意附件的网络钓鱼电子邮件,该附件伪装成文本文件,但实际上是通过混同的JavaScript代码,用于编写和执行VBScript文件,反过来,在受感化的机器上下载最初阶段的恶意软件负载。 新闻来源: https://thehackernews.com/202... 安全漏洞威逼黑客通过Microsoft MSHTML破绽利用恶意软件监督指标PC发现一个新的攻打利用Microsoft Windows MSHTML破绽,应用一种新的基于PowerShell的信息窃取程序来瞄准讲波斯语的受害者,该信息窃取程序旨在从受感化的机器中获取大量详细信息。 窃取程序是一个PowerShell脚本,具备弱小的收集性能——仅约150行,它为攻击者提供了大量要害信息,包含屏幕截图、电报文件、文档收集以及无关受害者环境的大量数据。近一半的指标来自美国,这家网络安全公司指出,这些攻打可能针对“寓居在国外并可能被视为对伊朗伊斯兰政权构成威胁的伊朗人。 网络钓鱼流动始于2021年7月,波及利用CVE-2021-40444,这是一个近程代码执行破绽,能够应用特制的Microsoft Office文档加以利用。微软于2021年9月修补了该破绽,几周前就呈现了无关被动利用破绽的报道。 攻击者能够制作歹意ActiveX控件,供托管浏览器渲染引擎的Microsoft Office文档应用。攻击者必须压服用户关上歹意文档。将帐户配置为具备较少用户权限的用户与应用治理用户权限操作的用户相比,该零碎受到的影响可能较小。 SafeBreach形容的攻打序列始于指标接管鱼叉式网络钓鱼电子邮件,该电子邮件以Word文档为附件。关上该文件会触发CVE-2021-40444的破绽利用,导致执行名为“PowerShortShell”的PowerShell脚本,该脚本可能暗藏敏感信息并将其传输到命令和管制(C2)服务器。 尽管在9月15日察看到波及部署信息窃取程序的感化,但在微软公布该漏洞补丁的第二天,上述C2服务器也被用来收集受害者的Gmail和Instagram凭据,这是该组织发动的两次网络钓鱼流动的一部分。 新闻来源: https://thehackernews.com/202...

November 26, 2021 · 1 min · jiezi

关于linux:Linux一学就会之文件的基本管理和XFS文件系统备份恢复

November 26, 2021 · 0 min · jiezi

关于linux:linux重要的目录之etc

Linux系统目录树结构 etcetc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc上面寄存配置文件, 依照原始的UNIX的说法(linux文件构造参考UNIX的教学实现MINIX) 这上面放的都是一堆零零碎碎的货色, 就叫etc, 这其实是个历史遗留.目录形容/etc/rc /etc/rc.d/etc/rc*.d启动、或扭转运行级时运行的scripts或scripts的目录./etc/hosts本地域名解析文件/etc/sysconfig/networkIP、掩码、网关、主机名配置/etc/resolv.confDNS服务器配置/etc/fstab开机主动挂载零碎,所有分区开机都会主动挂载/etc/inittab设定系统启动时Init过程将把零碎设置成什么样的runlevel及加载相干的启动文件配置/etc/exports设置NFS零碎用的配置文件门路/etc/init.d这个目录来寄存系统启动脚本/etc/profile,/etc/csh.login,  /etc/csh.cshrc全局零碎环境配置变量/etc/issue认证前的输入信息,默认输入版本内核信息/etc/motd设置认证后的输入信息,/etc/mtab以后装置的文件系统列表.由scripts初始化,并由mount命令自动更新.须要一个以后装置的文件系统的列表时应用,例如df命令/etc/group相似/etc/passwd,但阐明的不是用户而是组./etc/passwd用户数据库,其中的域给出了用户名、实在姓名、家目录、加密的口令和用户的其余信息./etc/shadow在装置了影子口令软件的零碎上的影子口令文件.影子口令文件将/etc/passwd文件中的加密口令挪动到/etc/shadow中,而后者只对root可读.这使破译口令更艰难./etc/sudoers能够sudo命令的配置文件/etc/syslog.conf系统日志参数配置/etc/login.defs设置用户帐号限度的文件/etc/securetty确认平安终端,即哪个终端容许root登录.个别只列出虚构控制台,这样就不可能(至多很艰难)通过modem或网络闯入零碎并失去超级用户特权./etc/printcap相似/etc/termcap,但针对打印机.语法不同./etc/shells列出可信赖的shell.chsh命令容许用户在本文件指定范畴内扭转登录shell.提供一台机器FTP服务的服务过程ftpd检查用户shell是否列在/etc/shells文件中,如果不是将不容许该用户登录./etc/xinetd.d如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些零碎没有这个目录,比方Slackware,有些老的版本也没有。在Redhat Fedora中比拟新的版本中存在。/etc/opt//opt/的配置文件/etc/X11/X\_Window零碎 (版本11)的配置文件/etc/sgml/SGML的配置文件/etc/xml/XML的配置文件/etc/skel/默认创立用户时,把该目录拷贝到家目录下备份etc目录/etc是零碎重要的配置文件目录,重要的零碎肯定要定期备份该目录#!/bin/bashd1=`date +%d`d2=`date +%y%m%d`if [ $d1 == "01" ]then cd /etc/ && tar zcf /root/rumenz/$d2_etc.tar.gz ./fi每月一号备份etc目录到/root/rumenz下原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 25, 2021 · 1 min · jiezi

关于linux:干货分享优麒麟上的硬盘读写性能测试

关注优麒麟,更多干货等着你! 当咱们做磁盘读写性能测试的时候,性能测试工具必不可少。目前市场上有很多能够做性能测试的工具,本文介绍一款能够在优麒麟零碎上应用的性能测试工具:iozone。 性能测试次要是通过自动化测试工具模仿多种应用场景(失常状况、高负载,高容量等),从而实现对系统的各项性能指标进行测试。零碎性能测试次要包含网络性能测试(iperf、TamoSoft Throughput Test 等)、内存性能基准测试(memtaster、unixbench 等)、硬盘读写性能性能测试(iozone、fio 等)以及零碎反应时间性能测试(lmbench)等。 iozone 是一款用于测试文件系统的读写性能的开源工具,能够测试读取(read)、写入(write)、重读(re-read)、重写(re-write)、倒序读(read backwards)、调用库函数 fwrite 写(fwrite) ,调用库函数 fread 读(fread)、跳跃读(read strided)、随机读(random read) 、 随机写(random write)等等不同的模式下的硬盘的性能。上面介绍 iozone 的下载、装置及应用状况。 1.下载安装包首先下载 iozone 的安装包,能够间接应用浏览器下载或者在终端应用 wget 命令下载 iozone 的 tar 包。其下载网址为 http://www.iozone.org/src/cur...,在其网址下有多个 iozone 版本,能够依据具体须要进行下载。下载命令及详情如图1所示。 终端下载命令: wget http://www.iozone.org/src/current/iozone3_491.tar图1:下载 iozone 的 tar 包 2.解压其次应用 tar 命令将下载的 iozone 的 tar 包解压至相应的门路下,例如将其 iozone 的 tar 包解压至“/opt”下。解压命令及解压状况如图2所示。 解压 iozone 的 tar 包至“/opt”目录下的命令: sudo tar -xvf iozone3_491.tar -C /opt/ 图2:解压iozone的tar包 3.编译而后将其目录切换至 iozone 解压后的“/src/current”下应用 make 命令进行编译,与手工编译、连贯相比,make 编译在肯定水平上实现了自动化编译,它只会更新批改过的文件,对于没有批改过的文件不会从新生成,并且不会漏掉任何一个须要更新的文件,从而进步编译效率。iozone 的 make 编译命令如图3所示。 ...

November 25, 2021 · 1 min · jiezi

关于linux:Linux一学就会之Linux详细基本命令操作

November 25, 2021 · 0 min · jiezi

关于linux:Centos7-安装中文字体

查看字体[root@p0-web3]# fc-list/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique/usr/share/fonts/chinese/simfang.ttf: FangSong:style=Regular,Normaali/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique[root@p0-dabaojian-jcsszy-web33 TrueType]# 装置工具yum install -y fontconfig mkfontscaleapt-get -y install fontconfig xfonts-utils将windows下的字体C:\WINDOWS\FONTS\simsun.ttc(也就是宋体,大小为10M)拿进去; 重命为simfang.ttf ,拷贝simfang.ttf 字体到 /usr/share/fonts/chinese/TrueType/ 下来 fc-cache -fv 刷新字体缓存gan[root@p0-bingo-jcsszy-web34 ~]# mkdir /usr/share/fonts/chinese/ && cd /usr/share/fonts/chinese/[root@p0-bingo-jcsszy-web34 chinese]# wget https://mirrors.xxxhealthcare.com/update_files/SCxxxxxx/simfang.ttfSaving to: ‘simfang.ttf’100%[=============================================================================================================================>] 10,578,152 --.-K/s in 0.1s 2021-11-24 19:04:31 (70.8 MB/s) - ‘simfang.ttf’ saved [10578152/10578152][root@p0-bingo-jcssdabaojianzy-web34 chinese]# lssimfang.ttf simsun.ttf[root@p0-bingo-jcsszy-web34 chinese]# mkfontscale[root@p0-bingo-jcsszy-web34 chinese]# mkfontdir[root@p0-bingo-jcsszy-web34 chinese]# fc-cache[root@p0-bingo-jcsszy-web34 chinese]# fc-list/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold/usr/share/fonts/chinese/simsun.ttf: SimSun,宋体:style=Regular,惯例/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book/usr/share/fonts/chinese/simsun.ttf: NSimSun,新宋体:style=Regular,惯例/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique/usr/share/fonts/chinese/simfang.ttf: FangSong:style=Regular,Normaali/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique

November 25, 2021 · 1 min · jiezi

关于linux:linux-上查找包含特定文本的所有文件

grep> grep -rnw '/path/to/somewhere/' -e 'pattern'-r或者-R是递归的,-n 是行号,并且-w 代表匹配整个单词。-l (小写 L) 能够增加只给出匹配文件的文件名。-e 是搜寻过程中应用的模式除了这些, --exclude, --include,--exclude-dir标记可用于高效搜寻:只搜寻那些具备 .c 或 .h 扩展名的文件> grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"排除搜寻所有以 .o 扩展名结尾的文件:> grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"对于目录,能够应用--exclude-dir参数排除一个或多个目录。例如,这将排除目录dir1/、dir2/ 以及所有与*.dst/ 匹配的目录> grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"ack> awk "/root/" /etc/passwdfind> find / -type f -exec grep -l "rumenz" {} \; > find . -name "*.txt" | xargs grep -i "rumenz"别名一个ffind在~/.bashrc文件中> alias ffind find / -type f | xargs grep启动一个新终端> ffind 'rumenz'ack-grep> ack-grep "rumenz"ack> ack -i rumenz doc/*git 存储库中查找> git grep "rumenz"原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 24, 2021 · 1 min · jiezi

关于linux:Linux一学就会之Linux环境搭建并安装VMware虚拟机

November 24, 2021 · 0 min · jiezi

关于linux:linux之strings命令

strings 命令是二进制工具集 GNU Binutils 的一员,用于打印文件中可打印字符串,strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符完结。 strings命令对辨认随机对象文件很有用。命令语法strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ file ... ]命令选项-a --all:扫描整个文件而不是只扫描指标文件初始化和装载段-f –print-file-name:在显示字符串前先显示文件名-n –bytes=[number]:找到并且输入所有NUL终止符序列- :设置显示的起码的字符数,默认是4个字符-t --radix={o,d,x} :输入字符的地位,基于八进制,十进制或者十六进制-o :相似--radix=o-T --target= :指定二进制文件格式-e --encoding={s,S,b,l,B,L} :抉择字符大小和排列程序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit@ :读取中选项列出ls中所有的ASCII文本:> strings `which pwd` | more/lib64/ld-linux-x86-64.so.2libc.so.6fflushstrcpy__printf_chkreaddirsetlocalembrtowcstrncmpoptindstrrchrdcgettextclosedirfchdir...查看某一个字符串属于哪个文件> cd /usr/bin && strings -f * | grep "name"查看glibc反对的版本strings /lib64/libc.so.6 | grep GLIBCGLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_2.13GLIBC_2.14GLIBC_2.15GLIBC_2.16GLIBC_2.17GLIBC_PRIVATE...更改分隔符默认状况下,字符串应用的分隔符是换行符。然而,如果须要,您能够应用 -s 命令行选项自定义分隔符。> strings -s / ls | more/lib64/ld-linux-x86-64.so.2/ ...$8H/T$@H/D$@H/D$@H/=u|!/D$@H9/D$8t /D$@H/=^y!/=]y!/=Hy!/=+y!/=/y!/G(H;G0/5 s!/-Is!/D$P??/D$@H/D$PL/5|u!/D$8H/D$@H/D$8H/L$$H/L$$L/D$(H/D$@I/D$@H/-Vj!/t$81/=9r!/=P_!/>v|<?/$A\A]A^/<=tJ/[]A\A]/=~w!/5{w!/=lw!/=!w!/AWAVD/ATUSH/=&v!/[]A\A]A^A_/ATH9/G(H;G0sgH/W(H;W0s/[]A\/ATSH/[A\A]A^A_]/AUATUSH/HcN0/-,^!/G(H;G0s%H/[]A\A]/X[]A\A]/O(H;O0sMH/=:n!/[]A\/O@H9N@H/NxH9OxH/ |&)/OhI9IhI/NXH9OXH/=wi!/G(H;G0s/=Lh!/=[h!/=^h!/t|Hc/AUATH9/5le!/%h[!/-~e!/[]A\A]A^/UUUUUUU/ATUS/[]A\/[]A\/AWAVAUATL/[]A\A]A^A_/=Qa!/=$a!/D$ H/D$(H/D$0H/D$8H/D$@H/D$HH/D$PH/D$XH/D$`H/D$hH/D$pH/D$xH/='`!/=q`!/AWAVAUI/ATUH/-o^!/ tJ=/=C^!/=M]!/H9S /H9K /[]A\A]A^A_/=}Z!打印字符序列的偏移量> strings -t d ls | more 568 /lib64/ld-linux-x86-64.so.2 648 _k+ 3817 libselinux.so.1 3833 __gmon_start__ 3848 _init 3854 fgetfilecon 3866 freecon 3874 lgetfilecon 3886 _fini 3892 libcap.so.2 3904 cap_to_text 3916 cap_free 3925 cap_get_file 3938 libacl.so.1 3950 acl_get_entry 3964 acl_get_tag_type 3981 acl_extended_file 3999 libc.so.6原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 23, 2021 · 1 min · jiezi

关于linux:Springboot-docker-jenkins-自动化部署并上传镜像

阿里云开源镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000303593 springboot + docker + jenkins自动化部署我的项目,jenkins、mysql、redis都是docker运行的,并且没有应用虚拟机,就在阿里云服务器(centos7)运行 1、后期筹备工作不说了 2、在我的项目根目录下新建Dockerfile Dockerfile文件内容为: #根底镜像FROM openjdk:12#作者MAINTAINER demo <demo@qq.com>VOLUME /tmp#指定配置文件,以及jar包在服务器上的门路ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/lcy/work/tools/tools.jar"]#裸露端口EXPOSE 80923、在服务器找个目录新建一个.sh文件 #!/bin/shecho '================开始构建镜像=============='#镜像名称IMAGE_NAME='registry.cn-beijing.aliyuncs.com/???/tools'#打包后在jenkins的地址SOURCE_PATH='/lcy/jenkins/workspace/tools'#Dockerfile执行jar包的地址BASE_PATH='/lcy/work/tools'echo IMAGE_NAME=$IMAGE_NAMEecho '================复制JAR包==================='echo $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jarcp $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar $BASE_PATH/tools.jarchmod -R 777 $BASE_PATH/tools.jarecho '================复制实现===================='echo '================以后docker版本=============='docker -vecho '================构建镜像开始================'docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile .echo '================构建镜像完结================'#输出要推送镜像的地址,依据镜像仓库提醒的地址复制echo '================推送镜像开始================'docker login --username=??? --password=??? registry-vpc.cn-beijing.aliyuncs.comdocker push $IMAGE_NAMEecho '================推送镜像完结================'echo '================获取容器id=================='CID=$(docker ps | grep "$IMAGE_NAME" | awk '{print $1}')echo 容器id=$CIDecho '================获取镜像id=================='IID=$(docker images | grep "$IMAGE_NAME" | awk '{print $3}')echo 镜像id=$IIDif [ -n "$CID" ]; then echo 存在$IMAGE_NAME容器,进行容器并删除 docker stop tools docker rm toolselse echo 不存在$IMAGE_NAME容器,开始启动 docker run -p 8092:8092 -d --name tools -v $BASE_PATH:$BASE_PATH $IMAGE_NAMEfi4、配置jenkins,执行新建的.sh文件(记得给好权限)其它的配置就不说了,比方github的配置5、运行后果 ...

November 23, 2021 · 1 min · jiezi

关于linux:白话-Linux-容器资源的隔离限制原理

作者:烧鸡太子爷 起源:恒生LIGHT云社区 背景最近在给组内新人解说一些docker容器化,大家都可能了解,docker容器实际上就是运行的一个过程,只不过因为docker帮忙咱们包装了这个过程,给这个过程加以一个可运行的微linux环境而已,让咱们感觉看起来"像"虚拟机而已。那么他是如何做到资源管制的呢,大家也都晓得是用了namespace、cgroup。集体也比拟好奇,所以也花了一点工夫去学习了一下,也做一些笔记,能够和大家一起学习一下 Linux namespaceLinux namespace 是一种内核级别的资源隔离机制,用来让运行在同一个操作系统上的过程相互不会烦扰。 namespace 目标就是隔离,要做到的成果是:如果某个 namespace 中有过程在外面运行,它们只能看到该 namespace 的信息,无奈看到 namespace 以外的货色。 咱们来想一下:一个过程在运行的时候,它会晓得哪些信息? 看到零碎的 hostname可用的网络资源(bridge、interface、网络端口的时候状况……)过程的关系(有哪些过程,过程之间的父子关系等)、零碎的用户信息(有哪些用户、组,它们的权限是怎么样的)文件系统(有哪些可用的文件系统,应用状况)IPC(怎么实现过程间通信)…… 也就是说,如果要实现隔离,必须保障不同 namespace 中过程看到的下面这些货色是不同的。如果让我来做,首先的想法是每个 namespace 都实现一整套上述资源的隔离,然而实际上 linux 的实现中,上述的所有资源都是能够独自隔离的。 目前 linux 内核次要实现了一下几种不同的资源 namespace,官网有如下介绍: 名称宏定义宏定义IPCCLONE_NEWIPCSystem V IPC, POSIX message queues (since Linux 2.6.19)NetworkCLONE_NEWNETnetwork device interfaces, IPv4 and IPv6 protocol stacks, IP routing tables, firewall rules, the /proc/net and /sys/class/net directory trees, sockets, etc (since Linux 2.6.24)MountCLONE_NEWNSMount points (since Linux 2.4.19)PIDCLONE_NEWPIDProcess IDs (since Linux 2.6.24)UserCLONE_NEWUSERUser and group IDs (started in Linux 2.6.23 and completed in Linux 3.8)UTSCLONE_NEWUSERHostname and NIS domain name (since Linux 2.6.19)CgroupCLONE_NEWCGROUPCgroup root directory (since Linux 4.6)这些 namespace 基本上笼罩了一个程序运行所需的环境,保障运行在的隔离的 namespace 中的,会让程序不会受到其余收到 namespace 程序的烦扰。但不是所有的系统资源都能隔离,工夫就是个例外,没有对应的 namespace,因而同一台 Linux 启动的容器工夫都是雷同的。 ...

November 23, 2021 · 1 min · jiezi

关于linux:linux之realpath命令

命令介绍realpath 用于获取指定目录或文件的绝对路径。编写 Shell 脚本中,通常会应用相对路径来指明文件,但有时候,咱们须要用到绝对路径,此时能够应用 realpath 来获取。命令格局realpath [OPTION]... FILE...命令参数-e, --canonicalize-existing:文件 FILE 的所有组成部件必须都存在-m, --canonicalize-missing:文件 FILE 的组成部件能够不存在-L, --logical:在软链接之前解析..-P, --physical:解析软链接,默认动作-q, --quiet:静默模式输入,禁止显示大多数谬误音讯--relative-to=<FILE>:绝对于文件 FILE 的绝对路径--relative-base=<FILE>:以文件 FILE 所在门路为基址,打印绝对路径。即在基址下的绝对路径,打印后果会省去基址-s, --strip, --no-symlinks:不扩大软链接-z, --zero:不分隔输入,即所有的输入均在一行而不是独自每行--help:显示帮忙信息--version:显示版本信息打印某个文件的绝对路径> realpath index.html/root/test/index.html打印某个目录的绝对路径> /root/test/rumenz显示软链接指向的指标文件的绝对路径> realpath cc/usr/bin/gcc原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 22, 2021 · 1 min · jiezi

关于linux:详解在Linux中安装配置MongoDB

最近在整顿本人私人服务器上的各种阿猫阿狗,正好就棘手具体记录一下清理之后重装的步骤,明天先写点数据库的内容,对于在Linux中装置配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司须要做点Nodejs的中间件,我棘手玩了一下MongoDB的CRUD,文档型数据库还是挺有意思的 装置环境CentOS7 + MongoDB4.4 下载安装包mongodb-4.4.4 版本下载地址(点击链接间接下载) 操作步骤利用 xFtp 上传 mongodb.gz 包至装置目录下,我的目录是 /usr/soft/sort解压安装包至指定目录下,我的是同目录下的install文件夹 tar -zxvf /usr/soft/sort/mongodb-linux-x86_64-rhel70-4.4.4.tgz -C /usr/soft/install/配置环境变量 vim /etc/profile在文件的最初一行增加如下内容 按 i 开始批改(留神 s 会删除以后选中字符) export PATH=$PATH:/usr/soft/install/mongodb-linux-x86_64-rhel70-4.4.4/bin 按 esc 进行编辑,按 : 开始输出,输出 wq 保留并退出 之前都会用一个别名来拼接地址,其实间接写残缺地址也能够,$PATH 应该是代指之前存有的 PATH变量输出 source /etc/profile ,无报错立刻失效创立数据寄存文件夹和日志记录文件夹,为前面的配置文件应用 在主目录下创立 /data/db 来存放数据 在主目录下创立 logs 来寄存日志创立运行时应用的配置文件 在主目录下进入bin目录 cd /bin 创立配置文件 vim mongodb.conf 输出以下配置(肯定要写残缺地址,教程下面是绝对地址,后果我启动的时候始终报配置谬误) dbpath = /usr/soft/install/mongodb-linux-x86_64-rhel70-4.4.4/data/db # 数据文件寄存目录 logpath = /usr/soft/install/mongodb-linux-x86_64-rhel70-4.4.4/logs # 日志文件寄存目录 port = 27017 # 端口 fork = true # 以守护程序的形式启用,即在后盾运行 # auth=true # 须要认证,如果放开正文,就必须创立MongoDB的账号,应用账号与明码才可近程拜访,第一次装置倡议正文 bind_ip = 0.0.0.0 # 容许近程拜访,或者间接正文,127.0.0.1是只容许本地拜访 留神如果不创立账号,是能够直连数据库的,然而创立了账号之后是不能直连的必须要带账号密码才能够连贯,例如上面这样 mongodb://root:******@xxx.xxx.xxx.xxx:27017/test?authSource=admin&readPreference=primary&ssl=false 问号前面内容前期理解分明,之前不加始终无奈连贯上 留神:正文符号 # 和数据之间必须是一个空格测试运行和敞开数据库 ...

November 22, 2021 · 1 min · jiezi

关于linux:详解在Linux中安装配置MySQL

最近在整顿本人私人服务器上的各种阿猫阿狗,正好就棘手具体记录一下清理之后重装的步骤,明天先写点数据库的内容,对于在Linux中装置配置MySQL 装置环境CentOS7 + MySQL5.7 下载安装包mysql-5.7.26 版本下载地址(点击链接间接下载) 操作步骤利用 xFtp 上传 mysql.gz 包至装置目录下,我的目录是 /usr/soft/sort解压安装包至指定目录下,我的是同目录下的install文件夹 tar -zxvf /usr/soft/sort/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/soft/install/创立用户 groupadd mysql创立组 useradd -r -g mysql mysql将装置目录所有者及所属组改为mysql chown -R mysql.mysql /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64进入mysql目录并创立data文件夹用于寄存数据库表之类的数据 cd /usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64 mkdir data筹备初始化,首先要装置依赖库libaio yum install libaio筹备初始化,这一步务必记住初始密码,它位于输入日志的开端(数据库管理员长期明码) 留神这是一整条命令:/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/bin/mysqld --user=mysql --basedir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/ --datadir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/data --initialize 我的输入日志示例:20xx-xx-xxTxx:xx:xx.493483Z 1 [Note] A temporary password is generated for root@localhost: 这里是初始的长期明码 配置零碎环境变量 编辑 vim /etc/profile增加以下环境变量 export MYSQL_HOME=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64 export PATH=$PATH:$MYSQL_HOME/bin更新 source /etc/profile配置mysql配置,这里最好查问一下所有配置的含意,能够参考 这篇文章 datadir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64/data basedir=/usr/soft/install/mysql-5.7.26-linux-glibc2.12-x86_64 socket=/tmp/mysql.sock(这行很重要,不然后续socket连贯会出问题) user=mysql port=3306 innodb_file_ per_table=1 character-set-server=utf8这里须要操作两个目录,用于配置文件中局部文件的运行,不然间接启动会报错,倡议先实现谬误解决方案中的代码 ...

November 22, 2021 · 1 min · jiezi

关于linux:Anacnoda镜像在阿里云镜像站首发上线

阿里云官网镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000303593 Anaconda 简介Anaconda 是一个蕴含数据迷信罕用包的发行版本。它基于 conda(一个包和环境管理器) 衍生而来。应用程序 conda 是包和环境管理器: 应用 conda 创立虚拟环境,能够不便的分隔应用不同 Python 版本和/或不同包的我的项目可应用conda 在环境中装置、卸载和更新包。Anaconda 配置Anaconda 安装包能够到 http://mirrors.aliyun.com/ana... 下载。Linux用户能够通过批改用户目录下的 .condarc 文件。Windows 用户无奈间接创立名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再批改。注:因为更新过快难以同步,咱们不同步pytorch-nightly, pytorch-nightly-cpu, ignite-nightly这三个包。 channels: - defaultsshow_channel_urls: truedefault_channels: - http://mirrors.aliyun.com/anaconda/pkgs/main - http://mirrors.aliyun.com/anaconda/pkgs/r - http://mirrors.aliyun.com/anaconda/pkgs/msys2custom_channels: conda-forge: http://mirrors.aliyun.com/anaconda/cloud msys2: http://mirrors.aliyun.com/anaconda/cloud bioconda: http://mirrors.aliyun.com/anaconda/cloud menpo: http://mirrors.aliyun.com/anaconda/cloud pytorch: http://mirrors.aliyun.com/anaconda/cloud simpleitk: http://mirrors.aliyun.com/anaconda/cloud即可增加 Anaconda Python 收费仓库。配置实现可运行 conda clean -i 革除索引缓存。Miniconda 安装包能够到 http://mirrors.aliyun.com/ana... 下载。 Anacnoda镜像详情地址:https://developer.aliyun.com/...

November 22, 2021 · 1 min · jiezi

关于linux:arm机器上安装mysql57

MySQL下载地址为: https://obs.cn-north-4.myhuaw... 增加mysql用户组和mysql用户,用于隔离mysql过程groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql2.装置依赖库yum install -y libaio*下载解压Mysqlwget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gztar xzvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/4.配置Mysql mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql mkdir -p /usr/local/mysql/logs chown -R mysql:mysql /usr/local/mysql ln -sf /usr/local/mysql/my.cnf /etc/my.cnf cp -rf /usr/local/mysql/extra/lib* /usr/lib64/ mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6设置开机启动 cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqldsystemctl enable mysqld增加环境变量vim /etc/profile增加上面两行代码: export MYSQL_HOME=/usr/local/mysqlexport PATH=$PATH:$MYSQL_HOME/binsource /etc/profile初始化mysql mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data开启mysql systemctl start mysqld

November 22, 2021 · 1 min · jiezi

关于linux:Shell-脚本避坑指南一

大家好,我是张晋涛。 提到 Shell 大家想必不会太生疏,咱们通常认为 Shell 是咱们和零碎交互的接口,执行命令返回输入,比方 bash 、zsh 等。偶然也会有人把 Shell 和 Terminal(终端)混同,但这和本文关系不大,暂且略过。 作为一名程序员,咱们可能天天都会用到 Shell ,偶然也会把一些命令组织到一起,写个 Shell 脚本之类的,以便晋升咱们的工作效率。 然而在看似简略的 Shell 脚本中,可能暗藏着很深的坑。这里我先给出两段简略且类似的 Shell 脚本,大家无妨来看看这两段代码的输入是什么: #!/bin/bashset -e -ui=0while [ $i -lt 6 ]; do echo $i ((i++))done答案是只会输入一个 0 。 #!/bin/bashset -e -ulet i=0while [ $i -lt 6 ]; do echo $i ((i++))done答案是没有任何输入,间接退出。 如果你能解释分明下面两段代码输入后果的话, 那大略你能够跳过这篇文章后续的内容了。 我先来合成下这段代码中波及到的次要知识点。 变量申明变量申明有很多种方法, 然而其行为却各有不同。 咱们必须先有个根底意识: Bash 没有类型零碎,所有变量都是 string 。 基于这个起因,如果是让变量进行算术运算时,不能像在其余的编程语言中那样间接写算术运算符。这会让 bash 解释为对 string 的操作,而不是对数字的操作。 间接申明(MoeLove)➜ ~ foo=1+1(MoeLove)➜ ~ echo $foo1+1间接申明最简略,但正如后面提到的,间接申明会默认当作 string 进行解决,不能在申明时进行算术运算。 ...

November 22, 2021 · 3 min · jiezi

关于linux:linux之拖拽上传文件

lrzsz是一款在linux里可代替ftp上传和下载的程序。在linux中反对间接拖拽上传的插件;同时也反对rz和sz进行命令上传和下载。服务器上安装插件> yum -y install lrzsz上传一个文件上传能够间接拖动,上传文件至当前目录。也能够用命令,抉择须要上传文件,一次能够指定多个文件。> rz应用xshell会弹出一个文件抉择框。 下载一个文件> sz rumenz.txt或弹出一个保留文件的抉择框 同时下载多个文件> sz rumenz.txt rumenz1.txt下载rumenz目录下所有文件,不蕴含rumenz下的文件夹> sz rumenz/*原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 21, 2021 · 1 min · jiezi

关于linux:Linux在shell脚本中执行MongoDB命令

形式一 间接在shell中嵌入MongoDB命令应用/usr/bin/mongo <<EOF mongodb命令 EOFEOF是End Of File的意思,只是一个标记,也能够替换为其余字符串<<示意规范输出重定向两者配合,就是将一对EOF标记中的内容作为规范输出传递给程序在配合上mongo命令,就是将内容传递给mongo,这样间接写MongoDB的命令就行# create super DBA dba_root and DBA of pxjz dbz_pxjz/usr/bin/mongo <<MongoDBuse admin;isRootExist = (!!db.system.users.findOne({user:'dba_root'}));isPxjzExist = (!!db.system.users.findOne({user:'dba_pxjz'}));!isRootExist ? db.createUser({ user: 'dba_root', pwd: '123', customData: {desc: '超级管理员'}, roles: ['root']}) : '超级管理员曾经存在';use pxjz;!isPxjzExist ? db.createUser({ user: 'dba_pxjz', pwd: '123', customData: {desc: 'pxjz数据库管理员'}, roles: [ {role: 'readWrite', db: 'pxjz'}, {role: 'dbAdmin', db: 'pxjz'}, {role: 'userAdmin', db: 'pxjz'} ]}) : 'pxjz数据库管理员曾经存在';执行后果 形式二 编写独自的mongo脚本独自创立一个js脚本,在其中输出要执行的mongo命令,而后执行该脚本编写脚本而后应用mongo xxx.js执行该脚本须要留神的是,mongo脚本和个别的js文件还有些区别,用官网的话说就是,不能在JavaScript文件中应用任何shell帮忙程序(例如,应用<dbname>,show dbs等),因为它们不是无效的JavaScript,但有替换的办法,参见下表Shell帮忙等价JavaScriptshow dbs, show databasesdb.adminCommand('listDatabases')use <db>db = db.getSiblingDB('<db>')show collectionsdb.getCollectionNames()show usersdb.getUsers()show rolesdb.getRoles({showBuiltinRoles: true})show log<logname>db.adminCommand({ 'getLog' : '<logname>' })show logsdb.adminCommand({ 'getLog' : '*' })itcursor = db.collection.find() if ( cursor.hasNext() ){ cursor.next(); }所以在编写脚本的时候,如果用到左侧列出的Shell帮忙,记得替换为右侧列对应的JS ...

November 21, 2021 · 1 min · jiezi

关于linux:linux远程复制文件命令小总结

我平时在工作中服务器近程拷贝文件个别会用到scp和rsyncscpscp是secure copy的简写,用于在Linux下进行近程拷贝文件的命令,和它相似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。当你服务器硬盘变为只读 read only system时,用scp能够帮你把文件移出来。命令格局> scp [参数] [原门路] [指标门路]参数-1 强制scp命令应用协定ssh1-2 强制scp命令应用协定ssh2-4 强制scp命令只应用IPv4寻址-6 强制scp命令只应用IPv6寻址-B 应用批处理模式(传输过程中不询问传输口令或短语)-C 容许压缩。(将-C标记传递给ssh,从而关上压缩性能)-p 留原文件的批改工夫,拜访工夫和拜访权限。-q 不显示传输进度条。-r 递归复制整个目录。-v 具体形式显示输入。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连贯,验证和配置问题。-c cipher 以cipher将数据传输进行加密,这个选项将间接传递给ssh。-F ssh_config 指定一个代替的ssh配置文件,此参数间接传递给ssh。-i identity_file 从指定文件中读取传输时应用的密钥文件,此参数间接传递给ssh。-l limit 限定用户所能应用的带宽,以Kbit/s为单位。-o ssh_option 如果习惯于应用ssh_config(5)中的参数传递形式,-P port 留神是大写的P, port是指定数据传输用到的端口号-S program 指定加密传输时所应用的程序。此程序必须可能了解ssh(1)的选项。拷贝文件//将本地的rumenz.txt拷贝到近程rumenz.com服务器的tmp目录> scp rumenz.txt rumenz@rumenz.com:/tmp//将近程近程rumenz.com服务器目录的rumenz.txt文件拷贝到本地> scp rumenz@rumenz.com:/tmp/rumenz.txt .拷贝文件夹//将本地的rumenz目录拷贝到近程rumenz.com服务器的tmp目录> scp -r rumenz rumenz@rumenz.com:/tmp//将近程近程rumenz.com服务器目录的rumenz目录文件拷贝到本地> scp -r rumenz@rumenz.com:/tmp/rumenz .rsyncrsync是linux零碎下的数据镜像备份工具。应用疾速增量备份工具Remote Sync能够近程同步,反对本地复制,或者与其余SSH、rsync主机同步。目录语法rsync [OPTION]... SRC DESTrsync [OPTION]... SRC [USER@]host:DESTrsync [OPTION]... [USER@]HOST:SRC DESTrsync [OPTION]... [USER@]HOST::SRC DESTrsync [OPTION]... SRC [USER@]HOST::DESTrsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]命令参数-a 蕴含-rtplgoD-r 同步目录时要加上,相似cp时的-r选项-v 同步时显示一些信息,让咱们晓得同步的过程-l 保留软连贯-L 加上该选项后,同步软链接时会把源文件给同步-p 放弃文件的权限属性-o 放弃文件的属主-g 放弃文件的属组-D 放弃设施文件信息-t 放弃文件的工夫属性--delete 删除DEST中SRC没有的文件--exclude 过滤指定文件,如--exclude “logs”会把文件名蕴含logs的文件或者目录过滤掉,不同步-P 显示同步过程,比方速率,比-v更加具体-u 加上该选项后,如果DEST中的文件比SRC新,则不同步-z 传输时压缩-e 指定所要应用的近程shell程序,默认为ssh。--port 连贯daemon时应用的端口号,默认为873端拷贝文件//将本地的rumenz.txt拷贝到近程rumenz.com服务器的tmp目录> rsync rumenz.txt rumenz@rumenz.com:/tmp//将近程近程rumenz.com服务器目录的rumenz.txt文件拷贝到本地> rsync rumenz@rumenz.com:/tmp/rumenz.txt . 拷贝目录//将本地的rumenz目录拷贝到近程rumenz.com服务器的tmp目录> rsync -r rumenz rumenz@rumenz.com:/tmp//把rumenz.com服务器上的rumenz目录拷贝到192.168.0.111服务器上> rsync -r rumenz@rumenz.com:/tmp/rumenz/ root@192.168.0.111:/home///排除某个目录,--exclude前面的门路不能为绝对路径,必须为相对路径才能够,否则匹配不上,就不会被排除掉> rsync -r --exclude=rumenz/bin rumenz@rumenz.com:/tmp/rumenz root@192.168.0.111:/home/应用rsync镜像两个服务器的目录> rsync -avz root@rumenz.com:/opt/pkg /opt/pkg小总结scp 适宜小文件的拷贝,大文件较大,比方拷贝测序数据,倡议应用rsync,因为scp不具备续传的性能,传输过程中失败了就须要从新开始,而rsync不会,如果中断,只须要从新运行拷贝的命令即可。此外,scp所占资源绝对较少,不会进步多少零碎负荷。尽管 rsync比scp会快一点,但当小文件泛滥的状况下,rsync会导致硬盘I/O十分高。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 20, 2021 · 1 min · jiezi

关于linux:Linux修改主机名

本文以Centos7为例 一、长期批改批改后,从新登录即可失效,然而重启后恢复原主机名hostname newName二、永恒批改批改后,须要重启才会失效,但只须要批改一次,之后永恒失效1.批改配置文件/etc/hostname vim /etc/hostname2.在配置文件中,删除原来的主机名,输出新主机名,保留退出 newName3.重启零碎 reboot

November 20, 2021 · 1 min · jiezi

关于linux:解决ip和域名都能够ping通但是启动nginx无法访问网页的问题

解决思路最近双11逛西部数码的官网看看有没有什么服务器优惠的时候,发现了能够申请一个一块钱用一整年的SSL证书,立马心动下单了,想想俺也能够用https装装X了哈哈不过在部署完证书,并调整nginx代理将初始端口指向443端口之时,忽然发现集体站点拜访不到了,有点奇怪然而,遇到问题先别慌,先查看服务器的运行状态,所有OK,再查看是否可能ping通我的IP和域名,好没问题咦这么奇怪的嘛,在我脑子没有转过弯之前,我始终没留神我的防火墙端口只凋谢到了初始端口,并没有凋谢443端口,啊,我在搞什么啊于是,在/etc/sysconfig/iptables文件中凋谢443端口,重启防火墙,OK,网页拜访失常了总结,我真是个大傻X哈哈哈哈哈开启443端口流程cd /etc/sysconfig进入该目录,查看是否存储了iptables文件vim iptables应用vim编辑器批改iptables文件,按下i进入编辑模式在初始端口那行上面增加-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT,凋谢443端口service iptables restart重启防火墙即可liunx防火墙命令linux中次要分为旧版的iptables防火墙和新版的firewall防火墙 iptables防火墙查看防火墙状态 service iptables status进行防火墙 service iptables stop启动防火墙 service iptables start重启防火墙 service iptables restart永恒敞开防火墙 chkconfig iptables off永恒敞开防火墙后重启 chkconfig iptables onfirewall防火墙查看防火墙服务状态 systemctl status firewalld查看防火墙状态 firewall-cmd --state进行防火墙 service firewalld stop启动防火墙 service firewalld start重启防火墙 service firewalld restart查看防火墙规定 firewall-cmd --list-all查看80端口是否凋谢 firewall-cmd --query-port=80/tcp凋谢80端口 firewall-cmd --permanent --add-port=80/tcp移除80端口 firewall-cmd --permanent --remove-port=80/tcp凋谢和移除端口都是对配置文件做出了批改,须要重启防火墙,上面是8/9命令中的参数解析 firewall-cmd 是linux提供的操作firewall的一个工具--permanent 示意设置为长久--add-port 示意增加的端口我是 fx67ll.com,如果您发现本文有什么谬误,欢送在评论区探讨斧正,感谢您的浏览! 如果您喜爱这篇文章,欢送拜访我的 本文github仓库地址,为我点一颗Star,Thanks~ :) 转发请注明参考文章地址,非常感谢!!! ...

November 20, 2021 · 1 min · jiezi

关于linux:AlmaLinux镜像在阿里云镜像站首发上线

阿里云官网镜像站:https://developer.aliyun.com/... 简介作为一个开源且永恒收费的企业 Linux 发行版,AlmaLinux OS 由社区治理和驱动,专一于长期稳定性和弱小的生产平台利用。 其最大特点,是实现了与红帽企业版(RHEL)二进制文件的 1:1 兼容,且由成熟的 CloudLinux OS 幕后团队创建。 AlmaLinux个性稳固、生产就绪、基于 AlmaLinuxAlmaLinux OS 是一个企业级服务器操作系统和一个稳固的 Linux 发行版,定期公布,反对窗口很长。您能够依附 AlmaLinux OS 来运行任何要害工作负载。 ● CentOS 替代品和准确的 AlmaLinux 克隆 ● 生产就绪且稳固,匹配 AlmaLinux 性能 1:1 ● 与 AlmaLinux 同步公布的稳固版本和更新的可预测性 从 CentOS 轻松迁徙切换发行版通常既低廉又耗时,但从 CentOS 切换到 AlmaLinux 操作系统时并非如此。切换很容易,简直是霎时的。 ● 从 CentOS 轻松过渡,只需起码的投资且无需更改软件 ● 从 CentOS 过渡到 AlmaLinux 操作系统的简略迁徙脚本。 ● 零迁徙停机工夫。即时迁徙甚至大型服务器群 齐全反对,永远收费AlmaLinux OS 基金会成员、赞助商和合作伙伴通过投资和长期反对承诺反对 AlmaLinux OS,以确保散发不受限制、费用和免费。 ● 永远收费和开源:没有许可证,没有应用限度。可自在从新散发 ● 依附社区领有和治理的我的项目 ● 8.x 公布到 2029 年的反对承诺 ...

November 19, 2021 · 1 min · jiezi

关于linux:linux总结10大危险命令

rm -rf 命令该命令可能导致不可复原的零碎崩坏。> rm -rf / #强制删除根目录下所有货色。> rm -rf * #强制删除当前目录的所有文件。> rm -rf . #强制删除以后文件夹及其子文件夹。执行rm -rf 肯定要想半天,搞明确本人在干什么.fork 炸弹:() { :|:& };:不太好了解能够转换成bomb(){ bomb|bomb&};bomb一旦执行起来,-bash: fork: Cannot allocate memory,会把系统资源耗费殆尽。它会调用本人两次,一次在前台另一次运行在后盾。它会重复的执行上来直到零碎解体。echo "" > /dev/sda该操作会将在块设施中的所有数据块替换为命令写入的原始数据,从而导致整个块设施的数据失落。mv 文件夹 /dev/null> mv /etc /dev/null/dev/null 或 null 设施是一个非凡的文件,所有写入它的数据都会被革除,而后返回写操作胜利。然而这个命令并不能阻止数据恢复软件——所以,真正的彻底覆灭,须要采纳专用的软件或者手法来实现。下载的文件立刻执行> wget http://rumenz.com/rumenz.sh -O- | sh如果rumenz.sh是一个病毒脚本,就完蛋了。下载脚本文件之前要看看外面的内容,有危险的操作就不要执行。mkfs.ext3 /dev/sdb这个命令会格式化块设施sdb,在执行这个命令后你的块设施(硬盘驱动器)会被格式化,间接让你的零碎达到不可复原的阶段。重定向输入到文件> > rumenz.txt这个命令罕用来清空文件内容或记录命令输入,执行之前请思考分明。硬盘清零> dd if=/dev/zero of=/dev/had这个命令会将整个主硬盘清零执行假装后的命令char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;下面的命令就是rm -rf ,这里的代码是暗藏在十六进制里的,可能会擦除你的根分区,所以看不懂的命令千万不能执行,非要看成果,请在虚拟机中执行。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 18, 2021 · 1 min · jiezi

关于linux:一篇搞懂容器技术的基石-cgroup

大家好,我是张晋涛。 目前咱们所提到的容器技术、虚拟化技术(不管何种抽象层次下的虚拟化技术)都能做到资源层面上的隔离和限度。 对于容器技术而言,它实现资源层面上的限度和隔离,依赖于 Linux 内核所提供的 cgroup 和 namespace 技术。 咱们先对这两项技术的作用做个概括: cgroup 的次要作用:治理资源的调配、限度;namespace 的次要作用:封装形象,限度,隔离,使命名空间内的过程看起来领有他们本人的全局资源;本篇,咱们重点来聊 cgroup 。 为什么要关注 cgroup & namespace云原生/容器技术的井喷式增长自 1979年,Unix 版本7 在开发过程中引入 Chroot Jail 以及 Chroot 零碎调用开始,直到 2013 年开源出的 Docker,2014 年开源进去的 Kubernetes,直到现在的云原生生态的炽热。 容器技术曾经逐渐成为支流的根底技术之一。 在越来越多的公司、集体抉择了云服务/容器技术后,资源的调配和隔离,以及安全性变成了人们关注及探讨的热点话题。 其实容器技术应用起来并不难,但要真正把它用好,大规模的在生产环境中应用, 那咱们还是须要把握其外围的。 以下是容器技术&云原生生态的大抵倒退历程: 图 1 ,容器技术倒退历程 从图中,咱们能够看到容器技术、云原生生态的倒退轨迹。容器技术其实很早就呈现了,但为何在 Docker 呈现后才开始有了较为显著的倒退?晚期的 chroot 、 Linux VServer 又有哪些问题呢? Chroot 带来的安全性问题 图 2 ,chroot 示例 Chroot 能够将过程及其子过程与操作系统的其余部分隔离开来。然而,对于 root process ,却能够任意退出 chroot。 package mainimport ( "log" "os" "syscall")func getWd() (path string) { path, err := os.Getwd() if err != nil { log.Println(err) } log.Println(path) return}func main() { RealRoot, err := os.Open("/") defer RealRoot.Close() if err != nil { log.Fatalf("[ Error ] - /: %v\n", err) } path := getWd() err = syscall.Chroot(path) if err != nil { log.Fatalf("[ Error ] - chroot: %v\n", err) } getWd() err = RealRoot.Chdir() if err != nil { log.Fatalf("[ Error ] - chdir(): %v", err) } getWd() err = syscall.Chroot(".") if err != nil { log.Fatalf("[ Error ] - chroot back: %v", err) } getWd()}别离以普通用户和 sudo 的形式运行: ...

November 18, 2021 · 4 min · jiezi

关于linux:开发神器来了如何在优麒麟上安装跨平台应用框架Flutter

关注优麒麟,更多干货等着你! Flutter 是 Google 推出并开源的挪动利用开发框架,一个新的用于构建跨平台的手机 App 的 SDK,反对插件和 Package,能够通过丰盛的插件和 Pakage 实现更多的性能,例如调用 GPS 和相机等等,主打跨平台、高保真、高性能,能够疾速在 iOS 和 Android 上构建高质量的原生用户界面。 01 与其余跨平台技术的比拟● 原生 App 开发人员间接调用平台 SDK 进行 UI 开发。因为语言及 SDK 的不同,所以开发人员必须为两个平台别离开发 App。 图1 原生 App 简略架构 ● WebViews UI 通过 WebView 来显示 html 代码,零碎服务则通过一个中间层桥接到 JaveScript 中去。 图2 WebViews 架构 ● React Native RN 不仅桥接零碎服务,也将零碎 UI 也桥接到了 JaveScript 中,这样写进去的 UI 最终也会渲染成原生的控件。如图1.3这样,UI 的渲染是很频繁的,要使 UI 不卡顿,必须达到60Fps。然而桥接会破费肯定的工夫。所以这样的架构有时候会有性能问题。 图3 React Native 架构 ● Flutter ...

November 18, 2021 · 2 min · jiezi

关于linux:linux之抓包神器tcpdump

tcpdump介绍tcpdump 是一款弱小的网络抓包工具,运行在 linux 平台上。相熟 tcpdump 的应用可能帮忙你剖析、调试网络数据。tcpdump语法tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表白文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输入数据栏位]tcpdump参数-a 将网络地址和播送地址转变成名字;-d 将匹配信息包的代码以人们可能了解的汇编格局给出;-dd 将匹配信息包的代码以c语言程序段的格局给出;-ddd 将匹配信息包的代码以十进制的模式给出;-e 在输入行打印出数据链路层的头部信息,包含源mac和目标mac,以及网络层的协定;-f 将内部的Internet地址以数字的模式打印进去;-l 使规范输入变为缓冲行模式;-n 指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;-nn: 指定将每个监听到的数据包中的域名转换成IP、端口从利用名称转换成端口号后显示-t 在输入的每一行不打印工夫戳;-v 输入一个略微具体的信息,例如在ip包中能够包含ttl和服务类型的信息;-vv 输入具体的报文信息;-c 在收到指定的包的数目后,tcpdump就会进行;-F 从指定的文件中读取表达式,疏忽其它的表达式;-i 指定监听的网络接口;-p: 将网卡设置为非混淆模式,不能与host或broadcast一起应用-r 从指定的文件中读取包(这些包个别通过-w选项产生);-w 间接将包写入文件中,并不剖析和打印进去;-s snaplen snaplen示意从一个包中截取的字节数。0示意包不截断,抓残缺的数据包。默认的话 tcpdump 只显示局部数据包,默认68字节。-T 将监听到的包间接解释为指定的类型的报文,常见的类型有rpc (近程过程调用)和snmp(简略网络管理协定;)-X 通知tcpdump命令,须要把协定头和包内容都原原本本的显示进去(tcpdump会以16进制和ASCII的模式显示),这在进行协定剖析时是相对的利器。监听所有端口,间接显示 ip 地址> tcpdump -nS显示更具体的数据报文,包含 tos, ttl, checksum 等。> tcpdump -nnvvS显示数据报的全副数据信息,用 hex 和 ascii 两列比照输入。> tcpdump -nnvvXShost: 过滤某个主机的数据报文> tcpdump host 1.2.3.4src, dst: 过滤源地址和目标地址> tcpdump src 1.2.3.4> tcpdump dst 1.2.3.4net: 过滤某个网段的数据> tcpdump net 1.2.3.0/24过滤某个协定的数据,反对 tcp, udp 和 icmp> tcpdump icmp过滤通过某个端口的数据报> tcpdump port 3306src/dst, port, protocol: 联合三者> tcpdump src port 22 and tcp> tcpdump udp and src port 25抓取指定范畴的端口> tcpdump portrange 21-23通过报文大小过滤申请,数据报大小,单位是字节> tcpdump less 32> tcpdump greater 128> tcpdump > 32> tcpdump <= 128抓包输入到文件> tcpdump -w rumenz.pcap port 80从文件读取报文显示到屏幕> tcpdump -nXr rumenz.pcap host web源地址是 192.168.1.110,目标端口是3306的数据报> tcpdump -nnvS src 192.168.1.110 and dst port 3306从 192.168 网段到 10 或者 172.31 网段的数据报> tcpdump -nvX src net 192.168.0.0/16 and dat net 10.0.0.0/8 or 172.31.0.0/16tcpdump 的输入解读21:27:06.995846 IP (tos 0x0, ttl 64, id 45646, offset 0, flags [DF], proto TCP (6), length 64) 192.168.1.110.40411 > 192.168.1.123.80: Flags [S], cksum 0xa730 (correct), seq 992042666, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 663433143 ecr 0,sackOK,eol], length 021:27:07.030487 IP (tos 0x0, ttl 51, id 0, offset 0, flags [DF], proto TCP (6), length 44) 192.168.1.123.80 > 192.168.1.110.40411: Flags [S.], cksum 0xedc0 (correct), seq 2147006684, ack 992042667, win 14600, options [mss 1440], length 021:27:07.030527 IP (tos 0x0, ttl 64, id 59119, offset 0, flags [DF], proto TCP (6), length 40) 192.168.1.110.40411 > 192.168.1.123.80: Flags [.], cksum 0x3e72 (correct), ack 2147006685, win 65535, length 0最根本也是最重要的信息就是数据报的源地址/端口和目标地址/端口,下面的例子第一条数据报中,源地址 ip 是192.168.1.110,源端口是 40411,目标地址是 192.168.1.123,目标端口是 80。 > 符号代表数据的方向。 ...

November 18, 2021 · 2 min · jiezi

关于linux:AlmaLinux-与-Rocky-Linux

阿里云官网镜像站:AlmaLinux、 Rocky Linux源 https://developer.aliyun.com/mirror/?utm_content=g_1000303593 随着CentOS Linux从企业稳固的操作系统转变为RHEL的上游开发分支,新的我的项目纷纷涌现,以填补其留下的空白。 您可能曾经据说过的发行版是AlmaLinux和Rocky Linux,这是作为 CentOS 可行替代品的两个次要竞争者。 对于决定切换到另一个 RHEL 分支而不是齐全跳到发行版的 CentOS 用户来说,他们将面临这样的问题:“我应该应用哪个发行版?AlmaLinux 还是 Rocky?” 在本指南中,咱们将在几个要害畛域比拟 AlmaLinux 和 Rocky Linux。咱们将衡量它们的优缺点,看看它们如何互相叠加,并最终为您提供足够的信息来帮忙您决定应该应用哪一个。 背景材料两个发行版,如 CentOS,都是收费的。他们有雷同的指标,即以 RHEL 上游版本的模式为您带来企业级、生产就绪的 Linux。发行版之间的次要区别之一是它们的代码是如何保护的。 AlmaLinux 由 CloudLinux 的开发人员构建和保护,CloudLinux 是一家提供服务器托管和 Linux 软件的公司。这是一家在 RHEL 分支方面经验丰富的公司,十多年来始终构建和保护其外部发行版 CloudLinux OS,它自身就是一个分支。展望未来,CloudLinux 承诺在发行版的方向上尽可能多地让社区参加进来。 Rocky Linux 由 CentOS 的原始创始人 Gregory Kurtzer 领导。Rocky Linux 是社区驱动的,不像 AlmaLinux 那样有商业开发人员在工资单上。依据您的观点,这可能是坏事也可能是好事。也有人会辩论说,如果 Kurtzer 一开始就思考 CentOS 的利益,它就不会被 Red Hat 吞并并产生方向变动。 底线:理解这两个发行版的资金和反对形式对您抉择应用哪个发行版很重要。你会抉择 AlmaLinux,CloudLinux 每年以 100 万美元资助它吗?或者你会抉择 Rocky,他有本人的赞助商并由社区保护? 与 CentOS 的比拟两个发行版都旨在与 RHEL 二进制兼容。当初与 CentOS 进行间接比拟还为时过早,但您应该可能从 CentOS 切换到 AlmaLinux 或 Rocky Linux,同时体验很少的差别和起码的停机工夫。目前,只需几步即可从 CentOS 迁徙到 AlmaLinux。Rocky Linux 公布后,预计还将提供易于遵循的迁徙办法。 ...

November 17, 2021 · 1 min · jiezi

关于linux:linux实战清理挖矿病毒kthreaddi

故事背景最新收到报警音讯,始终提醒服务器CPU 100%,而后登入服务器用top一看,发现并没有过程特地占用CPU,马上第一直觉就是top命令曾经被篡改。须要借助其余的工具。装置busybox零碎有故障,登录后如果发现用失常的命令找不到问题,那么极有可能该命令被篡改。 BusyBox 是一个集成了三百多个最罕用Linux命令和工具的软件,外面就有我须要的top命令。 > busybox top 终于看到了这个kthreaddi过程,上网一查这个货色叫门罗币挖矿木马,假装的实现是太好了和零碎中的失常过程kthreadd太像了。清理门罗币挖矿木马惯例形式先试试> kill -9 6282 过一会又起来了,阐明有守护过程查看零碎中的定时工作> crontab -l0 * * * * /tmp/sXsdc发现一个这,一看就不是什么好货色,间接清理crontab,crontab -e dd :wq!一顿操作,察看了一会发现又进去0 * * * * /tmp/xss00,可执行程序的名字还变,看来解决这个杯水车薪,这些文件都是二进制的,间接关上查看,也看不出啥。去内核数据目录找找看> ls -al ll /proc/6282 6282是方才那个挖矿过程 原来在 tmp上面有文章 ,然而被 deleted,不论先去看看> /tmp/.dHyUxCd/> ls -al config.json 外面都是一些配置,外面找到一个美国的IP 清理病毒删除/tmp/.dHyUxCd/目录kill -9 挖矿过程pidreboot重启总结本次服务器被挖矿,有可能是docker没有TLS通信加密,也有可能是redis的弱明码,被入侵。先把docker停掉(前面抽空Docker启用TLS进行平安配置),redis明码强度加高一点。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 16, 2021 · 1 min · jiezi

关于linux:linux基础一

平时工作也会写些命令行,但都要用的时候才记得,不成体系(忘了就百度),很多命令也老遗记。 这次跟着coggle的开源学习门路梳理一下,坚固根底。 兴许你会问,数分还须要把握这些么?对,不须要,和数据分析没什么关系,但牵扯到工程问题,你绕不开这些,最近也在钻研一些国外的开源数据产品,感触到了国外数分or数据迷信岗位对于技术的要求显著是高于国内的(没方法,人家当先了咱们很多在数据技术这块,得抵赖)。 集体认为,对于数据技术的疾速把握能力,也是数据分析师OR数据科学家的一项十分重要的能力。货色拿来就能疾速跑起来、利用起来,这十分重要! 工具/技术有很多,咱们最终的目标是,在不同的数据场景下,从武器库中拿出最合适、最有战斗力的武器。 扯远了,也是最近的一些感悟吧。 进入正题~ 应用命令行登录指定的Linux环境平时工作也会写些命令行,但都是要用的时候才记得,不成体系(忘了就百度),很多命令也老遗记。这次跟着coggle的门路梳理一下,再坚固下根底。 Xshell,YYDS,不多解释,工作中个别都用这。 1、装置 2、文件-新建-输出ip-用户名-明码 这节比较简单,水个工作~~~~ 在目录下创立文件夹、删除文件夹Linux目录构造1、开局一张图不同目录,寄存着不同的作用的文件。 2、局部目录解释 /bin 寄存着常常应用的命令/boot启动linux的文件(别乱删,不然gg)etc系统管理须要的配置文件/home用户的主目录,比如说新建一个普通用户,该用户的目录入口就在这/lib零碎最根本的动静连贯库/opt装置软件所在的目录(装置的软件都放这)/tmp 长期目录/usr (十分重要)应用程序和文件都在这,相似于 windows 下的 program files 目录/usr/bin零碎用户应用的利用usr/sbin超级用户应用的比拟高级的管理程序和零碎守护程序在 Linux 零碎中,有几个目录是比拟重要的,平时须要留神不要误删除或者随便更改外部文件。 /etc: 上边也提到了,这个是零碎中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。 /bin, /sbin, /usr/bin, /usr/sbin: 这是零碎预设的执行文件的搁置目录,比方 ls 就是在 /bin/ls 目录下的。 /bin, /usr/bin 是给零碎用户应用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 应用的指令。 /var: 这是一个十分重要的目录,零碎上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设搁置也是在这里. 参考链接:https://www.runoob.com/linux/... Linux 文件与目录治理1、绝对路径 、相对路径 绝对路径说人话就是,“十分残缺”的门路。这里指的就是绝对路径,以后地位的残缺门路(从根目录/开始)相对路径指的就是,绝对于以后地位的门路。比方,当初从jims文件切到kuan文件上来,用..代表上一级目录的残缺目录(就不必写/home/coggle/kuan这么长了)2、解决目录的常用命令 ls 列出目录及文件名cd 切换目录pwd显示当前目录mkdir创立目录rmdir 删除一个空目录cp 复制目录rm 删除文件/目录mv 挪动文件/目录,还能批改文件/目录另外,应用 man [命令] 来查看各个命令的应用文档,如 :man cp 3、练习 $ pwd # 当前目录/home/coggle$ mkdir Ceallach_Shaw #创立文件夹A$ cd Ceallach_Shaw/ #进入文件夹A$ pwd /home/coggle/Ceallach_Shaw$ mkdir coggle # 在A下创立文件夹B$ lscoggle$ cd coggle/ # 进入文件夹B$ mkdir txt # 在文件夹B下创立txt文件$ lstxt$ rm -rf txt # 删除txt$ ls$ pwd/home/coggle/Ceallach_Shaw/coggle$ cd .. # 返回上一级目录$ rm -rf coggle/ # 删除B文件夹$ cd ..$ rm -rf Ceallach_Shaw/ # 删除A文件夹$ ls # 查看当前目录4C79 LonelVino LonelVino.zip dongyu future_y jaychou_lyrics.txt lipufei myxc.tar.gz s2.sh t wordpress.zipBelaF LonelVino.tar Sunny elics gzg jims myxc myxc.zip selenim.py.save test5.pyJanayt LonelVino.tar.gz dengniewei foldit hgw kuan myxc.tar panda_zhangs shell_0.sh turkeymz$ 在目录下下载文件、浏览文件下载文件个别状况下,都是用wget,从指定的URL下载文件,最大的长处就是比较稳定,网络适应性强(网速慢,也能稳固下载),就算是停电断网了,也能从历史下载地位持续下载。 ...

November 16, 2021 · 2 min · jiezi

关于linux:linux下清理系统缓存并释放内存

当linux频繁读取文件后,物理内存会很快被用完,当程序完结后,内存不会被失常开释,而是始终caching,因而有必要手动清理零碎缓存开释内存。sync操作系统在运行过程中,会把拜访到的文件放到buffer中。为了防止断电,等故障造成数据失落,咱们须要把buffer中的缓存数据写入到磁盘> sync;sync;sync手动执行sync命令(形容:sync 命令运行 sync 子例程。如果必须进行零碎,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的零碎缓冲区写到磁盘中,蕴含已批改的 i-node、已提早的块 I/O 和读写映射文件手动开释内存的命令> echo 3>/proc/sys/vm/drop_cachesdrop_caches的值能够是0-3之间的数字,代表不同的含意:0:不开释(零碎默认值)1:开释页缓存2:开释dentries和inodes查看内存> free -htotal——总物理内存used——已应用内存,个别状况这个值会比拟大,因为这个值包含了cache+应用程序应用的内存free——齐全未被应用的内存shared——应用程序共享内存buffers——缓存,次要用于目录方面,inode值等(ls大目录可看到这个值减少)cached——缓存,用于已关上的文件复原默认设置缓存能够晋升零碎的运行效率,如果发现零碎内存常常不够用,应该思考增加内存,而不是常常清理> echo 0>/proc/sys/vm/drop_caches原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 15, 2021 · 1 min · jiezi

关于linux:Supervisor进程管理工具使用教程与讲解

1.Supervisor工具作用?Supervisor 是用Python开发的一套通用的过程管理程序,能将一个一般的命令行过程变为后盾daemon,并监控过程状态,异样退出时能主动重启。 看之前先明确Supervisor有啥用,到底能帮到咱们什么呢?1.能够将一些脚本设置为以守护过程的形式始终在后盾运行。2.监控过程的运行状况,面对突发状况能及时预警或者重启,防止出现过程挂掉,影响业务的失常运行 2.装置装置形式:1.pip 装置(需装置有pip)pip install supervisor 2.yum装置 配置好yum源。yum install -y supervisor 装置supervisor提醒找不到supervisor时,须要yum install epel-release先装置EPEL源) 装置好应用supervisord -v查看版本。此处应用yum装置的3.4版本 3.应用执行echo_supervisord_conf > /etc/supervisord.conf创立一个官网默认的配置文件(supervisord.conf 主配置文件)到etc目录下。 能够本人依据爱好批改配置文件的设置。我本人批改了一些配置文件门路,日志门路等。可供大家参考 ;Sample supervisor config file.[unix_http_server]file=/var/supervisor/run/supervisor.sock ; (the path to the socket file);chmod=0700 ; sockef file mode (default 0700);chown=nobody:nogroup ; socket file uid:gid owner;username=user ; (default is no username (open server));password=123 ; (default is no password (open server));[inet_http_server] ; inet (TCP) server disabled by default;port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface);username=user ; (default is no username (open server));password=123 ; (default is no password (open server))[supervisord]logfile=/var/supervisor/log/supervisord.log ; (main log file;default $CWD/supervisord.log)logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)logfile_backups=10 ; (num of main logfile rotation backups;default 10)loglevel=info ; (log level;default info; others: debug,warn,trace)pidfile=/var/supervisor/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)nodaemon=false ; (start in foreground if true;default false)minfds=1024 ; (min. avail startup file descriptors;default 1024)minprocs=200 ; (min. avail process descriptors;default 200);umask=022 ; (process file creation umask;default 022);user=chrism ; (default is current user, required if root);identifier=supervisor ; (supervisord identifier, default is 'supervisor');directory=/tmp ; (default is not to cd during start);nocleanup=true ; (don't clean up tempfiles at start;default false);childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP);environment=KEY=value ; (key value pairs to add to environment);strip_ansi=false ; (strip ansi escape codes in logs; def. 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]supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]serverurl=unix:///var/supervisor/run/supervisor.sock ; use a unix:// URL for a unix socket;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket;username=chris ; should be same as http_username if set;password=123 ; should be same as http_password if set;prompt=mysupervisor ; cmd line prompt (default "supervisor");history_file=~/.sc_history ; use readline history if available; 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];command=/bin/cat ; the program (relative uses PATH, can take args);process_name=%(program_name)s ; process_name expr (default %(program_name)s);numprocs=1 ; number of processes copies to start (def 1);directory=/tmp ; directory to cwd to before exec (def no cwd);umask=022 ; umask for process (default None);priority=999 ; the relative start priority (default 999);autostart=true ; start at supervisord start (default: true);autorestart=true ; retstart at unexpected quit (default: true);startsecs=10 ; number of secs prog must stay running (def. 1);startretries=3 ; max # of serial start failures (default 3);exitcodes=0,2 ; 'expected' exit codes for process (default 0,2);stopsignal=QUIT ; signal used to kill process (default TERM);stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10);user=chrism ; setuid to this UNIX account to run the program;redirect_stderr=true ; redirect proc stderr to stdout (default false);stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stdout_logfile_backups=10 ; # of stdout logfile backups (default 10);stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0);stdout_events_enabled=false ; emit events on stdout writes (default false);stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stderr_logfile_backups=10 ; # of stderr logfile backups (default 10);stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0);stderr_events_enabled=false ; emit events on stderr writes (default false);environment=A=1,B=2 ; process environment additions (def no adds);serverurl=AUTO ; override serverurl computation (childutils); 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];command=/bin/eventlistener ; the program (relative uses PATH, can take args);process_name=%(program_name)s ; process_name expr (default %(program_name)s);numprocs=1 ; number of processes copies to start (def 1);events=EVENT ; event notif. types to subscribe to (req'd);buffer_size=10 ; event buffer queue size (default 10);directory=/tmp ; directory to cwd to before exec (def no cwd);umask=022 ; umask for process (default None);priority=-1 ; the relative start priority (default -1);autostart=true ; start at supervisord start (default: true);autorestart=unexpected ; restart at unexpected quit (default: unexpected);startsecs=10 ; number of secs prog must stay running (def. 1);startretries=3 ; max # of serial start failures (default 3);exitcodes=0,2 ; 'expected' exit codes for process (default 0,2);stopsignal=QUIT ; signal used to kill process (default TERM);stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10);user=chrism ; setuid to this UNIX account to run the program;redirect_stderr=true ; redirect proc stderr to stdout (default false);stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stdout_logfile_backups=10 ; # of stdout logfile backups (default 10);stdout_events_enabled=false ; emit events on stdout writes (default false);stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stderr_logfile_backups ; # of stderr logfile backups (default 10);stderr_events_enabled=false ; emit events on stderr writes (default false);environment=A=1,B=2 ; process environment additions;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=progname1,progname2 ; each refers to 'x' in [program:x] definitions;priority=999 ; the relative start priority (default 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];files = supervisord.d/*.inifiles = /var/supervisor/conf/*.conf我的配置文件中,须要在/var/supervisor中创立3个文件夹,别离是conf,log,run. ...

November 15, 2021 · 5 min · jiezi

关于linux:oneinstack申请免费的R3-域名证书

OneinStack 是出名 Linux 技术博客 LinuxEye 推出的一个能够一键装置 LNMP(Linux + NGINX + MySQL + PHP)、LAMP(Linux + Apache + MySQL + PHP)、LNMPA(Linux + NGINX + MySQL + PHP + Apache)等建站环境的一键安装包。次要是提供了一个可视化页面,能够间接在页面上抉择本人想要的配置,而后主动生成装置命令,而后就期待主动装置实现就行oneinstack 官网linux 下载oneinstackwget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar -xvf oneinstack-full.tar.gz oneinstack集成了acme.sh 工具,能够用 vhost.sh 脚本文件间接申请收费的R3证书,并主动创立打算工作,检测并更新证书到期工夫。oneinstack的文件目录如下: addons.sh backup_setup.sh # 备份设置backup.sh # 执行备份configincludeinit.dinstall.loginstall.sh # oneinstack环境装置脚本LICENSEoptions.conf # 配置信息寄存文件pureftpd_vhost.sh # ftp治理README.mdreset_db_root_password.sh # 重置数据库root明码src # 装置过程应用源码装置,将会把源码文件下载到这个文件夹toolsuninstall.sh # oneinstack环境卸载脚本upgrade.sh # 各种插件降级脚本versions.txtvhost.sh # 域名证书申请脚本证书申请开始之前须要首先购买、备案、并解析域名。备案帮忙文档解析域名帮忙文档进入 oneinstack 工作目录,应用 root 权限执行 vhost.sh 文件./vhost.sh 抉择生成网站配置文件的形式 What Are You Doing? 1. Use HTTP Only 2. Use your own SSL Certificate and Key 3. Use Let's Encrypt to Create SSL Certificate and Key q. ExitPlease input the correct option: 3不应用证书,间接生成网站配置文件应用自定义证书,这个同样须要填写域名等信息,然而脚本不会去R3官网申请证书,配置文件生成后须要手动将本人的证书放在配置文件指定的地位中应用 " Let's Encrypt " 提供的收费证书输出域名、设置网站根目录 ...

November 15, 2021 · 2 min · jiezi

关于linux:linux之ClamAV杀毒软件安装配置

Linux 服务器的平安问题越来越频发,服务器被歹意入侵,业务数据被歹意删除和加密以及服务器被劫持作为 DDos 肉鸡等.为了加强 Linux 服务器的安全性,给大家举荐一款开源的防病毒软件 ClamAV装置 ClamAV> yum install -y epel-release> yum install -y clamav罕用参数-i 仅仅打印被感化的文件-d<文件> 以指定的文件作为病毒库,一代替默认的/var/clamav目录下的病毒库文件-l <文件> 指定日志文件,以代替默认的/var/log/clamav/freshclam.log文件-r 递归扫描,即扫描指定目录下的子目录--move=<目录> 把感化病毒的文件挪动到指定目录--remove 删除感化病毒的文件配置 ClamAV批改/etc/freshclam.conf 配置文件:找到蕴含 Example 的行, 增加 # 号, 进行正文。找到蕴含 #DatabaseOwner clamav 的行,改为 DatabaseOwner root。找到蕴含 #UpdateLogFile /var/log/freshclam.log 的行,将 # 号去除。找到蕴含 #LogFileMaxSize 2M 的行,将 # 号去除, 并设置相应的大小,比方 20M。找到蕴含 #LogRotate yes 的行,将 # 号去除。找到蕴含 #LogTime yes 的行,将 # 号去除。找到蕴含 #DatabaseDirectory /var/lib/clamav 的行,将 # 号去除。更新病毒库为避免蠕虫流传,必须常常查看更新,ClamAV用户须要常常执行freshclam,查看距离为30分钟。因为ClamAV用户数量过大,托管病毒数据库文件的服务器很容易过载。如果间接执行freshclam从公网更新会很慢,能够通过搭建公有镜像源进行内网散发> mkdir /var/lib/clamav> chmod 755 /var/lib/clamav/执行如下命令,更新病毒库(第一次更新须要半个小时以上, 请急躁期待):> freshclam --datadir=/var/lib/clamav/进行病毒扫描##扫描文件> clamscan targetfile##递归扫描home目录,并且记录日志> clamscan -r -i /home -l /var/log/clamscan.log##递归扫描home目录,将病毒文件删除,并且记录日志> clamscan -r -i /home --remove -l /var/log/clamscan.log##倡议##扫描指定目录,而后将感化文件挪动到指定目录,并记录日志> clamscan -r -i /home --move=/opt/infected -l /var/log/clamscan.log定期扫描为了不影响 Linux 服务器的失常应用,倡议将病毒库降级操作和病毒扫描操作放在非业务顶峰期间运行。> crontab -e30 2 * * * /bin/freshclam --datadir=/var/lib/clamav/30 3 * * * /bin/clamscan -ri <path/to/scan> | mail -s "clamscan daily report" 'youremailaddress'每天凌晨 2 点半进行病毒库更新, 在凌晨 3 点半进行病毒扫描, 并通过邮件形式把扫描后果发送到邮箱。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 14, 2021 · 1 min · jiezi

关于linux:linux检测系统是否被入侵下

查看零碎的异样文件查看敏感目录,如/tmp目录下的文件,同时留神暗藏文件夹,以.为名的文件夹具备暗藏属性> ls -al查找1天以内被拜访过的文件> find /opt -iname "*" -atime 1 -type f-iname不辨别大小写,-atime最近一次被拜访的工夫,-type文件类型查看历史命令查看被入侵后,在零碎上执行过哪些命令,应用root用户登录零碎,查看/home目录下的用户主目录的.bash_history文件 默认状况下,零碎能够保留1000条的历史命令,并不记录命令执行的工夫,依据须要进行平安加固。 设置保留1万条命令> sed -i 's/HISTSIZE=1000/HISTSIZE=10000/g' /etc/profilehistory加固> vim /etc/profile USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`if [ "$USER_IP"=="" ]then USER_IP=`hostname`fiexport HISTTIMEFORMAT="%F %T $USER_IP `whoami`"#为避免会话退出时笼罩其余会话写到HISTFILE的内容shopt -s histappendexport PROMPT_COMMAND="history -a"//配置失效> source /etc/profilePROMPT_COMMAND是什么PS1-PS4介绍了一些用于提示信息管制的环境变量,而在此之前能够进行回调的一个环境变量就是PROMPT_COMMAND,这个环境变量中设定的内容将在交互式脚本的提醒(PS1)呈现之前被执行。查看系统日志在Linux上个别跟零碎相干的日志默认都会放到/var/log上面,若是一旦呈现问题,用户就能够通过查看日志来迅速定位,及时解决问题。罕用日志文件如下:/var/log/btmp记录谬误登录日志,这个文件是二进制文件,不能用vi间接查看,能够用lastb看/var/log/lastlog记录零碎中所有用户最初一次胜利登录零碎的工夫,这是一个二进制文件,不能用vi查看,能够用lastlog查看/var/log/wtmp永恒记录所有用户的登录、登记信息,同时记录零碎的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能间接vi,而须要应用last命令来查看。/var/log/utmp记录以后曾经登录的用户信息,这个文件会随着用户的登录和登记一直变动,只记录以后登录用户的信息。同样这个文件不能间接vi,而要应用w,who,users等命令来查问。/var/log/secure记录验证和受权方面的信息,只有波及账号和明码的程序都会记录,比方SSH登录,su切换用户,sudo受权,甚至增加用户和批改用户明码都会记录在这个日志文件中查找登录零碎失败的20个账号> lastb | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20定位有多少IP在爆破主机的root帐号> grep "Failed password for root" /var/log/secure | sort | uniq -c | sort -nr | more查看所有重启日志信息> last reboot查看零碎失常的运行工夫> uptime -s查看哪些IP在爆破> grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c查看哪些IP登录胜利了> grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more登录胜利的日期,用户名,IP> gerp "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 13, 2021 · 1 min · jiezi

关于linux:每周一个linux命令tar

根底环境 tar命令介绍tar命令是linux十分应用频率十分高的一个命令,比方:离线软件包的解压缩、将一个目录打包备份、将一个压缩包解压到一个指定的目录。tar命令次要用来将一个或者多个目录以及一个或者多个文件打包到一个当前缀为tar的文件里,同时也能够将归档的文件压缩成以tar.gz结尾的文件。能够将一个tar或者tar.gz结尾的文件解压到指定的目录下。应用不带界面的linux零碎时,应用频率更高,是必须把握的一个命令。 tar命令格局解压缩命令tar -zxvf test.tar.gz压缩命令tar -zcvf test.tar.gz ./tar命令的罕用参数 -c, --create 创立一个新归档 -x, --extract, --get 从归档中解出文件 -f, --file=ARCHIVE 应用归档文件 -z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档 -C, --directory=DIR 扭转至目录 DIR -v, --verbose 具体地列出解决的文件将当前目录下的所有文件压缩tar -zcvf test.tar.gz ./命令阐明: test.tar.gz 目录被压缩后的文件名字 ./ 代表被压缩的目录,压缩当前目录 -zcvf 参照上边的参数阐明 将压缩文件解压到当前目录下tar -zxvf test.tar.gz阐明: test.tar.gz 将要被解压的备份文件 -zxvf 参数参照上边的参数阐明,压缩与解压的惟一区别就是解压参数为x,压缩参数为c 解压后的门路,默认为以后门路 将备份文件解压到指定门路下 tar -zxvf test.tar.gz -C /home/阐明: test.tar.gz 将要被解压的备份文件 -zxvf 参数参照上边的参数阐明,压缩与解压的惟一区别就是解压参数为-x,压缩参数为-c ...

November 13, 2021 · 1 min · jiezi

关于linux:linux检测系统是否被入侵上

入侵者在入侵胜利后,往往会留下后门以便再次拜访被入侵的零碎,而创立零碎账号是一种比拟常见的后门形式。在做入侵排查的时候,用户配置文件/etc/passwd和明码配置文件/etc/shadow是须要去重点关注的中央。查问特权用户特权用户(uid 为0)> awk -F: '$3==0{print $1}' /etc/passwd查找近程能够登录的账户> awk '/\$1|\$5|\$6/{print $1}' /etc/shadow$1:MD5(长度 22个字符)$5:SHA-256(长度 43 个字符)$6:SHA-512(长度86 个字符)查看sudo权限> cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"删除或锁定账号通过下面的步骤能够找到可疑的账号> usermod -L rooot #禁用帐号,帐号无奈登录,/etc/shadow第二栏为!结尾> userdel rooot #删除user用户> userdel -r rooot #将删除root用户,并且将/home目录下的root目录一并删除查看以后登录零碎的信息> who #查看以后登录用户(tty本地登陆 pts近程登录)> w #查看零碎信息,想晓得某一时刻用户的行为> uptime #查看登陆多久、多少用户,负载查看异样端口应用netstat 网络连接命令,剖析可疑端口、IP、PID等信息。> netstat -tunlp | less抓包剖析> tcpdump -c 10 -q //精简模式显示 10个包应用ps命令查看可疑的过程> ps -ef查超零碎中占用资源最高的资源> top发现异常进一步查看> ps eho command -p $PID #查看该过程启动的残缺命令行> readlink /proc/$PID/cwd #查看该过程启动时候所在的目录> ls -l /proc/$PID/exe #查看下pid所对应的过程文件门路> strings -f /proc/$PID/environ | cut -f2 -d '' #查看该过程启动时的残缺环境变量:> lsof -p $PID #列出该过程所关上的所有文件查看零碎服务Linux零碎服务治理,CentOS7应用systemd管制 CentOS6之前应用chkconfig管制。查看开机自启的服务//对于systemd服务管理器来说,能够通过下述形式查看开机自启的服务> systemctl list-unit-files --type=service | grep "enabled"//chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态> chkconfig --list | grep "3:on\|5:on"查看启动项脚本命令查看下开机启动项中是否有异样的启动服务。> cat /etc/rc.local查看打算工作利用打算工作进行权限维持,可作为一种持久性机制被入侵者利用。查看异样的打算工作,须要重点关注以下目录中是否存在歹意脚本。/var/spool/cron/* /etc/crontab/etc/cron.d/*/etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/*/etc/cron.weekly//etc/anacrontab/var/spool/anacron/*原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 11, 2021 · 1 min · jiezi

关于linux:linux之git高级命令

合并分支我在dev分支来rebase master分支,那么我这个dev分支就是基于master分支的一个新的节点> git checkout dev> git rebase master合并提交合并这次与上次提交> git rebase -i HEAD~2解决近程仓库fast-forward当咱们提交代码时,可能他人曾经提交过内容到近程仓库了,这时咱们提交代码时就会揭示咱们fast-forward,让咱们先更新下代码再提交,咱们能够用rebase很快的解决这个问题。//先拉取最新代码进行rebase> git pull --rebase origin master// 而后再提交> git push本地分支与近程分支关联将本地dev分支与近程master分支关联,这样能够在master分支中间接执行git pull进行拉取代码,不必再指定前面的分支> git branch --set-upstream-to=origin/master dev代码合并// 切换到master分支> git checkout master// 交融dev分支的内容> git merge dev放弃本次提交的批改c123是通过git log进行查看的 commit id> git checkout c123回到此分支的上一个提交> git reset HEAD^回到master分支的上一个提交> git reset master^撤销近程分支上的内容如果想撤销近程分支上的内容须要应用git revert,它会新创建一个提交,而新创建的提交的状态正好等于你上一个版本的状态,如果咱们当初的版本是c2,它上一个版本就是c1,那么执行完这个命令之后,就会新创建一个提交 为 c1’,它与c1的内容统一,咱们将这它推送到近程端,他人更新之后就能够了> git revert HEAD^做个锚点因为分支是很容易被扭转,为了避免当前不能返回,所以能够打个tag,做个回滚记录点. c123 为提交记录的id > git tag MyTagName c123原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 10, 2021 · 1 min · jiezi

关于linux:linux之git入门命令

装置下载 git OSX 版下载 git Windows 版下载 git Linux 版创立新仓库创立新文件夹,关上,而后执行> git init检出仓库执行如下命令以创立一个本地仓库的克隆版本:> git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样子:> git clone username@host:/path/to/repository工作流你的本地仓库由 git 保护的三棵“树”组成。第一个是你的 工作目录,它持有理论文件;第二个是 缓存区(Index),它像个缓存区域,长期保留你的改变;最初是 HEAD,指向你最近一次提交后的后果。 增加与提交你能够打算改变(把它们增加到缓存区),应用如下命令:> git add <filename>> git add *这是 git 根本工作流程的第一步;应用如下命令以理论提交改变:> git commit -m "代码提交信息"当初,你的改变曾经提交到了 HEAD,然而还没到你的远端仓库。推送改变你的改变当初曾经在本地仓库的 HEAD 中了。执行如下命令以将这些改变提交到远端仓库:> git push origin master能够把 master 换成你想要推送的任何分支。 如果你还没有克隆现有仓库,并欲将你的仓库连贯到某个近程服务器,你能够应用如下命令增加: > git remote add origin <server>如此你就可能将你的改变推送到所增加的服务器下来了。分支分支是用来将个性开发绝缘开来的。在你创立仓库的时候,master 是“默认的”。在其余分支上进行开发,实现后再将它们合并到主分支上。 创立一个叫做“rumenz”的分支,并切换过来:> git checkout -b rumenz切换回主分支> git check master`再把新建的分支删掉:> git branch -d rumenz 除非你将分支推送到远端仓库,不然该分支就是 不为别人所见的:> git push origin <branch>更新与合并要更新你的本地仓库至最新改变,执行:> git pull 以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改变。要合并其余分支到你的以后分支(例如 master),执行> git merge <branch>两种状况下,git 都会尝试去主动合并改变。可怜的是,主动合并并非次次都能胜利,并可能导致 抵触(conflicts)。 这时候就须要你批改这些文件来人肉合并这些 抵触(conflicts) 了。改完之后,你须要执行如下命令以将它们标记为合并胜利> git add <filename>在合并改变之前,也能够应用如下命令查看:> git diff <source_branch> <target_branch>标签在软件公布时创立标签,是被举荐的。这是个旧有概念,在 SVN 中也有。能够执行如下命令以创立一个叫做 1.0.0 的标签:> git tag 1.0.0 1b2e1d63ff1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。应用如下命令获取提交 ID:> git log你也能够用该提交 ID 的少一些的前几位,只有它是惟一的。替换本地改变如果你做错事(天然,这是不可能的),你能够应用如下命令替换掉本地改变:> git checkout -- <filename>此命令会应用 HEAD 中的最新内容替换掉你的工作目录中的文件。已增加到缓存区的改变,以及新文件,都不受影响。> git fetch origin> git reset --hard origin/master 原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 9, 2021 · 1 min · jiezi

关于linux:linux几个没用但是有趣的命令

figlet 字符画figlet 能够将英文字符串以字符画的模式输入装置> yum install figlet -y运行> figlet rumenz.com _ __ _ _ _ __ ___ ___ _ __ ____ ___ ___ _ __ ___ | '__| | | | '_ ` _ \ / _ \ '_ \|_ / / __/ _ \| '_ ` _ \ | | | |_| | | | | | | __/ | | |/ / | (_| (_) | | | | | ||_| \__,_|_| |_| |_|\___|_| |_/___(_)___\___/|_| |_| |_|aafire 火焰装置> yum install aafire -y运行> aafire ...

November 8, 2021 · 2 min · jiezi

关于linux:linux之我常用的20条命令-之三

疾速清空一个文件> > rumenz.log> :> rumenz.log> true > rumenz.log> cat /dev/null > rumenz.log> echo -n "" > rumenz.log> echo > rumenz.log> truncate -s 0 rumenz.log: 在 shell 中是一个内置命令,示意 no-op,大略就是空语句的意思疾速生成一个大文件生成一个文件名为 rumenz.img 大小为 1G 的文件。> dd if=/dev/zero of=rumenz.img bs=1M count=1024平安擦除硬盘数据应用 /dev/urandom 生成随机数据,将生成的数据写入 sda 硬盘中,相当于平安的擦除了硬盘数据。> dd if=/dev/urandom of=/dev/sdadd命令制作ISO镜像执行完这条命令后会呈现若干个盘的信息,其中辨认U盘的一个比拟直观的形式是看容量大小。假如U盘的门路是 \dev\sdb> fdisk -lumount U 盘> umount /dev/sdb*格式化U盘> mkfs.vfat /dev/sdb -I如果U盘是空的可能格式化的过程会比拟快,否则可能会比较慢。 应用 dd 命令制作系统盘 > dd if=rumenz.iso of=/dev/sdb查看某个过程的运行工夫> ps -p 6282 -o etimes,etimeELAPSED ELAPSED 875234 10-03:07:14通过 etime 获取该过程的运行工夫,能够很直观地看到,过程运行了 19 天。动静实时查看日志通过 tail 命令 -f 选项,能够动静地监控日志文件的变动> tail -f rumenz.log如果想在日志中呈现 Failed 等信息时立即进行 tail 监控> tail -f rumenz.log | sed '/Failed/ q'工夫戳的疾速转换> date -d@1234567890 +"%Y-%m-%d %H:%M:%S"查看零碎工夫的工夫戳> date +%s优雅的删除乱码的文件> ls -i138957 a.txt 138959 T.txt 132395 ��.txt> find . -inum 132395 -exec rm {} \;-inum 指定的是文件的 inode 号,它是零碎中每个文件对应的惟一编号,find 通过编号找到后,执行删除操作。历史命令应用技巧!!:反复执行上条命令!N:反复执行 history 历史中第 N 条命令,N 能够通过 history 查看!pw:反复执行最近一次,以pw结尾的历史命令,这个十分有用,小编应用十分高频!$:示意最近一次命令的最初一个参数> vim /root/rumenz/src/main.c> mv !$ !$.bak# 等价于> mv /root/rumenz/src/main.c /root/rumenz/src/main.c.bak原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 7, 2021 · 1 min · jiezi

关于linux:常用的-21-条-Linux-命令生产力必备

一、文件和目录1. cd命令(它用于切换当前目录,它的参数是要切换到的目录的门路,能够是绝对路径,也能够是相对路径) cd /home 进入 '/ home' 目录cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入集体的主目录cd ~user1 进入集体的主目录cd - 返回上次所在的目录 2.pwd命令pwd 显示工作门路3.ls命令(查看文件与目录的命令,list之意) ls 查看目录中的文件ls -l 显示文件和目录的详细资料ls -a 列出全副文件,蕴含暗藏文件ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示进去ls [0-9] 显示蕴含数字的文件名和目录名4.cp 命令(用于复制文件,copy之意,它还能够把多个文件一次性地复制到一个目录下) -a :将文件的个性一起复制-p :连同文件的属性一起复制,而非应用默认形式,与-a类似,罕用于备份-i :若指标文件曾经存在时,在笼罩时会先询问操作的进行-r :递归继续复制,用于目录的复制行为-u :指标文件与源文件有差别时才会复制5. mv命令(用于挪动文件、目录或更名,move之意) -f :force强制的意思,如果指标文件曾经存在,不会询问而间接笼罩 -i :若指标文件曾经存在,就会询问是否笼罩 -u :若指标文件曾经存在,且比指标文件新,才会更新 \6. rm 命令 (用于删除文件或目录,remove之意) -f :就是force的意思,疏忽不存在的文件,不会呈现正告音讯-i :互动模式,在删除前会询问用户是否操作-r :递归删除,最罕用于目录删除,它是一个十分危险的参数特地举荐:3万字总结Java自学、深度笔记、学习材料 二、查看文件内容7.cat命令(用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起应用) cat file1 从第一个字节开始正向查看文件的内容tac file1 从最初一行开始反向查看一个文件的内容cat -n file1 标示文件的行数more file1 查看一个长文件的内容head -n 2 file1 查看一个文件的前两行tail -n 2 file1 查看一个文件的最初两行tail -n +1000 file1 从1000行开始显示,显示1000行当前的cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)三、文件搜寻8.find命令()find / -name file1 从 '/' 开始进入根文件系统搜寻文件和目录find / -user user1 搜寻属于用户 'user1' 的文件和目录find /usr/bin -type f -atime +100 搜寻在过来100天内未被应用过的执行文件find /usr/bin -type f -mtime -10 搜寻在10天内被创立或者批改过的文件whereis halt 显示一个二进制文件、源码或man的地位which halt 显示一个二进制文件或可执行文件的残缺门路删除大于50M的文件: ...

November 7, 2021 · 2 min · jiezi

关于linux:linux几个不常用但是很有用的命令

pgreppgrep名字前有个p,咱们能够猜到这和过程相干,又是grep,当然这是过程相干的grep命令。不过,这个命令次要是用来列举过程ID的想要找到 SSH 服务器的 PID> pgrep ssh1529284392844228719pgrep会在每一行打印一个匹配的过程。-d选项容许你指定一个分隔符> pgrep ssh -d " "1529 28439 28442 28719 28810 28813-l选项通知pgrep显示名称和 ID:> pgrep -l ssh1529 sshd28439 sshd28442 sshd28719 sshdpstree这个命令能够以树形的形式列出过程> systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─abrt-watch-log ├─abrtd ├─agetty ├─atd ├─auditd───{auditd} ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─gssproxy───5*[{gssproxy}] ├─irqbalance ├─java───28*[{java}] ├─lsmd ├─lvmetad ├─master─┬─pickup │ └─qmgr ├─mcelog ├─nginx───nginx ├─ntpd ├─polkitd───6*[{polkitd}] ├─redis-server───4*[{redis-server}] ├─rngd ├─rpcbind ├─rsyslogd───2*[{rsyslogd}] ├─smartd ├─sshd─┬─sshd───sshd───sftp-server │ └─sshd─┬─bash───pstree │ └─sftp-server ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd───2*[{vmtoolsd}]bc这个命令次要是做一个精度比拟高的数学运算的。比方开平方根等。上面是一个咱们利用bc命令写的一个脚本(文件名:sqrt)#!/bin/bashif [ $# -ne 1 ]then echo 'Usage: sqrt number' exit 1else echo -e "sqrt($1)\nquit\n" | bc -q -ifi> ./sqrt.sh 123.00sqrt(123.00)11.09quitsplit如果你有一个很大的文件,你想把其宰割成一些小的文件,那么这个命令就是干这件事的了> split -b 100m mysql.tar> ls -lh-rw-r--r--. 1 root root 517M Jun 21 22:35 mysql.tar-rw-r--r--. 1 root root 100M Jun 21 22:35 xaa-rw-r--r--. 1 root root 100M Jun 21 22:35 xab-rw-r--r--. 1 root root 100M Jun 21 22:35 xac-rw-r--r--. 1 root root 100M Jun 21 22:35 xad-rw-r--r--. 1 root root 100M Jun 21 22:35 xae-rw-r--r--. 1 root root 17M Jun 21 22:35 xaf文件合并> cat xa* > mysql.tar nlnl命令其它和cat命令很像,只不过它会打上行号> nl rumenz.sh 1 123 2 345 3 rumenz.com 4 111 5 222ldd这个命令能够晓得你的一个可执行文件所应用了动态链接库> ldd /usr/bin/ls linux-vdso.so.1 => (0x00007ffdb51ba000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4518ead000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f4518ca8000) libacl.so.1 => /lib64/libacl.so.1 (0x00007f4518a9f000) libc.so.6 => /lib64/libc.so.6 (0x00007f45186d1000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f451846f000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f451826b000) /lib64/ld-linux-x86-64.so.2 (0x00007f45190d4000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f4518066000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4517e4a000)col这个命令能够让你把man文件转成纯文本文件。如下示例:> PAGER=cat> man ls | col -b > ls.txtlsof能够列出关上了的文件。> lsof rumenz.txt 显示开启文件rumenz.txt的过程> lsof -c nginx 显示出以字母nginx结尾过程当初关上的文件> lsof -p 1234 列出过程号为1234的过程所关上的文件> lsof -g gname/gid 显示归属gname或gid的过程状况> lsof -u uname/uid 显示归属uname或uid的过程状况> lsof +d /usr/local/ 显示目录下被过程开启的文件> lsof +D /usr/local/ 同上,然而会搜寻目录下的目录,工夫较长> lsof -d 4 显示应用fd为4的过程> lsof -i 用以显示符合条件的过程状况原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 6, 2021 · 2 min · jiezi

关于linux:案例分享-解包威联通NAS系统镜像恢复降级后丢失的系统组件

威联通(QNAP)在2021年9月公布了全新的QTS 5.0零碎,笔者最近收到了官网更新告诉,于是将本人的TS-551降级到最新版,却发现无论是零碎晦涩度还是稳定性都与他们宣传的差距甚远,不得不降级到QTS 4.5.4。然而因为QTS 5.0将FTP作为可选软件包(QuFTP),降级后零碎里既没有QuFTP,也没有QTS 4应该有的proftpd,本文将为读者分享威联通NAS解包零碎镜像,复原零碎组件的过程。0x01 问题概述如上文所示,笔者在从QTS 5降级到QTS 4后,发现FTP服务关上后,21端口仍旧无奈联通,进入SSH查看过程列表,却发现基本没有proftpd过程: 0x02 剖析问题笔者首先想到的是手动启动FTP服务,于是执行了如下命令: sudo /etc/init.d/ftp.sh start执行结束后,却发现FTP过程并没有呈现。 于是笔者关上上述启动脚本,心愿能手动启动服务,查看是否有报错或其余信息: /sbin/daemon_mgr proftpd start "LD_PRELOAD=/usr/local/lib/libtrash.so TZ=/etc/localtime /usr/local/sbin/proftpd -n > /dev/null 2>&1 &"间接报错segmentation fault: 间接执行/usr/local/sbin/proftpd: 看来这就是问题所在,proftpd基本不存在,兴许是降级时固件遗记将QTS 5.0删除的proftpd复原回来,导致此问题。 在通过一番搜寻后,笔者发现威联通批改过proftpd的源码,退出了治理性能和一些其余的定制性能,因而无奈间接从网上找现成的二进制文件或源码包装置,必须应用和零碎版本匹配的原版二进制文件复原回去。那么哪里来二进制文件呢?笔者想到了官网的零碎固件。 笔者从威联通的下载核心下载和零碎版本统一的镜像,取得名为TS-XA51_20210923-4.5.4.1800.zip的零碎镜像,解压之,取得了后缀名为.img的同名镜像。在尝试应用多款解压缩软件和磁盘镜像软件后,笔者意识到,仿佛该镜像文件并不是惯例的格局,而是威联通定制的格局。 既然是定制的格局,那么肯定有中央能够解压,而零碎镜像是装置到NAS里的,解压工具也应该在NAS里有内置才对。 0x03 解包镜像找到了一个可行的方向,于是笔者开始在零碎里寻找与固件更新相干的脚本。在笔者的一番寻找下,发现一个位于/etc/init.d/update.sh的脚本十分『可疑』,因为脚本较长,下文摘录其中一行,也是最要害的一行: /sbin/PC1 d QNAPNASVERSION4 "$path_name" "${_tgz}" "${CS_SIGNATURE}";依照脚本所示,PC1应该是解压零碎固件包的工具,该工具将零碎固件解压到一个.tar.gz文件。于是笔者依照这个命令的规定,对上文咱们取得的img包进行解压: PC1 d QNAPNASVERSION4 ./TS-XA51_20210923-4.5.4.1800.img ./TS-XA51_20210923-4.5.4.1800.tar.gz后果令人振奋,果然拿到了一个名为TS-XA51_20210923-4.5.4.1800.tar.gz的压缩包: 接下来笔者尝试解压该压缩包,取得了下图所示的文件: 依据文件名规定,能够猜测出局部文件来自boot分区,而外面的rootfs2.bz和rootfs_ext.tgz则是须要关注的重点。于是笔者持续解压这两个文件: $ bzip2 -k -d ./rootfs2.bzbzip2: ./rootfs2.bz is not a bzip2 file.# 既然其格局不是规范格局,那么应用file命令来看看到底是什么格局$ file ./rootfs2.bzrootfs2.bz: LZMA compressed data, streamed# 原来是LZMA格局,和initrc.img一样解压即可$ xz -dc ./rootfs2.bz | cpio -id此时再查看当前目录,会发现呈现了一些目录: ...

November 6, 2021 · 1 min · jiezi

关于linux:Linux一学就会第二十三章-expect正则表达式sedcut的使用

November 6, 2021 · 0 min · jiezi

关于linux:Linux一学就会第二十二章-跳出循环shift-参数左移函数的使用

November 6, 2021 · 0 min · jiezi

关于linux:Linux一学就会第十九章-shell脚本的基础

November 6, 2021 · 0 min · jiezi

关于linux:Linux一学就会第十八章-Linux网络管理技术

November 6, 2021 · 0 min · jiezi

关于linux:ApacheNginx构建仅对团队内部公开使用的web应用

前言研究室最近调配了个工作,要求在研究室服务器上架设一个信息共享零碎,便于高年级生毕业后做信息引继,但有以下要求: 应用尽可能不便因为是面向钻研室内的零碎,因而私密性须要保障对于第一点,我思考了两个计划,第一种是延用今年的解决方案:应用开源软件GROWI间接从新构建一个轻量的情报分享零碎,但当我翻阅文档筹备装置docker来构建我的项目时,才据说传授提供的服务器配置是CPU:2 cores, Memory:1G,首次启动间接把服务器给down掉了,对于一个还同时运行其余服务的小心server应用docker未免有些牵强,因而我放弃了这个计划(起初才发现GROWI官网有提供基于NodeJS的装置指南); 第二种是应用Gitbook构建动态的文档站点,过后第一反馈想到Gitbook次要还是因为它的知名度,等我理论去原repo查阅部署计划时发现我的项目曾经简直进行保护,Gitbook团队貌似曾经专一于Gitbook的商业化事业,想要有较好的应用体验只能去官网注册账号应用云服务,这与本次工作的私密性和定制化要求显然是相违反的,因而我抉择去寻找Gitbook的代替产品。最终我找到了Docsify. 本文次要就实现前言中的要求2进一步开展阐明。 实现的思路是利用前端服务器(即两头服务器)反向代理客户端的利用申请,并将申请转发到理论部署利用的后端应用服务器,对于同一台机器而言(假如利用理论部署在2367端口),在默认状况下前端相当于监听该机器80端口的虚构服务器(本文应用Apache),后端相当于监听2367端口的虚构服务器(本文应用Nginx). 对于Nginx和Apache的区别: Nginx高度模块化设计,编写配置简略,解决动态文件速度高于Apache,内存占用较少,同时并发性较好(异步非阻塞型),适宜做前端服务器Apache十分稳固,动静页面解决能力高,模块十分丰盛,rewrite性能弱小因而对于独自抉择其中一种web服务器来构建我的项目时,如果谋求我的项目性能,能够应用Nginx;绝对的如果谋求稳定性以及更多配置选项,倡议应用Apache。对于两者联合应用来说,Nginx更适宜作为前端来负责负载平衡和反向代理,将Apache用作后端服务器来解决动静申请。本文是在现有配置的根底(Apache监听80端口)并且不不便批改配置的状况下,用Apache作为前端反向代理,并不自觉举荐仿造该做法,应依据理论状况进行调整。 构建过程具体构建过程如下图所示:右边的绿框示意基于Apache构建的反向代理服务器,左边的粉框示意基于Nginx构建的应用服务器。反向代理服务器除了根底的反向代理配置以外,还加了一层ip过滤,用来阻止校园网以外ip(因为对于我的需要来说,利用的受访对象是学校研究室)的拜访;应用服务器上除了配置利用以外还减少了一个登录认证的环节(用户名明码)来过滤研究室成员以外的拜访。Apache和Nginx间增加了个白名单,使得应用服务器只能承受来自反向代理服务器的申请(这样内部即便探测到利用的地址也无奈间接拜访)。 反向代理Apache的配置如下: # Include module configuration:IncludeOptional mods-enabled/*.loadIncludeOptional mods-enabled/*.conf# Include list of ports to listen onInclude ports.conf#NameVirtualHost *:443<VirtualHost *:443> ServerName abc.example.com ServerAlias abc.example.com ProxyRequests Off <Proxy "*"> Require ip yyy.yyy.yyy.yyy/zz </Proxy> ProxyPass / http://xxx.xxx.xxx.xxx:2367/ ProxyPassReverse / http://xxx.xxx.xxx.xxx:2367 SSLCertificateFile "/path/to/your/sslcert/fullchain.pem" SSLCertificateKeyFile "/path/to/your/sslcert/privkey.pem"</VirtualHost>其中要留神的是,Apache的反向代理性能是须要手动开启的。首先须要向apache.conf里导入mod_proxy,mod_proxy_http.so,mod_proxy_connect.so这三个模块。如果你是FreeBSD,你只须要在httpd.conf上把正文勾销掉,并重启服务后就能够了;但如果你应用的是Ubuntu,与sites-available和sites-enabled的应用办法雷同,mods-available是所有模块的存储目录,然而服务载入的模块是存储在mods-enabled的。 这一点通过apache.conf的以下几行能够证实: # Include module configuration:IncludeOptional mods-enabled/*.loadIncludeOptional mods-enabled/*.conf当apache服务运行时,只载入mods-enabled外面的模组,而局部模组在装置时预设是不会加载的。(即该模组不会呈现在mods-enabled) Apache给咱们提供了a2enmod指令帮忙咱们疾速增加模块,绝对的停用模块应用a2dismod命令: admin@ubuntu:~$ sudo a2enmod proxy proxy_http proxy_connect # 启用模块admin@ubuntu:~$ sudo a2dismod proxy proxy_http proxy_connect # 停用模块启用之后,指定的模块会以软链接的模式被放进mods-enabled中,重启服务失效。 ...

November 6, 2021 · 1 min · jiezi

关于linux:linux之我常用的系统重要文件备份命令

pgreppgrep名字前有个p,咱们能够猜到这和过程相干,又是grep,当然这是过程相干的grep命令。不过,这个命令次要是用来列举过程ID的想要找到 SSH 服务器的 PID> pgrep ssh1529284392844228719pgrep会在每一行打印一个匹配的过程。-d选项容许你指定一个分隔符> pgrep ssh -d " "1529 28439 28442 28719 28810 28813-l选项通知pgrep显示名称和 ID:> pgrep -l ssh1529 sshd28439 sshd28442 sshd28719 sshdpstree这个命令能够以树形的形式列出过程> systemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─abrt-watch-log ├─abrtd ├─agetty ├─atd ├─auditd───{auditd} ├─crond ├─dbus-daemon───{dbus-daemon} ├─firewalld───{firewalld} ├─gssproxy───5*[{gssproxy}] ├─irqbalance ├─java───28*[{java}] ├─lsmd ├─lvmetad ├─master─┬─pickup │ └─qmgr ├─mcelog ├─nginx───nginx ├─ntpd ├─polkitd───6*[{polkitd}] ├─redis-server───4*[{redis-server}] ├─rngd ├─rpcbind ├─rsyslogd───2*[{rsyslogd}] ├─smartd ├─sshd─┬─sshd───sshd───sftp-server │ └─sshd─┬─bash───pstree │ └─sftp-server ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd───2*[{vmtoolsd}]bc这个命令次要是做一个精度比拟高的数学运算的。比方开平方根等。上面是一个咱们利用bc命令写的一个脚本(文件名:sqrt)#!/bin/bashif [ $# -ne 1 ]then echo 'Usage: sqrt number' exit 1else echo -e "sqrt($1)\nquit\n" | bc -q -ifi> ./sqrt.sh 123.00sqrt(123.00)11.09quitsplit如果你有一个很大的文件,你想把其宰割成一些小的文件,那么这个命令就是干这件事的了> split -b 100m mysql.tar> ls -lh-rw-r--r--. 1 root root 517M Jun 21 22:35 mysql.tar-rw-r--r--. 1 root root 100M Jun 21 22:35 xaa-rw-r--r--. 1 root root 100M Jun 21 22:35 xab-rw-r--r--. 1 root root 100M Jun 21 22:35 xac-rw-r--r--. 1 root root 100M Jun 21 22:35 xad-rw-r--r--. 1 root root 100M Jun 21 22:35 xae-rw-r--r--. 1 root root 17M Jun 21 22:35 xaf文件合并> cat xa* > mysql.tar nlnl命令其它和cat命令很像,只不过它会打上行号> nl rumenz.sh 1 123 2 345 3 rumenz.com 4 111 5 222ldd这个命令能够晓得你的一个可执行文件所应用了动态链接库> ldd /usr/bin/ls linux-vdso.so.1 => (0x00007ffdb51ba000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4518ead000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f4518ca8000) libacl.so.1 => /lib64/libacl.so.1 (0x00007f4518a9f000) libc.so.6 => /lib64/libc.so.6 (0x00007f45186d1000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f451846f000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f451826b000) /lib64/ld-linux-x86-64.so.2 (0x00007f45190d4000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f4518066000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4517e4a000)col这个命令能够让你把man文件转成纯文本文件。如下示例:> PAGER=cat> man ls | col -b > ls.txtlsof能够列出关上了的文件。> lsof rumenz.txt 显示开启文件rumenz.txt的过程> lsof -c nginx 显示出以字母nginx结尾过程当初关上的文件> lsof -p 1234 列出过程号为1234的过程所关上的文件> lsof -g gname/gid 显示归属gname或gid的过程状况> lsof -u uname/uid 显示归属uname或uid的过程状况> lsof +d /usr/local/ 显示目录下被过程开启的文件> lsof +D /usr/local/ 同上,然而会搜寻目录下的目录,工夫较长> lsof -d 4 显示应用fd为4的过程> lsof -i 用以显示符合条件的过程状况原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

November 5, 2021 · 2 min · jiezi

关于linux:linux系列之-你知道查看文件空间的两种方法吗

简介linux零碎中查看文件空间大小应该是一个十分常见的命令了,明天给大家介绍linux零碎中查看文件空间的两种办法和在应用中可能会遇到的奇怪问题. 为什么会有两种办法呢? 因为咱们能够应用du命令来看空间的占用状况,也能够应用df来查看空间的残余状况,就像一个硬币的正反两面,怎么用着难受怎么来. 话不多说,开始咱们明天精彩的内容吧. du命令查看空间大小最间接的命令就是du了, 这个命令的全称就是disk usage. 示意的是磁盘空间的占用状况. 先看下du命令的根本语法: du [-Aclnx] [-H | -L | -P] [-g | -h | -k | -m] [-a | -s | -d depth] [-B blocksize] [-I mask] [-t threshold] [file ...]du命令次要用来显示文件系统的应用状况,默认状况是显示当前目录的信息,当然也能够指定具体的目录. du的参数有很多,这里就不一一列举了,这里咱们讲一下最罕用的一些用法. 其中-h示意是人类可辨认的读法,所以咱们个别都会带上-h. 比方查看当前目录的空间应用状况能够用: # du -ah下面的命令显示的是目录中的所有文件.如果要将所有的文件都统计累加的话,那么能够用: # du -hs如果要指定特定的目录, 间接在前面加上目录名即可. 如果你又想查看目录中具体文件的大小,又想统计总的大小,那么能够应用: du -ch下面的命令会将总的大小增加在前面. 有时候咱们可能发现目录占用的空间太大,然而咱们又不晓得具体是哪个目录,怎么办呢? du提供了一个--max-depth=1的参数,能够指定统计目录的层级,大家能够依据须要进行调整,十分的不便. df命令df命令和du命令相似,然而他统计的是目录的残余空间. df的命令如下: df [-b | -h | -H | -k | -m | -g | -P] [-ailn] [-t] [-T type] [file | filesystem ...]那么df和du的统计是不是统一的呢? ...

November 5, 2021 · 1 min · jiezi

关于linux:配置-ssh-免密登录

配置 ssh 免密登录参考资料:https://blog.csdn.net/CowBoyS... 办法一:把本人电脑上的 .ssh/id_ed25519.pub 文件里的内容复制到另一台电脑的 .ssh/authorized_keys 文件里,就能够了。 生成公私钥的命令:ssh-keygen -t rsa办法二:ssh-copy-id root@192.168.47.128 ssh-copy-id root@192.168.47.128或者: ssh-copy-id -i ./id_rsa.pub root@192.168.47.128下面的代码会做两件事件: 在 192.168.47.128 上生成 authorized_keys 文件;将源服务器的 id_rsa.pub 写入到 192.168.47.128(指标服务器)的文件中。

November 5, 2021 · 1 min · jiezi

关于linux:Linux一学就会第十七章-Linux系统启动原理及故障排除

November 5, 2021 · 0 min · jiezi

关于linux:防火墙相关命令设置

Ubuntu 防火墙命令防火墙启用防火墙当前 sudo ufw enablesudo ufw enable sudo ufw default deny 运行以上两条命令后,开启了防火墙,并在系统启动时主动开启。敞开所有内部对本机的拜访,但本机拜访内部失常。 下面的网址就不能拜访了。 容许 22 端口凋谢: sudo ufw allow 22查看防火墙的状态: sudo ufw status敞开防火墙: sudo ufw disable参考资料: https://blog.csdn.net/weixin_... https://www.cnblogs.com/sddai... Centos 防火墙命令参考资料(这份材料曾经很全了):https://www.cnblogs.com/xxoom... 凋谢 2375 端口: firewall-cmd --permanent --add-port=2375/tcpfirewall-cmd --permanent --add-port=7000/tcp配置当前要重启防火墙: firewall-cmd --reload

November 5, 2021 · 1 min · jiezi

关于linux:linux之我常用的系统重要文件备份命令

tar 备份linux零碎首先以下几个目录是不必备份的/proc目录:proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间lost+found目录:lost+found这个目录个别状况下是空的,当零碎非法关机后,如果你失落了一些文件,在这里能找回来mnt目录:mnt是mount的缩写,各种额定设施在挂载后都会在该目录下生成相应的文件sys目录:硬件设施的驱动程序信息备份系统文件tar.gz-exclude= 排除的意思> tar czvpf system_bak.tar.gz / --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=sys复原系统文件> tar xzvpf system_bak.tar.gz -C /> mdkir /proc /lost+found /mnt /sys> chown -R root:root /proc /lost+found /mnt /sys> chmod 555 /proc> chmod 755 /lost+found> chmod 755 /mnt> chmod 555 /sysrsync命令备份零碎留神指标分区的格局最好是NTFS、FAT、EXT之类的格局,防止遇到大于4G的文件无奈备份的问题。备份系统文件这里咱们能够插上外置的内存卡-a, --archive 归档模式,示意以递归形式传输文件,并放弃所有文件属性-P 保留那些因故没有齐全传输的文件,以是放慢随后的再次传输 > rsync -Pa / /media/usb/system_bak --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/*复原> rsync -Pa /media/usb/system_bak /dd命令dd命令属于扇区克隆,指标分区要比备份分区要大,即便没有应用的空间也会被原样克隆下来,会比较慢。备份> df -h #查看零碎所在分区> dd if=/dev/sda2 of=/dev/sdb3 #备份sda2到sdb3中复原> dd if=/dev/sdb3 of=/dev/sda2 #复原sdb3到sdb2中原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

November 4, 2021 · 1 min · jiezi

关于linux:Linux一学就会第十六章-Linux计划任务与日志的管理

November 4, 2021 · 0 min · jiezi

关于linux:linux之我常用的20条命令之二

file命令该命令用于判断接在file命令后的文件的根本数据,因为在Linux下文件的类型并不是当前缀为分的,所以这个命令对咱们来说就很有用了。> file rumenz.txt #查看rumenz.txt的文件类型rumenz.txt: ASCII text> file /usr/bin/ls #查看命令ls的文件类型/usr/bin/ls: ELF 64-bit LSB executable> file -i rumenz.txt #查看文件rumenz.txt的MiME类型rumenz.txt: text/plain; charset=us-ascii> file -z redis-5.0.8.tar.gz #尝试去解读压缩文件的内容redis-5.0.8.tar.gz: POSIX tar archivetar命令该命令用于对文件进行打包,默认状况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。-c 新建tar包,create的缩写-t 查看打包(tar)文件的文件-x解tar包或者解压缩(tar.gz),能够搭配-C(大写)指定解压的目录,extract的缩写-j通过bzip2压缩或者解压-J通过xz压缩或者解压-z通过gzip压缩或者解压-v显示执行过程。verbose的缩写-f filename :filename为要解决的文件-C 指定压缩,解压的目录--- tar> tar -cvf rumenz.tar rumenz.txt. #将rumenz.txt打包成rumenz.tar,默认不压缩> tar -xvf rumenz.tar #解包到当前目录> tar -xvf rumenz.tar -C /tmp #解包到tmp目录--- tar.gz> tar -czvf rumenz.tar.gz rumenz.txt #将rumenz.txt压缩成rumenz.tar.gz> tar -xzvf rumenz.tar.gz #解压rumenz.tar.gz到当前目录> tar -xzvf rumenz.tar.gz -C /tmp #解压rumenz.tar.gz到tmp目录> tar -xzvf rumenz.tar.gz rumenz.txt #只解压rumenz.txt文件--- tar.bz2> tar -cjvf rumenz.tar.bz2 rumenz.txt #将rumenz.txt压缩成rumenz.tar.bz2> tar -xjvf rumenz.tar.bz2 #解压rumenz.tar.bz2到当前目录> tar -xjvf rumenz.tar.bz2 -C /tmp #解压rumenz.tar.bz2到tmp目录> tar -xjvf rumenz.tar.bz2 rumenz.txt #只解压rumenz.txt文件---tar.xz> tar -cJvf rumenz.tar.xz rumenz.txt #将rumenz.txt压缩成rumenz.tar.xz> tar -xJvf rumenz.tar.xz #将rumenz.tar.xz解压到当前目录> tar -xJvf ruemnz.tar.gz -C /tmp #将rumenz.tar.xz解压到tmp目录> tar -xJvf rumenz.tar.xz rumenz.txt #只解压rumenz.txt文件cat命令该命令用于查看文本文件的内容,后接要查看的文件名,通常会和more和less一起应用> cat rumenz.txt #查看rumenz.txt的文件内容> cat rumenz.txt | more #文件内容较多时,能够通过more分页查看利用cat向文件中增加内容cat >> cat > rumenz.sh << EOF> 123> 345> rumenz.com> EOFEOF是end of file的意思利用cat向文件中追加内容,cat >>> cat >> rumenz.sh << EOF> 111> 222> EOFchgrp命令该命令用于扭转文件所属用户组> chgrp rumenz rumenz.txt #将rumenz.txt文件的所属组改成rumenz> chgrp rumenz -R ./tmp #递归的把tmp目录下所有文件(蕴含目录)的所属组改成rumenz chown命令批改文件的所有者和所属组> chown rumenz:rumenz rumenz.txt #将rumenz.txt的所有者和所属组改成rumenz,rumenz> chown -R rumenz:rumenz rumenz/ #将rumenz目录下所有的文件(包含目录)的所有者和所属组改成rumenz,rumenz> chown rumenz rumenz.txt #将rumenz.txt的所有者改成rumenz> chown :rumenz rumenz.txt #将rumenz.txt的所属组改成rumenzchmod命令命令用于扭转文件的权限,chmod能够应用u(user)、g(group)、o(other)、a(all)和+(退出)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。 ...

November 3, 2021 · 2 min · jiezi

关于linux:Linux一学就会第十五章-LVM管理和ssm存储管理器使用

November 3, 2021 · 0 min · jiezi

关于linux:Linux-基金会宣布成立下一代架构基金会-构建适合多样化计算场景的下一代架构

当地工夫11月2日,Linux 基金会执行董事 Jim Zemlin 于加利福利亚举办的 Linux 基金会会员峰会(The Linux Foundation Member Summit)上发表,Linux 基金会正式成立 NextArch Foundation下一代架构基金会——该基金会致力于在异构基础设施和多云场景下的构建下一代技术架构,并倒退适宜企业数字化转型的开源生态。共计40余家企业或单位联结参加了该基金会的筹建工作,并作为首批共建和反对单位退出。 首批参加共建和反对的单位 随着云原生、大数据、区块链等技术在各个智慧行业下的广泛应用,企业对新技术的治理需要愈发强烈。此外,他们还须要更丰盛的行业计划、集成计划、软硬一体化架构等来解决规模化、商业化等问题,但目前并没有一个成熟的开源生态来应答。 基于这一背景,NextArch Foundation下一代架构基金会诞生。它将通过汇集Linux 基金会、TARS基金会的上、上游技术资源,聚合寰球 IT 公司、开源原生企业等多维资源,解决异构等场景下框架协定间兼容难度大、组件应用门槛低等问题,以满足企业对将来新业务和新场景的需要。 倒退“下一代架构”所面临的挑战近年来,“新一代”或“下一代”式名词在技术演进的场景下失去一直衍生。这其中包含但不限于新的技术架构、数据存储、异构硬件、研发效力、网络通信、音视频等。随着寰球技术倒退进一步放慢,简直每三年就有新的概念走向成熟,技术栈也随之产生变更。 因而,开发者须要付出大量的学习老本,在泛滥的工具和解决方案中找到最适宜本身开发需要的工具。例如,在往年 8 月 Forrester 的一项对于云原生开发者洞察钻研显示,在超过 400 位受访者中,72% 的反馈面对疾速变动的市场环境须要他们把握更多的业务与行业常识,66% 示意企业技术架构的变动驱动他们须要具备更加全面的技能。与此同时,大多数企业信息技术架构的麻利化水平不够,不足自有的技术开发能力,无奈满足数字化转型要求疾速响应业务需要。这能够从麦肯锡在往年发动的这项对数字化策略的调研后果中可见。 面向“下一代架构”的倒退须要,企业在技术层面、行业层面以及促成商业化落地层面上也存在着一些共性的问题和挑战: 企业通过自动化工具助力研发效力晋升过程中,存在异构、多云环境下多组件兼容难、不同框架协定间互通难、不足便捷或对立的多云管理工具等问题;各个行业在开源、交融、适配、生态、技术短板等方面面临多样化挑战,传统行业向“智慧化”、“智能化”维度降级再造面临转型跨度大、难度大的窘境;在促成商业化落地时,存在技术架构如何与商业联合,体现商业利用后劲的难题,以及如何依靠新技术架构或技术的从新革新,赋能企业商业模式的改革等问题。而“下一代架构”将充分利用自动化开发工具、面向新一代架构设计的解决方案开发流程等,以加强研发团队的效率,升高其学习老本和治理老本。企业也将取得易于应用且高效低成本的工具,来解决其数字化转型过程中的产品化和商业化问题。 NextArch Foundation 的应答形式“下一代架构”简直存在于如通信、数据库、存储、云原生、Serverless、AR/VR、量子计算、车联网、芯片等所有的畛域和迭代场景中。 以后,聚焦和解决“下一代架构”的开源我的项目也在持续增长、减速利用。对于渴望倒退“下一代架构”的行业、企业和开源我的项目而言,NextArch Foundation 下一代架构基金会将帮助其技术减速迭代,进一步晋升开源我的项目的开源代码品质;建设更适宜的开放平台促成开源社区的建设和倒退,丰盛利用场景,领导企业及行业摸索更适合的商业化门路。 面向宽泛的技术和行业,NextArch Foundation 下一代架构基金会将重点关注 CI/CD、云、容器及虚拟化、数据及剖析、DevOps、IoT、网络通信及边缘计算、凋谢硬件、存储、Web和利用开发等技术的演进、利用和商业化,以及车联网、游戏、医疗、娱乐、批发、通信等不同行业的新利用计划、一体化解决方案。 例如在通信畛域,为满足将来 6G 更加丰盛的业务利用以及极致的性能需求,NextArch Foundation 下一代架构基金会将在摸索新型网络架构的根底上,致力实现要害核心技术的冲破;在硬件畛域,解决开源畛域用户少、贡献者少以及框架结构不清晰而导致开源社区规模受限的问题;在大数据畛域,建设对立反对 OLTP 和 OLAP 的数据库,升高企业保护不同数据库的治理和保护的老本;围绕下一代数据存储技术,构建一套稳固、高效、满足将来业务倒退需要的数据存储系统等。 NextArch Foundation Future Landscape 对于NextArch Foundation将来正如 Linux 基金会执行董事 Jim Zemlin 提到的,开发者们须要在不同的基础设施和解决各种问题的适合的工具之间做出抉择,这种抉择很多时候是很难的。 而对于下一代架构基金会目前所聚焦的新技术、新畛域,Linux 基金会高级副总裁兼我的项目总经理 Mike Dolan 示意,“NextArch 基金会粗浅地理解到,解决以后这个时代最大的技术挑战,是建设凋谢的开源生态系统,并促成生态链上企业间的单干。这是一项具备重大使命的工作,只能在开源社区中实现。Linux 基金会很快乐能反对这个社区的倒退,并为其构建生态系统提供可参考的凋谢治理实际。” ...

November 3, 2021 · 3 min · jiezi