Update 23-01-2020
This commit is contained in:
58
docs/macos/terminal/chflags.md
Normal file
58
docs/macos/terminal/chflags.md
Normal 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
|
||||
```
|
||||
|
||||
30
docs/macos/terminal/executer_shell_script.md
Normal file
30
docs/macos/terminal/executer_shell_script.md
Normal 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"`
|
||||
```
|
||||
|
||||
62
docs/macos/terminal/getfileinfo_setfile.md
Normal file
62
docs/macos/terminal/getfileinfo_setfile.md
Normal 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/
|
||||
```
|
||||
|
||||
28
docs/macos/terminal/md5.md
Normal file
28
docs/macos/terminal/md5.md
Normal 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 d’un fichier
|
||||
|
||||
```bash
|
||||
HackiMac:~ bruno$ sha256deep /Users/bruno/Library/ssdtPRGen/ACPI/APIC.aml
|
||||
|
||||
64e0949f7af61f2c23e74ecd6c9f59d25f4b9b904befd9252159f671f0ea2581 /Users/bruno/Library/ssdtPRGen/ACPI/APIC.aml
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Calcul du sha256 d’un dossier
|
||||
|
||||
```bash
|
||||
HackiMac:~ bruno$ sha256deep -r /Volumes/EFI/EFI/CLOVER/kexts/Other/realtekALC.kext
|
||||
|
||||
57b4630bf6365fd46d76e5d845b97cc8d1042e5fa48621086c3edcefb4d20517 /Volumes/EFI/EFI/CLOVER/kexts/Other/realtek
|
||||
```
|
||||
|
||||
51
docs/macos/terminal/open.md
Normal file
51
docs/macos/terminal/open.md
Normal 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
|
||||
|
||||
```
|
||||
|
||||
16
docs/macos/terminal/shebang.md
Normal file
16
docs/macos/terminal/shebang.md
Normal 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.
|
||||
66
docs/macos/terminal/terminal.md
Normal file
66
docs/macos/terminal/terminal.md
Normal 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`
|
||||
54
docs/macos/terminal/youhavemail.md
Normal file
54
docs/macos/terminal/youhavemail.md
Normal 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$
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user