SEO命令行指南[学习20+命令]

虽然不是必不可少的技能,但SEO中编码的增殖对可以完成任务的速度产生了奇妙的影响。

有一些基本技能,以前值得掌握学习代码。

这样做会让您感到更加自信,一旦开始旅程 – 在某些情况下,您就会发现任务更容易使用这些方法来完成这些方法!

在本指南中,我们正在拍摄命令行界面(CLI)崩溃课程。

在SEO中的命令行如何帮助?

使用SEO命令行可以帮助您更多轻松:

当您想要操作数据时识别文件结构。当网站使用服务员工时,验证状态代码。将巨大的文件置于更多可管理的块。将数据直接下载或传输到服务器。按字段和输出到一个新文件中的大文件数据中的特定字符字符串。以及更多您将在下面了解。特别是,我们’ LL涵盖如何在不依赖图形用户界面(GUI)的情况下导航文件系统,以及如何创建和修改文件和目录,操纵数据,甚至与Web交互。读数下方

您ll学习命令:

更改目录列表文件文件文件乘目杂记目录兼任目录的文件&DirectorionOuchCopyHead&DigonConcateNate(Cat)Word CountGrepsortSplitcutStream EditorAwkcurlWgetClear

什么是命令行?

一个命令行界面 – 也称为终端,命令提示符或配置唯一 – 是一种基于文本的界面,可用于与计算机的操作系统(OS)进行交互。

CLI的预测图形接口的引入。当您要键入命令时,它是我们不太遥远的过去的生活遗物,以便您浏览和激活计算机的文件。

那么可以从学习掌握这个方面获得什么可能的优势SEO的古代互动方法?

公平的问题!使用命令线而不是GUI存在明确的优点,包括:

速度:

GUI有效地是一个呈现的呈现层,以使东西更加用户友好。最终,这意味着它永远不会像快速,执行任务可能会显着更长。必要性:有时■才能通过CLI与远程服务器进行交互。运行脚本也是如此,除非您转到下面的创建GUI.AdvertisementContinue读数的额外努力,否则访问命令行 您访问命令行的方式严重依赖于您的操作系统。

在Mac上,命令行称为终端,您可以在

应用程序>实用程序

下找到它。

在Windows上,命令行是命令提示符通过在导航栏中搜索CMD可以定位。

重要的是要注意Windows和Mac / Linux

在许多命令

中不同,均由名称和功能。这是因为Mac和Linux都是基于Unix的系统,而Windows是……嗯…… Windows。

我们会关注UNIX,因为命令行远远超过Windows等效(除非您使用

PowerShell)

,因为Windows始终集中在其GUI上。 如果你是一个窗户用户需要遵循:

启用

用于Linux的Windows子系统

。安装仿真器,例如

git bash

或cgywin。

图像中的图像这篇文章都是Git Bash,我一直在使用,但你的里程可能会有所不同。命令行和外壳之间有什么区别?

值得解释的最终差别是什么命令行和shell之间的差异。Command line interface.命令行基本上是用于发送命令并显示输出的接口,而shell是坐在IT和进程后面的解释器命令。 Unix具有一系列不同的壳牌,Bash是最常用的(历史上,也是麦斯科斯队上的默认shell,直到2019年被释放到2019年的Zsh)。 得到了吗?很棒,让我们挖掘。Command line interface. 注意:

以下示例中的方括号表示占位符。它们不是命令的一部分。

导航文件和目录

第一次加载非Windows CLI可能是恐吓。除了基于文本的完全文本的情况下,它提供了关于当前工作目录的有限信息 – 换句话说,换句话说,您现在所在的位置。

广告联系读数下面

要找到它,请输入

PWD

(打印工作目录)。

屏幕截图

 

在我的情况下,您可以看到我的主目录 – 由tilde(〜)表示 – 是/c/users/williamn.bv。

为了使运行脚本和命令行实用程序更容易,您最好服务于存储主目录中的子目录中的文件。这使得导航到您需要尽可能简单的文件。

更改目录

CD(更改目录)是最常用的命令之一,并且在Windows和UNIX操作系统上都是通用的。

下面

读取到当前目录中的目录,只需键入:

CD [目录] 访问以下位置的子目录,输入文件路径:

CD [目录] / [子目录]

need返回你以前的目录?使用连字符导航到它:

CD –

 

或通过输入TILDE进入您的主目录:

CD〜

 

在基于UNIX上操作系统,您当前所在的目录由一个单数点表示,所以指定

CD。

将运行但无所作为。

两个点,但是,两个点是父目录的代表用于有效地导航到现有位置上方的目录。

导航到当前目录之上的目录: CD ..

Changing drive in CLI.在当前目录上方导航两个级别: CD ../ ……/ 向上目录中的目录Changing drive in CLI. CD ../[directory] ​​

 

一个例子,我在/ c /用户内有一个“公共”文件夹,可以导航到它通过输入

指令窗口的CD ../Public.

Screenshot,九月,2021

 

List command in CLI. 的一个最后要注意的是,在使用CD时需要在路径中使用空格的目录。实现这一目标的最简单方法是将文件夹包装在引号或撇号中。下面的广告传票读数CD“我目录” List command in CLI.列表文件

到目前为止,我们’ ve设法在我们的目录树中锻炼身体,然后绕过它,但如果我们不知道特定文件和目录所在的位置? 在这些实例中,我们需要使用list命令。

LS [目录]

指令窗口的屏幕快照,九月,2021

 

的确切格式会有所不同,取决于不g在

命令行解释器

您正在使用,但对于不同的文件类型几乎普遍普遍差异化。

在下面的图像中读数

如上所述,目录是Git Bash中的蓝色并具有尾随斜杠。

列出子目录的内容:

ls [目录] / [子目录]

 

只列出您的目录当前目录:

ls -d * /

列出目录及其子目录的内容:

ls *

列出特定类型的文件使用模式匹配:

ls *。[文件 – 扩展]

选项

到目前为止,我们通过最小的可选参数使用,作为命令我们一直在跑步相对简单。

但很多逗号NDS(如列表)具有许多有价值的选项,可以指定可以指定用于修改命令函数的方法。

找到该命令的最简单方法是键入:

[命令] – help

ls的有用选项包括:

 

显示所有隐藏文件(在名称前的点):

LS -A

显示文件大小:

ls -s

以长列表格式显示文件(文件名,权限,所有者,大小和时间/日期修改):

 LS -L 

按文件大小排序:

LS -S

 

通过修改时间排序:

LS -T

排序通过扩展:

LS -X

如果需要,也可以通过将这些组合成奇异参数或指定倍数来堆叠选项。

广告例如,在下面的

下面读取,输入以下任一键将显示文件 – 包括隐藏文件 – 以长的列表格式,按大小排序。

ls -aslls -a -s -l

 

命令窗口的屏幕截图,9月2021 Long list command in Linux. 文件Long list command in Linux.文件文件

文件

文件

虽然LS以LONG列表格式提供对各个文件的高级信息,它没有提供有关文件类型的详细信息。

这是文件命令进入的位置。

找到文件的人类可读类型:

 

文件[文件名]

找到整个文件夹的文件类型:

文件类型下面

文件*

找到特定扩展名的文件类型:

 

文件*。[文件扩展]

查找文件的MIME类型:

 

文件 – 我[文件名]

文件命令的好的SEO用例是标识CSV是否处于预期格式。

在Excel中打开和保存CSV可能导致具有特殊字符的HACOC。通过使用文件,可以轻松地建立文件是否使用UTF-8,ASCII或其他内容编码。

它还将突出任何 BOM字符的存在,这可能是可能的无效robots.txt 或禁止文件!

创建和编辑

制作目录

在GUI和基于文本的界面之间不断交换痛苦。谢天谢地,也有一个命令。

制作目录:

 mkdir [new-directory] ​​

制作多个目录:

 mkdir {一个,两个,三个} 

制作父目录和子目录:

 mkdir -p目录/ directory-2 / directory-3 

-p选项使用户能够定义目录结构,并将创建匹配它所需的任何丢失文件夹。

作为示例,如果我们想创建一个目录来下载一些压缩日志文件,我们可以运行:

以下

读下来的未压缩日志文件的第二个目录,以及用于Googlebot请求的第三个文件夹

mkdir -p logs-new / nangrumentring_logs / googlebot_requestss

 

mkdir command Linux.命令窗口,9月2021 mkdir command Linux.

在上面的图像中,ls -r日志用于显示创建的目录树结构。

移动文件和目录

以及用于移动文件和目录,移动命令(mv)也是因此用于重命名,因此值得记住,以避免更多的讨厌点击。

移动文件:

 mv [文件名] [目录] 

重命名文件:[ MV [File1] [File2]

移动多个文件:

 

mv [file-1] [文件-2] [目录]

移动目录:

 MV [目录-1] [目录-2] 

将文件移动到特定的扩展名:

读数下方

MV *。[文件扩展] [目录

 

添加-i参数在覆盖现有文件之前提供提示,而-n才能防止被覆盖的文件。

我们早期学到的TINDE和DOT运算符这样的快捷方式也可以利用以将文件和文件夹移动到目录结构。

删除文件和目录

非常多mop命令的倒数是删除命令(RM),这是一个易于记住的命令,因为语法几乎相同。

remove目录命令(rmdir)也存在,但这不是特别的有用,因为它只适用于空目录。

删除文件:

RM [文件名]

删除多个文件:

RM [文件-1] [文件-2] [文件-3]

 

删除具有特定扩展的多个文件:

RM *。[文件 – 扩展]

 

删除一个空目录:

RM -D [目录]

删除非空目录和文件:

RM -R [目录]

再次, -i参数可以指定为在每个文件中删除之前提供提示。

如果列出了三个或更多文件,则-i将此统一一个提示。

触摸

触摸命令可用于修改时间戳并创建空文件。

在下面的

下面

创建一个没有任何内容的新文件:

触摸[文件名]

更新上次访问时间的文件:

触摸-a [文件名]

更新上次修改时间的文件:[触摸-M [文件名]

设置特定访问和修改时间:

触摸-c -t yyddhhmm [文件名] 

命令窗口的屏幕截图,9月2021

 

是2018年12月15日设定为22:59的示例时间戳。

复制

在UNIX CLI上,副本命令(CP)仅用于将文件或目录从一个位置复制到另一个位置。

 

这值得铭记那些更多的FAWindows命令提示符,其中Copy命令也可以用于组合文件。touch command linux下面的广告传票读数制作文件的副本: CP [文件名] [新建 – 文件名] touch command linux复制文件到目录:

cp [文件名] [目录 – 名称] [目录 – 名称]

将多个文件复制到目录:

cp [文件名] [另一个文件名] [目录 – 名称]

将所有文件复制到目标目录:

cp -r [现有目录] [新目录]

复制具有特定扩展的所有文件:

cp *。[文件 – 扩展] [目录名称]

再次,-i可用于提供一个提示文件覆盖之前,可以使用-n完全防止此。

 

显示和操纵

头和尾部

大文件可以采取使用GUI时长时间加载 - 如果它们在所有...上加载... 

这是头部和尾部命令进入的地方,允许您预览第一个或最后一次! – (n)数据行。

如果您即将进行某种形式的数据操作,则非常有帮助,但不确定您使用的文件是如何构建的。

预览文件的开头:

head [文件名]

 

预览文件的结尾:

尾部[文件名]

两个命令默认情况下显示10行数据,可以使用-n选项进行修改。

head / tail-n 5 [文件名]

一个值得注意的是尾部命令附带一个加号,它打印以特定行而不是结尾的数据。

下面的广告传票

尾部+5 [文件名]

截图,2021

 

 

 

 

Tail command in Linux. Tail command in Linux.

 

 

 

 

[(] cat命令 – condenate – 用于读取,组合和写入文件。

打印文件的内容:

cat [文件名]

Cat Linux command. contatenate多个文件到组合文件中: cat [file-1] [file-2] [file-3]> [组合文件] 组合具有相同扩展名的多个文件:[ cat *。[文件 – 扩展]> [组合文件] Cat Linux command. 上面,重定向运算符(>)表示输出应该保存为新文件(或覆盖现有文件)。为防止文件中的现有数据被覆盖,请指定>>。

在下面

下面的读取读取两个文件而不创建新fILE:

CAT File1 >> File2

Cat命令的好的SEO使用情况是当您正在执行链接研究时。除非您使用API​​,否则这将需要下载多个导出,所有这些都将具有相同的格式。

组合,弹出文件夹中的导出并在扩展名上运行Cat命令。

命令窗口的屏幕截图,9月2021

 

 

更远的是一个特技小马,单词Count命令也支持字符的计数,更重要的是SEO线条。

在下面

下面的广告联交影读数计算文件中的单词数:

WC -W [文件名

计算文件中的字符数:

Cat Linux command. wc-m [文件名] 计算数字文件中的线条: Cat Linux command. WC -L [文件名]

此时,引入管道命令很重要。可以使用管道字符(|)链接多个命令而不是孤立地使用,而是将用户能够执行更复杂的操作。当使用时,这可能是非常强大的。< 20 seconds.

作为基本示例,这里是如何计算目录中的CSV文件的数量:

ls * .csv | WC -L

或计算多个文件中的行数,并列出组合总计:

 CAT * | WC -L 

命令窗口的屏幕截图,9月2021

 

 

Grep command. 以上表明,在7300万行数据集上的线路计算以下Grep command. Grep Grep命令用来执行Grep命令reacch for特定的字符串。这对SEO非常有用,其中从大文件中提取数据几乎是每日发生。作为一个例子,当解析日志文件时。

提取具有从文件中的模式(在这种情况下googlebot)的每一行:

grep“googlebot”[文件名]

 提取具有特定扩展的多个文件的每一行: 

grep“googlebot”*。[文件 – 扩展]

提取具有多个模式的每一行具有特定扩展的文件并将其写入新文件:

 

grep“googlebot”*。[文件 – 扩展]> [文件名]

命令窗口屏幕截图,

 

由于涉及的潜在文件大小,日志几乎普遍普遍在一天的增量中,所以使用模式匹配在多个文件上执行Grep是非常重要的。

广告联系读数下面 Grep在这种情况下的默认行为是前缀每个文件的文件名。

Access.log-20200623

:66.249.73.221  -   -  [22 / Jun / 2020:07:05:46 +0000]“get / http / 1.1”200 75339“ - “”googlebot-image / 1.0“ -  Request_time = 24142 

此信息在为SEO执行日志文件分析时完全无关紧要,并且可以使用-h选项求助地删除。Grep -c and cat commands. grep – h“googlebot”*。[文件 – 扩展]> [处理文件] 可以通过使用管道命令每行执行多个模式匹配。良好的用例是,当多个域的请求存储在同一位置时n,你只想要一个。Grep -c and cat commands.

提取每个线的每一行,该行都具有特定扩展的多个文件的两个模式,并将其写入新文件: grep -h“domain.com” | grep“googlebot”*。[文件 – 扩展]> [处理文件]

要计算文件中的模式的出现,请使用-c选项。值得注意的是,这将执行每个文件的计数,如

WC -L

。要在多个文件中获取总匹配项,请与CAT命令组合。

 cat *。[文件扩展] | grep的-c “的Googlebot”

指令窗口的屏幕快照,九月,2021

 

中提取的每一行

没有

特征来自文件的模式:

grep -v“模式”[文件名]

 

提取物从文件中具有模式的每一行(不区分大小写):

grep -i“pattern”[文件名]

 

提取每个使用Regex的文件的模式:

grep -e“正则表达式”[文件名]

 

对其自身的限制使用,可以与其他命令组合排序输出按字母顺序或数字方式。

按字母顺序和输出到新文件:

 

排序[文件名]> [排序文件]

反转顺序并输出到a新文件:

 

排序–r [文件名]> [排序文件]>

在数字上并输出到新文件:

 sort -n [文件 - name]> [排序文件] 

按字母顺序排列在n列(在此实例3中)并输出到新文件:

 sort -k3 [文件名]> [排序-fi.LE] 

顺序使用多个列和输出到新文件:

sort -k [column-1],[列-2] [文件名]> [排序文件]

排序也可用于删除重复的线条:

sort -u [文件名]> [排序文件 – 唯一行]

 

或用单词堆叠计入文件中的唯一行的计数:

sort -u [文件名] | WC -L

 

分裂

努力打开一些东西?拆分命令非常适合将大型文件分成更多可管理的块。

 

将文件拆分为较小的块(默认为1000行):

拆分[文件名]

 

 

将文件拆分为具有指定数量的线条的较小块: split -l [number] [文件名]

将文件拆分为给定数量的块:

广告Continue ReadIn.g下面

拆分-n [number]文件名] 

将文件拆分为具有指定文件大小的较小块:Split command UNIX. split -b [bytes] [文件名] 文件也可以基于千字节,兆字节和千兆字节来拆分:Split command UNIX. split -b 100k [文件名] split -b 10m [file-name] split -b 10g [文件 – name]

虽然上面的命令将拆分文件,但它们不会自动维护文件扩展名。为此,请使用

– 其他 – 后缀

选项。

以下是使用此选项将大CSV文件拆分为100MB块的更实际的示例。在其中,我们还指定了-d选项并添加了自定义后缀。这意味着输出文件将遵循“logs_ [number]’的命名惯例,而不是字母字符。

拆分-d -b 100m–additional-suffix = .csv logs.csv logs_

命令窗口的屏幕截图,9月,2021

 

 

在测试脚本时,它是通常有助于从文件中获取随机数据样本。不幸的是,拆分命令没有一个选项。相反,使用shuf。

Shuf-n [number] [文件名]> [新文件]>

剪切允许您访问部件输入文件的行和将数据输出到新文件。虽然它也可以用来按字节和字符切片,但SEO最有用的应用程序是按字段切片数据。

按字段切片文件:

剪切-f [number] [文件-Name]

通过多个字段

切片文件:

剪切-f [number-1],[number-2] [文件名]

 

slice file在一系列字段:

切换-f [number-1] – [number-2] [文件名]

 

切片文件通过一系列字段(从所选的号码到行的末尾):

缩减-f [number] – [文件名] –

使用截止标签分隔符切割切片默认情况下,但可以使用-d更改此操作选项(例如空格):

切割-d“”-f [number] [文件名]

也可以将多个范围堆叠在一起。为了提供更实用的例证,如果您想从共享相同格式的多个链接文件中提取特定列:

 

剪切“,”-f 1,3-5,13-15 * .csv > cut.csv

sed(流编辑器)

sed命令可以执行一系列有用的文本转换,包括过滤,查找和替换,插入和删除。

 

查看L.文档中间内的ines(不由头部和尾部支持):

广告联网读数在下面

sed -n'[number-1],[number-2] p'[文件名]

 

执行查找和替换并保存输出:

sed’s / [find-text] / [replace-with] / g'[文件名]> [新文件

 

执行查找和替换保存:

sed -i’s / [find-text] / [replace-with] / g'[文件名]

 

执行一个查找,替换为任何内容并保存输出:

sed’s / [find-text] // g'[文件名]> [new-file]

 

查找和删除具有特定模式的行,保存输出:Sed command UNIX. sed’/ [find-text] / d'[文件名]> [新文件] 查找和删除空行(使用正则表达式),保存输出:Sed command UNIX. sed’/ ^ $ / d'[文件名]> [新文件]

屏幕硕命令窗口的吨,九月,2021 

 

在文本行的端部和保存输出删除空格:

SED的/[[:空白:]] * $ //'[文件名]> [新文件]

在文件上运行多个查找并替换,并保存输出:

广告下面

sed – e’s / [查找文本] / [替换] / g; s / [find-text-2] / [replace-with-2] / g'[文件名]> [新文件]

 

awk

对于真正的重型数据使用命令行进行操作,了解如何使用awk。 awk是一个脚本语言,它是一个自己的权利,并且能够提供一系列不同的变换。awk command logs count 计算列中的唯一值: awk -f'[delimiter]'{打印$ [列 – 号]}'[文件名] |排序|下面的UNIQ -C awk command logs count 下面显示了日志文件中的状态码的计数。

命令窗口的屏幕截图,9月2021

 

在列上执行查找和替换并保存输出:

 

awk -f'[delimiter]”{gsub(“pattern”,“new-temply”,$ [列号]); print}’

基于满足条件(大于)的列(大于)的列:

 AWK'[DELIMITER]''$ [列 - 号]> [编号]的广告联网读数'[文件名] 

使用模式匹配在列(包含)的模式匹配(包含):

awk -f'[delimiter]”$ [列号]〜/ [模式] /'[文件名]

文件中的字频率:<=NF; i++) words[tolower($i)]++ } END { for (i in words) print i, words[i] }' *

awk’开始{fs =“[^ a-za-z] +”} {for(i = 1;我

如上所述,你可以在上面的示例中看到,awk查询的语法比以前所涉及的更复杂。

awk支持来自其他编程语言的许多构造,包括如果您更熟悉另一种语言,那么这可能是值得过渡的复杂性级别。

那个说,它总是值得一直在进行一个快速搜索awk解决方案的一个问题。

与Web

卷曲(客户端URL)

卷曲是允许的命令行实用程序用户从服务器下载数据或将数据转移到服务器。这使得它对SEO非常有用,我们必须不断检查状态代码,标题和比较服务器和客户端HTML。

获取URL的内容:

卷曲[url]

 

将URL的内容保存到文件:

curl -o [file-name] [url]

 

下载来自的URL列表MA文件:

XARGS-N 1 CURL -O

使用卷曲与-i选项使用卷曲以仅显示标题和状态代码:< [file-of-urls]

 

卷曲 – [URL] Curl command head only. 屏幕截图,9月,2021 Curl command head only.

卷曲-1]验证站点使用服务工作人员时的状态代码,这通常与浏览器扩展冲突。

如果A CDN 的机器人缓解在您尝试时会导致问题也很好。到爬网网站。如果是,您几乎肯定会提供403(禁止的)状态代码。

广告联接键读数下面

要完全复制重定向跟踪扩展,请按住-l选项的重定向次数:

 

Curl command head follow redirects. Curl command head follow redirects.

卷曲-li [url] 

 

使用自定义用户代理获取URL的内容:

 

使用自定义用户代理获取URL [URL]

使用具有自定义标题的不同Request方法:

 

curl -x post-h“content-type:application / json”[url]

测试URL是否支持协议(例如,网站是否支持HTTP2,或HTTP2上的站点与HTTP / 1.1向后兼容):

 curl -i --http2 [url] curl -i --http1 .1 [URL] 

Wget

Wget执行类似的函数来卷曲,但具有递归下载的功能,使其更好地转移更多文件(或整个网站!)。

在大多数发行版之外读数的广告联接读数在大多数分布中包括,但如果您使用的是使用Git bash,

你必须安装它

下载文件:

wget [url]

下载一个URL列表文本文件:

wget -i [文件名] .txt

下载整个网站:

 

wget -r [url]

默认情况下,WGET只会将页面递归下载至深度五个级别。使用-l选项扩展此操作:

wget -r -l [number] [null]

 

或者,如果您感觉勇敢,请启用无限递归:

WGET -R -L INF [URL]

如果要下载一个站点的本地副本 - 使用更新的链接引用本地版本 - 然后使用镜像选项:

Wget command UNIX. wget -m [url] 您还可以限制下载的文件类型。例如,如果您只想要JPGS: Wget command UNIX. wget -r -a jpg,jpeg [url]

或者希望将网站上的所有图像下载到一个目录,包括CDN上的一个目录,忽略robots.txt:

WGET -R -L INF -ND -H -P -A JPG, JPEG,PNG,GIF -E机器人= OFF [URL]

屏幕截图,命令窗口,9月2021

 

清洁您的输出

清洁您的输出

要完成一些事情,有一点的家务是按顺序排列的。

如果您一直在跟随并尝试命令,那么您的命令行开始看起来很乱。谢天谢地,清除 – 或戒烟! – 接口非常简单。

清除命令行的输出:

清除

退出命令行:

退出

进一步进一步

上述命令将给予你一个好主意您可以使用命令行完成的任务类型,但这实际上只是一个跳跃点。 随着链接命令的能力,可能性几乎是无穷无尽的 – 特别是如果你开始探索 Bash脚本

提供了一些更多的想法,您可以:

自动化尖叫青蛙.Run

Web性能测试

像Bulk.Perform中的灯塔一样

en-masse图像压缩

.or使用Jamstack架构发布网站。

最后,使用命令行的竞争力程度是必不可少的。 这是一个技能导航和运行脚本时不断使用。

以下的广告传票读数读取,并具有Gitub和Gitlab等Git存储库的普及,我希望你能用它来贡献项目并与世界分享你的工作! 更多资源:


一个流行的PHP框架的指南初学者 如何改善网站性能:4速度审计快速胜利 先进的技术SEO:一个完整​​的指南 特色图片:FATMAWATI ACHMAD Zaenuri / Shutterstock