当前位置: 首页 > 科技观察

高级CLI:每个开发人员都应该知道的命令

时间:2023-03-21 23:46:40 科技观察

在本文中,我们不会介绍ls、rm和cd等基本命令。看到这些命令应该不会让您感到震惊。您甚至可能对它们非常熟悉,尤其是如果您非常熟悉命令行的话。我假设您之前至少在命令行上工作过(或尝试过)。如果您以前从未使用过命令行,我建议您先阅读一些基础知识。本文适用于对命令行有一定经验并了解基本命令的用户。对于那些觉得是时候深入研究使用命令行的可能性的人。在本文中,我为您列出了六个命令以及一些提示。wget在类Unix操作系统上,wget命令通过HTTP、HTTPS或FTP服务的网络下载文件。它默认包含在所有自尊的Linux发行版中。使用wget的最简单方法是通过HTTP为它提供要下载的文件的位置。使用wget下载文件http://website.com/static/images/header.jpg可以通过以下命令完成:wgethttp://website.com/static/images/header.jpgwget的一大优势是它是非交互式的,这意味着当用户未登录时它可以在后台运行。这允许您开始检索并断开与系统的连接,让wget完成工作。scp您是否遇到过需要从本地计算机上的远程服务器获取文件的问题?例如,获取用户上传的文件会引起一些麻烦。您可以使用scp命令通过命令行下载此文件。scp是安全复制的缩写。但是,更重要的是它是一个远程安全副本。此命令类似于您可能已经知道的cp命令,但源或目标位于另一个系统上。以下命令将文件foobar.txt从远程服务器复制到本地目录。scpusername@remotehost.com:/path/to/foobar.txt/some/local/directory但是scp也可以用来将文件从本地目录复制到远程服务器。scp/some/local/directory/foobar.txtusername@remotehost.com:/destination/path/可以使用-r选项对目录执行相同的操作,递归地复制整个目录。ssh-keygenssh-keygen命令用于生成新的SSH密钥对。该命令生成的SSH公钥可以在Gitlab或Bitbucket中使用,建立安全连接。将SSH密钥添加到Gitlab或Bitbucket后,每次尝试将文件推送到远程分支时都不会提示您输入密码。要生成SSH密钥对,请使用以下命令:ssh-keygen-ted25519请注意,在上面的示例中,我们使用了ED25519签名算法。尽管ED25519被认为是最佳实践,但您应该始终对可用的不同签名算法进行一些研究。生成SSH密钥对并在Gitlab或Bitbucket中正确设置它最多可能需要十分钟(大约三分钟),但这是完全值得的!chmod在Unix和类Unix操作系统中,chmod是一个命令和系统调用,用于更改文件系统对象(文件和目录)的访问权限。根据维基百科,这是chmod命令的定义。由于文件权限配置不正确,服务器无法访问文件。chmod命令本身非常简单,但是为文件和目录赋予正确的权限则是另一回事。ssh-keygen-ted25519第一个示例向robots.txt文件的用户和组授予读写权限。授予对该文件的读取权限。第二个示例授予用户和组对public/images文件夹的读取、写入和执行权限。其他人被授予对该文件夹的读取和执行权限。如果您想了解有关设置文件和目录的正确权限的更多信息,我建议您阅读有关chmod的维基百科页面。tarLinuxtar代表磁带存档。它用于将许多文件收集到一个存档中。Tar是用于创建压缩档案的最广泛使用的命令。让我们从如何为特定目录创建归档文件开始:当前工作目录中创建的/path/to/目录中的所有文件。创建存档文件是第一步。第二部分包括解压缩存档,因为在某些时候我们想要使用tar文件中的文件。您可以通过键入以下命令将文件提取到特定目录:tar-xvfmy-archive.tar-C/home/myfolder/alias每个人都使用过一些太长或太复杂以至于无法完全记住的命令。幸运的是,您可以为命令创建别名,这样就不必记住整个命令。aliasshort-command="yourcustomandverylongcommandhere"但是用这种方式创建别名有一个问题:这个别名是临时的。如果以这种方式创建,则别名仅可用于当前终端会话。要在会话之间保留别名,可以将其保存在用户的shell配置文件中。如果您分别使用Bash或ZSH,则此配置文件可能位于~/.bashrc或~/.zshrc中。提示1:直接输出屏幕是标准输出设备。但有时您不想在屏幕上输出所有内容。在某些情况下,您可能希望将某些命令的结果输出到文件中。例如,用于记录目的。要重定向输出,您可以使用>。在以下命令中,ls-al的输出被重定向到文件myfile而不是屏幕。ls-al>myfile在此示例中,我使用了ls,但实际上它可以是具有某些输出的任何命令。要确认这是否有效,您可以检查myfile文件。技巧2:组合命令以同时运行两个或多个命令。分号(;)运算符允许您执行此操作。无论前面的每个命令是否成功,您都可以连续执行多个命令。ls-al;密码;如果您只想在第一个命令成功时运行第二个命令,请使用逻辑AND运算符(即&&)分隔命令。mkdirimages&&cdimages如果我们设法创建一个文件夹,我们只想cd到images文件夹。有时,如果第一个命令不成功,您可能只想执行第二个命令。为此,我们使用逻辑或运算符,即||。