欢迎光临散文网 会员登陆 & 注册

你绝对不全知道的Linux命令行基础技巧

2023-03-26 16:10 作者:啥都会一点的研究生  | 我要投稿

以下均以Linux默认bash进行说明,相信我,每一个都很能打,肥肠有用

1. !!

输入并运行一个长命令后,经常发现忘记在开头添加sudo,这有问题吗,这没问题

可以输入sudo !!

命令行将!!替换为运行的最后一个命令:

2. 回退

都知道可以使用cd进入目录

但是很少人知道使用cd -可以回到上一个目录:

3. 回到/Home

大家可能知道~是主文件夹的快捷方式

但是有一个鲜为人知的技巧:如果输入cd之后没有紧跟其他内容,仍然会进入主目录:

4.搜索

很多时候为了找到前几次输入过的命令,需要按向上箭头N次才能找到

但是使用反向搜索功能可以更容易地实现这一点

Ctrl+R并开始输入命令,反向搜索填充会找到最近历史记录中最接近的匹配项(不得不提zsh真是方便):

5. 重复使用一个参数

另一个方便的技巧是!$,将前一个命令的参数替换

例如,经常遇到的创建一个文件夹并想要cd进入时:

6.复制粘贴

有人可能注意到Ctrl+CCtrl+V在Linux终端中无法正常工作

大多数情况下,这些被替换为Ctrl+Shift+CCtrl+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命令列出系统中当前的所有用户

我是啥都生,下期再见~


你绝对不全知道的Linux命令行基础技巧的评论 (共 条)

分享到微博请遵守国家法律