Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° языкС сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 45

Автор МСндСль ΠšΡƒΠΏΠ΅Ρ€

bash$ cksum /boot/vmlinuz

1670054224 804083 /boot/vmlinuz


bash$ md5sum /boot/vmlinuz

0f43eccea8f09e0a0b2b5cf1dcf333ba /boot/vmlinuz


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° cksum Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-29. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности Ρ„Π°ΠΉΠ»Π°

#!/bin/bash

# file-integrity.sh: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅


E_DIR_NOMATCH=70

E_BAD_DBFILE=71


dbfile=File_record.md5

# Π€Π°ΠΉΠ» для хранСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм.


set_up_database ()

{

echo ""$directory"" > "$dbfile"

# Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку Ρ„Π°ΠΉΠ»Π°.

md5sum "$directory"/* >> "$dbfile"

# Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы md5 ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ².

}


check_database ()

{

local n=0

local filename

local checksum


# ------------------------------------------- #

# Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ эта ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Π°,

#+ Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Ρ‚ΡŒΡΡ сСйчас, Ρ‡Π΅ΠΌ ΠΆΠ°Π»Π΅Ρ‚ΡŒ ΠΎΠ± этом ΠΏΠΎΡ‚ΠΎΠΌ.


if [ ! -r "$dbfile" ]

then

echo "НС ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ суммами!"

exit $E_BAD_DBFILE

fi

# ------------------------------------------- #


while read record[n]

do


directory_checked="${record[0]}"

if [ "$directory_checked" != "$directory" ]

then

echo "Имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ совпадаСт с записаным Π² Ρ„Π°ΠΉΠ»Π΅!"

# ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

exit $E_DIR_NOMATCH

fi


if [ "$n" -gt 0 ] # НС имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

then

filename[n]=$( echo ${record[$n]} | awk '{ print $2 }' )

# md5sum записываСт Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС,

#+ сначала ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму, Π·Π°Ρ‚Π΅ΠΌ имя Ρ„Π°ΠΉΠ»Π°.

checksum[n]=$( md5sum "${filename[n]}" )


if [ "${record[n]}" = "${checksum[n]}" ]

then

echo "Π€Π°ΠΉΠ» ${filename[n]} Π½Π΅ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½."

else

echo "ΠžΠ¨Π˜Π‘ΠšΠ ΠšΠžΠΠ’Π ΠžΠ›Π¬ΠΠžΠ™ БУММЫ для Ρ„Π°ΠΉΠ»Π° ${filename[n]}!"

# Π€Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

fi


fi


let "n+=1"

done <"$dbfile" # Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.


}


# =================================================== #

# main ()


if [ -z "$1" ]

then

directory="$PWD" # Если ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ Π·Π°Π΄Π°Π½,

else #+ Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

directory="$1"

fi


clear # ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° экрана.


# ------------------------------------------------------------------ #

if [ ! -r "$dbfile" ] # НСобходимо ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ суммами?

then

echo "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ суммами, \""$directory"/"$dbfile"\"."; echo

set_up_database

fi

# ------------------------------------------------------------------ #


check_database # Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.


echo


# Π’Ρ‹Π²ΠΎΠ΄ этого сцСнария ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»,

#+ это особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ².


# Π‘ΠΎΠ»Π΅Π΅ строгая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности Ρ„Π°ΠΉΠ»ΠΎΠ²,

#+ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° "Tripwire",

#+ http://sourceforge.net/projects/tripwire/.


exit 0

Π‘ΠΎΠ»Π΅Π΅ творчСский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ использованию md5sum Π²Ρ‹ Π½ΠΉΠ΄Π΅Ρ‚Π΅ Π² ΠŸΡ€ΠΈΠΌΠ΅Ρ€ A-21.

shred

НадСТноС, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности, стираниС Ρ„Π°ΠΉΠ»Π°, посрСдством ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ записи Π² Ρ„Π°ΠΉΠ» случайной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ эффСкт, Ρ‡Ρ‚ΠΎ ΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-42, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это Π±ΠΎΠ»Π΅Π΅ изящным ΠΈ бСзопасным способом.

ЯвляСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GNU fileutils.

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ряд Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС-Ρ‚Π°ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ shred.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

uuencode

Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для кодирования Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² символы ASCII, послС Ρ‚Π°ΠΊΠΎΠ³ΠΎ кодирования Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚, с достаточной ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ бСзопасности, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ сСти, Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² элСктронныС письма ΠΈ Ρ‚.ΠΏ..

uudecode

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° дСкодирования Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ uuencode.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-30. Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

#!/bin/bash


lines=35 # 35 строк для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ достаточно).


for File in * # ΠžΠ±Ρ…ΠΎΠ΄ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅...

do

search1=`head -$lines $File | grep begin | wc -w`

search2=`tail -$lines $File | grep end | wc -w`

# Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со слова "begin",

#+ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ словом "end".

if [ "$search1" -gt 0 ]

then

if [ "$search2" -gt 0 ]

then

echo "дСкодируСтся Ρ„Π°ΠΉΠ» - $File -"

uudecode $File

fi

fi

done


# ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ самого сСбя, для дСкодирования,

#+ Ρ‚ΠΎ это Π²Π²Π΅Π΄Π΅Ρ‚ Π΅Π³ΠΎ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅

#+ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² тСкстС сцСнария Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ слова "begin" ΠΈ "end".


exit 0

ΠŸΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… тСкстовых сообщСний ΠΈΠ· новостных Π³Ρ€ΡƒΠΏΠΏ Usenet, ΠΎΡ‡Π΅Π½ΡŒ нСлишним Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ тСкст, ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π΅ fold -s.

mimencode, mmencode

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ mimencode ΠΈ mmencode ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² элСктронныС письма. Π₯отя ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ pine ΠΈΠ»ΠΈ kmail) ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ влоТСния Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΈΠ· сцСнария Π½Π° языкС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

crypt

Одно врСмя, это Π±Ρ‹Π»Π° стандартная, для UNIX, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ².[ 31 ] ΠŸΠΎΠ»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅, ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ постановлСния ряда стран, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ экспорт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ практичСски ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΡΡ‡Π΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΡŽ crypt ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° UNIX-систСм (Π² Ρ‚ΠΎΠΌ числС ΠΈ Linux). К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, программистами Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ мноТСство Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², ΠΈ срСди Π½ΠΈΡ… cruft (см. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ A-5).

ΠŸΡ€ΠΎΡ‡Π΅Π΅

mktemp

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с "ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ" ΠΈΠΌΠ΅Π½Π΅ΠΌ.

PREFIX=filename

tempfile=`mktemp $PREFIX.XXXXXX`

# ^^^^^^ НСобходимо ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ 6 Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ

echo "имя Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° = $tempfile"

# имя Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° = filename.QA2ZpY

# ΠΈΠ»ΠΈ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅...


make

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° для компиляции ΠΈ сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Но ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для выполнСния Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, основанных Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ наличия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² исходных Ρ„Π°ΠΉΠ»Π°Ρ….

Команда make ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ Makefile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ зависимостСй ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ для удовлСтворСния этих зависимостСй.

install

Π‘Π²ΠΎΠ΅Π³ΠΎ Ρ€ΠΎΠ΄Π° -- ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° копирования Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° cp, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ½Π° встрСчаСтся Π² Makefile (Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ make install :). Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сцСнариях установки ПО.

dos2unix

Автор ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ -- Benjamin Lin со-Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰ΠΈ. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для прСобразования тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° DOS (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ строки Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ символов CR-LF) Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ UNIX (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ строки Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ символом LF) ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

ptx

Команда ptx [targetfile] Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ a упорядочСнный ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ для targetfile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ форматирования, Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅.

more, less

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ постраничного просмотра тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π° stdout. ΠœΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сцСнариях Π² качСствС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

12.6. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠ΅Ρ‚ΡŒΡŽ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, описываСмыС Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ исслСдовании ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ процСссов ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±ΠΎΡ€ΡŒΠ±Π΅ со спамСрами.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΈ статистика

host

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΠ·Π»Π΅ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ IP адрСсу, выполняя поиск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слуТбы DNS.

bash$ host surfacemail.com

surfacemail.com. has address 202.92.42.236