Rechercher une expression dans plusieurs fichiers

Grep vous permet notamment de rechercher des expressions a l’intérieur des fichiers et de vous indiquer a l’arrivée dans quel fichier et a quel ligne il l’a trouvé.

C’est un programme qui s’utilise dans un shell, de la façon suivante :

grep -rn REGEXP fichier1 \[fichier2\] \[fichier3\]

Il faut évidemment remplacer REGEXP par le motif de la recherche (qui peut être une expression régulière de type sed), et remplacer fichierX par le fichier ou le répertoire dans lequel vous voulez effectuer la recherche.

[Lire]
MAN  grep 

Editeur VIM

Se déplacer

Dans la plupart des cas, on peut faire précéder la commande d’un nombre, qui sera le nombre de fois où l’action sera répétée.

Les touches fléchées ou, mieux, h (gauche), j (bas), k (haut), et l (droite).

ToucheAction
w(word) pour aller de mot en mot. Par exemple 3w pour se déplacer de 3 mots en avant
best l’inverse de w, utile pour se déplacer d’un mot en arrière
)pour se déplacer à la phrase suivante, ( pour aller à la suivante.
$pour aller à la fin de la ligne (ou touche “Fin”)
0 ou ^pour revenir au début de la ligne (ou touche “Début” au-dessus de la touche “Fin”)
f+lettrepositionnera le curseur sur la lettre voulue de la ligne en cours
F+lettrefait la même chose mais vers la gauche
3Gpositionne le curseur sur la ligne 3 (pareil avec :3)

Effacer du texte

ToucheAction
xefface un caractère
ddefface la ligne courante, dw efface un mot.
d3wefface 3 mots (à noter que 3dw revient au même)
d$ ou Defface la fin de la ligne, d0 efface le début.

Modifier du texte

ToucheAction
c(change) efface et se met en mode insertion. Par exemple, cfh efface jusqu’à la lettre h et se met en mode insertion.
rremplace la lettre sous le curseur par la prochaine lettre tapée.
Rpour en remplacer plusieurs change la casse, passe la minuscule en majuscule et vice-versa
oinsère une nouvelle ligne
Jpermet de joindre 2 lignes

Recherche

ToucheAction
/motva se placer sur la prochaine occurence de “mot”
n ou /pour aller au suivant
? ou Npour aller au précédent.

Vi conserve en mémoire les différentes recherches. Taper / puis flèche haut ou bas pour faire défiler l’historique.

[Lire]
MAN  vim 

Man Proc – Définition des paramètres dans /proc

NOM

proc - Pseudo-système de fichiers d’informations sur les processus.

DESCRIPTION

Le système de fichier proc est un pseudo-système de fichiers qui est utilisé comme interface avec les structures de données du noyau. Il est généralement monté sur /proc. La plupart des fichiers sont en lecture seule, mais quelques uns permettent la modification de variables du noyau.

La description suivante fournit un aperçu de la hiérarchie /proc.

/proc/[nombre]
Il existe un sous-répertoire pour chaque processus en cours. Le sous-répertoire prend comme nom le PID du processus. Chaque sous-répertoire contient les pseudo-fichiers et pseudo-répertoires suivants.
/proc/[nombre]/cmdline
Ce fichier contient la ligne de commande complète du processus, sauf si le processus a été swappé, ou s’il s’agit d’un zombie. Dans ces deux derniers cas, il n’y a rien dans le fichier : une lecture reviendra après avoir lu 0 caractère. Les arguments de la ligne de commande apparaissent comme un ensemble de chaînes séparées de caractères NUL, avec un octet NUL supplémentaire après le dernier argument.
/proc/[nombre]/cwd
(Current Working Directory) il s’agit d’un lien sur le répertoire de travail courant du processus. Pour obtenir le cwd du processus 20 par exemple, vous pouvez-faire ceci :

cd /proc/20/cwd; /bin/pwd

[Lire]

Codes d'erreur Squid

Information 1xx

CodeMessageSignification
100ContinueAttente de la suite de la requête
101Switching ProtocolsAcceptation du changement de protocole
102ProcessingWebDAV : Traitement en cours (évite que le client dépasse le temps d’attente limite).

Succès 2xx

CodeMessageSignification
200OKRequête traitée avec succès
201CreatedRequête traitée avec succès avec création d’un document
202AcceptedRequête traitée mais sans garantie de résultat
203Non-Authoritative InformationInformation retournée mais générée par une source non certifiée
204No ContentRequête traitée avec succès mais pas d’information à renvoyer
205Reset ContentRequête traitée avec succès, la page courante peut être effacée
206Partial ContentUne partie seulement de la requête a été transmise
207Multi-StatusWebDAV : Réponse multiple.
210Content DifferentWebDAV : La copie de la ressource coté client diffère de celle du serveur (contenu ou propriétés).

Redirection 3xx

CodeMessageSignification
300Multiple ChoicesL’URI demandée se rapporte à plusieurs ressources
301Moved PermanentlyDocument déplacé de façon permanente
302Moved TemporarilyDocument déplacé de façon temporaire
303See OtherLa réponse à cette requête est ailleurs
304Not ModifiedDocument non-modifié depuis la dernière requête
305Use ProxyLa requête doit être ré-adressée au proxy
307Temporary RedirectLa requête doit être redirigée temporairement vers l’URI spécifiée

Erreur du client 4xx

CodeMessageSignification
400Bad RequestLa syntaxe de la requête est erronée
401UnauthorizedAccès à la ressource refusé
402Payment RequiredPaiement requis pour accéder à la ressource (non utilisé)
403ForbiddenRefus de traitement de la requête
404Not FoundDocument non trouvé
405Method Not AllowedMéthode de requête non autorisée
406Not AcceptableToutes les réponses possibles seront refusées.
407Proxy AuthenticationRequired Accès à la ressource autorisé par identification avec le proxy
408Request Time-outTemps d’attente d’une réponse du serveur écoulé
409ConflictLa requête ne peut être traitée à l’état actuel
410GoneLa ressource est indisponible et aucune adresse de redirection n’est connue
411Length RequiredLa longueur de la requête n’a pas été précisée
412Precondition FailedPréconditions envoyées par la requête non-vérifiées
413Request Entity Too LargeTraitement abandonné dû à une requête trop importante
414Request-URI Too LongURI trop longue
415Unsupported Media TypeFormat de requête non-supportée pour une méthode et une ressource données
416Requested range unsatisfiableChamps d’en-tête de requête ‘range’ incorrect.
417Expectation failedComportement attendu et défini dans l’en-tête de la requête insatisfaisable
422Unprocessable entityWebDAV : L’entité fourni avec la requête est incompréhensible ou incomplet.
423LockedWebDAV : L’opération ne peut avoir lieu car la ressource est verrouillée.
424Method failureWebDAV : Une méthode de la transaction a échoué.

Erreur du serveur 5xx

CodeMessageSignification
500Internal Server ErrorErreur interne du serveur
501Not ImplementedFonctionnalité réclamée non supportée par le serveur
502Bad Gatewayou Proxy Error Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur.
503Service UnavailableService indisponible
504Gateway Time-outTemps d’attente d’une réponse d’un serveur à un serveur intermédiaire écoulé
505HTTP Version not supportedVersion HTTP non gérée par le serveur
507Insufficient storageWebDAV : Espace insuffisant pour modifier les propriétés ou construire la collection
509Bandwidth Limit ExceededCode non officiel utilisé par de nombreux serveurs pour indiquer un dépassement de quota.

Gestion des listes SquidGuard

Mettre à jour une whiteliste ou blackliste SquidGuard

Générer les bases à partir des fichiers

squidGuard -C fichier

Remettre les bon droits sur les fichiers au cas ou

chown squid.squid *.db

Indiquer a SquidGuard de relire les .db

squid -k reconfigure

VIM – Faire un rechercher remplacer

commandeDescription
/chaineRecherche le texte “chaine” vers le bas
?chaineRecherche le texte “chaine” vers le haut
nRépète la dernière recherche
//[RET]Idem que n
NInverse la recherche précédente
:g/expr1/s//expr2/gRecherche dans tous le fichier l’expression 1 et la remplace par l’expression 2
:g/expr1/s//expr2/gcIdem, mais demande une confirmation avant de remplacer
:x,y s/expr1/expr2/gRecherche de la ligne x à la ligne y l’expression 1 et la remplace par l’expression 2
MAN  vim 

.htaccess en détail

Est ce que votre hébergement permet l’utilisation d’ .htaccess ?

Pour répondre simplement, uniquement Apache permet son utilisation.

Si vous avez un hébergement PHP/MySQL vous pourrez les utiliser, par contre si votre hébergement supporte que l’ASP et fonctionne sous IIS, il est certain que les fichier .htaccess n’auront aucun effet.

Restriction d’accès sur un dossier

La syntaxe a utiliser ce présente de cette manière :

AuthUserFile /home/login/.htpasswd
AuthGroupFile /dev/null
AuthName " Acces Restreint "
AuthType Basic
<Limit GET POST>
  require valid-user
</Limit>
AuthUserFile /home/login/.htpasswd
  • AuthUserFile /home/login/.htpasswd : Indique le fichier qui contient les utilisateurs et leur mot de passe autorisé a accéder au dossier
  • AuthGroupFile /dev/null : Indique le fichier contenant les groupes (non utilisé en général)
  • AuthName "Acces Restreint" : Cela est la chaîne de caractères qui apparaîtra dans la boîte de dialogue au moment de la saisie du nom et du mot de passe.
  • AuthType Basic : Détermine le type d’authentification utilisé, dans notre cas l’authentification HTTP standard.
  • <limit GET POST> ... </limit> : Détermine le type d’opérations permises. GET s’applique à la majorité des pages Web, PUT est utilisé par certains scripts ou éditeurs pour faire de l’upload sous protocole HTTP. Il est important de mettre GET et POST en majuscules sur les dernières versions d’Apache.
  • require valid-user : Signifie littéralement qu’un utilisateur valide est requis, à savoir un utilisateur pour le nom duquel une ligne existe dans le fichier .htpasswd.

Le .htpasswd

Il contient donc une liste d’utilisateur et le mot de passe crypté correspondant

[Lire]

Commandes pour utilisez des RPM

La commande rpm est l’outil de base pour la gestion des packages, elle permet notamment l’installation, la suppression, la compilation, la vérification des packages.

rpm -i package : Installe le package " package " en mode verbeux (-v) avec affichage de la progression (-h).

rpm -e package : Désinstalle le package " package “. Ici l’extension n’apparaît pas puisque celle-ci se réfère à un nom de fichier. Une fois le package installé, on s’y réfère sans l’extension.

[Lire]
MAN  rpm