
Linux
饥饿小猪
只有打好扎实的基础,才能走的更远。 zhur_jim@163.com
(微信公众号:HungryPigKing)
展开
-
shell编程基础-条件判断
shell编程基础-条件判断一、文件常用的类型-d 文件: 判断该文件是否存在,并且是否为目录文件-e 文件: 判断该文件是否存在-f 文件: 判断该文件是否存在,并且是普通文件二、两种判断方式test -e test.txtecho $?等于[ -e test.txt ]判断一个文件是否是目录[ -d /root ] && echo "yes" || ...原创 2020-03-03 15:55:33 · 353 阅读 · 0 评论 -
shell编程基础-字符截取(sed)
sed:主要用来将数据进行选取,替换,删除,新增的轻量级流编辑器。sed [选项] '[动作]' 文件名[选项]: -n: 一般sed命令会把所有的数据都输出到屏幕,如果加入此选择,则把经过sed命令处理的行输出到屏幕; -e: 允许对输入数据应用多条sed命令编辑; -i: 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出; -f :直接将 s...原创 2020-03-03 13:56:42 · 540 阅读 · 0 评论 -
shell编程基础-字符截取(awk)
shell编程基础-字符截取awk '{printf $2 "\t" $6 "\n"}' test.txt[root@localhost zhurong]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 475M 0 475M 0% /dev...原创 2020-03-03 13:17:15 · 367 阅读 · 0 评论 -
shell编程基础-字符截取(cut)
shell编程基础-字符截取1、cut字符提取命令cut [选项] 文件名选项:-f列号:提取第几列 (默认是tab分割列)-d分隔符:按照指定分割符分格列cut -f 2,4 test.txt 截取第2列数据cut -d ":" -f 2,4 test.txt 截取第2列数据---------------------------------------简单...原创 2020-03-03 13:16:36 · 644 阅读 · 0 评论 -
shell编程基础-字符截取(printf)
shell编程基础-字符截取1、printf字符提取命令 printf '输出类型输出格式' 输出内容(不是文件名),并不是会自动加入换行符,如果需要则需要自加; 输出类型: %ns:输出字符串。n 是数字,指代输出几个字符; %ni:输出整数。n 是数字,指代输出几个数字‘’ %m.nf: 输出浮点数。m 和 n 是数字,指代输出的整数位数和小数位数。如...原创 2020-03-03 13:16:02 · 434 阅读 · 0 评论 -
shell编程基础-正则表达式
shell 正则表达式:一、正则表达式和通配符区别: 正则表达式是用来匹配字符串,包含匹配; 通配符是匹配符合条件的文件名,完全匹配;二、正则表达式的使用* : 前一个字符匹配0次或任意多次;. : 匹配除了换行符外的任意一个字符;^ : 匹配行首. eg: ^hello 会匹配以hello开头的行;$ : 匹配行尾. eg: hello$ 会匹配以hell...原创 2020-03-03 13:14:53 · 205 阅读 · 0 评论 -
shell编程基础-预定义变量
预定义变量 $? 最后一次执行的命令的返回状态,如果这个变量值为0,证明上一个命令的正确执行,反之则为错误执行; $$ 当前进程的进程号(PID) $! 后台运行的最后一个进程号(PID) find /root -name hello.sh && 表示后台执行...原创 2020-03-03 13:13:15 · 253 阅读 · 0 评论 -
shell编程基础-位置参数
$0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值、n=1..9,当n为0时表示脚本文件名;如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数个数$*:获取当前shell脚本所有传参的参数,不加引号和$@相同;如果给$*加上双引号,例如:“...原创 2020-02-28 19:30:01 · 374 阅读 · 0 评论 -
shell编程基础-环境变量
一、用户自定义变量和环境变量有啥区别?1、用户自定义变量只会再当前的shell中生效。2、环境变量会再当前的shell和这个shell的所有的子shell当中生效。3、如果把环境变量写入相应的配置文件,那么这个环境就会在所有的shell中生效。二、环境变量定义与使用1、设置环境变量 export 变量名=变量值 export age=182、查询环境变量 en...原创 2020-02-28 19:27:57 · 267 阅读 · 0 评论 -
shell编程基础-变量
shell编程基础-变量一、变量的定义1、变量的名称可以由字母,数字和下划线组成,但是不能以数字开头。例如:01abc2、在Bash中变量的默认类型都是字符串,如果需要进行数值运算,则必须指定变量类型为数值类型;3、变量用等号连接值,等号左右两侧不能有空格;4、变量的值如果是空格,需要使用单引号或双引号包括;5、在变量的值中,可以使用"\"转义符6、变量值可以叠加,不过变量需要$变量...原创 2020-02-27 11:26:28 · 248 阅读 · 0 评论 -
shell 基本功能
chmod 755 test.sh //设置可执行权限cat -A test.sh 包含隐藏文件别名:alias 别名 = “原命令”alias rm='rm -i'alias cp='cp -i'alias mv='mv -i'永久生效,设置在/root/.bashrc 文件种unalias 别名 : 删除别名ctrl + U : 删除或这剪切光标之前的字符ctrl ...原创 2020-02-27 10:07:19 · 572 阅读 · 0 评论 -
Linux 常用的快捷ctrl命令
1、tab //命令或路径等的补全键,linux用的最多的一个快捷键2、ctrl+a //光标迅速回到行首3、ctrl+e //光标迅速回到行尾4、ctrl+f //光标向右移动一个字符5、ctrl+b //光标向左移动一个字符6、ctrl+insert //复制命令行内容(mac系统不能使用)7、shift+insert //粘贴命令行内容(mac系统不能使用)8、c...原创 2020-02-13 21:20:47 · 3253 阅读 · 0 评论 -
echo -e 详解
echo在php中是输入那么在linux中是不是也是输入呢,当然echo在linux也是输入不过它的用法比php强大多了可以带参数及一些东西,下面我们来看一篇关于linux echo命令介绍及-n、-e参数详解吧,具体如下所示。echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候...原创 2020-02-13 20:30:10 · 1083 阅读 · 0 评论 -
三、nginx服务器access_log日志分析及配置详解
nginx的log日志分为access log 和 error log其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息error log 则是记录服务器错误日志错误日志的形式如下:从上面我们可以看出几部分信息:1.客户端(用户)IP地址。如:上例中的 201.158.69.1162.访问时间。如:上例中的 [03/Jan/20...转载 2019-10-30 16:12:08 · 880 阅读 · 0 评论 -
解决虚拟机(CentOS-7)连接不上网络的问题(Couldn't resolve host 'mirrorlist.centos.org)
1、修改dns配置文件: 打开文件/etc/resolv.conf在其中添加: nameserver 8.8.8.8 nameserver 8.8.4.4 search localdomain 2、修改 /etc/sysconfig/network-scripts 目录下的对应文件, 用vi编辑器编辑ifcfg-ens33:vi if...原创 2019-10-30 12:10:42 · 1670 阅读 · 0 评论 -
CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&i
https://www.cnblogs.com/xixihuang/p/5404517.html转载 2019-10-23 15:53:57 · 1437 阅读 · 0 评论 -
linux 与window之间的文件传输命令
rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。 sz:将选定的文件发送(send)到本地机器rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器 安装命令: yum install lrzsz 从服务端发送文件到客户端: sz filename 从...原创 2018-08-26 11:35:50 · 5062 阅读 · 0 评论 -
Liunx:sudo命令不在重复输入password,和不再每次都输入sudo
我在普通用户下去创建一个文件夹:mkdir soft报错:mkdir: cannot create directory `soft': Permission denied因为不是root用户,要获取一些root权限,我们就在root用户下执行这个时候执行sudo mkdir soft,就成功了!但是我每次都要增加sudo,然后输入密码;感觉很烦,下面是如何去掉sud...原创 2018-08-26 12:06:48 · 8686 阅读 · 0 评论 -
linux服务器之间传输文件的方式
1. scp 【优点】简单方便,安全可靠;支持限速参数 【缺点】不支持排除目录 【用法】 scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 命令格式:scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>...转载 2018-09-09 08:17:29 · 711 阅读 · 0 评论 -
linux OOM killer分析
基本概念Linux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。oom killer机制分析oom killer是计算出选择哪个进程kill呢?我们先来看一下kernel提供给用户态的/proc下的一些参数: /proc/[pid]/oom_adj ,...转载 2019-01-27 19:27:25 · 680 阅读 · 0 评论 -
Cannot find a C++ compiler that supports both C++11 and the specified C++ flags. Please specify one
CMake 编译报错:yum install -y gcc gcc-c++ 搞定然后执行./configure原创 2019-08-15 18:33:01 · 9558 阅读 · 0 评论 -
CMake Error: The source directory "*" does not appear to contain CMakeLists.txt.
linux安装mysql出现的问题很多人说是没有切换到mysql的源码目录去执行cmake,这是一种因数,还有一个原因就是你下载的mysql.linux版本不对,你下载的不是源码版本的。应该选择:...原创 2019-08-16 11:09:15 · 13171 阅读 · 0 评论 -
Linux- 环境源码安装MySql5.6教程
一、安装方式 1、企业内部系统安装推荐yum安装,对数据库要求不高,并发不大,源码制作rpm,搭建rpm仓库,然后yum install xxx -y 2、常规方式编译安装MySql 5.1以前:./configure \ make, make isntall 5.5-5.6: (1)、tar zxf mysql.5.6.g...原创 2019-08-22 09:36:04 · 393 阅读 · 0 评论 -
Linux cpu负载和cpu利用率的区别
在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。一、“load average” 含义:"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小。它们的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。那么很显然,"loa...原创 2019-09-02 19:23:58 · 1647 阅读 · 0 评论 -
XShell 连接 vm虚拟机中的redhat Linux系统
最近在公司操作Linux,回家后自己想搞一个linux系统,于是就安装了一个虚拟机redhat,由于在虚拟机里操作Linux命令速度太慢,效率不是不高,操作不方便,就想把操作命令转移到win7的桌面来,自己也百度了一下,按照别人的教程来,但是发现中间总是遇到很多问题,都是和别人的教程不一致,后来摸索了半天终于把问题解决了;下面是我连接的步骤;我选择的是nat链接,因为nat链接是没有网络的情况原创 2015-01-16 23:29:20 · 4519 阅读 · 5 评论