共计 12023 个字符,预计需要花费 31 分钟才能阅读完成。
@TOC
08_Linux 根底 -vim-tmux- 字符编码
一. vim
文本编辑器 -vim(== 编辑文本 ==)
Windows:记事本、word、sublime、pycharm
能编辑音乐、视频、图片?答:不能,== 只能编辑文本 ==
Linux:
vi(== 字符界面 ==),vim(== 字符界面 ==),gedit(== 图形化 ==)
==unix 都会装置 vi==
vim 是 vi 的 == 加强版 ==(在 vi 根底上增加其余性能)
vim 编辑器作用
vim 编辑器 == 作用 ==:
==1、编写脚本、程序 ==
==2、批改配置文件 ==
==3、做一些文本处理 ==
vim 模式
vim 有三种最罕用最根本的模式:命令模式、编辑模式(插入模式)、末行模式、可视模式,替换模式
vim 有三种最罕用最 == 根本 == 的模式:
== 命令模式 ==
== 编辑模式 ==
== 末行模式 ==
还有另外两种 == 不罕用 == 模式:
== 视图模式 ==
== 替换模式 ==
vim 命令模式
== 命令模式:vim a / ESC==
== 无奈编辑 ==,只容许删除、复制、粘贴、撤销等快捷操作,关上文件时 == 默认 == 进行此模式
==yy 复制 ==
==p 粘贴 ==
==dd 删除 ==
==u 撤销 ==
== 命令模式 == 相当于一个 == 两头 == 介
每个模式 == 退出 == 都会 == 回到命令模式 ==,命令模式能够进入所有模式
vim 编辑模式
编辑模式 ESC ==i==
— 插入 —
插入模式,进行 == 文本编辑 ==
———————————————————————–
操作键 性能
==i== 光标在 == 以后 == 地位进入插入模式 I 光标 == 跳到行首 == 并进入插入模式 a 光标 == 后退一格 == 并进入插入模式 A 光标 == 退到行尾 == 并进入插入模式 ==o== 在光标所在 == 行下新起一行 == 并进入插入模式 ==O== 在光标所在 == 行上新起一行 == 并进入插入模式 s == 删除 == 光标 == 所在字符 == 并进入插入模式 S == 删除 == 光标所在 == 行 == 并进入插入模式
vim 末行模式
末行模式 ESC ==:==
:
输出命令,设置环境,保留文件,查找替换
—————————————————-
操作键 性能
==:q== 如果未对文件做改变则 == 退出 == ==:q!== == 放弃保留 == 并 == 退出 == ==:wq 保留 == 以后文件并 == 退出 == ==:wq! 强制保留 == 以后文件并 == 退出 == ==:x 保留 == 以后文件并 == 退出 == ==:x! 强制保留 == 以后文件并 == 退出 == ==ZZ 保留 == 以后文件并 == 退出 ==
vim 视图模式
视图模式 ESC ==v、V、ctrl+v==
— 可视 行 —
抉择特定的块文本,进行复制,批改等
小 ==v==:抉择 == 行指定的局部 ==
大 ==V==:抉择 == 整个行 ==
==Ctrl + v== : 抉择 == 块 == 插入按 I 退出模式进人命令模式(Esc),这个时候就全副加上
vim 替换模式
替换模式 ESC ==R==
— 替换 —
———————————–
123 hello456 789
xxx helloyyy zzz
xxx yyy zzz
练习
课堂练习 1 插入模式
123 456
123 4
xyz 789
4
xyz 789———————————————————
步骤:
==v== 小 v 可视模式 visual —》抉择一部分
==y== 按 y 复制
==o== 按 o 另起一行,进入插入模式
==P== 再按 esc,再 p,按 p 粘贴
课堂练习 2
123 TEST 456 789
xxx TEST yyy zzz———————————————————
抉择块插入
ctrl + v:抉择块
插入按大 I
ESC 退出模式进入命令模式,这个时候就全副加上
vim 罕用快捷方式
vim 罕用快捷方式
vim 关上文件:
\# vim e
\# ==vim +5 e==示意关上文件 e,并且 == 将光标挪动到第 3 行 ==
\# ==vim +/aa e==
关上文件 e,并且 == 高亮显示 aa 字符 ==
退出 vim 编辑器的办法
vim 保留退出:
操作键 性能
==:q== 如果未对文件做改变则 == 退出 == ==:q!== 放弃保留并 == 退出 == ==:wq== == 保留 == 以后文件并 == 退出 == ==:wq!== == 强制保留 == 以后文件并 == 退出 == ==:x== == 保留 == 以后文件并 == 退出 == ==:x!== == 强制保留 == 以后文件并 == 退出 == ==ZZ== == 保留 == 以后文件并 == 退出 ==(注:命令模式退出)
光标挪动
光标挪动:上下左右方向键(k,j,h,l)
————————————————-
操作类型 操作键 性能
== 光标 == 方向挪动 ==k,j,h,l== == 上、下、左、右 ==
\=\=\=\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=
== 翻页 == Page Down 或 Ctrl+F 向 == 下 == 翻动一整页内容
Page Up 或 Ctrl+B 向 == 上 == 翻动一整页内容
\=\=\=\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=
== 行内 == 疾速跳转 Home 键或“^”、数字“0”跳转至 == 行首(注:“^”尖符号)==
End 键或“$”键 跳转到 == 行尾 ==
\=\=\=\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=
== 行间 == 疾速跳转
1G 或者 gg 跳转到文件的 == 首行 ==
G 跳转到文件的 == 开端行 ==
\#G 跳转到文件中的 == 第 #行 ==
(末行模式):40 跳转到 ==40 行 ==
w == 每个单词 == 的 == 首字母 == 跳转
e == 每个单词 == 的 == 尾字母 == 跳转
vim 设置
vim 设置
(末行模式):set number == 设置行数 ==
(末行模式):set nonumber == 勾销设置 ==
————————————–
:set number 1 aa bb cc 2 dd ee ff 1 aa bb cc 2 dd ee ff 3 aa bb cc
删除(剪切)、复制、粘贴
操作类型
操作键 性能
————————————–
删除 (* 注:个别 ==^ 行首,$ 行尾 ==)
== x 或 d 或 Del 删除 == 光标处的 == 单个字符 ==
==dd 删除 == 以后光标 == 所在行 ==
==\#dd 删除 == 从光标处开始的 ==\# 行内容 ==
d==^== == 删除 == 以后 == 光标之前到行首 == 的所有字符
d==$== 删除以后 == 光标处到行尾 == 的所有字符
d==w== == 删除一个单词 ==(word),以空格、冒号等 符号
——————————————————
复制
==yy 复制 == 以后行 == 整行 == 的内容到剪贴板
==\#yy 复制 == 从光标处开始的 ==# 行 == 内容
——————————————————
粘贴
小 ==p== 将 == 缓冲区 == 中的内容 == 粘贴 == 到光标地位处 == 之后 ==
大 ==P 粘贴 == 到光标地位处 == 之前 ==
文件内容查找
文件内容查找
操作键 性能
==/==word == 从上而下 == 在文件中查找字符串“word”
==?==word == 从下而上 == 在文件中查找字符串“word”
小 ==n== == 定位下一个 == 匹配的被查找字符串
大 ==N== == 定位上一个 == 匹配的被查找字符串
(注:/word 和 ?word 不同点:== 方向相同 ==)
勾销高亮、设置行数、勾销行数设置
勾销高亮:noh
设置行数:set nu
勾销:set nonu
二. vim-tmux 及字符编码问题
文件内容替换
文件内容替换 (末行模式)
命令 性能
==:s /old/new== 将 == 以后行 == 中查找到的 == 第一个 == 字符“old”串 == 替换 == 为“new”
==:s /old/new/g== 将 == 以后行 == 中查找到的 == 所有 == 字符串“old”== 替换 == 为“new”
==:#,# s==/old/new/==g== 在 == 行号“#,#”== 范畴内替换 == 所有 == 的字符串“old”为“new”
==:% s==/old/new/==g== 在 == 整个文件 == 范畴内替换 == 所有 == 的字符串“old”为“new”global
==:s== /old/new/==gc== 在替换命令开端退出 == c 命令 ==,将对每个替换动作 == 提醒 == 用 户进行 == 确认 == Confirm
==:%s==/feng//==g== 将 == 所有 == 的 feng== 删除 ==
(注::s/…/… 以后行 第一个 str
:s/…/…/ g 以后行 所有 str :#,#s/…/…/g 行号 #,# 所有 str :%s/…/…/g 整个文档 所有 str :s/…/…/gc 整个文档 所有 str 确认提醒 :%s/…//g 整个文档 所有 str 删除)
(注:s —— 替换
:s —— 以后行替换 \#,# —— 行号 #到# % —— 整个文档 g —— 所有字符串 c —— 确认提醒 :%s/…//g —— 整个文档 所有 str 删除)
== 缓存:swp 文件 ==
== 编写文件时 1.txt==
== 先把 1.txt 文件拷贝一份,拷贝成.1.txt.swp 文件,真正编辑的是这个文件 ==
== 保留时,会将.1.txt.swp 笼罩 1.txt==
——————————————————————————————-
相干操作
一个终端下# vim 2.txt, 另一个终端敲# ls -al, 提醒如下
[root@sanchuang-linux cp]# ==ls -al==
总用量 88
-rw-r–r–. 1 root root 4096 10 月 15 15:05 ==.2.txt.swp==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\==\=\=\=
在另一个终端# vim 2.txt,提醒如下
发现交换文件 ".2.txt.swp" 所有者: root 日期: Thu Oct 15 15:05:45 2020 文件名: ~root/cp/2.txt 批改过: 否 用户名: root 主机名: sanchuang-linux 过程 ID: 3129 (仍在运行) 正在关上文件 "2.txt" 日期: Thu Oct 15 15:05:22 2020 (1) Another program may be editing the same file. If this is the case, be careful not to end up with two different instances of the same file when making changes. Quit, or continue with caution. (2) An edit session for this file crashed. 如果是这样,请用 ":recover" 或 "vim -r 2.txt" 复原批改的内容 (请见 ":help recovery")。如果你曾经进行了复原,请删除交换文件 ".2.txt.swp" 以防止再看到此音讯。交换文件 ".2.txt.swp" 已存在!以只读形式关上 ([O]), 间接编辑 ((E)), 复原 ((R)), 退出 ((Q)), 停止 ((A)):
\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\==\=\=\=
:wq 写入时,提醒如下
"2.txt" 正告: 此文件自读入后已产生变动!!!的确要写入吗 (y/n)?
==* 留神 ==:进入命令模式,按数字键,之后再进入插入模式的话,会将输出内容依照之前按的数字大小复制成多份
(注:步骤
vim 1.txt ——> 先按数字 3 ——> 按 i 进入插入模式 ——> abc ——> Esc ——> abcabcabc)
关上新文件或读入其余文件内容 && 撤销和另存为
关上新文件 ==:e== 或 读入其余文件内容 ==:r==
命令 性能
==:e== ~/install.log == 关上 == 新的 == 文件 == 进行 == 编辑 ==
==:r== /etc/filesystems 在 == 以后文件 == 中 == 读入其余文件内容 ==(注:即追加内容)
撤销和另存为 ==:w==
==:w== /tmp/hello.txt 把以后文件另存为 /tmp 目录下的 hello.txt
== 同时编辑 == 多个文件
\# ==vim 1.txt 2.txt==
==:n== 编辑上一个
==:N== 编辑下一个
\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\==\=\=\=
例:
\# vim 2.txt
==:e 1.txt==
(注:进入 1.txt 进行编辑)
————————–
\# vim 2.txt
==:r 1.txt==
(注:读入 1.txt 文件的内容。在以后光标下一行插入 1.txt 文件内容)
\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\==\=\=\=
撤销和另存为 ==:w==
命令 性能
==:w== /tmp/hello.txt 把以后文件另存为 /tmp 目录下的 hello.txt
\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\==\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\==\=\=\=
例:
\# vim 1.txt
==:w /root/cp/test.txt==
(注:将文件 1.txt 另存为在 /root/cp/ 目录下,== 改名为 test.txt==)
vim 的配置(3 种)
——————————————————————————————–
第一种
==vim 设置 ==:(末行模式)
一次性设置行数:(只在以后编辑时失效)
:set number
勾销
:set nonumber
——————————————————————————————–
第二种
== 全局配置文件 ==:
\# vim /etc/vimrc
\# cp /etc/vimrc{,.bak}(注:成果等同于 # cp /etc/vimrc /etc/vimrc.bak)
(* 注↑:备份操作。批改全局配置文件前先备份。出错就回滚)
set number(注:== 设置行数 ==)
set ==showcmd==(注:== 显示以后键入命令 ==)
set encoding=utf-8(注:== 设置编码 ==)
set tabstop=4(注:== 设置 tab 键的空格数 ==)
——————————————————————————————–
第三种:(只针对以后用户失效)
== 编写 ~/.vimrc==
[root@sanchuang-linux ~]# vim ==.vimrc==
[root@sanchuang-linux ~]# cat .vimrc
set number
set showcmd
set encoding=utf-8
set tabstop=4
tmux
tmux shell 外面多屏幕编辑 装置:# yum install tmux -y tmux Ctrl+b 上下左右 Ctrl+b shift +" Ctrl+b shift + % Ctrl+b + c 发明新的一页 Ctrl+b + p 返回上一页 Ctrl+b + n 返回下一页 Ctrl+b + x 敞开以后小窗口 ctrl+d 敞开 Ctrl+b + b + ! 删除 Ctrl+b + d 暂存,保留以后的 tmux 状态并退出 tmux
tmux:
装置:yum install tmux
tmux:
一:敲 tmux 进入会话
窗口底部有绿杠示意进入了 tmux
———————————————————————————————————-
左右分屏:先按 ==ctrl + b==,而后再按 shift+==%== 号
高低分屏:先按 ==ctrl + b==, 而后再按 shift+==”==
上下左右挪动光标:==ctrl + b==,再按 == 上下左右 == 方向键
删除一个宰割:光标挪动到那个宰割屏幕,而后按 ==ctrl +d==
新增一个新的窗口(新增一页):==ctrl+b==,而后按 ==c==
返回上一页:==ctrl+b== 而后按 ==p==
返回下一页:==ctrl+b== 而后按 ==n==
———————————————————————————————————-
保留以后的 tmux 状态,并退出 tmux:
应用:==ctrl+b== 而后按 ==d==
———————————————————————————————————-
查看以后保留的会话状态
[root@mysql-binary ~]# ==tmux ls==
0: 2 windows (created Thu Oct 15 16:31:27 2020) [139×22]
1: 2 windows (created Thu Oct 15 16:45:40 2020) [139×22]
————————————————————————————————————-
进入第一个会话状态:
==tmux a -t 0==
————————————————————————————————————-
== 设置 tmux==,跟 vim 的末行模式很像:
按 ==ctrl+b== , 而后按 ==:==(这时窗口底部就会有 == 黄色 == 的杠)
设置 == 同步 ==:==ctrl+b== 而后按 ==:== 而后输出 ==set synchronize-panes on==
勾销同步 ==set synchronize-panes off==
tmux 终端敞开,执行的程序会继续执行(* tmux 的益处)
tmux 终端敞开,不是 tmux 会话敞开。tmux 终端敞开,那之前执行的程序都会继续执行。
不应用 tmux,默认状况下,终端敞开,执行的程序也会敞开。测试如下
\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\==\=\=\=\=\=\=\=\==\=\=\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\=\=\=\=
测试:
== 编写脚本:==
\# cat sleep.sh
echo “begin………..”
sleep 100
echo “end………….”\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
== 运行脚本 ==
\# sh sleep.sh
begin………..\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
运行脚本:==(放到后盾运行)==
\# sh sleep.sh ==&==
\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
== 查看过程有没有运行 ==
\# ==ps -ef |grep sleep==
root 13133 13112 0 17:12 pts/6 00:00:00 sh sleep.sh
root 13134 13133 0 17:12 pts/6 00:00:00 sleep 100
root 13190 13140 0 17:12 pts/16 00:00:00 grep –color=auto sleep\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
== 敞开终端之后再从新开启连贯,查看过程有没有运行。==
后果:没有运行
……
\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
== 在 tmux 下 运行脚本 ==
……
==tmux 敞开后 会话还在,程序还会始终运行 ==
\# ps -ef |grep sleep
root 13278 13003 0 17:17 pts/13 00:00:00 sh sleep.sh
root 13279 13278 0 17:17 pts/13 00:00:00 sleep 100
root 13284 13140 0 17:17 pts/16 00:00:00 grep –color=auto sleep\=\=\=\=\==\=\=\=\=\=\=\=\=====\=\==\=\=
编码
编码
编码:http://www.ruanyifeng.com/blo…
文件编码个别 2 种形式:==ascii 和 unicode==
UTF-8 是 Unicode 的实现形式之一
== 转编码 ==:
\# ==iconv -f== utf-8 ==-t== gbk ==code_test.txt== >==code_test1.txt==
ASCII 码 最多能示意 256 个字,不够用
unicode 万国码,每个字给你一个序号
UTF-8 是 Unicode 的实现形式之一,规定怎么存储在计算机。
(UTF- 8 对 ascii 码 / 英文码敌对)
== 以什么编码方式存储,就要以什么编码方式解码 ==
utf-8、utf-16
国内编码 gbk、gb2131
\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\=\=\==\=\=\=\=\=\=\=
== 零碎语言设置环境:==
\# ==locale==
LANG=zh_CN.UTF-8
LC_CTYPE=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_PAPER=”zh_CN.UTF-8″
LC_NAME=”zh_CN.UTF-8″
LC_ADDRESS=”zh_CN.UTF-8″
LC_TELEPHONE=”zh_CN.UTF-8″
LC_MEASUREMENT=”zh_CN.UTF-8″
LC_IDENTIFICATION=”zh_CN.UTF-8″
LC_ALL=
\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\=\=\==\=\=\=\=\=\=\=
==file code_test.txt 注:查看文件编码类型 ==
\# locale 零碎语言设置环境
\# file code_test1.txt 看文件编码方式
零碎、文件、shell 三者对立,不会乱码
\=\=\=\==\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\==\=\=\=\=\==\=\=\=\=\==\=\=\=\=\=\=\=
上课代码操作:
\# mkdir vim_test
\# cd vim_test/
\# ls
\# rz -E(注:将 windows code_test.txt 文件上传 linux)
rz waiting to receive.
\# ls
code_test.txt
\# vim code_test.txt
\# ==file code_test.txt(注:查看文件编码类型)==
code_test.txt: UTF-8 Unicode text
\# iconv -f utf-8 -t ==gbk== code_test.txt >code_test1.txt(注:转国标码)
\# ==file code_test1.txt==
code_test1.txt: ==ISO-8859 text(注:国标码)==
\# vim code_test1.txt(注:显示乱码)
\#为什么呈现乱码?答:以 utf- 8 的形式关上 gbk 编码
以什么编码方式存储,就要以什么编码方式解码
总结(xmind)
vim 文本编辑器 vi,vim vim 常见模式 命令模式 文件关上默认就是命令模式 ESC 键达到 编辑模式 a,i,o,s(反对大写)末行模式:可视模式 v 选中文本指定局部 V 抉择文本指定行 ctrl+v 抉择文本指定块 替换模式 R 根本应用 命令模式 删除 x、d dd 5dd 复制 yy 3yy 粘贴 p 撤销 u 查找 / 光标挪动 上下左右方向键(k,j,h,l)文件首 gg 文件尾 G 挪动到特定行 5G:5 行首 home 键 0 ^ 行尾 end 键 $ 上翻页 page up,ctrl+b 下翻页 pagedowm,ctrl+f 编辑模式 i I o O a A s S 可视模式 复制 y 插入 I 末行模式 退出和保留 q q! wq wq! x ZZ 命令模式退出 替换:s/old/new :s/old/new/g :%s/old/new :%s/old/new/g :3,5s/old/new/g :%s/old/new/gc 设置 文件操作:e 编辑新文件:r 导入文件内容:w 另存文件门路 vim 1.txt 2.txt:n 编辑下一个:N 编辑上一个 vim 常见快捷方式应用 vim file1 file2 file3 vim +10 file vim +/aa file vim 的配置 长期配置 末行模式:set nu 全局配置 /etc/vimrc 用户配置 ~/.vimrc tmux tmux:装置:yum install tmux tmux:一:敲 tmux 进入会话 窗口底部有绿杠示意进入了 tmux 左右分屏:先按 ctrl + b,而后再按 shift+% 号 高低分屏:先按 ctrl + b, 而后再按 shift+" 上下左右挪动光标:ctrl + b 再按上下左右方向键 删除一个宰割:光标挪动到那个宰割屏幕,而后按 ctrl +d 新增一个新的窗口(新增一页):ctrl+b 而后按 c 返回上一页:ctrl+b 而后按 p 返回下一页:ctrl+b 而后按 n 保留以后的 tmux 状态,并退出 tmux:应用:ctrl+b 而后按 d 查看以后保留的会话状态 [root@mysql-binary ~]# tmux ls 0: 2 windows (created Thu Oct 15 16:31:27 2020) [139x22] 1: 2 windows (created Thu Oct 15 16:45:40 2020) [139x22] 进入第一个会话状态:tmux a -t 0 设置 tmux,跟 vim 的末行模式很像:按 ctrl+b , 而后按:(这时窗口底部就会有黄色的杠)设置同步:ctrl+b 而后按:而后输出 set synchronize-panes on 勾销同步 set synchronize-panes off tmux 终端敞开,不是 tmux 会话敞开。那之前执行的程序都会继续执行。不应用 tmux,默认状况下,终端敞开,执行的程序也会敞开。文件编码 iconv -f utf-8 -t gbk file.txt > file2.txt 查看零碎语言环境 locale ascii unicode utf-8 utf-16 gbk gb2132