# ΠΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ°ΠΊΠΎΠ΅:
# 11 12 13 1 2 3 4 5 6 7 8 9 10 14 15 16 17 18 19 20
# ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΊΠ» Π½Π°ΡΠ°Π» ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π½ΡΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
exit 0
ΠΠΎΠΌΠ°Π½Π΄Π°, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² ΡΠΎΠ½Π΅, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ. Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ "Π»Π΅ΡΠΈΡΡΡ".
&&
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ AND (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π). Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ && Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0 (success) ΡΠΎΠ³Π΄Π°, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true (ΠΠ‘Π’ΠΠΠ).
-
ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΊΠ»ΡΡΠ°. Π‘ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
COMMAND -[Option1][Option2][...]
ls -al
sort -dfu $filename
set -- $variable
if [ $file1 -ot $file2 ]
then
echo "Π€Π°ΠΉΠ» $file1 Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π½ΡΡΠ΅ ΡΠ΅ΠΌ $file2."
fi
if [ "$a" -eq "$b" ]
then
echo "$a ΡΠ°Π²Π½ΠΎ $b."
fi
if [ "$c" -eq 24 -a "$d" -eq 47 ]
then
echo "$c ΡΠ°Π²Π½ΠΎ 24, Π° $d ΡΠ°Π²Π½ΠΎ 47."
fi
-
ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·/Π² stdin ΠΈΠ»ΠΈ stdout. [Π΄Π΅ΡΠΈΡ]
(cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpvf -)
# ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ
# [ΡΠΏΠ°ΡΠΈΠ±ΠΎ ΠΠ»Π°Π½Ρ ΠΠΎΠΊΡΡ (Alan Cox) < [email protected]>, Π·Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ]
# 1) cd /source/directory ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΎ
# 2) && "Π-ΡΠΏΠΈΡΠΎΠΊ": Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ
# ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° 'cd' Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ
# 3) tar cf - . ΠΊΠ»ΡΡΠΎΠΌ 'c' Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ 'tar' ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΠ²,
# ΠΊΠ»ΡΡΠΎΠΌ 'f' (file) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ '-' Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ» Π°ΡΡ ΠΈΠ²Π° -- stdout,
# Π² Π°ΡΡ ΠΈΠ² ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ('.') Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ.
# 4) | ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Ρ ...
# 5) ( ... ) subshell-ΠΎΠΌ (Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ)
# 6) cd /dest/directory ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
# 7) && "Π-ΡΠΏΠΈΡΠΎΠΊ", ΡΠΌ. Π²ΡΡΠ΅
# 8) tar xpvf - Π Π°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ('x'), Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² "Π²Π»Π°Π΄Π΅Π»ΡΡΠ°" ΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ('p') ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ,
# Ρ Π²ΡΠ΄Π°ΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π° stdout ('v'),
# ΡΠ°ΠΉΠ» Π°ΡΡ ΠΈΠ²Π° -- stdin ('f' Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ '-').
#
# ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ 'x' -- ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π° 'p', 'v' ΠΈ 'f' -- ΠΊΠ»ΡΡΠΈ
# ΠΠΎ ΠΊΠ°ΠΊ!
# ΠΠΎΠ»Π΅Π΅ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ:
# cd source-directory
# tar cf - . | (cd ../target-directory; tar xzf -)
#
# cp -a /source/directory /dest ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡ.
bunzip2 linux-2.4.3.tar.bz2 | tar xvf -
# --ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ tar-ΡΠ°ΠΉΠ»Π°-- | --Π·Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ΅ "tar"--
# ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° "tar" Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ "bunzip2",
# ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π΄Π²Π° ΡΡΠ°ΠΏΠ°, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
# Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΠ±ΠΎΠ»Π° (tar.bz2) Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ "-" - Π½Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Bash, Π° ΡΠΊΠΎΡΠ΅Π΅ ΠΎΠΏΡΠΈΡ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π΅ΠΌΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ UNIX (ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ tar, cat ΠΈ Ρ.ΠΏ.), ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π² stdout.
bash$ echo "whatever" | cat -
whatever
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ³Π΄Π° "-" ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ Π½Π° stdout (Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Ρ tar cf) ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π²ΠΎΠ΄ Ρ stdin.
bash$ file
Usage: file [-bciknvzL] [-f namefile] [-m magicfiles] file...
Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° file Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ» "-" ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π²Π²ΠΎΠ΄Π° ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
bash$ file -
abc
standard input: ASCII text
bash$ file -
#!/bin/bash
standard input: Bourne-Again shell script text executable
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎ stdin ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ stdout ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΡΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ°Π²ΠΊΠ° ΡΡΡΠΎΠΊ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ diff -- Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ ΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ:
grep Linux file1 | diff file2 -
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° "-" Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ tar.
ΠΡΠΈΠΌΠ΅Ρ 3-4. Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΡΠΎΠΊ
#!/bin/bash
# Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (backup) Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅,
# ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 24 ΡΠ°ΡΠΎΠ²
#+ Π² ΡΠ°ΡΠ±ΠΎΠ»Π» (tarball) (.tar.gz - ΡΠ°ΠΉΠ»).
BACKUPFILE=backup
archive=${1:-$BACKUPFILE}
# ΠΠ° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΠΈΠΌΡ Π°ΡΡ ΠΈΠ²Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ,
#+ Ρ.Π΅. ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΡ Π°ΡΡ ΠΈΠ²Π° -- "backup.tar.gz"
tar cvf - `find . -mtime -1 -type f -print` > $archive.tar
gzip $archive.tar
echo "ΠΠ°ΡΠ°Π»ΠΎΠ³ $PWD Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ Π² ΡΠ°ΠΉΠ» \"$archive.tar.gz\"."
# Stephane Chazelas Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ "ΠΏΠ°Π΄Π°ΡΡ"
#+ Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
#+ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΎΠ±Π΅Π»Π°.
# ΠΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄:
# -------------------------------------------------------------------
# find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ GNU ΡΡΠΈΠ»ΠΈΡΡ "find".
# find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \;
# Π±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, Ρ ΠΎΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ,
# Π·Π°ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡΡ UNIX.
# -------------------------------------------------------------------
exit 0
ΠΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΡΠ΅Π°ΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ "-" ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌΠΈΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° "-". ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΠΏΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ./-FILENAME, $PWD/-FILENAME ΠΈΠ»ΠΈ $PATHNAME/-FILENAME.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° "-", ΡΠΎ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
var="-n"
echo $var
# Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Ρ Π²ΠΈΠ΄ "echo -n" ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ.
-
ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. [Π΄Π΅ΡΠΈΡ] ΠΠΎΠΌΠ°Π½Π΄Π° cd - Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΏΡΡΡ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ $OLDPWD .
ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ "-" (ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°) Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ "-" (ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ). ΠΡΠ΅ ΡΠ°Π· Π½Π°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° "-" Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ.
-
ΠΠΈΠ½ΡΡ. ΠΠ½Π°ΠΊ ΠΌΠΈΠ½ΡΡ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ .
=
Π‘ΠΈΠΌΠ²ΠΎΠ» "ΡΠ°Π²Π½ΠΎ". ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
a=28
echo $a # 28
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ» "=" ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
+
ΠΠ»ΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ .
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ» + ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
+
ΠΠ»ΡΡ (ΠΎΠΏΡΠΈΡ). ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π°Π³ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅ΠΉ (ΠΎΠΏΡΠΈΠΉ) ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "+" Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ, Π° ΡΠΈΠΌΠ²ΠΎΠ» "-" -- Π΄Π»Ρ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΈΡ.
%
ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΎΠ΄ΡΠ»Ρ (ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ) -- Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΈΠΌΠ²ΠΎΠ» % ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π°.
~
Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. [ΡΠΈΠ»ΡΠ΄Π°] Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $HOME. ~bozo -- Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ bozo, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ~bozo Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΅Π³ΠΎ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ~/ -- ΡΡΠΎ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ~/ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
bash$ echo ~bozo
/home/bozo
bash$ echo ~
/home/bozo
bash$ echo ~/
/home/bozo/
bash$ echo ~:
/home/bozo:
bash$ echo ~nonexistent-user
~nonexistent-user
~+
ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $PWD.
~-
ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $OLDPWD.
^
Π½Π°ΡΠ°Π»ΠΎ-ΡΡΡΠΎΠΊΠΈ. Π ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "^" Π·Π°Π΄Π°Π΅Ρ Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°.
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»
ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°. Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°Π±ΠΈΡΠ°Π΅ΡΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ CONTROL + <ΠΊΠ»Π°Π²ΠΈΡΠ°>.