Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

résumer

Avec notre connaissance du en commande, nous allons maintenant appliquer les dernières améliorations à notre sys_info_page scénario. Actuellement, le report_home_space la fonction ressemble à ceci :



report_home_space () {

if [[ $(id -u) -eq 0 ]] ; puis chat <<- _EOF_

Utilisation de l'espace domestique (tous les utilisateurs)

$(du -sh /home/*)

_EOF_

d'autre

chat <<- _EOF_

Utilisation de l'espace domestique ($USER)

$(du -sh $HOME)

_EOF_

fi retour

}

report_home_space () {

if [[ $(id -u) -eq 0 ]] ; puis chat <<- _EOF_

Utilisation de l'espace domestique (tous les utilisateurs)

$(du -sh /home/*)

_EOF_

d'autre

chat <<- _EOF_

Utilisation de l'espace domestique ($USER)

$(du -sh $HOME)

_EOF_

fi retour

}


Ensuite, nous allons le réécrire pour fournir plus de détails sur le répertoire personnel de chaque utilisateur et inclure le nombre total de fichiers et de sous-répertoires dans chacun :



report_home_space () {

report_home_space () {


format local="%8s%10s%10s\n"

local i dir_list total_files total_dirs total_size nom_utilisateur


if [[ $(id -u) -eq 0 ]] ; then dir_list=/home/* user_name="Tous les utilisateurs"

d'autre

dir_list=$HOME nom_utilisateur=$USER

fi


écho " Utilisation de l'espace domestique ($user_name) " pour i dans $dir_list ; faire

total_files=$(trouver $i -type f | wc -l) total_dirs=$(trouver $i -type d | wc -l) total_size=$(du -sh $i | cut -f 1)


écho " $i " écho " "

printf "$format" "Répertoires" "Fichiers" "Taille" printf "$format" "----" "-----" "----"

printf "$format" $total_dirs $total_files $total_size echo " "

fait retour

}

format local="%8s%10s%10s\n"

local i dir_list total_files total_dirs total_size nom_utilisateur


if [[ $(id -u) -eq 0 ]] ; then dir_list=/home/* user_name="Tous les utilisateurs"

d'autre

dir_list=$HOME nom_utilisateur=$USER

fi


écho " Utilisation de l'espace domestique ($user_name) " pour i dans $dir_list ; faire

total_files=$(trouver $i -type f | wc -l) total_dirs=$(trouver $i -type d | wc -l) total_size=$(du -sh $i | cut -f 1)


écho " $i " écho " "

printf "$format" "Répertoires" "Fichiers" "Taille" printf "$format" "----" "-----" "----"

printf "$format" $total_dirs $total_files $total_size echo " "

fait retour

}


Cette réécriture applique une grande partie de ce que nous avons appris jusqu'à présent. Nous testons toujours pour le superutilisateur, mais au lieu d'effectuer l'ensemble complet des actions dans le cadre du if, nous définissons certaines variables utilisées plus tard dans une boucle for. Nous avons ajouté plusieurs variables locales à la fonction et utilisé printf pour formater une partie de la sortie.


Meilleur système d'exploitation Cloud Computing chez OnWorks :