; $pwd;ls Exécutez la commande droite indépendamment du fait que la commande gauche provoque une erreur ou réussit.
&& $ls prog/ruby && pwd Exécuter la deuxième commande uniquement lorsque la première commande se termine avec succès
La deuxième commande est exécutée uniquement lorsque la première commande ne se termine pas correctement.
() $(date;pwd;ls)>kekka.log Exécutez les commandes ensemble
$echo $DATE > 31 août $echo '$DATE' >$DATE Il est émis sous forme de chaîne de caractères.
$echo $DATE > 31 août $ echo "La date d'aujourd'hui est le $ DATE"
La date d'aujourd'hui est le 31 août. ''Pareil que. La partie variable de $ est sortie en tant que variable.
$ echo "Le répertoire courant est" pwd "."
Le répertoire courant est / home / lpic.
$ echo "Le répertoire courant est $ (pwd) '."
Le répertoire courant est / home / lpic.
Le résultat de la commande peut être sorti. Il est recommandé car il est plus facile de comprendre comment écrire ci-dessous.
less
Opération clé | Explication |
---|---|
Touche espace | Faites défiler vers le bas d'un écran |
touche b | Un écran défile vers le haut |
/ | Recherche descendante |
? | Recherche ascendante |
ls | wc -l Passez le résultat de l'exécution de la commande ls à l'entrée standard de wc.
dmesg|less Passez les messages du noyau à une entrée moins standard.
$ls -l > filelist Mettez le résultat d'affichage dans la liste de fichiers.
$ls -l >> filelist Ajout du résultat d'affichage à la fin de la liste de fichiers.
< $grep "lpic" <target.txt>result.txt Entrée standard
$cat > sample.txt <<EOF Sortie jusqu'à l'entrée EOF.
2> $find / -name "*.tmp" 2> error.log Enregistrez uniquement la sortie d'erreur dans le fichier.
cat cat file1 file2 > newfile Application: écrire le fichier1 fichier2 dans un nouveau fichier en continu
option | Explication |
---|---|
-n | Affichage avec numéro de ligne |
nl Affichez des fichiers texte avec des numéros de ligne.
tail Afficher 10 lignes à partir de la dernière ligne.
option | Explication |
---|---|
-n nombre de lignes | Afficher uniquement le nombre de lignes spécifié |
-f | Affichage en temps réel. Mettre à jour lorsqu'il est ajouté pendant l'affichage.(ctrl+Terminer par c) |
tr $cat /etc/hosts | tr 'a-z' 'A-Z' Convertir toutes les lettres minuscules du fichier en majuscules et en chat
split $split -100 sample.txt s_sample.
sample.txt s_sample.aa s_sample.ab s_sample.ac
Séparez sample.txt dans d'autres fichiers toutes les 100 lignes. (Les noms de fichiers se terminent par aa, ab, ac ...)
commander | Explication |
---|---|
md5sum | Sortie de la valeur de hachage par MD5 |
sha1sum | |
sha256sum | |
sha512sum |
$sha1sum sample.txt Afficher la valeur de hachage SHA1 du fichier sample.txt
grep $grep -i ab sample.txt
$grep -v '^#' /etc/httpd/conf/httpd.conf S'affiche sans la ligne avec # au début (commenter). (^: Expression régulière pour le premier caractère)
option | Explication |
---|---|
-i | Recherche insensible à la casse |
-v | Afficher les lignes où les motifs ne correspondent pas |
vi
Mode d'entrée
commander | Explication |
---|---|
i | Entrez du texte avant le curseur |
a | Entrez du texte après le curseur |
I | Déplacez le curseur sur le premier caractère de la ligne et entrez le texte juste avant |
A | Déplacez le curseur à la fin de la ligne et entrez le texte immédiatement après |
o | Insérez une ligne vide sous la ligne actuelle et entrez du texte sur cette ligne |
O | Insérez une ligne vide au-dessus de la ligne actuelle et entrez du texte sur cette ligne |
Mode de commande
commander | Explication |
---|---|
h | Déplacer un caractère vers la gauche |
l | Déplacez un caractère vers la droite |
k | Monter d'une ligne |
j | Descendre d'une ligne |
o | Se déplacer au début de la ligne |
$ | Aller à la fin de la ligne |
H | Aller au début de la ligne en haut de l'écran |
L | Aller au début de la ligne en bas de l'écran |
gg | Passer à la première ligne du fichier |
G | Passer à la dernière ligne du fichier |
nG | Aller à la ligne n du fichier |
:n | Aller à la ligne n du fichier |
Déplacer 5 caractères vers la gauche en 5h
commander | Explication |
---|---|
:q | Quitter sans enregistrer dans un fichier |
:q! | Quittez sans enregistrer ce que vous modifiez |
:wq | Enregistrez le contenu en cours de modification et quittez |
:w | Écraser et enregistrer le fichier avec le contenu en cours de modification |
:e! | Restaurer le dernier contenu enregistré |
:!commander | Exécuter la commande shell sans quitter vi |
:r!commander | Insérez le résultat de l'exécution de la commande shell |
:! Vous pouvez exécuter la commande ls avec ls exécutant vi.
vi commande d'édition
commander | Explication |
---|---|
dd | Supprimer la ligne actuelle |
dw | Supprimer d'un curseur au mot suivant |
yy | Copier la ligne actuelle dans le tampon |
:w | Écraser et enregistrer le fichier avec le contenu en cours de modification |
p | Collez le contenu du tampon sous la ligne actuelle |
P | Collez le contenu du tampon au-dessus de la ligne courante |
x | Supprimer le caractère à la position du curseur(delete) |
X | Supprimer le caractère avant la position du curseur(backspace) |
Supprimez 5 lignes de la position du curseur avec 5dd.
commande de recherche vi
commander | Explication |
---|---|
/ | Recherche en arrière à partir de la position du curseur |
? | Recherche en arrière à partir de la position du curseur |
n | Rechercher |
N | Rechercher(Direction inverse) |
:noh | Ne pas mettre en évidence les candidats |
:%s/A/B/ | Remplacez la première chaîne trouvée A par la chaîne B |
:%s/A/B/g | Remplacez toute la chaîne A par la chaîne B |
commander | Explication |
---|---|
:set nu | Afficher le numéro de ligne |
:set nonu | Masquer le numéro de ligne h |
:set ts=Largeur de l'onglet | Largeur de l'ongletを数値で指定する |
gzip
commander | Explication |
---|---|
-d | Extraire le fichier compressé |
-c | Sortie vers sortie standard |
-r | Compresser tous les fichiers du répertoire |
$gzip datafile Compresser le fichier
$gzip -r sampled Compresser individuellement tous les fichiers du répertoire échantillonné
$gzip -c datafile >datafile.gz Compressé quittant le dossier avant la compression
$bzip2 datafile bzip prend plus de temps que gzip mais a une efficacité de compression plus élevée. (Ajouter l'option -d pour la décompression)
$xz datafile xz prend plus de temps que bzip mais a une efficacité de compression plus élevée. (Ajouter l'option -d pour la décompression)
zcat,bzcat,xzcat $zcat sample.gz Vérifiez le fichier texte compressé sans le décompresser.
tar Vous pouvez combiner des fichiers et des répertoires dans un seul fichier d'archive et l'extraire. Identique à la compression gzip avec l'option z.
commander | Explication |
---|---|
-c | Créer une archive |
-x | Extraire les fichiers de l'archive |
-t | Vérifiez le contenu de l'archive |
-nom de fichier f | Spécifiez le nom du fichier d'archive |
-z | compression gzip/Déploiement |
-j | compression bzip2/Déploiement |
-J | compression xz/Déploiement |
-v | Afficher des informations détaillées |
-u | Ajouter uniquement les fichiers plus récents avec le même nom dans l'archive |
-r | Ajouter des fichiers à archiver |
-N | Ne cible que les données plus récentes que la date spécifiée |
-M | Divisé en plusieurs appareils |
-delete | Supprimer les fichiers de l'archive |
tar cvf /dev/st0 /home Créez un fichier archive pour / home dans / dev / st0
tar xvzf software.tar.gz Extrayez le fichier d'archive dans le répertoire actuel.
tar tf /dev/sdb1 Affichez le contenu de l'archive située dans / dev / sb1.
tar xvf /dev/sdb1 var/log/secure /var
cpio $ls | cpio -o >/tmp/backup Sauvegardez le répertoire actuel en tant que fichier / tmp / backup.
dd $dd if=/dev/sdb of=/dev/sdc Exportez le contenu du disque connecté à / dev / sdb vers / dev / sdb tel quel.
La commande dd peut gérer le contenu des périphériques tels que les disques durs et les CD-ROM tels quels. La commande cp copie simplement le fichier.
commander | Explication |
---|---|
-if | Spécifiez le fichier d'entrée |
-of | Spécifiez le fichier de sortie |
chmod
option | Explication |
---|---|
-R | Modifier les autorisations de tous les fichiers sous le répertoire spécifié |
Cible | Explication |
---|---|
u | propriétaire |
g | groupe |
o | Autres utilisateurs |
a | Tous les utilisateurs |
opération | Explication |
---|---|
+ | Ajouter des autorisations |
- | Supprimer les autorisations |
= | Spécifiez les autorisations |
Type d'autorisation | Explication |
---|---|
r | Lire l'autorisation |
w | Autorisation d'écriture |
x | Autorisation d'exécution |
s | SUID or SGID |
t | Bit collant |
$chmod go+w samplefile Donner l'autorisation d'écriture aux groupes et aux autres utilisateurs
$chmod o-rw samplefile Supprimer l'autorisation d'exécution en écriture des autres utilisateurs
$chmod 644 samplefile Changé en 644
SUID,SGID Peut être exécuté avec l'autorisation du propriétaire du fichier SUID
chmod u+s samplefile
Les droits d'accès au groupe SGID s'appliquent.
Même si vous disposez d'une autorisation en écriture, vous ne pouvez pas supprimer les fichiers appartenant à d'autres utilisateurs que vous.
chmod o+t sampledir
umask Le droit d'accès par défaut est défini.
$umask 0002
La valeur par défaut est 777 pour les répertoires et 666 pour les fichiers moins umask.
d→775 file→664
chown
option | Explication |
---|---|
-R | Changer le propriétaire du répertoire spécifié et tous les fichiers qu'il contient |
Faites référence à la même entité dans chaque fichier. $ln file.original file.link_hard
Indique l'emplacement sous le lien. (Raccourci) $ln -s file.original file.link_hard
ls -l Vérifiez le lien créé.
Ajoutez d à la copie du lien symbolique.
cp -d file.link_sym file.link3
S'il n'est pas ajouté, le fichier source du lien sera copié. cp file.link_sym file.link2
top Surveillance de processus Terminer par Q
updatedb & Le traitement peut être exécuté en arrière-plan en ajoutant &.
jobs Vous pouvez vérifier les travaux en cours avec la commande jobs.
Je veux que vous continuiez à le faire lorsque vous quittez votre siège pendant longtemps. Si vous voulez qu'il s'exécute même si vous vous déconnectez. Ajoutez nohub. $nohup updatedb &
Si vous souhaitez exécuter le travail en cours d'exécution en arrière-plan. Pause avec ctrl + z → bg 1 (1 est le numéro du travail, les travaux) Si vous voulez changer l'arrière-plan au premier plan, fg
free Disponibilité de la mémoire
option | Explication |
---|---|
-m | Afficher en Mo |
-s secondes | Continuer à afficher à des intervalles spécifiés |
uptime Charge moyenne etc.
uname Vérification du système d'exploitation
uname -a vue détaillée
watch watch -n 10 uptime Exécutez la disponibilité toutes les 10 secondes.
nice Spécification de priorité lors de l'exécution d'une commande. $nice -n -10 updatedb
find $find /root -name "*.txt" Recherche par nom de fichier
Formule de recherche | Explication |
---|---|
-nom Nom du fichier | Recherche par nom de fichier |
-à l'heure, date et heure | Rechercher par heure du dernier accès |
-mtime date et heure | Rechercher par heure de la dernière mise à jour |
-droits d'accès perm | Recherche par droit d'accès |
-taille taille | Recherche par taille de fichier |
-type Type de fichier | Recherche par type de fichier f:Fichier l:Symbolique d:annuaire |
-nom d'utilisateur | Recherche par propriétaire de fichier |
Afficher les fichiers correspondants | |
-commande exec || ; | Exécuter la commande pour les fichiers correspondants |
-commande ok || ¥; | Exécuter la commande pour les fichiers correspondants(Avec confirmation) |
$find /data -type f -mtime -1 Rechercher les fichiers qui ont été mis à jour au cours du dernier jour
$find /usr/bin -type f -perm -u+s Recherchez les fichiers avec SUID défini dans le répertoire / usr / bin.
$find /tmp -user student Recherchez le répertoire de fichiers dont le propriétaire est étudiant.
$find -atime +30 -exec rm {}¥; Recherchez et supprimez les fichiers qui n'ont pas été consultés depuis plus de 30 jours.
$alias ls='ls -l' Vous pouvez donner à la commande un alias. $alias lsless='ls -l|less'
$unalias lsless Libérer l'alias d'ensemble
$function lslink(){ls -l|grep '^l';} La fonction lslink qui affiche uniquement les liens symboliques (commençant par l)
$function lslink(){ls -l $1 | grep '^1';} Argument avec 1 $. Vous pouvez mettre un répertoire, etc. dans l'argument.
$declare -f lslink Afficher uniquement les fonctions définies.
unset lslink Suppression de la fonction lslink.
Fichier | Explication |
---|---|
/etc/profile | Exécuté à la connexion et référencé par tous les utilisateurs |
/etc/bash.basic | Exécuté au démarrage de bash et référencé par tous les utilisateurs |
/etc/bashrc | ~/.Référencé depuis bashrc. Référencé depuis le début de bash. |
~/.bash_profile | Exécuté à la connexion |
~/.bash_login | ~/.bash_S'il n'y a pas de profil, il sera exécuté lors de la connexion |
~/.profile | ~/.bash_profil aussi~/.bash_S'il n'y a pas de connexion, exécutez à la connexion |
~/.bashrc | Exécuté au démarrage de bash |
~/.bash_logout | Exécuté à la déconnexion |
Exécuter (nécessite une autorisation de lecture) $bash lsld
$source lsld
$. lsld
(Autorisation d'exécution requise) chmod a+x lsld $./lsls Il est exécuté avec le nom du fichier tel quel.
Nom de variable | Explication |
---|---|
$0 | Nom du fichier de script Shell(chemin complet) |
$1 | Premier argument |
$2 | Deuxième argument. Moins de 3 $ 4 $ 5 $ |
$# | Nombre d'arguments. |
$@ | Tous les arguments(Espace délimité) |
$* | Tous les arguments(Le délimiteur est celui spécifié par la variable d'environnement IFS) |
Terminaison normale → 0 Terminaison anormale → autre que 0
$echo $? 2
La valeur de retour est affectée à $?.
commande de test
Expression conditionnelle | Résultat d'exécution |
---|---|
Test de format de fichier | |
-fichier f | (Hors répertoires, etc.)Vrai s'il y a un fichier |
-répertoire d | Vrai s'il y a un répertoire |
-fichier r | Vrai si le fichier existe et est lisible |
-fichier w | Vrai si le fichier existe et est accessible en écriture |
-x fichier | Vrai si le fichier existe et est exécutable |
-fichier s | Vrai s'il y a un fichier plus grand que 0 |
-Fichier L | Vrai s'il existe un fichier qui est un lien symbolique |
Test des caractéristiques du fichier | |
-fichier électronique | Vrai s'il y a un fichier |
Fichier 1-nt fichier 2 | Vrai si le fichier 1 a une heure de modification plus récente que le fichier 2 |
Fichier 1-ot fichier 2 | Vrai si le fichier 1 est plus ancien que le fichier 2 |
Test numérique | |
Numéro 1-eq numéro 2 | Vrai si les nombres 1 et 2 sont égaux |
Numéro 1-ge numéro 2 | Vrai si le nombre 1 est supérieur ou égal au nombre 2 |
Numéro 1-gt numéro 2 | Vrai si le nombre 1 est supérieur au nombre 2 |
Numéro 1-le numéro 2 | Vrai si le nombre 1 est inférieur ou égal au nombre 2 |
Numéro 1-lt numéro 2 | Vrai si le nombre 1 est inférieur ou égal au nombre 2 |
Numéro 1-ne numéro 2 | Vrai si les nombres 1 et 2 ne sont pas égaux |
Test de cordes | |
-n chaîne | Vrai si la longueur de la chaîne est supérieure à 0 |
-chaîne z | Vrai si la longueur de la chaîne est 0 |
Chaîne 1=Chaîne 2 | Vrai si les deux chaînes sont égales |
Chaîne 1!=Chaîne 2 | Vrai si les deux chaînes ne sont pas égales |
Tester la jointure logique | |
!conditions | conditionsが偽であれば真 |
Condition 1-a Condition 2 | Vrai si les deux expressions conditionnelles sont vraies(and) |
Condition 1-o Condition 2 | Vrai si l'une des expressions conditionnelles est vraie(or) |
si expression conditionnelle then Déclaration d'exécution 1 else Déclaration d'exécution 2 fi
Case case $1 in 1)echo "January";; 2)echo "February";; esac
read Vous pouvez entendre le nom de l'entrée standard. echo -n "Who are you?:" lire le nom d'utilisateur ← Demandez à l'utilisateur ici echo "Bonjour, $ username!" ← Utilisé ici
Première ligne de script shell #!/bin/bash
Fichier pour lequel le compte utilisateur est défini /etc/passwd
groupe /etc/group
useradd useradd -c "Linux User" -d /home/linux -s /bin/bash linuxuser
option | Résultat d'exécution |
---|---|
-c commentaire | Spécifiez le champ de commentaire |
-répertoire d | Spécifiez le répertoire de base |
-chemin de s | Spécifier le shell par défaut |
cron
crontab Il se trouve sous le répertoire / var / spool / cron.
option | Résultat d'exécution |
---|---|
-e | Modifier crontab(Ne pas ouvrir directement avec vi etc.) |
-l | Affichage du contenu |
-r | Supprimer le fichier |
-i | Confirmer lors de la suppression |
-nom d'utilisateur | Modifier le fichier crontab avec le nom d'utilisateur(utilisateur root uniquement) |
Format Commande minute, heure, jour, mois, jour
champ | Résultat d'exécution |
---|---|
journée | 0-Entier jusqu'à 7(0,7:Dimanche au 6 samedi) |
15 23 * * * /usr/local/bin/backup (Commence tous les jours à 23h15)
0 9,12 * * 1 /usr/local/bin/syscheck (Commence à 9h00 et 12h00 le lundi)
0 */2 * * * /usr/local/bin/syscheck (Commencez toutes les 2 heures)
at Planification unique $at 5:00 tomorrow at>/usr/local/sbin/backup at> ^ D ← Entrez la touche ctrl + D pour terminer.
systemd Il peut être activé après une certaine période de temps à partir d'un événement.
mail [-s subject] [adresse e-mail de destination ou nom d'utilisateur]
mail -s samplemail student Bonjour, étudiant! ← Corps . EOT
mail Vérifier le courrier reçu
ping
option | Résultat d'exécution |
---|---|
-c fois | Envoyer des paquets un certain nombre de fois |
-i intervalle | Intervalle spécifié(Secondes)Envoyez chaque poche |
traceroute Affiche l'itinéraire que le paquet voyage vers l'hôte spécifié.
hostname Affichez le nom d'hôte actuel.
Si vous spécifiez un nom d'hôte, modifiez le nom d'hôte.
netstat Affichez diverses informations sur le réseau. Vérification des ports ouverts, etc.
nc Commande Cat sur le réseau
$nc -l -p 12345 -o listen.log Il écoute sur le port 12345 et envoie les données reçues dans le fichier listen.log.
$nc centos7.example.com 12345<data.txt Envoyez le contenu du fichier data.txt sur le port 12345 de l'hôte.
ifconfig Confirmez l'adresse IP.
/etc/resolv.conf
/etc/nsswitch.conf Sélectionnez l'ordre de priorité des hôtes ou du serveur DNS.
host Connaissez l'adresse IP de l'hôte. Connaissez l'hôte d'ip.
nmap
$nmap www.example.net Vous pouvez vérifier le numéro de port ouvert et le nom du service (ssh, http).
Vérifiez régulièrement. #find / -perm -u+s -ls
#touch /etc/nologin En créant un fichier nologin, les connexions autres que root sont interdites.
scp scp nom du fichier source de la copie [nom d'utilisateur @] hôte de destination de la copie: [nom du fichier de destination de la copie]
scp /etc/hosts sv3.example.jp:/tmp Copiez / etx / hosts de l'hôte local dans / tmp de l'hôte distant sv3.example.jp.
scp [nom d'utilisateur @] copier l'hôte source: copier le nom du fichier source copier le nom du fichier de destination
$scp sv3.example.jp:/etc/hosts . Copiez / etc / hosts de l'hôte distant sv3.example.jp dans le répertoire courant.
$scp data.txt [email protected]: Copiez le fichier data.txt de l'hôte local dans le répertoire personnel de l'utilisateur fred de l'hôte distant sv3.example.jp
Recommended Posts