Proxy paramétré
Ajout de la ligne proxy=http://gateway.zscaler.net:80 dans yum.conf
Ajouter la ligne http_proxy=http://gateway.zscaler.net:80/ dans /etc/environment
Un site utilisant WordPress
Proxy paramétré
Ajout de la ligne proxy=http://gateway.zscaler.net:80 dans yum.conf
Ajouter la ligne http_proxy=http://gateway.zscaler.net:80/ dans /etc/environment
Linux
if [ $? -eq 0 ] then echo "good" else echo "bad" fi
Windows
IF %ERRORLEVEL% NEQ 0 ( commande1 & commande2 etc... )
IF %ERRORLEVEL% NEQ 0 GOTO label GOTO fin :label echo numero %errorlevel% > c:\erreur.txt echo chaine1 >> c:\erreur.txt echo chaine2 >> c:\erreur.txt :fin
locate spfileHYPDEV.ora | while read F; do echo ;echo $F; ls -la $F; done
http://abs.traduc.org/abs-5.3-fr/ch09s02.html
Bash supporte un nombre surprenant d’opérations de manipulation de chaînes de caractères. Malheureusement, ces outils manquent d’unité. Certains sont un sous-ensemble de la substitution de paramètre et les autres font partie des fonctionnalités de la commande UNIX expr. Ceci produit une syntaxe de commande non unifiée et des fonctionnalités qui se recoupent, sans parler de la confusion engendrée.
Exemple 9.10. Insérer une ligne blanche entre les paragraphes d’un fichier texte
#!/bin/bash # paragraph-space.sh # Insère une ligne blanche entre les paragraphes d'un fichier texte. # Usage: $0 <NOMFICHIER LONGUEUR_MINI=45 # Il peut être nécessaire de changer cette valeur. # Suppose que les lignes plus petites que $LONGUEUR_MINI caractères #+ terminent un paragraphe. while read ligne # Pour toutes les lignes du fichier... do echo "$ligne" # Afficher la ligne. longueur=${#ligne} if [ "$longueur" -lt "$LONGUEUR_MINI" ] then echo # Ajoute une ligne blanche après chaque petite ligne. fi done exit 0
Longueur de sous-chaînes correspondant à un motif au début d’une chaîne
chaineZ=abcABC123ABCabc # |------| echo `expr match "$chaineZ" 'abc[A-Z]*.2'` # 8 echo `expr "$chaineZ" : 'abc[A-Z]*.2'` # 8
chaineZ=abcABC123ABCabc echo `expr index "$chaineZ" C12` # 6 # C position. echo `expr index "$chaineZ" 1c` # 3 # 'c' (à la position #3) correspond avant '1'.
Ceci est l’équivalent le plus proche de strchr() en C.
Si le paramètre $chaine est « * » ou « @ », alors cela extrait les paramètres de position, [36] commençant à $position.
chaineZ=abcABC123ABCabc # 0123456789..... # indexage base 0. echo ${chaineZ:0} # abcABC123ABCabc echo ${chaineZ:1} # bcABC123ABCabc echo ${chaineZ:7} # 23ABCabc echo ${chaineZ:7:3} # 23A # Trois caractères de la sous-chaîne. # Est-il possible d'indexer à partir de la fin de la chaîne ? echo ${chaineZ:-4} # abcABC123ABCabc # Par défaut la chaîne complète, comme dans ${parametre:-default}. # Néanmoins... echo ${chaineZ:(-4)} # Cabc echo ${chaineZ: -4} # Cabc # Maintenant, cela fonctionne. # Des parenthèses ou des espaces ajoutés permettent un échappement du paramètre #+ de position. # Merci, Dan Jacobson, pour cette indication.
Les arguments position et longueur peuvent devenir des « paramètres », c’est-à-dire représentés par une variable, plutôt que par une constante numérique.
Exemple 9.11. Générer « aléatoirement » une chaîne de huit caractères
#!/bin/bash # rand-string.sh # Générer aléatoirement une chaîne de huit caractères. if [ "-n $1" ] # Si présence d'un argument en ligne de commande, then #+ alors l'utiliser comme chaîne de départ. chaine0="$1" else # Sinon, utiliser le PID du script. chaine0="$$" fi POS=2 # On commence en position 2. LONG=8 # Extraction de huit caractères. chaine1=$( echo "$chaine0" | md5sum | md5sum ) # Double mixage : ^^^^^^ ^^^^^^ chainealeatoire="${chaine1:$POS:$LONG}" # Peut se paramétrer ^^^^ ^^^^^ echo "$chainealeatoire" exit $? # bozo$ ./rand-string.sh mon-motdepasse # 1bdd88c4 # Non, ceci n'est pas recommandé #+ comme méthode sûre de génération de mots de passe.
Si le paramètre $chaine est « * » ou « @ », alors ceci extrait un maximum de $longueur du paramètre de position, en commençant à $position.
echo ${*:2} # Affiche le deuxième paramètre de position et les suivants. echo ${@:2} # Identique à ci-dessus. echo ${*:2:3} # Affiche trois paramètres de position, en commençant par le deuxième.
chaineZ=abcABC123ABCabc # 123456789...... # indexage base 1. echo `expr substr $chaineZ 1 2` # ab echo `expr substr $chaineZ 4 3` # ABC
chaineZ=abcABC123ABCabc # ======= echo `expr match "$chaineZ" '\(.[b-c]*[A-Z]..[0-9]\)'` # abcABC1 echo `expr "$chaineZ" : '\(.[b-c]*[A-Z]..[0-9]\)'` # abcABC1 echo `expr "$chaineZ" : '\(.......\)'` # abcABC1 # Toutes les formes ci-dessus donnent un résultat identique.
chaineZ=abcABC123ABCabc # ====== echo `expr match "$chaineZ" '.*\([A-C][A-C][A-C][a-c]*\)'` # ABCabc echo `expr "$chaineZ" : '.*\(......\)'` # ABCabc
chaineZ=abcABC123ABCabc # |----| # |----------| echo ${chaineZ#a*C} # 123ABCabc # Supprime la plus petite correspondance entre 'a' et 'C'. echo ${chaineZ##a*C} # abc # Supprime la plus grande correspondance entre 'a' et 'C'.
Par exemple :
# Renomme tous les fichiers de $PWD #+ en remplaçant le suffixe "TXT" par "txt". # Par exemple, "fichier1.TXT" devient "fichier1.txt" . . . SUFF=TXT suff=txt for i in $(ls *.$SUFF) do mv -f $i ${i%.$SUFF}.$suff # Ne modifie rien *en dehors* de la correspondance la plus courte #+ commençant du côté droit de $i . . . done ### Ceci pourrait être condenser en une ligne si nécessaire. # Thank you, Rory Winston.
chaineZ=abcABC123ABCabc # || # |------------| echo ${chaineZ%b*c} # abcABC123ABCa # Supprime la plus petite correspondance entre 'b' et 'c', à partir de la fin #+ de $chaineZ. echo ${chaineZ%%b*c} # a # Supprime la plus petite correspondance entre 'b' et 'c', à partir de la fin #+ de $chaineZ.
Cet opérateur est utilisé pour générer des noms de fichier.
Exemple 9.12. Convertir des formats de fichiers graphiques avec une modification du nom du fichier
#!/bin/bash # cvt.sh: # Convertit les fichiers image MacPaint contenus dans un répertoire dans le #+ format "pbm". # Utilise le binaire "macptopbm" provenant du paquetage "netpbm", #+ qui est maintenu par Brian Henderson (bryanh@giraffe-data.com). # Netpbm est un standard sur la plupart des distributions Linux. OPERATION=macptopbm SUFFIXE=pbm # Suffixe pour les nouveaux noms de fichiers. if [ -n "$1" ] then repertoire=$1 # Si le nom du répertoire donné en argument au script... else repertoire=$PWD # Sinon, utilise le répertoire courant. fi # Suppose que tous les fichiers du répertoire cible sont des fichiers image # + MacPaint avec un suffixe de nom de fichier ".mac". for fichier in $repertoire/* # Filename globbing. do nomfichier=${fichier%.*c} # Supprime le suffixe ".mac" du nom du fichier #+ ('.*c' correspond à tout ce qui se trouve #+ entre '.' et 'c', inclus). $OPERATION $fichier > $nomfichier.$SUFFIXE # Redirige la conversion vers le nouveau nom du fichier. rm -f $fichier # Supprime le fichier original après sa convertion. echo "$nomfichier.$SUFFIXE" # Trace ce qui se passe sur stdout. done exit 0 # Exercice # -------- # À ce stade, ce script convertit *tous* les fichiers du répertoire courant. # Modifiez le pour qu'il renomme *seulement* les fichiers dont l'extension est #+ ".mac".
Exemple 9.13. Convertir des fichiers audio en ogg
#!/bin/bash # ra2ogg.sh : Convertit des fichiers audio de streaming (*.ra) en ogg. # Utilise le programme "mplayer" : # http://www.mplayerhq.hu/homepage # Vous aurez peut-être besoin d'installer les codecs appropriés #+ pour que ce script fonctionne. # Utilise la bibliothèque "ogg" et "oggenc" : # http://www.xiph.org/ PREFIXE_FICHIER_RESULTAT=${1%%ra} # Supprime le suffixe "ra". SUFFIXE_FICHIER_RESULTAT=wav # Suffixe pour le fichier wav. FICHIER_RESULTAT="$PREFIXE_FICHIER_RESULTAT""$SUFFIXE_FICHIER_RESULTAT" E_SANSARGS=65 if [ -z "$1" ] # Un nom de fichier à convertir doit être spécifié. then echo "Usage: `basename $0` [nom_fichier]" exit $E_SANSARGS fi ########################################################################## mplayer "$1" -ao pcm:file=$FICHIER_RESULTAT oggenc "$FICHIER_RESULTAT" # Corrige l'extension du fichier ajoutée automatiquement pas oggenc. ########################################################################## rm "$FICHIER_RESULTAT" # Supprime le fichier temporaire *.wav. # Si vous voulez le conserver, commentez la ligne ci-dessus. exit $? # Note : # ----- # Sur un site web, cliquer seulement sur un fichier audio *.ram #+ récupère l'URL du fichier audio, le fichier *.ra. # Vous pouvez ensuite utiliser "wget" ou un autre outil similaire #+ pour télécharger vous-même le fichier *.ra. # Exercices : # ---------- # Actuellement, ce script convertit seulement les noms de fichier *.ra. # Ajoutez de la flexibilité en autorisant l'utilisation de *.ram et d'autres noms de fichier. # # Si vous êtes réellement ambitieux, étendez le script pour réaliser automatiquement #+ les téléchargements et les convertions des fichiers audio. # À partir d'une URL, récupérez les fichiers audio (en utilisant "wget") #+ et convertissez-les.
Une simple émulation de getopt en utilisant des constructions d’extraction de sous-chaînes.
#!/bin/bash # getopt-simple.sh # Auteur : Chris Morgan # Utilisé dans le guide ABS avec sa permission. getopt_simple() { echo "getopt_simple()" echo "Les paramètres sont '$*'" until [ -z "$1" ] do echo "Traitement du paramètre : '$1'" if [ ${1:0:1} = '/' ] then tmp=${1:1} # Supprime le '/' devant... parametre=${tmp%%=*} # Extrait le nom. valeur=${tmp##*=} # Extrait la valeur. echo "Paramètre : '$parametre', valeur: '$valeur'" eval $parametre=$valeur fi shift done } # Passe toutes les options à getopt_simple(). getopt_simple $* echo "test vaut '$test'" echo "test2 vaut '$test2'" exit 0 --- sh getopt_example.sh /test=valeur1 /test2=valeur2 Les paramètres sont '/test=valeur1 /test2=valeur2' Traitement du paramètre : '/test=valeur1' Paramètre : 'test', valeur: 'valeur1' Traitement du paramètre : '/test2=valeur2' Paramètre : 'test2', valeur : 'valeur2' test vaut 'valeur1' test2 vaut 'valeur2'
chaineZ=abcABC123ABCabc echo ${chaineZ/abc/xyz} # xyzABC123ABCabc # Remplace la première correspondance de #+ 'abc' avec 'xyz'. echo ${chaineZ//abc/xyz} # xyzABC123ABCxyz # Remplace toutes les correspondances de #+ 'abc' avec 'xyz'.
chaineZ=abcABC123ABCabc echo ${chaineZ/#abc/XYZ} # XYZABC123ABCabc # Remplace la correspondance de fin de #+ 'abc' avec 'XYZ'. echo ${chaineZ/%abc/XYZ} # abcABC123ABCXYZ # Remplace la correspondance de fin de #+ 'abc' avec 'XYZ'.
Un script Bash peut utiliser des fonctionnalités de manipulation de chaînes de caractères de awk comme alternative à ses propres fonctions intégrées.
Exemple 9.15. Autres moyens d’extraire des sous-chaînes
#!/bin/bash # substring-extraction.sh Chaine=23skidoo1 # 012345678 Bash # 123456789 awk # Notez les différents systèmes d'indexation de chaînes : # Bash compte le premier caractère d'une chaîne avec '0'. # Awk compte le premier caractère d'une chaîne avec '1'. echo ${Chaine:2:4} # position 3 (0-1-2), longueur de quatre caractères # skid # L'équivalent awk de ${string:position:longueur} est substr(string,position,longueur). echo | awk ' { print substr("'"${Chaine}"'",3,4) # skid } ' # Envoyé un "echo" vide à awk donne une entrée inutile, et donc permet d'éviter #+ d'apporter un nom de fichier. exit 0
Pour plus d’informations sur la manipulation des chaînes de caractères dans les scripts, référez-vous à la Section 9.3, « Substitution de paramètres » et à la section consacrée à la commande expr. Pour des exemples de scripts, jetez un oeil sur les exemples suivants :
a=$((1+1))
echo $a
2
w_err=0
w_err=$(($w_err+$?))
exit $w_err
Pour ne lister que le « vrai » process hors process Vtom.
grep -Ev "grep|$0"
Exemple pour s’assurer qu’il n’y a qu’un seul process java (vlbid03p)
err=0
echo "Liste des process java" ps auxww | grep java | grep -v grep
errps=$(ps auxww | grep java | grep -Ev "grep|$0" | wc -l) ((err=$errps-1+$err))
exit ${err}
Recherche les fichiers context.xml à partir du point d’arborescence où je suis.
find . -name *web.xml -exec ls -ltrh {} \;
find -iname *web.xml -printf « %u %g %a %s %h/%f\n »
Chercher la chaîne pdtb2 dans les fichiers context.xml
grep pdtb2 $(find . -name « context.xml »)
Recherche des fichers *.dmp depuis hier avec leur date
find . -mtime -1 -name *.dmp -ls | awk ‘{print $8″ « $9 » « $10 » « $11}’
message : mesg: ttyname failed: Inappropriate ioctl for device
ou
stdin: is not a tty
cat /root/.profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi
mesg n
dernière ligne remplacer
mesg n
par
tty -s && mesg n
Pas de reboot nécessaire pour la prise en compte.
vlbid24p, wctsrv0011 et 12 Ubuntu 18
Les scripts lancés au démarrage sont dans le fichier /etc/rc.local Ce fichier doit être exécutable
ll /etc/rc.local
chmod +x /etc/rc.local
lrwxrwxrwx. 1 root root 13 Sep 22 16:11 /etc/rc.local -> rc.d/rc.local
Exemple :
[root@vldtb02x ~]# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot.
# touch /var/lock/subsys/local
echo Start Vtom Agent . /etc/init.d/boot_start_vtom.sh
echo Start Oracle . /etc/init.d/start_oracle.sh
echo Zabbix Agent . /etc/init.d/zabbix_agent_start.sh
echo su -l ora112 -c /exploit/scripts/start_oracle.sh> /etc/init.d/start_oracle.sh
exemple :
root@wctsrv0060:~# ll /etc/cron.daily/
root@wctsrv0060:~# cat /etc/cron.daily/logrotate
[root@pdtb9 ~]# ll /usr/sbin/logrotate
-rwxr-xr-x. 1 root root 59712 Apr 28 2012 /usr/sbin/logrotate
[root@pdtb9 ~]# ll /var/lib/logrotate/logrotate.status
ls: cannot access /var/lib/logrotate/logrotate.status: No such file or directory
[root@pdtb9 ~]# cat /etc/logrotate.d/listener
/soft/oracle/diag/tnslsnr/pdtb9/listener/trace/*.log {
copytruncate
daily
rotate 10
size 1M
compress
delaycompress
missingok
}
[root@pdtb9 ~]# ll /soft/oracle/diag/tnslsnr/pdtb9/listener/trace/*
-rw-r—–. 1 ora112 oinstall 35155055 Feb 24 13:45 /soft/oracle/diag/tnslsnr/pdtb9/listener/trace/listener.log
-rw-r—–. 1 ora112 oinstall 933973 Feb 23 15:04 /soft/oracle/diag/tnslsnr/pdtb9/listener/trace/listener.log.1
-rw-r—–. 1 ora112 oinstall 1596247 Feb 23 15:04 /soft/oracle/diag/tnslsnr/pdtb9/listener/trace/listener.log.2.gz
[root@pdtb9 ~]# cat /etc/cron.daily/logrotate
#!/bin/sh
#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate « ALERT exited abnormally with [$EXITVALUE] »
fi
exit 0
[root@pdtb9 ~]#
ftp.absyss.com
Connected to ftp.absyss.com.
220 Bienvenue sur le serveur FTP ABSYSS.
ftp ftp.absyss.com
Name (ftp.absyss.com:root): faiveley
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd incoming
250 Directory successfully changed.
ftp> pwd
257 « /faiveley/incoming »
ftp> passive
Passive mode on.
ftp> ls
227 Entering Passive Mode (212,157,114,230,73,45).
150 Here comes the directory listing.
drwxr-xr-x 2 1351 50 4096 Feb 28 2014 Pb_du_27-01-2012
drwxr-xr-x 8 1351 50 4096 Sep 10 07:07 bases
-rw-r–r– 1 1351 50 19133 Sep 09 07:11 serveurs.log
drwxr-xr-x 2 1351 50 4096 Sep 09 13:51 traces_30-01-2012
226 Directory send OK.
ftp> put Vtbackup_20150910_123028.tar.gz
local: Vtbackup_20150910_123028.tar.gz remote: Vtbackup_20150910_123028.tar.gz
227 Entering Passive Mode (212,157,114,230,52,121).
150 Ok to send data.
226 File receive OK.
18456249 bytes sent in 25.84 secs (697.5 kB/s)
ulimit -u
modifier le fichier /etc/security/limits.conf
teamedu soft nofile 65536
teamedu hard nofile 1048576
vtom soft nofile 65536
vtom hard nofile 1048576
Relancer l’agent Vtom.
Check that /etc/ssh/sshd_config
contains:
UsePAM=yes
vtom@vlpdm57x:~> ulimit -a
core file size (blocks, -c) 1
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 983995
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) 107068208
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) 121744080
file locks (-x) unlimited
vtom@vlpdm57x:~> cat /etc/sysctl.conf
# Disable response to broadcasts.
# You don’t want yourself becoming a Smurf amplifier.
net.ipv4.icmp_echo_ignore_broadcasts = 1
# enable route verification on all interfaces
net.ipv4.conf.all.rp_filter = 1
# enable ipV6 forwarding
#net.ipv6.conf.all.forwarding = 1
# increase the number of possible inotify(7) watches
fs.inotify.max_user_watches = 65536
# avoid deleting secondary IPs on deleting the primary IP
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
echo coucou | passwd root --stdin
le mot de passe de root est maintenant coucou
Ce document n’a pas pour objectif de remplacer les pages du man, mais voici tout de même une série de commandes Linux (classées par ordre alphabétique) qui selon nous sont les plus utiles dans l’utilisation du système. Vous trouverez pour chacune, la syntaxe utilisée, une description des ses fonctions, ainsi qu’une liste des ses options les plus courantes.
alias |
alias [nom[='commande']]
Permet de créer un raccourci (nom) pour une commande donnée (commande). Si commande n’est pas spécifiée, affiche la commande correspondant à l’alias nom. Si nom n’est également pas spécifié, affiche la liste de tous les alias.
Voir également unalias.
bg |
bg [ID]
Passe en arrière plan le processus en cours ou le processus dont l’ID est spécifié. Voir également fg.
cat |
cat [options] [fichiers]
Cette commande permet d’afficher un ou plusieurs fichiers sur la sortie standard (effectue la lecture à partir de l’entrée standard si aucun fichier n’est spécifié). Vous pouvez utiliser les opérateurs >
pour combiner plusieurs fichiers en un seul, et >>
pour concaténer des fichiers à un fichier existant.
-n, --number Numérote les lignes, en commençant par 1.
-s, –squeeze-blank
Regroupe en une seule ligne plusieurs lignes blanches consécutives.-v, –show-nonprinting
Affiche les caractères de contrôles, sauf les sauts de ligne et
les tabulations.
clear |
clear
Efface l’écran du terminal.
cd |
cd [répertoire]
Change le répertoire de travail.
chmod |
chmod [options] mode fichiers
Cette commande modifie les doits d’accès des fichiers spécifiés. Les droits d’accès (mode) sont codés par une représentation symbolique ou par un nombre octal. La représentation symbolique utilise le format suivant :
[ugoa] [[+-=][rwxXstugo]]
La combinaison des lettres `ugoa'
contrôle la catégorie d’utilisateur pour laquelle on modifie les droits d’accès (utilisateur du fichier (u)
, utilisateurs du même groupe que le fichier (g)
, utilisateurs n’appartenant pas au groupe du fichier (o)
, ou tous les utilisateurs (a)
). La dernière catégorie (a)
est utilisée par défaut.
L’opérateur `+'
ajoute un accès, l’opérateur `-'
supprime un accès, et l’opérateur `='
assigne un accès.
Les lettres `rwxXstugo'
définissent le type d’accès. Voici les plus usitées :
r lecture, w écriture, x exécution, s définit l'ID du propriétaire ou du groupe, u droits en cours du propriétaire, g droits en cours des membres du groupe propriétaire, o droits en cours des autres utilisateurs.
Vous pouvez également utiliser la représentation octale. Cette représentation utilise une combinaison de 3 chiffres en octal (de 0 à 7). Le premier chiffre désigne les droits de l’utilisateur, le second ceux du groupe, et le troisième ceux des autres utilisateurs. Pour chacun des droits, on effectue la somme des valeurs octales requises :
4 Lecture 2 Ecriture 1 Exécution
-v, --verbose Affiche des informations sur les modifications apportées ou non aux fichiers.
-R, –recursive
Effectue les modifications de droits de façon récursive.
cp |
cp [options] source destination
Copie un fichier source vers un autre fichier (qui sera écrasé si ce fichier existe). Copie également un ensemble de fichiers vers un répertoire existant.
-b, --backup Effectue une copie de sauvegarde des fichiers qui seront supprimés.
-f, –force
Efface les fichiers cibles existants.-i, –interactive
Demande confirmation avant suppression d’un fichier.-p, –preserve
Préserve les informations concernant le propriétaire, le groupe,
les droits d’accès, et la date.-r
Effectue une copie récursive.-u, –update
Ne copie pas un fichier qui en écraserait un plus récent.
date |
date [options] [format] [date]
Permet de configurer l’heure et la date du système. Sans argument de date, permet de visualiser l’heure et la date du système.
+format Permet de formater l'affichage de la date. Voici les formats les plus usités :
%a Jour de la semaine en abrégé
%b Mois en abrégé
%d Jour dans le mois
%j Numéro du jour dans l’année (001-366)
%k Heure en format 24h (0-23)
%l Heure en format 12h (1-12)
%m Mois de l’année (01-12)
%p Spécifie a.m. ou p.m.
%y Année codée sur 2 chiffres (00-99)
%A Nom du jour
%B Nom du mois
%D Date au format %m/%d/%y
%H Heure en format 24h (00-23)
%I Heure en format 12h (01-12)
%M Minutes (00-59)
%S Secondes (00-59)
%T Heure au format %H:%M:%S
%U Jour dans le mois (01-31)
%W Numéro de la semaine (00-53)
%Y Année codée sur 4 chiffres
-s date Permet de spécifier l'heure du système. On utilise une série de chiffre dont voici le format :
MM Mois
JJ Jour
XX Deux premiers chiffres de l’année (optionnel)
YY Deux deniers chiffres de l’année (optionnel)
hh Heure
mm Minute
ss Seconde (optionnel)
-u, --universal
Spécifie l'heure au format GMT (et non local).
diff |
diff [options] fichier1 fichier2
Compare deux fichiers textes et retourne les lignes qui diffèrent entre les deux. Les lignes du premier fichier sont précédées du signe <
et celles du second fichier du signe >
.
-i, --ignore-case Ne fait pas de différence entre les caractères minuscules et majuscules.
-w, –ignore-all-space
Ne tient pas compte des caractères espace.-B, –ignore-blank-lines
Ne tient pas compte des lignes blanches.-I expression
Ne tient pas compte des lignes qui correspondent à l’expression
spécifiée.–ignore-matching-lines=expression
Ne tient pas compte des lignes qui correspondent à l’expression
spécifiée.-a, –text
Effectue la comparaison comme si les fichiers étaient des fichiers
textes (pratique pour comparer des binaires).
df |
df [options] [nom]
Affiche l’espace disque disponible sur tous les systèmes de fichiers montés ou sur celui dont le nom est spécifié.
-a, --all Inclut les systèmes de fichiers vide (0 blocs).
-i, –inodes
Utilise l’inode comme unité.-k, –kilobytes
Utilise le kilo-octet comme unité.-t, –type=
Permet de spécifier le type du système de fichiers.-x , –exclude-type=
Permet d’exclure le type de système de fichiers spécifié.
du |
du [options] [répertoire]
Affiche l’espace disque utilisé par chaque répertoire spécifié (sous répertoires inclus). Le répertoire par défaut est le répertoire courant.
-a, --all Affiche les statistiques pour tous les fichiers, pas seulement les répertoires.
-b, –bytes
Affiche les tailles en octets.-c, –total
Affiche la totalité de l’espace utilisé par tous les arguments.-k, –kilobytes
Affiche la taille en kilo-octets.-S, –separate-dirs
Affiche séparément la taille de chaque répertoire, sans inclure
la taille des sous-répertoires.
fdisk |
fdisk [options] [périphérique]
Utilitaire de gestion des partitions.
-l Liste les tables de partitions.
-s partition Affiche la taille de la partition spécifiée (à moins
qu’il ne s’agisse d’une partition DOS).
d Supprime une partition
l Liste les types de partitions
m Affiche le menu
n Crée une nouvelle partition
p Affiche les partitions
q Quitte sans sauvegarde
t Modifie le type de la partition
w Quitte et sauvegarde
fg |
fg [ID]
Passe en premier plan le processus en cours ou le processus dont l’ID est spécifié.
find |
find [chemins] [conditions]
Effectue une recherche de fichiers suivant les conditions spécifiées. Le chemin par défaut est le répertoire courant.
Conditions les plus usitées :
-mtime n Effectue une recherche de fichier modifié dans les plus ou moins (+ ou -) n 24 heures.
-name nom
Effectue une recherche de fichier dont le nom correspond à
celui spécifié.
Affiche entièrement les noms de fichiers et de répertoires
qui correspondent.-type type
Effectue une recherche de fichier dont le type est spécifié :b Fichier spécial en mode bloc
c Fichier spécial en mode caractère
d Répertoire
p Fifo ou pipe nommé
f Fichier
l Lien symbolique
s Socket-size n[bckw]
Effectue une recherche de fichier dont la taille est n :b blocs
c octets
k kilo-octets
w mots-user utilisateur
Effectue une recherche de fichier appartenant à l’utilisateur
spécifié.
free |
free [options]
Affiche un certain nombre de renseignements sur la mémoire (mémoire utilisée, disponible, …).
-b Utilise l'octet comme unité.
-k Utilise le kilo-octet comme unité.
-m Utilise le méga-octet comme unité.
-t Affiche les totaux sur une seule ligne.
grep |
grep [options] expression [fichiers]
Effectue dans un ou plusieurs fichiers spécifiés la recherche d’une expression. Par défaut, la commande renvoie les lignes contenant l’expression.
-c Affiche le nombre de lignes qui correspondent.
-v Affiche le nombre de ligne qui ne correspondent pas.
-e expression
Permet de recherche une expression commençant par le caractère -.-i Ne fait pas de distinction entre les minuscules et les
majuscules.-h Affiche les lignes qui correspondent mais pas les noms
de fichiers associés.-l Affiche les noms de fichiers mais pas les lignes qui
correspondent.-n Affiche les lignes qui correspondent et les numéros de lignes
associés.
gunzip |
gunzip [options] [fichiers]
Décompresse un fichier. Le format des fichiers compressés est .gz
. Voir également gzip.
gzip |
gzip [options] [fichiers]
Compresse (ou décompresse suivant l’option utilisée) un fichier. Le format des fichiers compressés est .gz
.
-d, --decompress, --uncompress Décompresse un fichier spécifié (idem gunzip)
-l, –list
Affiche pour chaque fichier compressé :ºla taille compressée,
ºla taille décompressée,
ºle ration,
ºle nom du fichier décompressé.-q, –quiet
Supprime les avertissements.-r, –recursive
Parcoure l’arborescence de façon récursive.-t, –test
Teste l’intégrité du fichier compressé.
halt |
halt [options]
Arrête le système. Voir également shutdown.
kill |
kill [options] pid
Envoie un signal au processus dont le pid est spécifié. Si on ne précise pas de signal, TERM est envoyé. Ce dernier tue les processus qui ne l’interceptent pas. Pour les autres processus il faut utiliser le signal KILL (9) qui ne peut pas être intercepté.
-s Précise le signal a envoyer. Vous pouvez utiliser le nom ou le numéro du signal.
-l Affiche la liste des signaux.
ln |
ln [options] source [dest]
ln [options] sources... destrep
Cette commande permet de créer des liens pour les fichiers.
Dans la première syntaxe, un lien est créé de source vers dest (qui est généralement un nouveau nom de fichier, ou par défaut le répertoire courant). Si dest est un fichier existant, il sera écrasé; si dest est un répertoire existant, le lien source sera créé dans ce répertoire.
Dans la seconde syntaxe, des liens sont créés dans le répertoire destrep. Le nom de chacun des liens est identique à celui du fichier spécifié.
-b, --backup Effectue un backup des fichiers qui vont être effacés.
-d, -F, –directory
Permet à l’utilisateur root de créer des liens en dur vers des
répertoires.-f, –force
Supprime les fichiers de destination existant.-i, –interactive
Demande confirmation avant d’effacer un fichier destination
existant.-s, –symbolic
Permet de créer des liens symboliques (à la place des liens en
dur).-v, –verbose
Affiche le nom de chaque fichier avant de créer le lien.
login |
login [name | option]
Permet de s’identifier et de se connecter au système. L’identification qui précède la connexion s’effectue en tapant son nom (qui peut être passé par la ligne de commande) puis son mot de passe (si nécessaire). Voir également logout.
-p Préserve l'environnement.
-f Saute la seconde identification.
-h Utilisé par les serveurs pour spécifier le nom de la machine
distante (root seulement).
logout |
logout
Permet de se déconnecter de la sessions en cours d’utilisation.
lpq |
lpq [options] [nom]
Interroge la file d’attente et retourne l’état de tous les processus d’impression. Si un nom est spécifié, la commande ne prend en compte que les processus de cet utilisateur. Voir également lpr et lprm.
-P Permet de spécifier une imprimante (si cette option n'est pas spécifiée, l'imprimante par défaut est utilisée).
-l Affiche l’intégralité des informations concernant les
processus.
lpr |
lpr [options] fichiers
Envoie les fichier spécifiés dans la file d’attente d’impression. Voir également lpq et lprm.
-P Spécifie l'imprimante à utiliser. En temps normal, il s'agit de l'imprimante par défaut.
-h Supprime la page de garde.
-m Confirme la fin d’impression par mail.
lprm |
lprm [options] [id] [utilisateur]
Supprime un fichier de la file d’attente d’impression. Vous devez spécifier l’identifiant du fichier à supprimer, vous pouvez obtenir cet identifiant via lpq. Un utilisateur privilégié peut également supprimer les fichiers d’un utilisateur spécifié. Voir également lpq et lpr.
-P Spécifie l'imprimante à utiliser. En temps normal, il s'agit de l'imprimante par défaut.
-a Supprime tous les fichiers de l’utilisateur spécifié.
ls |
ls [options] [noms]
Affiche le contenu d’un répertoire (répertoire courant si non spécifié). Si un nom de fichier est spécifié, affiche la liste des fichiers correspondants.
-a, -all Affiche tous les fichiers des répertoires, fichiers commençant par un '.' inclus.
-d, -directory
Affiche les répertoires, sans lister leur contenu.
-l, –format=long, –format=verbose
Affichage au format long (inclus le type du fichier, les
droits d’accès, le propriétaire, la taille, …)-s, –size
Affiche la taille de chaque fichier (en blocs de 1 Ko).-t, –sort=time
Affiche le contenu des répertoires en fonction de la date
(fichiers les plus récents présentés en premier).-u, –time=atime, –time=access, –time=use
Affiche le contenu des répertoires en fonction de la date de
dernière utilisation (accès) au fichier.-F, –classify
Ajoute un caractère a chaque nom de fichier pour spécifier
le type :‘*’ pour les fichiers exécutables,
‘/’ pour les répertoires,
‘@’ pour les liens symboliques,
‘|’ pour les FIFOs,
‘=’ pour les sockets.-R, –recursive
Affiche le contenu de façon récursive (répertoires et
sous-répertoires).-S, –sort=size
Affichage en fonction de la taille (du plus gros au plus petit).-X, –sort=extension
Affichage en fonction de l’extension. Les fichiers sans extension
sont affichés en premier.
man |
man [options] [section] [commande]
Affiche la page du manuel correspondant à la commande spécifiée. Suivant les commandes, vous devez également spécifier la section à laquelle elle appartient.
-a Affiche toute les pages qui correspondent à la commande spécifiée.
-k Effectue la recherche sur la chaîne spécifiée.
1 Commandes utilisateurs. 2 Appels systèmes. 3 Appels bibliothèques. 4 Périphériques. 5 Format de fichiers. 6 Jeux. 7 Commandes supplémentaires. 8 Commandes systèmes. 9 Noyau.
mkdir |
mkdir [options] répertoires
La commande mkdir (make directory) permet de créer un ou plusieurs répertoires. Voir également rmdir.
-m Définit le mode d'accès au répertoire. Voir la commande chmod pour plus de renseignements.
-p Permet de créer les répertoires pères spécifiés.
mkswap |
mkswap [option] périphérique [taille]
Permet de créer un espace de swap sur le périphérique spécifié. Vous pouvez également définir sa taille en blocs.
-c Vérifie la présence de blocs défectueux avant la
création.
more |
more [options] [fichiers]
more
permet de consulter page par page un ou plusieurs fichiers textes spécifiés. Un certain nombre de commandes sont à votre disposition pour naviguer.
-num nombre Indique la taille de l'écran (en nombre de lignes).
-d Affiche un message en bas de l’écran et supprime le bip.
-f Effectue un comptage logique des lignes, utile lorsque les
lignes sont trop longues et sortent de l’écran.-p Efface l’écran avant d’afficher la suite du texte (parfois plus
rapide que le déroulement).-c Affichage ligne par ligne.
-s Regroupe en une seule ligne plusieurs lignes blanches
consécutives.
Entrée Affiche la ligne suivante.
Espace Affiche l’écran suivant.
b, ou ^B Affiche l’écran précédent.
q, Q, INTERRUPT Quitter le programme.
/pattern Effectue la recherche du pattern spécifié.
n Répète la dernière recherche.
:n Passe au fichier suivant.
:p Passe au fichier précédent.
mount |
mount [options] [périphérique] [répertoire]
Permet de monter un système de fichier (périphérique) sur le répertoire spécifié (répertoire). Ce répertoire doit exister et doit être également vide.
La commande mouunt
seule affiche la liste de systèmes de fichiers et points de montages associés.
-a Monte tous les systèmes de fichiers.
-r Montage du système de fichiers en lecture seule.
-w Montage du système de fichiers en lecture/écriture.
-t type L’argument type permet de spécifié le type du système de
fichiers (ext2, umsdos, nfs, …).-o option
Voici quelques options disponibles :defaults Utilise les options par défaut.
exec Autorise l’exécution des binaires.
noexec N’autorise pas l’exécution des binaires.
nouser Empêche l’utilisateur standard de monter le système
de fichiers.
remount Remonte un système de fichiers déjà monté.
ro Montage du système en lecture seule.
rw Montage du système en lecture/écriture.
user Autorise l’utilisateur standard à monter le système
de fichiers.
mv |
mv [options] source cible
Déplace ou renomme des fichiers ou répertoires. Suivant la source et la cible, voici le résultat de la commande :
Source Cible Résultat
Fichier Nouveau Fichier Renomme le fichier
Fichier Fichier existant Ecrase le fichier cible avec le
fichier sourceRépertoire Nouveau Répertoire Renomme le répertoire
Répertoire Répertoire existant Déplace le répertoire source
dans le répertoire cibleFichiers Répertoire existant Déplace les fichiers dans le
Répertoire cible
-b, --backup Effectue une copie des fichiers qui vont être supprimés.
-f, –force
Supprime les fichiers sans confirmation.-i, –interactive
Demande confirmation avant la suppression d’un fichier.-u, –update
Ne déplace pas un fichier qui en écraserait un plus récent.
passwd |
passwd [utilisateur]
Permet de modifier le mot de passe utilisateur. Seul l’utilisateur root
peut modifier le mot de passe d’un autre utilisateur.
ps |
ps [options]
Affiche des informations sur les différents processus en cours. Ces informations ne sont valables qu’à l’instant i (c’est à dire au moment de l’exécution de la commande).
-a Affiche les processus de tous les utilisateurs.
-u Affiche des informations sur l’utilisateur.
-x Affiche les processus qui ne sont pas liés à un terminal.
-l Affichage au format long.
-h N’affiche pas l’en-tête.
pwd |
pwd
Affiche le nom du répertoire de travail courant.
umount |
umount [options] [périphérique/répertoire]
Démonte le système de fichiers spécifié (par le nom du périphérique ou par le nom du répertoire associé).
-a Démonte tous les systèmes de fichiers.
-t type Démonte seulement les systèmes de fichiers dont le type
est spécifié.
reboot |
reboot [options]
Reboote le système. Cette commande s’utilise seulement en mode mono-utilisateur. Voir également shutdown.
rm |
rm [options] fichiers
Efface le ou les fichiers spécifiés.
-d, --directory Efface le répertoire spécifié (même s'il n'est pas vide).
-i, –interactive
Demande confirmation avant d’effacer le ou les fichiers.-r, -R, –recursive
Efface de façon récursive le contenu du répertoire (répertoire et
sous-répertoires).
rmdir |
rmdir [options] [répertoires]
Supprime le ou les répertoires spécifiés (les répertoires doivent être vides).
-p Supprime les répertoires pères spécifiés.
shutdown |
shutdown [options] time [message]
Effectue un shutdown du système. Vous pouvez spécifier l’heure du shutdown en utilisant le format hh:mm
. Vous pouvez également utiliser un compte à rebours en utilisant le format +m
.
Vous pouvez définir un message pour avertir les utilisateurs shutdown
du système.
-h Arrête le système à la fin du shutdown.
-r Reboote le système à la fin du shutdown.
swapon |
swapon [options] périphérique
Active l’espace de swap sur le périphérique spécifié.
-a Utilise les périphériques définis comme espace de swap (sw)
dans le fichier /etc/fstab.
swapoff |
swapoff [options] périphérique
Désactive l’espace de swap sur le périphérique spécifié.
-a Utilise les périphériques définis comme espace de swap (sw)
dans le fichier /etc/fstab.
tar |
tar [options] [fichier tar] [fichiers]
Permet de créer ou d’extraire des fichiers archives .tar
.
-c, --create Permet de créer une nouvelle archive.
-d, –compare
Compare les fichiers contenus dans l’archives avec ceux qui sont
spécifiés.-f, –file=
Stocke ou extrait les fichiers à partir du fichier archive
spécifié.-r, –append
Ajoute les fichiers spécifiés à une archive existante.-v, –verbose
Affiche les noms des fichiers.-x, –extract, –get
Permet d’extraire les fichiers spécifiés de l’archive. Si aucun fichier
n’est spécifié, effectue l’extraction complète.
unalias |
unalias nom
Supprime l’alias spécifié.
© 1996-2001 Linux-Kheops
apt-get install vsftpd
ou
[root@pdtb5 sbin]# yum install vsftpd Loaded plugins: rhnplugin, security This system is not registered with ULN. You can use up2date --register to register. ULN support will be disabled. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package vsftpd.x86_64 0:2.0.5-28.el5 set to be updated OL5_latest/filelists | 32 MB 00:14 OL_UEK2_latest/filelists | 8.7 MB 00:02 el5_latest/filelists | 32 MB 00:09 ol5_UEK_latest/filelists | 8.7 MB 00:02 --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================== Package Arch Version Repository Size ==================================================================================================================== Installing: vsftpd x86_64 2.0.5-28.el5 OL5_latest 143 k Transaction Summary ==================================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 143 k Is this ok [y/N]: y Downloading Packages: vsftpd-2.0.5-28.el5.x86_64.rpm | 143 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : vsftpd 1/1 Installed: vsftpd.x86_64 0:2.0.5-28.el5 Complete! [root@pdtb5 sbin]#
———————————–
root@Vsch1:/#ps -ef |grep vsftpd
root 2100 1 0 Jul06 ? 00:00:00 /usr/sbin/vsftpd
root 8874 8753 0 10:44 pts/0 00:00:00 grep ftp
[root@pong sbin]# cd /etc/init.d/
[root@pong init.d]# ./vsftpd start
Starting vsftpd for vsftpd: [ OK ]
root@Vsch1:/#stop vsftpd
vsftpd stop/waiting
root@Vsch1:/#start vsftpd
vsftpd start/running, process 8904
numligne=`grep -n "$day " $fic |head -1 | awk -F ':' '{print $1}'` if [ "x$numligne" == "x" ]; then echo "Pas d erreur trouvée" exit 0 else echo "Erreur trouvée en ligne : " $numligne fi
echo ---- arret du client Vtom ---- su -l vtom -c /opt/vtom/admin/stop_client w_test1=1 while [ ${w_test1} != 0 ] do sleep 5 w_test1=`ps -ef | grep bdaemon |grep -v grep |wc -l` done
var=$1 echo var : $var # --- transformation en majuscule maj=`echo $var | tr "a-z" "A-Z"` echo maj : $maj # --- transformation en minuscule min=`echo $var | tr "A-Z" "a-z"` echo maj : $min # --- Première lettre en majuscule suite en minuscule maj1=`echo $var | tr "A-Z" "a-z" | sed 's/^./\u&/'` echo Ma1 : $maj1
# — remplacer 0 par espace dans une date
$day=03
echo Day_avec_zero : $day
day=`echo $day | tr « 0 » » » | sed ‘s/^./\u&/’`
echo Day_sans_zero : $day
export PS1="[\u@\h:\w]# "
mpstat -P ALL
Linux 2.6.32-33-generic (vetl) 09/13/2013 _x86_64_ (4 CPU)
01:47:19 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 01:47:19 PM all 23.62 0.02 0.96 0.11 0.02 0.06 0.00 0.00 75.21 01:47:19 PM 0 17.62 0.01 0.87 0.10 0.07 0.24 0.00 0.00 81.09 01:47:19 PM 1 26.05 0.02 1.01 0.20 0.00 0.00 0.00 0.00 72.71 01:47:19 PM 2 25.93 0.02 1.00 0.08 0.00 0.01 0.00 0.00 72.96 01:47:19 PM 3 24.97 0.02 0.96 0.07 0.00 0.00 0.00 0.00 73.97
Remplacement de a par b dans la variable P1
set p1=%p1:a=b%
Remplacement de » par rien dans la variable P1
set p1=%p1:"=%
Remplacement de (espace) par _ dans la variable P1
set f_name=%1% set f_nom=%f_name: =_% echo fichier : %f_nom%
Suppression des espaces dans les noms de fichiers
@echo off rem ------ Suppression des espaces dans les noms de fichiers SETLOCAL ENABLEDELAYEDEXPANSION set d_rep=G:\Contacts\processing\ set w_fic=*.xlsx if EXIST %d_rep%%w_fic%. ( for /r "%d_rep%" %%i in ("%w_fic%") do ( set wf_name="%%~fi" set ww_name=%%~ni%%~xi set wf_nom=!ww_name: =_! echo ren !wf_name! !wf_nom! ren !wf_name! !wf_nom! ) )
echo "bonjour" | sed 'sZbZBZ' ou
echo "bonjour" | sed 's/b/B/'
Bonjour exemple : uptime | awk '{print $10}' 49.05, uptime | awk '{print $10}' | sed 's/,//' | sed 's/\./,/' 49,05