Linux Tips: Difference between revisions

From LPTMS Wiki
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Handling jobs==
== Related pages ==
* if you want to send a job on a computer and logout without killing the job:
 
:> nohup ./job
* [[Using ssh]]
* [[Transferring files]]
* [[Working with compressed files]]
 
== Miscellaneous ==


==Transferring files==
=== Moving and editing on a line ===


* the ''scp'' command:
Works for emacs, and also for the terminal command line which particularly useful for the everyday life
  :> scp server:directory here
* go towards next(previous) word
* if you do some regular updates, there is no ''-update'' option to ''scp''. Then, better use the ''rsync'' command. For instance with
  Esc-f, Esc-b
  :> rsync -avub -e ssh server:data/*.gz data/
* go to the end(beginning) of a line
be careful with the slash after directory names, with or without is no exactly the same behavior. Look at ''man rsync'' before using it.
  Ctrl-e, Ctrl-a
* Cut text towards end of line and put it into the kill ring
Ctrl-k
* Kills next(previous) word and put it into the kill ring
Esc-d, Esc-Backspace
* Paste what is in the kill ring
Ctrl-y


==working with zip files==
=== History of commands ===
Linux usually provides a couple of command piping gzip
zgreg, zcat, zdiff, zless, zmore, zegrep,...
Here is a simple extension of ''tail'' and ''head'' for zipped files, that you can call ''ztail'' and ''zhead'' (example is for tail, replace "tail" with "head" everywhere to get zhead) and add to your own /bin directory:
<source lang="bash">
#!/bin/bash
PATH=${GZIP_BINDIR-'/bin'}:$PATH


usage="Usage: $0 [OPTIONS]... [FILES]...
* a useful command : '!''com''' recalls the last command which first letters are ''com''. For instance:
Like 'tail', but operate on the uncompressed contents of any compressed FILEs.
!a
will call ''acroread file.pdf'' if this was the last command starting with 'a'.


Options are the same as for 'tail'."
* another way to find a command in the history is to pipe the ''history'' command to ''grep'':
history|grep acroread


case $1 in
===Handling batch jobs===
--help)    exec echo "$usage";;
* if you want to send a job on a computer and logout without killing the job:
-h)        exec echo "$usage";;
nohup ./job
esac


options=""
=== The coma to point conversion in French environment ===
files=""
for i in $@; do
str="$i"
if test -f $i && [ ${str:(-3)} = ".gz" ]; then
    files=$files"$i "
else
    if [ ${str:0:1} = "-" ] && [ $str != "-v" ] && [ $str != "--verbose" ]; then
        options=$options"$i "
    elif [ $str != "-v" ] && [ $str != "--verbose" ]; then
        echo -ne "***Warning: $i is neither a regular zip file or a regular option***\n\n"
    fi
fi
done


for file in $files; do
if you are working with a configuration of Linux which has not the dot "." as a standard format for floating points data (for instance the coma "," in French), you can add the following two lines in your .bashrc file:
    echo "==>"$file"<=="
LC_NUMERIC=en_US
    exec gzip -cd $file | tail $options
export LC_NUMERIC
done
this will make the job without too many side effects.
</source>

Latest revision as of 16:23, 9 December 2011

Related pages

Miscellaneous

Moving and editing on a line

Works for emacs, and also for the terminal command line which particularly useful for the everyday life

  • go towards next(previous) word
Esc-f, Esc-b
  • go to the end(beginning) of a line
Ctrl-e, Ctrl-a 
  • Cut text towards end of line and put it into the kill ring
Ctrl-k
  • Kills next(previous) word and put it into the kill ring
Esc-d, Esc-Backspace
  • Paste what is in the kill ring
Ctrl-y

History of commands

  • a useful command : '!com' recalls the last command which first letters are com. For instance:
!a

will call acroread file.pdf if this was the last command starting with 'a'.

  • another way to find a command in the history is to pipe the history command to grep:
history|grep acroread

Handling batch jobs

  • if you want to send a job on a computer and logout without killing the job:
nohup ./job

The coma to point conversion in French environment

if you are working with a configuration of Linux which has not the dot "." as a standard format for floating points data (for instance the coma "," in French), you can add the following two lines in your .bashrc file:

LC_NUMERIC=en_US
export LC_NUMERIC

this will make the job without too many side effects.