Linux
文章平均质量分 57
比永远更永远
IT运维行业从业10年,希望分享自己的心得体会,也喜欢看大神的博客。
展开
-
linux之shell一次执行多条命令
某些情况下,需要在一行shell命令中执行多条命令。0.1 反面教材之使用sudo切换用户后命令停止执行假设robin用户有sudo权限,并且允许切换到root。即使你的命令要在root下执行,也不要偷懒这样写。[robin@iZj6cj20vqe3q7vt49zoxdZ ~]$ sudo su - && whoami && ls /apps/Last login: Tue Oct 12 23:35:40 CST 2021 on pts/1[root@iZj6cj2原创 2021-10-12 23:42:46 · 3492 阅读 · 0 评论 -
Linux之磁盘管理
文章目录前言一、磁盘基本信息查询1.df -hT查询文件系统挂载信息2.lsblk查询所有块设备3.du查询磁盘使用情况4./etc/fstab查询开机挂载设置前言linux作为一个流行的服务器操作系统,磁盘作为数据存储的重要介质,是基础又重要的知识。之前关于磁盘管理的知识零零散散,最近心血来潮,决定站在实践的角度总结下。一、磁盘基本信息查询1.df -hT查询文件系统挂载信息如下所示(示例):[root@localhost ~]# df -hTFilesystem原创 2021-03-16 22:01:03 · 371 阅读 · 0 评论 -
Redhat crontab定时任务
Redhat crontab定时任务1.查看cornd服务状态2.查看当前用户定时任务3.查看其他用户定时任务方法14.查看其他用户定时任务方法25.查看系统级定时任务6.为当前用户新增定时任务7.为其他用户新增定时任务8.定时任务各字段含义9.定时任务安全规则设置有时候,可能需要在操作系统执行一个定时任务,例如:日志文件压缩归档处理,定时调用某某服务,定时重启某某服务等等。Redhat操作系统自带的crond服务,就时用来实现定时任务的系统服务。1.查看cornd服务状态[root@iZj6cj20原创 2020-05-28 22:22:18 · 3099 阅读 · 0 评论 -
Redhat 7/8 使用systemd实现开机启动
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。官方的资料晦涩难懂,最近自己摸索实现了好几种场景的服务开机启动,已经更新在github 更新: https://github.com/byygyy/linux-best-practice/tree/master/systemd/...原创 2020-05-27 23:06:06 · 1530 阅读 · 0 评论 -
Jboss 开机自动启动
Jboss开机启动范例:#!/bin/sh### BEGIN INIT INFO# Provides: jboss# Required-Start: $local_fs $remote_fs $network $syslog# Required-Stop: $local_fs $remote_fs $network $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Managemen原创 2020-05-18 22:44:49 · 638 阅读 · 0 评论 -
redhat8 默认不支持ansible解决方案
redhat8默认不安装python,因此无法通过python去管理,直接上解决方案。dnf install python3 -yalternatives --set python /usr/bin/python3yum install python3-libselinux_x86_64原创 2020-05-17 17:49:23 · 943 阅读 · 0 评论 -
CentOS8使用podman常见错误解决
使用rootless用户pull ubuntu镜像,竟然报这种错误。发现错误:[javadm@instance-2 ~]$ docker pull ubuntuERRO[0000] cannot find mappings for user javadm: No subuid ranges found for user "javadm" in /etc/subuidERRO[0000] c...原创 2020-04-25 01:15:43 · 21112 阅读 · 1 评论 -
使用vagrant实现开发环境自动化构建
之前一直在使用vmwware搭建个人开发和测试环境,最近在看ansible书籍的时候,有人推荐了vagrant。因为他是免费的一款虚拟机管理软件,再结合oracle开源免费的Oracle VM VirtualBox,可以实现开发和测试环境的自动化构建。1.vagrant软件安装vagrant请到这里下载: https://www.vagrantup.com/downloads.htmlvir...原创 2020-04-19 23:58:26 · 392 阅读 · 0 评论 -
Linux之系统性能优化
目录1.内存使用率1.1 物理内存使用率高1.2 虚拟内存使用高1.3 找出消耗内存的元凶1.3.1 使用top查看物理内存占用1.3.2 循环查询虚拟内存占用2.CPU使用率2.1 CPU使用率高但负载低2.2 CPU使用率高负载也高3.系统负载高3.1 使用uptime查看负载3.2 使用top查看负载3.3 定位负载高的原因如果你是操作系统管理员、中间件管理员、数据库管理员或者开发人员,肯...原创 2020-03-30 00:24:20 · 563 阅读 · 0 评论 -
Linux之程序管理
程序管理1.1 什么是进程1.1.1 进程与程序1.1.2 工作管理(job control )Linux系统是一个多任务的开源操作系统,后台运行着很多的进程。今天我们来学习下进程相关的内容。1.1 什么是进程在linux系统中,触发任何一个事件时,系统都会将它定义为一个进程,并且给这个进程分配一个PID。1.1.1 进程与程序简单地说,执行一个程序、脚本或命令,就可以触发一个事件并且...原创 2020-03-25 00:26:16 · 452 阅读 · 0 评论 -
Linux之shell输出数据
目录1.1 理解输入和输出1.1.1 标准文件描述符1.2 输出重新向1.2.1 将STDERR重定向到一个文件1.2.2 将STDERR和STDOUT的分别重定向到不同的文件1.2.3 将STDERR和STDOUT的重定向到同一个文件讲完了如何处理用户的输入,接下来我在讲讲对应的shell输出数据。1.1 理解输入和输出至此你应该已经知道两种显示脚本输出的方式,在屏幕上显示输出或将输出重...原创 2020-03-22 00:25:52 · 1246 阅读 · 0 评论 -
Linux之shell用户输入
目录1.1命令行参数1.1.1参数本身没有空格的话,加不加引号无所谓1.1.2参数本身有空格,不加引号的话,会被当做多个变量处理,用引号包起来才对1.1.3检查参数是否为空1.1.4检查参数的个数1.1.5 抓取所有的参数值1.2获取用户输入1.3讲参数选项标准化讲完了shell的变量、条件判断和循环后,今天再来讲以下如何处理用户的输入。1.1命令行参数我们编写shell脚本的时候,可能有...原创 2020-03-19 23:54:29 · 972 阅读 · 0 评论 -
Linux之shell循环
讲完了shell的变量和条件判断后,今天再来讲讲循环。就像c语言或者java一样,循环在所有的编程语言或脚本语言中必不可少,shell自然也是。1.for循环假设你学过c语言后者java,循环的概念我就不废话了。for循环假设列表中的值都是用空格分开的,因此列表中的值如果有空格,用双引号包起来。1.1 for 循环中list中都是常量[root@aliyun-hk1 linux-shel...原创 2020-03-17 23:41:30 · 728 阅读 · 0 评论 -
Linux之shell条件判断
之前讲过了linux之shell变量,光有变量还不够,对于任何脚本语言或者编程语言来说,变量、条件判断、循环等是必不可少的,shell编程也不例外。今天我就先来讲讲shell条件判断语句。条件判断if-else语句许多时候,我们的脚本并不是简单的一路执行下去,而需要做各种条件判断。我们学过C语言或者java中的条件判断,其实shell脚本条件判断跟他们类似。例如c语言,if后面紧跟一个表达式...原创 2020-03-16 23:19:03 · 630 阅读 · 0 评论 -
Linux之如何学习linux
这些天我们也分享了好多linux的内容,从文本相关命令到文件和目录操作命令,也讲了shell、管道、环境变量等内容。其实Linux的内容不仅仅如此,后续我暂时会停止全面讲解基本和常用命令的步伐,会挑选一些重点、难点内容来分享。今天我来讲讲如何学习Linux,仅供参考。首先,你要知道linux都有什么东西,通读一遍linux普及的书籍,知道linux能干嘛。这个第一遍,重点学习常见的内容,对...原创 2020-03-15 22:31:13 · 346 阅读 · 0 评论 -
Linux之文件与目录权限
Linux最优秀的地方之一,就在于它的多用户、多任务环境。为了方便每个用户的使用和数据安全,Linux有严格而又强大的文件和目录管理机制。Linux系统文件和目录权限,按照身份可以分为,owner、group、others,例如这个文件夹里的文件,owner是root,group也是root,others是指其他人。[root@aliyun-hk1 httpd]# lltotal 12d...原创 2020-03-15 22:30:37 · 402 阅读 · 0 评论 -
Linux之文件与目录管理
上一次我们讲了文件与目录的权限,今天来讲讲文件与目录的管理。绝对目录与相对目录的概念,绝对目录是指从linux根目录“/”开始,相对目录是从当前目录“.”开始。绝对目录任何时候都有效,相对目录的实际含义跟当前所在目录密切相关。[root@aliyun-hk1 linux-shell-test]# cat /apps/linux-shell-test/sed.shhello[root@al...原创 2020-03-15 22:30:06 · 275 阅读 · 0 评论 -
Linux之shell输入输出重定向
之前我们讲解shell的变量、环境变量以及各种命令的时候,命令执行结果输出每次都是显示到屏幕上给用户看,其实还有更多的方式。今天我们就专门讲讲输入和输出重定向。输出重定向将命令的标准输出写入文件或黑洞/dev/null可以使用>或1>将一个命令的输出覆盖写入到一个文件,如果这个文件不存在,系统会自动创建,如果文件已存在,内容会被完全覆盖。[root@aliyun-hk1 li...原创 2020-03-15 22:29:24 · 821 阅读 · 0 评论 -
Linux之shell变量
之前讲过了linux之环境变量,其实环境变量属于最特殊的一种变量。今天我们来讲讲通用的shell变量,就像每种编程语言都有变量的概念一样,shell编程也有变量的概念。Linux变量之所以要叫shell变量,是因为shell是唯一的linux脚本运行环境,也可以简称linux变量。变量的概念想必大家上大学的时候,都学过了C语言、java语言等,最开始的章节都会学习到变量的概念,shell变量...原创 2020-03-15 22:28:49 · 372 阅读 · 0 评论 -
Linux之shell命令别名
为什么每当你执行rm file_name的时候,会提示你确认并输入y后才会执行删除动作,而不忽略或直接删除?为什么每当你执行cp的时候,如果存在重名文件会提示你是否覆盖,而不忽略? 为什么执行mv命令的时候,目标位置有重名文件会提示你是否覆盖?其实,是因为shell环境给这些命令定义了别名(alias name)。我们来查询下当前shell,定义了哪些别名,使用alias查询别名[root@...原创 2020-03-15 22:28:12 · 556 阅读 · 0 评论 -
Linux之管道命令
在linux世界,虽然你不一定熟悉管道的概念,但是你肯定已经用过了。当Bash命令执行的时候大部分时候都会有数据输出,如果这个输出的数据还要传递给其他的命令继续处理,就要用到管道(pipe)命令了,管道命令使用的是“|”这个符号。example1: 查询docker进程是否存在,我们将ps命令查询的结果通过管道传递给grep命令,再进行二次刷选,结果就出来了。注意:这个管道命令“|”仅能处理经...原创 2020-03-15 22:27:18 · 460 阅读 · 0 评论 -
Linux之环境变量
我们只要使用linux shell,就避免不了环境变量这个话题,大家最开始接触环境变量估计都从接触PATH环境变量开始。环境变量按照生效范围可以分为全局环境变量和局部环境变量。全局环境变量对于shell会话和所有生成的子shell都是可见的;局部环境变量只对当前shell有效。Linux系统在你开始bash会话时就会设置一些全局环境变量,而且变量名都是大写,以区别于普通的环境变量。使用pri...原创 2020-03-15 22:26:45 · 357 阅读 · 0 评论 -
Linux之理解shell
Linux shell是一个操作系统提供的、时刻都在运行的复杂交互式程序。它为用户提供了启动程序、管理文件系统中的文件以及运行在linux系统上进程的途径。对于linux OS 运维或linux shell编程而言,理解shell的概念是重要的一课。当我们使用ssh客户端工具,通过密钥认证或者密码认证,登陆成功后,操作系统就为我们创建了一个shell进程。λ ssh root@lhh.p...原创 2020-03-15 22:26:06 · 465 阅读 · 0 评论 -
Linux文本编辑命令-sed
sed用于过滤和转换文本的流编辑器。Sed是流编辑器。流编辑器用于对输入流(文件或来自管道的输入)执行基本的文本转换。尽管在某种程度上类似于允许脚本编辑(例如ed)的编辑器,但sed通过仅对输入进行一次传递来工作,因此效率更高。但是sed能够过滤管道中的文本,这使其与其他类型的编辑器特别有区别。grep,sed,awk合起来俗称linux shell三剑客。example1: 打印行,sed ...原创 2020-03-15 22:25:06 · 339 阅读 · 0 评论 -
Linux文本处理命令-awk
awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。在比较复杂的shell脚本中经常用到,awk grep sed三个合起来,被俗称为shell三剑客。它是linux系统很强大的文本处理命令,并且方便生成各种报表,语法借鉴了C语言。awk同样支持处理文件和标准输入的内容。example1 分列显示文本文件内...原创 2020-03-15 22:24:25 · 387 阅读 · 0 评论 -
Linux文本查找命令-grep
grep搜索命名的输入文件(如果没有命名文件,则搜索标准输入)以查找包含与给定PATTERN匹配的行。默认情况下,grep打印匹配的整行。example1: 搜索一个文件,最普通模式[root@aliyun-hk1 linux-shell-test]# grep hello grep1.shhelloexample2:递归搜索一个目录下的所有文件[root@aliyun-hk1 li...原创 2020-03-15 22:23:43 · 473 阅读 · 0 评论 -
Linux文本输出命令-echo
echo 在linux帮助文档的描述是显示一行文本,类似于python和java等编程语言中的print语句,实际上它的作用不仅仅如此。可以使用man echo查看详细的参数说明。example1: 显示一行文本,任何特殊字符都不会被转义[root@aliyun-hk1 linux-shell-test]# echo hello\nworldhellonworld[root@aliyun...原创 2020-03-15 22:23:02 · 2264 阅读 · 0 评论 -
Linux之为什么还要学习它
最近每天都会发一篇Linux原创文章,其实可能有些网友会不太喜欢纯技术的文章,或者太基础的文章。我今天就想讲讲,为什么自动化运维工具和技术很多了,还要学好Linux。回想201x年,我们还在前线做一线和二线运维,每天水深火热的日子回想起来还挺充实的。某一天,我们收到版本发布公告,应用系统准备从windows迁移到Linux,当时我和小伙伴的心情一下子都不好了。我就心里想,java程序嘛...原创 2020-03-15 22:21:22 · 301 阅读 · 0 评论 -
Linux shell 环境变量及有效范围
每当我们使用ssh客户端远程登陆一个服务时,操作系统就会给我们分配一个新的shell,并且这个shell继承了操作系统的永久环境变量。在当前的shell执行一个sh文件,都会临时产生一个子shell,该文件执行完毕后,将自动返回到父shell。子shell会继承父shell的所有永久环境变量和临时环境变量。父shell不能使用子shell中定义的变量和环境变量。 1.永久环境变量...原创 2018-11-23 00:02:58 · 3416 阅读 · 0 评论 -
使用putty通过证书登录Linux
refer to: https://www.aliyun.com/jiaocheng/200196.html原创 2018-11-03 22:59:00 · 1319 阅读 · 0 评论 -
TCP长连接与短连接、心跳机制
1. TCP连接当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的。经典的三次握手示意图:经典的四次握手关闭图: 2. TCP短连接我们模拟一下TCP短连接的情况,c...原创 2018-11-04 23:38:00 · 532 阅读 · 0 评论 -
ansible 2.7.1 常见错误总结
1.RequestsDependencyWarning(refer to http://blog.51cto.com/mjunetwslinux/2177727?source=dra)python库中urllib3 (1.21.1) or chardet (2.2.1) 的版本不兼容解决方法:pip uninstall urllib3pip uninstall chard...转载 2018-11-10 12:33:07 · 1309 阅读 · 0 评论 -
ansible 2.7.1 快速开始
refer to 官方手册 https://docs.ansible.com/ansible/latest/modules/modules_by_category.htmlrefer to 中文手册 http://www.ansible.com.cn/refer to Ansible快速入门 http://getansible.com/建议使用Redhat Linux 7.40.查...原创 2018-11-10 14:02:34 · 1411 阅读 · 0 评论 -
Linux系统日常运维-修改IP地址
分享下高手写的很好的文章 IP地址、子网掩码、网络号、主机号、网络地址、主机地址step 0: check the iptables、selinuxservice iptables iptablessestatus -vstep 1: backup the network configuration filescp /etc/sysconfig/network-scripts/ifc...转载 2018-11-08 22:12:17 · 382 阅读 · 0 评论 -
httpd安装和配置(cgi、wsgi)
参考:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn 一、yum方式安装:1、yum install httpd输入y后继续。 2、看到一下类似的返回,说明安装成功 3、由于linux Redhat默认将httpd作为系统服务,可以根据实际需要将httpd加入开机启动。单独查看某一服务是否开机启动的命令 :chkc...原创 2018-11-04 23:42:00 · 3185 阅读 · 0 评论 -
CentOS 7 配置阿里云yum源
Test at Red Hat Enterprise Linux Server release 7.5 (Maipo)File localtion /etc/yum.repos.d/epel.repoRefrer to https://www.jianshu.com/p/25a63cbf1e9dAliyum rep at http://mirrors.aliyun.com/epel/...原创 2018-11-14 00:00:18 · 332 阅读 · 0 评论 -
python第三方库离线安装-使用pip
参考:http://www.cnblogs.com/michael-xiang/p/5690746.html 操作系统:CentOS 6.9python:2.7.14 (默认的2.6.6需要升级到2.7.14)pip:10.0.1(需要Python '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*') 1、升级python到2.7.14下载python...原创 2018-07-04 11:16:00 · 2186 阅读 · 0 评论 -
CentOS 6.9编译安装Python-2.7.14(python升级)
参考Python官网:https://www.python.org/阿里云 https://www.aliyun.com/jiaocheng/517192.html 一、查看CentOS版本和系统默认Python版本:#cat /etc/redhat-release#python -V 二、编译安装Python-2.7.14:1、安装依赖软件包及包组:#yu...原创 2018-03-15 13:55:00 · 587 阅读 · 0 评论 -
利用ipv6技术,废旧笔记本变成server
如果你家的路由器已经get到了ipv6地址,并且你家的电脑也获取了有效的ipv6地址,在广域网的设备可以访问到。那恭喜你,再配合我这个ddns,你可以完美地把你家的电脑当服务器使用。1.确保你家的宽带支持ipv6最简单的办法就是,登陆路由器或者猫管理地址,查看是否有类似的地址获取到,2408:8270:455:8ab2:f405:5e1:512c:141b 例如联通分配给我们的地址是...原创 2019-03-26 22:56:03 · 1821 阅读 · 0 评论 -
在sae中运行web.py应用
sae 是新浪推出的PaaS业务,可以提供免运维的容器服务,官方网站 https://www.sinacloud.com/假设您已经在本地开发好了web.py 应用,您可以通过github客户端上传代码到sae中新建的python应用中。只要web.py应用包含文件index.wsgi,新浪云就会加载我们的应用。#!/usr/bin/env python# -*- coding: utf-...原创 2019-02-24 23:33:46 · 446 阅读 · 0 评论