Suivant dans l'esprit de Caractéristiques cachées de PowerShell et diverses autres sur le débordement de pile, quelles commandes ou combinaisons de commandes Linux trouvez-vous essentielles dans votre travail?
Regarde aussi:
[.____] Caractéristiques cachées de MySQL
[.____] Caractéristiques cachées de PowerShell
[.____] Caractéristiques cachées de la base de données Oracle
[.____] Caractéristiques cachées de Windows 2008
[.____] Caractéristiques cachées de Solaris/Opensolaris
[.____] Caractéristiques cachées de SQL Server
Caractéristiques cachées de IIS (6.0/7.0)
Pour obtenir la balle, je trouve écran être essentiel:
Lorsque l'écran est appelé, il crée une seule fenêtre avec une coquille dans celle-ci (ou la commande spécifiée), puis vous sort de votre chemin afin que vous puissiez utiliser le programme comme vous le feriez normalement. Ensuite, à tout moment, vous pouvez créer de nouvelles fenêtres (plein écran) avec d'autres programmes (y compris plus de coquillages), tuez la fenêtre actuelle, afficher une liste des fenêtres actives, tournez la sortie de sortie sur et éteindre, copier le texte entre Windows, afficher l'historique de défilement, le basculement entre Windows, etc. Toutes les fenêtres exécutent leurs programmes complètement indépendants. Les programmes continuent de fonctionner lorsque leur fenêtre n'est actuellement pas visible et même lorsque toute la session d'écran est détachée du terminal des utilisateurs.
Peut-être que je ne les utilise pas tous les jours, mais je les utilise fréquemment:
J'ai été surpris de constater que vous pouvez exécuter des applications de GUI distantes sur SSH, à l'aide du paramètre "-X". Par exemple:
# on my machine
$ ssh -X linuxserver
# on remote machine
$ gedit /etc/my.cnf &
La fenêtre Gedit apparaît sur ma machine locale, modifiant le fichier "my.cnf" sur le serveur.
Je suppose que cela ne fonctionne que si votre ordinateur client a un environnement X - en d'autres termes, pas sous Windows. Mais cela fonctionne bien sur mon Mac!
lSOF est souvent ignoré, c'est un outil très utile. LSOF vous permet d'afficher une liste de chaque fichier ouvert sur le système, qui/ce qui l'utilise, etc.
Par exemple:
root@tower:~ # umount /mnt/hardy
umount: /mnt/hardy: device is busy
umount: /mnt/hardy: device is busy
root@tower:~ # lsof | grep /mnt/hardy
bash 5966 root cwd DIR 253,2 1024 2 /mnt/hardy
root@tower:~ #
Maintenant, je vois que je suis connecté à une coquille dans un autre terminal et/mnt/hardy est mon répertoire de travail actuel. Je peux donc tuer cette coquille ou aller à l'autre terminal et sortir de ce répertoire afin que cela puisse être démonté.
C'est vraiment un exemple trivial, c'est très pratique pour nettoyer l'infestation occasionnelle de "bot". Les options sont étendues, voir l'homme lsof pour plus.
Pour passer au dernier répertoire, vous étiez dans:
cd -
La pile de réseau peut être laissée à pied après une halte du système. Je ne sais pas si cela est actuel avec la série 2.6.x de noyaux, mais sur les versions plus anciennes, vous pouvez configurer le pare-feu/routage, puis arrêter le système sans arrêt, laissant simplement le réseau. Stack en cours d'exécution. Cela vous permettrait de faire un pare-feu bon marché (bien que statique) qui "ne puisse pas être piraté" - car il n'y a rien à hack, car il n'y a pas de programmes ni de services, juste la partie de la pile de réseau de la Le noyau passant des paquets d'avant en arrière ...
Je trouve "ngrep" vraiment utile pour déboguer le code de réseau sur des serveurs distants sans avoir aux fichiers TCPDump de Punt:
ngrep -d any -W byline port 80
par exemple, vous montrera des demandes et des réponses HTTP en direct.
Une autre chose que j'ai trouvée utile fréquemment est le commutateur "-E" à la rythme:
strace -p <pid> -e trace=open
montrera toutes les syscalls ouverts () pour un PID donné, et
strace -p <pid> -e trace=\!rt_sigprocmask
exclure tous les appels vers RT_SIGPROCMASK () à partir de la sortie (utile pour débogage du code ROR, qui semble faire de nombreux appels lorsqu'il est construit pour utiliser Pthreads).
apropos
Description Chaque page manuelle a une brève description disponible en informatique. Apropos cherche les descriptions des instances de mots-clés.
gyaresu@debian:~/bin$ apropos ettercap
etter.conf (5) - Ettercap configuration file
ettercap (8) - (unknown subject)
ettercap_curses (8) - (unknown subject)
ettercap_plugins (8) - (unknown subject)
Heureusement, j'ai eu seulement besoin de plusieurs fois, mais la touche clé Magic SysRQ reste encore une de mes fonctionnalités cachées préférées de tous les temps.
ALT + SYSRQ + RSEIUB
NAME
units -- conversion program
DESCRIPTION
The units program converts quantities expressed in various scales to their
equivalents in other scales. The units program can only handle multiplicative
scale changes. It cannot convert Celsius to Fahrenheit, for example.
It works interactively by prompting the user for input:
You have: meters
You want: feet
* 3.2808399
/ 0.3048
You have: cm^3
You want: gallons
* 0.00026417205
/ 3785.4118
You have: meters/s
You want: furlongs/fortnight
* 6012.8848
/ 0.00016630952
You have: 1|2 inch
You want: cm
* 1.27
/ 0.78740157
Ce n'est pas vraiment caché, mais peut être ainsi pour ceux qui n'ont aucune expérience, mais j'aime vraiment pouvoir donner des listes et laisser Bash les développer comme dans:
cp arq{,.bak}
qui est la même chose que la dactylographie
cp arq arq.bak
J'utilise également les raccourcis d'histoire (je ne pense pas que ce soit le bon terme, mais ...) comme
!!
répéter la dernière commande, ou
^foo^bar
pour remplacer FOO par bar dans la dernière commande
sSH-Copy-ID pour transférer des clés SSH. L'ancienne façon était de chat la clé de Ssh et même plus âgée était de scper la clé, puis de chat la clé. Si vous utilisez un port SSH non standard, cela fera le tour pour vous ..
ssh-copy-id -i/chemin/à/key '-p nontandardport nom d'hôte'
Autrement..
ssh-copy-id -i/chemin/à/key nom d'hôte
Consoles virtuelles. La plupart des gens savent utiliser (Ctrl-) Alt-F1 pour se rendre à la première console, etc., mais si vous avez plus de 12 ans? Vous pouvez utiliser Alt-Gauche et Alt-Droite pour parcourir le reste d'entre eux. :-RÉ
J'aime le paquet de Debian-goodies:
Description: Petites utilitaires de style de boîte à outils pour les systèmes Debian [.____] Ces programmes sont conçus pour s'intégrer aux outils Standard Shell, [.____] les prolongeant à fonctionner sur le système d'emballage debian. . .] DGEP - Recherchez tous les fichiers dans des packages spécifiés pour une regex [.____] Dglob - générer une liste de noms de packages correspondant à un modèle Celles-ci sont également incluses, car elles sont également utiles et ne justifie pas leurs propres paquets: . Débittage - Fetch A .deb pour un package dans la base de données d'APT DPIGS - Afficher lesquels les packages installés occupent la la plupart des espaces Debman - affiche facilement les pages de l'homme d'un fichier binaire .deb sans extraire Debmany - Sélectionnez des morceaux de packages installés ou désinstallés CheckRestart - Aide à rechercher et à redémarrer les processus qui utilisent Old Versions de fichiers mis à niveau (tels que les bibliothèques) POPBUGS - Affichez un bogue à la libération personnalisée liste basée sur Forfaits que vous utilisez (en utilisant les données de la popularité-concours)
et aussi des autres, qui est essentiellement des outils de tuyaux géniaux sur roues:
[.____ Loin, il comprend les utilitaires suivants: [.____] - Sponge: tremper une entrée standard et écrire dans un fichier [.____] - ifdata: Obtenez des informations d'interface réseau sans analyse de sortie IFCONFIG [.____] Un programme si l'entrée standard n'est pas vide - Vidir: Modifiez un répertoire dans votre éditeur de texte [.____] - Vipe: Insérez un éditeur de texte dans une tuyau [.____] - TS: Standard Standard [.____] - Combinez: Combinez les lignes dans deux fichiers à l'aide d'opérations booléennes - PEE: PEE: TEE Standard Entrée aux tuyaux [.____] - Zrun: Décompressez automatiquement des arguments à commandement [.____] : Tuyau de deux commandes, renvoyant le statut de sortie du premier - ISUTF8: Vérifiez si un fichier ou une entrée standard est UTF-8 [.____] - LCKDO: exécuter un programme avec une serrure tenue Page d'accueil: http://kitenet.net/~joey/code/moreut ILS /
Peut-être l'une des grandes caractéristiques de Linux, par opposition à Windows, est qu'il n'ya plus qu'aucune caractéristique cachée par design. J'espère que si des fonctionnalités sans papiers sont suffisamment importantes pour savoir que la communauté fait son travail.
Une excellente "caractéristique" que j'utilise tous les jours au travail: la possibilité d'avoir SSH Écouter sur le port 443 afin que je puisse créer un tunnel qui contourne mon pare-feu de travail, me permettant de gérer une chaussette locale de la proxy tunnelée de Ssh à mon serveur Linux sur Internet .
Je peux complètement ignorer mon pare-feu d'entreprise.
J'ai toujours aimé "Man Hier" d'aider les personnes nouvelles au système.
Voici quelques-uns j'ai utilisé régulièrement:
sar
- Affiche l'activité du systèmevmstat
- Statistiques de mémoire virtuelleiostat
- statistiques IOpkill
- comme pgrep
mais vous permet de tuer l'ID de processus retournéxargs -I<string>
- Permet de remplacer des chaînes avec des données de canalisationat
- Planifiez une tâchetkdiff
- graphique diff
utilitaireCe ne sont probablement pas "cachés", mais je les trouve extrêmement utiles:
df -hk
- Afficher l'utilisation du disque en format lisible humainls -ltr
- Liste des fichiers triés par datewhile :; do...done
- (bash) remplacement pour watch
si indisponiblePerl -e
- Exécutez un Perl
extrait de commande sur la ligne de commandefree -kt
- Afficher les informations de mémoire (kilo-octets avec Total)ESC + .
'Pâtes' le dernier paramètre de la ligne précédente dans l'invite actuelle
par exemple.
ls -l /home/someuser/somedir/somefile
suivie par
rm
ESC + .
se traduit par
rm /home/someuser/somedir/somefile
Le concept est que tout sous Linux est un fichier.
Toutes les configurations sont dans des fichiers texte et tout sous Linux est traité comme un fichier. C'est une approche beaucoup plus simple qui facilite la modification de choses de Linux. Dans Linux, votre système de fichiers peut-il être considéré comme un fichier.
Je vois la commande yes
très gentil:
yes | do_you_agree
De la page de Man:
NAME
yes - output a string repeatedly until killed
SYNOPSIS
yes [STRING]...
yes OPTION
C'est une source ouverte. Rien n'est "caché" si vous vous souciez de regarder.
La fonction cachée est qu'il n'ya pas de fonctionnalités cachées. Le système fournit une énorme quantité de puissance que vous avez un accès complet à. Vous devez comprendre chaque pièce et chaque outil disponible pour savoir quel pouvoir se trouve à portée de main.
Vous devriez commencer par comprendre toutes les commandes dans/bac,/sbin,/usr/bac,/usr/sbin et chaque fichier virtuel dans/proc. Lisez les Mangages, autres documents et source si nécessaire.
Si vous n'êtes pas à l'aise de lire une page d'homme ou de lire la source, c'est votre fonctionnalité cachée.
grep, awk et sed
haut
Je viens de trouver celui-ci aujourd'hui:
dmidecode :
[.____] rapporte des informations sur le matériel de votre système comme décrit dans votre BIOS système conformément à la norme SMBIOS/DMI. Ces informations comprennent généralement le fabricant du système, le nom du modèle, le numéro de série, la version du BIOS, une étiquette d'actifs ainsi que de nombreux autres détails du niveau d'intérêt et de la fiabilité variables en fonction du fabricant. Cela inclura souvent le statut d'utilisation des prises de processeur, des machines à sous Expansion (par exemple AGP, PCI, ISA) et des créneaux de module de mémoire, ainsi que la liste des ports d'E/S (par exemple série, parallèle, USB).
Cela rend définitivement répondre aux questions sur Somerandomserver27 à la facilité Colo beaucoup plus facile!
Pas vraiment une chose Linux, plus d'une chose de bash: substitution de processus,
diff some_local_file <(ssh somehost "cat some_remote_file")
Cela diffèrent un fichier local et distant récupéré via SSH en une seule ligne.
od
- Dump Fichiers en formats octels et autres. Utile de vérifier par exemple s'il y a une merde de notes au début du fichierfile
- Qu'est-ce qui pourrait être le fichier filet du fichier donné?lshw
, lsusb
, lspci
- matériel de listetracepath
- utilisons-nous un problème de MTU ici?netwox
contient plus de 200 outils liés au réseaip
- pour configuration réseau/infosysctl
- Informations sur le système de fichiers/réseau/noyauebtables
- iptables pour le pontvconfig
- VLAN Configurationbrctl
- Configuration du pontsocat
- netcat
sur les stéroïdesipgrab
- tcpdump
- comme utilitaire qui imprime des informations détaillées sur l'en-têteDig
- Quoi de neuf avec le serveur DNS maintenant?tee
est génial. Sortie à l'écran et logfile? Vérifier.
history
- montre les dernières commandes utilisées
[.____] !<number>
- Exécute la commande avec ce numéro dans Historique
trouvez <bla> -exec <bla> {} \;
par exemple.:
trouve . -Name * 20080 [123456] .Log -A! -Name * .bz2 -exec bzip2\\\\\\ ;;
historique de Bash - J'ai normalement 10 ou plus de XTERMS. Voici la partie relavente de mon profil:
# Make history ignore dups, ls, and exit
export HISTIGNORE="&:ls:[bf]g:exit"
# Save 100000 history comamnds
export HISTSIZE=10000
# Make each terminal use a separate history file
HISTDIR=${HOME}/.history
SHELLID=$(tty | sed 's!/!.!g')
HISTFILE=${HISTDIR}/history${SHELLID}
touch ${HISTFILE}
# load last histfile as current history
history -r $(/bin/ls ${HISTDIR}/history${SHELLID} | /usr/bin/tail -n 1)
Si j'ai besoin de rechercher une commande, je ne peux que Grep via mon répertoire d'histoire.
aespeespipe - se lit à partir d'une entrée standard et écrit à la sortie standard. Il peut être utilisé pour créer et restaurer des archives de goudron cryptées ou de CPIO.
Habituellement, les gens gèrent leur système de bureau avec X. Mais vous pouvez généralement accéder à une telle borne en mode texte, plusieurs d'entre eux réellement. Celles-ci sont appelées consoles virtuelles. Vous pouvez ensuite vous connecter normalement et utiliser la ligne de commande, etc.
Juste frappé Ctrl + Alt + F1, Ctrl + Alt + F2, etc. Votre serveur X fonctionne généralement à Ctrl + Alt + F7.
Ceci est bien sûr dépendant de la distribution et de la configuration.
Cette commande pour tuer le serveur X est également utile: Ctrl + Alt + Backspace.
Ces combinaisons de clés fonctionnent au moins sur I86 PC.
Un poste que j'ai fait sur le débordement de pile: Comment répertorier uniquement les sous-répertoires de l'actuel ?
ls -d */
C'est un tour simple, mais vous ne sauriez pas combien de temps je devais en trouver celui-là!
Je ne sais pas si je viens d'afficher mon ignorance, mais je viens de découvrir la "dernière" commande pour le chèque qui s'est connecté. C'est très utile.
Un autre bon programme est "attendre". Je rend extrêmement facile d'automatiser toutes les connexions SSH/Telnet ou tout ce qui vous oblige à apporter une contribution à un programme.
Capacités de POSIX et fonctionnalités de fichier POSIX
Caractéristique "cachée" Comme le plus souvent négligé ou manqué par les utilisateurs nouveaux à Linux (/ UNIX).
man man
man -k <blah>
ou apropos <blah>
Caractéristiques "cachées"
Le pouvoir et la flexibilité de SSH ne cessent jamais de m'étonner. Aussi la capacité de faire une matrice raid à partir de n'importe quoi (des disquettes, n'importe qui?), Tous les systèmes de fichiers disponibles, des trucs cool comme LVM, des outils de crypto, la possibilité d'établir vos propres outils avec la myriade de compilateurs, d'interprètes, de langages .. . Oh, et sans oublier de nouvelles choses installées avec apt-get ou similaire.
C'est tellement brillant que les fenêtres.
fgrep
par exemple. fgrep -r * --include = *. RB
marche la structure directrice du répertoire actuel à la recherche de Ruby Fichiers source
et est beaucoup plus facile à utiliser que de trouver
Je trouve l'endroit où et qui commande pratique. Utilisez-les lorsque vous avez des versions alternatives de la même application avec le même nom et souhaitez utiliser un spécifique d'entre eux.
NX combine certains des avantages de l'écran et de SSHX avec compression intelligente. Maintenant, je peux exécuter gnumérique à distance sur une connexion de modem et le reprendre lorsque la connexion meurt.
Mes 5 premières caractéristiques "cachées" (j'espère qu'elles ne sont pas déjà ici)
cd -
Essaye le :)sort
, puis à uniq -c
Et puis à sort -n
peut vraiment faire des merveilles. Vous pouvez utiliser cela pour obtenir vos meilleurs Tankers sur un fichier journal Apache ou des porcs de mémoire de ps -o
.proc/sys
interface/système de fichiers. Il y a tellement de choses là que vous pouvez ajuster/voir en temps réel. Envelopper un cat
ou grep
de déclaration en watch -d -n 0.1
est génial et très pratique.Les notables sont dd
, netcat
, screen
, tcpdump
et find
mais la plupart ont déjà été mentionnés.
lsof -i - list all opened socket
htop - like top, but with more eye candy
rdiff-backup - for incremental backup
mc - midnight commander
ethstatus - ethernet statistics
netstat, nmap
iftop - display bandwidth usage on an interface by Host
dd
- convertir et copier des fichiers
J'utilise cela très fréquemment pour faire des copies de DVD ou des patientes HDD que j'ai besoin de sauvegarder.
dd if=/dev/sda2 of=/tmp/copy_of_sda2
c'est très pratique et configurable, il suffit de regarder la page de l'homme
scp
Je suis un développement Web et notre configuration de développement m'exprime pour pousser des fichiers sur notre serveur DEV tout le temps. J'ai écrit une enveloppe rapide autour de SCP pour me gérer pour moi.
Je ne peux tout simplement pas faire sans ces commandes
ctrl + R: recherche historique de la dernière commande avec les lettres que vous spécifiez.
Voyons ...
J'utilise des codes de couleur bash dans mon /root/.bash_profile pour faire une couleur de bash racine une couleur différente de mon invite d'utilisateur standard non root. Un seul rappel de plus que je suis une seule commande de la destruction d'un système entier. ;)
J'utilise beaucoup NC (Netcat) pour tester les choses. Bonne utilité avec beaucoup de polyvalence.
Pour le plus longtemps, je ne savais jamais que Chown pourrait accepter à la fois le nom d'utilisateur et le nom de groupe ensemble comme un argument, c'est-à-dire: chown user:group -R /some/directory
. Ce fait m'a sauvé beaucoup de dactylographie (plus de chown/chgrp paires).
La commande DF est un raccourci rapide pour voir tous vos systèmes de fichiers montés.
J'utilise beaucoup de pgrep dans les scripts pour voir si un processus est en cours d'exécution.
kexec est assez soignée, vous permet de redémarrer sans passer au BIOS, ce qui raccourcit les temps de redémarrage de manière significative. Ne redémarrez pas vraiment beaucoup, bien que ...
Pour moi, la plus grande caractéristique est que rien n'est vraiment "caché" - c'est tout là juste sous vos yeux si vous vous souciez de lire la documentation ou le code.
find
est mon plus grand outil. Je l'utilise pour localiser les choses et exécuter des commandes sur les fichiers ou les répertoires trouvés.
Aucun système n'est complet sans ssh
aussi.
Jamais utilisé script (1) Pour enregistrer une session de terminal?
[.____] APG (1) pour faire des mots de passe aléatoires
[.____] Savez-vous combien de processeurs/noyaux vous avez? NPROC (1)
[.____] SFDISK (8) Un outil de partition génial
[.____] Multitail (1) queue multiple à la fois ... excellent outil