web-dev-qa-db-fra.com

Caractéristiques cachées de Linux

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)

64
Chris Bunch

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.

52
Chris Bunch

Peut-être que je ne les utilise pas tous les jours, mais je les utilise fréquemment:

  • Strace Vérifiez quels fichiers sont chargés par le processus.
  • htop un sommet plus agréable.
  • MTR ping + traceroute combinée
  • Lynx / Liens / W3M au cas où vous auriez besoin de la navigation de console
  • Ettercap Great Network Sniffer (je le préfère sur Wireshark)
  • scriptBash Chaque * NIX administrateur doit le savoir.
  • Un langage de programmation. Pour les choses les plus complexes, restez à l'écart des scripts de bash et utilisez quelque chose comme Python/Perl/Ruby/TCl/... (J'utilise LISP)
  • Midnight Commander peut être idéal pour les personnes qui ont aimé Norton Commander.
  • IRSSI Vous ne savez jamais quand vous voulez juste aller demander quelque chose sur IRC.
  • wget / curl télécharger des choses de la ligne de commande.
  • SCP copier des trucs sur ssh
  • LFTP / NCFTP BONNES (SCRIMABLE) Console Console FTP Clients.
  • iotop Vérifier ce qui souligne vos disques
  • NMAP Bon scanner de port
45
Gert M

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!

33
Matt Solnit

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.

33
Tim Post

Pour passer au dernier répertoire, vous étiez dans:

cd -
31
dkaylor

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 ...

26
Avery Payne

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).

19
Jon Topper
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)
17
Gareth

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

15
gharper
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
13
Gareth

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

12
Flávio Amieiro

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

12
bobbyrcox

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É

11

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 /
11
jldugger

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.

8
Cawflands

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.

8
WerkkreW

J'ai toujours aimé "Man Hier" d'aider les personnes nouvelles au système.

8
Matt Simmons

Voici quelques-uns j'ai utilisé régulièrement:

  • sar - Affiche l'activité du système
  • vmstat - Statistiques de mémoire virtuelle
  • iostat - statistiques IO
  • pkill - 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 canalisation
  • at - Planifiez une tâche
  • tkdiff - graphique diff utilitaire

Ce ne sont probablement pas "cachés", mais je les trouve extrêmement utiles:

  • df -hk - Afficher l'utilisation du disque en format lisible humain
  • ls -ltr - Liste des fichiers triés par date
  • while :; do...done - (bash) remplacement pour watch si indisponible
  • Perl -e - Exécutez un Perl extrait de commande sur la ligne de commande
  • free -kt - Afficher les informations de mémoire (kilo-octets avec Total)
7
bedwyr

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
6
Bryan

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.

5
ecleel

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
5
FerranB

C'est une source ouverte. Rien n'est "caché" si vous vous souciez de regarder.

4
Paul Tomblin

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.

4
carlito

grep, awk et sed

haut

3
Brent

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!

3
gharper

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.

3
Rog
  • 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 fichier
  • file - Qu'est-ce qui pourrait être le fichier filet du fichier donné?
  • lshw, lsusb, lspci - matériel de liste
  • tracepath - utilisons-nous un problème de MTU ici?
  • netwoxcontient plus de 200 outils liés au résea
  • ip - pour configuration réseau/info
  • sysctl - Informations sur le système de fichiers/réseau/noyau
  • ebtables - iptables pour le pont
  • vconfig - VLAN Configuration
  • brctl - Configuration du pont
  • socat - netcat sur les stéroïdes
  • ipgrab - tcpdump- comme utilitaire qui imprime des informations détaillées sur l'en-tête
  • Dig - Quoi de neuf avec le serveur DNS maintenant?
3
raspi

tee est génial. Sortie à l'écran et logfile? Vérifier.

3
nwahmaet

history - montre les dernières commandes utilisées
[.____] !<number> - Exécute la commande avec ce numéro dans Historique

3
Esa Varemo

trouvez <bla> -exec <bla> {} \;

par exemple.:

trouve . -Name * 20080 [123456] .Log -A! -Name * .bz2 -exec bzip2\\\\\\ ;;

2
Jason Tan

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.

2
aultl

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é CtrlAltF1CtrlAltF2, etc. Votre serveur X fonctionne généralement à CtrlAltF7.

Ceci est bien sûr dépendant de la distribution et de la configuration.

Cette commande pour tuer le serveur X est également utile: CtrlAltBackspace.

Ces combinaisons de clés fonctionnent au moins sur I86 PC.

2
Juha Syrjälä

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à!

2
edomaur

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.

2
bowman

Capacités de POSIX et fonctionnalités de fichier POSIX

http://www.friedhoff.org/posixfilecapaps.html

1
h0tw1r3

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"

1
mctylr

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.

1
Quazatron

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

1
Jeff Leonard

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.

1
Dana the Sane

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.

1
Nick Russo

Mes 5 premières caractéristiques "cachées" (j'espère qu'elles ne sont pas déjà ici)

  1. cd - Essaye le :)
  2. les tuyaux nommés ne sont pas suffisamment utilisés et vous pouvez faire des choses vraiment cool avec elles
  3. system Tap, bien que je ne suis pas bon à cela et que vous avez vraiment besoin de connaître votre noyau, il protège un pouvoir incroyable à l'utilisateur droit.
  4. La combinaison de la tuyauterie une liste à 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.
  5. Les 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.

1
d34dh0r53
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
1
miHost

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

1
cb0
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.

1
baudtack

Je ne peux tout simplement pas faire sans ces commandes

  • pS -FA (liste tous les programmes d'exécution
  • lSOF (liste des fichiers ouverts par processus)
  • pushd. (Poussez le répertoire actuel sur la pile de répertoires)
  • pOPD. (Répertoire actuel pop de la pile d'annuaires)
  • répertoire de maison de compte local ~/Vous pouvez également accéder à un répertoire utilisateur comme ~ Nom d'utilisateur.
  • remplacez le profil de Bash actuel après avoir apporté des modifications sans vous connecter. ". ~/.BASHRC
  • grep -inr (récursif grep, i = cas insensible, n = montrer comme numéro, r = récursif)
0
Matt
  • homme (donne de l'aide sur la plupart des commandes)
  • moins (visionnage soin de navigation)
  • queue -f (Voir les données annexées d'un fichier comme il s'agit)
  • regarder (exécuter un programme et afficher sa sortie périodiquement en plein écran)
0
Wayne Koorts

ctrl + R: recherche historique de la dernière commande avec les lettres que vous spécifiez.

0
Prozaker

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 ...

0
ultrasawblade

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.

0
vwegert

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.

0
Felipe Alvarez

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

0
PiL