Terminal - find - redirection - debutant

Bonjour,
j'ai un exo que je n'arrive pas à faire, je suis débutante, ça va surement vous paraitre très simple.

"trouver par man une option de la commande find qui permet de trouver les fichier d'un type donné"
bon,ça, c'est facile, c'est : find -type x
(x=f,d,l,p,c,b,s)

"n'oubliez pas de redirectionner les messages d'erreurs de find sur /dev/null, sans quoi le resultat sera illisible"
???
j'ai pas de message d'erreurs, moi!
pour rediriger, il faut faire {find -type x} > /dev/null
en ayant créé /dev/null, non?

quand je teste sans redirection, j'obtiens ça :
sophie@ordi-sophie:~$ find -type d
.
./Public
./.fontconfig
./.mozilla
./.mozilla/firefox
./.mozilla/firefox/32f57a2z.default
./.mozilla/firefox/32f57a2z.default/Cache
./.mozilla/firefox/32f57a2z.default/bookmarkbackups
./.mozilla/firefox/32f57a2z.default/extensions
./.mozilla/firefox/32f57a2z.default/chrome
./.gnome
./.gnome/gnome-vfs
./.themes
./.tsclient
./Bureau
./.config
./.config/tracker
./.gconf
./.gconf/desktop
./.gconf/desktop/gnome
./.gconf/desktop/gnome/accessibility
./.gconf/desktop/gnome/accessibility/keyboard
./.gconf/desktop/gnome/font_rendering
./.gconf/desktop/gnome/applications
./.gconf/desktop/gnome/applications/window_manager
./.gconf/desktop/gnome/background
./.gconf/apps
./.gconf/apps/totem
./.gconf/apps/totem/plugins
./.gconf/apps/totem/plugins/media_player_keys
./.gconf/apps/totem/plugins/skipto
./.gconf/apps/totem/plugins/screensaver
./.gconf/apps/totem/plugins/movie-properties
./.gconf/apps/mahjongg
./.gconf/apps/gnome-app-install
./.gconf/apps/gnome-app-install/state
./.gconf/apps/eog
./.gconf/apps/eog/ui
./.gconf/apps/file-roller
./.gconf/apps/file-roller/general
./.gconf/apps/file-roller/listing
./.gconf/apps/gnobots2
./.gconf/apps/gnobots2/geometry
./.gconf/apps/gnobots2/preferences
./.gconf/apps/panel
./.gconf/apps/panel/general
./.gconf/apps/panel/applets
./.gconf/apps/panel/applets/trashapplet_screen0
./.gconf/apps/panel/applets/fast_user_switch_screen0
./.gconf/apps/panel/applets/fast_user_switch_screen0/prefs
./.gconf/apps/panel/applets/show_desktop_button_screen0
./.gconf/apps/panel/applets/mixer_screen0
./.gconf/apps/panel/applets/notification_area_screen0
./.gconf/apps/panel/applets/clock_screen0
./.gconf/apps/panel/applets/clock_screen0/prefs
./.gconf/apps/panel/applets/clock_screen0/prefs/timezones
./.gconf/apps/panel/applets/window_list_screen0
./.gconf/apps/panel/applets/window_list_screen0/prefs
./.gconf/apps/panel/applets/workspace_switcher_screen0
./.gconf/apps/panel/applets/workspace_switcher_screen0/prefs
./.gconf/apps/panel/applets/deskbar_screen0
./.gconf/apps/panel/toplevels
./.gconf/apps/panel/toplevels/top_panel_screen0
./.gconf/apps/panel/toplevels/top_panel_screen0/background
./.gconf/apps/panel/toplevels/bottom_panel_screen0
./.gconf/apps/panel/toplevels/bottom_panel_screen0/background
./.gconf/apps/panel/objects
./.gconf/apps/panel/objects/session_dialog_screen0
./.gconf/apps/panel/objects/menu_bar_screen0
./.gconf/apps/panel/objects/email_launcher_screen0
./.gconf/apps/panel/objects/browser_launcher_screen0
./.gconf/apps/panel/objects/yelp_launcher_screen0
./.gconf/apps/gtali
./.gconf/apps/gnome-sudoku
./.gconf/apps/gnect
./.gconf/apps/nautilus
./.gconf/apps/nautilus/preferences
./.gconf/apps/gnomine
./.gconf/apps/gnomine/geometry
./.gconf/apps/iagno
./.gconf/apps/gnome-screensaver
./.gconf/apps/aisleriot
./.gconf/apps/glines
./.gconf/apps/glines/preferences
./.gconf/apps/metacity
./.gconf/apps/metacity/general
./.gconf/apps/evolution
./.gconf/apps/evolution/calendar
./.gconf/apps/evolution/calendar/notify
./.gconf/apps/gnotravex
./.gconf/apps/deskbar
./.gconf/apps/gnotski
./.gconf/apps/gnotski/level_info
./.gconf/apps/gnotski/level_info/11D4FFF6
./.gconf/apps/gnotski/level_info/81789155
./.gconf/apps/gnotski/level_info/CD55C171
./.gconf/apps/gedit-2
./.gconf/apps/gedit-2/preferences
./.gconf/apps/gedit-2/preferences/ui
./.gconf/apps/gedit-2/preferences/ui/statusbar
./.gconf/apps/gnome-power-manager
./.gconf/apps/gnome-power-manager/notify
./.gconf/apps/gnibbles
./.gconf/apps/gnibbles/preferences
./.gconf/apps/gnibbles/preferences/worm
./.gconf/apps/gnibbles/preferences/worm/0
./.gconf/apps/gnibbles/preferences/worm/1
./.gconf/apps/gnibbles/preferences/worm/3
./.gconf/apps/gnibbles/preferences/worm/4
./.gconf/apps/gnibbles/preferences/worm/2
./.gconf/apps/gnibbles/preferences/worm/5
./.gconf/system
./.gconf/system/networking
./.gconf/system/networking/wireless
./.gconf/system/networking/wireless/networks
./.gconf/system/networking/wireless/networks/Livebox-faa9
./.gstreamer-0.10
./.Trash
./Images
./.openoffice.org2
./.openoffice.org2/user
./.openoffice.org2/user/gallery
./.openoffice.org2/user/temp
./.openoffice.org2/user/autocorr
./.openoffice.org2/user/psprint
./.openoffice.org2/user/psprint/fontmetric
./.openoffice.org2/user/psprint/driver
./.openoffice.org2/user/store
./.openoffice.org2/user/Scripts
./.openoffice.org2/user/basic
./.openoffice.org2/user/basic/Standard
./.openoffice.org2/user/config
./.openoffice.org2/user/config/soffice.cfg
./.openoffice.org2/user/config/soffice.cfg/modules
./.openoffice.org2/user/config/soffice.cfg/modules/scalc
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/images
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/images/Bitmaps
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/menubar
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/toolbar
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/accelerator
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/accelerator/en-US
./.openoffice.org2/user/config/soffice.cfg/modules/scalc/statusbar
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp/images
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp/images/Bitmaps
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp/menubar
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp/toolbar
./.openoffice.org2/user/config/soffice.cfg/modules/dbapp/statusbar
./.openoffice.org2/user/config/soffice.cfg/modules/swriter
./.openoffice.org2/user/config/soffice.cfg/modules/swriter/images
./.openoffice.org2/user/config/soffice.cfg/modules/swriter/images/Bitmaps
./.openoffice.org2/user/config/soffice.cfg/modules/swriter/menubar
./.openoffice.org2/user/config/soffice.cfg/modules/swriter/toolbar
./.openoffice.org2/user/config/soffice.cfg/modules/swriter/statusbar
./.openoffice.org2/user/config/soffice.cfg/global
./.openoffice.org2/user/config/soffice.cfg/global/accelerator
./.openoffice.org2/user/config/soffice.cfg/global/accelerator/en-US
./.openoffice.org2/user/config/imagecache
./.openoffice.org2/user/database
./.openoffice.org2/user/database/biblio
./.openoffice.org2/user/uno_packages
./.openoffice.org2/user/uno_packages/cache
./.openoffice.org2/user/uno_packages/cache/uno_packages
./.openoffice.org2/user/uno_packages/cache/registry
./.openoffice.org2/user/uno_packages/cache/registry/com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
./.openoffice.org2/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend
./.openoffice.org2/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/registry
./.openoffice.org2/user/uno_packages/cache/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend
./.openoffice.org2/user/uno_packages/cache/registry/com.sun.star.comp.deployment.script.PackageRegistryBackend
./.openoffice.org2/user/autotext
./.openoffice.org2/user/wordbook
./.openoffice.org2/user/template
./.openoffice.org2/user/registry
./.openoffice.org2/user/registry/data
./.openoffice.org2/user/registry/data/org
./.openoffice.org2/user/registry/data/org/openoffice
./.openoffice.org2/user/registry/data/org/openoffice/Office
./.openoffice.org2/user/registry/cache
./.openoffice.org2/user/backup
./.metacity
./.metacity/sessions
./.cache
./.cache/tracker
./Musique
./Vidéos
./.gconfd
./.thumbnails
./.thumbnails/normal
./.thumbnails/fail
./.thumbnails/fail/gnome-thumbnail-factory
./.local
./.local/share
./.local/share/tracker
./.local/share/tracker/data
./.icons
./Modèles
./.gnome2
./.gnome2/deskbar-applet
./.gnome2/deskbar-applet/modules-2.20-compatible
./.gnome2/accels
./.gnome2/eog
./.gnome2/file-roller
./.gnome2/keyrings
./.gnome2/share
./.gnome2/share/fonts
./.gnome2/share/cursor-fonts
./.gnome2/Totem
./.gnome2/panel2.d
./.gnome2/panel2.d/default
./.gnome2/panel2.d/default/launchers
./.gnome2/nautilus-scripts
./.gnome2/evince
./.gnome2/gnome-power-manager
./.nautilus
./.nautilus/metafiles
./.gnome2_private
./.update-notifier
./Documents
sophie@ordi-sophie:~$ find -type l
./.openoffice.org2/user/config/modern_en-US_en-ZA.sog
./.openoffice.org2/user/config/arrowhd_en-US_en-ZA.soe
./.openoffice.org2/user/config/classic_en-US_en-ZA.sog
./.openoffice.org2/user/config/styles_en-GB.sod
./.openoffice.org2/user/config/modern_en-GB.sog
./.openoffice.org2/user/config/arrowhd_en-GB.soe
./.openoffice.org2/user/config/palette_en-US_en-ZA.soc
./.openoffice.org2/user/config/hatching_en-US_en-ZA.soh
./.openoffice.org2/user/config/classic_en-GB.sog
./.openoffice.org2/user/config/hatching_en-GB.soh
./.openoffice.org2/user/config/styles_en-US_en-ZA.sod
./.openoffice.org2/user/config/palette_en-GB.soc
./Examples
sophie@ordi-sophie:~$ find -type p
sophie@ordi-sophie:~$ find -type c
sophie@ordi-sophie:~$ find -type b
sophie@ordi-sophie:~$


"Trouver un exemplaire de chaque fichier dans la machine"
Manifestement, ce n'est pas le cas. La recherche est pourtant effectuée dans tout l'ordi non?

"Lancer ls -l sur ces fichier et remarquez les différences"
Comment fait-on? ils faut que les fichiers soient au même endroit non? ça me parait pourtant bizarre de changer de place des fichiers.
Configuration: Linux
Firefox 2.0.0.6

9 réponses

  1. ah oui! je le savais normallement pour \ !

    Par contre moi j'ai l'aide en anglais, pas en français... ya moyen d'avoir les 2?

    Merci
    1. Modérateur
      je ne comprends pas trop ce que fais -exec
      Il sert à exécuter la commande qui le suit pour chaque argument trouvé par la commande "find".

      Extrait du man find :
         ACTIONS
             -exec commande ;
                    Exécute la commande ; vrai si le code de retour 0  est  renvoyé.
                    Tous  les  arguments  suivants de find sont considérés comme des
                    arguments pour la ligne de commande, jusqu'à ce qu'on  rencontre
                    un  `;'.  La  chaîne `{}' est remplacée par le nom du fichier en
                    cours de traitement, et ceci dans toutes  ses  occurrences,  pas
                    seulement  aux  endroits  où elle est isolée, comme c'est le cas
                    avec d'autres versions de find.  Ces deux chaînes peuvent  avoir
                    besoin d'être protégées du développement de la ligne de commande
                    par le shell, en utilisant le caractère d'échappement  (`\')  ou
                    une  protection  par  des  apostrophes. La commande est exécutée
                    depuis le répertoire de départ.
      Et que viens faire \ ici :
      Il sert à protéger le caractère ";" (partie intégrante de la commande "-exec") du shell, afin qu'il ne soit pas interprété par le shell justement.

      ;-))
      1. ok, merci, pour votre aide, ça marche.

        par contre, j'ai regardé dans l'aide et je ne comprends pas trop ce que fais -exec.
        Et que viens faire \ ici :
        find / -type x -exec ls -l {} \; 2>/dev/null

        (pour la redirection, c'est evidemment 2>/dev/null, j'avais betement oublié le 2.)

        Merci beaucoup
        1. Modérateur
          "Trouver un exemplaire de chaque fichier dans la machine"
          Manifestement, ce n'est pas le cas. La recherche est pourtant effectuée dans tout l'ordi non?

          Non, elle est effectuée depuis le répertoire d'où tu lances la commande (le tien).
          Pour une recherche sur tout l'ordi, tu dois spécifier la racine :
          find / -type.....
          ;-))
          1. Modérateur
            Salut,

            find / -type x -exec ls -l {} \; 2>/dev/null
            le résultat sera sûrement long donc mieux vaut envoyer le résultat dans un fichier et ensuite regarder le fichier
            find / -type x -exec ls -l {} \; > resultat.ls  2>/dev/null


            à remplacer x avec le type adéquat
            1. Modérateur
              Salut,
              [tmpfs]$ find /home/ -type f -name "plop"
              find: /home/jp/tmp/orbit-root: Permission non accordée
              /home/jp/Documents/scripts/momsse/plop
              find: /home/yogi/tmp: Permission non accordée
              find: /home/yogi/.kde: Permission non accordée
              find: /home/yogi/.ssh: Permission non accordée
              find: /home/yogi/.gnome2_private: Permission non accordée
              find: /home/yogi/.gconfd: Permission non accordée
              find: /home/yogi/.gnome2: Permission non accordée
              find: /home/yogi/Desktop: Permission non accordée
              find: /home/yogi/.gconf: Permission non accordée
              find: /home/yogi/.local: Permission non accordée
              find: /home/yogi/.macromedia: Permission non accordée
              
              [tmpfs]$ find /home/ -type f -name "plop" 2>/dev/null
              
              /home/jp/Documents/scripts/momsse/plop
              
              [tmpfs]$    
              ;-))
              1. bonjour,

                la redirection c'est pas plutôt : ">>"

                la commande "find type -p" : n'est pas indiqué ou il faut chercher ...

                bip ! bip !