Difference between revisions of "Linux Tools"

From Healthcare Robotics Wiki
Jump to: navigation, search
(command line tools: find, sed etc.)
(udev for persistent device naming)
Line 37: Line 37:
  
 
== udev for persistent device naming ==
 
== udev for persistent device naming ==
http://www.reactivated.net/writing_udev_rules.html#why
+
==== Steps in brief ====
 +
* sudo lsusb -v >pre  # with device being unplugged
 +
* sudo lsusb -v >post  # with device being plugged in
 +
* diff pre post (or use meld for a nicer graphical tool for comparing files)        # you can read the Serial Number on the line "iSerial" etc.
 +
* Now edit the udev rules in ''/etc/udev/rules.d/10-ROBOT.rules''
 +
* ''sudo /etc/init.d/udev restart''
 +
* ls /dev/robot  -- to check whether the devices appear.
 +
 
 +
==== More information ====
 +
* http://www.reactivated.net/writing_udev_rules.html#why
 +
* detailed info about writing udev rules: http://www.reactivated.net/writing_udev_rules.html

Revision as of 18:01, 17 October 2009

ssh-keygen

To be able to ssh to another machine without needing to type your passwd:

Generate keys: $ ssh-keygen -t rsa -b 1024

Use the default file name and empty pass phrase for password less authentication. This will generate keys in

$ .ssh/id_rsa.pub

Then secure shell copy to another host as authorized_keys

$ scp ~/.ssh/id_rsa.pub <machine name>:~/.ssh/authorized_keys

Instructions copied from: http://pr.willowgarage.com/wiki/GB_ssh-keygen

Additional keys can be named authorized_keys2 and so on.


command line tools: find, sed etc.

The find command is pretty nifty:

  1. find all directories whose name does not contain svn
    • find . ! -path "*.svn*" -type d
  2. remove .svn folders, e.g. after copying a directory which is a local copy of a subversion repository
    • rm -rvf `find . -name "*.svn"`
  3. recursively remove all the .pycs
    • alias rmpyc='rm -vf *.pyc; rm -vf `find . -name *.pyc`'
  4. remove the pesky .pycs from the repository
    • svn rm `find . -name "*.pyc"`

So is sed:

  1. replace update_path with load_manifest. (-i is doing an in-place replace, I believe)
    • sed -i 's/update_path/load_manifest/' `find . -name "*.py"`


udev for persistent device naming

Steps in brief

  • sudo lsusb -v >pre # with device being unplugged
  • sudo lsusb -v >post # with device being plugged in
  • diff pre post (or use meld for a nicer graphical tool for comparing files) # you can read the Serial Number on the line "iSerial" etc.
  • Now edit the udev rules in /etc/udev/rules.d/10-ROBOT.rules
  • sudo /etc/init.d/udev restart
  • ls /dev/robot -- to check whether the devices appear.

More information