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/phpernote.com$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:www.phpernote.com\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/www.phpernote.com/目录,/home/.git目录和/home/www/test.php文件你都不想打包,方法是: tar -zcvf home.tar.gz /home --exclude=/home/www.phpernote.com --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://www.phpernote.com/ */ 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 www.phpernote.com 即可将当前终端的title设置为 www.phpernote.com 方法二:命令行方式 使用转义码字符 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 "www.phpernote.com\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的麻烦步骤。 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 '{ print $2}'` for i in $PROCESS do echo "Kill the $1 process [ $i ]" kill -9 $i done 保存该代码为可执行文......
对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。 但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何邮件,于是我试着再发一次,结果返回了错误提示。......
简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。开发iOS都在Mac系统上吧,安装Charles的时候需要先装好Java环境。下面提供一个charles 4.2.1版本的破解版供下载。 charles 4.2.1 破解版下载 安装完毕执行 bin 目录下的 charles 文件即可打开该软件。 Charles主要功能 支持SSL代理。可以截取分......
如何在终端实时的展示当前所处的git分支?这里主要是在Linux的shell中的PS1, PS2,PS3, PS4这些环境变量中动手脚达到这个目的,现在记录一下操作过程备忘。 实际效果如下图: 先来说说Linux shell中的PS1,PS2,PS3,PS4 这几个环境变量。 PS1表示的默认交互提示,在ubuntu-12.04中的默认值是 "\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$" 也就是我们通常可以看到的: yhm@yhm-pc:......
更好的实现方法请参考:使用 php 实现类似 Linux crontab 的定时任务功能,支持秒级定时 本文分享一下php模拟Linux crontab实现定时计划任务的方法。 PHP定时计划任务需要两个文件。 1,crontab.conf.php (配置文件) <?php //当为0时,关闭计划任务 return 1; 2,crontab.php (主体文件) <?php ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制......
工作中经常需要得到当前的Unix时间戳或将给定的时间戳转换为我们可以识别的日期格式,对应这种需求,在Linux的命令行终端可以直接通过几个命令轻松搞定,这里记录备忘一下。 1. 将日期转换为Unix时间戳 (1) 将当前时间以Unix时间戳表示: date +%s 输出如下: 1361542433 (2) 转换指定日期为Unix时间戳: date -d '2013-2-22 22:14' +%s 输出如下: 1361542440 2. 将Unix时间戳转换为日期时间 (1) 不指定日期时间的格式......
expect是建立在tcl基础上的一个工具,它还提供了一些Tcl所没有的命令,它可以用来做一些Linux下无法做到交互的一些命令操作,在远程管理方面发挥很大的作用。 因为expect是基于tcl的,所以需要你的系统中安装有tcl 如何检查? [root@dev ~]# whereis tcl tcl: /usr/lib/tcl8.4 /usr/share/tcl8.4 如果看不到结果,请先安装tcl > 安装tcl 下载tcl安装包,然后解压tcl安装包(centos系统下可以直接使用yum install tcl; ubunt......
本篇文章简要记录一下在Linux centos 6.5的环境下搭建git服务器的步骤,注意前提是你的环境已经安装好了git软件。 如果需要安装git软件,请参考本站文章: Linux centos 编译安装git-2.9.3 第一步:创建git用户组和用户(已经存在的可以略过此步骤) groupadd git #添加git用户组 useradd -g git git #添加git用户,并将该用户添加到git用户组 第二步:创建项目仓库 cd /home/git # 打开git用户目录 git init --bare phpern......
本篇文章简要记录一下在Linux centos 6.5 环境下安装git 2.9.3版本的过程。 一、git-2.9.3下载: https://www.kernel.org/pub/software/scm/git/git-2.9.3.tar.gz 二、解压安装 tar zvxf git-2.9.3.tar.gz # 解压 cd git-2.9.3 #打开 ./configure --prefix=/usr/local/git # 默认会安装在 /usr/local/bin,/usr/local/lib make make install #安装完成 一般编译安装过程都不会太顺利,本次安装过程就报了如下两个错误: 出......
经常需要做一些统计,统计当前命令的结果有多少行的时候,一行行的数比较原始,其实Linux提供了一个wc命令,通过管道命令很容易的就将这个工作给自动化的完成了。 比如查询本机连接 80 端口的连接数,可以这样: netstat -an | grep '80' | grep -v '0.0.0.0' | wc -l 其中 grep -v 是去除不需要的行 wc -l 是按行统计 这样就可以直接显示结果:42行。 这里简单的将 wc 命令及其参数总结一下。 Linux系统中的......