GeekHub

GeekHub

记一次Linux系统目录优化(bind目录)

先说一下背景,目前用的主机是一台8代的厚版Intel NUC,装了一块M.2的SSD和一块SATA的机械盘,系统是Deepin 20,当时安装系统时考虑将SSD作为系统盘,机械盘作为数据盘,Deepin安装时有一个选项可以傻瓜分配空间(那个选项忘记叫啥了,其实是个坑,后面慢慢说),一键将SSD分区为系统盘和交换空间,机械盘作为数据盘。 但实际使用起来会发现系统经常会在打开网页、启动微信时出现卡顿,

更多
GeekHub

Shell定时执行命令脚本

分享一个自己写的简单shell定时执行命令的脚本: 通过将格式化时间转为时间戳,然后对当前时间戳和目标时间戳对比大小判断时间是否达到。 在此简单介绍一下常用的date命令格式化时间和时间戳互转的命令: (时间戳指的是从格林威治时间1970年1月1日0点0分0秒开始的累计时间)

更多
GeekHub

Ubuntu 22.04下使用ssh报错Permission denied (publickey)解决方法(之一)

直接说结论,Ubuntu 22.04的默认openssh版本为8.9版本,如果本机私钥使用RSA算法生成,ssh会无法验证私钥,解决方案: 排查方法,ssh登录时加上-v,会输出详细的debug信息,如果使用RSA算法生成私钥,可以在debug信息中看到如下信息: 原因: RSA算法存在一定安全隐患,因此在OpenSSH 8.2版本后被弃用 参考: OpenSSH to deprecate SHA

更多
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建立socks代理

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

更多
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

更多