Combining find and grep

Quick note to remember this syntax as every few months I find a need to do a grep within a number of files:

find -name "pattern" -exec grep "pattern" {} ;

Grep options:
-H print filename in results
-n print line number where match was found
-l limit match to first found match in file (useful if you want to find files containing a match but don’t care how many matches are in each file)

Pipe to wc -l to count file occurrences, eg:

find -name "pattern" -exec grep -l "pattern" {} ; | wc -l

Use egrep if you need to use regex in the pattern.

Raspberry Pi Raspbian wifi dongle network config

There’s probably many ways you could configure a similar setup to this, but here’s what worked for me.

This is for static IP on wired, and a different static IP on wireless, where the wireless is using WPA2. I also have two different routers one for wired and for one wireless. Replace static_ip_here with your required ip addresses, and x and y with the IP addresses for your routers.

Edit /etc/network/interfaces:

auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.static_ip_here
netmask 255.255.255.0
gateway 192.168.1.x

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.static_ip_here
netmask 255.255.255.0
gateway 192.168.0.y
wpa-ssid "your_ssid"
wpa-psk "your passphrase"
wpa-pairwise CCMP
wpa-group CCMP

tmux useful commands

tmux is a great alternative to screen if you’re looking for multiple virtual sessions in one terminal window.

Useful commands:

Ctrl-b c : open new session

Ctrl-b n | p : cycle next / previous through sessions

Ctrl-b % | ” : split horizontally / vertically

Ctrl-b left | right | up |down : cycle back /forward through visible split windows (left/right if split horizontally, up/down if split vertically)

Using Putty SSH, if you’re not getting line characters for the splits, change session charset to UTF8.

Disabling strict key checking on ssh

Key checking on ssh validates that the remote system you’re attempting to connect to is the same server that you connected to the last time, to help prevent the possibility that someone has hijacked the DNS name, IP, or the hardware itself.

However, some times you may want to avoid this checking. For example, I have a Raspberry Pi that I boot from multiple SD cards, but each is setup with the same IP. If strict key checking is enabled then your ssh client will prevent you from connecting when it detects a signature change. You’ll see this error:

RSA host key for 192.168.x.x has changed and you have requested strict checking.

To avoid this, edit or add ~/.ssh/config, and add:

Host 192.168.x.x
    StrictHostKeyChecking no

where the IP can be the IP of the machine you’re connecting to, or you can use a * wildcard too (maybe not as secure).

If you’ve already connected and have a key in your known_hosts, then I think you need to delete this entry first, and then try with this config.