Показать сообщение отдельно
Старый 04.03.2009, 10:06   #5
garret
Местный
 
Аватар для garret
 
Регистрация: 08.01.2009
Адрес: Россия
Сообщения: 454
garret на пути к лучшему
По умолчанию Шаг за шагом

Ниже привожу информацию по командам Unix. Советую поупражняться в любой командном интерпретаторе, транслирующем команды Unix. Такие программы обязательно входят в состав Linux.

Маленькая справка.
Командный интерпретатор shell системы UNIX представляет собой программу, обеспечивающую сопряжение между пользователем и системой. Это одновременно и интерпретатор, и командный язык. Наиболее распространенными интерпретаторами shell являются: * Bourne shell: /bin/sh; * Korn shell: /bin/ksh; * C shell: /bin/csh. Будучи более мощными, чем Bourne shell, оболочки C shell и Korn shell становятся все более и более распространенными. Последовательность команд shell можно сохранить в файле, который в этом случае носит название командного файла (script).

Думаю, что имеет смысл поработать с поисковым запросом "Командный язык shell". Мне попалась одна весьма интересная методическая разработка 1988 года.

Код:
Несколько простейших команд Unix (курс молодого бойца) 1.1. Система Unix различает БОЛЬШИЕ и малые буквы, и к этому можно привыкнуть. 1.2. Если вы уничтожили какой-нибудь файл, то никаких проблем с его восстановлением у вас не будет. Потому что восстановить уничтоженный файл в системе Unix НЕВОЗМОЖНО. В Unix отсутствует команда unerase, и к этому тоже нужно привыкнуть. Вирусы и антивирусы в Unix тоже отсутствуют. Так что пока хоть этой проблемы у администратора машины не будет. 1.3. В имени файла директории отделяются от последующей части символом "/". (Билл Гейтс тоже хотел, чтоб у него в MSDOS все как в Unix было, вот и взял символ "\" - перепутал - с кем не бывает.) Если имя начинается со слэша - значит, это полное маршрутное имя. Простое имя файла может состоять из ЛЮБЫХ символов. Длина простого имени не более 256 символов. Длина полного маршрутного имени файла не более 32000 символов (в некоторых Униь - не более 1024 символов.) 1.4. Для задания шаблона имен используются символы "*" (произвольная последовательность символов) и "?" (один произвольный символ). Имя из одной точки "." обозначает текущую директорию, имя из двух точек ".." - вышележащую (родительский каталог). 1.5. Чтобы запустить программу на выполнение, достаточно набрать ее имя и, если нужно, другие аргументы командной строки. Имя программы - это маршрутное имя файла, в котором эта программа находится. Аргументы разделяются одним или несколькими пробелами и табуляторами. Ключи команды обычно (но не всегда) выделяются знаком "-". команда -ключи -ключи ... прочие разные аргументы ... 1.6. Если командная строка кончается знаком &, то команда запустится параллельно (фоном). На терминале печатается номер, который получает запущенный процесс. После чего можно продолжать работу, не дожидаясь завершения фоновой задачи. команда -всякие разные аргументы ... & 1.7. Команда имеет три предопределенных направления ввода-вывода - стандартный ввод, стандартный вывод и стандартный протокол. Как правило, команда берет исходные данные из стандартного ввода и печатает результаты в стандартный вывод. В стандартный протокол печатаются сообщения об ошибках и диагностика. Первоначально стандартные ввод, вывод и протокол назначены на терминал, однако их можно переназначить, используя следующие конструкции: команда > имя_файла (для стандартного вывода), команда < имя_файла (для переназначения стандартного ввода), команда 2> имя_файла (для стандартного протокола - системной диагностики). Пример - записать в файл содержимое текущей директории: ls > infdir Если вывод назначен в файл, то перед началом выполнения команды создается пустой файл с соответствующим именем (если файл уже существовал, он опустошается), а затем в него помещается информация. Если информацию нужно дописать в конец существующего файла, следует воспользоваться конструкцией команда >> имя файла команда 2>> имя файла 1.8. Пользователи системы Unix объединяются в группы, и каждая из групп обладает определенным набором прав доступа к файлам. 1.9. Программы могут распознавать значения переменных окружения, значения которых были заданы перед их запуском. TERM=vt220 HOME=/home/moshkow PATH=:/bin/:dss/rk:/home/moshkow/bin 1.8. Выдачу одной команды можно перенаправлять на вход другой команды. Для этого используется "|" - конвейер. Пример: посчитать суммарный размер и число строк всех файлов в каталоге /tmp, имена которых начинаются с символов "text" ... cat /tmp/text* | wc -c # Команда cat сливает вместе все файлы вида /tmp/text*, # wc -c -l считает количество символов и число строк во входном # потоке. Или просмотреть с листанием длинную выдачу команды: ps -ef | more Того же результата можно достичь и без конвейера таким образом: ps -ef > temp-file more temp-file rm temp-file 2. Некоторые наиболее употребительные команды. pwd - получить имя текущей директории cd - изменить текущую директорию ls - распечатать информацию о файлах или директориях cat - слить или вывести файлы-аргументы на стандартный вывод cp - копировать файлы mv - переместить (переименовать) файлы ln - создать ссылку на файл rm - удалить файлы rmdir - удалить директорию mkdir - создать директорию echo - вывести аргументы командной строки на стандартный вывод ps - распечатать информацию и номера выполняемых процессов kill - "убить" выполняемый процес по его номеру man - выдать справку об использовании и ключах команды 2.1 pwd Выдать имя текущей директории. pwd 2.2 cd Сменить текущую директорию. cd [ директория] cd /usr/spool/lp/adm cd .. Если директория не указана, вы попадаете в свой "домашний" каталог $HOME 2.3 ls Распечатать каталог. Формат команды: ls [ключи] [имена] имена - имена файлов или директорий; для директорий распечатывается список входящих в нее файлов, для файлов - выводится его имя и дополнительная информация. Имена файлов сортируются по алфавиту. Без аргументов ls выдает содержимое текущей директории. ls -al - вывод в длинном полном формате: число владелец время модификации линков группа имя файла (имен) размер -rwxr-xr-x 1 moshkow sys 17 Oct 18 16:13 ../jean drwxr-xr-x 1 moshkow sys 12 Oct 18 16:11 ../jelly -rwxr-xr-x 1 moshkow sys 0 Oct 13 14:14 ../j.bu.txt ^^ ^ ^ || | | || | +----- права всех "остальных" по отношению к файлу || +-------- права одной с ним группы |+----------- права "владельца" файла +------------ "-" - значит файл, "d" - директория Права: r - файл доступен для чтения, w - файл доступен для записи, x - файл является выполнимым, - - данное право доступа отсутствует. -a - вывести все файлы (даже если имена начинаются с точки); -x - вывод в 4 колонки; -t - имена файлов сортируются не по алфавиту, а по времени последнего изменения -R - рекурсивно пройти по всем подкаталогам ls -CF - оглавление каталога в несколько столбиков ls -al - оглавление в полном формате
ПРОДОЛЖЕНИЕ В СЛЕДУЮЩЕМ ПОСТЕ
__________________
И не упивайтесь вином, от которого бывает распутство; но исполняйтесь Духом… (Еф. 5, 18)

Последний раз редактировалось garret, 04.03.2009 в 10:10. Причина: Сделал связку со следующим постом
garret вне форума   Ответить с цитированием