10个很实用Linux命令,千万不要错过

下面介绍的命令都是不常见但又是很实用的命令,学会了它们,工作上更得心应手

1. !!

回想下自己身上是否发生过这样一种情况,当键入一行很长的命令敲击回车之后才发现命令开头忘记加 sudo 了,这时候你只需要键入 sudo !!,命令行自动把 !!替换成你上一条运行的命令

[tt@ecs-centos-7 ~]$ yum install cowsay
Loaded plugins: fastestmirror
You need to be root to perform this command.
[tt@ecs-centos-7 ~]$ sudo !!
sudo yum install cowsay

2. cd -

使用过Linux系统的人都知道 cd ..命令 是返回上一级目录,但是很少人知道 cd - 命令作用是返上一次cd到的目录

[root@ecs-centos-7 ~]# pwd
/root
[root@ecs-centos-7 ~]# cd /home/tt
[root@ecs-centos-7 tt]# pwd
/home/tt
[root@ecs-centos-7 tt]# cd -
/root
[root@ecs-centos-7 ~]# pwd
/root
[root@ecs-centos-7 ~]# cd -
/home/tt
[root@ecs-centos-7 tt]# pwd
/home/tt

上面的例子中,首先当前目录是:/root 执行 cd /home/tt之后目录变为/home/tt,然后执行 cd - 目录又变成了/root,再次执行cd -,当前目录又回到了/hom/tt

3. cd

你可能知道 ~ 表示Home目录,但是很少人知道的一个小窍门: 如果你键入 cd 命令,依然能回到Home目录

[root@ecs-centos-7 ~]# pwd
/root
[root@ecs-centos-7 ~]# cd /home/tt
[root@ecs-centos-7 tt]# pwd
/home/tt
[root@ecs-centos-7 tt]# cd
[root@ecs-centos-7 ~]# pwd
/root
[root@ecs-centos-7 ~]# 

4. 搜索

你可以通过键盘上的上下键搜索已经键入过的命令,可能你需要连续按15次向上箭头的按键才能找到曾经输入过的ls 命令。现在使用反向搜索可以很轻松的实现: 按一下Ctrl + R 键后开始输入命令,反向搜索功能会从最近历史命令中查找和输入最匹配的命令

[tt@ecs-centos-7 ~]$ ls -lh
total 0
-rw-rw-r-- 1 tt tt 0 Jul  2 00:40 a.txt
[tt@ecs-centos-7 ~]$ date
Thu Jul  2 00:41:00 CST 2020
(reverse-i-search)`l': ls -lh

total 0
-rw-rw-r-- 1 tt tt 0 Jul  2 00:40 a.txt
[tt@ecs-centos-7 ~]$ 

5. 重用参数

另一个小窍门是 !$ 它会被替换成前面一个命令的参数。这是很实用的,例如,当你新创建了一个目录并且想进入这个目录:

[tt@ecs-centos-7 ~]$ mkdir temp
[tt@ecs-centos-7 ~]$ cd !$
cd temp
[tt@ecs-centos-7 temp]$ pwd
/home/tt/temp
[tt@ecs-centos-7 temp]$

6. 拷贝和粘贴

你可能已经发现了 Ctrl + CCtrl + V,这两个组合在终端上是预留给正在运行的进程用的,可以用Ctrl + Shift + CCtrl + Shift + V来替代 Ctrl + CCtrl + V的功能。

7. 让你的程序后台运行

在终端运行应用程序时,应用程序会随着终端的关闭而退出。使用 nohup命令可以实现终端退出,应用程序依然运行着,nohup 是 "no hang up"的缩写。
例如:使用scp命令从本地传输大文件到远程服务器上,假如突然关掉终端的话,如何保证传输不会中断呢?下面的命令会解决这个问题。

nohup scp big_file user@host:~/big_file

nohup 会创建一个nohup.out文件记录命令的输出

8. 自动确认

在编写shell脚本自动执行任务时,有时需要人工输入 yes ,命令才会往下执行。在命令前加上 yes | 就会跳过人工输入的步骤,下面的命令会自动输入 yes

yes | yum install lrzsz  

如果想自动输入 no ,则在命令前加上no |,下面的命令会自动输入 no

9. 粉碎文件

如果你比较注重隐私的话,那这个命令很适合你。rm命令常用来删除文件,删除之后可以通过特殊的软件提取出已经删除的文件数据。想要彻底删除,可以试下下面的命令

shred -zvu filename

10. vim为文件设置密码

  • 如果文件处于vim编辑状态,切换到命令模式,输入:X(注意:这里是大写的X) 输入密码,再次确认密码之后保存退出
  • 如果文件没有处于编辑状态,使用 vim +X filename 也可以为文件设置密码

下面是为文件 a.txt 设置密码

[root@ecs-centos-7 ~]# vim a.txt
:X
Warning: Using a weak encryption method; see :help 'cm'                 
Enter encryption key: ***
Enter same key again: ***

设置密码之后,无论是通过cat还是vim都无法直接查看或者编辑 a.txt

[root@ecs-centos-7 ~]# cat a.txt 
VimCrypt~01!q,oot@ecs-centos-7 ~]#
[root@ecs-centos-7 ~]# vim a.txt
Need encryption key for "a.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key:

从上面可以看出,使用 cat a.txt命令看到的是一串乱码,通过vim a.txt 编辑文件,需要先输入密码

原文地址:https://www.cnblogs.com/wanng/p/ten-linux-practical-command.html