Основні мережні команди

Мережа складається з декількох комп'ютерів з'єднаних між собою. Мережі можуть бути дуже простими і складатися лише з кількох машин з'єднаних у вас вдома чи в офісі, або складні університетські мережі або навіть цілого Інтернету. Коли ваш комп'ютер під'єднано до мережі, ви можете мати або прямий доступ до інших систем, або доступ через інші сервіси, такі як пошта або веб-сервіс.

Існує велика кількість мережевих програм які ви можете використовувати. Деякі корисні для діагностики вашого з'єднання, інші (такі як поштові клієнти і веб-навігатори) використовуються для отримання інформації через мережу і підтримки зв'язку з іншими людьми.

ping

Програма ?ping(8) посилає пакети ICMP_ECHO_REQUEST до вказаного їй хоста. Якщо машина на іншому кіні відповідає, ви отримаєте зворотній ICMP пакет. Ви можете пінгувати інші машини в мережі щоб дізнатися чи вони "живі" або чи правильно у вас налагоджено маршрут. Якщо ви не отримаєте відповіді, це означає що щось негаразд.

ping виявилась дуже зручною діагностичною програмою для повсякденного вжитку. Ось базовий синтаксис програми, зауважте що ви можете використовувати як назву хоста так і IP адресу:

$ ping www.slackware.com

Існує декілька опцій програми про які ви можете дізнатися зі сторінки посібника ping(8).

traceroute

?traceroute(8) це також досить зручне діагностичне знаряддя. traceroute виводить IP адресу кожного хоста через який проходить пакет до того як досягти місця призначення. Ви можете побачити скільки транзитних дільниць між вами і Slackware сервером, наприклад, завдяки команді:

$ traceroute www.slackware.com
traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
1  zuul.tdn (192.168.1.1)  0.409 ms  1.032 ms  0.303 ms
2  207.171.227.254 (207.171.227.254)  18.218 ms  32.873 ms  32.433 ms
3  border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
4  pb-nap.crl.net (198.32.128.20)  20.741 ms  23.672 ms  21.378 ms
5  E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
6  T1-CDROM-00-EX.US.CRL.NET (165.113.118.2)  24.544 ms  42.955 ms 58.443 ms
7  www.slackware.com (204.216.27.13)  38.115 ms  53.033 ms  48.328 ms

Кожний транзитний хост буде виведено, разом із часом відповіді.

traceroute схожа до програми ping у тому що перша також використовує ICMP-пакети. Існує декілька опцій traceroute про які ви також можете дізнатися зі сторінки посібника ?traceroute(8).

DNS-засоби

DNS (Domain Name Service) - це протокол який дозволяє комп'ютерам перетворювати зрозумілі людським істотам назви хостів такі як slackware.com у IP-адреси на кшталт 64.57.102.34. Комп'ютери не можуть перенаправляти пакети до slackware.com, зате вони можуть направляти їх до IP-адреси що відповідає цьому доменному імені. Нижче перелічені деякі програми що використовують саме DNS протокол.

host

Саме програма ?host(8) дозволяє взнати IP адресу що відповідає певному доменному імені, тобто вона здійснює DNS пошук для нас. Це дуже просте знаряддя без багатьог додаткових опцій. Ось простий приклад host у дії:

$ host www.slackware.com
www.slackware.com is an alias for slackware.com.
slackware.com has address 64.57.102.34

nslookup

У протилежному випадку, коли вам необхідно взнати доменне ім'я відомого вам номера IP, використайте nslookup або dig. nslookup - це давня і перевірена програма, власне, настільки давня що вона вже застаріла і, мабуть, буде вилучена з майбутніх релізів. Навіть сторінка посібника відсутня для цієї програми.

$ nslookup 64.57.102.34
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server:         192.168.1.254
Address:        192.168.1.254#53

Non-authoritative answer:
www.slackware.com       canonical name = slackware.com.
Name:   slackware.com
Address: 64.57.102.34

Саме так, nslookup сама вказує щоб ми використовували dig.

dig

?dig(1) (domain information groper), надзвичайно корисна програма, яка в змозі вилучити практично будь-яку DNS інформацію, включаючи зворотній пошук (reverse lookup), A, CNAME, MX, SP і TXT дані. dig включає багато опцій командної лінії, з якими вам варто ознайомитись у сторінці посібника ?dig(1).

$ dig @192.168.1.254 www.slackware.com mx

; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26362
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2 

;; QUESTION SECTION:
;www.slackware.com.             IN      MX

;; ANSWER SECTION:
www.slackware.com.      76634   IN      CNAME   slackware.com.
slackware.com.          86400   IN      MX      1 mail.slackware.com. 

;; AUTHORITY SECTION:
slackware.com.          86400   IN      NS      ns1.cwo.com.
slackware.com.          86400   IN      NS      ns2.cwo.com.

;; ADDITIONAL SECTION:
ns1.cwo.com.            163033  IN      A       64.57.100.2
ns2.cwo.com.            163033  IN      A       64.57.100.3

;; Query time: 149 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: Sat Nov  6 16:59:31 2004
;; MSG SIZE  rcvd: 159

Цей приклад повинен дати вам уявлення про те як dig працює. "@192.168.1.254" вказує на DNS-сервер що використовується (місцевий DNS), "www.slackware.com" - це доменне ім'я над яким здійснюється пошук, "mx" - це тип пошуку.

finger

?finger(1) видобуває інформацію про певного користувача на певній системі. Аргументом програми може бути назва користувача або його адреса електронної пошти, finger спробує контактувати нобхідний сервер і здобути ім'я користувача, офіс, номер телефону, тощо. Ось приклад:

$ finger johnc@idsoftware.com

Або щоб дізнатися які користувачі присутні на системі:

$ finger @idsoftware.com

Звичайно, на іншому кінці повинен працювати сервіс fingerd, на переважній більшості систем цей сервіс не запущений з міркувань безпеки. Тим не менш, ви завжди можете користуватись finger на власній системі, у цьому випадку можна вказати лише назву користувача.

В залежності від програми що надає finger-інформацію, дані про користувача можуть варіювати. Slackware видає наступні дані про користувача:

  • Назва користувача (очікується справжнє ім'я).
  • Номер кімнати.
  • Домашній номер телефону.
  • Робочий номер телефону.
  • Статус реєстрації.
  • Статус електронної адреси.
  • Вміст файлу .plan з домашнього каталогу користувача.
  • Вміст файлу .project з домашнього каталогу користувача.

Перші чотири можуть бути встановленими root-ом під час створення користувацького рахунку або самим користувачем за допомогою команди chfn і вони зберігаються у файлі /etc/passwd. Файли .plan або .project повинні знаходитись у вашому домашньому каталозі щоб бути прочитаними. Ви можете власноруч редагувати їх будь-яким текстовим редактором.

Деякі користувачі вживають finger для власних рахунків на віддалених системах щоб швидко дізнатись про нові листи (електронна пошта).

Команда ?finger(1) має також додаткові опції, загляніть у сторінку посібника цієї команди для подальшої інформації.

telnet

Хтось заявив одного разу що ?telnet(1) - це, напевне, найчудовіша річ яка була винайдена для комп'ютерів. Можливісь віддалено реєструватись і виконувати завдання на інших комп'ютерах, це те що завжди виділяло Юнікс і Юнікс-подібні операційні системи від інших.

telnet дозволяє вам під'єднатись до віддаленої машини і почуватись так ніби ви знаходились перед нею з відкритим терміналом. Як тільки ви зареєструвались на ній, вам надається оболонка, тут ви можете виконати любе завдання можливе у текстовому режимі - прочитати пошту або новини, управляти файлами і каталогами, редагувати і.т.д. Крім того, якщо на вашому компютері запущене X віконне середовище, ви можете за допомогою telnet-а запускати X програми на віддаленій машині і вони будуть відображатися на локальній.

Щоб зареєструватись на віддаленій машині, використайте наступний синтаксис:

$ telnet <hostanme>

hostname може бути як назвою хоста, так і IP-адресою. Якщо машина на протилежному кінці відповість, ви отримаєте запрошення до реєстрації. Введіть назву користувача і гасло, за умови такий користувач був створений на віддаленій машині. Ви отримаєте оболонку де ви можете виконувати команди. Щоб завершити telnet-сеанс, введіть exit або logout.

telnet не зашифровує інформацію яку передається по мережі між двома комп'ютерами, все посилається у вигляді простого тексту, навіть гасла. Це сворює загрозу безпеці користувацьких рахунків у випадку якщо хоть підслуховує трафік що проходить по мережі. Саме тому програму telnet практично витіснила ssh (Secure Shell) яку ми розглянемо трохи нижче.

Інше використання telnet-а

Не зважаючи на те що ви ймовірніше будете використовувати ssh замість telnet для віддаленої оболонки, остання тим не менш може також використовуватись для інших цілей. Так, наприклад, ви можете під'єднатись telnet-ом до певного порту хоста:

$ telnet <hostname> [port]

Ця можливість є досить зручною у випадку якщо вам необхідно швидко перевірити певний сервіс, дозволяючи посилати комади сервісу що слухає на даному порту і отримувати відповідь. Ви таким чином можете перевірити SMTP, POP3 або HTTP сервери, і.т.д.

Наступний приклад продемонструє як під'єднатися telnet-ом до HTTP сервера на 80 порту і виконати найпростіший запит:

$ telnet store.slackware.com 80
Trying 69.50.233.153...
Connected to store.slackware.com.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Mon, 25 Apr 2005 20:47:01 GMT
Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d
Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT
ETag: "193424-c0-3e9fda6e"
Accept-Ranges: bytes
Content-Length: 192
Connection: close
Content-Type: text/html

Connection closed by foreign host.

У цьому випадку ми послали HTTP запит HEAD (необхідно також два рази притиснути Enter клавішу) серверу що слухає на 80 порту і отримали відповідь на цей запит. Цей спосіб під'єднання працюватиме також з іншими текстовими протоколами, ви повинні лише знати порт на якому слухає сервіс і текстові команди які використовуються.

SSH

SSH (Secure Shell), захищена оболонка, на сьогоднішній день практично замінила такі аплікації як telnet або rsh. ssh(1) так само дозволяє підключатись до віддаленої машини і виконувати на ній команди, за виключенням того що ssh зашифровує дані що передаються між двома комп'ютерами, тож якщо хтось і взмозі перехопити їх, йому не вдастся зрозуміти перехоплені дані. Ось приклад типового під'єднання за допомогою захищеної оболонки:

$ ssh carrier.lizella.net -l alan
The authenticity of host 'carrier.lizella.net (192.168.1.253)' can't be
established.
RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'carrier.lizella.net' (RSA) to the list of
known hosts.
Password: 
Last login: Sat Nov  6 16:32:19 2004 from 192.168.1.102
Linux 2.4.26-smp.
alan@carrier:~$ ls -l MANIFEST 
-rw-r--r--  1 alan users 23545276 2004-10-28 20:04 MANIFEST
alan@carrier:~$ exit
logout
Connection to carrier.lizella.net closed.

В цій команді ви вказали ssh до якого хоста під'єднатися і назву користувача після прапорця -l. Знаходячись вже на carrier.lizella.net, ви перевірили дозволи файлу MANIFEST.

ssh також зручна для копіювання файлів між машинами. Так, скажімо, щоб скопіювати MANIFEST з локальної машини на ту саму carrier.lizella.net, ми б виконали:

$ scp MANIFEST alan@carrier.lizella.net: 
alan@carrier.lizella.net password:
MANIFEST                             100%  238KB 238.1KB/s   00:00

ssh - це складна і цікава програма з багатьма додатковими можливостями і опціями. Вона дозволяє вам налагодити реєстрацію без необхідності введення гасла, дозволяє запускати X аплікації через мережу і ще багато складніших речей. Буде добре якщо ви прочитаєте більш спеціалізовану літературу по ній, також заглянете у сторінку посібника ssh(1).

Електронна пошта

Електронна пошта виявилась дуже популярною серед користувачів Інтернету. Так, у 1998 році доповідалось що було послано більше електронної пошти ніж звичайної. Безперчно, вона є дуже поширеним засобом спілкування.

Slackware надає стандартний поштовий сервер і декілька поштових клієнтів. Усі клієнти, описані нижче, є текстовими. Ви, згодом, впевнитесь що текстові клієнти досить зручні, особливо для віддаленої перевірки пошти. Це також не означає відсутність графічних клієнтів таких як Kmail який є частиною KDE або Thunderbird від www.mozilla.org, тощо.

pine

Вашингтонський Університет створив ?pine(1) як легкий у використанні студентами клієнт для читання електронної пошти і новин. pine, несумнівно, являється одним з найпопулярніших клієнтів для електронної пошти і доступний для практично будь-якого різновиду Юніксів і навіть для Віндовса.

Ілюстрація 13-2. Головний діалог pine.

 +---------------------------------------------------------------------------+
 | PINE 4.58   MAIN MENU                          Folder: INBOX  2 Messages  |
 +---------------------------------------------------------------------------+
 |                                                                           |
 |     ?    HELP                  -  Get help using Pine                     |
 |     C    COMPOSE MESSAGE       -  Compose and send a message              |
 |     I    MESSAGE INDEX         -  View messages in current folder         |
 |     L    FOLDER LIST           -  Select a folder to view                 |
 |     A    ADDRESS BOOK          -  Update address book                     |
 |     S    SETUP                 -  Configure Pine Options                  |
 |     Q    QUIT                  -  Leave the Pine program                  |
 |                                                                           |
 | Copyright 1989-2003. PINE is a trademark of the University of Washington. |
 |                 +---------------------------------------+                 |
 |                 |[Folder "INBOX" opened with 2 messages]|                 |
 |                 +---------------------------------------+                 |
 |? Help                    P PrevCmd                  R RelNotes            |
 |O OTHER CMDS > [Compose]  N NextCmd                  K KBLock              |
 +---------------------------------------------------------------------------+

Ви побачите меню з різмоманітними командами після запуску програми. pine, безперечно, є складною програмою, тому ми не розглядатимемо всі її властивості тут.

Щоб побачити що знаходиться у вашій поштовій скринці, введіть i. Ваші повідомлення будуть перечислені разом датою, автором і темою. Висвітіть повідомлення яке вас цікавить і притисніть Enter для огляду. Притиск r розпочне відповідь на це повідомлення. Після того як ви закінчили складати відповідь, притисніть Ctrl+X щоб відіслати її. Ви можете знову ввести i щоб дістатися до переліку повідомлень.

Якщо ви хочете усунути повідомлення, натисніть d. Це позначить лист як той що буде видалено (pine видаляє повідомлення під час припинення роботи програми). Також pine дозволяє зберігати листи у теках, ви можете перелічити теки за допомогою клавіші l. Притисніть s щоб зберегти підсвічене повідомлення до іншого каталогу, це також спитає вас назву каталогу де ви хочете зберегти листа.

Програма надає ще багато додаткових опцій. Вам необхідно буде продивитись сторінку посібника ?pine(1), де ви знайдете найостаннішу інформацію про неї.

elm

?elm(1) є ще одним популярним поштовим клієнтом. Хоча він не настільки привітний у порівнянні з pine, зате набагато старший.

Ілюстрація 13-3. Головний екран elm.

+------------------------------------------------------------------------------+
|           Mailbox is '/var/mail/root' with 2 messages [ELM 2.5 PL6]          |
|                                                                              |
|     1 Sep 17   Patrick J. Volkerd (174)  Welcome to Linux (Slackware 9.1)!   |
|  0  2 Sep 17                      (45)   Register with the Linux counter pr  |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
|                                                                              |
|  You can use any of the following commands by pressing the first character;  |
|  d)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit  |
|  To read a message, press <return>.  j = move down, k = move up, ? = help    |
|                                                                              |
|  Command:                                                                    |
|                                                                              |
|                                                                              |
+------------------------------------------------------------------------------+

За замовчуванням ви опинитесь всередині вашої поштової скриньки. Повідомлення перелічені разом з порядковим номером, датою, автором і темою. Використовуйте стрілки щоб висвітити повідомлення яке вас цікавить. Притисніть Enter щоб прочитати його.

Щоб скласти нового листа, натисніть m, знаходячись перед новим екраном. Ключ d позначить повідомлення як таке що буде видалено. Клавіша r розпочне відповідь на лист який ви у даний момент читаєте. Всі ці ключі знаходяться внизу як підказка.

Загляніть також у сторінку посібника ?elm(1), де ви знайдете додаткові деталі про цю програму.

mutt

?mutt(1) з самого початку був основаним на elm з додатковими можливостями інших поштових клієнтів.

Ось деякі з цих можливостей:

  • підтримка кольору
  • підтримка низок повідомлень
  • MIME і PGP/MIME підтримка
  • підтримка pop3 і imap
  • різноманітні формати поштових скриньок (mbox, MMDF, MH, maildir)
  • розширена можливість налагодження

Ілюстрація 13-4. Головний екран mutt.

 +------------------------------------------------------------------------------+
 |q:Quit  d:Delete  u:Undel  s:Save  m:Mail  r:Reply  g:Group  ?:Help           |
 +------------------------------------------------------------------------------+
 |  1 0 F Sep 17 To root         (  23) Register with the Linux counter project |
 |  2   + Sep 17 Patrick J. Volk ( 153) Welcome to Linux (Slackware 9.1)!       |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 |                                                                              |
 +------------------------------------------------------------------------------+
 |--Mutt: /var/mail/root [Msg:2 Old:1 9.5K]---(date/date)---------------(all)---|
 +------------------------------------------------------------------------------+

Якщо ви шукаєте поштового клієнта, який дозволяв би цілковитий контроль, вам сподобається mutt. Всі стандартні налагодження і ключі можна змінити, додати власні макро.

Подивіться сторінку посібника ?muttrc(5) щоб дізнатися як налагодити клієнта. Також ви повинні знайти зразок конфігураційного файлу у каталозі /usr/share/mutt.

nail

?nail(1) є клієнтом для використання з командного рядка. Він доволі примітивний і майже нічого не пропонує у сенсі користувацького інтерфейсу. Тим не менш, mailx (інша назва для nail) буває зручним якщо вам необхідно швидко відіслати комусь листа, для написання скриптів для масової відправки пошти, перевірки вашого MTA (mail transfer agent) і.т.п. Slackware, як правило, створює символічні посилання на nail під назвами mail і mailx. Кожна з цих трьох команд викликає ту саму програму. Насправді, найчастіше nail згадуватиметься під назвою mail.

Базовим командним рядком є:

 $ mailx <тема> <адреса>

mailx прочитає текстовий корпус повідомлення зі стандартного вводу, тож ви можете передати з допомогою cat файл вашого листа або надрукувати текст беспосередньо у термінал, притиснувши Ctrl+D по закінченню.

Ось приклад відправки текстового файла іншій особі:

 $ cat letter.txt | mail -s "Testing a mail client..." burgerking@aol.com

Сторінка посібника ?nail(1) пояснює більше з того що можна зробити за допомогою цієї програми, тож продивіться її теж.

Переглядачі

Slackware постачається з популярними графічним переглядачами Інтернету, які ви знайдете у наборі XAP, так само як і текстовими переглядачами з набору N. Ми розглянемо деякі з них.

lynx

?lynx(1) - це текстовий переглядач. Перевага текстових переглядачів у їхній швидкосіті. Часом графіка тільки заважає змістові, сповільнюючи завантаження сторінки.

Щоб запустити lynx, просто виконайте на командному рядку

 $ lynx

Ілюстрація 13-5. Стартова сторінка lynx.

 +-----------------------------------------------------------------------------+
 |                                                            Lynx Information |
 |                                   Lynx                                      |
 |   Lynx is a text browser for the World Wide Web.   Lynx 2.8.3 runs on       |
 |   Un*x, VMS, Windows 95/98/NT but not 3.1 or 3.11, on DOS (386 or           |
 |   higher) and OS/2 EMX.  The current development version is also            |
 |   available for testing.  Ports to Mac are in beta test.                    |
 |                                                                             |
 |     * Many user questions are answered in the online help provided with     |
 |       Lynx. Press the '?' key to find this help.                            |
 |     * If you are encountering difficulty with Lynx you may write to         |
 |       lynx-dev@sig.net. Be as detailed as you can about the URL where       |
 |       you were on the Web when you had trouble, what you did, what Lynx     |
 |       version you have (try '=' key), and what OS you have.  If you are     |
 |       using an older version, you may well need to upgrade.                 |
 |   ----------------------------------------------------------------------    |
 |                                                                             |
 |  Maintained by lynxdev@browser.org.                                         |
 |                                                                             |
 +-----------------------------------------------------------------------------+
 |Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.|
 +-----------------------------------------------------------------------------+
 |  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.  |
 | H)elp O)ption P)rint G)o M)ain screen Q)uit /=search [delete]=history list  |
 +-----------------------------------------------------------------------------+

Ви можете вказати також адресу на командному рядку:

 $ lynx http://www.slackware.com

lynx видруковує командні ключі внизу екрана. Стрілки вверх і вниз переміщують вас до наступного і попереднього посилання в документі. Клавіша Enter активує підсвічене посилання. Комбінації Ctrl+N і Ctrl+P переміщують текст на два рядка вниз і вверх. Ліва стрілка переносить вас до попередньої адреси. Якщо вам необхідно завантажити якийсь файл, притисніть d клавішу над посиланням на нього. Команда g викличе діалог, де ви можете ввести Інтернет-адресу куди ви б хотіли потрапити. Клавіша q припинить роботу переглядача.

Існує багато додаткових команд у lynx, про які ви можете дізнатися зі сторінки посібника ?lynx(1), так само як з вбудованої у переглядач допомоги, на яку можна вийти якщо натиснете h клавішу.

Файлом конфігурації lynx є /etc/lynx.cfg, який буде пересилено файлом .lynxrc у вашому домашньому каталозі.

links

Подібно до lynx, ?links(1) також є текстовим консольним переглядачем Інтернету, але з розширеними можливостями. Так, наприклад, якщо ви після його запуску притиснете ключ Esc, це активує зручне низхідне меню нагорі екрану. Це полегшує використання переглядача, без необхідності вивчати всі клавішні комбінації керування.

На додаток, links включає дещо покращену підтримку HTML рамок і таблиць у порівнянні з lynx.

Ілюстрація 13-6. Links із низпадаючим меню.

 +--+-------+------------------------------------------------------------------+
 |  |  File |   View    Link    Downloads    Setup   Help                      |
 +--+-------+----------------------+-------------------------------------------+
 |  | Go to URL                  g |evisited Slackware Book Project            |
 |  | Go back                    z |                                           |
 |  | History                    > |                                           |
 |  | Reload                Ctrl-R |                                           |
 |  | Bookmarks                  s |                                           |
 |  | Save bookmarks               |                                           |
 |  |------------------------------|                                           |
 |  | Save as                      |                                           |
 |  | Save URL as                  |                                           |
 |  | Save formatted document      |                                           |
 |  |------------------------------|                                           |
 |Sl| Kill background connections  |                                           |
 |  | Kill all connections         |pdates to the site. This version of book   |
 |  | Flush all caches             |all changes are going into the DocBook     |
 |  | Resource info                |cally available Real Soon Now(tm).         |
 |  | Memory info                  |                                           |
 |  |------------------------------|                                           |
 |  | OS shell                     |                                           |
 |  |------------------------------|                                           |
 |  | Exit                       q |                                           |
 |Wh+------------------------------+                                           |
 +---------------------------------------------------------+                   |
 |Image http://slackbook.lizella.net/images/slackmetal.jpg |                   |
 +---------------------------------------------------------+-------------------+

wget

?wget(1) являється знаряддям командного рядка для завантаження файлів із вказаної Інтернет-адреси. Хоча це не є, власне, переглядачем, wget використовується часто щоб отримати зміст цілого або частки сайту для огляду поза під'єднанням, або для швидкого завантаження окремих файлів з HTTP або FTP серверів. Базовим синтаксисом є:

 $ wget <адреса>

Ви також можете вживати додаткові опції. Так, скажімо, наступне завантажить цілий майданчик Slackware:

 $ wget --recursive http://www.slackware.com

Останнє створить у поточній директорії каталог www.slackware.com і збереже там всі завантажені файли, так само як на вказаному сайті.

Щоб завантажити файл з FTP серверу, вкажіть FTP адресу, замість HTTP:

$ wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
--12:18:16--  ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz
           => `wget-1.8.2.tar.gz'
Resolving ftp.gnu.org... done.
Connecting to ftp.gnu.org[199.232.41.7]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.   ==> PWD ... done.
==> TYPE I ... done. ==> CWD /gnu/wget ... done.
==> PORT ... done.   ==> RETR wget-1.8.2.tar.gz ... done.
Length: 1,154,648 (unauthoritative)

100%[==================================>] 1,154,648     209.55K/s    ETA 00:00

12:18:23 (209.55KB/s) - `wget-1.8.2.tar.gz' saved [1154648]

wget - це гнучка програма з багатьма додатковими опціями про які ви можете дізнатися зі сторінки посібника ?wget(1). Цe знаряддя часто використовується у автоматичних скриптах сайтів-дзеркал для оновлення змісту.

FTP-клієнти

FTP (File Transfer Protocol) дозволяє обмінюватись файлами двом комп'ютерам. Існують сервери FTP і клієнти FTP. У цьому розділі мова піде про клієнти.

Для тих хто не знає, клієнт - це ви, сервер - це комп'ютер що відповість на ваш FTP запит. Ви можете завантажувати файли з і на сервер. Клієнт, тим не менш, не може відповідати на FTP під'єднання, тільки сам під'єднуватись до сервера.

ftp

Щоб під'єднатись до FTP-сервера, просто виконайте команду ftp(1), вказуючи хост:

 $ ftp <хост> [порт]

Якщо на хості запущено FTP сервіс, у вас спитають реєстраційне ім'я і гасло. Ви можете зареєструватись як "anonymous". Анонімні FTP дуже популярні для розповсюдження програмного забеспечення. Так, наприклад, що отримати Slackware Linux, ви можете також скористатися анонімними FTP.

Як тільки відбудеться з'єднання, ви отримаєте ftp> підказку. FTP послуговується власними командами, але вони подібні до стандартних. В наступній таблиці наведено базові команди з поясненням їхніх функцій:

[Таблиця 13-1. Команди ftp.] | Команда | Функція | | :------------------------- | :----------------------------------------------------------------- | | ls | Здійснює перелік файлів | | cd <назва каталогу> | Змінює робочий каталог | | bin | Встановлює бінарний стан передачі даних | | ascii | Встановлює ASCII-стан передачі даних | | get <назва файлу> | Завантажить з сервера файл | | put <назва файлу> | Завантажить на сервер файл | | hash | Викличе гратку (#) як вказівник статусу | | tick | Викличе лічильник байтів | | prom | Встановить інтерактивний спосіб завантажень | | mget <шаблон> | Заладує групу файлів що відповідають шаблонові | | mput <шаблон> | Відвантажить групу файлів що відповідають шаблонові | | quit | Покине FTP-сервер |

Крім вищенаведених, ви також можете використовувати наступні команди, чиї назви самі за себе говорять: chmod, delete, rename, rmdir. Для повного списку команд, введіть help або ?. Для допомоги з окремої команди - helpкоманда.

Ось невеликий приклад сесії FTP:

$ ftp slackware.cs.utah.edu
Connected to covet.cs.utah.edu.
220 Welcome to the UofU School of Computing FTP Mirror
Name (slackware.cs.utah.edu:nabis): anonymous
331 Please specify the password.
Password:
230- +-----------------------------------------------------------------+
230- |      - - - School of Computing - University of Utah - - -       |
230- +-----------------------------------------------------------------+
ftp> cd pub/slackware/slackware-102
ftp> ls *.TXT
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
-rw-r--r--    1 40       49          18606 Apr 06  2002 BOOTING.TXT
-rw-r--r--    1 40       49          15234 Feb 29  2004 COPYRIGHT.TXT
-rw-r--r--    1 40       49            602 Apr 06  2002 CRYPTO_NOTICE.TXT
-rw-r--r--    1 40       49          32425 Jun 21  2004 FAQ.TXT
-rw-r--r--    1 40       49         538672 Nov 08 02:09 FILELIST.TXT
-rw-r--r--    1 40       49         244205 Sep 13 19:28 PACKAGES.TXT
-rw-r--r--    1 40       49          15258 Sep 13 17:25 README.TXT
-rw-r--r--    1 40       49          14826 Jun 17  2002 SPEAKUP_DOCS.TXT
-rw-r--r--    1 40       49          15434 Jun 17  2002 SPEAK_INSTALL.TXT
-rw-r--r--    1 40       49           4317 Sep 13 11:34 UPGRADE.TXT
226 Transfer complete.
ftp> tick
Tick counter printing on (10240 bytes/tick increment).
ftp> get README.TXT
local: README.TXT remote: README.TXT
200 PORT command successful.
150 Opening BINARY mode data connection for README.TXT (15258 bytes).
Bytes transferred: 15258
226 Transfer complete.
15258 bytes received in 0.208 secs (58 Kbytes/sec)
ftp> bye

ftp є доволі простою програмою у використанні. Продивіться також спторінку посібника ftp(1) для додаткового опису опцій і можливостей програми.

ncftp

?ncftp(1) є альтернативою традиційному FTP-клієнту що постачається з Slackware. Це також програма з текстовим інтерфейсом але з багатьма перевагами по відношенню до ftp, включаючи:

  • Таб виповнення
  • Файл закладок
  • Розвинутіше використання шаблонів
  • Історія команд

За замовчуванням, ncftp намагатиметься зареєструватись як анонімний користувач із, вказаним вами, сервером. Ви можете заставити ncftp видати запрошення до реєстрації якщо використаєте опцію -u. Після реєстрацій, ви в змозі використовувати ті самі команси що й з ftp, одночасно ви помітите дещо зручніший інтерфейс, чимось схожий на bash.

$ ncftp slackware.cs.utah.edu
NcFTP 3.1.9 (Mar 24, 2005) by Mike Gleason (http://www.NcFTP.com/contact/).

Copyright (c) 1992-2005 by Mike Gleason.
All rights reserved.

Connecting to 155.98.64.80...                                                                                   
Welcome to the UofU School of Computing FTP Mirror
Logging in...                                                                                                   
+----------------------------------------------------------------+
|      - - - School of Computing - University of Utah - - -      |
+----------------------------------------------------------------+
Login successful.
Logged in to slackware.cs.utah.edu.                                                                             
ncftp / > ls
index.html   lost+found/  pub/         robots.txt   stats/
ncftp / > cd pub/slackware/slackware-current
ncftp ...ware/slackware-current >  ls *.TXT
BOOTING.TXT        CRYPTO_NOTICE.TXT   FILELIST.TXT      README.TXT
COPYRIGHT.TXT      FAQ.TXT             PACKAGES.TXT      SPEAKUP_DOCS.TXT
UPGRADE.TXT
ncftp ...ware/slackware-current > get FAQ.TXT
FAQ.TXT:                                            31.67 kB   85.37 kB/s  
ncftp ...ware/slackware-current > quit

Спілкування з іншими користувачами

wall

wall(1) (warning all) є швидким способом написати повідомлення всім користувачам системи. Базовим синтаксисом є:

$ wall [файл]

У випадку якщо ви є користувачем root, зміст файла буде виведено на терміналах усіх користувачів (звичайні користувачі не мають права зчитування програмою wall файлів). Якщо файл не вказано, wall читатиме із стандартного вводу, який припинеться після притиску Ctrl+D.

wall виявиться корисною системним адміністраторам у випадку коли потрібно зробити оголошення для користувачів, наприклад, про можливі роботи по технічному обслуговуванню.

talk

?talk(1) дозволяє перемовлятися користувачам. Вона розбиває екран навпіл горизонтально. Щоб запросити користувача до бесіди, використайте наступну команду:

$ talk <ім'я> [назва термінала]

Ілюстрація 13-7. Два користувача у сесії talk.

 +------------------------------------------------------------------------+
 | [No connection yet]                                                    | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        | 
 |                                                                        |
 |                                                                        |
 | huh...                                                                 |
 +------------------------------------------------------------------------+
 |                                                                        |  
 |                                                                        |  
 |                                                                        |  
 |                                                                        |  
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 | wake up, Neo.                                                          | 
 | the Matrix has you.                                                    | 
 | follow the white rabbit...                                             |
 +------------------------------------------------------------------------+

Якщо ви вказуєте лише назву користувача, виклик вважатеметься локальним і тільки місцеві користувачі будуть розглянуті. Назва термінала обов'язкова якщо ви хочете подзвонити користувачеві на певному терміналі (якщо користувач ввійшов до системи більше ніж один раз). Всю необхідну інформацію про поточних користувачів можна отримати завдяки команді w(1).

talk також може подзвонити користувачам на віддалених хостах. В такому випадку ви повинні вказати назву користувача у вигляді його поштової адреси. Програма спробує контактувати вказаного їй користувача на віддаленій системі.

В будь-якому випадку, на машинах що використовуватимуть чат-програми повинен бути дозволеним демон talkd. У Slackware це досягається шляхом розкоментування ntalk рядка з /etc/inetd.conf.

Обмеженнями talk будуть підтримка нею лише двох користувачів і пів-дуплексного режиму.

ytalk

?ytalk(1) є обернено-сумісною заміною talk. Синтаксис у них подібний, з невеликими розбіжностями:

$ ytalk <ім'я> [#назва терміналa]

Ілюстрація 13-8. Два користувача ytalk сесії.

 +-------------------------------------------------------------------------+
 |-----------------------= YTalk version 3.1.1 =---------------------------| 
 | Want some old ASCII?                                                    |
 |                                                                         |
 |   (\(__)/)                                                              |
 |    '|oo|'---.-.--.       .----.(\(_(/)                                  |
 |     |  |   (   ) |\     /| '--' ' oo\                                   |
 |    (o  o)   `-'o |       |       \   \_                                 |
 |     `--'\_  __   |       |   ___ /( o o)                                |
 |           ||  |-|         |-|  ||  `--'                                 |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 +---------------------= root@192.168.1.132#tty1 =-------------------------+
 | LOL. You are demented...                                                |  
 |                                                                         |  
 |                                                                         |  
 |                                                                         |  
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         |
 |                                                                         | 
 |                                                                         | 
 |                                                                         |
 +-------------------------------------------------------------------------+

Назва користувача і термінал вказуються так само як у talk за виключенням того, що ми повинні з'єднати їх разом граткою (#).

ytalk має декілька переваг:

  • Вона підтримує більше ніж двоє користувачів
  • Наявне меню з опціями, яке можна викликати ключем Esc.
  • Ви можете використовувати одночасно оболонку.
  • Ще багато інших...

Так само як і для попередньої програми, ntalk порт повинен бути дозволеним у /etc/inetd.conf.