134 liens privés
Newsbeuter, une application pour lire ses fluxs RSS dans son terminal. :-)
Byobu est un multiplexeur de terminal basé sur Tmux. Il faudrait que je regarde ça d'un peu plus près. :-)
Je suis arrivé jusque là : http://overthewire.org/wargames/bandit/bandit23.html
(Pour l'instant! :-P)
Et j'ai appris vraiment pas mal de choses jusqu'ici ! C'est bien foutu, c'est rarement très long à résoudre mais j'ai appris à utiliser certaines commandes que je n'utilise pas souvent et j'ai découvert des arguments utiles sur des commandes que je pensais connaitre !
Voir aussi : https://memo-linux.com/comment-voir-loccupation-des-dossiers-en-ligne-de-commande/
Super pratique! Merci pour les partages!
(via http://eric.bugnet.fr/shaarli/ et d'autres)
Un outil qui redémarre automatiquement un tunnel SSH en cas de timeout.
Un cheat-sheet qui compare tmux et screen.
Je n'avais jamais pensé à ça... Je recopie généralement les commandes que je récupères sur le web, plus pour m'en imprégner que par soucis de sécurité. Je ferai encore plus attention à l'avenir.
Un tutoriel sur l'utilisation du gestionnaire de terminaux screen.
J'ai utilisé pdftk pour fusionner deux pdf.
| ========
$ sudo aptitude install pdftk
Les NOUVEAUX paquets suivants vont être installés :
gcj-4.9-jre-lib{a} libgcj-common{a} libgcj15{a} pdftk
(...)
| ========
Pour fusionner :
| ========
$ pdftk premier.pdf deuxieme.pdf cat output ensemble.pdf
| ========
Efficace et simple ! :-)
Point de départ: Plein de captures d'écran de dimensions variables à intégrer dans un article de blog.
| ========
$ ls
blogotext_1.png blogotext_2-2.png blogotext_3.png blogotext_5-1.png blogotext_5-3.png blogotext_5-5.png blogotext_5.png
blogotext_2-1.png blogotext_2.png blogotext_4.png blogotext_5-2.png blogotext_5-4.png blogotext_5-6.png blogotext_6.png
| ========
On crée un dossier "mini" pour mettre les miniatures et éviter de mogrify ne réécrive sur les fichiers d'origines :
| ========
$ mkdir mini
| ========
Je veux dans ce cas-ci des images de 500px de large et je me fous de la hauteur pour autant que l'image garde le bon ratio. Je renomme dans la foulée toutes les images en ajoutant "_mini" à la fin avec la commande rename :
| ========
$ mogrify -resize 500x -path mini/ .png
$ rename 's/.png/_mini.png/' mini/.png
| ========
Résultat :
| ========
$ ls
blogotext_1.png blogotext_2-2.png blogotext_3.png blogotext_5-1.png blogotext_5-3.png blogotext_5-5.png blogotext_5.png mini
blogotext_2-1.png blogotext_2.png blogotext_4.png blogotext_5-2.png blogotext_5-4.png blogotext_5-6.png blogotext_6.png
$ ls mini/
blogotext_1_mini.png blogotext_2_mini.png blogotext_5-1_mini.png blogotext_5-4_mini.png blogotext_5_mini.png
blogotext_2-1_mini.png blogotext_3_mini.png blogotext_5-2_mini.png blogotext_5-5_mini.png blogotext_6_mini.png
blogotext_2-2_mini.png blogotext_4_mini.png blogotext_5-3_mini.png blogotext_5-6_mini.png
| ========
(Et pour les curieux, oui, je teste blogotext.)
J'ai un fichier CSV contenant deux colonnes, séparées par une virgule. Je veux supprimer tous les espaces et les tabulations sur ce fichier.
| ========
$ sed "s/[ \t]//g" fichier-original.csv >> fichier-sortie.csv
| ========
Quelques commandes pour voir le matériel qui est dans l'ordinateur. (Pratique quand on ne connaît pas la machine!)
Une autre liste de programmes et commandes : http://doc.ubuntu-fr.org/connaitre_son_materiel
Encore une autre vidéo d'hackademy. Cette fois, ça parle d'OpenSSH et il y a des choses que je n'utilisais pas.
Une fois la configuration d'un serveur faite dans dans "~/.ssh/config", on peut éditer directement un fichier avec vim (ou autre).
Je cite l'article sous la vidéo :
| ========
Éditer un fichier distant
$ vim scp://webserver/myfile
| ========
Installation de Zsh :
| ========
$ sudo aptitude install zsh
| ========
Vérifier la version :
| ========
$ zsh --version
zsh 5.0.7 (x86_64-pc-linux-gnu)
| ========
Mettre Zsh comme shell par défaut :
| ========
$ chsh -s /usr/bin/zsh
ou mieux :
$ chsh -s $(which zsh)
| ========
Télécharger et installer Oh-my-zsh :
| ========
$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
--2015-07-24 12:13:28-- https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh
Résolution de raw.github.com (raw.github.com)… 23.235.43.133
Connexion à raw.github.com (raw.github.com)|23.235.43.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 301 Moved Permanently
Emplacement : https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh [suivant]
--2015-07-24 12:13:29-- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 23.235.43.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|23.235.43.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 2033 (2,0K) [text/plain]
Sauvegarde en : « STDOUT »
- 100%[==================================================================>] 1,99K --.-KB/s ds 0s
2015-07-24 12:13:29 (67,7 MB/s) — envoi vers sortie standard [2033/2033]
Cloning Oh My Zsh...
Clonage dans '/home/simon/.oh-my-zsh'...
remote: Counting objects: 660, done.
remote: Compressing objects: 100% (531/531), done.
remote: Total 660 (delta 15), reused 508 (delta 4), pack-reused 0
Réception d'objets: 100% (660/660), 372.32 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (15/15), fait.
Vérification de la connectivité... fait.
Looking for an existing zsh config...
Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh
Using the Oh My Zsh template file and adding it to ~/.zshrc
Copying your current PATH and adding it to the end of ~/.zshrc for you.
_ / / ___ _ ____/ /_
/ \/ \ / ` \/ / / / / / / / \
/ // / / / / / / / / / / // / / /_( ) / / /
___// // // // //\, / /_/// //
// ....is now installed!
Please look over the ~/.zshrc file to select plugins, themes, and options.
p.s. Follow us at http://twitter.com/ohmyzsh.
p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.
| ========
Installation sur une Debian 8 :
Installer les setuptools de Python ( pour avoir easy_install )
| ========
$ sudo aptitude install python-setuptools
| ========
Installer pip :
| ========
$ sudo easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 7.1.0
Downloading https://pypi.python.org/packages/source/p/pip/pip-7.1.0.tar.gz#md5=d935ee9146074b1d3f26c5f0acfd120e
Processing pip-7.1.0.tar.gz
Writing /tmp/easy_install-NyGRPr/pip-7.1.0/setup.cfg
Running pip-7.1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-NyGRPr/pip-7.1.0/egg-dist-tmp-Hnm6hi
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'
Adding pip 7.1.0 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip2.7 script to /usr/local/bin
Installing pip2 script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/pip-7.1.0-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
| ========
Chercher avec pip :
| ========
$ pip search jrnl
klink - Klink is a simple and clean theme for creating Sphinx docs, inspired by jrnl
jrnl - A command line journal application that stores your journal in a plain text file
| ========
Installer jrnl avec pip :
| ========
$ sudo pip install jrnl
Collecting jrnl
Downloading jrnl-1.9.8.tar.gz
Collecting parsedatetime>=1.2 (from jrnl)
Downloading parsedatetime-1.5-py2-none-any.whl (50kB)
100% |████████████████████████████████| 53kB 1.1MB/s
Collecting pytz>=2013b (from jrnl)
Downloading pytz-2015.4-py2.py3-none-any.whl (475kB)
100% |████████████████████████████████| 475kB 771kB/s
Requirement already satisfied (use --upgrade to upgrade): six>=1.6.1 in /usr/lib/python2.7/dist-packages (from jrnl)
Collecting tzlocal>=1.1 (from jrnl)
Downloading tzlocal-1.2.tar.gz
Collecting keyring>=3.3 (from jrnl)
Downloading keyring-5.3.zip (87kB)
100% |████████████████████████████████| 90kB 1.0MB/s
Collecting python-dateutil==1.5 (from jrnl)
Downloading python-dateutil-1.5.tar.gz (233kB)
100% |████████████████████████████████| 237kB 1.3MB/s
Installing collected packages: parsedatetime, pytz, tzlocal, keyring, python-dateutil, jrnl
Running setup.py install for tzlocal
Running setup.py install for keyring
Running setup.py install for python-dateutil
Running setup.py install for jrnl
Successfully installed jrnl-1.9.8 keyring-5.3 parsedatetime-1.5 python-dateutil-1.5 pytz-2015.4 tzlocal-1.2
| ========
Plus qu'à apprendre les commandes par cœur ( voir "$ jrnl --help" ), trouver un moyen pour que toutes les commandes utilisant jrnl ne soit pas stockées dans l'historique et puis synchroniser ça entre les différentes machines.
[Edit 03/11/2015:
J'ai finalement commencé à utilisé "jrnl". Voici quelques commandes de base. Pour éditer les notes, il faut ajouter un éditeur dans ~/.jrnl_config :
| ========
$ cat .jrnl_config
{
"default_hour": 9,
"timeformat": "%Y-%m-%d %H:%M",
"linewrap": 79,
"encrypt": true,
"editor": "vim",
"default_minute": 0,
"highlight": true,
"journals": {
"default": "/home/simon/jrnl/journal.txt"
},
"tagsymbols": "@"
}
| ========
Initialisation du journal (chiffré) :
| ========
$ jrnl now: Titre. Contenu.
Path to your journal file (leave blank for ~/journal.txt):
~/jrnl/journal.txt
Enter password for journal (leave blank for no encryption):
Do you want to store the password in your keychain? [Y/n]
Journal will be encrypted.
[Entry added to default journal]
| ========
Écrire du contenu pour aujourd'hui (à 9am par défaut):
$ jrnl today: Titre. Contenu.
Écrire du contenu pour aujourd'hui à 8pm:
$ jrnl today at 8pm: Titre. Contenu.
Écrire du contenu pour "maintenant" :
$ jrnl now: Titre. Contenu.
OU, simplement :
$ jrnl Titre. Contenu.
Voir le(s) journal(aux):
$ jrnl -ls
Voir le dernier ajout dans le journal :
$ jrnl -n 1
Éditer le dernier ajout dans le journal :
$ jrnl -n 1 --edit
Éditer toutes les notes de 2015 :
$ jrnl -until 2015 --edit
Pour supprimer une note, il faut simplement l'éditer et tout effacer.
Pour ajouter un tag, il suffit de mettre un arobase devant :
$ jrnl Test des @tags.
[Entry added to default journal]
Afficher les notes correspondantes au tag "@tags" :
$ jrnl @tags
2015-11-04 11:19 Test des @tags.
Supprimer toutes les notes contenant le tag "@tags" :
$ jrnl @tags --edit
(et tout effacer avant d'enregistrer.)
[Edit 03/11/2015:
Pour empêcher l'historisation des commandes "jrnl", dans Zsh, on rajoute deux lignes dans le fichier "~/.zshrc" :
| ========
HIST_IGNORE_SPACE="true"
alias jrnl=' jrnl'
| ========
Dans Bash, il faut modifier "~/.bashrc" :
| ========
export HISTCONTROL=ignorespace
alias jrnl=' jrnl'
| ========
Comment utiliser chroot pour une application graphique. Merci Kevin pour le lien.
A comprendre absolument. J'ai seulement l'impression que je vais devoir recommencer toute l'installation de mes serveurs après avoir bien compris ça...
[Edit: Résumé pour créer un chroot et s'y "connecter" :
| ========
$ sudo debootstrap --include=locales-all jessie nom_du_chroot http://ftp.be.debian.org/debian
$ sudo chroot nom_du_chroot
$ sudo chroot nom_du_chroot /bin/bash
| ========
Une liste d'outil pour la ligne de commande. Il y a plein de trucs à prendre là-dedans, à lire attentivement !
Petit tutoriel sur la commande lsof qui permet de lister les ports ouverts et les processus les utilisant.