Skip to main content

linux cheatsheet

Linux Cheatsheet

Users management
History
Network
Permissions
Redirection
Network sniffer
systemd
text manipulation - awk and sed

System info

What How
name of host hostname
FQDN of host hostname -A
IP address of host hostname -i
memory usage free -h
Linux flavor cat /etc/*-release
cat /proc/version
lsb_release -a
disk usage df -h
folders size du -ah
total disk usage off the current directory du -sh

History tool

What How
Run last command starting with abc !abc
Print last command starting with abc !abc:p
Last argument of previous command !$
Search history CONTROL-R
All arguments of last command !*
First argument of last command !^
Take second argument of last cp command ls -l !cp:2

Network

netstat man page
netstat examples

View Only Established Connection netstat -natu | grep 'ESTABLISHED'
-a = Show both listening and non-listening (for TCP this means established connections) sockets
-t = tcp
-u = tudp
-n = Show numerical addresses instead of trying to determine symbolic host
Listing all the LISTENING Ports of TCP and UDP connections netstat -a
Listing all LISTENING Connections netstat -l
-l = Show only listening sockets
Listing TCP Ports connections netstat -at
Listing all TCP Listening Ports netstat -lt
Listing UDP Ports connections netstat -au
View Port Number used by PID netstat -anlp | grep $PID
which process using particular port netstat -anlp | grep portnumber

Users management

Groups

WhatHow
/etc/group[Group name]:[Group password]:[GID]:[Group members]
Group of current usergroups
Groups an user is a member ofgroups tecmint
id tecmint (first listed group is primary group)
List existing groupsgetent group
Deleting a groupgroupdel [group_name]
Create groupgroupadd mynewgroup

Users

What
How
/etc/passwd
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
Change user shell
usermod --shell /bin/sh tecmint
Adding a user to a primary group and supplementary groupuseradd -g “head” -G “faculty” anirban
-g = primary group
Add user to group usermod -a -G group user
Define primary group of user usermod -g groupname username
View the numerical IDs associated with each group id

Other:

What How
Creating a new group for read and write access to files that need to be accessed by several users groupadd common_group # Add a new group

chown :common_group common.txt # Change the group owner of common.txt to common_group

usermod -aG common_group user1 # Add user1 to common_group

usermod -aG common_group user2 # Add user2 to common_group

usermod -aG common_group user3 # Add user3 to common_group
=======================================================
Look for files and replace strings in it find . -type f -exec grep -q "opt/octane" {} \; -print -exec sed -i "s+/opt/octane+/temp/octane+g" {} \;

Permissions

Unix Permissions Calculator 1
Unix Permissions Calculator 2

0=---  1=--x  2=-w-  3=-wx  4=r-  5=r-x  6=rw-  7=rwx

644 u+rw-, g+r, o+r
750 u+rwx, g+rx
755 u+rwx, g+rx, o+rx
760 u+rwx, g+rw
770 u+rwx, g+rwx

What How
owner (u) The Owner permissions apply only the owner
group (g) The Group permissions apply only to the group that has been assigned to the file or directory
all users (o) The All Users permissions apply to all other users
add permissions chmod a+rw file1
remove permissions chmod a-rw file1
binary represntation of permissions read = 4
write = 2
execute = 1
changing groups of files & directories chgrp <group> <file>
changing ownership chown -R tom <folder>
chown -R tom:sales <folder>





IO Redirection

What How
Error output (stderr) of cmd to file cmd 2> file
stdout to same place as stderr cmd 1>&2
stderr to same place as stdout cmd 2>&1
Every output of cmd to file cmd &> file

Network sniffer

What How
Capture and display all packets on interface eth0 tcpdump -i eth0
Monitor all traffic on port 80 tcpdump -i eth0 'port 80'

systemd


What How
Start service systemctl start foobar
Stop service systemctl stop foobar
low-level properties of a unit systemctl show foobar
Loaded services systemctl -t service
Installed services systemctl list-unit-files -t service
systemctl list-units --all
low-level properties of a unit systemctl show foobar
Loaded services systemctl -t service
Read all the service options man systemd.service
Run if .service file has changed systemctl daemon-reload
See all systemd logs journalctl
journalctl -f
journalctl -u my_daemon.service
Display an overview of overridden or modified unit files systemd-delta

Text manipulation



What How
print only certain fields awk '/a/ {print $3 "\t" $4}' marks.txt
count and print the number of lines awk '/a/{++cnt} END {print "Count = ", cnt}' marks.txt
print lines that contain more than 18 characters awk 'length($0) > 18' marks.txt
Split by different character awk -F":" '{ print $1 " " $3 }' /etc/passwd
rint only lines that contain a floating point number /[0-9]+\.[0-9]*/ { print }
sed delete second line: sed '2d' myfile
range: sed '2,3d' myfile
third line to the end: sed '3,$d' myfile
by pattern: sed '/test 1/d' myfile
range: sed '/second/,/fourth/d' myfile
sed replacespecifying occurrence number: sed 's/test/another test/2' myfile
prints line with pattern, -n = to print modified lines only: sed -n 's/test/another test/p' myfile
use the exclamation mark (!) as string delimiter: sed 's!/bin/bash!/bin/csh!' /etc/passwd
limit to range of lines: sed '2,3s/test/another test/' myfile

Comments

Popular posts from this blog

Best freeware - XML editor

As a software developer, I open XML files all the time. I a heavy commercial XML editor. But nothing can compare to a small, thin and free XML editor like 'foxe'. A great feature is has is the alignment of long XML strings to readable XML format (Shift-F8). It help lot of times when the XML file was generated by some tool and was not readable. Homepage: http://www.firstobject.com/dn_editor.htm

Jenkins error: groovy.lang.MissingPropertyException

I tried to run groovy build step and got below error. This post will describe how I solved the problem. Caught: groovy.lang.MissingPropertyException: No such property: hudson for class: script

SSL in pictures

Here is my summary on SSL (or as I like to call it 'SSL for dummies')