hostname
#ou :
uname -m
date +%A
#Si vous êtes né le 23 novembre 1994 :
cal [23] 11 1994
#[23] car la version installée sur les machines de TP ne prend pas le jour
ssh $login@192.168.31.236
who
echo -e "blabla ligne 1\nblabla ligne 2" > premiertexte
less premiertexte
#ou :
cat premiertexte
ls -l premiertext #taille affichée avant la date. Ou :
stat -c 'taille en octets: %s' premiertexte
nano PREMIERTEXTE
On édite en fait un nouveau fichier : les noms sont sensibles à la casse.
cp premiertexte double
ls -lc premiertexte double
mv double introduction
mv double introduction et cp double introduction ?
mkdir essai
mv introduction essai/
Note : le slash final '/' n'est pas nécessaire, mais pratique pour
distinguer fichiers et répertoires.
cp premiertexte copie
mv copie essai/
ls -l essai/
rm essai/ #ne fonctionne pas : essai/ n'est pas un fichier
rmdir essai/ #ne fonctionne pas : essai/ n'est pas vide
rm -r essai/ #OK
Il faut ajouter l'option '-r' pour supprimer récursivement un répertoire. Elle est souvent
associée à l'option '-f' pour 'force', mais attention à ne pas lancer ça sur des répertoires utiles...
rm essai2/*
rmdir essai2/ #OK cette fois : essai2/ est vide
cd /usr/lib/
cd ~ #ou juste 'cd'
cd ../../usr/bin #ou cd ../../../usr/bin si vous êtes sur 192.168.31.236,
#car sur celle-ci vos $HOME sont sur /home/tpbd/
ls -l : dans quel ordre les fichiers et répertoires sont-ils classés par défaut ? Affichez le contenu de votre répertoire courant de telle sorte que les fichiers modifiés récemment apparaissent en premier.
ls -lct
mkdir -p a/b/c #option '-p' pour '(create) Parent'
git init -q repo. Listez le contenu de 'repo'. Essayez de le supprimer par la commande 'rmdir'.
Que se passe-t-il ? Pourquoi ? Comment effectuer la suppression ?
ls -A repo montre un répertoire caché, '.git'.
Le répertoire 'repo' n'étant pas vide, on le supprime par rm -r repo
cp -r origine/ destination/
mv nom1 chemin/vers/emplacement/nom2
mv bla/ blo/
Si blo/ existe déjà, bla/ devient un sous-répertoire de blo/.
#La redirection évite d'afficher les erreurs "accès non autorisé"
grep -rl subsystem /etc 2> /dev/null
find /etc -type d -name "s*" 2> /dev/null
cat a b > c ? Quelle différence avec cat a b >> c ?
a et b, puis place le résultat dans c.
Avec '>' le contenu de c est écrasé, et avec '>>' on écrit à la suite dans le fichier.
head -n7 /etc/passwd
tail -n7 /etc/passwd
head -n10 /etc/passwd | tail -n6 #ou sed -n 5,10p /etc/passwd
head -n9 /etc/passwd | tail -n1 #ou sed -n 9p /etc/passwd
touch fic1
chmod g+w fic1 #ou chmod 664 fic1
chmod +x fic1 #ou chmod uog+x fic1
chmod u-wx toto #ou chmod 444 toto
chmod go+wx toto #ou chmod 777 toto
mkdir -m0750 mon_dossier.
rm essai?
mkdir -p C #évite les warnings si C/ existe
mv *.c C/
top ou htop)
htop -u root
#Voir aussi la commande 'ps' ('ps -e', en particulier)
vim en arrière plan. Le tuer. Le relancer au premier plan
avec un nom de fichier pour argument. Écrire un peu de texte. Stopper vim.
Le récupérer au premier plan. Enregistrer le texte. Quitter vim.
vim & #'&' permet de lancer en arrière plan ("background")
pkill -9 vim #attention, ça tue tous les processus vim.
#'kill -9 PID' est plus précis
vim toto #...puis écriture de texte
Ctrl+D #met vim en pause (passe en arrière plan).
#Pour l'arrêter il faut utiliser Ctrl+C
fg #"foreground"
:w #enregistre les modifications
:q
file sur un fichier PDF. Renommez le pour qu'il ait l'extension .txt.
Relancez file. Que constatez-vous ?
file détermine le type de fichier en se basant sur le contenu au lieu de l'extension.
Voir cette page pour plus d'informations.
| Nom | Age | Ville |
|---|---|---|
| Marc | 29 | Paris |
| Catherine | 32 | Lyon |
| Sophie | 54 | Paris |
| Claude | 13 | Montpellier |
| Serge | 40 | Lyon |
£RES1 := \pi[acteur]( \sigma[acteur \neq réalisateur] (\bowtie[F.titre=A.titre] (F, A)))£
£RES2 := \pi[réalisateur](F)£
£RES := RES1 \cap RES2£
Explication : RES1 donne les acteurs d'un film qui n'ont pas réalisé ce film. RES2 donne les réalisateurs. L'intersection contient la réponse finale.
£RES1 := \{ \pi[réalisateur](F) \} \cap \{ \pi[acteur](A) \}£
£RES2 := \pi[réalisateur](\sigma[acteur=réalisateur](\bowtie[F.titre=A.titre](F, A)))£
£RES := RES1 - RES2£
Explication : RES1 donne les réalisateurs / acteurs. RES2 donne les réalisateurs qui sont acteurs dans leur propre film. La différence ensembliste produit le résultat demandé.