Linux 终端操作的一些语法糖总结: 以下代码添加到 ~/.bashrc 文件中去: #操作命令简化 alias c='clear' alias m='git checkout master;git pull' alias p='git pull' alias d='git diff' alias s='git st' alias gc='func() { git checkout $1; git pull;}; func' #git add git commit git push 三步操作合成一步操作 function g() { log=$1 files=$2 if [ ! -n "$log" ]; then echo "必须输入提交说明" ......
curl 命令如何获取 http 请求的响应消息头信息? 主要有两种方式: (1) 通过 --head 选项只返回消息头,等价于 -I,示例如下: [demo@Linux ~]$ curl --head http://php.hhsy.cc/ curl --head php.hhsy.cc HTTP/1.1 301 Moved Permanently Server: nginx Date: Wed, 03 Nov 2021 07:18:26 GMT Content-Type: text/html Content-Length: 162 Connection: keep-alive Location: // (2) 通......
Linux根据端口号查看进程的pid。 1、命令lsof,以查找占用端口80为例,用法如下: [root@localhost sbin]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 8246 root 6u IPv4 64233 0t0 TCP *:http (LISTEN) nginx 8247 nobody 6u IPv4 64233 0t0 TCP *:http (LISTEN) 以上为进程ID为8246和8247的nginx应用,占用80端口。 2、命令netstat,以查找占用80端口为例,......
1、查看系统是否有僵尸进程 使用Top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程。 2、定位僵尸进程 使用命令ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'定位僵尸进程以及该僵尸进程的父进程 僵尸进程ID:3457,父进程ID:3425 僵尸进程ID:3533,父进程ID:3511 3、使用Kill -HUP 僵尸进程ID来杀死僵尸进程,往往此种情况无法杀死僵尸进程,此时就需要杀死僵尸进程的父进程 kill -HUP 僵......
Linux命令 sed 详解 1. sed 详解 sed 是一个精简的、非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出。 sed 的工作方式 逐行读取文件内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。原文件内容并没有改变。 语法格式 sed "pattern command" file ......
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。 vmstat工具提供了一种低开销的系统性能观察方式。因为vmstat本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat输出结果。 物理内存和虚拟内存区别 我们知道,直接从物理内存读......
你可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。ps命令能提供一份当前进程的快照。如果你想状态可以自动刷新,可以使用top命令。 ps命令 输入下面的ps命令,显示所有运行中的进程: # ps aux | less 其中, -A:显示所有进程 a:显示终端中包括其它用户的所有进程 x:显示无控制终端的进程 任务:查看系统中的每个进程。 # ps -A # ps -......
大家都知道在做性能测试的时候,需要监控服务器的资源情况,而大多数服务器是Linux系统,网上资料嘿多,这里汇总介绍下Nmon监控工具: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 一,Nmon介绍 (这句不用看——Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griff......
Linux实现将文件拖动到终端窗口将文件上传到远程服务器。 新建shell脚本文件,命名为 phpernote,文件内容如下: #!/bin/bash myfile=$1 scp -P 22 -r "$myfile" root@123.56.71.70:/home/phpernote 通过如下命令为该文件赋予可执行的权限: chmod a+x ./phpernote 将该文件的路径加入到系统的环境变量中去,然后就可以在终端窗口直接输入 phpernote 空格,然后将文件直接拖动到终端窗口,支持文件夹,然后轻敲 enter 键,......
在Linux系统中,提供了proc文件系统显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,比如想知道当前主机有几个物理CPU/几核/几线程,这些问题怎么确定呢?可以通过/proc/cpuinfo文件得到,本文章针对该文件进行简单的总结。 基于不同指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集CPU的/proc/cpuinfo文件包含如下内容: yhm@:~/home/www/hh.hhsy.cc$cat /proc/cpuinfo processor : ......
python 脚本代码如下,保存文件名为 gupiao.py: #!/usr/bin/env python # -*- coding:utf-8 -*- from colorama import init, Fore, Back, Style from prettytable import PrettyTable import urllib.request import time print("author:php.hhsy.cc\n") #print('current_time:') print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))) print() #debug=True debug=False x = Pre......
用tar打包时想剔除打包目录中的某个子目录或文件: 比如你想打包/home这个目录,但是/home/php.hhsy.cc/目录,/home/.git目录和/home/www/test.php文件你都不想打包,方法是: tar -zcvf home.tar.gz /home --exclude=/home/php.hhsy.cc --exclude=/home/.git --exclude=/home/www/test.php 命令格式如下: tar -zcvf xxx.tar.gz 要打包的目录 --exclude=dir1 --exclude=file1 ...... 将一个目录全部打包的......
今天在调用php系统函数 easter_date()的过程中,本地没有问题,代码上传到服务器却报了个致命错误:调用未定义的函数 easter_date(),服务器是 Linux 环境。 网上搜了一下,发现问题是因为在安装编译php的过程中没有加–enable-calendar支持。 只能重新编译一下calendar模块了,这个时候我服务器已经编译安装了php,那么如何在增加calendar支持呢?其实很简单,把calendar当做一个扩展来重新编译一下,将生成的文件路径增加到php......
Linux下通过ssh scp命令上传下载文件。 1、上传本地文件到服务器 scp /path/filename username@servername:/path/ 例如 scp /var/tale.sql root@120.79.212.177:/var/ 把本机/var/目录下的tale.sql文件上传到120.79.212.177这台服务器上的/var/目录中 如果需要带端口号,则: scp -P port /path/filename username@servername:/path/ 2、上传本地目录到服务器 scp -r local_dir username@servername:remote_dir 例如......
使用 php 实现类似 Linux crontab 的定时任务功能,支持秒级定时任务类 /** * Class Crontab * description: 使用 php 实现类似 Linux crontab 的定时任务功能,支持秒级定时 * author: http://php.hhsy.cc/ */ class Crontab { /** * 判断某个时间点是否在 cron 规则之内 * @param $cron * @param $time * @return bool */ public static function parseCron($cron, $time) { ......
一般windows在dos下要复制粘贴命令,会采取下面的方法 ctrl + c,ctrl + v 或鼠标左键复制,右键粘贴 但在Linux系统终端下是行不通的,需要采取下面的2种方式(推荐第二种骚操作) ①:ctrl + shift + c,ctrl + shift + v ②:直接鼠标左键选中要复制的命令,然后在需要粘贴的地方按一下鼠标滚轮即可
Linux命令之du命令。 du命令 显示文件或目录所占用的磁盘空间。 命令格式: du [option] 文件/目录 -h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等 -s 显示文件或整个目录的大小,默认单位是KB 显示当前目录的大小: du -sh 显示某个目录或文件的大小: du -sh ./phpernote/ du -sh ./phpernote/index.php 显示当前目录下所有文件的大小: du -sh ./* 包括当前目录下的文件和子目录: du -sh 写法的区别......
方法一:自定义方法 在~/.bashrc中添加下面代码: function set-title() { if [[ -z "$ORIG" ]]; then ORIG=$PS1 fi TITLE="\[\e]2;$*\a\]" PS1=${ORIG}${TITLE} } 在命令行或shell脚本里面通过以下命令或代码: set-title php.hhsy.cc 即可将当前终端的title设置为 php.hhsy.cc 方法二:命令行方式 使用转义码字符 echo -e "\033]0;我的虚拟终端窗体标题3\007" 使用转义字符 echo -n $'\e'......
expect 基本语法 这是一个简单的expect脚本,代码如下: #!/usr/bin/expect set timeout 30 spawn ssh -l username 123.56.71.70 expect "password:" send "php.hhsy.cc\r" interact 这里对常见的expect语法做一些解释: 1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和Linux下的bash、windows下的cmd是一类东西。 注意:这一行需要在脚本的第一行。 ......
在查看服务器日志时,服务器日志过多,这时可以使用grep命令加过滤 tail -f stdout.log | grep "要查询内容" grep是Linux下的文本搜索工具 如果在只是想匹配模式的上下几行,grep可以实现。 $grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep -C 5 'parttern' inputfile //打印匹配行的前后5行 $grep -A 5 'parttern' inputfile //打印匹配行的后5行 $grep -B 5 'parttern' inputfile //打印匹配行的前5行 $gr......
SCWS 是一个简易的中文分词引擎,它可以将输入的文本字符串根据设定好的选项切割后以数组形式返回每一个词汇。它为中文而编写,支持 gbk 和 utf8 字符集,适当的修改词典后也可以支持非中文的多字节语言切词(如日文、韩文等)。除分词外,还提供一个简单的关键词汇统计功能,它内置了一个简单的算法来排序。 注意:本篇文章需要下载三个文件,scws官网如果不可下载,可在文末直接下载已打包好的文件,然后解压根据文章教程复制到......
之前写过一篇文章:git一步完成文件的 add, commit 和 push功能的命令 这里再对git操作中经常需要做的操作做一个简化操作。 我们在需要开发一个新功能或者解决一个bug的时候,常用的操作的是切换到master分支,更新一下master分支代码,然后基于该分支开出一个新分支作为开发新功能或解决bug的开发分支,操作命令如下: git checkout master git pull git checkout -b bugfix-12032 下面这个方法就是将如上的命令简化。 (1......
为了清理之前的 console consumer 采用如下的 脚本 进行筛选,然后一次性kill掉: ps -ef|grep ConsoleConsumer|awk '{print $2}'|xargs kill -9 这里是输出 ps -ef|grep hello 结果的第二列的内容然后通过xargs传递给kill -9,其实第二列内容就是hello的进程号! 附录: 1. awk是一种编程语言,用于在Linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正......
Linux下解压rar格式文件会出现“Parsing filters unsupported”这样的错误,原因是Linux版本默认不支持rar商业/非自由格式。要解决这个问题只需要安装unrar即可: sudo apt-get install unrar sudo apt-get install unar
Linux alias 命令用于设置指令的别名。语法格式为: alias 别名='指令名称' 若不加任何参数直接执行alias命令,则列出目前所有的别名设置。 定义 alias 时,有时候会有用命令行参数的需求。但通过查证文档的结果是,alias 根本就不支持传递命令行参数。不过,我们可以变通的解决这个问题,即定义函数。 这里通过 alias 实现之前提到过的 “git一步完成文件的 add, commit 和 push功能的命令” 的为示例演示一下该功能的实现: ......
在Linux平台上,要在后台运行脚本的话,一般是在命令之后加上&即可。 但是今天通过putty在远程服务器上执行php a.php &之后,a.php脚本并没有在后台运行起来。 于是在网上找到了nohup,具体方法为: nohup php a.php & 这样即使退出了终端,a.php依然在后台运行。 Linux nohup和&的功效 使用&后台运行程序: 结果会输出到终端 使用Ctrl + C发送SIGINT信号,程序免疫 关闭session发送SIGHUP信号,程序关闭 使用nohup运行......
本文记录一下在Linux上将视频转换成动态gif图片的方法。 首先,需要在Linux系统上安装FFmpeg,我会用这个工具去解压从视频中解压出视频帧。 下面的指令会解压出独立的视频帧,将它们保存为GIF图片。确保使用诸如("out%04d.gif")的输出文件格式。这样,独立的帧就被合适地命名并保存。 ffmpeg -t <时长> -ss <hh:mm:ss格式的开始位置> -i <视频文件> out%04d.gif 例如,如果你想解压输入视频的视频帧,从第10秒开始,每5秒一帧......
ffmpeg是一个很强大的音视频处理工具,官网介绍ffmpeg是:一个完整的、跨平台的解决方案,可以记录、转换和传输音频和视频。ffmpeg既可以播放视频,也提供命令行工具来处理视频,另外还有强大的视频处理库用于开发,下面是以Linux为例介绍ffmpeg的安装流程的简单的命令行对视频进行转码操作,是ffmpeg中最最简单的入门内容。 ffmpeg 官网地址:http://ffmpeg.org/ 1、下载ffmpeg 下载网址:http://www.ffmpeg.org/download.html......
Linux shell脚本实现根据进程名杀死进程的方法,免去每次都要先ps -ef|grep列出所有的进程,然后kill进程id的麻烦步骤。 提醒:以下仅供参考,实际上Linux已经有相关的命令了,即 killall,下面的内容是还不知道这个命令的时候鼓捣的。 Shell脚本源码如下: #!/bin/sh #根据进程名杀死进程 if [ $# -lt 1 ] then echo "缺少参数:procedure_name" exit 1 fi PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ p......
对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。 但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何邮件,于是我试着再发一次,结果返回了错误提示。......