$ <b>sort -r <i>ΡΠ°ΠΉΠ»</i></b>ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎ, ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΡΠ°Π½Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Π±ΡΠ» ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
$ <b>tar cvfB /tmp/file.tar 1024</b>$Β <b>dd if=/dev/fd0 of=/trap/file.dd bs=18k</b>$ <b>ps ax</b>$ <b>gcc --help</b>$ <b>ls -lstr</b>$ <b>ls -l -s -t -r</b>ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ Π΄Π΅ΡΠΈΡΠ° ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ, ΡΠΎΡΡΠΎΡΡΠΈΠΌΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ ΠΈΠ»ΠΈ ΡΠΈΡΡΡ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠΈΠΈ, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΌΠΎΠ³ΡΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠΈΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π²Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
lsddif=/dev/fd0tar-h--helpΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ
+x-Ρ
set -ΠΎ xtraceset +ΠΎ xtraceΠΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ ΠΈΠ΄ΠΈΠΎΡΠΈΠ½ΠΊΡΠ°Π·ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ². Π§Π°ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄ β ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ
-hmangetoptΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° args.c, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) {Β int arg;Β for (arg = 0; arg < argc; arg++) {Β Β if (argv[arg][0] == '-')printf("option: %s\n", argv[arg]+1);Β Β elseΒ Β printf("argument %d: %s\n", arg, argv[arg]);Β }Β exit(0);}ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ²ΠΎΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΎΠΏΡΠΈΠΈ. Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°, Π²Π²ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ
-f$ <b>./args -i -lr 'hi there' -f fred.c</b>argument 0: ./argsoption: ioption: lrargument 3: hi there option: fargument 5: fred.ΡΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ-ΡΡΠ΅ΡΡΠΈΠΊ
argcΠ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΎΠΏΡΠΈΠΈ
-l-r-lr-l-rΠ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ X/Open (ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://opengroup.org/) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (Utility Syntax Guidelines, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ ΡΡΠΈΠ»ΠΈΡ) ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘: ΡΡΠ½ΠΊΡΠΈΡ
getoptgetopt
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π»Π΅Π³ΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π² ΡΡΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°Ρ , ΠΠ‘ Linux ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ
getopt<b>#include <unistd.h></b><b>int getopt(int argc, char *const argv[], const char *optstring);</b><b>extern char *optarg;</b><b>extern int optind, opterr, optopt;</b>Π€ΡΠ½ΠΊΡΠΈΡ
getoptargcargvmaingetoptoptstringgetoptΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ²:
getopt(argc, argv, "if:lr");Π Π½Π΅ΠΌ ΡΡΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠΏΡΠΈΠΈ
-i-l-r-f