Linux find 命令完全指南

find 是 Linux 中最强大的文件搜索命令,支持按名称、类型、权限、时间、大小等多种条件查找。 基本语法 find [搜索路径] [查找条件] [执行动作] 常用查找条件 按名称 find /dir -name "*.c" # 按文件名(区分大小写) find /dir -iname "*.JPG" # 不区分大小写 find . -name "*.log" -not -name "*.gz" # 排除条件 按类型 find . -type f # 普通文件 find . -type d # 目录 find . -type l # 符号链接 按时间 find / -mtime -5 # 5 天内修改过的文件 find / -mtime +3 # 3 天前修改过的文件 find / -mmin -30 # 30 分钟内修改过的文件 按大小 find . -size +100M # 大于 100MB find . -size 0c # 空文件 find . -size +10k -size -1M # 10KB ~ 1MB 按权限和用户 find . -perm 755 # 权限为 755 find . -user root # 属主为 root find /home -nouser # 无有效属主 find . -group developers # 属组 排除目录 find /apps -path "/apps/bin" -prune -o -print # 排除 /apps/bin 执行动作 -exec(对每个文件执行命令) # 删除空文件 find . -size 0 -exec rm {} \; # 列出文件详情 find . -type f -exec ls -l {} \; # 删除 5 天前的日志 find /logs -type f -mtime +5 -exec rm {} \; {} 代表匹配到的文件,\; 是命令结束标记。 ...

2015年4月14日 · 2 分钟 · Jid

开始使用 C++11 的 9 个理由

代码能跑不代表没有改进空间。以下是切换到 C++11 的 9 个理由。 性能提升 1. Move 语义 避免不必要的深拷贝。当源对象是临时对象时,直接"偷走"资源而不是复制: // C++03:深拷贝,浪费 std::string s = get_temp_string(); // C++11:move,零拷贝 std::string s = std::move(get_temp_string()); STL 容器(string、vector 等)已内置支持,存储到容器时自动优化。 2. 模板元编程优化 通过 type_traits(如 is_floating_point)和 enable_if,为特定类型定制模板实现。 3. 哈希表 标准库新增 unordered_map、unordered_set 等,基于哈希表实现,查找 O(1),比 map(红黑树 O(log n))更快。 开发效率 4. auto 关键字 自动类型推导,减少冗余代码: // C++03 std::vector<std::vector<MyType>>::const_iterator it = v.begin(); // C++11 auto it = v.cbegin(); 5. Lambda 表达式 定义匿名函数,配合 STL 算法使用非常方便: bool is_safe() { return std::all_of(tanks.begin(), tanks.end(), [this](const Tank& t) { return t.fuel_level() > min_level; }); } 6. 智能指针 unique_ptr 和 shared_ptr 替代原始指针,自动管理内存,杜绝泄漏: auto p = std::make_unique<MyClass>(); // 离开作用域自动释放 7. std::function 函数作为一等对象,可以包装函数指针、lambda、仿函数等任何可调用对象: std::function<int(int, int)> op = [](int a, int b) { return a + b; }; 8. 更清晰的表达 override、final、nullptr、enum class 等让代码意图更明确,减少 bug。 ...

2015年4月13日 · 1 分钟 · Jid

Ubuntu 安装 IBus 输入法框架

最小化安装 sudo apt-get install ibus ibus-pinyin ibus-table ibus-gtk 安装后必须注销并重新登录才能使用。 常用输入法引擎 sudo apt-get install ibus-libpinyin # 智能拼音(推荐) sudo apt-get install ibus-pinyin # 拼音 sudo apt-get install ibus-rime # 中州韵(高级用户) sudo apt-get install ibus-table-wubi # 五笔 配置 ibus-setup # 打开 IBus 偏好设置 im-config -s ibus # 设为系统默认输入法框架 在弹出窗口中添加输入法,切换快捷键默认为 Super+Space。

2015年4月12日 · 1 分钟 · Jid

Firefox 修改 Backspace 键行为

问题 Firefox 在 Linux/macOS 上,Backspace 键默认不执行"后退"操作。Windows 用户习惯用 Backspace 后退。 解决 地址栏输入 about:config,搜索 browser.backspace_action,双击修改值: 值 行为 0 Backspace = 后退,Shift+Backspace = 前进 1 Backspace = 页面向上滚动 2 Backspace 无操作(默认) 修改后立即生效。 其他导航快捷键 快捷键 功能 Alt + ← 后退 Alt + → 前进 Ctrl + [ 后退(部分系统) Ctrl + ] 前进(部分系统)

2015年4月11日 · 1 分钟 · Jid

RPM 包管理常用命令

基本操作 安装 rpm -ivh package-1.0.i386.rpm 选项 含义 -i 安装 -v 显示详细信息 -h 显示进度条 卸载 rpm -e package_name # 注意:用包名,不是文件名 升级 rpm -Uvh package-2.0.i386.rpm 升级会自动卸载旧版本。如果配置文件不兼容,旧文件会保存为 .rpmsave。 降级安装需加 --oldpackage。 查询 # 查询已安装的包 rpm -q package_name # 列出所有已安装的包 rpm -qa # 查询某个文件属于哪个包 rpm -qf /path/to/file # 查看包信息(描述、大小、开发者等) rpm -qi package_name # 列出包包含的文件 rpm -ql package_name # 查看未安装的 RPM 文件的信息 rpm -qpi package-1.0.i386.rpm rpm -qpl package-1.0.i386.rpm 校验 # 校验所有已安装包的文件完整性 rpm -Va # 校验指定包 rpm -V package_name 校验结果中的标记含义: ...

2015年4月10日 · 1 分钟 · Jid

C/C++ Linux 程序员必知的 10 类工具

1. 基本命令 Shell 操作是 Linux 开发的基础。掌握文件操作、管道、重定向、文本处理(grep/sed/awk)等。 2. 编辑器 — Vim / Emacs Linux 下两大经典编辑器。至少精通一个,推荐 Vim(服务器环境几乎一定有)。 3. 构建工具 — Make / CMake Make:经典的构建自动化工具,通过 Makefile 定义编译规则 CMake:跨平台构建系统,自动生成 Makefile 或 VS 项目文件,现代项目首选 4. 调试器 — GDB 命令行调试器,支持断点、单步、变量查看、内存检查。核心命令: gdb ./program (gdb) break main (gdb) run (gdb) next (gdb) print variable (gdb) backtrace 5. 版本控制 — Git 现代开发必备。SVN 和 CVS 已逐渐被 Git 取代。 git init / git clone git add / git commit / git push git branch / git merge 6. 代码导航 — ctags / cscope 在大型代码库中快速定位函数定义、调用关系。 ...

2015年4月9日 · 1 分钟 · Jid

Ubuntu 安装 Fcitx / 搜狗输入法

步骤 1. 卸载 IBus(可选,避免冲突) sudo apt-get purge ibus ibus-* 2. 添加 Fcitx PPA 源 sudo add-apt-repository ppa:fcitx-team/nightly sudo apt-get update 3. 安装输入法 搜狗拼音(推荐): sudo apt-get install fcitx-sogoupinyin 其他可选引擎: sudo apt-get install fcitx-googlepinyin # Google 拼音 sudo apt-get install fcitx-sunpinyin # Sun 拼音 sudo apt-get install fcitx-table fcitx-wubi # 五笔 4. 重启 注销并重新登录,或重启系统。首次登录时系统会提示选择输入法框架,选择 Fcitx。 配置 点击托盘区键盘图标 → 配置 → 添加输入法,选择需要的输入法即可。 常见问题 托盘不显示输入法图标:安装 fcitx-config-gtk3 无法切换输入法:检查 im-config 是否设置为 fcitx

2015年4月8日 · 1 分钟 · Jid

Firefox 切换中英文界面

英文 → 中文 1. 安装中文语言包 访问 Firefox 语言包目录,找到对应版本的 zh-CN.xpi 安装: https://ftp.mozilla.org/pub/firefox/releases/版本号/win32/xpi/zh-CN.xpi 或直接在 Firefox 附加组件中搜索"Chinese"安装。 2. 修改语言设置 地址栏输入 about:config,搜索 general.useragent.locale,改为 zh-CN。 重启 Firefox 即可。 中文 → 英文 同理:安装 en-US.xpi,将 general.useragent.locale 改为 en-US。 较新版本的 Firefox 可直接在 设置 → 常规 → 语言 中切换,无需手动修改配置。

2015年4月7日 · 1 分钟 · Jid

Firefox 启用或禁用 JavaScript

问题 Firefox 23+ 在首选项中移除了 JavaScript 开关。如果 JS 被意外禁用,需要通过隐藏配置修改。 解决方法 地址栏输入 about:config,点击"接受风险并继续" 搜索 javascript.enabled 双击该条目切换 true(启用)/ false(禁用) 立即生效,无需重启。 也可以安装 NoScript 扩展,按站点精细控制 JS 权限,比全局开关更实用。

2015年4月6日 · 1 分钟 · Jid

北京城八区功能定位

注: 2010 年国务院批准北京行政区划调整,崇文区并入东城区,宣武区并入西城区。以下为调整前的城八区功能定位,留作历史参考。 第57条 城八区功能定位 (1)东城区是北京市政治中心的主要载体,全国性文化机构聚集地之一,传统文化重要旅游地区和国内知名的商业中心。 (2)西城区是国家政治中心的主要载体,国家金融管理中心,传统风貌重要旅游地区和国内知名的商业中心。 (3)崇文区是北京体育产业聚集区,都市商业区和传统文化旅游、娱乐地区。 (4)宣武区是国家新闻媒体聚集地之一,宣南文化发祥地和传统商业区。 (5)朝阳区是国际交往的重要窗口,中国与世界经济联系的重要节点,对外服务业发达地区,现代体育文化中心和高新技术产业基地。 (6)海淀区是国家高新技术产业基地之一,国际知名的高等教育和科研机构聚集区,国内知名的旅游、文化、体育活动区。 (7)丰台区是国际国内知名企业代表处聚集地,北京南部物流基地和知名的重要旅游地区。 (8)石景山区与门头沟新城共同构成城市西部发展带的重要节点,是城市综合服务中心之一,同时也是文化娱乐中心和重要旅游地区。 出自:北京市规划委员会-中心城调整优化

2015年4月5日 · 1 分钟 · Jid