Linux Tips: Difference between revisions

From LPTMS Wiki
Jump to navigation Jump to search
mNo edit summary
Line 14: Line 14:
Linux usually provides a couple of command piping gzip
Linux usually provides a couple of command piping gzip
  zgreg, zcat, zdiff, zless, zmore, zegrep,...
  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:
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">
<source lang="bash">
#!/bin/bash
#!/bin/bash

Revision as of 15:16, 13 May 2011

Handling jobs

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

Transferring files

  • the scp command:
:> scp server:directory here
  • if you do some regular updates, there is no -update option to scp. Then, better use the rsync command. For instance with
:> rsync -avub -e ssh server:data/*.gz data/

be careful with the slash after directory names, with or without is no exactly the same behavior. Look at man rsync before using it.

working with zip files

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">

  1. !/bin/bash

PATH=${GZIP_BINDIR-'/bin'}:$PATH

usage="Usage: $0 [OPTIONS]... [FILES]... Like 'tail', but operate on the uncompressed contents of any compressed FILEs.

Options are the same as for 'tail'."

case $1 in --help) exec echo "$usage";; -h) exec echo "$usage";; esac

options="" 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

   echo "==>"$file"<=="
   exec gzip -cd $file | tail $options

done </source>