screen操作

screen 命令 GNU Screen 是一个全屏窗口管理器,它将一个物理终端复用成多个进程,每个进程都有一个独立的交互式终端。Screen 允许用户断开和重新连接到会话,非常适合远程服务器操作和长时间运行的进程。 基本概念 会话 (Session):Screen 的一个运行实例 窗口 (Window):会话中的一个虚拟终端 区域 (Region):分割显示的区域,每个区域显示一个窗口 基本语法 启动 Screen # 启动一个新的 Screen 会话 screen # 启动一个命名的 Screen 会话 screen -S session_name # 启动时指定 shell screen -S session_name /bin/zsh screen -S session_name /bin/bash screen -S session_name /bin/fish # 启动后立即执行命令 screen command_to_run # 启动指定 shell 并执行命令 screen /bin/bash -c "command_to_run" # 查看正在运行的 Screen 会话 screen -ls Screen 内部快捷键 所有 Screen 快捷键都以 Ctrl + a 开始(称为前缀键): ...

十一月 9, 2025 · 3 分钟 · RanFR

Claude Code配置

Claude Code 配置 原始的配置说明可以参考Claude Code 设置。 模型配置 配置 Claude Code 调用智谱大模型服务(基于 API)。 在 Claude Code 的全局配置文件~/.claude/settings.json中,输入以下内容: { "env": { "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic", "ANTHROPIC_AUTH_TOKEN": "your_zhipu_api", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air", "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.5", "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6" } } 权限配置 配置 Claude Code 禁止读取某个文件夹,例如 build 文件夹: { "permissions": { "deny": ["Read(./build/**)"] } }

十月 14, 2025 · 1 分钟 · RanFR

make操作

make 命令 GNU Make 是一个工具,它控制从程序的源文件生成程序的可执行文件和其他非源文件。 基础用法 在使用 CMake 工具获得编译文件后,使用 make 即可编译为可执行文件。 通过控制-j参数,可以指定编译线程数。例如,使用 4 线程编译:make -j 4。 安装 基础用法的 make 可以在当前文件夹生成可执行文件以及相关内容,如果希望安装到指定区域,或者安装到系统环境中,需要执行make install命令。 与 Linux 系统的tee命令结合,可以将make install的内容记录到文档中,如下所示: make install 2>&1 | tee installation_record.txt 即为将错误输出定向为标准输出,并记录到 installation_record.txt 文件中。

十月 9, 2025 · 1 分钟 · RanFR

rsync操作

rsync 命令 rsync 是一个开源实用程序,提供快速增量文件传输。rsync 在 GNU 通用公共许可证下免费提供,目前由 Andrew Tridgell 维护。rsync 官网地址。 上传 基础用法 rsync Folder name@ip:place 需要注意,针对 Folder,如果使用语法Folder,表示将整个 Folder 进行上传,如果使用Folder/,则表示将 Folder 下的文件进行上传。 额外命令 有一些需要注意的命令 -a,表示归档模式,会同步传输用户组、符号链接、时间戳等等信息。 -v,表示详细(verbose)模式。 -r,表示递归模式,会将文件夹以及文件夹内的文件递归传输。 -z,表示压缩模式,会在传输过程中压缩文件进行传输。 --ignore-existing,会在传输过程中跳过更新已经存在的文件。 --progress,会在传输过程中显示进度。 --bwlimit=RATE,在传输过程中限制带宽最大为 RATE KB/s。 --delete,删除额外的文件,保证目标文件与当前上传的文件结构完全相同。 下载 基础用法 rsync name@ip:Folder place 同时注意,Folder 后是否加/,决定了是否上传 Folder 文件夹或者文件夹下的文件。 同时,额外命令参考上传部分。

九月 2, 2025 · 1 分钟 · RanFR

NeoVim配置

NeoVim 配置 配置文件 在~/.config/nvim中创建init.lua,并将配置文件内容输入即可。NeoVim 会自动从 GitHub 上下载插件并安装运行。 注意,基于 lazy 的插件需求 NeoVim 版本大于 0.8.0。 配置文件如下: -- ============================== -- 基础设置 -- ============================== vim.g.mapleader = " " -- 设置 <leader> 键为空格 vim.o.number = true -- 显示行号 vim.o.relativenumber = true -- 相对行号 vim.o.expandtab = true -- Tab 转换为空格 vim.o.tabstop = 4 -- 一个 Tab 显示为 4 空格 vim.o.shiftwidth = 4 -- 自动缩进 4 空格 vim.o.softtabstop = 4 -- 编辑时 Tab = 4 空格 vim.o.smartindent = true -- 智能缩进 vim.o.wrap = false -- 不自动换行 vim.o.ignorecase = true -- 搜索忽略大小写 vim.o.smartcase = true -- 如果有大写,则大小写敏感 vim.o.termguicolors = true -- 开启真彩色 vim.o.cursorline = true -- 高亮当前行 -- ============================== -- 插件管理(lazy.nvim) -- ============================== local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ -- 主题 { "ellisonleao/gruvbox.nvim", priority = 1000, config = true }, -- 状态栏 { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("lualine").setup { options = { theme = "gruvbox" } } end }, -- 文件树 { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("nvim-tree").setup {} vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "切换文件树" }) end }, -- 模糊搜索 { "nvim-telescope/telescope.nvim", tag = "0.1.6", dependencies = { "nvim-lua/plenary.nvim" }, config = function() local builtin = require("telescope.builtin") vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "查找文件" }) vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "搜索内容" }) vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "切换缓冲区" }) end }, -- 语法高亮 { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function() require("nvim-treesitter.configs").setup { ensure_installed = { "lua", "python", "cpp", "bash", "markdown" }, highlight = { enable = true }, } end }, }) -- ============================== -- 主题设置 -- ============================== vim.cmd.colorscheme("gruvbox") -- ============================== -- 快捷键增强 -- ============================== -- 保存 & 退出 vim.keymap.set("n", "<leader>w", ":w<CR>", { desc = "保存文件" }) vim.keymap.set("n", "<leader>q", ":q<CR>", { desc = "退出文件" }) -- 快速窗口移动 vim.keymap.set("n", "<C-h>", "<C-w>h", { desc = "左窗口" }) vim.keymap.set("n", "<C-l>", "<C-w>l", { desc = "右窗口" }) vim.keymap.set("n", "<C-j>", "<C-w>j", { desc = "下窗口" }) vim.keymap.set("n", "<C-k>", "<C-w>k", { desc = "上窗口" }) 详细说明 未完待续。 ...

八月 20, 2025 · 2 分钟 · RanFR