Linux 是码农最常用的的OS,很多操作都是命令行,所以很有必要熟练和理解其中一些重要的命令。这里会介绍一些。
这里讲的所有都基于bash,mac也可以使用。
!!
这件事发生了几次? 输入并运行一条长命令后,您发现您忘记在开头添加sudo。 好吧,您可以输入sudo!! 和命令行将替换! 使用您尝试运行的最后一个命令:
回退
每个人都知道您可以使用cd进入目录。但是几乎没有人知道使用cd-您可以返回上一个目录:
返回主目录
您可能知道〜是主文件夹的快捷方式。 但是有一个几乎没人知道的窍门:如果您输入cd之后没有任何输入,它将仍然带您到主目录:
查询
众所周知,您可以使用箭头滚动浏览历史记录。 开发人员是如此懒惰,我们宁愿按向上箭头15次以发现我们在某个地方。 但这可以通过反向搜索功能轻松实现。 按Ctrl + R并开始输入命令,反向搜索填充将查找您最近历史记录中最接近的匹配项:
重复使用参数
另一个方便的技巧是!$快捷方式。 它将被上一个命令的参数替换。 例如,当您创建一个文件夹并希望将其插入CD时,它很有用:
复制黏贴
您可能已经注意到Ctrl + C和Ctrl + V在Linux终端中无法正常工作。 通常,它们被Ctrl + Shift + C和Ctrl + Shit + V代替。 这是因为Ctrl + C已被保留用于终止当前正在运行的程序。
SSH 无需密码
如果您经常登录到特定的SSH服务器,则每次必须输入密码会很烦人。 如果主机和服务器交换证书,则可以跳过它。
首先,您必须生成一个。 运行命令ssh-keygen。 这将创建一个私钥/公钥对,并将其保存到〜/ .ssh / id_rsa。 现在,您需要使用以下命令将公用密钥复制到服务器:ssh-copy-id [受电子邮件保护] _host。 系统将提示您输入服务器的密码,并将复制公钥。 现在,您无需密码即可从该特定系统登录到该服务器。 注意:此方法绝不比常规身份验证安全。 如果您的本地系统受保护,它甚至可能更加安全。 除非您泄露了私钥,否则将无法登录SSH。
后台运行
如果您在终端中运行程序,则在您结束该终端会话后,该程序将被杀死。 为了防止这种情况并保持程序运行,请使用nohup命令-代表“不挂机”。 例如,要使用scp在服务器之间来回传输文件,同时确保即使意外关闭终端窗口也能继续进行传输,请使用以下命令:
nohup scp very-big-file.mkv [email protected]:~/very-big-file.mkv
nohup还创建一个名为nohup.out的文件来保存命令的输出。
回答Yes
如果您编写bash脚本来自动执行某些任务,则可能会对在运行的每个命令中输入yes感到沮丧。 要跳过它并对任何命令回答yes,请在它前面加上yes |,如下所示:
yes | apt-get update
如果您想回答no,请在其前面加上yes no |。
以Root登录
这不是最佳做法,但有时别无选择。 但是,下一个最佳选择是使用sudo su。 su命令以root用户身份登录,sudo将以root用户身份执行。 因此,您不需要root密码。 此外,某些发行版禁用root密码,因此这是您唯一的选择:
退出
从SSH,SFTP,root或完全从终端会话注销的最快方法是Ctrl + D快捷键。 当您处理大量SSH连接或无法输入exit时,它会派上用场。
粉碎文件
如果您重视隐私,那么这就是给您的。 rm命令广泛用于删除文件,但不能完全删除它们。 即使删除后,也可以使用特殊软件提取数据。 要完全删除文件并用零填充它正在使用的空间,请使用shred命令。 像这样使用它:shred -zvu 。
密码文件vim
如果您是使用Vim的人之一,那么我很佩服。 您将很高兴地了解到,可以使用vim + X filename命令或直接在Vim中使用:X命令在Vim中对文件进行密码保护。
list用户
如果您有隐私问题,则可能希望随时检查谁在系统上登录。 您可以使用w命令列出系统中当前的所有用户。 此外,您可以编写一个脚本,该脚本将按计划运行此命令,并在出现异常情况时通过电子邮件发送给您。
显示系统信息
要以精美的方式显示您的系统信息,请安装并使用命令screenfetch
奖励
如果您感到孤独,Linux可以催生出可以与您交谈的超赞牛。 例如,要说Hello world,请使用echo "Hello world" | Cowsay: