IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  AIX и UNIX  >

Работа в командной оболочке Bash

Введение

developerWorks
На предыдущую страницуСтраница 4 из 10 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Работа с файлами и каталогами в Bash

Большая часть работы, производимая в Bash, связана с файловой системой UNIX. Каждый, кто когда-либо использовал менеджер файлов, наверняка представляет себе файловую систему как дерево. То же самое верно и для командной строки. Все файлы и каталоги берут свое начало из каталога /, являющегося корневым узлом всей файловой системы. В таблице 2 приводится список стандартных каталогов, которые имеются в большинстве UNIX-систем.


Таблица 2. Стандартные каталоги UNIX-систем
КаталогРасписание
/Корневой каталог для всех UNIX-систем; содержит все остальные файлы.
/binСодержит бинарные версии файлов системных приложений, таких как файл самой командной оболочки Bash.
/devКаталог содержит псевдофайлы, представляющие физические устройства, такие как жесткие диски.
/etcВ этом каталоге хранится большая часть конфигурационных файлов системы.
/libКаталог содержит файлы библиотек, необходимых для системных приложений.
/optКаталог содержит необязательные компоненты системы или приложения.
/tmpКаталог содержит временные файлы, используемые системой или пользовательскими приложениями.
/usrСодержит пользовательские и некритичные для работы системы приложения и связанные компоненты.
/varКаталог содержит различные файлы, необходимые для системных приложений, такие как файлы журналов и файлы буферов.


В начало


Работа с каталогами в Bash

В UNIX есть несколько команд, которые позволяют легко создавать, просматривать, удалять каталоги и изменять текущий рабочий каталог:

  • cd cизменяет текущий рабочий каталог на домашний каталог пользователя.
  • cd dirname изменяет текущий рабочий каталог на каталог dirname.
  • ls dirname выводит список содержимого каталога dirname.
  • mkdir dirname создает новый каталог с именем dirname.
  • pwd выводит полный путь к текущему рабочему каталогу.
  • rmdir dirname удаляет каталог с именем dirname.

Чтобы выполнить любую из этих команд, нужно просто набрать команду в командной строке Bash (включая необходимое имя каталога) и нажать клавишу Enter.

Есть также несколько полезных сокращений для имен каталогов:

  • Одиночная точка (.) обозначает текущий рабочий каталог.
  • Две точки (..) обозначают родительский каталог текущего рабочего.
  • Тильда (~) обозначает домашний каталог пользователя (обычно это каталог, который является текущим рабочим при запуске Bash).

В листинге 3 показано, насколько просто использовать эти команды.


Листинг 3. Работа с каталогами в Bash
                    
rb$ pwd
/home/rb
rb$ mkdir temp
rb$ cd temp
rb$ ls 
rb$ cd ..
rb$ pwd
/home/rb
rb$ rmdir temp
rb$ ls ..
lost+found    rb          root
rb$ ls /
bin   etc     lib         misc  proc  usr
boot  home    lost+found  mnt   tmp   var
dev   initrd  opt         sbin  sys

Команды, выполняемые в предыдущем листинге, достаточно просты. Первая из них выводит на экран путь к текущему рабочему каталогу. Следующими командами создается новый каталог с именем temp, рабочий каталог изменяется на созданный, выводится содержимое этого каталога (на экран не выводится ничего, поскольку каталог пуст). Затем рабочий каталог изменяется на родительский, проверяется, что он совпадает с тем, с которого была начата работа, и только что созданный каталог удаляется. Наконец, выводится содержимое родительского для домашнего каталога пользователя (то есть каталога /home) и содержимое корневого каталога файловой системы.



В начало


Работа с файлами в Bash

При работе в Bash можно использовать множество команд, которые работают напрямую с файлами. Полный список таких команд весьма обширен, но вот некоторые наиболее полезные:

  • cp file1 file2 копирует file1 в file2.
  • mv file1 file2 переименовывает file1 в file2.
  • mv filename dirname перемещает файл filename в каталог dirname .
  • less filename отображает содержимое файла в формате, удобном для чтения в окне терминала.
  • file filename указывает наиболее вероятный тип файла
  • cat filename выводит все содержимое файла.
  • head filename отображает первые десять строк файла (точное число отображаемых строк можно задавать).
  • tail filename отображает последние десять строк файла (точное число отображаемых строк можно задавать).
  • diff file1 file2 отображает различия, если они существуют, между файлами file1 и file2.
  • grep string filename ищет в файле строки, содержащие string.
  • rm filename удаляет файл.

В листинге 4 демонстрируется, насколько просто использовать представленные в списке команды. Начинающим пользователям полезно запустить терминал и попробовать эти команды в действии. Нужно помнить, что полная информация по работе программ содержится в руководствах man. Например, набрав команду man cp, можно прочитать соответствующую страницу руководства по команде копирования.


Листинг 4. Работа с файлами в Bash
                      
rb$ $ cp .bashrc old.bashrc
rb$ diff old.bashrc .bashrc    
rb$ cat ~/.bash_profile 
source ~/.bashrc
rb$ cat ~/.bashrc 
export PS1='\u\$ '
export DERBY_INSTALL='/opt/Apache/db-derby-10.1.2.1-bin'
export CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.
rb$ head -4 /usr/share/dict/web2
A
a
aa
aal
rb$ tail -4 /usr/share/dict/web2
Zythia
zythum
Zyzomys
Zyzzogeton
rb$ grep exuberance /usr/share/dict/web2 
exuberance
rb$ file bash-tutorial.zip 
bash-tutorial.zip: Zip archive data, at least v2.0 to extract
rb$ file bash-tutorial.xml 
bash-tutorial.xml: XML document text

Команды работы с файлами, представленные в листинге, просты и сопровождаются примерами копирования файлов, просмотра содержимого, поиска вхождения определенных строк и распознавания типа для различных файлов. Прежде всего с помощью команды копирования мы создаем дубликат файла .bashrc, который будет обсуждаться позже. Этот файл позволяет настраивать поведение и внешний вид командной оболочки Bash. Можно воспользоваться командой diff, чтобы убедиться, что эти файлы действительно одинаковы - а поскольку это так, никаких различий выведено не будет. Затем с помощью команды cat мы отображаем содержимое файлов .bash_profile и .bashrc. Содержимое этих двух файлов будет обсуждаться детально в следующем разделе.

В следующих двух примерах листинга с помощью команд head и tail выводятся первые и последние строки файла соответственно. Указанный в этих примерах флаг -4 задает вывод на экран только четырех строк вместо принятых по умолчанию десяти. Далее с помощью команды grep мы находим вхождения строки exuberance в словаре, установленном на компьютере. Наконец, в последних двух примерах с помощью команды file отображаются типы двух различных файлов.



В начало



На предыдущую страницуСтраница 4 из 10 На предыдущую страницу
    IBM в России Конфиденциальность Контакты