- 博客(161)
- 收藏
- 关注
原创 Linux的7个终端快捷键
作为 Linux 用户,大家肯定在 Linux 终端下敲过无数的命令。有的命令很短,比如:ls 、cd 、pwd 之类,这种命令大家毫无压力。但是,有些命令就比较长了,比如:$ git push origin HEAD:refs/for/master这个时候,你要是敲错了哪怕是一个字母,是不是很崩溃?以前我的作法是,如果敲错了命令,就把光标移动到错误的地方,再进行修改。相信不仅是我,大部分的小伙伴都是这么干的吧。命令比较短还好,万一命令很长,是不是很抓狂?今天,良许就给大家介绍 Bash 下 7
2021-02-09 11:52:30
268
原创 CentOS 7 执行 yum 命令失败问题的排查方法
简介本文主要为大家讲解 CentOS 7系统中执行yum命令失败等常见问题的排查方法。1、执行yum命令报404错误1)检查yum仓库是否配置正确,可以到阿里云下载repo配置文件。wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2)如果报错中包含$releasever变量, 则执行rpm -qa | grep centos-release确认centos-release是否
2021-02-09 11:50:56
794
原创 Linux文件系统异常导致数据库文件无法访问
导读:某客户单位数据库出现异常,大致现象是:数据库状态是open的,但是其中一个数据文件无法访问,本文分享排查原因与解决问题的整个过程。通过ls 查看文件都报错,如下所示:[oracle@oracledata01 oracle]$ lsls: 无法访问zf4.dbf: 输入/输出错误同时dd命令也无法读取该文件:[oracle@oracledata01 fd]$ dd if=zf4.dbf bs=8192 count=1 skip=1|od -x|header -1bash: he
2021-02-09 11:48:18
456
原创 微软大修Linux Windows子系统
随着Windows 10 版本 2004的上线,微软准备向全球用户发布新的Linux Windows子系统(WSL) 2。正如预期的那样,第二代WSL进行了重大改进,包括集成到平台中的完整Linux内核。在19日的Build开发者大会上分享了这方面的更多信息。首先,Linux GUI应用程序首次进入了Windows 10的世界。众所周知,Linux的Windows子系统允许Linux应用程序在Windows 10上运行,但是没有图形用户界面,虽然这个挫折可以通过X server解决,但总体性能并不总
2021-02-09 11:47:16
146
1
原创 微软大修Linux Windows子系统
随着Windows 10 版本 2004的上线,微软准备向全球用户发布新的Linux Windows子系统(WSL) 2。正如预期的那样,第二代WSL进行了重大改进,包括集成到平台中的完整Linux内核。在19日的Build开发者大会上分享了这方面的更多信息。首先,Linux GUI应用程序首次进入了Windows 10的世界。众所周知,Linux的Windows子系统允许Linux应用程序在Windows 10上运行,但是没有图形用户界面,虽然这个挫折可以通过X server解决,但总体性能并不总
2021-02-09 11:46:42
129
原创 如何调试Linux内存泄漏
内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。我们平时开发过程中不可避免的会遇到内存泄漏问题,你是如何排查的呢?估计你是使用下面这几个工具吧?valgrindmtracedmallocccmallocmemwatchdebug_new这里程序喵向大家推荐新的一个排查内存泄漏的工具:AddressSanitizer(ASan),
2021-02-09 11:44:52
157
原创 Linux下高效实用的grep命令
Linux系统中的grep命令是一种功能强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。1、语法参数grep [options][options]主要参数:-c:只输出匹配行的计数。-i:表示不区分大小写。-h:查询多文件时不显示文件名。-l:查询多文件时只输出包含匹配字符的文件名。-n:显示匹配行及行号。-s:不显示不存在或无匹配文本的错误
2021-02-09 11:43:19
183
原创 Linux vs Unix - Linux与Unix到底的不同
Linux和Unix这两个术语可以互换地用来指同一操作系统。这在很大程度上是由于他们惊人的相似之处,以致很多人不能区分这两者。在Linux vs Unix难题中,存在关于哪个系统做什么的困惑。如果您出生于90年代中期,那么您很可能只与Linux操作系统进行过交互。Linux在数据中心和云计算平台中占据着巨大的市场份额。Linux无处不在,它支撑着智能手机、Android TV和物联网设备等大多数智能设备。虽然Linux和Unix确实有很多共同点,尤其是在文件系统层次结构和终端命令方面,但我们不能忽略这两
2021-02-09 11:41:51
291
原创 52条SQL语句性能优化策略
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的 LIKE。
2021-02-09 11:40:12
1083
1
原创 如何 60 秒内进行 Linux 性能分析
当你登陆一台 Linux 服务器之后,因为一个问题要做性能分析时:你会在第 1 分钟内做哪些检测呢?在 Netflix,我们有很多 EC2 的 Linux 机器,并且也需要很多性能分析工具来监控和检查它们的性能。包括有针对云上的监控工具 Atlas,和按需要进行实例分析的 Vector。虽然这些工具能帮助我们解决大多数问题,但是我们有时候还需要登陆机器实例去运行一些标准的 Linux 性能分析工具。最开始的 60 秒:总结在这篇文章中,Netflix 的性能分析工程师团队会给你展示在最开始的 60
2021-02-09 11:38:44
159
原创 Linux进程管理工具 Supervisor详解
Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。因为S
2021-02-07 17:51:36
322
原创 Linux进程管理工具 Supervisor详解
Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。因为S
2021-02-07 17:50:53
162
原创 如何设置Linux系统开机自动运行脚本
在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。下面我们就介绍三种简单但可行的开机启动设置方法。 方法一:修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以
2021-02-07 17:49:46
203
原创 Linux下寻找相同文件
随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 Linux 下,我们可以通过识别文件的 inode 值来找出系统中的相同文件。inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内容。如果两个或多个文件具有相同的 inode 值,即使它们的文件名不一样,位置不一样,它们的内容、所有者、权限其实都是一样的,我们可以将其视有相同文件
2021-02-07 17:48:42
220
原创 shell高效编程
平常工作中,你是否感觉shell脚本只是命令的堆砌;很多时候只是为了实现功能而没有好的组织结构;自己的脚本都不想再看一遍;哈哈,我这就教给shell的“葵花宝典“,自此让你的shell脚本有python一样的美感并且极易维护,真的是shell脚本写到停不下来。现以nginx控制脚本为例,看一下脚本的美容过程:#!/bin/bash# set命令的奇妙用途留在文章末尾set -eu# nginx重载配置文件nginx -c /etc/nginx/nginx.conf -tkill -.
2021-02-07 17:47:35
126
原创 rm 删除文件空间
在 Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。产生一个指定大小的随机内容文件我们先看一下当前各个挂载目录的空间大小:$ df -h/dev/sda11 454M 280M 147M 66% /boot我这里挑选了其中一个结果展示(你可以选择任一挂载目录),接下来准备在/boot下生成一个文件。首先我们产生一个50M大小的文件:$ dd if=/dev/urandom of=/boot/test.txt bs=50M co
2021-02-07 17:46:23
135
原创 10 个Linux命令
1)pgreppgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:$ pgrep -u hchen2244122444这个命令相当于:ps -ef | egrep '^hchen' | awk '{print $2}'2)pstree这个命令可以以树形的方式列出进程。如下所示:
2021-02-07 17:45:01
120
1
原创 Linux5个基本命令行工具的替代品
在日常使用 Linux/Unix 系统时,我们会使用许多命令行工具来完成我们的工作,并理解和管理我们的系统,像 du 用于监视磁盘利用率,top 用于显示系统资源。其中一些工具已经存在很长时间了。例如,top 于 1984 年首次发布,而 du 的首次发布要追溯到 1971 年。多年来,这些工具已经被现代化并移植到不同的系统,但是,通常,它们仍然延续着它们最初的思想和体验。这些都是很好的工具,对于许多系统管理员的工作流来说都是必不可少的。然而,最近几年,开源社区已经开发出了可以带来额外好处的替代工具。
2021-02-07 17:43:33
234
原创 Linux cut 命令详解
cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut 命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了解一下 cut 的一些选项,cut 命令必须要指定选项才能执行。-f : 提取指定的字段,cu
2021-02-07 17:42:11
260
原创 Linux重定向用法详解
相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢?答案是肯定的,那就是重定向。重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能。每当你与计算机交互时,重定向就必然会发生。学会使用重定向,不仅可以让你与计算机更好地交互,还可
2021-02-07 17:37:15
823
原创 Linux进程管理工具 Supervisor详解
Supervisor安装与配置(linux/unix进程管理工具) Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。因为S
2021-02-05 19:30:45
363
原创 如何设置Linux系统开机自动运行脚本
在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。下面我们就介绍三种简单但可行的开机启动设置方法。 方法一:修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以
2021-02-05 19:29:44
242
原创 Linux下寻找相同文件
随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 Linux 下,我们可以通过识别文件的 inode 值来找出系统中的相同文件。inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内容。如果两个或多个文件具有相同的 inode 值,即使它们的文件名不一样,位置不一样,它们的内容、所有者、权限其实都是一样的,我们可以将其视有相同文件
2021-02-05 19:28:42
203
原创 shell高效编程
平常工作中,你是否感觉shell脚本只是命令的堆砌;很多时候只是为了实现功能而没有好的组织结构;自己的脚本都不想再看一遍;哈哈,我这就教给shell的“葵花宝典“,自此让你的shell脚本有python一样的美感并且极易维护,真的是shell脚本写到停不下来。现以nginx控制脚本为例,看一下脚本的美容过程:#!/bin/bash# set命令的奇妙用途留在文章末尾set -eu# nginx重载配置文件nginx -c /etc/nginx/nginx.conf -tkill -.
2021-02-05 19:27:37
81
原创 如何在Linux中使用at和crontab命令
经验丰富的系统运维工程师可以使得Linux在无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化。尽管我们现在已经有了功能彪悍的脚本程序来执行一些批处理工作,但是,如果仍然需要在每天凌晨两点敲击键盘回车键来执行这个脚本程序,这简直太痛苦了(当然,也可以训练您的小猫在半夜按下回车键)。接下来,将向大家讲解如何设置服务器的计划任务服务,把周期性、规律性的工作交给系统自动完成。计划任务分为一次性计划任务与长期性计划任务,大家可以按照如下方式理解。一次性计划任务:今晚11点
2021-02-05 19:26:34
221
原创 rm 删除文件空间
在 Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。产生一个指定大小的随机内容文件我们先看一下当前各个挂载目录的空间大小:$ df -h/dev/sda11 454M 280M 147M 66% /boot我这里挑选了其中一个结果展示(你可以选择任一挂载目录),接下来准备在/boot下生成一个文件。首先我们产生一个50M大小的文件:$ dd if=/dev/urandom of=/boot/test.txt bs=50M co
2021-02-05 19:25:00
129
原创 10 个Linux命令
1)pgreppgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:$ pgrep -u hchen2244122444这个命令相当于:ps -ef | egrep '^hchen' | awk '{print $2}'2)pstree这个命令可以以树形的方式列出进程。如下所示:
2021-02-05 19:23:43
103
原创 Linux5个基本命令行工具的替代品
在日常使用 Linux/Unix 系统时,我们会使用许多命令行工具来完成我们的工作,并理解和管理我们的系统,像 du 用于监视磁盘利用率,top 用于显示系统资源。其中一些工具已经存在很长时间了。例如,top 于 1984 年首次发布,而 du 的首次发布要追溯到 1971 年。多年来,这些工具已经被现代化并移植到不同的系统,但是,通常,它们仍然延续着它们最初的思想和体验。这些都是很好的工具,对于许多系统管理员的工作流来说都是必不可少的。然而,最近几年,开源社区已经开发出了可以带来额外好处的替代工具。
2021-02-05 19:13:29
322
1
原创 Linux cut 命令详解
cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut 命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了解一下 cut 的一些选项,cut 命令必须要指定选项才能执行。-f : 提取指定的字段,cu
2021-02-05 19:12:21
226
原创 Linux重定向用法详解
相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢?答案是肯定的,那就是重定向。重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能。每当你与计算机交互时,重定向就必然会发生。学会使用重定向,不仅可以让你与计算机更好地交互,还可
2021-02-05 19:11:24
216
原创 如何善用Bash history 命令
相信大家平时都有用 history 命令来查看命令历史记录,但是实际上 history命令并非只有这个功能,history 还有很多有用的功能。尤其是 Bash 版本的 history 命令,它所提供的功能比所有其他的 Linux Shell history 命令所提供的都要多。Bash 的历史悠久,是一个古老的 Shell ,并且它还有一个更古老的前身 the Bourne Shell (sh) 。因此,Bash 的 history 命令是所有的 Linux Shell history 命令中功能最丰
2021-02-04 20:19:04
216
原创 Linux磁盘空间释放问题
问题说明IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件。但是发现删除该文件后,/分区的磁盘空间压根没有释放出来,使用率还是100%!这是为什么呢??[root@linux-node1 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00
2021-02-04 20:18:04
156
原创 如何使用Grep命令查找多个字符串
今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串。简单介绍一下,grep 命令可以理解为是一个功能强大的命令行工具,可以用它在一个或多个输入文件中搜索与正则表达式相匹配的文本,然后再将每个匹配的文本用标准输出的格式写出来。因此,良许向大家分享一下如何使用 grep 命令的多种搜索模式以及使用 grep搜索多个字符串:多模式 Grep 命令grep 命令支持三种正则表达式语法:Basic、Extended 和 Perl-compatible 。当没有指定正则表达式类型时,g
2021-02-04 20:17:13
272
原创 Linux 命令行里与其他用户通信
在 Linux 命令行里向其他用户发送信息很简单,很多命令都可以做到这点,麻烦的是你需要从众多命令中挑选一个合适的命令来使用。因此,我挑选了四种常用的 Linux 用户通信命令分享给大家并为你们讲解这四种命令是如何工作的。wallwall 命令(意为 write all )允许你向所有在系统已登录的用户发送信息。任何用户都可以使用 wall 命令,但 wall 命令通常是系统管理员用来向用户发送公告通知的(比如服务器将关闭维护)。一个系统管理员可能会发送如下信息:$ wall The syste
2021-02-04 20:16:24
107
原创 MYSQL 入门全套
MySQL简介1、什么是数据库 ?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲
2021-02-04 20:15:31
99
原创 利用 Shell 脚本实现邮件监控 Linux 系统的内存
一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)1、下载安装:**http://downloads.sourceforge.net ... 206451&big_mirror=0**# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用
2021-02-04 20:14:38
112
1
原创 如何快速将Linux 大文件处理小
1.背景工作中使用MapReduce任务导出一批含有路径的文件,共计行数300W+,需要检测文件是否在对应的服务器中存在,而文件所在的服务器并非hadoop集群的服务器,因此打算采用bash脚本进行。具体的方法如下(可直接看方法2,方法1效率较低):2. 采用的方法a. 方法1原本打算使用如下脚本,进行简单验证:!/bin/bashcount=0cat oriTest.txt | while read datadocount=$(( $count+1 ))echo
2021-02-04 20:13:48
163
原创 Linux 命令学习神器 kmdr
所有学习Linux系统的初学者都知道,入门时除了简单的系统知识需要了解之外,其次,最重要的就是学习与理解Linux命令的用法与其应用场景。所以,大家也会遇到这样的情况,不太懂的命令用法,我们会去查找资料。据不完全统计,Linux系统常见的命令约600+个,一时间想全部掌握太难了,特别对于一个初学者来说,更是难上加难。我在公众号的后台、技术交流群,经常看到很多人都会遇到这种苦恼,命令长时间不练,不敲,很快就会全部忘记,等到应用时,再去查看帮助,又有点模糊不清,找不准其使用方法与参数的应用。特别是需要多
2021-02-04 20:12:45
219
原创 如何调试Linux内存泄漏
内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。我们平时开发过程中不可避免的会遇到内存泄漏问题,你是如何排查的呢?估计你是使用下面这几个工具吧?valgrindmtracedmallocccmallocmemwatchdebug_new这里程序喵向大家推荐新的一个排查内存泄漏的工具:AddressSanitizer(ASan),
2021-02-04 20:11:44
265
1
原创 Linux服务器高并发调优实战
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制、内核TCP参数方面和IO事件分配机制等。下面就从几方面来调整使Linux系统能够支持高并发环境。iptables相关如非必须,关掉或卸载iptables防火墙,并阻止kernel加载iptables模块。这些模块会影响并发性能。单进程最大打开文件数限制一般的发行版,限制单进程最大可以打开1024个文件,这是远远不能满足高并发需求的,调整过程如下:在#号提示符下敲入:# ulimit –n 65535将ro
2021-02-04 20:10:28
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人