Как правило, для управления Unix\Linux веб-сервером, используют бесплатную программу PuTTY, которая через защищенный SSH-протокол передает команду, которая распознается и выполняется сервером. Как подключиться к серверу и передавать команды через командную строку читайте здесь. А мы далее приводим большую часть команд, в зависимости от их направленности.
Эта команда предназначена для удаления объектов. Из всех рассмотренных в нашем курсе команд она наиболее опасна. Файлы удаляются навсегда и в обход Корзины. Восстановить их весьма проблематично. Именно поэтому всегда дважды (а то и трижды) проверяйте введённые вместе с командой rm параметры и аргументы!
Синтаксис у неё ещё проще:
rm -(параметры) (путь к удаляемому объекту)
А вот её параметры:
- rm -f форсирует удаление без предупреждений
- rm -i запрашивает подтверждение на стирание каждого объекта
- rm -v удаляет объекты в подробном режиме
Обратите внимание, что rm, как и cp, не умеет по умолчанию удалять директории. В связи с этим для неё актуален параметр -R (или -r).
Есть у rm и ещё один занятный параметр для конфиденциальной информации:
rm -P
- Команда RM в Linux. Описание и примеры
- Команда RM в Linux. Описание и примеры
- Команды Linux для работы с файлами | Losst
Заглавная P в числе параметров не просто удаляет файл, но и трижды перезаписывает место на диске, где он хранился, сводя вероятность восстановления данных к нулю.
Покажем ещё раз опасность команды rm. Допустим, вы хотели удалить папку Temp в корне диска:
rm -rf /Temp
и случайно опечатались, поставив пробел после слэша:
rm -rf / Temp
Так как у rm есть только один аргумент, она воспримет только то, что находится между параметрами -rf и следующим пробелом. А там у вас / — т.е. всё содержимое диска. А теперь подумайте, что ждёт ваш Мак, если вы выполните эту команду от имени корневого администратора (с приставкой sudo).
В связи с этим, старайтесь не использовать команду rm без параметра -i. Хоть это и нудно, зато обезопасит вас от многих роковых ошибок.
Операции с файлами
Команда | Действие |
---|---|
ls | показать список файлов и каталогов |
ls -al | показать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения |
cd директория | перейти в указанную директорию; |
cd | перейти в домашний каталог |
pwd | показать текущую папку |
mkdir директория | создать папку «директория» |
rm имя_файла | удалить файл с именем имя_файла |
rm -r диретория | удалить папку «директория» |
cp файл1 файл2 | скопировать файл1 в файл2 |
cp -r папка1 папка2 | скопировать папка1 в папка2 |
touch файл | создать файл и с именем «файл» |
cat > файл | направить стандартный ввод в «файл» |
more файл | показать содержимое файл |
head файл | показывает первые 10 строк из файла |
tail файл | показывает последние 10 строк из файла |
Как запустить консоль в Ubuntu
Как вы уже поняли, работа с командной строкой (Ubuntu cmd) выглядит следующим образом:
-
Вызов командной строки Ubuntu.
-
Ввод команды.
-
Интерпретатор считывает команду и выполняет её.
Остановимся на первом шаге. Другое название командной строки — консоль (Ubuntu console) или Терминал. Чтобы его открыть, вы можете:
- Linux команды rm и rmdir- команды …
- Linux команды rm и rmdir- команды …
- Linux команды rm и rmdir- команды …
-
зайти в меню и ввести в поиск Терминал,
-
или нажать сочетание клавиш Ctrl+Alt+T.
После того как консоль откроется, вы можете приступать к вводу нужных команд. Bash список команд приведён ниже.
Обратите внимание, что вызвать командную строку в Linux можно таким же образом, как и в Ubuntu.
Синтаксис и опции команды rm
Команда «rm» имеет множество опций, что позволяет очень тонко управлять процессом удаления файлов. Вы можете изучить все доступные опции если введете в терминал Linux команду «man rm». Здесь же мы будем рассматривать самые простые и часто используемые опции.
Синтаксис команды «rm» выглядит следующим образом:

rm [опции] файлы
Разберем основные опции команды rm:
-f, —force Игнорировать несуществующие файлы и не требовать подтверждения перед удалением. -i Требовать подтверждения перед каждым удалением. -I Запрашивать подтверждение один раз перед удалением более трех файлов или при рекурсивном удалении. -r, -R, —recursive Рекурсивное удаление каталогов и их содержимого. -v, —verbose Вывод подробной информации о процессе. —help Вывод справочной информации о команде.
Теперь разберем некоторые опции, которые часто используются при удалении файлов в Linux через терминал. Например, очень часто возникает необходимость удалить папку вместе с всем содержимым. Для этого нужно использовать опцию «-r», которая включает рекурсивный обход папок. Например, для того чтобы удалить папку «folder1» и все ее содержимое нужно выполнить:

rm -r folder1/
Если права доступа к файлу разрешают только чтение, то в терминале Linux появится запрос подтверждения, и чтобы продолжить вам нужно будет ввести букву «y» (от англ. «yes»).
Чтобы избежать такой ситуации и удалять все файлы без предупреждения нужно использовать опцию «-f». Например:
rm -f

Не редко возникает необходимость удалить папку вместе со всеми файлами и без запросов на подтверждение. В этом случае нужно комбинировать опции «-r» и «-f». В результате команда выглядит вот так:
rm -rf folder1/
Если вы, наоборот, хотите каждый раз получать запрос подтверждения, то команду «rm» нужно выполнять с опцией «-i». Например, для того чтобы удалить все файлы в текущем каталоге с запросом подтверждения нужно выполнить:
rm -i *

Также бывает полезной опция «-v». При ее использовании в терминале будет появляться подробная информация о выполняемых действиях. Например, для того чтобы удалить все файлы в текущем каталоге и вывести информацию в терминал нужно выполнить:
rm -v *
Также вывод информации можно перенаправить в файл. Для этого после команды нужно использовать оператор перенаправления вывода (>) и указать название файла. Например:
rm -v * >

Естественно все эти опции можно комбинировать, в зависимости от ваших задач.
Управление печатью (CUPS)
- lpstat – отображение статуса заданий, классов и принтеров
- -a printer — отображение текущего статуса принтера printer
- -c class — отображение текущего статуса класса class
- -p printer — отображение текущего статуса принтера/очереди (включен или выключен) printer. Если не указан принтер, то отображается информация о всех принтерах.
- -d — отображение текущих очередей печати.
- lpr file — печать файла file на принтер по умолчанию (в новых версиях CUPS заменена на lp)
- lpinfo — отображение доступных устройств принтеров и драйверов
- lppasswd username — изменение пароля пользователя username в CUPS в файл /etc/cups/
- -a username — добавление нового пользователя username
- -x username — удаление пользователя username
- lpoptions — управление настройками принтера и отображение настроек.
- lpadmin — настройка CUPS принтеров и класссов
- accept очередь — включение возможности принятия в очередь заданий
- reject очередь — отключение возможности приема новых заданий в очередь
- enable очередь — запуск очереди очередь
- disable очередь — остановка очереди печати очередь
- -с очередь — отмена обработки печати всех документов в очереди (аналог «очистить очередь»)
- -r причина — указание причины очистки
Управление библиотеками с помощью make
Когда вы работаете над большими проектами, часто удобно управлять компиляцией нескольких программных единиц с помощью библиотеки. Библиотеки — это файлы, в соответствии с соглашением имеющие расширение a (archive) и содержащие коллекцию объектных файлов. Для работы с библиотеками у команды make есть специальная синтаксическая запись, которая существенно облегчает управление ими.
Синтаксическая запись lib(file.о) означает объектный файл file.o, хранящийся в библиотеке lib.а. У команды make есть встроенное правило для управления библиотеками, которое обычно эквивалентно приведенному далее фрагменту:
.с.а:
$(CC) -с $(CFLAGS)
$< $(AR) $(ARFLAGS) [email protected] $*.о
Макросы $(AR) и $(ARFLAGS) подразумевают команду ar и опции rv соответственно. Довольно краткая синтаксическая запись информирует команду make о том, что для включения файла .с в библиотеку .а следует применить два следующих правила:
□ первое правило говорит о том, что команда make должна откомпилировать исходный файл и сформировать объектный файл;
□ второе правило предписывает применить команду ar для модификации библиотеки, заключающейся в добавлении нового объектного файла.
Итак, если у вас есть библиотека fud, содержащая файл bas.o, в первом правиле $< заменяется именем bas.c. Во втором правиле [email protected] заменяется именем библиотеки fud.а и $* заменяется именем bas.
Выполните упражнение 9.4.
Упражнение 9.4. Управление библиотекой
Правила управления библиотеками очень просто применять на практике. В этом упражнении вы измените свое приложение, сохранив файлы 2.o и 3.o в библиотеке mylib.a. Make-файл потребует лишь нескольких изменений и его новый вариант Makefile5 будет выглядеть следующим образом:
all: myapp
# Какой компилятор
CC = gcc
# Куда установить
INSTDIR = /usr/local/bin
# Где хранятся файлы include
INCLUDE =
# Опции для разработки
CFLAGS = -g -Wall -ansi
# Опции для рабочей версии
# CFLAGS = -O -Wall -ansi
# Локальные библиотеки
MYLIB = mylib.a
myapp: main.o $(MYLIB)
$(CC) -o myapp main.o $(MYLIB)
$(MYLIB): $(MYLIB)(2.o) $(MYLIB)(3.o)
main.o: main.c a.h
2.o: 2.c a.h b.h
3.o: 3.c b.h c.h
- КАК УДАЛИТЬ ФАЙЛЫ ИЛИ КАТАЛОГИ …
- КАК УДАЛИТЬ ФАЙЛЫ ИЛИ КАТАЛОГИ …
- Команда Rm в Linux
clean:
-rm main.o 2.o 3.o $(MYLIB)
install: myapp
@if [ -d $(INSTDIR) ]; \
then \
cp myapp $(INSTDIR);\
chmod a+x $(INSTDIR)/myapp;\
chmod og-w $(INSTDIR)/myapp;\
echo «Installed in $(INSTDIR)»;\
else \
echo «Sorry, $(INSTDIR) does not exist»;\
fi
Обратите внимание на то, как вы разрешили правилам по умолчанию выполнить большую часть работы. Теперь проверьте новую версию make-файла:
$ rm -f myapp *.o mylib.a
$ make -f Makefile5
gcc -g -Wall -ansi -с -o main.о main.c
gcc -g -Wall -ansi -с -o 2.о 2.c
ar rv mylib.a 2.o
a — 2.o
gcc -g -Wall -ansi -с -о 3.o 3.c
ar rv mylib.a 3.o
a — 3.о
gcc -o myapp main.о mylib.a
$ touch c.h
$ make -f Makefile5
gcc -g -Wall -ansi -с -о 3.o 3.c
ar rv mylib.a 3.o
r — 3.о
gcc -o myapp main.о mylib.a
Как это работает
Сначала вы удаляете все объектные файлы и библиотеку и разрешаете команде make создать файл myapp, что она и делает, откомпилировав и создав библиотеку перед тем, как компоновать файл main.о с библиотекой для создания исполняемого файла myapp. Далее вы тестируете зависимость для файла 3.o, которая информирует команду make о том, что, если меняется файл c.h, файл 3.c следует заново откомпилировать. Она делает это корректно, откомпилировав файл и обновив библиотеку перед перекомпоновкой, создающей новую версию исполняемого файла myapp.