目录
Linux介绍
为什么使用ubuntu?
因为Ubuntu图形界面比较美观,系统功能比较全面,同时使用人数多,社区丰富(可以找教程)。
Linux目录
·/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。 ·/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 ·/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。 ·/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。 ·/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。 ·/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。 ·/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。 ·/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。 ·/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。 ·/opt:给主机额外安装软件所摆放的目录。 ·/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。 ·/root:系统管理员root的家目录。 ·/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。 ·/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。 ·/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。 ·/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。 ·/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。
用户目录
位于/home/usr,称为用户目录或家目录
从/目录开始描述的路径为绝对路径,如:
cd /home ls /usr
从当前位置开始描述的路径为相对路径,如:
cd ../../ ls abc/def
颜色含义
文件的颜色 | 含义 |
---|---|
蓝色 | 目录 |
绿色 | 可执行文件 |
红色 | 压缩文件 |
浅蓝色 | 链接文件 |
灰色 | 其他文件 |
命令行基本操作
命令格式
command [-operations] [parameter1] ...
command: 命令名
[-operations]:选项,对命令进行控制,可省略
[parameter]:传给命令的参数,可以是零个一个或多个
查看帮助
help
ls help
man
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
例:man ls ; man 2 printf
man中各个section意义如下:
Standard commands(标准命令) System calls(系统调用,如open,write) Library functions(库函数,如printf,fopen) Special devices(设备文件的说明,/dev下各种设备) File formats(文件格式,如passwd) Games and toys(游戏和娱乐) Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量) Administrative Commands(管理员命令,如ifconfig) man是按照手册的章节号的顺序进行搜索的。
man设置了如下的功能键:
空格键 显示手册页的下一屏 Enter 一次滚动手册页的一行 b 回滚一屏 f 前滚一屏 q 退出man命令 h 列出所有功能键 /word 搜索word字符串
tab键自动补全
敲出命令前几个字母后按tab会自动补全命令
若候选项不止一个,双击tab会展示所有候选项
history浏览历史
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
history保留了最近执行的命令记录,默认可以保留1000。 历史清单从0开始编号到最大值。 常见用法:
history N 显示最近N条命令 history -c 清除所有的历史记录 history -w xxx.txt 保存历史记录到文本xxx.txt
ctrl组合键
Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+s 暂停屏幕输出【锁住终端】 Ctrl+q 恢复屏幕输出【解锁终端】 Ctrl+l 清屏,【是字母L的小写】等同于Clear ctrl+a 当前光标到行首 ctrl+e 当前光标到行尾 ctrl+u 删除当前光标到行首 ctrl+k 删除当前光标到行尾 Ctrl+y 在光标处粘贴剪切的内容 Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】 Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符 Ctrl+x+u 撤销操作 Ctrl+z 转入后台运行
Linux命令
权限管理
ls 列出目录内容
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
可配合正则表达式列出符合要求的文件
通配符 | 含义 |
---|---|
* | 文件代表文件名中所有字符 |
ls te* | 查找以te开头的文件 |
ls *html | 查找结尾为html的文件 |
? | 代表文件名中任意一个字符 |
ls ?.c | 只找第一个字符任意,后缀为.c的文件 |
ls a.? | 只找只有3个字符,前2字符为a.,最后一个字符任意的文件 |
[] | [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范围内的的任意一个字符 |
ls [a-f]* | 找到从a到f范围内的的任意一个字符开头的文件 |
ls a-f | 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用 |
\ | 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。 |
ls \*a | 查找文件名为*a的文件 |
stat 显示inode内容
stat [文件或目录]
lumosiac@lumosiac-virtual-machine:~/Desktop$ stat reminders File: reminders Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 278336 Links: 2 Access: (0775/drwxrwxr-x) Uid: ( 1000/lumosiac) Gid: ( 1000/lumosiac) Access: 2022-12-24 20:50:53.035306475 +0800 Modify: 2022-12-24 20:50:50.959121792 +0800 Change: 2022-12-24 20:50:50.959121792 +0800 Birth: 2022-12-24 20:49:50.525518023 +0800
权限种类
字母 | 说明 |
---|---|
r | read读取权限,数字代号为 “4” |
w | write写入权限,数字代号为 “2” |
x | execute执行权限,数字代号为 “1” |
- | 不具任何权限,数字代号为 “0” |
查看权限
通过ls -lh可查看文件权限
lumosiac@lumosiac-virtual-machine:~/Desktop/reminders$ ls -lh total 8.0K -rw------- 1 lumosiac lumosiac 504 12月 24 20:47 Disassembly.txt -rw-rw-r-- 1 lumosiac lumosiac 886 12月 24 23:21 ifconfig.txt
首字符代表文件类型
“d” 代表文件夹 “-” 代表普通文件 “c” 代表硬件字符设备 “b” 代表硬件块设备 “s”表示管道文件 “l” 代表软链接文件。
后九个字母每三个一组, 分别代表文件所有者、用户组、其它用户拥有的权限
再后面一个字符串代表所有者,再后一个代表用户组
chmod 修改文件访问权限
字母法
chmod u/g/o/a +/-/= rwx filename 如: chmod u=rwx,g=rx,o=r filename
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[ ±= ] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
数字法
chmod u=num1,g=num2,o=4 filename chmod 751 filename
chown 修改文件所有者
chown ownername filename 若不允许,则以管理员身份进行修改 sudo chown ownername filename
参数
-c显示更改的部分的信息 -f忽略错误信息 -h修复符号链接 -R处理指定目录以及其子目录下的所有文件 -v显示详细的处理信息 -deference作用于符号链接的指向,而不是链接文件本身
chgrp 修改文件所属组
sudo chgrp groupname filename
文件内容查看
cat、tac 基本显示
语法
cat [-AbEnTv] file
选项与参数
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -v :列出一些看不出来的特殊字符 -E :将结尾的断行字节 $ 显示出来; -T :将 [tab] 按键以 ^I 显示出来; -b :列出行号,空白行不标行号 -n :列出行号,连同空白行也会有行号
tac与cat命令恰好相反,文件内容从末行开始显示
nl显示行号
语法
nl [-bnw] file
选项与参数
-b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在荧幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ; -w :行号栏位的占用的位数。
more、less 分屏显示
语法
more/less file
more运行时可输入的命令
空白键 (space):代表向下翻一页; Enter :代表向下翻『一行』; /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字; :f :立刻显示出档名以及目前显示的行数; q :代表立刻离开 more ,不再显示该文件内容。 b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less运行时可输入的命令
空白键 :向下翻动一页; [pagedown]:向下翻动一页; [pageup] :向上翻动一页; /字串 :向下搜寻『字串』的功能; ?字串 :向上搜寻『字串』的功能; n :重复前一个搜寻 (与 / 或 ? 有关!) N :反向的重复前一个搜寻 (与 / 或 ? 有关!) q :离开 less 这个程序;
head、tail 取首位n行显示
语法
head/tail [-n nunber] file
默认情况显示十行
文件管理
> 输出重定向
可将本应显示在终端上的内容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意:**>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。**
| 管道
管道:一个命令的输出可以通过管道做为另一个命令的输入。
“ | ”的左右分为两端,从左端写入到右端。
clear 清屏
clear作用为清除终端上的显示,快捷键:Ctrl + l ( “l” 为字母 )。
cd 切换工作目录
命令 | 含义 |
---|---|
cd | 相当于cd ~ |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 切换到当前目录 |
cd .. | 切换到上级目录 |
cd - | 进入上次所在的目录 |
pwd 显示当前目录
选项与参数
-P :显示出确实的路径,而非使用连结 (link) 路径。
mkdir 创建目录
注意:新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
语法
mkdir [-mp] directionname
选项与参数
-m :指定被创建目录的权限,而不是根据默认权限 (umask) 设定 -p :递归创建所需要的目录
rm 删除文件或目录
一旦删除,不可恢复
参数 | 含义 |
---|---|
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
ln 建立链接文件
软连接: ln -s sourcefile linkfile 硬链接: ln sourcefile linkfile
软连接类似Windows下的快捷方式。
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
硬链接只能链接普通文件不能链接目录。 两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
grep 文本搜索
语法
grep [-rvni] '搜索内容串' 文件名
参数
-n 显示匹配行和行号 -i 忽略大小写进行查找
在当前目录中,查找前缀有test字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
$ grep test test* #查找前缀有test的文件包含test字符串的文件 testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行 testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行 testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:
$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi” #下包含“update”的文件 /etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.) Rather than /etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。
查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:
$ grep -v test* #查找文件名中包含test 的文件中不包含test 的行 testfile1:helLinux! testfile1:Linis a free Unix-type operating system. testfile1:Lin testfile_1:HELLO LINUX! testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. testfile_1:THIS IS A LINUX TESTFILE! testfile_2:HELLO LINUX! testfile_2:Linux is a free unix-type opterating system.
还可利用正则表达式进行进一步高级搜索
find 查找文件
常用用法
命令 | 含义 |
---|---|
find ./ -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find ./ -name ‘*.sh’ | 查找当前目录下所有后缀为.sh的文件 |
find ./ -name “[A-Z]*” | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -size 2M | 查找在/tmp 目录下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目录下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目录下小于2M的文件 |
find ./ -size +4k -size -5M | 查找当前目录下大于4k,小于5M的文件 |
find ./ -perm 0777 | 查找当前目录下权限为 777 的文件或目录 |
语法
find path -option [ -print ] [ -exec -ok command ] {} \;
常用参数
-perm xxxx:权限为 xxxx的文件或目录 -user: 按照文件属主来查找文件。 -size n : n单位,b:512位元组的区块,c:字元数,k:kilo bytes,w:二个位元组 -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件 -atime n : 在过去n天内被读取过的文件 -cmin n : 在过去 n 分钟内被修改过 -cnewer file :比文件 file 更新的文件 -ctime n : 在过去n天内被修改过的文件 -empty : 空的文件 -gid n or -group name : gid 是 n 或是 group 名称是 name -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写 -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写 -type 查找某一类型的文件: b - 块设备文件 d - 目录 c - 字符设备文件 p - 管道文件 l - 符号链接文件 f - 普通文件
cp拷贝文件
语法
cp [-operations] sourcefile/dir targetfile/dir
选项
选项 | 含义 |
---|---|
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 |
-f | 已经存在的目标文件而不提示 |
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
-l | 创建硬链接(hard link),而非复制文件本身 |
-s | 复制成为符号链接 (symbolic link),相当于批量创建快捷方式 |
-u | 若 destination 比 source 旧才升级 destination ! |
mv移动文件
mv命令用来移动文件或目录,也可以给文件或目录重命名。
常用选项
选项 | 含义 |
---|---|
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
tar归档管理
此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令参数很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数
参数 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
gzip、bzip2 文件压缩与解压缩
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
grip语法
gzip [选项] 被压缩文件
常用选项
选项 | 含义 |
---|---|
-d | 解压文件 |
-r | 压缩文件 |
tar命令中-z选项可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar zcvf 压缩包包名 文件1 文件2 …
例如: tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz
解压用法: tar zxvf 压缩包包名
解压到指定目录:-C (解压时可以不指定-z选项)
bzip2命令跟gzip用法类似
压缩用法:tar jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解压用法:tar jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
zip、unzip 文件压缩解压
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
which 查看命令位置
which command
用户和用户组管理
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。
whoami 查看当前用户
查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
who 查看登录用户
who命令用于查看当前所有登录系统的用户信息。
常用选项:
选项 | 含义 |
---|---|
-m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
-q或–count | 只显示用户的登录账号和登录用户的数量 |
选项 | 含义 |
-m或am I | 只显示运行who命令的用户名、登录终端和登录时间 |
exit 退出登录账户
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
useradd 添加用户账号
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下: useradd [参数] 新建用户账号
参数 | 含义 |
---|---|
-d | 指定用户登录系统时的主目录 |
-m | 自动建立目录,未指定-d参数时会在/home/{当前用户}目录下建立主目录 |
-g | 指定组名称 |
相关说明:
Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户); 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录; 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。 若创建用户时未指定家目录,后期可通过usermod -d /home/abc abc指定
命令 | 含义 |
---|---|
useradd -d /home/abc abc -m | 创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组 |
useradd -d /home/a a -g test -m | 创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组 |
cat /etc/passwd | 查看系统当前用户名 |
usermod 修改用户
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值 。
修改用户所在组:usermod -g 用户组 用户名
usermod -g test abc
改abc用户的家目录位置:usermod -d 家目录 用户名
usermod -d /home/abc abc
选项-l 新用户名指定一个新的账号,可修改用户名:
python@ubuntu:~/txt$ tail /etc/passwd -n 1 aaa:x:1001:1001::/home/aaa: python@ubuntu:~/txt$ sudo usermod -l bbb -d /home/bbb aaa python@ubuntu:~/txt$ tail /etc/passwd -n 1 bbb:x:1001:1001::/home/bbb:
passwd 设置用户密码
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。 -u 口令解锁。 -d 使账号无口令。 -f 强迫用户下次登录时修改口令。
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
userdel 删除用户
命令 | 含义 |
---|---|
userdel abc(用户名) | 删除abc用户,但不会自动删除用户的主目录 |
userdel -r abc(用户名) | 删除用户,同时删除用户的主目录 |
su 切换用户
su后面可以加“-”会将当前的工作目录自动转换到切换后的用户主目录.
命令 | 含义 |
---|---|
su | 切换到root用户 |
su root | 切换到root用户 |
su - | 切换到root用户,同时切换目录到/root |
su - root | 切换到root用户,同时切换目录到/root |
su 普通用户 | 切换到普通用户 |
su - 普通用户 | 切换到普通用户,同时切换普通用户所在的目录 |
注意:对于ubuntu平台,只能通过sudo su进入root账号。
sudo允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
sudo 以root身份执行指令
sudo命令可以临时获取root权限
使用权限:在 /etc/sudoers 中有出现的使用者。
显示出自己(执行 sudo 的使用者)的权限 sudo -l 以root权限执行上一条命令 sudo !!
sudoers文件配置语法
user MACHINE=COMMANDS 用户 登录的主机=(可以变换的身份) 可以执行的命令
groupadd、groupdel 添加、删除组账号
groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组
python@ubuntu:~/test$ sudo groupadd abc python@ubuntu:~/test$ sudo groupdel abc python@ubuntu:~/test$ sudo groupdel abc groupdel:“abc”组不存在
groupmod 用户组管理
修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。 -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 -n新用户组 将用户组的名字改为新名字
将组group2的组标识号修改为102:
groupmod -g 102 group2
将组group2的标识号改为10000,组名修改为group3:
groupmod –g 10000 -n group3 group2
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
系统管理
cal 日历
cal命令用于查看当前日历,-y显示整年日历:
date 显示或设置时间
date [MMDDhhmm[[CC]YY][.ss]] +format
MM为月,DD为天,hh为小时,mm为分钟;CC为年前两位,YY为年的后两位,ss为秒。
显示时间格式(date ‘+%y,%m,%d,%H,%M,%S’):
netstat 查看网络状态
语法
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
参数说明
-a或–all 显示所有连线中的Socket。 -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。 -c或–continuous 持续列出网络状态。 -C或–cache 显示路由器配置的快取信息。 -e或–extend 显示网络其他相关信息。 -F或–fib 显示FIB。 -g或–groups 显示多重广播功能群组组员名单。 -h或–help 在线帮助。 -i或–interfaces 显示网络界面信息表单。 -l或–listening 显示监控中的服务器的Socket。 -M或–masquerade 显示伪装的网络连线。 -n或–numeric 直接使用IP地址,而不通过域名服务器。 -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。 -o或–timers 显示计时器。 -p或–programs 显示正在使用Socket的程序识别码和程序名称。 -r或–route 显示Routing Table。 -s或–statistice 显示网络工作信息统计表。 -t或–tcp 显示TCP传输协议的连线状况。 -u或–udp 显示UDP传输协议的连线状况。 -v或–verbose 显示指令执行过程。 -V或–version 显示版本信息。 -w或–raw 显示RAW传输协议的连线状况。 -x或–unix 此参数的效果和指定"-A unix"参数相同。 –ip或–inet 此参数的效果和指定"-A inet"参数相同。
常用:
[root@VM_0_9_centos ~]# netstat -nltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3308/sshd tcp6 0 0 :::80 :::* LISTEN 4624/httpd
ps 查看进程信息
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令选项
ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 ps -H 显示树状结构,表示程序间的相互关系。 ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 ps s 采用程序信号的格式显示程序状况。 ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序,不以终端机来区分。
常见用法
ps -e 查看所有进程信息(瞬时的) ps -u root -N 查看所有不是root运行的进程 ps ax 显示所有进程状态状态 ps -ef |grep xxx 显示含有xxx的进程
pstree 以树状图显示进程关系
特别表明在运行的进程:
# pstree -apnh //显示进程间的关系
同时显示用户名称:
# pstree -u //显示用户名称
top 动态显示进程
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。-d参数可以指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
按键 含义 M 根据内存使用量来排序 P 根据CPU占有率来排序 T 根据进程运行时间的长短来排序 U 可以根据后面输入的用户名来筛选进程 K 可以根据后面输入的PID来杀死进程。 q 退出 h 获得帮助
更高级的命令是htop,但需要安装
kill 终止进程
kill命令指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
reboot、shutdown、init 关机重启
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后自动关机 |
init 0 | 关机 |
init 6 | 重启 |
df 检测磁盘空间
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
选项 | 含义 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘空间使用情况 |
-T | 显示文件系统 |
du 检测目录所占磁盘空间
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下:
du [选项] 目录或文件名
选项 | 含义 |
---|---|
-a | 递归显示指定目录中各文件和子目录中文件占用的数据块 |
-s | 显示指定文件或目录占用的数据块 |
-b | 以字节为单位显示磁盘占用情况 |
-l | 计算所有文件大小,对硬链接文件计算多次 |
ifconfig 查看或配置网卡信息
ifconfig显示所有网卡的信息
修改ip: sudo ifconfig ens33 192.168.40.10
ping 测试远程主机连通性
ping + 网址
正则表达式
量词
例子(c代表一个任意字符) | 含义 | 记忆/备注 |
---|---|---|
c? | 零个或一个c | 有么? |
c* | 零个或多个c | 乘几都可以 |
c+ | 一个或多个c | 加几都可以 |
c{3} | 三个c | |
c{2,6} | 二到六个c | |
c{4,} | 四个及以上个c | |
c?? | 最少的零个或一个c | rai?? 匹配rail中的ra |
c*? | 最少的零个或多个c | a.*?c 匹配abcbc"中的"abc" |
c+? | 最少的一个或多个c | be+? 匹配been中的be |
注意:默认为贪婪模式匹配,即尽可能多地匹配所搜索的字符串,例如,对于字符串“oooo”,“o+”将尽可能多地匹配“o”,得到结果[“oooo”]
若加上?则可切换至非贪婪模式。在上面有个例子中,“o+?”将尽可能少地匹配“o”,得到结果 ['o', 'o', 'o', 'o']
字符边界
示例 | 含义 |
---|---|
^abc | 以abc开头 |
abc$ | 以abc结尾 |
abc\b | 单词abc(左右不能是字母或数字) |
转义字符
字符 | 含义 |
---|---|
\a | 匹配响铃(警报)字符,\u0007 。 |
\b | 在 [ character_group] 字符类中,匹配退格,\u0008 。 在字符类之外,\b 是匹配字边界的定位点。 |
\t | 匹配制表符,\u0009 。 |
\r | 匹配回车,\u000D 。 请注意,\r 不等同于换行符,\n 。 |
\v | 匹配垂直制表符,\u000B 。 |
\f | 匹配换页,\u000C 。 |
\n | 匹配换行,\u000A 。 |
\e | 匹配转义,\u001B 。 |
\ nnn | 匹配 ASCII 字符,其中 nnn 包含表示八进制字符代码的两位数或三位数。 例如,\040 表示空格字符。 如果此构造仅包含一个数字(如 \2 )或者它对应捕获组的编号,则将它解释为向后引用。 (请参阅向后引用构造。) |
\x nn | 匹配 ASCII 字符,其中 nn 是两位数的十六进制字符代码。 |
\c X | 匹配 ASCII 控制字符,其中 X 是控制字符的字母。 例如,\cC 为 CTRL-C。 |
\u nnnn | 匹配的 UTF-16 代码单元,单元值是 nnnn 十六进制。 注意:.NET 不支持用于指定 Unicode 的 Perl 5 字符转义。 Perl 5 字符转义采用以下格式 \x{ ####…} ,其中 ####… 是一系列十六进制数字。 改用 \u nnnn。 |
\ | 后接字符未识别为转义字符时,将匹配此字符。 例如,\* 匹配星号 (*) 并等同于 \x2A 。 |
字符类
字符类 | 含义 | 示例 | 匹配结果 |
---|---|---|---|
[xyz]正字符组 | 匹配xyz其中任何一个 | [\p{P}\d] | 所有标点和数字 |
[a-f3-8] | 匹配a-f和3-8中任何一个 | \b[\da-fA-F]+\b | 十六进制数 |
[^xyz]负字符组 | 匹配不是x或y或z的任何一个 | [^aeiou] | 除元音以外的所有字符 |
[^a-z] | 匹配不是a到z的任何一个 | ||
.任意字符 | 匹配除换行符的任何一个字符(包括回车\r) | ||
\w单词字符 | 等效于[a-zA-Z_0-9] | ||
\W非单词字符 | 等效于[^a-zA-Z_0-9] | ||
\s空格字符 | 等效于[ \f\n\r\t\v] | \b\w+(e)?s(\s|$) | 以“s”或“es”结尾且后跟一个空白字符或输入字符串末尾的单词 |
\S非空格字符 | 等效于[^ \f\n\r\t\v] | ||
\d十进制数字字符 | 等效于[0-9] | \b\d+[13579]\b | 奇数 |
\D 非数字字符 | 等效于[^0-9] | ||
\p{} Unicode类别 | 查找属于打括号对应字符类的任意一个字符 | ||
\P{} 负Unicode类别 |
字符类减法:[base_group - [excluded_group]]
Vim
vim分三种模式,分别为命令模式command mode ,输入模式Insert mode, 和底线控制模式Last line mode
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。 任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;
此状态下敲击键盘动作会被Vim识别为命令,输入:
可切换到底线命令模式,以在最底一行输入命令。
移动光标
移动光标的方法 | 含义 | 记忆 |
---|---|---|
h 或 向左箭头键← | 光标向左移动一个字符 | 右手四指 |
j 或 向下箭头键↓ | 光标向下移动一个字符 | 中指下 |
k 或 向上箭头键↑ | 光标向上移动一个字符 | 无名指上 |
l 或 向右箭头键→ | 光标向右移动一个字符 | |
num + 方向 | 光标向该方向移动num格 | |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) | 魔方方位记号 |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) | front前back后 |
[Ctrl] + [d] | 屏幕『向下』移动半页 | down底 |
[Ctrl] + [u] | 屏幕『向上』移动半页 | up头 |
+ | 光标移动到非空格符的下一行 | |
- | 光标移动到非空格符的上一行 | |
num + space | 表示光标向右移动num个字符 | |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 | |
$ 或功能键[End] | 移动到这一行的最后面字符处 | |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 | Head |
M | 光标移动到这个屏幕的中央那一行的第一个字符 | Middle |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 | Lastline |
G | 移动到这个文档的最后一行 | go? |
gg | 移动到这个文档的第一行,相当于 1G | |
num+G | 移动到这个文件的第 num 行。例如 20G 则会移动到这个文件的第 20 行(可配合 :set nu) | 绝对行数 |
num | 光标向下移动 num 行 |
删除操作
删除操作 | 删除后会添加到剪切板,相当于剪切 |
---|---|
x, X | x为向后删除一个字符 (相当于 [del] 按键), X为向前删除一个字符(相当于 [backspace] ) |
nx | n 为数字,连续向后删除 n 个字符。例如10x表示连续删除 10 个字符。 |
dd | 删除光标所在的一整行 |
num+dd | 删除光标所在的向下 num 行,例如 20dd 则是删除 20 行 |
d1G/dgg | 删除光标所在行到文本开头的所有数据 |
dG | 删除光标所在行到文本结尾的所有数据 |
d$ | 删除光标所在位置到该行的最后一个字符 |
d0 | 删除光标所在位置到该行的最前面一个字符 |
dw | 删除一个单词(从光标处到空格) |
daw | 无论光标在什么位置,删除光标所在的整个单词(包括空白字符) |
diw | 删除整个单词文本,但是保留空格字符不删除 |
d+num+w | : 删除从当前光标开始处的num个单词 |
撤销&复原&重复
撤销&复原 | |
---|---|
u | 撤销操作,相对于普通编辑器里面的ctrl+z |
Ctrl+r | 恢复操作,相对于普通编辑器里面的ctrl+y |
. | 就是小数点!可重复前一个动作 |
修改&替换
cc | 删除一整行并进入到插入模式 |
---|---|
cw | 删除从光标处到单词结尾的文本并进入到插入模式 |
cb | 删除从光标处到单词开头的文本并进入到插入模式 |
~ | 修改光标下字符的大小写 |
r | 替换当前光标下的字符 |
R | 进入到替换模式 |
xp | 交换光标和下一个字符 |
复制&粘贴&合成行
yy | 复制光标所在行 |
---|---|
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行 |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在光标上一行! |
J | 将光标所在行与下一行的数据结合成同一行 |
搜索
搜索 | |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。 |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 代表重复前一个搜寻的动作,根据前面输入的/word还是?word向下或向上搜索下一个匹配的字符串。 |
N | 表示反向搜索,与n的搜索方向相反。 |
替换
替换 | |
---|---|
:n1,n2s/word1/word2/g | 在第 n1 与 n2 行之间寻找word1并替换为word2!比如『:100,200s/vbird/VBIRD/g』表示在100到200行之间将vbird替换为VBIRD |
:1,$s/word1/word2/g 或 :%s/word1/word2/g | $表示最后一行,%s表示所有行。 |
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc | gc中的c表示取代前显示提示字符给用户确认 (confirm) ! |
输入模式(替换模式)
切换方式
仅可由命令模式切换至
切换命令 | 进入输入或取代的编辑模式 |
---|---|
i, I | 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 |
a, A | 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。 |
o, O | 进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行! |
r, R | 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止; |
可用操作
-
字符按键以及Shift组合,输入字符
-
ENTER,回车键,换行
-
BACK SPACE,退格键,删除光标前一个字符
-
DEL,删除键,删除光标后一个字符
-
方向键,在文本中移动光标
-
HOME/END,移动光标到行首/行尾
-
Page Up/Page Down,上/下翻页
-
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
-
ESC,退出输入模式,切换到命令模式
底线控制模式
底行命令模式 | |
---|---|
:w | 保存编辑数据 |
:w! | 若文件属性为『只读』时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关啊! |
:q | 离开 vi |
:q! | 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存文件。 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 |
:ZZ | 若文件没有更动,则不储存离开,若文件已经被更动过,则储存后离开! |
:w +[filename] | 另存为 |
:r + [filename] | 将另一个文件『filename』的数据加到光标所在行后面 |
:n1,n2 w [filename] | 将 n1 到 n2 行的内容储存成 filename 这个文件。 |
:! command | 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的文件信息! |
:set nu | 会在每一行的前缀显示该行的行号 |
:set nonu | 取消行号显示 |
可视模式
v 进入字符可视化模式: 文本选择是以字符为单位的。 V 进入行可视化模式: 文本选择是以行为单位的。 Ctrl+v 进入块可视化模式 : 选择一个矩形内的文本。
可视模式下可进行如下操作:
可视模式操作 | |
---|---|
A | 在选定的部分后面插入内容 |
I | 在选定的部分前面插入内容 |
d | 删除选定的部分 |
c | 删除选定的部分并进入插入模式(有批量替换效果) |
r | 把选定的部分全部替换为指定的单个字符 |
>> | 向右缩进一个单位,更适合行可视化模式 |
<< | 向左缩进一个单位,更适合行可视化模式 |
gu | 选中区域转为小写 |
gU | 选中区域转为大写 |
g~ | 大小写互调 |
tmux
Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。
tmux是什么
会话与进程
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。
Tmux 的作用
它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
它可以让新窗口"接入"已经存在的会话。
它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
它还支持窗口任意的垂直和水平拆分。
基本用法
安装
sudo apt-get install tmux
启动与退出
启动后键入tmux
命令,就进入了Tmux窗口
底部为状态栏,左侧是窗口信息(编号和名称),右侧是系统信息
按下ctrl + d
或输入exit
指令可退出Tmux窗口,回到终端窗口,此时tmux窗口进程结束
会话管理
新建会话
第一个启动的 Tmux 窗口,编号是0
,第二个窗口的编号是1
,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。
使用编号区分会话,不太直观,更好的方法是为会话起名。
tmux new -s <session-name>
分离会话
在 Tmux 窗口中,按下Ctrl+b d
或者输入tmux detach
命令,就会将当前会话与窗口分离
tmux detach
上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。
查看当前所有会话
tmux ls #or tmux list-session
接入会话
# 使用会话编号 $ tmux attach -t 0 # 使用会话名称 $ tmux attach -t <session-name>
杀死会话
# 使用会话编号 $ tmux kill-session -t 0 # 使用会话名称 $ tmux kill-session -t <session-name>
切换会话
# 使用会话编号 $ tmux switch -t 0 # 使用会话名称 $ tmux switch -t <session-name>
重命名会话
tmux rename-session -t 0 <new-name>
会话快捷键
Ctrl+b d:分离当前会话。 Ctrl+b s:列出所有会话。 Ctrl+b $:重命名当前会话。
最简操作流程
新建会话tmux new -s my_session。 在 Tmux 窗口运行所需的程序。 按下快捷键Ctrl+b d将会话分离。 下次使用时,重新连接到会话tmux attach-session -t my_session。
窗格操作
Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。
划分窗格
# 划分上下两个窗格 $ 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+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 new-window # 新建一个指定名称的窗口 $ tmux new-window -n <window-name>
重命名窗口
$ tmux rename-window <new-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 # 列出当前所有 Tmux 会话的信息 $ tmux info # 重新加载当前的 Tmux 配置 $ tmux source-file ~/.tmux.conf