GeekHub

GeekHub

ssh远程使用vim无法复制文本的解决方案

当我们使用ssh远程访问时,使用vim查看文本时,使用鼠标选中文本后,右键菜单中可能会没有复制选项,使用ctrl+shift+c及ctrl+c均无法复制选中文本。 解决方案为: 使用vim访问文本后,输入:进入命令模式,再输入set mouse=c,回车,这时候再选中文本右键菜单就有复制选项了,复制快捷键也可以正常工作。

更多
GeekHub

Linux Shell获取文件读写状态

下面做个测试: 首先创建一个不断写入被写入的文件,使用dd命令从/dev/random不断读取1个字节并写入testfile_writing,后台运行: 然后创建一个空文件作为对比: 查看对文件进行读写操作的方法有两个: 可以看到,通过上述两个方式,针对正在被读写的文件会输出进程PID及用户,而未被读写的数据无任何输出(见下图): 此外在上图中,可以看到使用fuser -k选项可一键杀死正在读写文

更多
GeekHub

奇技淫巧 | 还有root删不掉的文件?

众所周知,root用户是最高权限的用户,那么为什么有的文件root也删不掉呢? 可以看到上图中的文件夹,权限是777,不属于任何用户和用户组,但是无论使用普通用户还是sudo还是root都无法对它进行删除操作。 这里需要介绍一下chattr和lsattr命令: chattr是比chmod更加强大的权限管理工具,而lsattr是查看文件/文件夹属性(attribute)的命令,还是刚才这个案例: 可

更多
GeekHub

ssh建立socks4代理

假设这样一个场景: 一台工控机有两张网卡,一张网卡IP地址为192.168.1.1,另一张网卡IP地址为192.168.2.1,两个网段互相不通。 如果想让一台192.168.1.x网段的笔记本通过工控机访问到192.168.2.x网段的服务,可以通过建立socket代理的方式实现,利用ssh建立简单的socket4代理,只需要一步,在笔记本上执行: 其中ryan为工控机用户,8888为指定的so

更多
GeekHub

Linux loop设备简介

引用自wikipedia: /dev/loop(或称vnd (vnode disk)、lofi(循环文件接口))在类Unix系统中是一种伪设备,这种设备使得文件可以如同块设备一般被访问。在使用之前,循环设备必须与现存文件系统上的文件相关联。这种关联将提供给用户一个应用程序接口,接口将允许文件视为块特殊文件(参见设备文件系统)使用。因此,如果文件中包含一个完整的文件系统,那么这个文件就能如同磁盘设备

更多
GeekHub

Shell脚本异常处理

首先我们来做一个简单试验: 创建一个test.sh脚本,内容如下 给test.sh脚本运行权限 ,执行脚本(执行路径下无abc文件),可以看到终端提示rm失败,但是还是创建了abc文件: 将test.sh修改为如下: 执行后可以看到终端提示rm失败,但是并没有创建abc文件: 这是因为当bash加上-e选项时,shell脚本中命令一旦执行失败,则脚本立即退出,不再执行后续命令。 对于大多数Shel

更多
GeekHub

ffmpeg 视频转图片

source.mp4 是源视频,%d.png表示以整数递增的命名规则命名输出png图片。 -ss表示起始时间,-t表示持续时间,上例代表从视频的第1秒 开始,转换6秒的视频为图片。 -s表示指定输出图片的分辨率。 -r表示抽帧帧率,上例表示以每秒10帧的采样率从视频中提取图片。 注意: 视频转png图片占用空间会激增,举个例子,我将66MB的H264编码的8K视频通过ffmpeg转换为png图片后

更多