你可能不知道的5个Linux命令特殊小技巧

    /    2019-05-15

1、快速拷贝或备份文件

[root@oldboy ~]# cp /etc/services{,.bak}
[root@oldboy ~]# ll /etc/services*
-rw-r--r--. 1 root root 641020 10 月 2 2013 /etc/services
-rw-r--r-- 1 root root 641020 1 月 31 20:35 /etc/services.bak #<==扩展名为.bak。

2、使用 sed 替换的同时实现数据备份

[root@oldboy ~]# echo "I am oldboy training." >oldboyedu.txt
[root@oldboy ~]# cat oldboyedu.txt
I am oldboy training.
[root@oldboy ~]# sed -i.ori 's#oldboy#oldgirl#g' oldboyedu.txt #<==-i 后面加备份的文件名。
[root@oldboy ~]# cat oldboyedu.txt
I am oldgirl training.
[root@oldboy ~]# cat oldboyedu.txt.ori
I am oldboy training.

3、快速获取上一个命令结尾的内容(结尾开始遇到空格结束)

[root@oldboy ~]# ls /etc/hosts
/etc/hosts
[root@oldboy ~]# cat /etc/hosts(输入 cat 后,然后按 Esc 键+点号.即可快速获取/etc/hosts 内容)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

4、命令行拷贝文件不提示覆盖确认信息

[root@oldboy ~]# cp /etc/hosts /opt/
[root@oldboy ~]# cp /etc/hosts /opt/
cp:是否覆盖"/opt/hosts"? n
[root@oldboy ~]# \cp /etc/hosts /opt/ #<==命令开头加\。
[root@oldboy ~]# /bin/cp /etc/hosts /opt/ #<==命令使用全路径。

5、查看一个命令或配置文件所属的软件包

[root@www ~]# yum provides /etc/my.cnf #<==/etc/my.cnf 属于哪个包,注意是 yum 或 rpm 安装的包。
1:mariadb-libs-5.5.60-1.el7_5.i686 : The shared libraries required for MariaDB/MySQL clients
Repo : base
Matched from:
Filename : /etc/my.cnf
[root@www ~]# yum provides mysql #<==查看 mysql 命令属于哪个包。
1:mariadb-5.5.60-1.el7_5.x86_64 : A community developed branch of MySQL
Repo : base
Matched from:
Provides : mysql = 1:5.5.60-1.el7_5


(8)

分享至