Je sais que certaines personnes ont des scripts de démarrage et certaines personnes personnalisent l'invite. Un développeur utilise des alias courts pour le long chemin qu'il visite souvent et les commandes fréquentes qu'il exécute.
Quelles sont toutes les personnalisations effectives que vous avez effectuées sur votre profil UNIX pour augmenter la productivité et la facilité d'utilisation?
Réponses:
.vimrc
enregistrez le fichier avec les autorisations root en tapantw!!
:.bashrc
Ne vous embêtez pas avec les périphériques ou les fichiers binaires lorsque vousgrep
ing:Partagez du code sur le Web (comme pastebin, mais plus simple) en
cat 1337.sh | webshare
Il renvoie une courte URL dans votre presse-papiers; vous pouvez ajouter
?whatever-lang
à l'URL renvoyée pour que sa syntaxe soit mise en surbrillance et les lignes numérotées..inputrc
Utilisez le mode vi dans tout ce qui utilise la bibliothèque readline (de nombreux programmes):la source
créer un répertoire et un cd en une seule commande
La plupart du temps
mkdir
, ma prochaine commande estcd <that dir>
.Cela vous évite de taper:
par exemple:
Une autre chose que je trouve utile est un moyen facile de créer un répertoire jetable. par exemple si je compile un programme ou même si j'essaye de reproduire un problème sur ce site. Parfois, je pourrais oublier de nettoyer le répertoire.
montrant qu'il fonctionne:
Je compte sur le nettoyage du système
/tmp
après un redémarrage, mais il serait possible d'améliorer cela, par exemple en lui faisant supprimer le répertoire temp après avoir quitté le shell.la source
mcd
depuis de nombreuses années et je vais ajouter quelque chose commemtd
bientôt.mtd() { mcd $TMP/`date +%y%m%d-%H%M%S-%N`; }
. Il manque probablement une portabilité, mais c'est assez bon pour moi.J'aime que mon invite bash affiche le code de sortie de la commande précédente s'il était différent de zéro. J'aime aussi ma coquille pour me remonter le moral quand je l'utilise, j'ai donc ajouté un peu de bêtise:
donc quand j'exécute des commandes, j'obtiens de bons retours visuels:
edit : c'est quelque chose que je mets dans mon ~ / .bashrc
la source
.bashrc
vraisemblablement.en haut N
sauter N répertoires dans l'arborescence des répertoires
Au lieu de taper
vous tapez simplement
et un
vous ramènera
Mettez la fonction dans votre .bashrc pour l'utiliser.
la source
.zshrc
:.xmodmaprc
:(Échange les touches d'échappement et de verrouillage des majuscules).
la source
Je me trompe avec mon bashrc car j'utilise beaucoup le terminal (cela me fait apprendre rapidement et apprendre des trucs intéressants à utiliser ainsi que des outils intéressants). Je définis généralement un grand nombre de fonctions dans mon bashrc. Exemples:
Extraire les archives:
renommer des fichiers et des dossiers:
et comme ceci pour diviser de gros fichiers en plusieurs petits:
J'ai également édité beaucoup d'alias car je trouve qu'il est beaucoup plus facile d'utiliser une commande avec des arguments par défaut dans certains cas (comme dans ls, grep et petites commandes) puis de taper tout cela à chaque fois.
la source
(Wiki communautaire, chaque astuce appartient donc à une réponse distincte.)
déconnexion en toute sécurité
Ctrl+ Dest le moyen le plus simple de quitter le shell, mais si vous avez encore des travaux en cours, il quittera volontiers le shell de toute façon. Par défaut, cela signifie que tous les programmes que vous exécutiez depuis l'intérieur de ce shell seront tués.
Certains shells ne vous permettront de vous déconnecter qu'après avoir appuyé deux fois sur Ctrl+ D, mais il est toujours trop facile de le faire accidentellement.
Donc à la place, ajoutez ceci à
.bashrc
ou.zshrc
ou selon le fichier de configuration que vous préférez.la source
(Wiki communautaire, chaque astuce appartient donc à une réponse distincte.)
recherchez dans votre historique toutes les façons dont vous avez exécuté une commande
Vous connaissez peut-être déjà Ctrl+ R, mais cette méthode est beaucoup plus fluide à mon humble avis.
Configurez Alt+ Ppour rechercher dans l'historique des commandes commençant par ce que vous avez déjà tapé.
par exemple
ls
Alt+ P, Alt+ P, Alt+ P effectuera une recherche en arrière dans toutes vosls
commandes.Vous devez mettre cela dans votre
/etc/inputrc
ou.inputrc
pourbash
:et ceci dans votre
.zshrc
pourzsh
:Vous pouvez même aller plus loin et faire faire la flèche Haut.
la source
calculatrice simple
Vous pouvez utiliser
$(( ... ))
ouexpr ...
pour faire des calculs très basiques, mais il fait une division entière, par exempleUne meilleure façon est d'utiliser
bc
.puis:
la source
alias py='PYTHONSTARTUP=~/.pythonstartup python'
avecfrom math import *;
dans ce fichier. Le problème de la division entière reste non résolu, mais il est beaucoup plus utilisable pour des opérations plus complexes.meilleure complétion des onglets
Je ne pense pas que quiconque ait mentionné la personnalisation de l' Tabachèvement pour le moment.
Voici ce que j'ai.
Les deux choses principales qu'il fait sont:
par exemple
cd <Tab>
, ne suggérera que des répertoirespar exemple,
d<Tab>
sera toujours terminéDesktop
etDownloads
Pour bash:
Pour zsh:
la source
Compression sûre
Les programmes de compression suppriment le fichier d'origine par défaut. Je n'aime pas ça.
Invite multiligne
Vous pouvez afficher des "balises" avec des variables d'environnement. Exemple:
Le code est basé au moins partiellement sur cela .
Paramètres d'historique
la source
la source
Si vous pouvez ACTIVER LA CORRECTION D'orthographe AUTOCOMPLETE ET NOM DE FICHIER! Ce sont probablement les deux choses qui vous feront gagner le plus de temps. Ensuite, apprenez à les utiliser - Bash et Zsh sont complétés par tabulation. Ksh a une barre oblique inverse inefficace, donc je recommanderais contre Ksh.
J'utilise Zsh, mais des alias comme celui-ci fonctionneraient dans presque tous les shell sauf Csh:
Il semble qu'un alias pour «ps» devrait être là, mais je me retrouve à utiliser «ps» de nombreuses façons, et je n'ai rien trouvé jusqu'à présent.
Dans Zsh, configurez votre variable RPROMPT (pas une faute de frappe!):
Le répertoire entier apparaît à droite côté de la ligne de commande, prêt à couper-coller. Plus sur cela plus tard.
Vous devez utiliser un Vim moderne correctement compilé, en raison de la possibilité d'avoir plusieurs fenêtres vim dans un fichier et plusieurs tampons. Votre .vimrc pourrait contenir des éléments comme celui-ci:
Beaucoup de ceux-ci sont des préférences personnelles, mais je pense que les onglets à 8 espaces rendent le code moins lisible, et il existe une étude qui le prouve.
De plus, le "mouse = c" est important. Vous ne devez pas utiliser votre souris pour vous déplacer dans un fichier. Retirer vos mains du clavier, toucher la souris et les faire reculer est lent. Utilisez le mouvement du curseur "hjkl" et d'autres touches de pagination du clavier et de déplacement du curseur.
Si vous utilisez X11, vous devez apporter quelques modifications à votre configuration Xterm. Cela sort de mon fichier .Xresources:
Donnez à Xterm une barre de défilement par défaut, enregistrez 1000 lignes de texte dans le tampon, c'est assez standard.
La directive charClass fait qu'un "mot" inclut des choses comme '.', '/' Et '*'. Double-cliquez sur n'importe quelle partie d'un nom de fichier séparé par '/', et vous obtenez le tout, moins les caractères ':'.
cutToBeginningOfLine fonctionne avec le Zsh RPROMPT ci-dessus. Triple clic sur le chemin du répertoire de travail courant qui apparaît sur le RHS de votre ligne de commande, et vous ne prenez que le chemin: la copie s'arrête au début du mot. Très efficace une fois que vous y êtes habitué.
Les ressources X ci-dessus en font également une clé de collage. De cette façon, une fois que vous avez copié (probablement à l'aide de la souris), vous pouvez coller sans déplacer votre main vers la souris pour cliquer.
la source
Esc``Esc
ouEsc``=
dansksh
etTab
fonctionne dansksh93
. Juste au cas où quelqu'un serait bloqué ou le préférerait.Ajouter la valeur de retour non nulle de la dernière commande est une excellente idée. Je pense que l'affiche originale posait spécifiquement des questions sur .profile / .cshrc / .bashrc. Il vaut la peine de mentionner la liste des autres fichiers RC couramment personnalisés, mais je m'en tiendrai aux seules personnalisations du shell pour cette question.
J'ai également récemment ajouté un indicateur dans mon invite qui s'affiche lorsque le shell s'exécute sous l'écran. Il utilise la commande solaris "ptree" pour rechercher les processus ancêtres, mais vous pouvez utiliser la commande "pstree" sur Linux pour faire la même chose.
Il m'a fallu quelques minutes pour comprendre comment incorporer le code retour de la dernière commande, donc je le posterai ici.
Je suis sûr que cela pourrait être rendu plus beau. :-)
Astuce future, faites attention à lire $? après avoir utilisé "if [". Si le crochet gauche est intégré, il ne remplacera pas la valeur de $ ?. Mais si vous utilisez un shell où [n'est pas intégré, il réinitialisera la valeur de $? après les tests. Il est plus sûr d'attribuer $? dans une variable temporaire tout de suite, puis testez cette variable.
la source
afficher le fichier modifié le plus récemment
Souvent, je veux regarder le fichier le plus récent. par exemple, je suis peut-être dans le répertoire logs et je veux voir quel fichier est le plus récent car c'est le premier endroit où chercher pour voir pourquoi quelque chose ne fonctionne pas.
ls -lt | head
est un mais lourd à taper, voici donc une alternative:Il prend également un caractère générique ou une liste de fichiers, par exemple
ce qui est particulièrement pratique si tous vos fichiers journaux ont un horodatage à leur nom. Vous pouvez trouver le dernier journal de ce programme, sans vous soucier du format de l'horodatage.
Et voici une version étendue qui prend en charge une
-<number>
option pour imprimer des<number>
lignes au lieu d'une.la source