ВсёПросто

Работа с файлами в командной строке

Содержание

Основные команды для работы с файлами

Команда ls (list files) предназначена для просмотра содержимого каталогов и получения информации о файлах.

Примеры:

$ ls $ ls -a $ ls /bin $ ls -l / $ ls -l /dev $ ls -l ..

$ ls -a .

Определение текущего каталога — pwd

pwd (print working directory) показывает текущий рабочий каталог.

Смена текущего каталога — cd

cd (change directory) меняет текущий рабочий каталог. Если команда cd вызвана без параметров, происходит переход в домашний каталог пользователя. Команда cd позволяет вернуться в предыдущий каталог (каталог, откуда был осуществлен переход в текущий).

Примеры:

$ cd /usr $ cd bin $ cd .. $ cd $ cd ~

$ cd ~u1

Создание файла с помощью команды touch

Команда touch меняет временные метки файла и имеет побочное действие, которое используется гораздо чаще, чем основное – если файла с указанным именем нет, создается пустой файл.

Создание каталога — mkdir

Команда mkdir (make directory) создает каталоги, в том числе и промежуточные (если указана опция -p).

Примеры:

$ mkdir /tmp/test
$ mkdir ~p /tmp/a/b/c

Удаление файла — rm

Команда rm удаляет файлы и каталоги, в т.ч. каталоги с содержимым (опция r или R). Опция f подавляет вывод запросов (например, при удалении файлов, доступных только для чтения) и ошибок при удалении, а опция i выводит запрос при удалении каждого файла.

Примеры:

$ touch /tmp/test $ rm -r /tmp/test

# rm -fr /*

Удаление каталога — rmdir

Команда rmdir удаляет только пустые каталоги. При использовании опции p удаляются и родительские каталоги целевого каталога, если они пусты.

Примеры:

$ rmdir /tmp/test
$ rmdir -p /tmp/a/b/c

Копирование файлов и каталогов — cp

Команда cp позволяет копировать файли и каталоги (опция r или R). При её использовании часто применяются шаблоны шелла. В общем случае, команда cp требует не менее двух параметров: что копировать и куда копировать. Команда cp имеет большое количество опций, подробно о которых можно узнать на странице man.

Примеры:

$ touch file1 $ mkdir dir1 $ cp file1 file2 $ cp file1 incorrectdirname $ cp file1 dir1/

$ cp -r dir1/ dir2/

Перемещение и переименование файлов и каталогов — mv

Команда mv предназначена для перемещения и переименования файлов и каталогов. При перемещении внутри одного каталога имя исходного файла/каталога меняется на новое, что эквивалентно переименованию.

При перемещении внутри одного раздела (одной файловой системы) меняется только жесткая ссылка на объект и процесс перемещения происходит очень быстро.

При перемещении данных между различными файловыми системами происходит копирование с последующим удалением источника, так что время выполнения команды зависисит от объема данных.

Примеры:

$ mv file2 file3 $ mv dir2 dir3 $ mv file3 incorrectdirname $ mv file3 dir1/

$ mv dir3 dir1/

Создание линков/ссылок на файлы и каталоги — ln

Команда ln позволяет создавать символьные (с опцией s) и жесткие (без опции s) ссылки.

Примеры:

$ ln -s /etc/rc.conf file4 $ mkdir -p ~/var/db/mysql $ touch ~/var/db/mysql/file.db $ mkdir ~/disk2 $ mv ~/var/db/mysql ~/disk2/ $ ln -s ~/disk2/mysql/ ~/var/db/mysql

$ ls ~/var/db/mysql/

Определение типа файла — file

Команда file представляет собой интерфейс к системе magic, который доступен пользователю в виде обычной команды.

Примеры:

$ file /usr/sbin/adduser $ file /bin/sh

$ file /usr/share/man/man1/cat.1.gz

Просмотр файлов — more/less

Пейджеры (pager) more или less используются для просмотра больших объемов текстовой информации страницами. Они позволяют осуществлять навигавицию, поиск по тексту и некоторые другие действия с помощью команд.

Получить помощь по этим командам всегда можно, нажав клавишу h. Выход из пейджера осуществляется с помощью команды q. Поиск информации осуществляется с помощью команд / (вперед) и ? (назад), после которых указывается шаблон для поиска.

Для получения подробной справки обратитесь к соответствующей странице справочного руководства.

Примеры запуска:

$ more /etc/defaults/rc.conf
$ less /etc/defaults/rc.conf

Работа с архивами

UNIX обладает богатым арсеналом средств резервного копирования и восстановления данных: программы dump/restore, cpio, tar и пр. Для работы архивами наиболее широко используется программа tar.

Несмотря на то, что в разных системах UNIX используются различные реализации этой программы, получающиеся в результате архивы являются кроссплатформенными, т. е. могут быть обработаны в разных ОС (в т.ч. и Windows).

Ниже приведены примеры работы с программой tar:

Создать архив:

$ tar -c -v -f имяфайлаархива.tar каталогилифайл …

Посмотреть содержимое архива:

$ tar -t -f имяфайлаархива.tar

Раскрыть архив целиком:

$ tar -x -v -f имяфайлаархива.tar

Раскрыть отдельные файлы:

$ tar -xf имяфайлаархива.tar 'etc/fstab' $ tar -xOf имяфайлаархива.tar 'etc/fstab' — вывести на экран(STDOUT) $ tar -xf имяфайлаархива.tar 'etc/' $ tar -xf имяфайлаархива.tar '*fstab*'

Дополнительные ключи:

-z использовать gzip сжатие
-j использовать bzip2 сжатие

Статистика использования разделов — df

Для получения статистики использования разделов дисков (смонтированных файловых систем) используется команда df. Наиболее полезные опции здесь – h (human-readable, выводит числовые данные в виде, удобном для восприятия пользователем) и t (выводит информацию только о файловых системах указанного типа, не принимая во внимание остальные – например, виртуальные файловые системы).

Пример запуска программы:

$ df -h -t ufs Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 434M 143M 256M 36% / /dev/ad0s1e 403M 12K 371M 0% /tmp /dev/ad0s1f 6.4G 427M 5.5G 7% /usr

/dev/ad0s1d 771M 304K 709M 0% /var

Размер каталога — du

Программа du (disk usage) позволяет получить статистику использования дискового пространства не по разделам целиком, а для конкретных указанных каталогов.

Опция h здесь аналогична этой опции программы df, а опции s (summary) и d число (depth) позволяют указать необходимую степень подробности (глубину) выводимой информации.

Опция s эквивалента опции d 0 (нулевая глубина погружения), причем эти опции нельзя указывать вместе.

Примеры использования:

$ du -s -h /usr/share/
$ du -d 1 /usr/share/

Метоположение программ — which и whereis

Для поиска программ (исполняемых файлов) в UNIX используется команда which, которая ищет указанные файлы в каталогах, перечисленных в переменной окружения PATH. Команда whereis аналогична по действию, но ищет также среди man страниц и в каталогах с исходными текстами программ.

Примеры:

$ which ls /bin/ls $ whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz

Поиск файлов по индексированной базе — locate

Поиск файлов по имени с помощью заранее созданной индексной базы данных используется программа locate. Для создания индексной базы используется программа /usr/libexec/locate.updatedb

Полный поиск файлов — find

Программа find обладает большими возможностями для указания атрибутов искомых объектов и позволяет осуществлять поиск с самыми разными параметрами. Подробную информацию можно получить на странице справки.

Примеры использования find:

Поиск по имени и по шаблону имени

$ find /usr/share -name index.html
$ find /usr/share -name '*.html'

Поиск файлов, которые модифицировались за последние 2 дня и вывод полной информации про них

$ find /var/log -ctime -2 -type f -ls

Поиск файлов более новых чем некоторый

$ touch -t 200901051230 /tmp/xtime
$ find /etc/ -newer /tmp/xtime -type f

Пример выполнения команд над найденными файлами

4.9. Работа с файлами в командной строке

Манипулировать файлами можно при помощи одного из графических файловых менеджеров, например, Наутилус или Konqueror. Кроме того, это можно делать из командной строки, и это будет даже быстрее. Эта глава разъясняет, как именно работать с файлами в командной строке.

Вы можете создавать новые файлы как при помощи приложений (таких как текстовые редакторы), так и командой touch, которая создает пустой файл, куда можно добавить текст или другие данные. Чтобы создать файл с помощью команды touch, наберите в командной строке:

touch

Вместо должно стоять название файла по вашему выбору. Просмотрев список файлов текущего каталога с помощью команды

ls -l имя_файла-rw-rw-r— 1 user user 0 Mar 07 16:01 имя_файла

4.9.2. Копирование файлов

Для копирования файла наберите следующее:

cp

Замените названием файла, который вы копируете, а названием каталога, куда он должен попасть.

Итак, чтобы скопировать файл example.txt в каталог docs/ в вашем домашнем каталоге, перейдите в свой домашний каталог и наберите:

cp example.txt docs/

В команде cp вы можете использовать как относительный, так и абсолютный путь к файлу. Наш домашний каталог является вышестоящим по отношению к каталогу docs/; каталог docs/ на ступень ниже домашнего каталога.

Прочтите man-страницу команды cp (наберите в командной строке man cp) и просмотрите полный список опций команды cp. Среди прочих опций команды cp имеются следующие:

Теперь у вас имеется файл example.txt в каталоге docs/. Воспользуйтесь командой cp -i, чтобы еще раз скопировать файл в то же самое место:

cp -i example.txt docs/cp: переписать 'docs/example.txt'?

Чтобы переписать файл, нажмите клавишу[Y] и затем [Enter].Если вы не хотите переписывать существующий файл, нажмите [N] и [Enter].

4.9.3. Перемещение файлов

Для перемещения файлов используйте команду mv. Узнать больше о команде mv можно из man-страницы mv, для чего необходимо набрать в командной строке man mv.

Ниже приведены некоторые часто используемые опции команды mv:

Если вы хотите переместить файл из своего домашнего в другой существующий каталог, наберите, находясь в домашнем каталоге, следующее:

mv example.txt docs/

Та же команда, но с использованием абсолютного пути, выглядит так:

mv /home/user/example.txt /home/user/docs/

4.9.4. Переименование файлов

Команда mv используется не только для перемещения, но и для переименования файлов и каталогов.

Следующая команда переименует файл original_name в файл new_name:

mv original_name new_name

Следующая команда переместит файл original_name из каталога на один уровень выше текущего в текущий и переименует этот файл в new_name:

mv ../original_name new_name

Следующая команда переместит файл original_name из текущего каталога в каталог dir3/ и переименует этот файл в new_name:

mv original_name /dir1/dir2/dir3/new_name

4.9.5. Удаление файлов и каталогов

Вы научились создавать файлы командой touch и создали каталог docs/, используя команду mkdir.

Теперь нужно научиться удалять файлы и каталоги. Удаление командой rm — простой процесс. Для получения более подробной информации обратитесь к man-странице команды rm. Ниже перечислены некоторые опции данной команды:

Чтобы удалить файл test.txt с помощью команды rm, наберите:

rm test.txt

Внимание
Как только файл или каталог удален командой rm, он исчезает навсегда и не может быть восстановлен.

Используйте опцию -i, чтобы иметь последнюю возможность подумать, прежде чем удалить файл.

rm -i test.txtrm: удалить обычный файл 'test.txt'?

Вы можете также удалять файлы, используя метасимволы *, но будьте осторожны, потому что вы можете легко удалить нужные файлы.

Для удаления файла с использованием метасимволов наберите:

rm tes*

Эта команда удалит все файлы в каталоге, имена которых начинаются с tes.

С помощью команды rm можно удалить также несколько файлов. Например:

rm test.txt example.txt

Чтобы удалить каталог, используйте команду rmdir (например, rmdir examples), но только если каталог пуст. Чтобы удалить каталог с помощью команды rm, необходимо указать опцию -r.

Например, если вы рекурсивно удаляете каталог examples/, вы должны ввести:

rm -r examples/

Чтобы совместить опции удаления, такие как принудительную и рекурсивную, введите:

rm -rf examples/

Удаление каталога с помощью команды rmdir безопаснее, чем с помощью rm. С rmdir вы не сможете использовать рекурсивное удаление, поэтому каталог, который содержит какие-нибудь файлы, не будет удален.

Внимание
Команда rm может удалить всю вашу файловую систему! Если вы вошли в систему как пользователь root и ввели простую команду rm -rf /, — вы в беде. Эта команда рекурсивно удалит всю вашу систему.

Чтобы больше узнать о команде rmdir, обратитесь к ее man-странице (введите man rmdir).

Для создания ссылок, символьных и жестких, используется команда ln.

Жесткая ссылка — другое имя для существующего файла. Для создания жесткой ссылки введите в командной строке:

ln файл ссылка

Символьная ссылка — особый маленький файл, содержащий путь к файлу. Для создания символьной ссылки используется та же команда, что и для создания жесткой, но с опцией -s:

ln -s файл ссылкаПри создании символьной ссылки на каталог автоматически создаются символьные ссылки на все входящие в него файлы и каталоги.

Чтобы больше узнать о команде ln, прочтите ее man-страницу, введя в командной строке man ln.

Урок 7 по CMD — цикл for, работа с файлами и значениями

В этой статье мы рассмотрим, как использовать конструкцию for в командной строке для перебора значений и файлов. Все примеры в статье я буду приводить с учетом, что код будет выполнятся в теле сценария, который, в свою очередь будет запускаться из консоли командной строки.

Лично я, сперва добавляю в переменную окружения PATH путь к каталогу, в котором находится сценарий:

set %PATH%;путь_к _каталогу

После этого я просто ввожу в консольном окне имя сценария, например, test.bat. Помните, что путь будет храниться в переменной окружения лишь в пределах текущего окна командной строки.

Командная строка for – перебор значений

Для перебора значений используется следующий синтаксис:

for /L %%переменная in (начало, шаг, конец) do (оператор)

Ключ /L говорит о том, что происходит перебор данных, далее следует имя переменной, в которую эти данные будут записываться. В круглых скобках нужно через запятую указать три параметра:

Давайте рассмотрим такой пример:

@echo offfor /L %%B in (0,1,5) do echo %%Becho.for /L %%B in (5,-1,0) do echo %%B

В данном сценарии используются два цикла for командной строки, первый задает диапазон цифр от 0 до 5 с шагом 1, второй – диапазон цифр от 5 до 0 с шагом -1. То есть, прямой и обратный порядок. Функция ЭХО будет в виде списка выводить содержимое переменной B. Команда “echo.” вставляем между списками пустую строку.

Теперь попробуем найти сумму чисел от 0 до 100:

@echo offset summ=0for /L %%B in (0,1,100) do set/A summ+=%%Becho %summ%set summ=

Сначала мы отключаем вывод эхо-отображений. Потом мы объявляем переменную summ с помощью ключевого слова set и присваиваем ей ноль. Далее в цикле for задаем начальное значение в 0, шаг в 1 и конечное значение в 100.

  Суммирование происходит в строке set/A summ+=%%B, тут к содержимому переменной summ будет добавляться содержимое переменной %%B. В конце мы выводим конечный результат и удаляем из окружения summ.

Теперь давайте посмотрим, как будет выглядеть код для нахождения факториала числа 5:

@echo offset fact=1for /L %%B in (5,-1,1) do set/A fact*=%%Becho %fact%set fact=

Тут практически тот же самый синтаксис, за исключением того, что мы задали отрицательный шаг и использовали оператор *=.

Хорошо, теперь усложним задачу: найдем сумму чисел от 0 до 10, исключив из расчета числа 5, 7 и 9:

@echo offset summ=0for /L %%B in (0,1,10) do (if «%%B» neq «5» (if «%%B» neq «7» (if «%%B» neq «9» set/A summ+=%%B)))echo %summ%set summ=

Как видим, для проверки условия мы использовали условный оператор if. К сожалению, в командной строке нет логических операторов тип “ИЛИ” и “И”, как например, в языках vbscript и jscript, поэтому нам пришлось создавать вложенные операторы if. В результате, мы получили число 34. Также обратите внимание на оператор “neq” – проверка условия типа “НЕ РАВНО”.

Командная строка for – работа с файлами

Для групповой работы с файлами используется следующий синтаксис цикла for командной строки:

for %переменная in (набор_файлов) do (оператор)

Базовый параметр тут переменная набор_файлов, которая может содержать:

Стоит учитывать тот факт, что если не указывать путь к файлу, то поиск будет производиться в текущем каталоге – в том каталоге, из которого производится запуск сценария.

В следующем примере происходит вывод всех файлов из каталога d:work с расширением .txt:

@echo offfor %%В in (d:work*.txt) do (echo %%В)

Тут B является переменной инициализации, при каждой итерации ей будет присвоено путь, имя и расширение найденного текстового документа, а функция ЭХО сразу выведет информацию на экран. Потом снова, переменной B будет присвоено новое имя и снова произойдет вывод данных. Сам цикл работает до тех пор, пока не будут найдены все значения, заданные в условии.

Естественно, можно задать условие для вывода всех файлов с расширениями, например, .txt, .avi и .pdf.

@echo offset work_dir=d:workfor %%B in (%work_dir%*.txt %work_dir%*.avi %work_dir%*.pdf) do (echo %%B)set work_dir=

В данном случае переменная work_dir содержит путь к папке d:work, в цикле командной строки for мы добавляем к переменной нужные расширения. В конце сценария происходит удаление переменной work_dir.

Также стоит понимать, что вместо одного оператора (в данном случае эхо) можно прописать несколько, сгруппировав их символом &. То есть, данный цикл позволяет в групповом порядке обработать одним махом несколько файлов. Только не забывайте, что при формировании группы их стоит заключить в круглые скобки. Например:

Можно попробовать получить список имен файлов и их размер:

@echo offfor %%B in (%SystemRoot%*.txt) do (echo %%B %%~zB)

Конструкция ~z позволяет получить размер файла в байтах.

Что бы использовать сразу цикл в командной строке, стоит вместо двух символов % прописывать один, например:

for %B in (%SystemRoot%*.txt) do (echo %B %%~zB)

Шпаргалка по работе в командной строке Linux

Прошли те времена, когда для управления операционной системой Linux требовалось знание командной строки. Сегодня в распоряжении пользователей Linux несколько отличных графических интерфейсов (лично я предпочитаю GNOME).

Однако необязательное не означает бесполезное — знание команд открывает мощные возможности настройки и управления системой. Время, вложенное в изучение команд, окупится сторицей. Ниже несколько полезных команд.

В Ubuntu Linux операции, требующие полномочий администратора, должны предваряться командой sudo

Переход в терминал: Alr+Ctr+F1(-F6)

Переключение между текстовыми консолями: Alr+F1(-F6)

Переход в графический режим: Alr+F7

Аварийный выход из системы X Window: Ctr+Alt+Backspace

Включение/выключение

Перезагрузить компьютер:rebootили shutdown -r nowВыключить компьютер:shutdown -h nowВыключить компьютер через заданное время:shutdown -h hh:mmилиshutdown -h +mОкончание сеанса работы в терминале:exit

Управление пользователями

Включить корневую учетную запись:sudo passwd rootЗаблокировать корневую учетную запись:sudo passwd -l rootДобавить пользователя:adduser имя_пользователяУдалить пользователя:deluser имя_пользователяУдалить пользователя вместе с домашним каталогом:deluser имя_пользователя -remove-homeИзменить имя пользователя и название его домашнего каталога:usermod -l новое_имя_пользователя -d /home/новое_имя_пользователя -m старое_имя_пользователяИзменить пароль пользователя:passwd имя_пользователяВосстановить пароль к учетной записи в режиме восстановления системы (нажать Esc в процессе загрузки GRUB):passwd имя_записи

Управление каталогами

Показать информацию о файловых системах:sudo mountПоказать список разделов:dfПоказать содержание текущего каталога:du -hПоказать объем указанного каталога:du -S имя_каталогаОтобразить путь к текущему каталогу:pwdСоздать каталог:mkdir имя_каталогаСкопировать каталог:cp каталог_1 каталог_2Переместить каталог_1 в каталог_2:mv каталог_1 каталог_2Войти в каталог:cd /имя_каталогаПоказать содержание каталога:ls /имя_каталогаПоказать содержание каталога, включая скрытые файлы и каталоги:ls -a /имя_каталогаПоказать полную информацию о содержании каталога:ls -l /имя_каталогаУдалить пустой каталог:rmdir имя_каталогаУдалить каталог с содержанием:rm -r имя_каталога

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

Создать файл в текущем каталоге:touch имя_файла.

txtНайти файл:locate имя_файлаОбновить базу поиска файлов:updatedbПросмотреть текстовый файл:cat /путь/имя_файлаПросмотреть текстовый файл в обратном порядке — от последней строки к первой:tac /путь/имя_файлаСкопировать файл_1 в файл_2:cp файл_1 файл_2Переместить файл_1 в файл_2:mv файл_1 файл_2Переместить файл с сохранением оригинала (в конец имени файла дописывается символ ~):mv -b файл целевой_каталогУдалить файл:rm имя_файлаЗаписать информацию в файл, перезаписав его:echo текст > имя_файла.txtДобавить информацию в файл без его перезаписи:echo текст >> имя_файла.txtСлить несколько текстовых файлов в один:cat файл_1 файл_2 > итоговый_файл

Работа с архивами

Создать архив из содержимого каталога:tar -cvf имя_архива.tar имя_каталога/Сжать файлы:bzip2 имя_файлаgzip имя_файлаzip имя_файлаРаспаковать архив:gunzip имя_архива.tar.gzbunzip имя_архива.tar.bzbunzip2 имя_архива. ar.bz2tar xvf имя_архива.tartar xzf имя_архива.tgz

Управление правами доступа

Пример:-r—r——dr—r——Дефис вначале означает обычный файл, d — каталог (директорию). Дальше три группы по три символа означают права доступа для владельца, членов группы, в которую входит владелец, и для всех остальных пользователей соответственно.дефис означает отсутствие прав,r — означает право на чтение,w — право на запись,

x — право на выполнение.

Просмотреть права доступа:ls -l имя_файла_или_каталогаЗадать права доступа:chmod *** имя_файла_или_каталогагде *** — права доступа, указанные абсолютным способом, или:
chmod группа=/+/-тип доступа имя_файла_или_каталогагде группа: u (user, владелец), g (group, группа), o (other, другие), a (all, все), например: chmod a+rw имя_файлаИзменить владельца:chown имя_пользователя имя_файлаРаспространенные права доступа:644 = rw-r—r—666 = rw-rw-rw-

777 = rwxrwxrwx

Порядок цифр соответствует порядку пользователей (ugo), цифра в каждой позиции складывается из значений 4, 2 и 1 для прав r, w и x, соответственно. Так право полного доступа для владельца и отсуствие каких-либо прав для группы и прочих пользователей будет 700 (4+2+1.0.0).

Управление программами

Обновить список программного обеспечения:apt-get updateОбновить систему:apt-get upgradeНайти программу в репозитарии по ключевому слову:apt-cache search ключевое_словоПоказать информацию о пакете:apt-cache show название_пакетаУстановить программу из репозитария:apt-get install имя_пакетаУдалить установленную программу:apt-get remove имя_пакетаУдалить программу вместе с файлами настройки:apt-get remove purge имя_пакетаУстановить программу из скомпилированного пакета:dpkg -i имя_пакета.debУдалить программу:dpkg -r имя_пакета.debОчистить локальное хранилище полученных файлов пакетов:apt-get cleanПросмотреть список установленных пакетов:dpkg -lДобавить частный источник программного обеспечения PPA (Personal Package Archive):add-apt-repository ppa:user/ppa-nameУстановить программу из бинарного файла (предварительно необходимо перейти в каталог с файлом программы):./имя_файла.binРазрешить исполнение файла (если необходимо):chmod a+x имя_файла.bin/>Установить программу из исходных файлов (предварительно необходимо перейти в каталог с файлом программы):./configuremake

make install

Удалить программу, установленную из исходных файлов:make uninstallЗапустить графическую программу с правами root:gksudo имя_программы

Управление системой

Отобразить список зарегистрированных в системе пользователей:whoПоказать информацию об использовании оперативной памяти:freeПоказать список запущенных процессов:psЗавершить процесс:killall имя_процессаПоказать список процессов в реальном времени:topВнести изменения в файл конфигурацииgedit /путь/к_файлуСнизить скорость чтения диска в приводе:hdparm -E 4 /dev/dvdrom

Диагностика системы

Проверить жесткий диск на «битые» секторы:badblocksПоказать состояние сетевых интерфейсов:ifconfigПоказать состояние беспроводных сетевых устройств:iwconfigПроверить таблицу маршрутизации:routeПроверить доступность компьютера в сети:ping имя_сайта_или_ip_адресОстановить процесс: Ctrl+CПроверить маршрут следования пакета:traceroute имя_сайта_или_ip_адресПоказать информацию о подключенных USB-устройствах:lsusbОтобразить список PCI-шин и подключенных к ним устройств:lspciОтобразить список оборудования системы:lshw

Получение помощи

Показать Введение в пользовательские команды:man introОтобразить краткое описание команды:whatis имя_командыВывести информацию о команде:man имя_командыinfo имя_командыимя_команды —helpНайти информацию по ключевым словам:man -k ключевое_словоПоиск по странице:/ключевое_словоПродолжить поиск:NВывести историю команд:historyВыполнить команду из списка истории команд:!номер_команды!первые_буквы_командыОчистить экран консоли:clear

Объединение команд

Последовательное выполнение команд:команда1 ; команда2Последовательное выполнение команд при условии успешного выполнения предыдущей команды:команда1 && команда2Последовательное выполнение команд при условии неудачного выполнения предыдущей команды:команда1 || команда2Последовательное выполнение команд с передачей результатов выполнения предыдущей команды последующей:команда1 | команда2Запуск команды в фоновом режиме:команда &

Символы подстановки

Работа с файлами в командной строке Mac OS X

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

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

Создание файла

Для того чтобы создать файл, можно использовать команду touch. На самом деле, предназначение данной команды — изменение даты последнего доступа к файлу и даты последнего изменения файла.

Выполнение команды без параметров touch путь_до_файла/file обновит у файла дату последнего доступа (last access time) и дату последнего редактирования (last modification time). Если же такого файла не существует, то будет создан пустой файл с указанным в команде именем.

Чтобы обновить только дату доступа, надо использовать параметр ‑a, чтобы только дату изменения — параметр ‑m. Также можно установить не текущую, а произвольную дату, используя параметр ‑t, и указав после него дату в формате [[CC]YY]MMDDhhmm[.SS], например, 201203201359.11, что соответствует 2012 году 03 месяцу 20 числу 13 часам 59 минутам 11 секундам.

Создание директории

Для создания директорий существует команда mkdir (от англ. make directory).

Синтаксис: mkdir имя_директории …, где имя директории — это путь и имя создаваемой директории. Можно указать несколько директорий через пробел.

Если в пути до создаваемой директории присутствуют несуществующие директории, то директория создана не будет, а будет выведено сообщение об ошибке. Для того чтобы создать несколько вложенных друг в друга директорий, используется параметр ‑p. Например, команда:

mkdir -p folder1/folder2/folder3

создаст все три директории folder1, folder2, folder3 в случае, если они не существуют.

По умолчанию директории создаются с набором прав доступа 755; чтобы создать директорию с иным набором прав, используется параметр ‑m права_доступа, например так: mkdir ‑m 750 folder.

Перемещение и изменение имени файла или директории

Имена файлов или директорий хранятся не в самих этих файлах, а являются записями в таблице, которая содержит список с именами файлов и директорий, находящихся внутри этой директории.

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

Поэтому для перемещения и изменения имени файла используется одна и та же команда mv (от англ. move).

Синтаксис команды: mv исходный_файл новый_файл, где исходный файл — это путь до файла или директории и имя файла или директории, которые вы хотите переместить, а новый файл — это путь до места назначения, куда необходимо переместить файл или директорию, и новое имя для перемещаемого файла или директории.

mv /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/hi.txt в этом примере мы перемещаем файл hello.txt из директории /Users/ixrevo/Downloads/ на рабочий стол /Users/ixrevo/Desktop/, а имя перемещённого файла будет hi.txt (содержимое файла останется без изменений).

Учитывая что нашей текущей директорией была /Users/ixrevo/, можно было бы указать относительный путь к файлу:
cp Downloads/hello.txt Desktop/hi.txt

Подробнее о текущей директории вы можете прочитать в статье «Навигация по файловой системе в командной строке», а про относительные и абсолютные пути — в статье «Как устроена структура файловой системы Mac OS X».

Также можно переименовать файл или директорию, не перемещая:

mv hello.txt hi.txt

Или переместить, не переименовывая:

mv /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/

Для чего необходимо указать только директорию, куда перемещать файл или директорию, без указания нового имени (ну или указать старое имя).

Ещё один способ использования команды mv удобен для перемещения нескольких файлов или директорий: mv исходный_файл_1 исходный_файл_2 … директория, где исходный файл_1, исходный файл_2 и т.д. — пути и имена файлов или директорий, которые необходимо переместить, а директория — это путь до директории, куда необходимо переместить файлы, указанные ранее.

Копирование файла

Для копирования файлов и директорий существует команда cp, что является сокращением от copy.

Синтаксис команды: cp исходный_файл новый_файл, где исходный файл — это путь и имя файла, который необходимо скопировать, а новый файл — это путь до создаваемой копии файла и имя этой копии.

Например, выполнив команду:

cp /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/hi.txt

Мы скопируем файл hello.txt из директории /Users/ixrevo/Downloads/ на рабочий стол /Users/ixrevo/Desktop/, а имя у копии файла будет hi.txt.

Команда cp также позволяет копировать несколько файлов:
cp исходный_файл_1 исходный_файл_2 … директория

Исходный файл_1, исходный файл_2 и т.д. — пути до файлов и имена файлов, которые необходимо скопировать, а директория — это путь до директории, куда вы хотите скопировать файлы, указанные ранее.

Копирование директории

Для копирования директорий команда cp используется с параметром ‑R или ‑r (от англ. recursive). Команда cp, выполненная с этим параметром, если в качестве первого аргумента была указана директория, скопирует директорию и всё её содержимое, то есть все вложенные директории и файлы.

Синтаксис команды в данном случае выглядит следующим образом:

cp -r копируемая_директория место_назначения

При попытке скопировать директорию без параметра ‑r, директория скопирована не будет, а будет выведено сообщение об ошибке.

Удаление файла

Для того чтобы удалять файлы, используется команда rm (от англ. remove). Синтаксис: rm файл …, где файл — это путь и имя файла, который необходимо удалить. Также можно указать несколько файлов для удаления.

Удаление директории

Существует несколько способов удаления директорий. Например, можно использовать команду

rmdir директория …

директория — это путь и имя директории, которую необходимо удалить. Также можно указать несколько директорий для удаления.

Если директория не пустая, то есть содержит вложенные файлы и/или папки, то команда rmdir не сможет удалить эту директорию и выдаст сообщение об ошибке.

Аналогично команде rmdir действует команда rm с параметром ‑d.

Конечно, удалять каждый раз сначала содержимое директории, а потом её саму не очень интересно, но, к счастью, есть способ удалить директорию вместе со всем её содержимым.

Для этого выполните команду rm с параметром ‑R или ‑r, и тогда все файлы и директории, указанные в команде rm ‑r директория …, будут удалены вместе со всеми вложенными директориями.

Но будьте осторожны, не удалите этой командой что-нибудь нужное, особенно учитывая, что в командной строке нет корзины и файлы с директориями удаляются необратимо.

Полезные ссылки

Ссылки на руководства на русском языке для рассмотренных в статье команд:

Также вы всегда можете открыть руководство к любой команде прямо у вас в командной строке, выполнив: man имя_команды. Для выхода из руководства нажмите q.

Работа с файлами в командной строке

Помощь командной строки незаменима при сбоях в работе компьютера. Начало получения навыков обычно связано с работой, как открыть, копировать, выполнять запуск, удалить файл. Как будет выглядеть алгоритм действий при каждом из составляющих работы, вы сможете увидеть ниже.

Начнём с вопроса, как открыть файл через командную строку, затем покажем, как запустить программы, удалить их, копировать фрагмент текста.

С этими задачами справится новичок, однако давно работающим с компьютером полезно вспомнить либо изучить эти варианты проведения обычных процессов.

В командной строке Windows можно полноценно работать с файлами.

Открываем файлы

Иногда через Менеджер, Проводник не получается открыть файлы, тогда поможет вам командная строка. Необходимо будет лишь запомнить несколько команд.

Итак, вы запустили программу, хотите открыть один из документов. Следуйте такому алгоритму.

  1. Найдите каталог, где расположен ваш файл. При запуске вы находитесь в диске C, в каталоге Windows/system
  2. Команда, позволяющая просмотреть, что входит в каталог — dir. Для постраничного просмотра добавляют «/p». После подтверждения вами выполнения команд, откроется список, где отразится содержимое папки. 
  3. Чтобы перейти на следующую страницу, следует нажать Enter.
  4. Если необходимо, чтобы отразились в списке только подкаталоги, в команду добавляется ключ «/ad», для отображения исключительно файлов — «/b».
  5. Чтобы перейти в другую папку, вписываете в строку cd и путь к папке. Например, запись может выглядеть так: «cd C:Windows». Значит, вы шагнёте из system32, где оказались по умолчанию, в папку Windows, перейдя тем самым назад на один уровень. 
  6. Зайдя в нужный каталог, вписываем имя. Откроется документ в программе, в которой должен открыться по умолчанию.

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

СОВЕТ. Для быстроты работы существуют bat-файлы, в них заранее вписывают команды, нужные, часто набираемые. Затем запускается этот файл, а он откроет нужную программу. 

Рассмотрим, как запустить файл с командной строки, ежели он является программным. Здесь будет иметь значение, входит ли приложение в пакет Windows или вам понадобилось стороннее приложение.

 Если открываемое приложение является частью компонентов Windows, запуск производится вписыванием в консоль его имени, затем нажимаете Enter. Не требуется указывать расширение.

Допустим, вам потребовался запуск «Блокнота», значит, просто наберите слово notepad, нажав затем Enter.

Если программа является сторонней, следует вписать полный путь к ней. Например, вам понадобился запуск архиватора WinRAR, значит, вы вписываете следующее:

C:Program Files WinRAR WinRAR.exe

Путь записывайте в кавычках, если в адресе к нему имеются пробелы. Кавычки при этом нужны прямые — не в виде запятых. При неправильных кавычках программа не откроется. Кавычки не надо копировать, их впечатываете непосредственно в командную строку, без применения буфера обмена. На английской раскладке нужные кавычки находятся в сочетании клавиш Shift + Э.

СОВЕТ. Если зайдёте в каталог с программой, полный путь к ней прописывать не нужно. Достаточно просто ввести название файла с расширением. Например, зайдя в директорию WinRAR, вписываете команду WinRAR.exe — произведётся запуск программы. 

Для закрытия приложений применяют программу taskkill. Вначале наберите tasklist, для вашего просмотра выйдет список процессов. Впишите номер индикатора в команде, например «taskkill /pid 3900/f», для подтверждения нажмите Enter. 3900 — это номер идентификатора.

Поиск по расширению

Командная строка поможет найти нужный файл по его расширению, если не помните его точного названия. Чтобы найти файл через командную строку, нужно запомнить применяемую в таком случае команду. Набираете dir и нужное вам расширение через звёздочку. Допустим, ищите один из экзешников, значит, набираете:

dir *.exe

На экран будут выведены все файлы с данным расширением, вам останется найти среди них нужный. Если поиск требуется вести в подкаталогах, добавьте ключ «/S». Полная команда для поиска файла в диске C, включая поиск в подкаталогах, будет выглядеть так:

dir C:*.exe /S

Удаление

Удалить ненужные системные файлы также можно посредством рассматриваемой программы. Удалить файл через командную строку несложно. Для удаления применяется команда del. После неё прописывается путь к искомому документу. Например, желаете удалить 123.txt. Вписываете следующее: «del C:Windows123.txt».

ВАЖНО. Для полного очищения какой-либо папки применяется атрибут «/S». Сможете удалить с таким ключом любые вложенные каталоги, все данные. 

OS Windows, заботясь об убыстрении, облегчении работы на ПК, создала горячие клавиши — комбинации, позволяющие быстро копировать текст, вставить его в другой файл. Это сочетания Ctrl+V или Shift+Insert.

В командной строке это не работает. Чтобы копировать информацию в ней, нужно вначале её настроить.
  1. Нажмите сочетание «Alt + Space (пробел) + Q». Откроется окошко со свойствами командной строки. 
  2. Пройдите на вкладку «Общие», в группу «Редактирование», отметьте пункт «Быстрая вставка». А также нужно активировать «Выделение мышью». 
  3. Нажав ОК для подтверждения действий, увидите несколько вариантов подобной функции. Отметьте одно поле, нажмите ОК.

Теперь, чтобы копировать фрагмент текста из командной строки, выделите его мышкой, нажмите сочетание Ctrl+C.

Все эти навыки вам пригодятся, если не получается выполнить нужный процесс обычным путём из-за сбоев, неполадок в компьютере.

Несложные действия, легко запоминающийся алгоритм, чёткие инструкции — всё помогает вам более профессионально решать поставленные вопросы.

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