Linux 删除文件相同的行。 1. 使用 vi 命令 基于 vi 工具,先用 sort 进行排序,然后使用正则表达式匹配重复的行,最后删除重复的行。 :sort :g/^\(.*\)$\n^\1$/d 解析: g:全局匹配 ^\(.*\)$:匹配一行任意内容,并将匹配到的内容存放于匹配分组\1中 \n^\1$:匹配与第一行相同的内容 d:删除重复项 2. 使用 Linux shell 命令 基于 Linux shell 命令,先用 sort 进行排序,然后使用 uniq 命令删除重复行。 sort old_fil......
Linux电脑配置,打造自己的开发环境,本人以后搞开发就打算用 deepin 系统了,所以这里记载一下从安装完 deepin 系统后的各种打造的过程。 1. sudo 免输密码 Linux sudo免密(免输入密码)的设置方法 2. 更新源以及升级系统,然后删除无用的一些东西 sudo apt update && sudo apt upgrade && sudo apt autoremove 3. 删除默认vim,安装完整的 vim 首先,要先卸掉旧版的 vi,输入以下命令: sudo apt-get remove vim-common ......
Linux批量修改文件名的方法。 (1)使用 rename 命令:rename 命令可以批量重命名文件名,使用正则表达式来匹配文件名。例如,将所有以 oldname 开头的文件名改为 newname 开头,使用如下命令: rename 's/^oldname/newname/' * (2)使用 mmv 命令:mmv 命令可以根据规则重命名文件,使用类似正则表达式的语法。例如,将所有以 oldname 开头的文件名改为 newname 开头,使用如下命令: mmv 'oldname*' 'newname#1'
Linux shell使用nc命令验证IP 端口是否可以连通。 nc -v -w 5 -z 192.168.1.114 2182 &> /dev/null echo $? 输出结果 1 表示不通,0 表示通。 下面是 nc 命令的一些参数说明: -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP地址,而......
tar 是 Linux 中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以通过解包把一个打包的大文件恢复成一系列文件。 1. 打包文件 tar -cvf 打包文件.tar 被打包的文件/路径... 2. 解包文件 tar -xvf 打包文件.tar tar选项说明: c 生成档案文件,创建打包文件 x 解开档案文件 v 列出归档解档的详细过程,显示进度 f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项背后 注意:f选项必须放在......
Linux指定某个用户执行某个程序,例如现在需要指定使用 www 用户运行 /home/yhm/v2ray 这个程序,则: sudo -H -u www /home/yhm/v2ray sudo 参数 -u -H 说明如下: -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码) -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管......
mv 移动目录内的文件默认是不移动隐藏文件的,例如: #将当前目录下的 backup 目录内的所有文件移动到当前目录下的 phpernote.com 目录内 mv ./backup/* ./phpernote.com 该命令能将 backup 目录内的文件移动到 phpernote.com 目录内,但是却没有将 backup 目录内的隐藏文件移过去。 这个时候需要继续执行: mv ./backup/.[^.]* ./phpernote.com 另外也可以直接一步到位的输入如下命令: mv /backup/{.,}* /phpernote.com
一、两个文件的交集、并集(前提条件:每个文件中不得有重复行) 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq > file3 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 | sort | uniq -d > file3 3. 删除交集,留下其他的行 cat file1 file2 | sort | uniq -u > file3 二、两个文件合并 1. 一个文件在上,一个文件在下 cat file1 file2 > file3 2. 一......
邮件常常是Linux下监控报警手段之一。Linux下的mail命令可以方便,快速的完成发送邮件。下面以CentOS为例。 1、安装 [root@vm8028 ~]# mail -bash: mail: command not found [root@vm8028 ~]# yum install mailx Loaded plugins: fastestmirror Determining fastest mirrors * base: mirrors.btte.net * extras: mirrors.btte.net * updates: mirrors.btte.net base ......
假设现在有一个「php-cgi」的进程 ,进程id为「25282」。现在想要查询该进程占用的内存大小。Linux命令行。 下有很多的工具进行查看,现总结常见的几种方式: 1. 通过进程的 status [root@web3_u ~]# cat /proc/25282/status Name: php-cgi State: S (sleeping) Tgid: 25282 Pid: 25282 PPid: 27187 TracerPid: 0 Uid: 99 99 99 99 Gid: 99 99 99 99 Utrace: 0 FDSize: 256 G......
sudo 免密设置方法,现在假设新增了一个用户 www,该用户在执行某些命令的时候需要 sudo 权限,默认的情况下,会提示要输入密码,通过下面的设置就不用每次都输入密码了。 先将 /etc/sudoers 文件设置为可写: sudo chmod u+w /etc/sudoers #注意:此处不要写成 sudo chmod a+w /etc/sudoers 在 /etc/sudoers 文件里面增加如下代码: www ALL=(ALL)NOPASSWD: ALL #将用户名为 www 的用户设置为 sudo 免密码输入 然后将该......
Linux 查看内存占用排行的几种方法总结。 查看整体内存使用情况 free -h (1)通过 top 命令,Shift + M 来按照 %MEM 排序,Shift + p 按照 %CPU 排序。 (2)通过 ps + head + sort 命令排序 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head #查看内存使用前十名
记录一次 Linux ubuntu 上安装 zephir的过程。 git clone https://github.com/zephir-lang/zephir.git composer install 过程报错,说要先执行 composer update,执行 composer update 又报错,说缺乏 gmp 扩展,又去安装 gmp 扩展。 cd /usr/local/src/php-7.4/ext/gmp/ phpize ./configure --with-php-config=/usr/bin/php-config7.4 --with-gmp make make install echo 'extension=gmp.so' >> /etc/php/7.4/cli/php.ini 安......
Linux tar 压缩,解压缩命令使用备忘。 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: ......
Linux 下修改 ls 命令显示的时间格式,两种方式。 1.修改ls显示格式 ls -l --time-style '+%Y-%m-%d %H:%M:%S' drwxr-x--- 2 yhm yhm 4096 2019-01-03 21:08:45 phpernote 2.修改配置到bash_profile vi ~/.bash_profile export TIME_STYLE='+%Y/%m/%d %H:%M:%S' cat ~/.bash_profile | grep TIME source ~/.bash_profile
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 pull; git checkout $1; git pull;}; func' alias gcb='func() { git checkout -b $1; git push --set-upstream origin $1;}; func' #git add git commit git push 三步操作合成一步操作 functi......
curl 命令如何获取 http 请求的响应消息头信息? 主要有两种方式: (1) 通过 --head 选项只返回消息头,等价于 -I,示例如下: [demo@Linux ~]$ curl --head http://www.phpernote.com/ curl --head www.phpernote.com 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: https://www.phpernote.com/ (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/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) { ......