Check a Website Availability from the Linux Command Line

You can easily test a a website availability from the Linux command line and get the status codes from the web-server using commands like TELNET or CURL.

Check a website availability with CURL

Execute the following command to check whether a web site is up, and what status message the web server is showing:

$ curl -Is http://www.shellhacks.com | head -1
HTTP/1.1 200 OK

Status code ‘200 OK’ means that the request has succeeded and a website is reachable.

Here is an another example that shows you how curl displays different status codes.

$ curl -Is http://shellhacks.com | head -n 1
HTTP/1.1 301 Moved Permanently

You’ll notice that if you visit: http://shellhacks.com you are redirected to http://www.shellhacks.com, because I prefer to have www in my site’s URL. I do this by implementing a 301 Redirect (Permanently moved) for any visitor who goes to http://shellhacks.com.

You can also check the availability of a particular page on the site:

$ curl -Is http://www.shellhacks.com/en/Bash-Colors | head -n 1
HTTP/1.1 200 OK

Read more: Status Code Definitions

Check a website availability with TELNET

You can also test website availability and get the response code using telnet command:

$ telnet www.shellhacks.com 80
Trying 91.206.200.119...
Connected to www.shellhacks.com.
Escape character is '^]'.
HEAD / HTTP/1.0
HOST: www.shellhacks.com
<PRESS ENTER>
<PRESS ENTER>

You will get the output as follows:

HTTP/1.1 200 OK
Server: nginx/1.1.10
Date: Sun, 26 May 2013 19:29:46 GMT
***

That also means that the website is OK.

0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Logrotate Example for Custom Logs
Viewed 2293 times since Sun, Jan 12, 2020
Increase A VMware Disk Size (VMDK) Formatted As Linux LVM without rebooting
Viewed 14986 times since Wed, May 30, 2018
linux manual tools
Viewed 2423 times since Fri, Sep 28, 2018
How To Ping Specific Port Number
Viewed 3297 times since Mon, Jun 1, 2020
How to disable SSH cipher/ MAC algorithms for Linux and Unix
Viewed 42944 times since Fri, Aug 21, 2020
How to manage Linux password expiry with the chage command
Viewed 10910 times since Tue, Sep 11, 2018
stunnel: Authentication
Viewed 8934 times since Fri, Sep 28, 2018
stunnel Howto A Guide to create SSL access to a HTTP-only webserver with stunnel
Viewed 2414 times since Fri, Sep 28, 2018
RHEL: Retrieve and generate a unique SCSI identifier
Viewed 2736 times since Sat, Jun 2, 2018
7 Tips – Tuning Command Line History in Bash
Viewed 4684 times since Fri, Jul 5, 2019