220225-巧用NC实现文件传输

之前在服务器上拷贝文件时,要么使用scp, 要么就是上传到ftp服务器,然后再需要使用的服务器上重新下载,虽然这两种方式也没啥毛病,但是缺陷也比较明显

  • scp: 要求授权验证
  • ftp: 需要一个第三方的存储系统,用完之后如果不删除的话这个文件就一直在那

接下来介绍下使用ncat(即nc)来实现文件拷贝

210702-curl 耗时统计脚本小记

记录一下curl访问url请求的耗时情况

1
curl 'https://blog.hhui.top/hexblog/about/' -w '%{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%'

参数说明:

  • time_namelookup:DNS 解析域名耗时
  • time_connect:client和server端建立TCP 连接的时间
  • time_starttransfer:从client发出请求;到web的server 响应第一个字节的时间
  • time_total:client发出请求;到web的server发送会所有的相应数据的时间

建立TCP连接到server返回client第一个字节的时间:time_starttransfer – time_connect = s

server把响应数据发送给client的时间:time_total – time_starttransfer = s

210203-tmux 批量操作

借助tmux,可以非常方便的实现同时操作多个面板

1
2
3
4
5
6
7
8
9
10
11
12
# 启用
tmux

# 开面板,上下、左右
ctrl + b: %
ctrl + b: "

# 开启批量操作
ctrl + b -> :set synchronize-panes on

# 关闭面板
ctrl + b: x

210125-tmux 快捷键

tmux 终端复用器,最简单质朴的需求就是多窗格,会话复用,本文简单记录一下常用的快捷键

201112-Shell 文件迭代遍历

文件迭代遍历,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function read_file() {
for file in `ls -a $1`
do
if [ -d $1"/"$file ];then
if [[ $file != '.' && $file != '..' ]];then
read_file $1"/"$file
fi
else
echo $1"/"$file
up_file_name=$1"/"$file
echo $up_file_name
fi
done
}

200728-Centos hostname修改

centos 6 修改方式

1
2
3
4
# 修改hostname,立即生效
hostname new-hostname
# 查看hostanme
hostname

centos 7 修改方式

1
2
3
4
# 修改hostname,立即生效
hostnamectl set-hostname new-hostname
# 查看hostname
hostname

200709-CURL文件上传

使用curl进行文件上传,语法如下

1
curl -f '文件名=@文件地址' url

200703-grep 匹配到二进制文件

直接使用grep 发现一个奇怪的问题,居然提示

1
2
$ grep 'error' cic.log
匹配到二进制文件 cic.log

grep如果碰到\000 NUL字符,就会认为文件是二进制文件。必须加上-a或–text选项强制让grep认为是文本文件才可以看到正常的结果

因此解决方案是:

1
2
3
$ grep 'error' cic.log --text
# 或者如下
$ grep 'error' cic.log --a

200426-mac 刷新dns

mac 快速刷新dns缓存命令

1
sudo killall -HUP mDNSResponder

200421-Curl 代理访问方式小结

记录一下curl通过代理访问目标网站的几种姿势

原文请参考: How to use curl command with proxy username/password on Linux/ Unix

语法:

1
2
3
4
curl -x '协议://[用户名:密码@]ip[:端口号]' url

curl -x http://[user:password@]proxyhost[:port]/ url
curl -x socks5://[user:password@]proxyhost[:port]/ url

190809-Centos用户无法切换问题记录

使用influxdb时,需要执行一个命令时,要求切换到influxdb的用户下,发现通过 su influxdb 居然切不过去,特此记录一下

190212-linux线程数、进程查询

ssh登录远程服务,忽然提示su: failed to execute /bin/bash: 资源暂时不可用,然后通过root账号登录服务器没有问题,但是使用su切换用户时,依然失败,提示上面的错误,搜索一下可能原因是线程数沾满,杀掉一些占用大量线程的进程即可;然后记录下linux下线程数的相关操作

190124-查看进程tcp连接情况

如何查看一个进程的tcp连接情况?

1
lsof -p 进程号 -nP | grep TCP

190121-服务器常用shell命令小结

记录一下服务器开发平时常用的shell命令,帮助高效发现和解决问题

190115-Shell目录下文件统计

文件夹下文件的统计,通常用的是wc来做,下面简单小结一下各种case

181222-Centos SSH免密登录配置不生效问题fix

centos添加ssh免密配置,结果发现登录时,依然要求设置密码,记录一下解决过程与最终的方案

181220-Shell-目录遍历获取指定的文件

遍历目录,获取需要的文件

直接贴对应的实现脚本

1
2
3
4
5
6
cd /home
for dir in $(ls)
do
# 如果是目录,则打印目录名
[[ -d ${dir} ]] && echo ${dir}
done

181219-centos配置开机后启动脚本

配置开机后执行脚本

配置相对简单,添加一个执行命令即可

1
2
3
4
vim /etc/rc.d/rc.local

# 在文件最后添加
sh /home/yihui/xxx.sh

执行脚本,添加上可执行的权限即可

180925-shell获取系统当前时间并格式化

shell命令获取当前系统时间并格式化的方式记录

1
2
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "${time}"

180917-Shell命令之xargs使用小结

Shell命令之xargs使用小结

常见用于管道的处理中,拿到前面的数据进行后续的处理;

xargs 以空白字符或换行作为分割,默认使用echo输出结果,且会忽略空白行,官方说明如下

xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines, and executes the command (default is /bin/echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.

180906-Centos网络带宽监控小结

Centos网络带宽监控小结

查看机器的网络流入流出带宽,一个简单的方式就是利用 iftop ,下面简单的记录下使用姿势

180716-Centos时区设置

使用timedatectl命令同步时间并设置时区

I. timedatactl命令

1. 使用帮助

1
timedatectl -h

2. 命令示例

2.1 显示系统的当前时间和日期

1
2
3
timedatectl
# timedatectl status
# 两条命令效果等同

2.2 设置日期与时间

1
2
3
timedatectl set-time "YYYY-MM-DD HH:MM:SS"
timedatectl set-time "YYYY-MM-DD"
timedatectl set-time "HH:MM:SS"

2.3 查看所有可用的时区

1
2
3
timedatectl list-timezones
# 亚洲
timedatectl list-timezones | grep -E "Asia/S.*"

2.4.设置时区

1
timedatectl set-timezone Asia/Shanghai

2.5.设置硬件时间

1
2
3
4
# 硬件时间默认为UTC
timedatectl set-local-rtc 1
# hwclock --systohc --localtime
# 两条命令效果等同

2.6.启用时间同步

1
2
timedatectl set-ntp yes
# yes或no; 1或0也可以

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

QrCode

180707-ssh远程免密登录配置

logo

通过ssh免密方式登录远程服务器, 配置比较简单,就是讲自己的rsa公钥放在远端服务器的授权文件中

1
vim ~/.ssh/authorized_keys

180703-netstat常用命令学习小结

logo

平常工作中,经常会出现的一个case就是查询端口号占用情况,一般在linux下使用netstat,在mac下则使用lsof;本篇则记录下Linux之netstat命令的使用

最常用的一个查看端口号占用命令:

1
netstat -alnp | grep port

180605-Linux下Crontab实现定时任务

Linux下Crontab实现定时任务

基于Hexo搭建的个人博客,是一种静态博客页面,每次新增博文或者修改,都需要重新的编译并发布到Github,这样操作就有点蛋疼了,一个想法就自然而然的来了,能不能每天2点,自动的build一下,然后上传

linux的Crontab正好可以支持,下面简单的记录下相关知识点

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×