ВСТУП до програмування на Лінуксі (v 2002-08-06 )

НАЗВА

intro - Вступ до команд користувача

ОПИС

?Linux - це різновид Unix, і в першому наближенні всі команди користувача під Unix, працюють цілком однаково під Linux (і під ?FreeBSD та іншими Unix-подібними системами).

Під Linux є GUIs (graphical user interfaces - графічні інтерфейси користувача), де ви можете вказувати мишею, натискати і перетягувати, і, мабуть, виконувати роботу, не читаючи попередньо безліч документації. Традиційне середовище Unix - це CLI (command line interface - інтерфейс командного рядка), де ви набираєте команди, щоб вказати комп'ютеру що робити. Це швидше та потужніше, але вимагає знання команд. Далі наведено початковий мінімум.

Реєстрація (login)

Щоб почати працювати, ви, мабуть, перше маєте увійти до системи, тобто, ввести ваше ім'я користувача та пароль. Дивіться також ?login (1). Програма login тепер запускає для вас shell (обробник команд). У випадку графічної реєстрації, ви отримаєте екран з меню та іконками, і зможете запустити shell мишею. Дивіться також ?xterm (1).

Оболонка (shell)

Команди набираються в shell , інтерпретаторі команд. Він не вбудований, а просто програма і ви можете змінити вашу оболонку. У кожного є своя улюблена. Стандартна оболонка називається sh . Дивіться також ?ash (1), bash (1), ?csh (1), ?zsh (1), chsh (1).

Сесія може виглядати так

knuth login: aeb Password: ******** % date Tue Aug 6 23:50:44 CEST 2002 % cal August 2002 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 % ls bin tel % ls -l total 2 drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin -rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel % cat tel maja 0501-1136285 peter 0136-7399214 % cp tel tel2 % ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 % mv tel tel1 % ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1 -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 % diff tel1 tel2 % rm tel1 % grep maja tel2 maja 0501-1136285 %

і натиснення Control-D завершило сесію. % тут було командним запрошенням - способом, у який оболонка показує готовість до наступної команди. Підказка може бути настроєна безліччю способів, і може містити ім'я користувача, назву машини, поточну директорію (теку), час та інше. Присвоєння PS1="Що далі, господарю?" змінить запрошення, як було вказано.

Ми бачимо, є команда date (що виводить дату), і cal (дає календар).

Команда ls друкує вміст поточної теки - вказує які ви маєте файли. З опцією -l видається докладний список, що містить власника, дату і час файлу, дозволи на читання та/або зміну файлу. Наприклад, файл tel довжиною 37 байтів, його власник aeb, і власник може читати і змінювати його, інші лише читати. Власника та дозволи можна змінити командами chown та chmod .

Команда cat покаже вміст файлу. (Її назва - скорочення від англійського об'єднати і надрукувати: всі файли вказані у її параметрах об'єднуються і посилаються на звичайний вивід, в даному разі на екран терміналу.)

Команда cp (від англ. copy) скопіює файл. Команда mv (від move) лише перейменує його.

Команда diff показує відмінності між двома файлами. Тут не було виводу, тому що файли не різнились.

Команда rm (від remove) видаляє файл, і будьте обережні! Він зник. Без кошика для сміття абощо. Видалений означає втрачений.

Команда grep (від g/re/p) шукає входження рядка в одному чи кількох файлах. Тут вона шукає телефонний номер Майї.

Шлях та поточна тека

Файли живуть у великому дереві, ієрархії файлів. Кожен має назву шляху (path name) що описує шлях від кореня дерева (названого /) до файлу. Така повна назва може бути /home/aeb/tel. Вживати повну назву шляху завжди було б незручно, і назва файла в поточній теці може бути скорочена лише до останнього компонента. Тому /home/aeb/tel можна скоротити до tel, коли поточна тека /home/aeb.

Команда pwd друкує поточну теку.

Команда cd змінює поточну теку. Спробуйте виконати cd /, pwd, cd, pwd.

Теки (Директорії)

Команда mkdir створює нову теку.

Команда rmdir видаляє теку, якщо вона порожня, і скаржиться, якщо ні.

Команда find (з дещо химерним синтаксом) знайде файли за даною назвою чи іншими властивостями. Наприклад, find . -name tel знайде файл tel починаючи з поточної теки (вона називається .). find / -name tel зробить те саме, але починаючи з кореня дерева. Значний пошук на багатогігабайтному диску забере багато часу, і може бути кращим використання ?locate (1).

Диски та файлові системи

Команда mount приєднає файлову систему знайдену на певному диску (чи дискеті, чи СD-ROM) до великої ієрархії файлової системи. І umount від'єднає її знов. Команда df скаже скільки вільного місця на диску.

Процеси

В системі Unix багато процесів користувача та системи виконуються одночасно. Той, з яким ви працюєте, виконується на передньому плані (foreground) , інші у фоні (background) . Команда ? ps покаже активні процеси та їх номери. Команда kill дозволяє позбутись їх. Без параметру це ввічливе прохання : будь ласка, завершуй. І kill -9 номер_процесу є моментальним завершенням. Процес переднього плану часто можна закрити натиснувши Control-C.

Одержання інформації

Є тисячі команд, кожна з багатьма опціями. Звичайно команди описані у сторінках допомоги (man pages) , (як ця), так команда man kill опише використання команди kill (і man man опише команду man). Програма man посилає вам текст через переглядач (pager) , звичайно через less . Натисніть пропуск для наступної сторінки, q щоб вийти.

В документації прийнято посилатись до сторінок допомоги вказуючи назву і номер секції, наприклад man (1). Сторінки допомоги стислі, і дозволяють швидко згадати забуту подробицю. Для новачків корисний вступний текст, де більше прикладів та пояснень.

Багато програм GNU/FSF мають файли info. Наберіть info info для введення до програми info.

Певні теми часто описані в HOWTOs (ЯкЦе). Гляньте до /usr/share/doc/howto/en і запустіть браузер для перегляду HTML файлів.