Linux

From roonics
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Linux

Useful Commands

Show what is listening on what port

netstat -tulpn | grep LISTEN

Example output:

tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      685/nrpe
tcp        0      0 127.0.0.1:199           0.0.0.0:*               LISTEN      958/snmpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      962/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1179/master
tcp6       0      0 :::5666                 :::*                    LISTEN      685/nrpe
tcp6     129      0 :::2224                 :::*                    LISTEN      663/ruby
tcp6       0      0 :::22                   :::*                    LISTEN      962/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1179/master

Show what version of Linux is running

cat /etc/*release

Example output:

CentOS Linux release 7.5.1804 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.5.1804 (Core)
CentOS Linux release 7.5.1804 (Core)

Show which directory is consuming how much space

du -h --max-depth=1

Example output:

13M     ./src
268K    ./.unison
20K     ./.ssh
0       ./synctest
0       ./.pki
56M     ./openssl-1.1.0f
4.0K    ./.config
68M     ./.cache
4.0K    ./.local
104M    ./vendor
262M    .

Find a file

find / -name php.ini

Example output:

/etc/php.ini

Find in a file

grep -r "localhost" /etc/php.ini

Example output:

SMTP = localhost

Tar a file

tar -cvzf outputfile.tar.gz mysql-slow.log

Untar a file

tar -zxvf outputfile.tar.gz

List all pending updates to filename called servername

Centos/Redhat:

yum list updates > /tmp/"$(uname -n).txt"

Ubuntu:

apt-get upgrade --dry-run > /tmp/"$(uname -n).txt"

Example output of servername.txt:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.econdc.com
 * epel: mirrors.coreix.net
 * extras: anorien.csc.warwick.ac.uk
 * updates: mirror.sov.uk.goscomb.net
Updated Packages
GeoIP.x86_64                           1.5.0-13.el7                      base
NetworkManager.x86_64                  1:1.12.0-8.el7_6                  updates
NetworkManager-libnm.x86_64            1:1.12.0-8.el7_6                  updates
NetworkManager-ppp.x86_64              1:1.12.0-8.el7_6                  updates
NetworkManager-tui.x86_64              1:1.12.0-8.el7_6                  updates
NetworkManager-wifi.x86_64             1:1.12.0-8.el7_6                  updates
alsa-lib.x86_64                        1.1.6-2.el7                       base
audit.x86_64                           2.8.4-4.el7                       base
audit-libs.x86_64                      2.8.4-4.el7                       base
bash.x86_64                            4.2.46-31.el7                     base
bind-libs-lite.x86_64                  32:9.9.4-73.el7_6                 updates
bind-license.noarch                    32:9.9.4-73.el7_6                 updates
binutils.x86_64                        2.27-34.base.el7                  base
centos-release.x86_64                  7-6.1810.2.el7.centos             base

Show journal

journalctl -xe

Add static route

ip route add 172.26.2.54 via 172.26.2.1 dev eth0

Note:This clears on rebooting of the server

Create a file in /etc/sysconfig/network-scripts/route-eth0 with the below in the file:

172.26.0.54 via 172.26.0.1 dev eth0

This will make the route survive a rebooting of the server.

Create a user

useradd username

Change password

passwd username_you_want_to_change_password

See what groups user is in

groups username_you_want_to_check

Add user to wheel (sudo) group

usermod -a -G wheel username

List users

cat /etc/passwd

Example output:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

List groups

cat /etc/group

Example output:

root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
ssh_keys:x:997:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
chrony:x:996:
apache:x:48:
mysql:x:27:
cgred:x:995:
tss:x:59:

Show group memnership

id <username>

Example output:

uid=0(root) gid=0(root) groups=0(root)

‎<comments />