GNU sed

Linux下打开超大文件的方法

泪湿孤枕 提交于 2020-08-09 13:27:26
在Linux下用VIM打开大小几个G、甚至几十个G的文件时,是非常慢的。 这时,我们可以利用下面的方法分割文件,然后再打开。 1 查看文件的前多少行 head -10000 /var/lib/mysql/slowquery.log > temp.log 上面命令的意思是:把slowquery.log文件前10000行的数据写入到temp.log文件中。 2 查看文件的后多少行 tail -10000 /var/lib/mysql/slowquery.log > temp.log 上面命令的意思是:把slowquery.log文件后10000行的数据写入到temp.log文件中。 3 查看文件的几行到几行 sed -n '10,10000p' /var/lib/mysql/slowquery.log > temp.log 上面命令的意思是:把slowquery.log文件第10到10000行的数据写入到temp.log文件中。 来源: oschina 链接: https://my.oschina.net/shunshun/blog/4410899

Linux文本处理详细教程

ぐ巨炮叔叔 提交于 2020-08-09 12:13:27
1. 文本处理 本节将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是常用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧; 1.1. find 文件查找 查找txt和pdf文件: find . \( -name "*.txt" -o -name "*.pdf" \) -print 正则方式查找.txt和pdf: find . -regex ".*\(\.txt|\.pdf\)$" -iregex: 忽略大小写的正则 否定参数 ,查找所有非txt文本: find . ! -name "*.txt" -print 指定搜索深度,打印出当前目录的文件(深度为1): find . -maxdepth 1 -type f 定制搜索 按类型搜索 find . -type d -print //只列出所有目录 -type f 文件 / l 符号链接 / d 目录 find支持的文件检索类型可以区分普通文件和符号链接、目录等,但是二进制文件和文本文件无法直接通过find的类型区分出来; file命令可以检查文件具体类型(二进制或文本): $file redis-cli # 二进制文件 redis

第五周

自古美人都是妖i 提交于 2020-08-09 11:38:22
1、查找/etc目录下大于1M且类型为普通文件的所有文件 2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。 3、利用sed 取出ifconfig命令中本机的IPv4地址 4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 5、处理/etc/fstab路径,使用sed命令取出其目录名和基名 来源: oschina 链接: https://my.oschina.net/u/4365856/blog/4358835

Linux下打包发布Qt应用程序

余生颓废 提交于 2020-08-09 11:35:25
https://blog.csdn.net/qq_27350133/article/details/83445258 Linux下打包发布Qt应用程序 Linux下打包发布Qt应用程序 1. 编译文件 2.巧用脚本文件 新建文件 添加脚本 执行脚本 打包发布 Linux下打包发布Qt应用程序 Linux下使用Qt进行开发的程序,如果想要在其他搭载Linux系统的主机上运行则需要将要发布的Qt程序依赖的一些动态链接库一起打包。具体做法如下: 1. 编译文件 在Qt中使用release的方式编译出可执行文件,然后新建一个文件夹,将可执行文件拷贝进去备用。 2.巧用脚本文件 这里以Server可执行文件为例。 在新建的文件夹下,新建两个脚本文件: 新建文件 pack.sh Server.sh 这个脚本文件名必须和要发布的程序名字相同,所以为 Server 新建文件后,文件夹包含内容如下: 添加脚本 向pack.sh文件里添加以下内容: #!/bin/sh exe="Server" #你需要发布的程序名称 des="/home/mrzhong/server" #创建文件夹的位置 deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }') cp $deplist $des 1 2 3 4 5 然后向Server

分享一个底层自动部署系统

戏子无情 提交于 2020-08-09 11:10:16
1: 上报安装进度 curl http://100.71.70.47:8083/api/osinstall/v1/report/deviceInstallLog -X POST -d '{"Sn":"xxxxx","Title":"dwasd","InstallProgre":0.4}' 2: 生成MAC 文件 curl http://100.71.70.47:8083/api/osinstall/v1/device/createIpxeConfig -X POST -d '{"Sn":"xxxxx","OsVersion":"bms_centos7.5-x86_64_Base"}' 3: 增加机器 curl http://100.71.70.47:8083/api/osinstall/v1/machine/newadd -X POST -d '{"Sn":"xxxxx","Mac":"68:05:CA:A2:5F:B8,68:05:CA:A2:5F:B9"}' 4: 查询机器 curl http://100.71.70.47:8083/api/osinstall/v1/machine/newlist -X POST -d '{"Sn":"xxxxx"}' 5: 删除配置文件 curl http://100.71.70.47:8083/api/osinstall/v1/device

将分段视频合并

江枫思渺然 提交于 2020-08-08 12:29:08
环境 操作系统:Ubuntu Kylin 优麒麟 20.04 LTS 适用架构:AMD64、ARM64(鲲鹏、飞腾) 方法 将下载的视频分片段放入同一个文件夹。按片段排序的文件名汇入list.txt。 ls qq_video*.mp4 | sed "s/^/file '&/g" | sed "s/$/&'/g" > list.txt 内容示范: file 'qq_video_1_2020_7_9.mp4' file 'qq_video_2_2020_7_9.mp4' file 'qq_video_3_2020_7_9.mp4' 使用 ffmpeg 命令,按 list.txt 中的文件顺序合并。 sudo ffmpeg -f concat -i list.txt -c copy output.mp4 来源: oschina 链接: https://my.oschina.net/chipo/blog/4348031

centos7搭建redis集群

陌路散爱 提交于 2020-08-08 09:39:26
搭建环境 系统: centos 7.4 服务器金山云 安装ruby环境 [root@jsy-bj-test00 ~]# yum install -y ruby rubygems 复制6份redis服务 [work@jsy-bj-test00 ~]$ cp -rp redis redis1 [work@jsy-bj-test00 ~]$ cp -rp redis redis2 [work@jsy-bj-test00 ~]$ cp -rp redis redis3 redis配置文件修改 #六个节点需做如下更改 [work@jsy-bj-test00 ~]$ vim redis1/etc/redis.conf [work@jsy-bj-test00 ~]$ sed -i 's/port 6379/port 6380/g' redis5/etc/redis.conf #修改端口 port 6380 #打开注释,开启集群模式 cluster-enabled yes #集群的配置文件 cluster-config-file nodes-6380.conf [work@jsy-bj-test00 ~]$ sed -i 's/cluster-config-file nodes-6379.conf/cluster-config-file nodes-6380.conf/g' redis5/etc

CentOS-6.5系统基础优化篇,附带优化脚本

岁酱吖の 提交于 2020-08-08 07:21:41
优化内容: (1.设置history历史记录 (2.添加普通用户,设置sudo权限 (3.禁止root远程用户登录 (4.修改远程端口 (5.精简开机启动服务器 (6.关闭selinux (7.配置iptables (8.修改最大连接数 ulimit (9.禁止使用Ctrl+Alt+Del快捷键重启服务器 (10.修改默认DNS (11.安装必要软件,更新yum源 [epel源] (12.更新内核和软件到最新版本 (13.优化内核参数 [根据实际情况调整] (14.去除 上次登录的信息 (15.关闭开机显示内核信息 1.设置history历史记录 echo ' export HISTFILE=$HOME/.bash_history export HISTSIZE=2000 export HISTFILESIZE=2000 export HISTTIMEFORMAT="%F %T `whoami` " export PROMPT_COMMAND="history -a; history -c; history -r;" shopt -s histappend typeset -r PROMPT_COMMAND typeset -r HISTTIMEFORMAT ' > /etc/profile.d/history.sh source /etc/profile 2.添加普通用户

Hacker News 简讯 2020-07-13

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-08 05:12:18
更新时间: 2020-07-13 23:00 Show HN: Primo – all-in-one IDE, CMS, component library, static site generator - (primo.af) 展示HN:Primo–集成开发环境、内容管理系统、组件库、静态站点生成器 得分:169 | 评论:55 Google to Invest $10B in India - (techcrunch.com) 谷歌将在印度投资100亿美元 得分:260 | 评论:182 Libtorrent adds support for the WebTorrent protocol - (feross.org) Libtorrent增加了对WebTorrent协议的支持 得分:130 | 评论:48 Data Definition and Code Generation in Tcl (2014) [pdf] - (nasa.gov) Tcl中的数据定义和代码生成(2014) [pdf] 得分:17 | 评论:2 The Most Remarkable Legacy System I Have Seen - (thehftguy.com) 我见过的最出色的遗留系统 得分:239 | 评论:82 The greatest privilege we never talk

使用 utmpdump 监控 CentOS 用户登录历史

橙三吉。 提交于 2020-08-07 19:28:39
保留、维护和分析日志(如某个特定时期内发生过的,或正在发生的帐号事件),是Linux系统管理员最基础和最重要的任务之一。对于用户管理,检查用户的登入和登出日志(不管是失败的,还是成功的)可以让我们对任何潜在的安全隐患或未经授权使用系统的情况保持警惕。例如,工作时间之外或放假期间的来自未知IP地址或帐号的远程登录应当发出红色警报。 在 CentOS 系统上,用户登录历史存储在以下这些文件中: /var/run/utmp(用于记录当前打开的会话)被who和w工具用来记录当前有谁登录以及他们正在做什么,而uptime用来记录系统启动时间。 /var/log/wtmp (用于存储系统连接历史记录)被last工具用来记录最后登录的用户的列表。 /var/log/btmp(记录失败的登录尝试)被lastb工具用来记录最后失败的登录尝试的列表。 在本文中,我将介绍如何使用utmpdump,这个小程序来自sysvinit-tools包,可以用于转储二进制日志文件到文本格式的文件以便检查。此工具默认在CentOS 6和7系列上可用。utmpdump收集到的信息比先前提到过的工具的输出要更全面,这让它成为一个胜任该工作的很不错的工具。除此之外,utmpdump可以用于修改utmp或wtmp。如果你想要修复二进制日志中的任何损坏条目,它会很有用(LCTT 译注:我怎么觉得这像是做坏事的前奏?)。