Linux终端使用技巧

发布时间 2023-10-11 23:20:13作者: 这是个佚名

Linux终端使用技巧

1.命令提示符

显示提示符格式

[root@centos8 ~]#echo $PS1
\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]

修改提示符格式范例

PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\
[\e[0m\]\\$"

提示符格式说明:

  • \e 控制符\033
  • \u 当前用户
  • \h 主机名简称
  • \H 主机名
  • \w 当前工作目录
  • \W 当前工作目录基名
  • \t 24小时时间格式
  • \T 12小时时间格式
  • ! 命令历史数
  • # 开机后命令历史数

2.执行命令

shell中命令分为两类:

  • 内部命令:由系统自带,用户登录后自动加载到内存中

  • 外部命令:有对应的可执行文件,当命令被执行时才从磁盘中加载到内存,执行完毕后即从内存中删除

区别内部或外部命令

type COMMAND

注:一些命令既是内部命令也是外部命令

[root@centos8 ~]#type -a echo 
echo is a shell builtin
echo is /usr/bin/echo

2.1、内部命令相关

enable 管理内部命令

  • enable cmd 启用内部命令
  • enable -n cmd 禁用内部命令
  • enable 查看禁用的内部命令

2.2、外部命令相关

查看外部命令路径:

which -a |--skip-alias 
whereis COMMAND

Hash缓存表

系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的

路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不

存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率

hash 命令常见用法:

  • hash 显示hash缓存
  • hash -l 显示hash缓存,可作为输入使用
  • hash -p path name 将命令全路径path起别名为name
  • hash -t name 打印缓存中name的路径
  • hash -d name 清除name缓存
  • hash -r 清除缓存

退出当前shell终端会自动清空hash表

3.在xshell 打开图形工具firefox

(1)在Linux中安装firefox 软件

yum -y install firefox libglvnd-glx

(2)在客户机(windows)中安装Xmanager - Passive,安装完成后打开

(3)修改配置

export DISPLAY=10.0.0.1:0.0

(4)运行firefox

firefox 

4.Tmux

4.1、会话管理

Tmux 是一个终端复用器(terminal multiplexer),功能如下

  • 它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
  • 它可以让新窗口"接入"已经存在的会话。
  • 它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
  • 它还支持窗口任意的垂直和水平拆分

安装

yum install tmux

启动与退出

[root@centos8 ~]#tmux 
[root@centos8 ~]#exit
logout

mux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是 Ctrl+b ,即先按下

Ctrl+b ,快捷键才会生效。帮助命令的快捷键是 Ctrl+b ? 然后,按下 q 键,就可以退出帮助

新建会话

第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0

号会话、1 号会话。使用编号区分会话,不太直观,更好的方法是为会话起名。下面命令新建一个指定

名称的会话。

tmux new -s <session-name>

查看会话

tmux ls或Ctrl+b,s 可以查看当前所有的 Tmux 会话

tmux ls
tmux list-session

分离会话

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

tmux detach

接入会话

tmux attach 命令用于重新接入某个已存在的会话。

tmux attach -t <session-name>

#范例:
tmux attach -t 0

切换会话

tmux switch命令用于切换会话

tmux switch -t <session-name>

可以将窗口分成多个窗格(pane),每个窗格运行不同的命令

上下分窗格

tmux split-window
ctrl+b,"

左右分窗格

tmux split-window -h
ctrl+b,%

窗格快捷键

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:显示窗格编号

4.2、窗口管理

除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口

新建窗口

tmux new-window命令用来创建新窗口

tmux new-window

新建一个指定名称的窗口

tmux new-window -n <window-name>

切换窗口

tmux select-window命令用来切换窗口

切换到指定编号的窗口

tmux select-window -t <window-number>

切换到指定名称的窗口

tmux select-window -t <window-name>

窗口快捷键

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

列出所有快捷键,及其对应的 Tmux 命令

tmux list-keys

列出所有 Tmux 命令及其参数

tmux list-commands