DEV Community

Cover image for Linux Basics
Aravind
Aravind

Posted on

Linux Basics

What is LINUX ?

--Linux is open source & free - Derived from UNIX, written in C - low level language

--Terminal - It's the place where you can interact with OS using commands.

--All the distributions providers [ ubuntu, linux mint, Centos, Fedora, Redhat, Kali linux, etc] they will take the kernal & they will modify & release their own linux version. That means "ubuntu, linux mint, Centos, Fedora, Redhat,Kali linux, etc ] all are Linux only

Basics Linux commands:

cd -- moves to home directory (change directory) , used to move to different directory.

man -- manual (like an user manual)
help -- provide information about each command
ls -- To list files and directories under a folder.
ls -lh -- human readable

Wildcards:

ls *.Txt - - list all the Txt files
ls ?.Txt -- list only Txt file which has one character
eg: a.txt b.txt
ls file[1234].txt

mkdir -p nee/folder/subfolder -- To create directory under specified path

-p -- to create subfolders

create and delete (File/Directory)

touch filename --create a file
rm filename --remove a file

mkdir "Hello world" --creates a dir
To include space in folder name
rmdir -- empty directory
rm -r -- to remove directory that has files
rm -ri folder -- interactive

To edit a file user nano or vi editor:

NANO:

nano filename -- brings you to editor

^ ctrl
M - alt

FIND:

find -name ".Txt"
find -iname "
.TXT"
find -type f --file
find -type d --dir
find -maxdepth 2 --levels to search
-i -- case insensitive

Viewing files:

cat file.txt
tac ----- reverse order vertically
rev ------ reverse horizontally
less file.txt -----when file size is big
head -n 20 test.txt -----first 20 lines
tail -n 20 -----last 20 lines

Sorting:

sort test.txt
sort -n test.txt ------> for numbers
sort -r -----> for reverse order
sort -u -----> for unique list

ARCHIVING-COMPRESSING:

It involves two steps:

1.creating tar balls
tar -cvf tarballname file1.txt file2.txt
C- creating tar
V - verbose
F ----file

Extracting ----x

tar -xvf tarballname

2.zip tarball using gzip or bzip2

gzip name.tar --> this will give --> name.tar.gz
gunzip name.tar.gz

creating Zip file:
zip name.zip file1 file 2
Unzip name.zip

To make file executable
chmod +x file.txt

CRONTAB:

To auto schedule jobs/commands

crontab -e ------- take u to crontab,where you can view cronjobs and can add new cron jobs

To find about the machine like Version, flavor:

uname -o
Uname -r
hostnamectl
cat /etc/os-release

Installation and Removal
rpm -i --install (install new RPM; error if already installed)
rpm -U --upgrade (delete existing RPM, if any; install new)
rpm -F --freshen (update RPM only if package already installed)
rpm -e --erase (remove, delete, expunge)

PACKAGE
rpm -q [packages] [information]
rpm -qa (all installed packages)
rpm -q package_name
rpm -qf (filename)
rpm -qp (package filename)
rpm -qa | grep foo

Tee

ls -l | tee new.txt | cat > t.txt

Tee command is literally a "T"

COMMAND flows from left to right

It will spit out the result of command in new.txt

File Permissions

Owner : Group : Others
Read - 4
Write - 2
Execute - 1 [ Clicking the directory & going inside]
ls test.txt shows 10 indexs -rw-rw-r--
1st index -> Indicates file if it is a Directory it will show as d
2nd,3rd,4th -> Indicates Owner has read,write,execute permission
5th,6th,7th -> Indicates Group has read,write,execute permission
8th,9th,10th -> Indicates Others has read,write,execute permission

Top comments (0)