Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What are your top most useful Unix commands?
7 points by nns on Oct 31, 2019 | hide | past | favorite | 17 comments


kill lets you send any signal to a process you have control over. Corresponding signal handlers allow a wide range of behavior changes.


A lot of people only know about its use for literally killing a process. But as an example of where I find myself using it fairly often is:

kill -USR1 <dd>

where <dd> is the process ID (obtained from ps) for the dd command.

Instead of killing dd, it reports back how much has been read/copied so far. Especially useful for working with large files and you decide you want to guestimate how much longer the copy will take.


ls, find, grep, tar, cpio

But in truth, it's the bash scripting 'glue' that holds everything together.


the semicolon ";" for chaining commands

ls -l

the "alias" command in a file for setting up quick-commands


grep, find, tail -f (useful to look at log files as they update)

Extras: sort, uniq, sed, sftp, apropos, man


tail -F

This will also follow a log file if it rotates.


I just found out a few days ago that `-F` works with multiple files, too. When there's new content on one, tail prefixes the output with a header, telling you what file it is.

I've used that to watch all logs apache and descendant processes could be writing to:

  pstree -p $(pgrep -o apache2) \
  | grep -Po '[^}]\(\K\d+'
  | sed ':b;N;$!bb;s/\n/,/g' \
  | sudo xargs lsof -d 0-1000 -a -p \
  | grep -Po '\S+$' \
  | grep 'log' \
  | sort -u \
  | xargs tail -F


top

jk, but also not.

w !sudo tee % in vim, even tho that's not really directly a unix thing?


history | grep <command halfway remember using>


dirs -v pushd popd


cd pwd ls


cut, awk, sed, comm, grep


git


emacs&


find, grep


ls


time cat




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: