[cp] Copier certain repertoires et fichiers
Fermé
Hamster
-
2 mars 2005 à 15:40
asevere Messages postés 13089 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 3 mars 2005 à 17:54
asevere Messages postés 13089 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 3 mars 2005 à 17:54
A voir également:
- [cp] Copier certain repertoires et fichiers
- Wetransfer gratuit fichiers lourd - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Copier video youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Fichiers temporaires windows 10 - Guide
3 réponses
d'ailleur c'est bash ou batch ? Sous linux c'est un .so ?
bash
Sous linux c'est un .so ?
Non, c'est un executable dans /bin/bash et c'est ta shell (le truc ou tu tapes de commandes)
J'ai vu qu'avec la commande cp on pouvais a l'aide du -l faire un lien dur
Oui, un lien dur est fait avec:
ou avec:
quel est la difference entre les deux ?
l'un est dur et l'autre symbolique.
Le dur est limite a la meme partition et ca apparait comme de fichiers differents (mais ce n'est qu'un fichier!). Avec "ls -l" on voit:
c'est le "2" entre "-rw-r--r--" et "user user ..." qui indique qu'il s'agit d'un lien dur entre "toto" et "lien_dur".
Le symbolique peut etre entre differents partitions et apparait comme
ci-dessu.
Un lien symbolique est fait avec:
ou avec:
Puis par la meme occasion je voudrais qu'il n'ecrase pas les fichiers deja existant mais sans qu'il crée le fichier ou repertoire en le renomment avec un ?
ou ... sont d'eventuelles autres options de cp.
bash
Sous linux c'est un .so ?
Non, c'est un executable dans /bin/bash et c'est ta shell (le truc ou tu tapes de commandes)
J'ai vu qu'avec la commande cp on pouvais a l'aide du -l faire un lien dur
Oui, un lien dur est fait avec:
cp -l fichier lien
ou avec:
ln fichier lien
quel est la difference entre les deux ?
l'un est dur et l'autre symbolique.
Le dur est limite a la meme partition et ca apparait comme de fichiers differents (mais ce n'est qu'un fichier!). Avec "ls -l" on voit:
-rw-r--r-- 2 user user 0 Mar 2 15:53 lien_dur -rw-r--r-- 2 user user 0 Mar 2 15:53 toto lrwxrwxrwx 1 user user 4 Mar 2 15:55 lien_symb -> toto
c'est le "2" entre "-rw-r--r--" et "user user ..." qui indique qu'il s'agit d'un lien dur entre "toto" et "lien_dur".
Le symbolique peut etre entre differents partitions et apparait comme
lien_symb -> toto
ci-dessu.
Un lien symbolique est fait avec:
cp -s fichier lien
ou avec:
ln -s fichier lien
Puis par la meme occasion je voudrais qu'il n'ecrase pas les fichiers deja existant mais sans qu'il crée le fichier ou repertoire en le renomment avec un ?
cp -i... fichiers /cible/ | yes n
ou ... sont d'eventuelles autres options de cp.
Deja merci kmf de la qualité de ta réponse.
Je vais utiliser le ln mais le probléme c'est que quand je veux copier des repertoires avec la commande suivant il me dit que cela ne m'est pas permis.
ln -vd /home/servercs/hlds_l/cstrike/gfx/* /home/servercs/www/gfx
Sinon comment faire pour mettre toute mes commandes dans un fichier et quand je lance ce fichier il me les traitent une par une ?
Merci
Je vais utiliser le ln mais le probléme c'est que quand je veux copier des repertoires avec la commande suivant il me dit que cela ne m'est pas permis.
ln -vd /home/servercs/hlds_l/cstrike/gfx/* /home/servercs/www/gfx
Sinon comment faire pour mettre toute mes commandes dans un fichier et quand je lance ce fichier il me les traitent une par une ?
Merci
Pour de repertoires (et en cas de doute) fais de liens symboliques!! Selon la page man de "ln" l'option -d permet en effet de faire de liens dur pour de repertoires mais il faut etre root pour en avoir le droit et je te deconseillerais fortement ca. On plus tu risques de ne plus reconnaitres ces liens plus tard (pour les liens symbolique c'est evident).
Moi je te proposerais plutot:
Ca devrait suffir. Tu peux taper ca ligne par ligne (le "\" derrier overviews permet de couper de lignes trops longs en morceaux dans une shell, je l'ai mis car le forum coupe lui meme de lignes trop longues et ca ne cree que des ennuies si tu ne reconnais pas que c'est une ligne et pas deux)
ou tu peux copier ca dans un fichier disons: "script.sh" et tu fais apres:
ca suffit pour l'executer. De facon generale pour automatiser tu mets toutes les commandes dans un fichier ascii, tu le rends executable (avec "chmod +x") et tu l'execute comme une commande.
Moi je te proposerais plutot:
cd /home/servercs/hlds_l/cstrike/ for NOM in *.wad maps overviews \ sound sprites models gfx ; do ln -sv $NOM ../../www/$NOM done
Ca devrait suffir. Tu peux taper ca ligne par ligne (le "\" derrier overviews permet de couper de lignes trops longs en morceaux dans une shell, je l'ai mis car le forum coupe lui meme de lignes trop longues et ca ne cree que des ennuies si tu ne reconnais pas que c'est une ligne et pas deux)
ou tu peux copier ca dans un fichier disons: "script.sh" et tu fais apres:
chmod +x script.sh ./script.sh
ca suffit pour l'executer. De facon generale pour automatiser tu mets toutes les commandes dans un fichier ascii, tu le rends executable (avec "chmod +x") et tu l'execute comme une commande.
3 mars 2005 à 17:54
Il ne faut surtout pas s'y fier, ce chiffre indique en cas de fichiers liés le nombre de fichiers qui partagent le même inode. (le nombre de lien.)
la meilleur methode consiste a afficher les numeros d'inodes (ls -i) de combiner ça avec un affichage correct (-1 le chiffre) passé par un sort pour bien voir ce qu'on veut--
...Mana mana
Tutudutu...