你绝对不全知道的Linux命令行基础技巧
以下均以Linux默认bash
进行说明,相信我,每一个都很能打,肥肠有用
1. !!
输入并运行一个长命令后,经常发现忘记在开头添加sudo
,这有问题吗,这没问题
可以输入sudo !!
命令行将!!
替换为运行的最后一个命令:

2. 回退
都知道可以使用cd
进入目录
但是很少人知道使用cd -
可以回到上一个目录:

3. 回到/Home
大家可能知道~是主文件夹的快捷方式
但是有一个鲜为人知的技巧:如果输入cd
之后没有紧跟其他内容,仍然会进入主目录:

4.搜索
很多时候为了找到前几次输入过的命令,需要按向上箭头N次才能找到
但是使用反向搜索功能可以更容易地实现这一点
按Ctrl+R
并开始输入命令,反向搜索填充会找到最近历史记录中最接近的匹配项(不得不提zsh真是方便):

5. 重复使用一个参数
另一个方便的技巧是!$
,将前一个命令的参数替换
例如,经常遇到的创建一个文件夹并想要cd
进入时:

6.复制粘贴
有人可能注意到Ctrl+C
和Ctrl+V
在Linux终端中无法正常工作
大多数情况下,这些被替换为Ctrl+Shift+C
和Ctrl+Shit+V
这是因为Ctrl+C
已被保留用于终止当前正在运行的程序,别以为都知道这个技巧
7. 无需密码通过 SSH 进行身份验证
经常登录某个SSH服务器,每次输入密码会很烦
如果主机和服务器交换证书,可以跳过它
首先,运行命令ssh-keygen
创建一个私钥/公钥对并将其保存到~/.ssh/id_rsa
紧接着使用命令将公钥复制到服务器:ssh-copy-id [email protected]_host
系统将提示输入服务器密码,并复制公钥
如此,无需密码即可从该特定系统登录该服务器
注意:此方法的安全性绝不低于常规身份验证。 如果本地系统是安全的,它甚至可能更安全。 除非泄露私钥,否则将无法登录 SSH
8. 让程序在后台运行
如果在终端运行一个程序,正常情况下会在结束这个终端会话后立即被杀死
为了防止这种情况并保持程序运行,使用nohup
命令——代表“不挂断”
例如,要使用scp
在服务器之间传输文件,同时确保即使不小心关闭了终端窗口,传输也会继续,使用以下命令:
nohup
还会创建一个名为nohup.out
的文件来保存命令的输出
9. 回答Yes
如果编写bash脚本来自动执行某些任务,可能会因为对运行的每个命令都输入yes
而感到烦恼
要跳过这个步骤并对任何命令回答yes
,可以在前面加上yes |
如果想回答no
,在前面加上yes no |
10. 以root身份登录
使用sudo su
su
命令以root身份登录,sudo
将以root身份执行,不需要root密码
此外,某些发行版禁用root密码,因此这是唯一的选择:

11. 注销
从SSH、SFTP、root或从终端会话注销的最快方法是Ctrl+D
快捷方式
当处理大量 SSH 连接或无法进入exit
时,会派上用场,这个真的很常用啊亲
12. 粉碎文件
rm
命令被广泛用于删除文件,但并不能完全删除文件
即使删除后,也可以使用特殊软件提取数据
要完全删除文件并用零填充它使用的空间,使用shred
命令
像这样使用shred -zvu <filename>
13. VIM中的密码保护文件
可以使用vim +X filename
命令或直接在Vim中使用:X
命令在Vim中使用密码保护文件
14. 列出用户
如果有隐私方面的顾虑,希望随时检查谁登录了系统
可以使用w
命令列出系统中当前的所有用户
我是啥都生,下期再见~