Comment limiter l’étendue d’une requête ?

 

SPOTLIGHTPREFICONS 128X128

Comment limiter le champ d’une requête ?

Le premier réflexe d’un Unixien serait d’utiliser cette lignde de commande :

$ mdfind mon_texte | grep Mon_Dossier

Le résultat de Spotlight est envoyé vers la commande « grep » qui filtre le contenu aux fichiers placés dans « Mon_Dossier ».

Mais il est possible de faire plus simple :

$ mdfind -onlyin ~/Mon_Dossier « Le texte de la recherche"

l’option  » -onlyin  » limite l’étendue de  la  recherche au contenu du dossier indiqué. Voici un exemple, vous cherchez uniquement sur le bureau (Desktop en Anglais) les fichiers contenants « Capture » :

$ mdfind -onlyin ~/Desktop "Capture"

 
Hdrapin bash 80×24
(résultat de la commande)
 
C’est en particulier intéressant lorsque vous effectuez un recherche dans Automator ou AppleScript, cela permet de limiter le champ de la recherche.
 
 
Henri Dominique Rapin

 

Comment « suspendre » une application avec le moniteur d’activité ?

FINDERICON 128X128

Avant d’explorer cette astuce, il est nécessaire d’expliquer un principe sur l’exécution des applications. Lorsque vous lancez une application, celle-ci est connue du système par son « PID » (ou « Process IDentifier » en Anglais).

Si nous voulons « interagir avec le système il faut utiliser ce PID et non le nom de l’application. Le numéro n’est pas constant, il varie suivant l’ordre d’exécution et d’une machine à une autre… Il est attribué par Mac OS X de façon arbitraire.

Comment récupérer ce PID ?

Le plus simple est de lancer le « Moniteur d’activité », dans l’onglet « Processeur », repérez la colonne « PID », le chiffre indiqué correspond à l’identifiant de l’application (première colonne).

Image 01

(Le moniteur d’activité avec l’onglet « Processeur « ) Une autre approche consiste à utiliser le Terminal et de récupérer le nom, la commande ressemble à ceci :

$ ps aux | grep iTunes

  • « PS » liste les processus (équivalent du moniteur d’activité)
  • « aux » ce sont les résultats que l’on veut obtenir.
  • « | « la barre latérale (ou le « pipe » en Anglais) permet d’envoyer le résultat de la commande précédente vers la commande « Grep ».
  • « grep » filtre le texte reçu pour ne garder que les lignes avec le mot « iTunes » Comme ceci :
    Image 02(le terminal avec la commande exécutée).

Ce qui nous intéresse est la seconde information juste après le nom de l’utilisateur, sur mon Mac, iTunes porte l’identifiant « 50384 ». Les pros du Terminal, ajouteront « awk » à la commande, seul le PID sera retourné comme ceci :

$ ps aux | grep itunes | awk '{print $2}'

Comment suspendre l’application ?

La commande la plus connue du Terminal est « KILL » c’est grâce à elle si vous pouvez « tuer » un processus ou une application.

Il existe un « argument » qui permet de « stopper » une application et faire en sorte qu’elle se redémarre, la commande est simple :

$ KILL –STOP 50384

En exécutant cette commande l’application iTunes est « stoppée », attention elle existe toujours mais ne fait plus rien. Pour la relancer et lui permettre de travailler, utiliser la commande suivante :

$ KILL –CONT 50384

Effectuez le test avec iTunes, lorsqu’il est en cours de lecture d’un morceau, il s’interrompt immédiatement.

Image 03

(dans le moniteur d’activité, iTunes utilise une portion du processeur)

Puis en exécutant la commande « KILL –STOP »

Image 04

(dans le moniteur d’activité, iTunes n’utilise plus le processeur)

Il existe une variante de la commande « KILL », il s’agit de « killall » qui n’a pas besoin du PID pour fonctionner mais utilisera le nom du processus, seul problème, le nom du processus n’est pas toujours celui de l’application.

Attention aux majuscules, elles sont importantes dans le Terminal. $ killall – STOP iTunes Et pour le redémarrer $ killall –CONT iTunes.

Une option « -c » permet de travailler sur une application avec un nom long et qui comprend des espace comme « App store » par exemple :

$ killall –STOP « App Store »

Cette astuce, permet de mettre en pause une application trop gourmande pour laisser aux autres applications l’utilisation du processeur, sans pour autant fermer l’application trop gourmande.

Henri Dominique Rapin

Mac :: Comment afficher des messages lors de connexion (Shell, FTP, SSH)

Terminal.png

Comment afficher des messages lors de connexion (Shell, FTP, SSH) ?

Ajouter du texte affiché à la connexion au Shell, SSH et FTP c’est souvent un bon point de départ en ce qui concerne la sécurité. Cela fait parti des bonnes pratiques, informez vos utilisateurs des conditions d’utilisations, cela évite souvent les abus.

Pour le Shell

Le fichier de configuration à éditer pour le Shell est : /etc/motd

« Motd » signifie « message of the day », et il contient généralement des messages destinés aux utilisateurs concernant l’administration du système. Ce fichier est affiché avant l’ouverture du Shell par le process login.

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/motd

Pour lire le contenu du fichier :

$ sudo cat /etc/motd

Pour le serveur FTP :

Le fichier de configuration à éditer pour ftp est : /etc/ftpwelcome

Le fichier « ftpwelcome » verra son contenu affiché lors d’une connexion avant que soit affiché le login.

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/ftpwelcome

Pour lire le contenu du fichier :

$ sudo cat /etc/ftpwelcome

Pour SSH :

Le fichier de configuration à éditer pour le SHELL est : /etc/sshd_config

SSH affiche le contenu du fichier Banner : « /etc/banner »

Pour obtenir le chemin vers le fichier

$ sudo cat /etc/sshd_config | grep Banner

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/banner

Pour lire le contenu du fichier :

$ sudo cat /etc/banner

Henri Dominique Rapin