I decided to I should keep track of random nifty tricks that I come across working with Linux. So this post will be that. Of course, it will forever be a work in progress.
- For the first trick I’d like to add, it’s one I came across on the Heroku development platform site. It’s grabbing an installation script with wget via a URL then immediately passing it on to bash so it executes automatically as soon as it’s downloaded. Pretty handy. Here’s the sample script:
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
What this exactly does is download the Heroku Toolbelt then install it on my Linux machine. Cool huh?reference: https://toolbelt.herokuapp.com/debian
Stay tuned for more tricks. Cheers!
Using grep to find files containing matching text.
grep -rnw '/path/to/somewhere/' -e "pattern"
-r
or-R
is recursive,-n
is line number, and-w
stands for match the whole word.-l
(lower-case L) can be added to just give the file name of matching files.
Along with these, --exclude
, --include
, --exclude-dir
or --include-dir
flags could be used for efficient searching:
- This will only search through those files which have .c or .h extensions:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
- This will exclude searching all the files ending with .o extension:
grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
- Just like exclude files, it’s possible to exclude/include directories through
--exclude-dir
and--include-dir
parameter. For example, this will exclude the dirs dir1/, dir2/ and all of them matching *.dst/:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"