Maison >développement back-end >tutoriel php >Résumé de 73 commandes couramment utilisées dans le shell Linux

Résumé de 73 commandes couramment utilisées dans le shell Linux

高洛峰
高洛峰original
2017-02-07 17:08:001715parcourir

Avant-propos

L'utilisation du shell Linux est un travail de base pour certains programmeurs au quotidien, mais nous oublions souvent certaines commandes et techniques utiles du shell. Bien sûr, je me souviens de la commande, mais je ne peux pas dire que je me souviens comment effectuer une tâche spécifique avec elle. A noter que certaines utilisations nécessitent l'installation de logiciels supplémentaires sur votre système Linux. Pas grand chose à dire ci-dessous, jetons un œil au contenu détaillé.

Vérifiez si le port distant est ouvert à bash :

echo >/dev/tcp/8.8.8.8/53 && echo "open"

Laissez le transfert du processus Entrez l'arrière-plan :

Ctrl z

Amenez le processus au premier plan :

fg

Générer un hexadécimal aléatoire number , où n est le nombre de caractères :

openssl rand -hex n

Exécuter la commande dans un fichier du shell actuel :

source /home /user/ file.name

Tronquer les 5 premiers caractères :

${variable:0:5}

Mode débogage SSH :

ssh -vvv user@ip_address

SSH avec clé pem :

ssh user@ip_address -i key.pem

Utiliser wget pour récupérer la structure complète du répertoire du site Web est stockée dans le répertoire local :

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user /dirs

Créez plusieurs répertoires à la fois :

mkdir -p /home/user/{test,test1,test2}

Liste des processus, y compris processus enfants Arbre :

ps axwef

Créer un fichier war :

fichier jar -cvf name.war

Tester le disque dur vitesse d'écriture:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

Test lecture du disque dur Obtenez la vitesse :

hdparm -Tt /dev/sda

Obtenez le hachage md5 du texte :

echo -n "text" | >

Vérifiez le format XML :

xmllint --noout file.xml


Extraire tar.gz vers un nouveau répertoire :

tar Package zxvf. tar.gz -C new_dir


Utilisez curl pour obtenir les informations d'en-tête HTTP :

curl -I http://www.example.com


Modifier l'horodatage du fichier ou du répertoire (AAMMJJhhmm) :

touchez -t 0712250000 fichier


Utilisez la commande wget pour effectuer un téléchargement FTP :

wget -m ftp:// username:password@hostname


Générer un mot de passe aléatoire (16 caractères dans l'exemple) :

LANG=c < -Z-a-z-0 -9 | head -c${1:-16};echo;


Sauvegarder rapidement un fichier :

cp some_file_name{,.bkp}


Accédez au répertoire partagé Windows :

smbclient -U "DOMAINuser" //dc.domain.com/share/test/dir


Exécutez la commande dans l'historique (voici la ligne 100) :

!100


Décompressez :

unzip package_name.zip -d dir_name


Entrez plusieurs lignes de texte (CTRL d pour quitter) :

cat > test.txt


Créez un fichier vide ou effacez un fichier existant :

> test.txt


Synchronisez l'heure avec le serveur Ubuntu NTP :

ntpdate ntp.ubuntu.com


Utilisez netstat pour afficher tous les ports d'écoute TCP4 :

netstat -lnt4 | awk '{print $4}' | cut -f2 -d : | grep -o '[0-9]*'


conversion du fichier image qcow2 :

qemu -img convert -f qcow2 -O raw précise-server-cloudimg-amd64-disk1.img précise-server-cloudimg-amd64-disk1.raw


Exécuter à plusieurs reprises le fichier et afficher sa sortie (la valeur par défaut est une fois toutes les 2 secondes) :

watch ps -ef

Liste de tous les utilisateurs :

getent passwd


Monter root en mode lecture/écriture :

mount -o remount,rw /


Monter un répertoire (c'est le cas lorsque les liens ne peuvent pas être utilisés) :

mount --bind /source / destination


Serveur DNS de mise à jour dynamique :

nsupdate <

grep récursivement tous les répertoires :

grep -r "some_text" /path/to/dir


Liste les 10 fichiers les plus volumineux :

lsof / | awk '{ if ($7 > 1048576) print $7/1048576 "Mo "$9 }' | sort -n -u | tail


Afficher la mémoire restante (Mo) :

free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'


Ouvrez Vim et passez à la fin du fichier :

vim some_file_name


Git clone la branche spécifiée (master) :

git clone git@github.com:name/app.git -b master


Git passe à d'autres branches (develop ):

git checkout develop


Git delete branch (myfeature):

git branch -d myfeature


Git supprime la branche distante

git push origin :branchName


Git pousse la nouvelle branche vers le serveur distant :

git push -u origin mynewfeature


Imprimez la dernière commande cat de l'historique :

!cat:p


Exécutez la dernière commande cat de l'historique :

!cat


Trouver tous les sous-répertoires vides sous /home/user :

find /home/user -maxdegree 1 -type d -empty


Récupérez le fichier test.txt Lignes 50-60 :

< test.txt sed -n '50,60p'


Exécutez la dernière commande ( si la dernière commande est mkdir /root/test , ce qui suit s'exécutera : sudo mkdir /root/test):

sudo !!


Créer un système de fichiers RAM temporaire – disque virtuel (créez d'abord le répertoire /tmpram) :

mount -t tmpfs tmpfs /tmpram -o size=512m


Grep mots entiers :

grep -w " nom" test.txt


Ajouter du texte à un fichier lorsque des privilèges élevés sont requis :

echo "some text" | sudo tee -a /path/file

Liste de tous les paramètres du signal d'arrêt :

kill -l

Désactiver l'enregistrement de la dernière session dans l'historique bash :

kill -9 $$

Scanner le réseau pour les ports ouverts :

nmap -p 8081 172.20.0.0/16

Définir l'e-mail git :

git config --global user "me@example. .com"

Pour synchroniser avec master si vous avez des commits non publiés :

git pull --rebase origin master

Tous les fichiers contenant "txt" dans leurs noms de fichiers sont déplacés dans le répertoire /home/user :

find -iname "*txt*" -exec mv -v {} /home/user ;

Display fichiers côte à côte :

coller test.txt test1.txt

Barre de progression dans le shell :

pv data.log

Utilisez netcat pour envoyer des données au serveur Graphite :

echo "hosts.sampleHost 10 `date %s`" | nc 192.168.200.2 3000

Changer les onglets Convertir en espaces :

développez test.txt > test1.txt

Ignorer l'historique bash :

Aller à le répertoire de travail précédent :

cd -

Divisez les gros fichiers tar.gz (100 Mo chacun) et fusionnez-les :

split –b 100m /path /to/large/archive /path/to/output/files cat files* > archive

Utilisez curl pour obtenir le code d'état HTTP :

curl -sL -w "% {http_code}\n" www.example.com -o /dev/null

Définissez le mot de passe root pour renforcer l'installation de la sécurité MySQL :

/usr/ bin/mysql_secure_installation

Quand Ctrl c ne fonctionne pas :

Ctrl

Obtenir le propriétaire du fichier :

stat -c % U file.txt

bloquer la liste des appareils :

lsblk -f

Rechercher les fichiers avec des espaces à la fin de leurs noms de fichiers :

find -type. f -exec egrep -l " $" {} ;

Rechercher les fichiers dont les noms de fichiers ont une indentation de tabulation

find -type f -exec egrep -l $'t' {. } ;

Utilisez "=" pour imprimer les lignes horizontales : sélectionnez-les toutes et copiez-les dans les notes

printf '0sn' tr ' ' =

Résumé

Ce qui précède représente l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra apporter de l'aide et de la commodité aux études ou au travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'articles connexes résumant les 73 commandes couramment utilisées dans le shell Linux, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn