A Guide to the Command Line for SEO [Learn 20+ Commands]

Although not a vital talent, the proliferation of coding in website positioning has had a improbable impression on the velocity at which duties could be accomplished.

There are, nonetheless, some foundational abilities which are properly price mastering earlier than studying to code.

Doing so will allow you to really feel much more assured as soon as you start your journey – and in some instances, you’ll discover duties are simpler to perform utilizing these approaches anyway!

In this information, we’re taking a command line interface (CLI) crash course.

How Does the Command Line Help in website positioning?

Using the command line for website positioning might help you extra simply:

  • Identify file construction if you need to manipulate knowledge.
  • Verify standing code when the location is utilizing a service employee.
  • Split enormous recordsdata into extra manageable chunks.
  • Download or switch knowledge on to a server.
  • Search for a selected string of characters in a big file.
  • Slice knowledge by fields and output to a brand new file.
  • And much more you’ll find out about beneath.

Specifically, we’ll cowl learn how to navigate a file system with out counting on a Graphical User Interface (GUI), and learn how to create and modify recordsdata and directories, manipulate knowledge, and even work together with the net.

You’ll study the instructions for:

  • Changing Directory
  • Listing Files
  • File
  • Making Directories
  • Moving Files & Directories
  • Removing Files & Directories
  • Touch
  • Copy
  • Head & Tail
  • Concatenate (Cat)
  • Word Count
  • Grep
  • Sort
  • Split
  • Cut
  • Stream Editor
  • Awk
  • Curl
  • Wget
  • Clear

What is the Command Line?

A command line interface – often known as a terminal, command immediate, or console – is a text-based interface that can be utilized to work together with a pc’s working system (OS).

CLI’s predate the introduction of graphical interfaces. It’s a residing relic of our not-so-distant previous, when instructions needed to be typed out so as so that you can navigate and activate a pc’s recordsdata.

So what doable benefits could be gained from studying to grasp this archaic methodology of interplay now for website positioning?

Fair query! There are particular benefits to utilizing a command line as an alternative of a GUI, together with:

  1. Speed: A GUI is successfully a presentation layer that sits on prime of a CLI to make issues extra user-friendly. Ultimately, because of this it can by no means be as quick, and performing duties can take considerably longer.
  2. Necessity: Sometimes it’s solely doable to work together with a distant server through a CLI. The similar is true for working scripts except you go to the additional effort of making a GUI.

Accessing the Command Line

The method by which you entry the command line is closely dependent in your working system.

On Mac, command line known as the terminal, and you’ll find it beneath Applications > Utilities.

On Windows, command line is the command immediate and could be positioned by looking cmd within the navigation bar.

It’s vital to notice that Windows and Mac/Linux differ on many instructions, each by identify and performance. This is as a result of Mac and Linux are each UNIX-based working techniques, whereas Windows is… properly… Windows.

We’ll be specializing in UNIX, because the command line is way extra developed than the Windows equal (except you utilize EnergyShell) since Windows has at all times closely centered on its GUI.

If you’re a Windows person, to comply with alongside, you’ll must both:

  1. Enable Windows Subsystem for Linux.
  2. Install an emulator similar to Git Bash or Cgywin.

The photos on this put up are all of Git Bash, which I’ve at all times used, however your mileage might differ.

What is the Difference Between the Command Line and Shell?

One ultimate nuance price explaining is the distinction between the command line and shell.

A command line is basically an interface that’s used to ship instructions and show the output, whereas a shell is the interpreter that sits behind it and processes the instructions.

UNIX has a spread of various shells obtainable, Bash being probably the most generally used (and traditionally, additionally the default shell on macOS, till it was switched to Zsh in 2019 when Catalina was launched).

Got it? Great, let’s dig in.

Note: Square brackets within the examples beneath signify a placeholder. They are usually not a part of the instructions.

Navigating Files & Directories

Loading up a non-Windows CLI for the primary time could be intimidating. As properly as being totally text-based, it offers restricted info in your present working listing — in different phrases, the place you’re presently positioned.

To discover this out, enter pwd (print working listing).

Command line interface.Screenshot of command window, September, 2021Command line interface.

In my case, you’ll be able to see my dwelling listing – indicated by the tilde (~) – is /c/Users/WilliamN.BV.

To make working scripts and command line utilities simpler, you’re greatest served storing recordsdata inside youngster directories inside your private home listing. This makes navigating to the recordsdata you require as simple as doable.

Changing Directory

Cd (change listing) is without doubt one of the mostly used instructions and is common throughout each Windows and Unix working techniques.

To navigate to a listing inside your present listing, merely kind:

cd [directory]

To entry a subdirectory that sits beneath this, enter the file path:

cd [directory]/[sub-directory]

Need to return to the listing you had been beforehand in? Navigate to it utilizing a hyphen:

cd -

Or go to your private home listing by getting into a tilde:

cd ~

On a UNIX based mostly OS, the listing you’re presently in is represented by a singular dot, so specifying cd . will run however do nothing.

Two dots, nonetheless, is consultant of the mum or dad listing and can be utilized to effectively navigate to directories above your current location.

Navigate to the listing above your present listing:

cd ..

A Navigate two ranges above your present listing:

cd ../../

Navigate to a listing inside the listing above:

cd ../[directory]

As an instance, I’ve a “Public” folder inside /c/Users and may navigate to it by inputting cd ../Public.

Changing drive in CLI.Screenshot of command window, September, 2021Changing drive in CLI.

One ultimate factor to notice is that directories with areas within the path must be escaped when utilizing cd. The best option to obtain that is to wrap the folder in citation marks or apostrophes.

cd 'my listing'

Listing Files

So far, we’ve managed to work out the place we’re in our listing tree and navigate round it, however what if we don’t know the place particular recordsdata and directories are positioned?

In these situations, we have to use the record command.

ls [directory]
List command in CLI.Screenshot of command window, September, 2021List command in CLI.

The precise formatting will differ, relying on the command-line interpreter you’re utilizing, however there’s virtually universally some differentiation for various file varieties.

As you’ll be able to see within the picture above, directories are blue in Git Bash and have a trailing slash.

List the contents of a subdirectory:

ls [directory]/[sub-directory]

List solely directories in your present listing:

ls -d */

A List the contents of a listing and its subdirectories:

ls *

List a selected kind of file utilizing sample matching:

ls *.[file-extension]

Options

Up so far, we’ve gotten by with minimal non-obligatory argument utilization, because the instructions we’ve been working have been comparatively simplistic.

But many instructions, similar to record, have quite a few precious choices that may be specified to switch how a command features.

The best option to discover these out for a command is to kind:

[command] --help

Useful choices for ls embrace:

Show all hidden recordsdata (which characteristic a dot earlier than the identify):

ls -a

Display the dimensions of recordsdata:

ls -s

Display recordsdata within the lengthy itemizing format (file names, permissions, proprietor, measurement and time/date modified):

ls -l

Sort by file measurement:

ls -S

A Sort by modification time:

ls -t

Sort by extension:

ls -X

It’s additionally doable to stack up choices in case you want, both by combining these right into a singular argument or specifying multiples.

For instance, inputting both of the next will show recordsdata – together with hidden recordsdata – in lengthy itemizing format, sorted by measurement.

ls -aSl
ls -a -S -l
Long list command in Linux.Screenshot of command window, September, 2021Long list command in Linux.

File

While ls in lengthy itemizing format offers high-level info on particular person recordsdata, it doesn’t present detailed details about the file kind.

This is the place the file command is available in.

Find the human-readable kind of a file:

file [file-name]

Find the file varieties for a complete folder:

file *

A Find the file kind for a selected extension:

file *.[file-extension]

Find the mime kind for a file:

file -i [file-name]

website positioning use case for the file command is figuring out whether or not CSVs are within the anticipated format.

Opening and saving CSVs in Excel may cause havoc with particular characters. By utilizing file, it’s simple to ascertain whether or not recordsdata are encoded with UTF-8, ASCII, or one thing else.

It may also spotlight the presence of any BOM characters, which might doubtlessly invalidate a robots.txt or disavow file!

Creating & Editing

Making Directories

Continually swapping between a GUI and a text-based interface is usually a ache. Thankfully, there’s a command for that, too.

Make a listing:

mkdir [new-directory]

A Make a number of directories:

mkdir {one,two,three}

Make a mum or dad listing and subdirectories:

mkdir –p listing/directory-2/directory-3

The -p choice allows customers to outline a listing construction and can create any lacking folders required to match it.

As an instance, if we wished to create a listing to obtain some compressed log recordsdata, a second listing for the uncompressed logs, and a 3rd folder for Googlebot requests, we might run:

mkdir -p logs-new/uncompressed_logs/googlebot_requests
mkdir command Linux.Screenshot of command window, September, 2021mkdir command Linux.

In the picture above, Ls -R logs is used to show the created listing tree construction.

Moving Files & Directories

As properly as getting used to maneuver recordsdata and directories, the transfer command (mv) can be utilized for renaming and is due to this fact properly price remembering to keep away from extra pesky clicks.

Move a file:

mv [file-name] [directory]

Rename file:

mv [file1] [file2]

Move a number of recordsdata:

mv [file-1] [file-2] [directory]

A Move listing:

mv [directory-1] [directory-2]

Move recordsdata with a selected extension:

mv *.[file-extension] [directory]

Add the -i parameter to offer a immediate earlier than overwriting an current file, and -n to stop a file being overwritten.

Shortcuts just like the tilde and dot operators that we discovered earlier will also be leveraged to maneuver recordsdata and folders up the listing construction.

Removing Files & Directories

Very a lot the inverse of the transfer command is the take away command (rm), which is a simple one to recollect as a result of the syntax is sort of equivalent.

A take away listing command (rmdir) additionally exists, however this isn’t particularly useful as a result of it solely works on empty directories.

Remove a file:

rm [file-name]

Remove a number of recordsdata:

rm [file-1] [file-2] [file-3]

A Remove a number of recordsdata with a selected extension:

rm *.[file-extension]

Remove an empty listing:

 rm -d [directory]

Remove a non-empty listing and recordsdata:

rm -r [directory]

Again, the -i parameter could be specified to offer a immediate earlier than removing on a per-file foundation.

If three or extra recordsdata are listed, -i will consolidate this down into one immediate.

Touch

The contact command can be utilized to switch timestamps and create empty recordsdata.

Create a brand new file with none content material:

contact [file-name]

Update a recordsdata final accessed time:

contact -a [file-name]

Update a recordsdata final modified time:

contact -m [file-name]

Set a selected entry and modification time:

contact -c -t YYDDHHMM [file-name]
touch command linuxScreenshot of command window, September, 2021touch command linux

Above is an instance timestamp set to 22:59 on fifteenth December 2018.

Copy

On a UNIX CLI, the copy command (cp) is used solely to repeat a file or listing from one place to a different.

This is price taking into account to these extra aware of the Windows command immediate, the place the copy command will also be used to mix recordsdata.

Make a replica of a file:

cp [file-name] [new-file-name]

Copy file to listing:

cp [file-name] [directory-name]

Copy a number of recordsdata to listing:

cp [file-name] [another-file-name] [directory-name]

A Copy all recordsdata to vacation spot listing:

 cp -r [existing-directory] [new-directory]

Copy all recordsdata with a selected extension:

cp *.[file-extension] [directory-name]

Once once more, -i can be utilized to offer a immediate earlier than a file is overwritten, and -n can be utilized to stop this totally.

Displaying & Manipulating

Head & Tail

Large recordsdata can take a very long time to load when utilizing a GUI – in the event that they load in any respect…

This is the place the top and tail instructions are available in, permitting you to preview the primary – or final! – (n) rows of information.

It’s extremely useful in case you’re about to undertake some type of knowledge manipulation however are uncertain how the file you’re working with is structured.

Preview the start of a file:

head [file-name]

Preview the top of a file:

tail [file-name]

Both instructions show 10 rows of information by default, which could be modified utilizing the -n choice.

head/tail -n 5 [file-name]

One nuance price noting is that the tail command comes with a plus choice, which prints knowledge beginning at a selected line quite than the top.

tail +5 [file-name]
Tail command in Linux.Screenshot of command window, September, 2021Tail command in Linux.

Cat

The cat command – brief for concatenate – is used to learn, mix and write recordsdata.

Print the contents of a file:

cat [file-name]

Concatenate a number of recordsdata right into a mixed file:

cat [file-1] [file-2] [file-3] > [combined-file]

Combine a number of recordsdata with the identical extension:

cat *.[file-extension] > [combined-file]

Above, the redirection operator (>) is what signifies that the output ought to be saved as a brand new file (or overwrite the present file). To stop the present knowledge inside a file being overwritten, specify >>.

Concatenate two recordsdata with out creating a brand new file:

cat file1 >> file2

website positioning use case for the cat command is if you’re performing hyperlink analysis. Unless you’re utilizing an API, this may entail downloading a number of exports, all of which may have the identical format.

To mix, pop the exports in a folder and run a cat command with sample matching on the extension.

Cat Linux command.Screenshot of command window, September, 2021Cat Linux command.

Word Count

More than only a one-trick pony, the phrase rely command additionally helps the counting of characters and, extra importantly for website positioning, traces.

Count the variety of phrases in a file:

wc -w [file-name]

A Count the variety of characters in a file:

wc -m [file-name]

Count the variety of traces in a file:

wc -l [file-name]

At this level, it’s vital to introduce the pipe command. Rather than being utilized in isolation, a number of instructions could be chained collectively utilizing the pipe character (|), enabling customers to carry out extra complicated operations. When used properly, this may be tremendously highly effective.

As a primary instance, right here’s learn how to rely the variety of CSV recordsdata in a listing:

ls *.csv | wc -l

Or rely the variety of traces in a number of recordsdata and record the mixed complete:

cat * | wc -l
Cat Linux command.Screenshot of command window, September, 2021Cat Linux command.

The above reveals {that a} line rely on a 73 million row dataset took < 20 seconds.

Grep

The grep command is used to carry out a seek for a selected string of characters. This is extremely helpful for website positioning, the place extracting knowledge from giant recordsdata is an virtually day by day prevalence. As an instance, when parsing log recordsdata.

Extract each line that includes a sample (on this case Googlebot) from a file:

grep "Googlebot" [file-name]

A Extract each line that includes a sample from a number of recordsdata with a selected extension:

grep "Googlebot" *.[file-extension]

Extract each line that includes a sample from a number of recordsdata with a selected extension and write it to a brand new file:

grep "Googlebot" *.[file-extension] > [file-name]
Grep command.Screenshot of command window, September, 2021Grep command.

Due to the potential file sizes concerned, logs are virtually universally saved in one-day increments, so utilizing sample matching to carry out a grep on a number of recordsdata could be very a lot the norm.

Grep’s default behaviour on this occasion is to prefix every line with the identify of the file.

entry.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

This info is completely irrelevant when performing log file evaluation for website positioning and may fortunately be eliminated by utilizing the -h choice.

grep -h "Googlebot" *.[file-extension] > [processed-file]

Multiple sample matches could be carried out per line by utilizing the pipe command. use case for that is when requests for a number of domains are saved in the identical location, and also you solely need one.

Extract each line that options two patterns from a number of recordsdata with a selected extension and write it to a brand new file:

grep -h "area.com" | grep "Googlebot" *.[file-extension] > [processed-file]

To rely the occurrences of a sample in a file, use the -c choice. It’s price taking into account that this may carry out a rely per file although, as with wc -l. To get the whole matches throughout a number of recordsdata, mix with the cat command.

cat *.[file-extension] | grep -c "Googlebot"
Grep -c and cat commands.Screenshot of command window, September, 2021Grep -c and cat commands.

Extract each line that doesn’t characteristic a sample from a file:

grep -v "sample" [file-name]

A Extract each line that includes a sample from a file (case insensitive):

grep -i "sample" [file-name]

Extract each line that includes a sample from a file utilizing Regex:

grep -E "regex-pattern" [file-name]

Sort

Of restricted utilization by itself, kind could be mixed with different instructions to kind the output alphabetically or numerically.

Order alphabetically and output to a brand new file:

kind [file-name] > [sorted-file]

Reverse the order and output to a brand new file:

kind -r [file-name] > [sorted-file]

Order numerically and output to a brand new file:

kind -n [file-name] > [sorted-file]

A Order alphabetically on the n column (on this occasion 3) and output to a brand new file:

kind -k3 [file-name] > [sorted-file]

Order utilizing a number of columns and output to a brand new file:

kind -k[column-1],[column-2] [file-name] > [sorted-file]

Sort will also be used to take away duplicate traces:

kind -u [file-name] > [sorted-file-unique-lines]

Or stacked with phrase rely to get a tally of distinctive traces inside a file:

kind -u [file-name] | wc -l

Split

Struggling to open one thing? The break up command is ideal for separating enormous recordsdata into extra manageable chunks.

Split a file into smaller chunks (1000 traces by default):

break up [file-name]

A Split a file into smaller chunks with a specified variety of traces:

break up -l[number] [file-name]

Split a file right into a given variety of chunks:

break up -n[number] file-name]

Split a file into smaller chunks with a specified file measurement:

break up -b[bytes] [file-name]

Files will also be break up based mostly on kilobytes, megabytes and gigabytes:

break up -b 100K [file-name] break up -b 10M [file-name] break up -b 10G [file-name]

While the above instructions will break up a file, they won’t mechanically keep the recordsdata extension. To accomplish that, use the --additional-suffix choice.

Here’s a extra sensible instance of learn how to break up a big CSV file into 100MB chunks utilizing this feature. In it, we’ve additionally specified the -d choice and added a customized suffix. This signifies that the output recordsdata will comply with a naming conference of ‘logs_[number]’, quite than alphabetic characters.

break up -d -b 100M --additional-suffix=.csv logs.csv logs_
Split command UNIX.Screenshot of command window, September, 2021Split command UNIX.

When testing a script, it’s usually useful to seize a random knowledge pattern from a file. Unfortunately, the break up command doesn’t have an choice for this. Instead, use shuf.

shuf -n [number] [file-name] > [new-file]

Cut

Cut lets you entry elements of the traces of an enter file and output the info to a brand new file. Although it will also be used to slice by bytes and characters, probably the most helpful utility for website positioning is slicing knowledge by fields.

Slice file by subject:

minimize -f [number] [file-name]

A Slice file by a number of fields:

minimize -f [number-1],[number-2] [file-name]

Slice file by a spread of fields:

minimize -f [number-1]-[number-2] [file-name]

Slice file by a spread of fields (from the chosen quantity to the top of the road):

minimize -f [number]- [file-name]

Cut slices utilizing the tab delimiter by default, however this may be modified utilizing the -d choice (e.g. area):

minimize -d " " -f [number] [file-name]

It’s additionally doable to stack a number of ranges collectively. To present a extra sensible illustration, in case you wished to extract particular columns from a number of hyperlinks recordsdata that share the identical format:

minimize -d "," -f 1,3-5,13-15 *.csv > minimize.csv

Sed (Stream Editor)

The sed command can carry out a spread of helpful textual content transformations, together with filtering, discover and exchange, insertions and deletions.

View traces inside the center of a doc (which isn’t supported by head and tail):

sed -n '[number-1],[number-2]p' [file-name]

Perform a discover and exchange and save the output:

sed 's/[find-text]/[replace-with]/g' [file-name] > [new-file]

A Perform a discover and exchange save inplace:

sed -i 's/[find-text]/[replace-with]/g' [file-name]

Perform a discover, exchange with nothing and save the output:

sed 's/[find-text]//g' [file-name] > [new-file]

Find and delete traces with a selected sample, saving the output:

sed '/[find-text]/d' [file-name] > [new-file]

Find and delete clean traces (utilizing Regex), saving the output:

sed '/^$/d' [file-name] > [new-file]
Sed command UNIX.Screenshot of command window, September, 2021Sed command UNIX.

Delete areas on the finish of traces of textual content and save the output:

sed 's/[[:blank:]]*$//' [file-name] > [new-file]

Run a number of discover and replaces on a file and save the output:

sed -e 's/[find-text]/[replace-with]/g; s/[find-text-2]/[replace-with-2]/g' [file-name] > [new-file]

Awk

For actually heavy-duty knowledge manipulation utilizing the command line, discover ways to use awk. Awk is a scripting language in its personal proper, and is able to a spread of various transformations.

Count the distinctive values in a column:

awk -F '[delimiter]'  '{print $[column-number]}' [file-name] | kind | uniq -c

Below reveals rely of standing codes in a log file.

awk command logs count Screenshot of command window, September, 2021awk command logs count

Perform a discover and exchange on a column and save the output:

awk -F '[delimiter]' ''

Filter rows down based mostly on a column assembly a situation (higher than):

awk '[delimiter]'  '$[column-number] > [number]' [file-name]

Filter rows down utilizing sample matching on a column (accommodates):

awk -F '[delimiter]' '$[column-number] ~ /[pattern]/' [file-name]

Count phrase frequency inside a file:

awk 'BEGIN {FS="[^a-zA-Z]+" }  for (i=1; i<=NF; i++) phrases[tolower($i)]++  END ' *

As you’ll be able to see within the examples above, the syntax for an awk question is a little more complicated than what we’ve lined beforehand.

Awk helps many constructs from different programming languages, together with if statements and loops, however in case you’re extra aware of one other language, this can be the complexity degree at which it’s price transitioning over.

That stated, it’s at all times price doing a fast seek for an awk resolution first.

Interacting With the Web

Curl (Client URL)

Curl is a command line utility that enables customers to obtain knowledge from, or switch knowledge to, a server. This makes it extremely helpful for website positioning, the place we’ve to repeatedly test standing codes, headers and examine server and client-side HTML.

Get the contents of a URL:

curl [url]

Save the contents of a URL to a file:

curl -o [file-name] [url]

Download an inventory of URLs from a file:

 xargs -n 1 curl -O < [file-of-urls]

Use curl with the -I choice to show solely the headers and standing code:

curl -I [url]
Curl command head only.Screenshot of command window, September, 2021Curl command head only.

Curl -I is an effective way to confirm standing codes when a website is utilizing a service employee, which frequently battle with browser extensions.

It’s additionally glorious for verifying if a CDN’s bot mitigation is inflicting points if you’re trying to crawl a website. If it’s, you’ll virtually definitely be served a 403 (Forbidden) standing code.

To absolutely replicate a redirect tracing extension, allow comply with redirects with the -L choice:

curl -LI [url]
Curl command head follow redirects.Screenshot of command window, September, 2021Curl command head follow redirects.

Get the contents of a URL utilizing a customized person agent:

curl -A "User-Agent" [url]

Use a distinct request methodology with a customized header:

curl -X POST -H "Content-type: utility/json" [url]

Test whether or not a URL helps a protocol (e.g. whether or not a website helps HTTP2, or a website on HTTP2 is backwards-compatible with HTTP/1.1):

curl -I --http2 [url] curl -I --http1.1 [url]

Wget

Wget performs an analogous perform to curve however options recursive downloading, making it the higher alternative when transferring a bigger variety of recordsdata (or a complete web site!).

A Wget is included in most distributions mechanically, however in case you’re utilizing GIT Bash, you’ll have to put in it.

Download a file:

wget [url]

A Download an inventory of URLs in a textual content file:

wget -i [file-name].txt

Download a complete web site:

wget -r [url]

By default, wget will solely obtain pages recursively as much as 5 ranges deep. Extend this utilizing the -l choice:

wget -r -l [number] [url]

Or, in case you’re feeling courageous, allow infinite recursion:

wget -r -l inf [url]

If you need to obtain a neighborhood copy of a website – with the hyperlinks up to date to reference the native variations – then use the mirror choice as an alternative:

wget -m [url]

You may limit the kinds of recordsdata downloaded. If, for example, you solely wished JPGs:

wget -r -A jpg,jpeg [url]

Or wished to obtain all photos on a web site to a single listing, together with these on a CDN, ignoring the robots.txt:

wget -r -l inf -nd -H -p -A jpg,jpeg,png,gif -e robots=off [url]
Wget command UNIX.Screenshot of command window, September, 2021Wget command UNIX.

Cleaning Your Output

To end issues off, a little bit of housekeeping is on order.

If you’ve been following alongside and making an attempt out instructions, the possibilities are that your command line is beginning to look messy. Thankfully, clearing – or quitting! – the interface could be very easy.

Clear the output of the command line:

clear

Exit the command line:

exit

Taking Things Further

The above instructions may have given you a good suggestion of the kinds of duties you’ll be able to accomplish utilizing the command line, however that is actually only a jumping-off level.

With the flexibility to chain instructions collectively, the probabilities are just about countless – particularly in case you begin exploring Bash scripting.

To present a number of extra concepts, you could possibly:

  1. Automate Screaming Frog.
  2. Run net efficiency exams like Lighthouse in bulk.
  3. Perform en-masse picture compression.
  4. Or publish a web site utilizing a JAMstack structure.

Lastly, a level of competency utilizing the command line is crucial if you start coding.

It’s a talent you’ll use continually when navigating to, and working, your scripts.

And with the recognition of Git repositories similar to GitHub and Gitlab, I hope you’ll use it to contribute to tasks and share your work with the world, as properly!

Write a Comment

Your email address will not be published. Required fields are marked *