Update 23-01-2020

This commit is contained in:
2020-01-25 06:47:22 +01:00
parent 1f6b5d13d8
commit f760227ba1
28 changed files with 1864 additions and 57 deletions

View File

@@ -0,0 +1,58 @@
# chflags
Changer les flags d'un fichier ou d'un dossier.
Voir les flags dans macOS (**ls -lO**):
```bash
silverbook-1:~ enzo$ ls -lO
total 0
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Desktop
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Documents
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Downloads
drwx------@ 56 enzo staff hidden 1792 17 aoû 08:07 Library
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Movies
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Music
drwx------+ 3 enzo staff - 96 12 aoû 22:28 Pictures
drwxr-xr-x+ 4 enzo staff - 128 12 aoû 22:28 Public
```
Par défaut, le dossier Bibliothèque de l'utilisateur est caché.
Si aucun flag n'est pis, un tiret est affiché.
Les différents flags sont:
- <u>arch</u>, <u>archived</u> (super-user only)
- <u>opaque</u> (owner or super-user only)
- <u>nodump</u> (owner or super-user only)
- <u>sappnd</u>,<u>sappend</u> (super-user only)
- <u>schg</u>, <u>schange</u>, <u>simmutable</u> (super-user only)
- <u>uappnd</u>, <u>uappend</u> (owner or super-user only)
- <u>uchg</u>, <u>uchange</u>, <u>uimmutable</u> (owner or super-user only)
- <u>hidden</u>
Pour supprimer un flag, il faut le régler à l'opposé:
```bash
$ sudo chflags dump /usr/bin/local/oty.sh
```
Comme pour chmod, l'option -R permet la récursivité.
```bash
$ chflags -R nohidden ~/Desktop
```

View File

@@ -0,0 +1,30 @@
# Exécuter un shell script depuis le Finder
- Renommer le script avec l'extension .command:
```bash
$ cp mkdocs.sh mkdocs.command
```
- Le rendre exécutable
```bash
$ chmod +x mkdocs.command
```
- Le script doit commencer par `!/bin/bash`
Pour le lancer depuis LaunchBar: Info Fichier -> Ouvrir avec -> iTem
Connaître le répertoire courant:
```bash
DIRNAME=`dirname "$0"`
```

View File

@@ -0,0 +1,62 @@
# GetFileInfo - SetFile
### GetFileInfo
#### Attributs (-a):
Minuscule = 0, Majuscule = 1
A Alias file
B Bundle
C Custom icon*
D Desktop*
E Hidden extension*
I Inited*
M Shared (can run multiple times)
N No INIT resources
L Locked
S System (name locked)
T Stationery
V Invisible*
Z Busy*
Les items marqués avec un astérisque (*) sont autorisés avc les dossiers.
Après une clean install de Mojave, mon dossier utilisateur n'apparassait pas dans le Finder (/Users/).
```bash
silverbook:Users enzo$ GetFileInfo bruno/
directory: "/Users/bruno"
attributes: aVbstclinmedz
created: 08/03/2019 17:59:52
modified: 08/12/2019 23:03:17
```
Je crée un 2nd utilisateur qui lui apparait bien.
```bash
silverbook:Users enzo$ GetFileInfo enzo/
directory: "/Users/enzo"
attributes: avbstclinmedz
created: 08/12/2019 22:28:15
modified: 08/12/2019 23:06:58
```
Dans le 1er cas, l'attribut V (majuscule) est mis sur invisible.
Dans le 2nd cas, l'attribut v (minuscule) est correctement mis sur visible.
### SetFile
Pour remettre visible mon dossier utilisateur:
```bash
silverbook:Users bruno$ SetFile -a v bruno/
```

View File

@@ -0,0 +1,28 @@
# Calculer le checksum d'un fichier ou d'un dossier
Il faut installer **md5deep** (Recursively compute digests on files/directories) avec [homebrew](../homebrew/brew.md).
Le paquet contient hash deep, md5deep, sha1deep, sha256deep, tigerdeep, whirlpooldeep.
### Calcul du sha256 dun fichier
```bash
HackiMac:~ bruno$ sha256deep /Users/bruno/Library/ssdtPRGen/ACPI/APIC.aml
64e0949f7af61f2c23e74ecd6c9f59d25f4b9b904befd9252159f671f0ea2581 /Users/bruno/Library/ssdtPRGen/ACPI/APIC.aml
```
### Calcul du sha256 dun dossier
```bash
HackiMac:~ bruno$ sha256deep -r /Volumes/EFI/EFI/CLOVER/kexts/Other/realtekALC.kext
57b4630bf6365fd46d76e5d845b97cc8d1042e5fa48621086c3edcefb4d20517 /Volumes/EFI/EFI/CLOVER/kexts/Other/realtek
```

View File

@@ -0,0 +1,51 @@
# open
Montrer les fichiers dans le Finder:
```bash
$ open -R chrono.sh
```
Ouvrir un dossier dans le Finder:
```bash
$ open /etc
```
Ouvrir le dossier courrant dans le Finder:
```bash
~/Documents/Scripts/kymsu2 master*
$ open .
```
Ouvrir README.md avec TextEdit:
```bash
$ open -e README.md
$ open -e *.md
```
Spécifier l'application (Typora) pour ouvrir README.md:
```bash
$ open -a Typora README.md
```
```bash
```

View File

@@ -0,0 +1,16 @@
# shebang
Le shebang `#!/usr/bin/perl` indique à Bash (ou zsh...) que le script est en Perl et que l'exécutable se trouve à /usr/bin/perl
On pourrait avoir un autre shebang comme `#!/opt/perl-5.18.2/bin/perl` pour une autre version de Perl.
Avec un shebang et le bit exécutable, le script lancé par `./myscript.pl` ou `myscript.pl` est exécuté avec la
version de Perl indiquée dans le shebang.
Si il est lancé par `perl myscript.pl`, il est exécuté par la 1ere version de Perl trouvée dans $PATH (qui peut être différent de celle du shebang)
On peut aussi utiliser un shebang comme `#!/usr/bin/env perl`
Dans ce cas, Bash commence par exécuter la commande `env` avec l'argument env pour trouver la 1ere version de Perl dans le PATH. C'est cette version qui sera dans tous les cas (`./myscript.pl` ou `perl myscript.pl`) utilisée.

View File

@@ -0,0 +1,66 @@
# Terminal
##### Ouvrir une page man dans un fenêtre spécifique:
```bash
$ open x-man-page://ls
# fonction:
function xmanpage() { open x-man-page://$@ ; }
```
##### Ouvrir une page man dans Aperçu:
```bash
$ man -t ls | open -f -a "Preview"
# fonction:
function preman() { man -t "$@" | open -f -a "Preview" ;}
```
##### Obtenir le chemin de la fenêtre courante du Finder:
```bash
$ osascript -e 'tell app "Finder" to get posix path of ((target of window 1) as alias)'
/Users/bruno/.kymsu/plugins.d/
```
```bash
# fonction:
# prints the path of the front Finder window. Desktop if no window open
function pwdf () {
osascript <<EOS
tell application "Finder"
if (count of Finder windows) is 0 then
set dir to (desktop as alias)
else
set dir to ((target of Finder window 1) as alias)
end if
return POSIX path of dir
end tell
EOS
}
# changes directory to frontmost Finder window
alias cdf='pwdf; cd "$(pwdf)"'
```
#### Raccourcis:
Aller en début de ligne: `CTRL+A`
Aller en fin de ligne: `CTRL+E`
Déplacer le curseur: `OPTION+clic`
Supprimer du curseur jusqu'à la fin de ligne: `CTRL+K`
Coller les texte supprimer: `CTRL+Y`
Supprimer le mot précédent: `CTRL+W`
Rechercher dans l'historique: `CTRL+R`

View File

@@ -0,0 +1,54 @@
# You have mail.
```
Last login: Thu Oct 26 06:25:34 on ttys000
You have mail.
bruno@SilverBook:~$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/bruno": 1 message 1 new
\>N 1 MAILER-DAEMON@Silver Mon Oct 2 16:43 91/3372 "Undelivered Mail Returned to Sender"
? q
Held 1 message in /var/mail/bruno
You have mail in /var/mail/bruno
```
### Pour effacer les messages:
**Solution 1**
Taper d 1 (delete) pour supprimer le message
**Solution 2**
```bash
bruno@SilverBook:~$ cd /var/mail/
total 8
drwxrwxr-x 3 root mail 102 2 oct 16:43 .
drwxr-xr-x 26 root wheel 884 25 jul 15:54 ..
-rw------- 1 bruno mail 3382 27 oct 07:41 bruno
bruno@SilverBook:/var/mail$ cd bruno
-bash: cd: bruno: Not a directory
total 8
drwxrwxr-x 3 root mail 102 2 oct 16:43 .
drwxr-xr-x 26 root wheel 884 25 jul 15:54 ..
-rw------- 1 bruno mail 3382 27 oct 07:41 bruno
bruno@SilverBook:/var/mail$ > /var/mail/bruno
bruno@SilverBook:/var/mail$
```