====== doc ======
[[OUTILS D'ARCHIVAGE]] (tar, zip, bzip etc)
Les [[droits unix|groupes (groups) et utilisateurs (users), ou les droits sous unix]]
[[sed]]
===== tar + gzip on one commande =====
//pour créer une archive et la compresser, vu qu'unix :-( sait pas comme linux :-) faire de tar -cvfz//
radeff@localhost:~ tar cf - putz | gzip -c > putz.tgz
src: http://www.tech-recipes.com/rx/64/tar-and-compress-a-file-in-one-step/
===== chercher un fichier et changer les extensions =====
#find php files and convert them to phps files
find . -name "*.php" | while read i
do
outfile=${i%.php}.phps
echo $outfile
cp $i $outfile
done
les fichiers ayant été mofifiés il y a moins de 30 minutes :
find -type f -and -mmin -30
il y a 1 jour: find . -type f -and -mtime -1
nice find -xdev ./ ... (pour ne pas charger le serveur, chercher que dans des répertoires - fichiers etc)
====== scripts persos ======
===== A-K =====
[[aspire]] script suck/aspire/wget whole website
[[arithmetique]] programme de drill pour la table de multiplication
[[backupAkademia.sh]] Script to automatically backup files with FTP
[[backup_netoffice.sh]] pour sauvegarder votre base netoffice et ses documents sur un serveur distant
[[bash_gnome-terminal|force a bash script on a localhost to remain open]]
[[bash_loop]] Script to automatically backup files using simple FTP
[[changeDate.sh]] Script to change date of a file using touch
[[chercherQuantaProjects]] Script to find quanta webprojets files and store them as symbolic link on a specified folder that you can retrieve from quanta / Open projets menu
[[chercherGrosFichiersEtNotifier]]
[[colorsHTML_name2hexa.sh]] convert HTML colors names to hexa, eg. red -> FF0000
[[concatAuto.sh]] ajout automatique d'un fichier à une liste de fichier
[[createText.sh]] Script to automatically create buttons / logo with input text
[[dactylographieTraining.sh]] s'entraîner à la dactylogaphie sous linux
[[dateDifference.sh]] différences et calculs entre dates
[[dictionnaire]] pour enfants
[[flv2mp3]] pour convertir la partie audio de fichers flash (flv) en mp3
[[gallery]] a program to automatically modify galleries generated by imageindex
[[gif2xpm]] pour transformer des gif en xpm, mais aussi un exmple pour **renommer les extensions
** à la volée; à coupler avec le scripts [[info:boutons_creation.sh]]
[[historique]] Script to show simple history, eg to keep a trace of your activity in a "carnet de bord"
[[lynxit.sh|html2txt]] get a html file (eventually from internet) and transform it to text
[[if.sh]] if elif then - condtitions with unix
[[imagesConvertgToBlogSize300]] script for converting various images to jpg size max 300 AND create thumbnails
[[killbak]] program to remove backup files
[[killproc]] kill processes / CAUTION!!!
[[konwert2iso]] cherche tous les fichiers html, modifie le charset du header et convertit en isolatin
===== L-R =====
[[lastgroup]] find last 5 groups on a nix server
[[lastlogins]] seach last logins on /etc/passwd
[[lire_lecture]] script for reading a text file + computing time of reading
[[logrotate.sh]] rotate apache logs
[[m4a2mp3]] script for converting m4a to mp3 files
[[motCroise.sh]] find a crossword
[[mp32wav]] script for converting mp3 to wav files
[[mycrontabs]] Script to backup my crontab
[[mysqlSimpleBackup.sh]] Script to backup incrementaly mysql databases with unix
[[ogg2mp3]] script for converting ogg to mp3 files
[[patchDif]] globally apply changes on 2 directories with diff and patch command
[[php2phps]] create phps files from php files in a directory
[[phpCodeGenieEnglish2French]] Script to automatically convert phpCodeGenie from english to french
[[renomme]] globalement des fichiers
[[replace.sh]] changer des string dans plusieurs fichiers
[[replace]] man replace
===== S-Z =====
[[safeedit]] backup the file, then edit it with your favorite editor
[[super_user_desktop]] change current desktop and go superuser
[[suwww]] script to connect as a super user with a special profile (with kde konsole)
[[svg]] launch batik svg viewer
[[sxw2txt]] -- Converts OpenOffice.org Writer files to plain text. # Copyright (C) 2004 Liam
txt2html convert text to html (*nix program, apt-get install txt2html) (synonym: text2html, texttohtml)
[[todos.sh]] script to make a list of files containing string "todo"
[[thumbnails ]] Script to automatically create thumbnails
[[utf8_2_iso1]] convert utf8 files to latin 1 (iso-8859-1) in a given directory
[[verbesAdulte]] conjuguaison française de base pour adultes# Required: french-conjugator
[[verbes]] conjuguaison française de base pour enfants (indicatif)
[[word2html]] Script to automatically convert word doc files to html files
[[word2txt]] Script to automatically convert word doc files to plain txt files
[[ww]] script to connect (with ssh keygen) to a serve
====== Various short scripts ======
===== mot de passe / mot2passe =====
[[mot2passe]] un script en c pour générer des mots de passe
===== bigFiles =====
pour trouver des gros fichiers
[[bigFiles]]
===== changedYesterday =====
#pour trouver les fichiers modifié hier
#script to find files modified yesterday
find . -mtime -1
===== changedRecently =====
#pour trouver les fichiers php modifié il y a plus d'une minute et dans les 3 dernières heures (60*3 minutes)
find . -mmin +1 -mmin -180 -name "*.php"
===== qui =====
# find a login on a nix server
grep $* /etc/passwd
===== découper un fichier par lignes =====
outre des utilitaires hand-made, il est possible de combiner grep, head, tail et sed pour découper un gros fichiers
**sed -n '59182,60279p' mysqlDB.sql**
ex. j'ai un gros fichier de backup MySql dont je veux extraire le table "voile":
#on trouve la première ligne de création de la table
grep -n CREATE mysqlDB.sql | grep voil
#> 59182
#longueur en lignes du fichier
wc -l mysqlDB.sql
#> 184580
#le début est donc en ligne 59182, reste à trouver la fin, quelque part entre la ligne 59182 et la ligne 184580, donc dans les 125398 dernières lignes
#on cherche la prochaine syntaxe de CREATE
tail -125398 mysqlDB.sql | head -10000 | grep CREATE | more
#> CREATE DATABASE /*!32312 IF NOT EXISTS*/ docman;
#on cherche la ligne correspondante
grep -n "CREATE DATABASE.*docman" mysqlDB.sql
#> 60284:CREATE DATABASE /*!32312 IF NOT EXISTS*/ docman;
#on regarde la fin à la main
#et finalement la commande magique avec sed
sed -n '59182,60279p' mysqlDB.sql > voile.sql
#et le tour est joué
===== soft =====
[[Test d'envoi de courrier local]]
[[joindre]] des fichiers genre csv, base de données etc.
==== dpkg / apt-get ====
[[dpkg]] et [[apt-get]], gestion des paquets linux debian et ubuntu
[[wget]] un aspirateur (sucker) à site, qui sert aussi de spider
[[tarer / detarer]] comprimer des fichiers
[[vi / vim]]
trier : [[sort]]
[[bash loop]]
[[crontab]]
[[Ouvrir de nouvelles fenêtres en shell]]
[[Copier d'un serveur sur un autre]]
[[recover]]
[[Différence entre fichiers]]
lp / imprimer : [[print]]
trouver les codes iso: more /usr/pub/iso
[[htpasswd]]
htpasswd repertoireAproteger userName
[[Connection SSH sans mot de passe]]
[[htpasswd]]
htpasswd repertoireAproteger userName
[[Connection SSH sans mot de passe]]
===== droits unix =====
[[group]]
[[Changer automatiquement un propriétaire (chown)]]
utiliser pwck pour vérifier l'intégrité /etc/passwd et /etc/shadow
===== internet =====
Servers basics: [[rsync]]: rsync -a --delete --force -e ssh serverName:/w3/. /w3/.
[[Le vieux problème des apostrophes (') affichées comme un point d'interrogation]]
[[Check erreur formulaires (action, CGI etc.)]]
Chercher un DNS avec une adresse IP: utiliser nslookup [ipadr]
[[voir le trafic]]
===== FTP =====
Derniers utilisateurs ayant utilisé FTP
last | grep ftp | awk '{print $1}' | sort -u
[[FTP without password prompt]]
===== Chercher / Remplacer =====
[[Remplacer dans plusieurs répertoires un string]]
[[Vider les lignes blanches dans vi]]
[[Remplacer les ^M]]
[[Repeating Query-Replaces]]
[[find + grep]]
[[Rechercher/remplacer]]
[[trouver des fichiers sans un motif]]
====== Hard ======
===== Noyau linux =====
infos sur kernel: uname -a / uname -r
#différents noyaux disponibles: apt-cache search linux-image-2.6.12
#infos sur la carte graphique: lspci -v | grep Graphics
ajout dns linux/unix: vi /etc/resolv.conf search unige.ch
Configuration IP etc: en dos/shell: ipconfig /all
[[setenv]]
[[garder un log des actions]]
#pour xhost/X11 taper en shell sur la machine hote une x connecte: ttsession -c
version OS: uname -aX
[[ps]]
[[Browser sur unix depuis linux]]:
===== Compatibilité =====
[[unix2DOS and DOS2Unix]]