Personal tools

Scripturi BASH

From linux360

Revision as of 09:44, 28 November 2005 by 86.34.3.74 (talk)
Jump to: navigation, search

Exemple scripturi BASH

Script ce elimina zona asociata unui domeniu dat ca parametru de intrare

Puteţi elimina porţiunea din named.conf de la zone "nume.domeniu.dat.ca.parametru.de.intrare" { până la acolada închisă asociată acoladei deschise de mai sus.

Scriptul este:

#!/bin/bash

# Bind zone remove script
#
# Copyright (C) 2005 Silvian Cretu <silvian86@yahoo.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 

if [ ! $# = 1 ]; then
    echo "Usage: $0 domain";
    echo "The path to named.conf is defined inside the script";
    		 else
	pathToNamedDotConf=/etc/named.conf
	
	x=$(grep -n "zone \"$1\" {" $pathToNamedDotConf | cut -f1 -d:)
	sed $x,/\}\;/d $pathToNamedDotConf > temp
	c=$(sed -n $x'p' < temp)
	if [ "x`echo $c | grep "zone"`" = "x" ]
	then
		sed $x' d' temp > $pathToNamedDotConf
	else
		cat temp > $pathToNamedDotConf
	fi
	rm -f temp
	exit
fi</pre>

Cautarea unui fisier ce contine un anumit string

find /path -name "*" -exec grep -H "string"  '{}' \;

Bineinteles, in loc de "string" puteti pune o expresie regulara.
Deasemenea, pentru o cautare case insensitive, adaugati parametrul -i la grep.

Stergerea fisierelor backup

Asa cum stiti, multe editoare text fac backup la fisierele editate. Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute. Nu ar fi prea placut sa aveti un index.php~ in DocumentRoot

find /path -name "*~" -exec rm -f '{}' \;

Probleme cu spatiul pe disc?

Nu stiti unde "vi s-a dus" spatiul de pe disc si e cam greu sa verificati fiecare director in parte?
Linia urmatoare va ajuta, facand totodata si o sortare.

du --max-depth=1 /path | sort -n