lk/fundamentals/basics.md

1.6 KiB

Processes

Process id 1 is systemd. All other processes are child processes.

ps -sH

This has every process on the system, and -H shows the hierarchy. This can be piped to less to view easily.

ps -u ghost

Looking at processes spawned from user 'ghost'.

ps -e --forest

Like tree, but more.

ps -sfH

The fucking lot.

All of this is from /proc, which is a direct line to the kernel. Commands like free', top' et c. pulls from /proc.

Top

In top' we can take the pid and then press k' in order to kill that process.

check what's going on with qutebrowser

ps aux | grep qutebrowser

Check open ports

sudo netstat -tulpn

#Check that udev process systemctl status udev

Show net interface

ip addr show

This can also take arguments, such as the name of an interface.

Find

find . -name 'bob cv'

Find file 'bob cv'

find . -size +7G

Find files of 7Gig or more.

find -name hidden -type l

Find a symbolic link containing 'hidden' in the name.

find -name *txt -delete

Delete all files from here of the *txt type.

find -type d -empty

Find empty directories.

find . mtime 50

Find all file modified precisely 50 days ago. There's also:

  • -mtime +20
    • file modified more than 20 days ago.
  • -atime -13
    • file accessed less than 13 days ago.
  • -cmin 20
    • file modified 20 minutes ago.
  • -mmin +70
    • files modified more than 70 minutes ago.

Logs

cat /var/logs/auth.log | grep fail

Files

file example.txt

This shows info about a file.

Further reading

Hund has some fantastic examples.