分类 教程 下的文章

在使用 tmux 来托管我们的工作环境时, 环境如果稍微复杂点点, 导致会话/窗口/Panel会比较多, 如果仅仅是已数字索引来命名的话, 比较不方便, 还是对其重命名, 更容易识别和阅读.
这里汇总下会话/窗口 重命名的快捷键, 便于我们平常工作环境的维护.

会话(Session)重命名

使用快捷键重命名:

Ctrl + B, $

使用指令重命名,按快捷键进入指令模式

Ctrl + B, :

输入下述指令, 指定当前会话名称和新的会话名称

rename-session [-t current-name] [new-name]

- 阅读剩余部分 -

我们在 Windows/Mac OSX经常会使用到回收站,大多数删除操作将文件或目录皆是移动到回收站, 而 Linux 对大多数用户来说更了解 rm 命令, rm 命令是直接将文件或目录直接从硬盘上擦出, 这样就带来一个问题, 如果快速操作错了呢? 想后悔, 可是文件或目录已经从硬盘被擦出,想恢复只能通过一些专业的恢复工具才能完成, 即使是专业的恢复工具,也不是100%能完整恢复.因此, 在 Linux 上使用 rm 命令是个高危操作, 必须非常谨慎. 如果 Linux 上有类似回收站的功能不是就更好了? 即使操作错了,我们还是可以从回收站中快速恢复.

Linux 图形环境,直接使用对应的文件浏览器操作文件或者目录, 对应信息删除时自动会放置到回收站中.

而对于命令行环境, 有比较多的方案, 比如 trash-cli / gio trash等.

trash-cli

trash-cli 是个python实现的命令行工具,用于实现回收站功能. 官方网站是 https://github.com/andreafrancia/trash-cli

删除文件或目录

trash-put example example.txt

- 阅读剩余部分 -

在使用 virt-install 创建虚拟机的过程中,出现下面的错误

ERROR internal error: qemu unexpectedly closed the monitor: 2019-01-23T11:02:36.048859Z qemu-kvm: -chardev pty,id=charserial0: Failed to create PTY: Operation not permitted

日志显示 chardev 设备创建错误, 确认 /dev/pts 设备不存在(也可能是权限错误), 因此解决办法是, 重新构建对应的设备描述文件.
/etc/fstab 配置/dev/pts设备的挂载信息,重新remount /dev/pts 设备.

添加下述内容到 /etc/fstab

devpts /dev/pts devpts gid=5,mode=620 0 0

- 阅读剩余部分 -

我们在使用 virt-install 构建虚拟机需要指定操作系统类型, 在配置之前, 我们需要了解到底有哪些可选值, 查阅了下, 可以使用 osinfo-query 来完成.

这里我们使用到了两个命令, 需要安装 virt-installosinfo-query

安装 virt-install

REHL/CentOS

yum -y install virt-install

Debian/Ubuntu

apt -y install virtinst

- 阅读剩余部分 -

Linux 命令行环境下, 文本终端一般为 Bash Shell, 而在图形环境下, 图形化的终端程序还可以给我们提供一些更加便利的快捷键, 便于我们和终端进程交互:

  • Ctrl + Shift + c 拷贝
  • Ctrl + Shift + v 粘贴
  • Shift + Page Up 终端界面向上滚动, 类似通过鼠标滚轮将终端往上滚动
  • Shift + Page Down 终端界面向下滚动, 类似通过鼠标滚轮将终端往下滚动
  • Shift + Home 跳转到终端历史最顶端
  • Shift + End 跳转熬终端界面最底部
  • Ctrl + Page Up 跳转到前一个终端
  • Ctrl + Page Down 跳转到下一个终端
  • Alt + 1 快速定位到第一个终端, 类似 Firefox/Chrome
  • Alt + 2 快速定位到第二个终端
  • Ctrl + Shift + t 打开新的终端
  • Ctrl + Shift + w 关闭当前终端

- 阅读剩余部分 -

在我们使用 Linux 系统中, 经常需要对机器进程关机/重启/休眠等等操作, 一般都是通过系统的关机/重启/休眠等指令来完成, 这样保证整个过程是系统优雅的关闭,类似编写代码的Graceful Code, 因为这样服务才能完整的走完生命周期, 比如启动后部分数据在内存, 通过系统内关机命令来优雅的关闭, 那进程收到这个信号后, 将内存的数据 flush 到磁盘甚至远端,以便数据安全完整的存储下来.如果强制关闭或者关闭电源, 那这部分为保存的数据就有可能丢失, 影响后续工作的完成.只有在极端情况下, OS 除了极端问题, 硬件除了极端问题,只能通过关闭电源才能进行后续操作, 才建议使用电源重置的模式来重启, 一般情况下, 还是尽量优美的关机吧.

- 阅读剩余部分 -

lsof 含义为 list open files, 可以列出所有被进程所打开的文件列表.在Linux上,一切皆文件, 硬件设备,包括 USB 设备皆是通过文件描述, 网络 socket 也为文件,目录也被描述为特殊类型的文件.因此我们在诊断问题或者调试的过程中,找到对应打开的文件信息将对我们的工作过程很有帮助.

lsof 常用一些命令如下:

  • lsof -h 展示快捷帮助文档
  • lsof fpath 列出所有打开fpath的文件
  • lsof -i 列出所有与网络有关的被打开文件
  • lsof -u {USER} 列出所有用户下被打开的文件
  • lsof -p {PID} 列出对应进程打开的所有文件
  • lsof +d {DIR} 列出所有{DIR}下打开的文件
  • lsof +D {DIR} 递归的列出所有{DIR}下打开的文件
  • lsof -c cmd 列出 cmd 命令打开的所有文件列表

- 阅读剩余部分 -

因为 Linux 环境的命令以及文档及其丰富,我们在介绍一个工具的使用过程中, 主要是希望了解这个命令主要是干什么的, 在什么场景下使用,常用的有哪些使用方式, 更多的信息根据需要逐步上 man page 上去查阅,在查阅 man page 的过程中, 要快速找到我们的目标, 结合man page 的快捷键将极大的提升我们的效率

  • f Page Down, 向下翻一页
  • b Page Up, 向上翻一页
  • h 显示 man 命令使用帮助信息
  • q 退出
  • /{pattern} 向前搜索
  • ?{pattern} 向后搜索
  • n 跳转到下一个搜索结果
  • N 跳转到上一个搜索结果

- 阅读剩余部分 -

我们在 Linux 环境中常用的 Shell 环境大多都是 Bash Shell, 即使是 MacOS , 默认 Shell 环境也是 Bash Shell, 了解 Bash Shell 的快捷键将有助于我们快速和 Shell 环境交互.

光标移动

  • Ctrl + b 向后移动一个字符
  • Ctrl + f 向前移动一个字符
  • Alt + b or Ctrl + ← 向后移动一个单词
  • Alt + f or Ctrl + → 向前移动一个单词
  • Ctrl + a 移动到行首
  • Ctrl + e 移动到行尾

- 阅读剩余部分 -

Shell 环境一般在我们输入之前, 会有部分提示信息, 快速让使用者知道当前环境的信息,比如当前用户/当前路径等. Bash Shell 同样给我们提供了定制这部分的逻辑,在 Bash Shell 下使用 PS1 来设置 Shell 提示信息.

PS 原意是 Prompt String, 当然有 PS1, 至少还会有其他的, 比如 PS2.

  • PS1 默认 Shell 提示符
  • PS2 多行命令的默认提示符, 一个非常长的命令可以通过在末尾加 \ 使其分行显示 , 多行命令提示默认值是 >
  • PS3 选择输入时的提示符, 默认值为 #?
  • PS4 配合set -x用来修改跟踪输出的前缀, set -x 一般用在调试过程, 显示整个脚本的执行过程, 默认值为 ++

- 阅读剩余部分 -