-->

How to check Linux System is 64 bit or 32 bit

Author : Piyush Gupta

This article describes how to find out whether your Linux system’s OS is 32-bit or 64-bit. This will be helpful if you wanted to download or install an application in your Linux system. As we all know, we can’t install 64-bit applications into a 32-bit OS type. That’s why knowing your Linux system’s OS type is important.
Here are the five easy and simple methods to verify your Linux system’s OS type. It doesn’t matter whether you’re using a GUI or CLI type systems, the following commands will work on almost all Linux operating systems such as RHEL, CentOS, Fedora, Scientific Linux, Debian, Ubuntu, Linux Mint, openSUSE etc.

1. uname Command

uname -a command will display your Linux system’s OS type. This is the universal command and it will work on almost all Linux/Unix operating systems.
To find out the system’s OS type, run:
# uname -a

#64-Ubuntu Mon Sep 28 20:29:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2. dpkg Command

dpkg command will also display whether your Debian/Ubuntu operating system is 32-bit or 64-bit. This command will work only on Debian and Ubuntu based distributions and it’s derivatives.
Open your Terminal, and run:
$ dpkg --print-architecture
If your OS is 64-bit, you’ll get the following output:
amd64
If your OS is 32-bit, then the output will be:
i386

3. getconf Command

getconf command will also display the system configuration variables. Now, let me show you how to find out the Linux system arch using getconf command.
$ getconf LONG_BIT

64
For more details refer the man pages.
$ man getconf

4. arch Command

arch command will display your OS type. This command is similar to uname -m command. If its output is x86_64 then it’s 64-bit OS. If the output is i686 or i386, then it’s 32-bit OS.
$ arch

x86_64

5. file Command

file command with with a special argument /sbin/init will display the OS type.
$ file /sbin/init

/sbin/init: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.24, 
BuildID[sha1]=*****, stripped

How to archive files and directories in Linux

Author : Piyush Gupta

Archive files and directories In Linux, There are multiple tools available in Linux system for creating archive files. In this article we will see how to archive files and directories using tar, zip and gzip command.
Below is the most common programs to archive files and directories are;
  1. zip
  2. tar
  3. gzip

1 – Zip

zip is the most popular command line archiving utility for Linux systems. zip program comes pre-installed with some Linux distros. Just in case if it is not available, you can install it using the distribution’s default package manager.

On Arch Linux and variants:

$ sudo pacman -S zip unzip

On RHEL, CentOS, Fedora:

$ sudo yum install zip unzip

On Debian, Ubuntu, Linux Mint:

$ sudo apt-get install zip unzip

On SUSE/openSUSE:

$ sudo zypper install zip unzip
Now let us see some examples.

Create Archive of File

# zip output.zip /var/log/*.log

Create Archive of Directory

# zip -r output.zip /var/log

Extract Archive

# unzip output.zip

2 – Tar

Tar is an Unix command which stands for Tape Archive. It is used to combine or store multiple files (same or different size) into a single file. There are 4 main operating modes in tar utility.

  1. c – Create an archive from a file(s) or directory(s).
  2. x – Extract an archive.
  3. r – Append files to the end of an archive.
  4. t – List the contents of the archive.

Create Archive of File

# tar -cf output.tar /var/log/*.log

Create Archive of Directory

# zip -cf output.tar /var/log

Extract Archive

# tar -xf output.tar

3 – gzip

gzip is a utility to compress and decompress files using Lempel-Ziv coding (LZ77) algorithm.
gzip is one more tool for command line users for making archive files. gzip also supports to take input of data as standard input or through pipe and create zip file.

Create Archive of File

# gzip -k access.log

Create zip file of piped data

# cat /var/log/messages | gzip > messages.gz

Extract Archive

# gunzip access.log.gz

Combined – Tar + gzip

Tar also combined gzip program to enable higher compression level of files. Using tar with gzip created files extension will be .tar.gz.

Create Archive of File

# tar -czf output.tar.gz /var/log/*.log

Create Archive of Directory

# zip -czf output.tar.gz /var/log

Extract Archive

# tar -xzf output.tar.gz

How to change background color of text in Linux Shell

Author : Piyush Gupta

Information as found on this page, excluding preview column:
Sequences are composed of the Escape character (often represented by ”^[” or ”<Esc>”) followed by some other characters: ”^[FCm” (where FC is one of the numbers in the bulleted list below).
In bash, the Esc code can be either of the following:
  1. \e
  2. \033 (octal)
  3. \x1B (hexadecimal)
Note 1: The "\e[0m" sequence removes all attributes (formatting and colors). It can be a good idea to add it at the end of each colored text.
Note 2: Foreground and background colours may vary, depending on the terminal's configuration and not all colours are supported.

Set/Reset

  • 0: Reset/remove all modifier, foreground and background attributes: echo -e "\e[0mNormal Text"
  • 1: Bold/Bright: echo -e "Normal \e[1mBold"
  • 2: Dim: echo -e "Normal \e[2mDim"
  • 4: Underlined: echo -e "Normal \e[4mUnderlined"
  • 5: Blink (doesn't work in most terminals except XTerm): echo -e "Normal \e[5mBlink"
  • 7: Reverse/Invert: echo -e "Normal \e[7minverted"
  • 8: Hidden (useful for sensitive info): echo -e "Normal \e[8mHidden Input"
  • 21: Reset/Remove bold/bright: echo -e "Normal \e[1mBold \e[21mNormal"
  • 22: Reset/Remove dim: echo -e "Normal \e[2mDim \e[22mNormal"
  • 24: Reset/Remove underline: echo -e "Normal \e[4mUnderlined \e[24mNormal"
  • 25: Reset/Remove blink: echo -e "Normal \e[5mBlink \e[25mNormal"
  • 27: Reset/Remove reverse/invert: echo -e "Normal \e[7minverted \e[27mNormal"
  • 28: Reset/Remove hidden: echo -e "Normal \e[8mHidden \e[28mNormal"

Foreground

  • 39: Default (usually green, white or light gray): echo -e "Default \e[39mDefault"
  • 30: Black: echo -e "Default \e[30mBlack" (best combined with a background colour: echo -e "Default \e[30;107mBlack on white")
  • 31: Red (don't use with green background)
  • 32: Green
  • 33: Yellow
  • 34: Blue
  • 35: Magenta/Purple
  • 36: Cyan
  • 37: Light Gray
  • 90: Dark Gray
  • 91: Light Red
  • 92: Light Green
  • 93: Light Yellow
  • 94: Light Blue
  • 95: Light Magenta/Pink
  • 96: Light Cyan
  • 97: White

Background

  • 49: Default background color (usually black or blue)
  • 40: Black
  • 41: Red
  • 42: Green
  • 43: Yellow
  • 44: Blue
  • 45: Magenta/Purple
  • 46: Cyan
  • 47: Light Gray (don't use with white foreground)
  • 100: Dark Gray (don't use with black foreground)
  • 101: Light Red
  • 102: Light Green (don't use with white foreground)
  • 103: Light Yellow (don't use with white foreground)
  • 104: Light Blue (don't use with light yellow foreground)
  • 105: Light Magenta/Pink (don't use with light foreground)
  • 106: Light Cyan (don't use with white foreground)
  • 107: White (don't use with light foreground)
To set both the foreground and background colours at once, use ther form echo -e "\e[S;FG;BGm". For example: echo -e "\e[1;97;41m" (bold white foreground on red background)
For 256 colour options, see the source page.