Jialong's Blog
沉潜 自由 追寻幸福
Linux常用工具使用总结

常用命令

chmod

修改文件夹或文件的权限。

权限共分为三类:文件所有者(user)、组用户(group)、其他(others)。

chmod u=rwx,g=rx,o=r myfile
chmod 754 myfile

上面两个命令是等价的,可以用字符或者八进制数两种模式来表示。

权限数字为以下每个数字项目的和:

  • 4:read
  • 2:write
  • 1:execute
  • 0:no permission

man

查看某个命令的手册。

查看时翻屏:

  • 向后翻一屏:space(空格键)
  • 向前翻一屏:b
  • 向后翻一行:Enter(回车键)
  • 向前翻一行:k

查看时查找:

  • /关键词 向后查找 n:下一个
  • ?关键词 向前查找 N:前一个

ESC+u取消搜索

tmux

部分内容参考自Tmux 使用教程-阮一峰

启动与退出

tmux

进入Tmux窗口。

Ctrl+d或者输入exit命令就可退出Tmux。

前缀键Ctrl+x

通过前缀键唤出其他快捷键。

会话管理

新建会话:

tmux new -s <session-name>

分离会话:

在Tmux窗口按下Ctrl+x d或者输入tmux detach命令就会将当前会话与窗口分离。

tmux detach

查看所有会话:

tmux ls

接入会话(重新从默认中断接入已存在的某个会话):

tmux attach -t <session-name>

杀死会话:

tmux kill-session -t <session-name>

切换会话:

tmux switch -t <session-name>

重命名会话:

tmux rename-session -t 0 <new-name>

窗格操作

将窗口划分为多个窗格,每个窗格运行不同命令。

划分窗格:

# 划分上下两个窗格
$ tmux split-window
# 划分左右两个窗格
$ tmux split-window -h

移动光标:

# 光标切换到上方窗格
$ tmux select-pane -U
# 光标切换到下方窗格
$ tmux select-pane -D
# 光标切换到左边窗格
$ tmux select-pane -L
# 光标切换到右边窗格
$ tmux select-pane -R

交换窗格位置:

# 当前窗格上移
$ tmux swap-pane -U
# 当前窗格下移
$ tmux swap-pane -D

窗格相关快捷键:

(注意:将Ctrl+b更改为自己设置的Ctrl+x即可)

Ctrl+b %:划分左右两个窗格。
Ctrl+b ":划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格与上一个窗格交换位置。
Ctrl+b }:当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

窗口管理

除了将一个窗口划分为多个窗格,Tmux还允许新建多个窗口。

新建窗口:

tmux new-window -n <window-name>

切换窗口:

tmux select-window -t <window-name/window-number>

一些窗口快捷键:

(注意:将Ctrl+b更改为自己设置的Ctrl+x即可)

Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。
Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。

其他

# 重新加载当前的Tmux配置
$ tmux source-file ~/.tmux.conf

Vim

多模态命令行编辑器,避免了使用鼠标和上下左右按键。

编辑模式

  • 正常模式
  • 插入模式
  • 替换模式
  • 可视化模式
  • 命令模式

Vim启动时默认为正常模式。可以按下ESC从任何其他模式返回正常模式。在正常模式,键入i进入插入模式,r进入替换模式,v进入可视(行)模式,Ctrl-v进入可视(块)模式,:进入命令模式。

基本操作

插入文本

键入i进入插入模式进行编辑。

命令行

正常模式下键入:进入命令行模式。

  • :q退出(关闭窗口)
  • :w保存(写)
  • :wq保存然后退出
  • :e {文件名}打开要编辑的文件
  • :ls显示打开的缓存
  • :help {标题}打开帮助文档
    • :help :w打开:w命令的帮助文档

Vim的接口其实是一种编程语言

Vim界面本身是一个程序语言。键入操作(以及其助记名)本身是命令,这些命令可以组合使用。

移动

  • 基本移动:hjkl(左,下,上,右)
  • 词:w(下一个词), b (词初), e (词尾)
  • 行: 0 (行初), ^ (第一个非空格字符), $ (行尾)
  • 屏幕: H (屏幕首行), M (屏幕中间), L (屏幕底部)
  • 翻页: Ctrl-u (上翻), Ctrl-d (下翻)
  • 文件: gg (文件头), G (文件尾)
  • 行数: :{行数}<CR> 或者 {行数}G ({行数}为行数)
  • 查找: f{字符}t{字符}F{字符}T{字符}
    • 查找/到 向前/向后 在本行的{字符}
  • 搜索: /{正则表达式}, n / N 用于导航匹配

选择

可视化模式:

  • 可视化:v
  • 可视化行:V
  • 可视化块:Ctrl+v

可以使用命令行来选中。

编辑

采用编辑命令和移动命令的组合完成所有功能。

  • i进入插入模式
  • O / o 在之上/之下插入行
  • d{移动命令} 删除 {移动命令}
    • 例如, dw 删除词, d$ 删除到行尾, d0 删除到行头。
  • c{移动命令} 改变 {移动命令}
    • 例如, cw 改变词
  • x 删除字符(等同于 dl
  • s 替换字符(等同于 xi
  • 可视化模式 + 操作
    • 选中文字, d 删除 或者 c 改变
  • u 撤销, <C-r> 重做
  • y 复制 / “yank” (其他一些命令比如 d 也会复制)
  • p 粘贴

计数

  • 3w向前移动三个词
  • 5j向下移动5行
  • 7dw删除7个词

修饰语

使用修饰语改变名词的意思。修饰语有:i表示在内部和a表示周围。

  • ci(改变当前括号内的内容
  • ci[改变当前方括号内的内容
  • da'删除一个单引号字符串

gdb

测试一下具体的功能。

printf("%d", a);

最后修改于 2022-07-05