Shell/Bash script 学习笔记

上一篇写 Bash 的文章 ,只是介绍了 terminal 下面的一些快捷键,并没有对 Bash 和 Shell 本身展开多少的介绍,因此正好趁此机会。 sh(或者叫做 Shell Command Language), 是由 POSIX 标准 定义的一门语言。 它有很多实现(ksh88,dash…)等等, bash 同样可以认为是 sh 的一个实现。1 因为 sh 是一个规范,而不是实现,所以在大部分的 POSIX 系统上 /bin/sh 是一个 symlink。比如在 Debian/Ubtuntu 中, sh 便指向 dash. bash 在创造 Read more ...

2017-03-01 linux , shell , bash , sh , zsh

在 Ubuntu/Mint 下快速创建桌面快捷方式

Mint 下有些应用下载之后,解压就能使用,但是这样每次启动该应用时就需要到这个目录中来启动,没有可快捷方式可以直接在桌面上,或者启动器中快速启动。 Mint/Ubuntu 中,gnome 桌面的快捷方式都存在 ~/.local/share/applications 目录下。 系统中还有另外一个目录 /usr/share/applications 也会存放桌面快捷方式。 使用 gnome-desktop-item-edit ~/.local/share/applications --create-new 即可创建新的快捷方式。如果该命令不存在记得安装 Read more ...


Linux Mint 下使用 electron wechat

在 Ubuntu 下明明非常好用的 sudo snap install electronic-wechat 到了 Mint 下竟然就不管用了,出现了如下错误 cannot perform readlinkat() on the mount namespace file descriptor of the init process: Permission denied 无奈只能寻求另外的方法,手动编译安装果然可以。看 electronic-wechat 的 GitHub 代码知道该项目使用 electron。 安装 nodejs ,然后安装 gi Read more ...

2017-02-28 wechat , linux , mint , npm , nodejs , node

使用 mitmproxy 抓包

在之前的文章 Android 抓包 中介绍过 Mac 下 [[Charles]] 进行客户端的抓包,那篇文章中最后介绍其他工具的时候提到了 [[mitmproxy]] 这样一款命令行工具,最近使用来看,也是非常强大的工具。这里就简单记录一下。 mitmproxy 是用 Python 和 C 开发的一款支持 HTTP(S) 的中间人代理软件(man-in-the-middle proxy),不同于 Fiddler2,burpsuite 等类似功能工具,mitmproxy 可在终端下运行并且可以用来拦截、修改、重放和保存 HTTP/HTTPS 请求。mit Read more ...

2017-02-27 mitmproxy , android , proxy , linux , http , debug , reverse

我的一加 3 手机设置

最近屏幕摔碎了一次,维修过程中无奈抹掉了所有数据,于是只能从头开始开搞。这里只是简单的记录一下,以免哪一天又有同样的悲剧发生,当然不可能再有下次了。 刷回原厂设置 对于 Nexus 机型来说,Google 都提供了原厂镜像,一加同样也是,可以从官网下载 ,不过亲身经历一加官网的好多链接都挂掉了,直接从 xda 找反而要方便许多。官网的链接使用迅雷下载还遭遇了掉包,所以对于刷机包,一定要验证 md5,一定一定。 刷 Oxygen OS (氧 OS) , 有很多方法,如果使用的 stock recovery ,可以使用 adb sideload ful Read more ...

2017-02-26 oneplus , android , xposed , magisk , root

终端使用 sock5 代理

为了解决 Linux Mint/Ubuntu 下安装 Dropbox 的问题,而认识了 proxychains。proxychains 是 Linux 下的代理工具,他允许其他程序通过其代理上网,支持 HTTP, SOCKS4 和 SOCKS5 类型的代理服务器,并可配置多个代理方式。 一直使用的 Dropbox 因为其被屏蔽,所以安装及使用必须通过代理,而 Shadowsocks 作为天然的 socks5 代理成为了最佳选择,在安装 Dropbox(Linux) 之后,设置中可以设置 Socks5 代理。于是剩下的问题便是,如何安装 Dropbox Read more ...

2017-02-25 Socks5 , Linux , Proxy , Ternimal

fastboot and adb 工具

早之前曾经写过过一篇文章 总结 adb 的常用命令,这次刷机也复习了一些命令,这里再补充一下刷机中必不可少的 fastboot 命令。 就像之前 adb 中说过的那样, adb 用来向开机的 Android 设备发送指令,而 fastboot 则是向开机的 Android bootloader 来发送指令,因此在刷机过程中,如果手机重启进入 bootloader 基本之后使用的 命令都离不开 fastboot。比如在安装第三方 recovery 时,要用到 fastboot flash recovery recovery.img 这样的指令。虽然不能依 Read more ...

2017-02-25 Android , Fastboot , adb

Android 反编译

本文介绍 Android 反编译工具,只介绍工具名字及工具简单使用,详细开来再具体讲吧。本文主要包含工具的作用,工作的简单用法,以及反编译的基本步骤。 概述 反编译 Android APK 主要需要依靠如下几个工具: apktool:A tool for reverse engineering Android apk files 查看 APK 包中的 AndroidManifest.xml 等 XML 资源文件 apk 本质上是一种压缩包,可以通过解压的方式获得资源文件,但是如果直接解压 manifest 和 XML 都是 Read more ...

2017-02-22 Android , Java , Apktook , Google

HBase 如何设计 Table Schema

我们都知道 HBase 的基本结构由 rowkey,column, timestamp 组成。列存储数据不同于关系型数据库,MySQL 一旦建表,需要修改表结构时则需要执行对应的修改语句,而 HBase 在建完表之后,对于列的增加则不需要修改建表语句,但这并不意味着 HBase 的建表就可以随意建。 首先来看看 HBase 的结构 Table, 表,HBase 按照表来组织数据 Row, 行,Table 可以有多 Row,Table 按照 RowKey 进行索引 Column Family,列族,一行可以分为多个列族,列族需要在建表 S Read more ...


Docker 使用 nginx-proxy 来架设多个网站

我们知道如果使用 Nginx 可以使用 Virtual HOST 来 HOST 多个域名下的网站到同一台机器,那么如果使用 Docker 架设了一个 WordPress,还想用 Docker 架设一个新的网站,那么该怎么办呢? 有一种解决办法就是使用 Nginx 转发请求,比如一个网站监听了 81 端口,一个网站监听了 82 端口,那么使用 Nginx 的代理功能,将对应的流量转发给对应的服务器处理即可。因此 nginx-proxy 这个镜像的作用就如上面所述,让我们将不同的流量转发给不同的 Docker 容器进行处理。 启动 nginx-proxy Read more ...

2017-02-20 docker , nginx , proxy , dockerfile

最近文章

  • Novita AI 面向 AI 开发者的 GPU 云平台 在如今 AI 时代,个人开发者和企业都想要高效,经济,且容易部署的 AI 模型,尤其是 DeepSeek 横空出世之后使得个人在部署使用私有 AI 模型方面变得异常简单,但问题随之出现,普通人的电脑无法带动 DeepSeek 发布的更消耗内存更消耗计算能力的模型,普通用户也很难去给自己的每台电脑都配上英伟达 4090,更不用说去管理 GPU 集群,而普通开发者如果想要将自己的模型部署到云服务上也非常棘手,而这就是今天我要介绍的 Novita.AI 要解决的问题。
  • Zig 语言编写的开源终端 Ghostty 在 Linux 上我使用 [[Guake]],到后来换成 macOS 之后使用 Kitty,直到前段时间更换成 Warp,但是没想到这几天又发现一款不错的终端 Ghostty。没查不知道,但是一查之后才发现 Ghostty 背后的作者的故事是多么精彩,并且 Ghostty 使用的 Zig 语言也是我第一次听说。
  • 关于在 Docker 容器中如何优雅关闭 Java 应用的记录 这两天遇到一个和 Docker 运行相关的问题,我们使用 Azure App Service 来运行服务,但是每次重启服务的时候,发现不会出发 Javalin 的 stop,感觉 Java 进程没有接受到 Docker 容器停机的信号,然后就被系统杀死了,所以就这个问题,仔细地研究了一下 Docker 运行以及如何优雅地关闭 Docker 容器中的 Java 进程。
  • IBKR 使用教程系列之共同基金 ETF Replicator 这两天在 IBKR 上买了一点按月分红的 ETF,然后在邮箱中就收到了 IBKR 发过来的建议邮件,说 IB 还提供了一个共同基金的工具可以来寻找类似表现,但是费用更低的其他 ETF,这就是一款 ETF 发掘工具。
  • Google Stitch:AI 驱动的 UI 设计工具让创意快速成为现实 在昨天 2025 年的 Google I/O 大会上 Google 一口气发布了超多的 AI 工具集,其中包括了一款叫做 Stitch 的 AI 工具,它可以快速帮助设计师和开发者将 UI 设计理念变成可实际使用的设计稿,生成设计稿之后可以直接导入到 Figma,或者直接导出成前端代码。所以本文就具体来介绍一下 Stitch。