рТБЛФЙЮЕУЛПЕ ЪБОСФЙЕ. тБВПФБ У ЖБКМБНЙ Ч UNIX рТБЛФЙЮЕУЛПЕ ЪБОСФЙЕ. тБВПФБ У ЖБКМБНЙ Ч UNIX гЕМШ ЪБОСФЙС: ЪОБЛПНУФЧП У ЛПНБОДОПК УФТПЛПК UNIX, ЛПНБОДБНЙ РП ТБВПФЕ У ЖБКМПЧПК УЙУФЕНПК Й ЛПНБОДБНЙ ПВТБВПФЛЙ ФЕЛУФПЧЩИ ЖБКМПЧ.
уГЕОБТЙК: ъОБЛПНУФЧП У ЛБФБМПЗБНЙ UNIX
ч ЬФПН УГЕОБТЙЙ ВХДЕФ ПУЧЕЭЕОП ЪОБЛПНУФЧП У ЛПНБОДБНЙ UNIX, ЙЪХЮЕОЙЕ ЖБКМПЧПК УЙУФЕНЩ Й ВБЪПЧЩИ ЛБФБМПЗПЧ, УПЪДБОЙЕ ТБВПЮЕК УТЕДЩ Ч ДПНБЫОЕН ЛБФБМПЗЕ РПМШЪПЧБФЕМС ДМС ЧЩРПМОЕОЙС ЧУЕИ РПУМЕДХАЭЙИ ЛПНБОД.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ РПУМЕ ЧИПДБ Ч УЙУФЕНХ.
рПМХЮЙФШ ЙНС ФЕЛХЭЕЗП ЛБФБМПЗБ У РПНПЭША ЛПНБОДЩ pwd:
user@desktop ~ $ pwd /home/user/
рЕТЕКФЙ Ч ЛПТОЕЧПК ЛБФБМПЗ У РПНПЭША ЛПНБОДЩ cd /:
user@desktop ~ $ cd / user@desktop / $ pwd / пФНЕФЙФШ, ЛБЛ ЙЪНЕОЙМПУШ УФТПЛБ РТЙЗМБЫЕОЙС.
рПУНПФТЕФШ УПДЕТЦЙНПЕ ЛПТОЕЧПЗП ЛБФБМПЗБ У РПНПЭША ЛПНБОДЩ ls:
user@desktop / $ ls bin dev home mnt proc sbin tmp var boot etc lib opt root sys usr
уТБЧОЙФШ У ЙУРПМШЪПЧБОЙЕН «ТБУЛБТБЫЕООПЗП» ЧЩЧПДБ ЛПНБОДЩ ls -F --color:
user@desktop / $ ls -F --color bin/ dev/ home/ mnt/ proc/ sbin/ tmp/ var/ boot/ etc/ lib/ opt/ root/ sys/ usr/ дЙТЕФПТЙЙ ПФНЕЮБАФУС УЙОЙН ГЧЕФПН Й ЪОБЛПН «/» РПУМЕ ЙНЕОЙ.
рПУНПФТЕФШ УПДЕТЦЙНПЕ ДПНБЫОЕЗП ЛБФБМПЗБ У РПНПЭША ЛПНБОДЩ ls -F --color ~:
user@desktop / $ ls -F --color ~ user@desktop / $ чПЪНПЦОП, ДПНБЫОЙК ЛБФБМПЗ РХУФ.
чЕТОХФШУС Ч ДПНБЫОЙК ЛБФБМПЗ У РПНПЭША cd ВЕЪ РБТБНЕФТПЧ:
user@desktop / $ cd user@desktop ~ $
уПЪДБФШ ДЙТЕЛФПТЙА test У РПНПЭША ЛПНБОДЩ mkdir test:
user@desktop ~ $ mkdir test
рПУНПФТЕФШ ПВОПЧМЈООПЕ УПДЕТЦЙНПЕ ДПНБЫОЕЗП ЛБФБМПЗБ ls -F --color:
user@desktop ~ $ ls -F --color test/
уПЪДБФШ РПДДЙТЕЛФПТЙА subtest Ч ДЙТЕЛФПТЙЙ test ЛПНБОДПК mkdir test/subtest:
user@desktop ~ $ mkdir test/subtest
рПУНПФТЕФШ УПДЕТЦЙНПЕ ДПНБЫОЕЗП ЛБФБМПЗБ Й ЕЗП РПДЛБФБМПЗПЧ У РПНПЭША ЛМАЮБ ТЕЛХТУЙЧОПЗП РТПУНПФТБ -R Ч ЛПНБОДЕ ls -F --color -R:
user@desktop ~ $ ls -F --color -R .: test/ test: subtest/ test/subtest:
уГЕОБТЙК: йЪХЮЕОЙЕ ФЙРПЧ ЖБКМПЧ Ч UNIX
ч ЬФПН УГЕОБТЙЙ ТБУУНБФТЙЧБАФУС ФЙРЩ ЖБКМПЧ Ч UNIX: РТПУФЩЕ ЖБКМЩ, ДЙТЕЛФПТЙЙ, УУЩМЛЙ. йЪХЮБАФУС ЛПНБОДЩ УПЪДБОЙС Й ЛПРЙТПЧБОЙС ЖБКМПЧ. рПЛБЪЩЧБЕФУС ТБЪОЙГБ НЕЦДХ ЦЕУФЛЙНЙ Й УЙНЧПМЙЮЕУЛЙНЙ УУЩМЛБНЙ, НЕЦДХ ЛПРЙТПЧБОЙЕН Й РЕТЕОПУПН ЖБКМБ.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ. дЙТЕЛФПТЙС test РПУМЕ РТЕДЩДХЭЕЗП УГЕОБТЙС.
CПЪДБФШ РХУФПК ЖБКМ У РПНПЭША ЛПНБОДЩ touch test/first.txt:
user@desktop ~ $ touch test/first.txt user@desktop ~ $ ls -F --color test/ first.txt subtest/
дПВБЧЙФШ УФТПЛХ ФЕЛУФБ Ч ЛПОЕГ ЖБКМБ У РПНПЭША ЛПНБОДЩ echo "Hello, world" >> test/first.txt Й РЕТЕОБРТБЧМЕОЙС ЧЩЧПДБ:
user@desktop ~ $ echo "Hello, world" >> test/first.txt
рПУНПФТЕФШ УПДЕТЦЙНПЕ ЖБКМБ У РПНПЭША ЛПНБОДЩ cat test/first.txt:
user@desktop ~ $ cat test/first.txt Hello, world user@desktop ~ $
рПУНПФТЕФШ ТБУЫЙТЕООХА ЙОЖПТНБГЙА П ЛБФБМПЗЕ, ЙУРПМШЪХС ЛМАЮ -l ЛПНБОДЩ ls. ls -F --color -l test:
user@desktop ~ $ ls -F --color -l test ЙФПЗП 4 -rw-r--r-- 1 user users 13 пЛФ 15 20:48 first.txt drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/
дПВБЧЙФШ РУЕЧДПОЙН ЛПНБОДОПК ПВПМПЮЛЙ, ЮФПВЩ УПЛТБФЙФШ ТБЪНЕТ ЛПНБОДЩ, У РПНПЭША ЛПНБОДЩ alias ls='ls -F --color -l':
user@desktop ~ $ alias ls='ls -F --color -l' user@desktop ~ $ ls test ЙФПЗП 4 -rw-r--r-- 1 user users 13 пЛФ 15 20:48 first.txt drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/
рПУНПФТЕФШ ЗМХВЦЕ ОБ ДЙТЕЛФПТЙА test, ЙУРПМШЪХС ЛМАЮЙ -a Й -i. ls -a -i test
user@desktop ~ $ ls -a -i test ЙФПЗП 7 drwxr-xr-x 3 user users 104 пЛФ 15 20:49 ./ drwx------ 67 user users 3352 пЛФ 15 20:42 ../ -rw-r--r-- 1 user users 13 пЛФ 15 20:48 first.txt drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/ рЕТЧЩК УФПМВЕГ – ОПНЕТБ ЙОДЕЛУОЩИ ХЪМПЧ ЖБКМПЧПК УЙУФЕНЩ. фТЕФЙК УФПМВЕГ – ЮЙУМП ЦЈУФЛЙИ УУЩМПЛ ЖБКМБ.
рЕТЕКФЙ Ч ЛБФБМПЗ test У РПНПЭША ЛПНБОДЩ cd test
user@desktop ~ $ cd test
уЛПРЙТПЧБФШ ЖБКМ У РПНПЭША ЛПНБОДЩ cp first.txt copy1.txt:
user@desktop test $ cp first.txt copy1.txt user@desktop test $ ls -a -i ЙФПЗП 11 5522107 drwxr-xr-x 3 user users 136 пЛФ 15 20:54 ./ 384269 drwx------ 67 user users 3352 пЛФ 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 пЛФ 15 20:54 copy1.txt 5937954 -rw-r--r-- 1 user users 13 пЛФ 15 20:48 first.txt 6292625 drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/ оПЧЩК ЖБКМ ЙНЕЕФ УЧПК УПВУФЧЕООЩК ЙОДЕЛУОЩК ХЪЕМ.
рЕТЕЙНЕОПЧБФШ ЖБКМ У РПНПЭША ЛПНБОДЩ mv first.txt orig.txt. mv first.txt orig.txt:
user@desktop test $ mv first.txt orig.txt user@desktop test $ ls -a -i ЙФПЗП 11 5522107 drwxr-xr-x 3 user users 128 пЛФ 15 20:59 ./ 384269 drwx------ 67 user users 3352 пЛФ 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 пЛФ 15 20:54 copy1.txt 5937954 -rw-r--r-- 1 user users 13 пЛФ 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/ пФНЕФЙН, ЮФП ЙЪНЕОЙМПУШ ФПМШЛП ЙНС ЖБКМБ, ЧУЕ ПУФБМШОЩЕ БФТЙВХФЩ ПУФБМЙУШ РТЕЦОЙНЙ.
уПЪДБФШ ЦЈУФЛХА УУЩМЛХ ЛПНБОДПК ln orig.txt copy2.txt:
user@desktop test $ ln orig.txt copy2.txt user@desktop test $ ls -a -i ЙФПЗП 15 5522107 drwxr-xr-x 3 user users 160 пЛФ 15 21:00 ./ 384269 drwx------ 67 user users 3352 пЛФ 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 пЛФ 15 20:54 copy1.txt 5937954 -rw-r--r-- 2 user users 13 пЛФ 15 20:48 copy2.txt 5937954 -rw-r--r-- 2 user users 13 пЛФ 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/ дПВБЧЙМБУШ ЕЭЈ ПДОБ УУЩМЛБ ОБ ФПФ ЦЕ ЖБКМ, ЮЙУМП УУЩМПЛ ХЧЕМЙЮЙМПУШ ОБ 1.
уПЪДБФШ УЙНЧПМЙЮЕУЛХА УУЩМЛХ ЛПНБОДПК ln -s orig.txt orig.lnk:
user@desktop test $ ln -s orig.txt orig.lnk user@desktop test $ ls -a -i ЙФПЗП 15 5522107 drwxr-xr-x 3 user users 184 пЛФ 15 21:18 ./ 384269 drwx------ 67 user users 3352 пЛФ 15 21:02 ../ 5938127 -rw-r--r-- 1 user users 13 пЛФ 15 20:54 copy1.txt 5937954 -rw-r--r-- 2 user users 13 пЛФ 15 20:48 copy2.txt 5938189 lrwxrwxrwx 1 user users 8 пЛФ 15 21:18 orig.lnk -> orig.txt 5937954 -rw-r--r-- 2 user users 13 пЛФ 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/ оПЧЩК ЖБКМ ЙНЕЕФ ОПЧЩК ЙОДЕЛУОЩК ХЪЕМ Й ТБЪНЕТ, ТБЧОЩК ЙНЕОЙ ЖБКМБ orig.txt.
уТБЧОЙН УПДЕТЦЙНПЕ ЖБКМПЧ РТЙ ПВТБЭЕОЙЙ Л ОЙН РП ЙНЕОЙ:
user@desktop test $ cat orig.txt Hello, world user@desktop test $ cat copy2.txt Hello, world user@desktop test $ cat orig.lnk Hello, world
л ПДОЙН Й ФЕН ЦЕ ДБООЩН НПЦОП ПВТБФЙФШУС ЮЕТЕЪ ЦЕУФЛХА ЙМЙ УЙНЧПМЙЮЕУЛХА УУЩМЛХ.
уГЕОБТЙК: рПЙУЛ УЙУФЕНОЩИ ЦХТОБМПЧ
ч ЬФПН УГЕОБТЙЙ ЙЪХЮБЕФУС ЛПНБОДБ РПЙУЛБ ЖБКМПЧ Й ДЙТЕЛФПТЙК.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ, ДЙТЕЛФПТЙС test РПУМЕ РТПЫМПЗП УГЕОБТЙС.
рЕТЕКФЙ Ч ЛБФБМПЗ test У РПНПЭША ЛПНБОДЩ cd test:
user@desktop ~ $ cd test
чЩЧЕУФЙ УРЙУПЛ ЧУЕИ ЖБКМПЧ Й ДЙТЕЛФПТЙК Ч ФЕЛХЭЕК ДЙТЕЛФПТЙЙ, ЧЛМАЮБС УПДЕТЦЙНПЕ РПДДЙТЕЛФПТЙК У РПНПЭША ЛПНБОДЩ find:
user@desktop ~ $ find . ./orig.lnk ./orig.txt ./subtest ./copy1.txt ./copy2.txt
оБКФЙ ЧУЕ ЖБКМЩ Й ДЕТЙЛФПТЙЙ Ч ФЕЛХЭЕК ДЙТЕЛФПТЙЙ Й ЕЕ РПДДЙТЕЛФПТЙСИ, ЛПФПТЩЕ ОБЮЙОСАФУС ОБ «o» У РПНПЭША ЛПНБОДЩ find -name "o*":
user@desktop ~ $ find -name "o*" ./orig.lnk ./orig.txt
оБКФЙ ЧУЕ ЖБКМЩ Й ДЕТЙЛФПТЙЙ Ч ДЙТЕЛФПТЙЙ /etc Й ЕЕ РПДДЙТЕЛФПТЙСИ, ЛПФПТЩЕ ОБЮЙОСАФУС ОБ «o» У РПНПЭША ЛПНБОДЩ find /etc -name "o*":
user@desktop ~ $ find /etc -name "o*" /etc/apm/other.d /etc/joe/syntax/ocaml.jsf /etc/opt /etc/ppp/options-pptp /etc/ppp/options-pppoe /etc/ppp/options /etc/ssl/openssl.cnf /etc/dpkg/origins /etc/pam.d/other /etc/texmf/tex/plain/config/omega.ini
оБКФЙ ЧУЕ ПВЩЮОЩЕ ЖБКМЩ Ч ДЙТЕЛФПТЙЙ /etc Й ЕЕ РПДДЙТЕЛФПТЙСИ, ЛПФПТЩЕ ОБЮЙОБАФУС ОБ «o» У РПНПЭША ЛПНБОДЩ find /etc -name "o*" -a -type f:
user@desktop ~ $ find /etc -name "o*" -a -type f /etc/joe/syntax/ocaml.jsf /etc/ppp/options-pptp /etc/ppp/options-pppoe /etc/ppp/options /etc/ssl/openssl.cnf /etc/pam.d/other /etc/texmf/tex/plain/config/omega.ini
оБКФЙ ЧУЕ ПВЩЮОЩЕ ЖБКМЩ Ч ДЙТЕЛФПТЙЙ /var/ Й ЕЕ РПДДЙТЕЛФПТЙСИ, ЪБЛБОЮЙЧБАЭЙЕУС ОБ «log»:
user@desktop ~ $ find /var -name "*log" -a -type f find: /var/lib/mysql: Permission denied find: /var/lib/samba/private: Permission denied ... /var/log/emerge.log /var/log/lastlog /var/log/faillog /var/log/Xorg.0.log уРЙУПЛ ОБКДЕООЩИ ЖБКМПЧ НПЦЕФ ВЩФШ УМЙЫЛПН ВПМШЫЙН Й ДМС ЕЗП РТПУНПФТБ НПЦОП ЧПУРПМШЪПЧБФШУС «РТПЛТХФЛПК» ФЕТНЙОБМБ У РПНПЭША ЛМБЧЙЫ Shift-PgUp Й Shift-PgDn
йУЛМАЮЙФШ ЧЩЧПД УППВЭЕОЙК ПВ ПЫЙВЛБИ (ОБРТЙНЕТ, «Permission denied») У РПНПЭША РЕТЕОБРТБЧМЕОЙС ЧЩЧПДБ ПЫЙВПЛ Ч УРЕГЙБМШОПЕ ХУФТПКУФЧП /dev/null. дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ find /var -name "*log" -a -type f 2>/dev/null
user@desktop ~ $ find /var -name "*log" -a -type f 2>/dev/null /var/log/emerge.log /var/log/lastlog /var/log/faillog /var/log/Xorg.0.log
уПЪДБФШ ДЙТЕЛФПТЙА logs У РПНПЭША ЛПНБОДЩ mkdir test/logs:
user@desktop ~ $ mkdir test/logs
уЛПРЙТПЧБФШ ОБКДЕООЩЕ ЖБКМЩ Ч МПЛБМШОХА ДЙТЕЛФПТЙА У РПНПЭША РБТБНЕФТБ -exec ЛПНБОДЩ find. дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ find /var -name "*log" -a -type f -exec cp {} test/logs/ 2>/dev/null:
user@desktop ~ $ find /var -name "*log" -a -type f -exec cp {} test/logs/ 2>/dev/null user@desktop ~ $ ls test/logs ЙФПЗП 789 -rw-r----- 1 user users 601033 пЛФ 16 18:37 emerge.log -rw-r--r-- 1 user users 292292 пЛФ 16 18:37 lastlog -rw-r--r-- 1 user users 37383 пЛФ 16 18:37 Xorg.0.log вЩМЙ УЛПРЙТПЧБОЩ ЧУЕ ЖБКМЩ, РТБЧБ ОБ ЮФЕОЙЕ ЛПФПТЩИ Х ОБУ ЕУФШ.
уГЕОБТЙК: бТИЙЧЙТПЧБОЙЕ Й ДЕБТИЙЧЙТПЧБОЙЕ ЖБКМПЧ Й ДЙТЕЛФПТЙК
ч ЬФПН УГЕОБТЙЙ ЙЪХЮБЕФУС ЛПНБОДБ БТИЙЧЙТПЧБОЙС ЖБКМПЧ Й ДЙТЕЛФПТЙК.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ, ДЙТЕЛФПТЙС test РПУМЕ РТПЫМПЗП УГЕОБТЙС.
рЕТЕКФЙ Ч ДПНБЫОАА ДЙТЕЛФПТЙА У РПНПЭША ЛПНБОДЩ cd:
user@desktop test $ cd user@desktop ~ $
уПЪДБФШ БТИЙЧ У ЙНЕОЕН test.tar.gz У РТЙНЕОЕОЙЕН УЦБФЙС, УПДЕТЦБЭЙК ДЙТЕЛФПТЙА test У РПНПЭША ЛПНБОДЩ tar -czf test.tar.gz test:
user@desktop ~ $ tar -czf test.tar.gz test user@desktop ~ $ ls drwxr-xr-x 4 user users 208 пЛФ 16 18:36 test/ -rw-r--r-- 1 user users 79173 пЛФ 16 18:49 test.tar.gz
уПЪДБФШ ОПЧХА ДЙТЕЛФПТЙА ДМС УПДЕТЦЙНПЗП БТИЙЧБ ЛПНБОДПК mkdir test2:
user@desktop ~ $ mkdir test2
рЕТЕКФЙ Ч ОПЧХА ДЙТЕЛФПТЙА У РПНПЭША ЛПНБОДЩ cd test2:
user@desktop ~ $ cd test2
тБЪЧЕТОХФШ УПДЕТЦЙНПЕ БТИЙЧБ Ч ФЕЛХЭХА ДЙТЕЛФПТЙА У РПНПЭША ЛПНБОДЩ tar -xzf ../test.tar.gz:
user@desktop test2 $ tar -xzf ../test.tar.gz
хВЕДЙФШУС, ЮФП УПДЕТЦЙНПЕ ТБУРБЛПЧБООПЗП БТИЙЧБ УПЧРБДБЕФ У ПТЙЗЙОБМШОПК ДЙТЕЛФПТЙЕК. чЧЕУФЙ ЛПНБОДХ ls -l -F:
user@desktop test2 $ ls -l -F ЙФПЗП 0 drwxr-xr-x 4 user users 208 пЛФ 16 18:36 test/ user@desktop test2 $ ls -l -F test ЙФПЗП 12 -rw-r--r-- 1 user users 13 пЛФ 15 20:54 copy1.txt -rw-r--r-- 2 user users 13 пЛФ 15 20:48 copy2.txt drwxr-xr-x 2 user users 136 пЛФ 16 18:37 logs/ lrwxrwxrwx 1 user users 8 пЛФ 16 18:54 orig.lnk -> orig.txt -rw-r--r-- 2 user users 13 пЛФ 15 20:48 orig.txt drwxr-xr-x 2 user users 48 пЛФ 13 21:33 subtest/
уГЕОБТЙК: CПЪДБОЙЕ ОПЧЩИ ФЕЛУФПЧЩИ ЖБКМПЧ
ч ЬФПН УГЕОБТЙЙ ЙЪХЮБАФУС ЛПНБОДЩ ДМС УПЪДБОЙС Й НПДЙЖЙГЙТПЧБОЙС ФЕЛУФПЧЩИ ЖБКМПЧ.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ.
чЧЕУФЙ ЛПНБОДХ echo "One line":
user@desktop test $ echo "One line" One line дБООБС ЛПНБОДБ РТЙОЙНБЕФ УФТПЛХ Ч ЧЙДЕ БТЗХНЕОФБ Й ЧЩЧПДЙФ ЕЈ ОБ УФБОДБТФОЩК ЧЩЧПД.
чЧЕУФЙ ФХ ЦЕ ЛПНБОДХ, ОП РЕТЕОБРТБЧЙФШ ЧЩЧПД Ч ЖБКМ second.txt У РПНПЭША «>». чЧЕУФЙ ЛПНБОДХ echo "One line" > second.txt:
user@desktop test $ echo "One line" > second.txt
дПВБЧЙФШ Ч ЛПОЕГ ЖБКМБ second.txt УФТПЛХ «A line» У РПНПЭША ДТХЗПЗП РЕТЕОБРТБЧМЕОЙС echo "A line" >> second.txt:
user@desktop test $ echo "A line" >> second.txt
чЩЧЕУФЙ УПДЕТЦЙНПЕ ЖБКМБ У РПНПЭША ЛПНБОДЩ cat second.txt:
user@desktop test $ cat second.txt One line A line
у РПНПЭША ЛПНБОДЩ cat НПЦОП УПЪДБЧБФШ НОПЗПУФТПЮОЩЕ ЖБКМЩ –, ЕУМЙ РЕТЕПРТЕДЕМЙФШ ЧЩЧПД РТПЗТБННЩ Ч ЖБКМ Й ЧЧПДЙФШ ФЕЛУФ ДП ОБЦБФЙС Ctrl-D (ЛПОЕГ ЧЧПДБ). чЧЕУФЙ ЛПНБОДХ cat >multiline.txt Й ОБВТБФШ ФЕЛУФ
user@desktop test $ cat >multiline.txt Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye! (Ctrl+D) user@desktop test $
хВЕДЙФШУС, ЮФП УПДЕТЦЙНПЕ ЖБКМБ УПЧРБДБЕФ У ЧЧЕДЈООЩН ФЕЛУФПН, ЧЛМАЮБС ЧУЕ РЕТЕЧПДЩ УФТПЛЙ. дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ cat multiline.txt
user@desktop test $ cat multiline.txt Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye!
пУОПЧОЩН ОБЪОБЮЕОЙЕН ЛПНБОДЩ cat СЧМСЕФУС ПВЯЕДЙОЕОЙЕ ЖБКМПЧ, ЙНЕОБ ЛПФПТЩИ РЕТЕДБАФУС ЛБЛ БТЗХНЕОФЩ ЛПНБОДОПК УФТПЛЙ. пВЯЕДЙОЙФШ ЖБКМЩ У РПНПЭША ЛПНБОДЩ cat orig.txt second.txt multiline.txt > big.txt:
user@desktop test $ cat orig.txt second.txt multiline.txt > big.txt
хВЕДЙФШУС, ЮФП ОПЧЩК ЖБКМ УПДЕТЦЙФ УФТПЛЙ ЙЪ РЕТЕЮЙУМЕООЩИ ЖБКМПЧ У РПНПЭША ЛПНБОДЩ cat big.txt:
user@desktop test $ cat big.txt Hello, world One line A line Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye!
уГЕОБТЙК: тБЪТЕЪБОЙЕ Й УЛМЕЙЧБОЙЕ ЖБКМПЧ
ч ДБООПН УГЕОБТЙЙ ЙЪХЮБЕФУС, ЛБЛ ЧЩДЕМСФШ ЙОЖПТНБГЙА, ТБЪВЙФХА ОБ ЮБУФЙ У РПНПЭША УРЕГЙБМШОПЗП УЙНЧПМБ-ТБЪДЕМЙФЕМС (ОБРТЙНЕТ, РТППВЕМБ ЙМЙ УЙНЧПМБ «:»), ЙЪ ЖБКМПЧ Й УПЪДБЧБФШ ОПЧЩЕ УФТХЛФХТЙТПЧБООЩЕ ЖБКМЩ.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ.
рПУНПФТЕФШ УПДЕТЦЙНПЕ ЖБКМБ /etc/passwd, Ч ЛПФПТПН УПДЕТЦЙФУС ЙОЖПТНБГЙС П РПМШЪПЧБФЕМСИ УЙУФЕНЩ, У РПНПЭША ЛПНБОДЩ cat /etc/passwd:
user@desktop test $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/false daemon:x:2:2:daemon:/sbin:/bin/false adm:x:3:4:adm:/var/adm:/bin/false lp:x:4:7:lp:/var/spool/lpd:/bin/false sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown ... лБЦДБС УФТПЛБ ИТБОЙФ ЪБРЙУШ ПВ ПФДЕМШОПН РПМШЪПЧБФЕМЕ. ъБРЙУШ УПУФПЙФ ЙЪ РПМЕК, ТБЪДЕМЈООЩИ УЙНЧПМПН «:».
чЩДЕМЙФШ РЕТЧЩК УФПМВЕГ Ч ЛБЦДПК ЪБРЙУЙ, ХУФБОПЧЙЧ ТБЪДЕМЙФЕМШ Ч «:», У РПФПЭША ЛПНБОДЩ cat /etc/passwd | cut -f1 -d::
user@desktop test $ cat /etc/passwd | cut -f1 -d: root bin daemon adm lp sync shutdown ...
пФУПТФЙТПЧБФШ УРЙУПЛ РПМШЪПЧБФЕМЕК РП БМЖБЧЙФХ У РПНПЭША ЛПНБОДЩ cat /etc/passwd | cut -f1 -d: | sort:
user@desktop test $ cat /etc/passwd | cut -f1 -d: | sort adm alias apache at bin cron cyrus ...
чЩДЕМЙФШ УЕДШНПК УФПМВЕГ Ч ЛБЦДПК ЪБРЙУЙ, УППФЧЕФУФЧХАЭЙК ЛПНБОДОПК ПВПМПЮЛЕ РПМШЪПЧБФЕМС, У РПНПЭША ЛПНБОДЩ cat /etc/passwd | cut -f7 -d:
user@desktop test $ cat /etc/passwd | cut -f7 -d: /bin/bash /bin/false /bin/false /bin/false /bin/false /bin/sync ... уРЙУПЛ УПДЕТЦЙФ НОПЗП РПЧФПТСАЭЙИУС УФТПЛ.
хДБМЙФШ РПЧФПТСАЭЙЕУС УФТПЛЙ ЛПНБОДПК cat /etc/passwd | cut -f7 -d: | uniq:
user@desktop test $ cat /etc/passwd | cut -f7 -d: | uniq /bin/bash /bin/false /bin/sync /sbin/shutdown /sbin/halt /bin/false ... оЕЛПФПТЩЕ РПЧФПТСАЭЙЕУС УФТПЛЙ ПУФБМЙУШ, ФБЛ ЛБЛ УТБЧОЙЧБАФУС ФПМШЛП РПУМЕДПЧБФЕМШОЩЕ УФТПЛЙ.
дПВЙФШУС РПМОПК ХОЙЛБМШОПУФЙ, РТЕДЧБТЙФЕМШОП ПФУПТФЙТПЧБЧ УФТПЛЙ У РПНПЭША ЛПНБОДЩ sort. чЧЕУФЙ ЛПНБОДХ cat /etc/passwd | cut -f7 -d: | sort | uniq:
user@desktop test $ cat /etc/passwd | cut -f7 -d: | sort | uniq /bin/bash /bin/false /bin/sync /dev/null /sbin/halt /sbin/shutdown
чЩДЕМЙФШ РЕТЧЩК Й УЕДШНПК УФПМВЕГ ЖБКМБ /etc/passwd Ч ПФДЕМШОЩЕ ЖБКМЩ. дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДЩ cat /etc/passwd | cut -f1 -d: > users Й cat /etc/passwd | cut -f7 -d: > shells:
user@desktop test $ cat /etc/passwd | cut -f1 -d: > users user@desktop test $ cat /etc/passwd | cut -f7 -d: > shells
пВЯЕДЙОЙФШ ТЕЪХМШФБФЩ У РПНПЭША ЛПНБОДЩ paste users shells:
user@desktop test $ paste users shells root /bin/bash bin /bin/false daemon /bin/false adm /bin/false lp /bin/false sync /bin/sync ...
уГЕОБТЙК: вЩУФТЩК БОБМЙЪ ФЕЛУФПЧ
ч ДБООПН УГЕОБТЙЙ ЙЪХЮБАФУС ЛПНБОДЩ, ЛПФПТЩЕ РПЪЧПМСАФ РТПЧЕУФЙ РЕТЧЙЮОЩК БОБМЙЪ ЖБКМБ: У ЮЕЗП ПО ОБЮЙОБЕФУС, ЛБЛ ЪБЛБОЮЙЧБЕФУС Й ЛБЛПЧ ЕЗП ТБЪНЕТ.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ.
рПМХЮЙФШ ЮЙУМП УФТПЛ Ч ЖБКМЕ /etc/passwd У РМПНПЭША ЛПНБОДЩ wc -l /etc/passwd :
user@desktop test $ wc -l /etc/passwd 44 /etc/passwd
йМЙ ДТХЗЙН УРПУПВПН: РПУЮЙФБЧ ЮЙУМП УМПЧ Ч УПЪДБООПН ТБОЕЕ ЖБКМЕ users У РПНПЭША ЛПНБОДЩ cat users | wc -w:
user@desktop test $ cat users | wc -w 44
рПУНПФЕФШ РЕТЧЩЕ ОЕУЛПМШЛП УФТПЛ ДМЙООПЗП ЖБКМБ У РПНПЭША ЛПНБОДЩ head logs/Xorg.0.log:
user@desktop test $ head logs/Xorg.0.log X Window System Version 6.8.2 Release Date: 9 February 2005 X Protocol Version 11, Revision 0, Release 6.8.2 Build Operating System: Linux 2.6.13-gentoo i686 [ELF] Current Operating System: Linux thinkpad 2.6.13-gentoo #1 Wed Sep 7 01:03:14 MSD 2005 i686 Build Date: 08 October 2005 Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present
бОБМПЗЙЮОП, РПУНПФЕФШ РПУМЕДОЙЕ ОЕУЛПМШЛП УФТПЛ У РПНПЭША ЛПНБОДЩ tail logs/Xorg.0.log:
user@desktop test $ tail logs/Xorg.0.log (II) RADEON(0): [RESUME] Attempting to re-init Radeon hardware. (II) RADEON(0): [agp] Mode 0x1f000201 [AGP 0x8086/0x3340; Card 0x1002/0x4c66] (II) Mouse1: ps2EnableDataReporting: succeeded SetClientVersion: 0 8 SetGrabKeysState - disabled SetGrabKeysState - enabled (II) 3rd Button detected: disabling emulate3Button SetClientVersion: 0 8 SetGrabKeysState - disabled SetGrabKeysState - enabled ьФП ВЩЧБЕФ РПМЕЪОП РТЙ РТПУНПФТЕ УЙУФЕНОЩИ ЦХТОБМПЧ – Ч ОЙИ УБНЩЕ РПУМЕДОЙЕ УПВЩФЙС УПДЕТЦБФУС Ч ЛПОГЕ ЖБКМПЧ.
уГЕОБТЙК: рПЙУЛ УФТПЛ РП ТЕЗХМСТОЩН ЧЩТБЦЕОЙСН
ч ДБООПН УГЕОБТЙЙ ТБУУНБФТЙЧБЕФУС РТБЛФЙЮЕУЛПЕ ЙУРПМШЪПЧБОЙЕ ТЕЗХМСТОЩИ ЧЩТБЦЕОЙК ДМС РПЙУЛБ РП ФЕЛУФПЧЩН ЖБКМБН.
оБЮБМШОЩЕ ХУМПЧЙС: лПНБОДОБС УФТПЛБ. дЙТЕЛФПТЙС test/log У ОБКДЕООЩНЙ УЙУФЕНОЩНЙ ЦХТОБМБНЙ.
уТЕДЙ ОБКДЕООЩИ УЙУФЕНОЩИ ЦХТОБМПЧ РПУНПФТЕФШ ЖБКМ ЦХТОБМБ ЪБЗТХЪЛЙ ЗТБЖЙЮУЛПК УЙУФЕНЩ XFree86.0.log У РПНПЭША ЛПНБОДЩ less test/log/XFree86.0.log:
user@desktop ~ $ less test/log/XFree86.0.log чЩКФЙ ЙЪ РТПУНПФПТЭЙЛБ НПЦОП ОБЦБФЙЕН ЛМБЧЙЫЙ q.
оБКФЙ ЧУЕ РТЕДХРТЕЦДЕОЙС Ч ЦХТОБМЕ: УФТПЛБ, ОБЮЙОБАЭБСУС У «(WW)». дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ grep "^(WW)" test/log/XFree86.0.log:
user@desktop ~ $ grep "^(WW)" test/log/XFree86.0.log (WW) The directory "/usr/share/fonts/freefonts/" does not exist. (WW) The directory "/usr/share/fonts/unifont/" does not exist. (WW) The directory "/usr/share/fonts/artwiz/" does not exist. ...
рПМХЮЙФШ ЧУЕ УФТПЛЙ, УПДЕТЦБЭЙЕ УМЕДХАЭЙК ЫБВМПО: РПУМЕДПЧБФЕМШОПУФШ ЙЪ 1 ЙМЙ ВПМЕЕ ГЙЖТЩ ЙМЙ ВХЛЧЩ, ЪБФЕН УЙНЧПМ УПВБЛЙ, ЪБФЕН ЕЭЕ ПДОБ РПУМЕДПЧБФЕМШОПУФШ 1 ЙМЙ ВПМЕЕ ГЙЖТЩ ЙМЙ ВХЛЧЩ ЙМЙ ФПЮЛЙ, ЪБФЕН УЙНЧПМ ФПЮЛЙ, ЪБФЕН ПФ ДЧХИ ДП ЮЕФЩТЈИ ВХЛЧ (ЙНС ДПНЕОБ РЕТЧПЗП ХТПЧОС). фБЛЦЕ УМХЦЕВОЩК ЧЩЧПД ПЫЙВПЛ ХДБМСЕФУС (РЕТЕОБРТБЧМСЕФУС Ч ОХМЕЧПЕ ХУФТПКУФЧП). дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ grep "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:
user@desktop ~ $ grep "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null /etc/devfsd.conf:# Richard Gooch <rgooch@atnf.csiro.au> 3-JUL-2000 /etc/inittab:# Author: Miquel van Smoorenburg, <miquels@cistron.nl> /etc/inittab:# Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com> ... рТЙ ТБВПФЕ У ОЕУЛПМШЛЙНЙ ЖБКМБНЙ grep РП ХНПМЮБОЙА ЙУРПМШЪХЕФ ЧЩЧПД ЙНЕОЙ ЖБКМБ РЕТЕД ОБКДЕООПК УФПЛПК.
йЪВБЧЙФШУС ПФ ЙНЕОЙ ЖБКМБ Ч ОБЮБМЕ УФТПЛЙ У РПНПЭША ЛМАЮБ -h. чЧЕУФЙ ЛПНБОДХ grep -h "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:
user@desktop ~ $ grep -h "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null # Richard Gooch <rgooch@atnf.csiro.au> 3-JUL-2000 # Author: Miquel van Smoorenburg, <miquels@cistron.nl> # Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com> ...
дМС ЧЩЧПДБ ФПМШЛП ОБКДЕООПК РПДУФТПЛЙ ЙУРПМШЪХЕФУС ЛМАЮ -o. чЧЕУФЙ ЛПНБОДХ grep -ho "[a-zA-Z0-9]\+@[a-zA-Z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:
user@desktop ~ $ grep -ho "[a-zA-Z0-9]\+@[a-zA-Z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null rgooch@atnf.csiro.au miquels@cistron.nl volkerdi@ftp.cdrom.com ...
рПМХЮЙФШ ЧУЕ ЖБКМЩ ДЙТЕЛФПТЙЙ /etc/ У РПНПЭША ЛПНБОДЩ find /etc -type f 2>/dev/null, ЙЗОПТЙТХС ПЫЙВЛЙ:
user@desktop ~ $ find /etc -type f 2>/dev/null /etc/X11/xorg.conf.example /etc/X11/Sessions/kde-3.4 /etc/X11/Sessions/Xsession /etc/X11/chooser.sh ...
дМС ЛБЦДПЗП ЙЪ ОБКДЕООЩИ ЖБКМПЧ РТПЙЪЧЕУФЙ РПЙУЛ РПДУФТПЛЙ «nameserver». дМС ЬФПЗП ЧЧЕУФЙ ЛПНБОДХ find /etc -type f -exec grep "nameserver" {} \; 2>/dev/null:
user@desktop ~ $ find /etc -type f -exec grep "nameserver" {} \; 2>/dev/null # merge the new nameservers with the other options from the old ... grep --invert-match '^nameserver[[:space:]]' $REALRESOLVCONF nameserver 10.22.10.20 ...
дМС ВПМШЫЕЗП ХДПВУФЧБ ДПВБЧЙФШ ЧЩЧПД ЙНЕОЙ ЖБКМБ (ЛМАЮ -H) Й ОПНЕТБ УФТПЛЙ (ЛМАЮ -n), ОБ ЛПФПТПК ВЩМП ОБКДЕОП УПЧРБДЕОЙЕ, У РПНПЭША ЛПНБОДЩ find /etc -type f -exec grep -Hn "nameserver" {} \; 2>/dev/null:
user@desktop ~ $ find /etc -type f -exec grep -Hn "nameserver" {} \; 2>/dev/null /etc/ppp/ip-up:24: # merge the new nameservers with the other optio... /etc/ppp/ip-up:26: grep --invert-match '^nameserver[[:space... /etc/ppp/resolv.conf:1:nameserver 10.22.10.20 ... фБЛЙН ПВТБЪПН, ЛПНБОДБ grep НПЦЕФ ЬЖЖЕЛФЙЧОП ЙУРПМШЪПЧБФШУС ЧНЕУФЕ У ЛПНБОДПК find ДМС ОБИПЦДЕОЙС ЙОЖПТНБГЙЙ Ч ЖБКМБИ.
ъБДБОЙС ДМС УБНПРПДЗПФПЧЛЙ уПЪДБКФЕ ЛБФБМПЗ test1 Ч ДПНБЫОЕК ДЙТЕЛФПТЙЙ. уТБЧОЙФЕ ЧТЕНС УПЪДБОЙС УЙУФЕНОЩИ ЛБФБМПЗПЧ /bin, /tmp У ЛБФБМПЗПН test1.
уЛПРЙТХКФЕ ЖБКМ /bin/ls Ч МПЛБМШОХА ДЙТЕЛФПТЙА. рПУНПФТЙФЕ БФТЙВХФЩ ЬФПЗП ЖБКМБ. рПРТПВХКФЕ ЪБРХУФЙФШ ЕЗП.
уПЪДБКФЕ Ч МПЛБМШОПК ДЙТЕЛФПТЙЙ УЙНЧПМЙЮЕУЛХА УУЩМЛХ tmplnk ОБ ДЙТЕЛФПТЙА /tmp. уЛПРЙТХКФЕ ОЕУЛПМШЛП ЖБКМПЧ Ч ДЙТЕЛФТЙА tmplnk.
уТБЧОЙФЕ ЖБКМЩ /dev/tty1 Й /dev/hda1. лБЛПК ФЙР ПОЙ ЙНЕАФ? юЕН ПОЙ ПФМЙЮБАФУС?
оБКДЙФЕ ЧУЕ ЖБКМЩ Ч УЙУФЕНЕ, ЛПФПТЩЕ ВЩМЙ НПДЙЖЙГЙТПЧБОЩ ОЕ ВПМЕЕ УХФПЛ ОБЪБД.
у РПНПЭША ПДОПК ЛПНБОДЩ ОБКДЙФЕ ЧУЕ ЖБКМЩ У ТБУЫЙТЕОЙЕН .html Ч ДЙТЕЛФПТЙЙ /usr Й УЛПРЙТХКФЕ ЙИ Ч МПЛБМШОХА РБРЛХ htmls.
уПЪДБКФЕ БТИЙЧ ДЙТЕЛФПТЙЙ /etc Й ХЪОБКФЕ ЕЗП ТБЪНЕТ. рПРТПВХКФЕ УПЪДБФШ УЦБФЩК БТИЙЧ ФПК ЦЕ РБРЛЙ. уТБЧОЙФЕ УФЕРЕОШ УЦБФЙС gzip Й bzip2 ОБ ЬФПН РТЙНЕТЕ.
уПЪДБКФЕ ФЕЛУФПЧЩК ЖБКМ a.txt ЙЪ ДЕУСФЙ УФТПЛ. хЪОБКФЕ ЕЗП ТБЪНЕТ. уПЪДБКФЕ ОПЧЩК ЖБКМ, УПДЕТЦБЭЙК Ч УЕВЕ ЖБКМ a.txt ЮЕФЩТЕ ТБЪБ.
у РПНПЭША ПДОПК ЛПНБОДЩ ОБКДЙФЕ ЧУЕ ЖБКМЩ У ТБУЫЙТЕОЙЕН .txt Ч ДЙТЕЛФПТЙЙ /usr Й ПВЯЕДЙОЙФЕ ЙИ Ч ПДЙО ВПМШЫПК ЖБКМ big.txt.
рПМХЮЙФЕ У РПНПЭША ПДОПК ЛПНБОДЩ ЖБКМ, УПДЕТЦБЭЙК ЧУЕ ЮЙУМПЧЩЕ ЙДЕОФЙЖЙЛБФПТЩ РПМШЪПЧБФЕМЕК, ЪБТЕЗЙУФТЙТПЧБООЩИ Ч УЙФУЕНЕ.
рПМХЮЙФЕ У РПНПЭША ПДОПК ЛПНБОДЩ УФТПЛЙ У 5-ПК РП 8-А Ч ЖБКМЕ /proc/cpuinfo, УПДЕТЦБЭЕН ЙОЖПТНБГЙА П РТПГЕУУПТЕ.
рТЙДХНБКФЕ ТЕЗХМСТОПЕ ЧЩТБЦЕОЙЕ, УППФЧЕФУФЧХАЭЕЕ URL У ЙУРПМШЪПЧБОЙЕН РТПФПЛПМБ http. оБКДЙФЕ ЧУЕ УФТПЛЙ, УПДЕТЦБЭЙЕ ФБЛЙЕ URL Ч ЖБКМБИ ДЙТЕЛФПТЙЙ /etc.
у РПНПЭША ПДОПК ЛПНБОДЩ ОБКДЙФЕ ЧУЕ ЖБКМЩ У ТБУЫЙТЕОЙСНЙ .txt ЙМЙ .html Ч ДЙТЕЛФПТЙЙ /usr, Ч ЛПФПТЩИ УПДЕТЦЙФУС УМПЧП user.