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

高级CLI:作为开发者应该知道的命令

时间:2023-03-19 11:47:09 科技观察

在这篇高级命令进阶文章中,首先我们不讨论ls、rm、cd等基本命令。看到这些命令您应该不会感到惊讶。您甚至可能对它们很熟悉,尤其是如果您非常熟悉命令行的话。我假设您之前至少使用过(或尝试过)命令行。如果你以前从未使用过命令行,小新建议你先从阅读基础开始。本文面向有一定命令行使用经验且对基本命令有一定了解的读者。对于那些认为是时候深入研究使用命令行的可能性的人。小新为你列出了6条命令,并在底部提供了一些提示。1.alias每个人都会使用一些太长或太复杂而难以完全记住的命令。幸运的是,您可以为该命令创建一个别名,这样您就不必记住整个命令。aliasshort-command="yourcustomandverylongcommandhere"虽然以这种方式创建别名有一个问题:别名是临时的。如果以这种方式创建别名,它将仅对当前终端会话可用。要在会话之间保留别名,您可以将它们保存在用户的shell配置文件中。如果分别使用Bash或ZSH,则此配置文件可能位于~/.bashrc或~/.zshrc中。资料来源:Pexels2。chmod在Unix和类Unix操作系统中,chmod是一个命令和系统调用,用于更改文件系统对象(文件和目录)的访问权限。根据维基百科,这是chmod命令的定义。由于文件权限配置错误,我们都遇到过服务器无法访问某个文件的情况。chmod命令本身相当简单,但授予对文件和目录的正确权限则是另一回事。chmod664robots.txtchmod775public/images第一个示例向用户和组授予对robots.txt文件的读写权限。另一个用户已被授予对此文件的读取权限。第二个示例向public/images文件夹的用户和组授予读取、写入和执行权限。其他人被授予对此文件夹的读取和执行权限。3.tarLinuxtar代表磁带存档。它用于将多个文件收集到一个存档中。Tar是用于创建压缩档案的最广泛使用的命令。让我们从如何为特定目录创建存档开始:tar-cvfmy-archive.tar/path/to/directory此命令将生成一个名为my-archive的存档。其中包含在当前工作目录中创建的/path/to/目录下的所有文件。创建档案是第一部分。第二部分包括解压缩存档,因为在某些情况下我们想要使用tar文件中的文件。您可以使用以下命令将文件解压缩到特定目录:tar-xvfmy-archive.tar-C/home/myfolder/4。wget源码:类unix操作系统上的Pexels,wget命令通过网络下载HTTP、HTTPS或FTP提供的文件。它默认包含在所有主要的Linux发行版中。使用wget的最简单方法是提供通过HTTP下载文件的位置。使用wget下载文件http://website.com/static/images/header.jpg可以使用以下命令完成:这意味着它可以在用户未登录时在后台运行。这使您可以开始检索并断开与系统的连接,让wget完成工作。5.ssh-keygenssh-keygen命令用于生成新的SSH密钥对。该命令生成的SSH公钥可以在Gitlab或Bitbucket中使用,建立安全连接。将SSH密钥添加到Gitlab或Bitbucket后,每次尝试将文件推送到远程分支时都不会提示您输入密码。要生成SSH密钥对,请使用以下命令:ssh-keygen-ted25519请注意,在上面的示例中,我们使用了ED25519签名算法。虽然ED25519被认为是最佳实践,但您应该始终对可用的不同签名算法进行一些研究。生成SSH密钥对并在Gitlab或Bitbucket中正确设置它最多可能需要10分钟(可能接近3分钟),但完全值得!问题?例如,获取用户上传的文件,这引起了一些头痛。使用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选项的目录执行相同的操作,递归地复制整个目录。下面分享一些小技巧,也很实用,也很精彩~来源:Pexels小技巧1:组合命令可以一次运行两个或多个命令。分号(;)运算符允许您执行此操作。您可以连续执行多个命令,而不管之前的每个命令是否成功。ls-al;密码;如果您希望第二个命令仅在第一个命令成功时运行,请使用逻辑AND运算符(&&)来分隔命令。mkdirimages&&cdimages如果我们成功创建了那个文件夹,我们想去图像文件夹。有时,您可能希望仅在第一个命令不成功时才执行第二个命令。为此,我们使用逻辑或运算符,即||。技巧2:输出方向标准输出设备是屏幕。但有时您不想将所有内容都输出到屏幕上。在某些情况下,您可能更愿意将某些命令的结果输出到文件中。例如,用于日志记录。要重定向输出,您可以使用>。在以下命令中,ls-al的输出被重定向到myfile而不是屏幕。ls-al>myfile我在此示例中使用了ls,但它实际上可以是具有某些输出的任何命令。要确认这是否有效,您可以检查myfile文件。catmyfile感谢阅读~小新祝大家新的一年收获满满~