当前位置: 首页 > Linux

(转)Web开发者都应该知道的12条命令行

时间:2023-04-06 06:59:22 Linux

掌握它们可以对你的工作流程产生非常积极的影响。因为,许多日常任务可以通过一个命令并按Enter来解决。在本文中,我们为您准备了一系列常用命令,以帮助您充分利用终端。这些命令有的是系统自带的,有的是免费的工具,需要单独安装,但是这些免费的工具都经过了时间的考验,分分钟就能安装好。curlcurl是一个用于发送请求的命令行工具。可以使用HTTP(s)、FTP和一些您可能从未听说过的协议发送请求。它可以下载文件、检查响应头和自由访问远程数据。在Web开发中,curl通常用于测试连接和RESTfulAPI。#获取URL的HTTPHEADERcurl-Ihttp://google.comHTTP/1.1302FoundCache-Control:privateContent-Type:text/html;charset=UTF-8Referrer-Policy:no-referrerLocation:http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQContent-Length:258Date:Wed,09Aug201711:24:01GMT#发出GET请求到远程APIcurlhttp://numbersapi.com/random/trivia29是土星绕太阳公转所需的天数。curl命令可能比上面的命令复杂得多。它有很多选项来控制标头、cookie、身份验证等。您可以在这本很棒的免费书籍Everythingcurl中阅读更多内容。  treetree是一个小型命令行,用于可视化显示目录中的文件结构。它以递归方式进行,检查每一层嵌套,为所有内容绘制格式化的树结构。您可以使用它来快速浏览文件结构并找到所需的文件。树.├──css│├──bootstrap.css│├──bootstrap.min.css├──fonts│├──glyphicons-halflings-regular.eot│├──glyphicons-halflings-regular.svg│├──glyphicons-halflings-regular.ttf│├──glyphicons-halflings-regular.woff│└──glyphicons-halflings-regular.woff2└──js├──bootstrap.js└──bootstrap.min.js也类似于正则匹配选项,用于过滤结果。tree-P'*.min.*'.├──css│├──bootstrap.min.css├──fonts└──js└──bootstrap.min.jstmux按照维基百科的说法,tmux是一个终端复用器,翻译成人类的话,是一种将多个终端连接成一个终端会话的工具。它允许您在终端中的程序之间切换,添加分屏,以及将多个终端连接到同一个会话并保持它们同步。特别是在远程服务器上工作时,tmux特别有用,因为它允许您创建新的终端选项卡而无需再次登录。磁盘使用情况——dudu命令可以生成文件和文件夹的磁盘使用情况报告。它非常易于使用,递归遍历每个子目录并返回单个文件的大小。du的一个常见用例是当您的磁盘空间不足并且您不知道原因时。使用此命令,您可以快速查看每个文件夹占用了多少存储空间,因此您可以找到占用最多空间的文件夹。#运行这条命令会显示当前目录下各个文件夹的空间使用情况。#使用-h命令选项将使报告更具可读性。#-s防止递归并显示文件夹的总大小。#通配符(*),会显示当前目录下所有文件和文件夹的所有信息du-sh*1.2GDesktop4.0KDocuments40GDownloads4.0KMusic4.9MPictures844KPublic4.0KTemplates6.9MVideosgitGit是目前最流行的版本控制系统。它是现代Web开发使用的最典型的工具之一,我们一定不能将它排除在本文的列表之外。git有许多第三方应用程序和工具,但大多数人仍然更喜欢从命令行本地使用git。Git的命令行界面真的足够强大,可以处理最混乱的项目历史。如果您想了解有关git的更多信息,我建议您查看我们的30分钟git教程。tartar是处理文件打包的默认Unix工具。它可以让您快速将多个文件捆绑到一个包中,以便以后轻松存储和移动它们。tar-cfarchive.tarfile1file2file3使用-x选项解压.tar格式的包文件。tar-xfarchive.tar请注意,大多数其他格式(如.zip和.rar)不能用tar打开。它们需要其他命令行工具,例如unzip。许多现代Unix系统都有tar的扩展版本(例如GNUtar),它也可以压缩文件:#creategziparchive.tar-czffile.tar.gzinputfile1inputfile2#uncompress.gzarchive.tar-xzffile.tar.gz如果您的操作系统没有该版本的tar,您可以使用gzip、zcat或compress来减小文件存档大小。md5sumUnix有几个用于哈希操作的内置命令,包括md5sum、sha1sum等。这些命令行工具在编程中有各种应用,但最重要的是,它们可用于检查文件的完整性。例如,如果您从不受信任的来源下载了一个.iso文件,它可能包含有害脚本。您可以从中生成md5或其他哈希值以确保.iso是安全的。md5sumubuntu-16.04.3-desktop-amd64.iso0d9fe8e1ea408a5895cbbe3431989295ubuntu-16.04.3-desktop-amd64.iso然后,可以将本地生成的md5与原作者提供的字符串(如UbuntuHashes)进行对比。htophtop是一个比内置的顶级任务管理器更强大的命令。它提供了一个高级界面,其中包含用于监视和控制系统进程的丰富选项。即使它从命令行运行,htop仍然支持精细的鼠标控制。这使得在菜单之间导航、选择流程以及通过排序和过滤来组织任务变得更加容易。lnUnix中的链接就像Windows中的快捷方式,可以让您快速访问某些文件。链接是用ln命令创建的。它可以有两种类型:硬性的和象征性的。每种类型都有不同的属性,用于不同的交易。(了解更多)这里有许多如何使用链接的示例。比如我们在桌面上有一个名为Scripts的文件夹,里面整齐的存放着我们常用的bash脚本。每当我们要调用这些脚本时,我们需要这样做:~/Desktop/Scr??ipts/git-scripts/git-cleanup显然,每次都输入这个绝对路径不是很方便。相反,我们可以在/usr/local/bin下为Script文件夹创建一个符号链接,它允许Scripts中的脚本在所有目录中执行。sudoln-s~/Desktop/Scr??ipts/git-scripts/git-cleanup/usr/local/bin/使用创建的符号链接,我们现在可以打开任何命令行窗口并直接通过脚本文件名执行它:git-cleanupssh使用ssh命令,用户可以快速连接到远程主机并登录到他们的Unixshell。这使我们可以方便地直接从本地计算机向服务器上的终端发出命令。要建立连接,只需提供正确的ip地址或url。第一次连接到新服务器时,会有某种形式的身份验证。sshusername@remote_host如果想在服务器上快速执行一些不需要登录的命令,只需要在url后面加上命令即可。该命令将在服务器上运行并返回结果。sshusername@remote_hostls/var/wwwsome-website.comsome-other-website.com您可以使用ssh做很多事情,例如创建代理和隧道、使用私钥加密您的连接、传输文件,以及更多的。您可以在本指南中阅读更多内容。grepgrep是一个标准的Unix工具,用于在文本中查找字符串。它以文件或流作为输入,对其内容应用正则表达式,并返回所有匹配的行。当您需要过滤大文件时,此命令很有用。具体来说,我们可以使用grep和date命令来搜索大型日志文件并生成仅包含今天错误消息的新文件。//搜索今天的日期(yyyy-mm-dd格式)并将结果写入新文件。grep"$(date+"%Y-%m-%d")"all-errors-ever.log>today-errors.log另一个处理字符串的好命令是sed。它比grep更强大(也更复杂),几乎可以执行任何与字符串相关的任务,包括添加、删除或替换字符串。别名许多Unix命令,包括本文中提到的一些命令,在向它们添加所有选项后往往会变得很长。为了让它们更容易记住,您可以使用内置的别名命令创建短别名:  #Createanaliasforstartingalocalwebserver。aliasserver="python-mSimpleHTTPServer9000"#无需键入整个命令,只需使用别名即可。服务器在0.0.0.0端口9000上提供HTTP服务...只要您保持命令窗口打开,别名就一直有效。要使其永久化,您可以将别名命令添加到.bashrc文件中。总结以上就是Web开发者应该知道的12条命令行。它们可能不是那么完整和全面。希望大家有知道的或者文中没有提到的命令,欢迎大家补充讨论。