本文主要介绍Linux操作系统中一些常用操作。
说明:本文的用法示例是面向CentOS 7操作系统的,在其他的Linux发行版中相关用法可能略有不同。
1 显示目录的完整路径
当使用cd命令进入到某个目录后,如果要在主机名后显示完整的目录路径,需要修改用户根目录下的“.bashrc”或该文件内调用的相关文件“/etc/bashrc”)文件中的“PS1="[\u@\h \w]\\$ "”语句,将其中的“\W”修改为“\w”。如下图所示:
简单总结一下,对于上图中的红色标记部分:如果设置为“\w”,则显示完整路径;如果设置为“\W”,则只显示当前目录。
2 使用grep命令查找多个关键字
可以通过正则表达式选项(-E),使用正则表达式让grep同时查找多个关键字。
正则表达式的选项(-E)的描述如下:
-E, --extended-regexp
Interpret PATTERN as an extended regular expression (see below).
例如,如果想同时查找关键字“114”、“115”、“116”和“117”,则可执行如下命令:
[root@node1 /opt/liitdar/test]# grep -nrwE "114|115|116|117" *
aa:1:116
bb:1:117
bb:2:115
[root@node1 /opt/liitdar/test]#
3 查看系统的网关(GATEWAY)地址
使用netstat命令的“-r”选项,可以查看系统当前的网关地址,相关命令如下:
[root@node1 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.120.2 0.0.0.0 UG 0 0 0 ens32
192.168.120.0 0.0.0.0 255.255.255.0 U 0 0 0 ens32
[root@node1 ~]#
4 管理alias(别名)
可以通过修改用户根目录下的“.bashrc”文件,对alias进行管理,如下图所示:
在上图中,新增了两个别名:分别以“l”代替“ll”,以“..”代替“cd ..”。
说明:
- 由于系统可能会在多个配置文件(如“.bashrc”、“/etc/bashrc”等)中存在别名的设置,所以在设置别名时,需要确认好其他地方别名的设置情况,避免别名覆盖;
- 通过修改配置文件的方式修改别名后,需要重新登录(终端),修改的别名才会生效。
5 使用nohup忽略hangup信号
nohup命令的一般用法如下:
nohup COMMAND [ARG]...
通过使用nohup命令,可以在终端(如Xshell)退出时忽略hangup信号,从而达到退出终端不影响nohup的后接程序(即COMMAND)正常运行的目的,也可理解为让程序在后台不挂断地运行。
对于使用nohup命令后,程序的输入和输出内容的来源和去向,说明如下:
If standard input is a terminal, redirect it from /dev/null.
If standard output is a terminal, append output to 'nohup.out' if possible,
'$HOME/nohup.out' otherwise.
If standard error is a terminal, redirect it to standard output.
To save output to FILE, use 'nohup COMMAND > FILE'.
6 使用date命令显示毫秒/微秒/纳秒
date命令默认只提供纳秒信息,为“%N”,不过因为纳秒、微秒和毫秒之间存在进制转换关系,所以通过纳秒信息也能轻易知道毫秒的信息。
例如,在CentOS 7.6中通过date命令显示日期及时间(毫秒)的示例命令如下:
date +%F.%H:%M:%S.%N
上图中红线标记的内容,即为毫秒信息。
7 使用zip命令制作压缩文件
安装zip软件包后,就可以使用zip命令制作“*.zip”格式的压缩文件了。使用zip命令制作zip格式压缩文件的示例命令如下:
zip -r test.zip test/
上述命令将test文件夹以及其中的所有内容压缩至文件“test.zip”中。
“-r”选项的作用是递归压缩子目录,描述如下:
-r recurse into directories
8 使用unzip命令解压zip格式压缩文件
安装unzip软件包后,就可以使用unzip命令解压缩“*.zip”格式的压缩文件了。使用unzip命令解压缩zip格式压缩文件的示例命令如下:
unzip test.zip
上述命令会解压zip格式的压缩文件“test.zip”,得到解压后的内容。
9 修改hostname
通过hostnamectl命令可永久修改hostname(即,重启后依然生效),命令如下:
hostnamectl set-hostname yourhostname