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é.