Список вопросов

+++++++++++++
Программа man форматирует и выдает в интерактивном режиме справочную информацию, например man cat выдает опции команды cat.
На сочетания клавиш ^C она не реагирует, ^D интерпретирует как PgDown. Как из неё выйти, не зная команды на выход?
+++++++++++++
Предположим, что в файле /etc/passwd есть запись
user123:x:10123:500:special user:/:/usr/bin/bc
Что сможет сделать пользователь user123, получив доступ через терминал?
+++++++++++++
Напишите команды, выполняющие следующие действия:

Выдать на экран слово «file»

Выдать на экран содержимое файла с именем «file»

Одной командой выдать на экран содержимое нескольких файлов «file1» «file2» «file3»

Одной командой выдать на экран содержимое всех файлов в каталоге /tmp имена которых начинаются с «file1»

Выбрать из вывода предыдущей команды все строки содержащие слово «make» и показать на экране последние четыре строки из отобранных
+++++++++++++++++++++++++++++
Как создать файл с именем «???»

Как удалить все файлы, имя которых имеет длину 3 символа и начинается с вопроса?

Как удалить в текущем каталоге все файлы и подкаталоги, имя которых начинается с точки?

Как удалить в текущем каталоге ВСЕ файлы и подкаталоги?

++++++++++++++++++++++++++++
Что выведут команды echo?

A='*'
echo "$A"

echo '$A'

echo $A

+++++++++++++
Что произойдёт при выполнении двух команд?
echo=qqq
echo $echo

Что произойдёт при выполнении двух команд?
A=echo
$A $A > $A

Судя по всему, bash выполняет перенаправление файлов до подстановки переменных. Исходя из этого, попытайтесь представить, что произойдёт в третьей команде
A=echo
O=’>’
$A $A $O $A
+++++++++++++++++++++++++++++++
Что произойдёт при выполнении команды?
ed file.txt <<EOF
1,\$s/a/b/g
w
q
EOF

+++++++++++++
Чем отличаются две команды в редакторе vi?
:!q

:q!
++++++++++++++++++++++++++++++++++
Что изменится после выполнения команды?
export PATH=$PATH:~/bin
+++++++++++++
Что напечатают программы (запущенные от обычного пользователя)?
touch /tmp/$$; echo $?; rm /tmp/$$

touch /$$; echo $?; rm /$$
++++++++++++++++++++++++++++++++
Арифметическое выражение в двойных скобках без знака $, например ((A=A-3)) ничего не подставляет в командную строку, но возвращает код завершения. Код равен 0 если результат не 0, код равен 1 если вычислен 0 или произошла ошибка
Что напечатают команды?
((1+2)) || echo $?

((A=1+2)) && echo $? && echo $A

+++++++++++++
Файл /etc/passwd состоит из строк, разбитых двоеточиями на поля. Формат такой
Логин:Пароль:uid:gid:комментарий:домашний каталог: командная строка
Предположим у на с есть пользователь user. Что выдаст команда?

ls $(grep user /etc/passwd| cut –d: -f6)
+++++++++++++
Какой вариант записи оператора самый правильный (пометить галочкой):
if grep qq file then echo success fi
if grep qq file; then echo success; fi
if grep qq file; then; echo success; fi
+++++++++++++
В каталоге находятся файлы с именами a1, a2…a9, b1,b2…b9. Напишите три варианта цикла for который бы выполнял бы какую-нибудь операцию (например grep qq) со всеми файлами с b2 по b6. Один вариант должен использовать подстановку {}, другой [], третий (()).
+++++++++++++
Почему команда выдаст Not Null?
A=0
if [ $A > 0 ]; then echo Not Null;fi
+++++++++++++
Напишите скрипт, который проверял бы, что имя является файлом и печатал соответствующий текст (/etc/passwd – файл, /etc - не файл)
++++++++++++
У программы ps есть ключ u (user) который добавляет имя пользователя в первую колонку списка процессов. У команды сортировки sort есть ключ –u (uniq, уникальный), который говорит, что повторяющие строки после сортировки отбрасываются. Выдайте список всех пользователей, у которых сейчас есть запущенные процессы.
+++++++++++++
Команда wc (word count – подсчёт слов) имеет ключи –c –w –l, которые указывают что надо подсчитать число символов, слов или строк соответственно.
Напишите команду, которая подсчитает число процессов запущенных пользователем с именем student
+++++++++++++
Большинство стандартных каталогов в Unix имеют владельца root группу root доступа и права rwxr-xr-x Объясните, зачем обычным пользователям даны два права x и r
+++++++++++++
Используя команды: wc –l (выдает число строк в файле file в формате 526<пробел>file), cut (или awk), head, tail и цикл for напишите скрипт, который выводит задом наперед (вначале последняя строка, потом предпоследняя и т.д) содержимое файла, имя которого находится в переменной $1. (Примечание. В Unix есть стандартная команда tac, которая выполняет нужное преобразование, но её использование будем считать неспортивным)
+++++++++++++
В CentOS Linux в файле /etc/init.d/functions есть такие строки
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_NORMAL="echo -en \\033[0;39m"
Предположите, что произойдёт, если выполнить скрипт
. /etc/init.d/functions
RES_COL=40; $MOVE_TO_COL; $SETCOLOR_SUCCESS OK; $SETCOLOR_NORMAL; echo
Зачем нужна точка в первой строке этого скрипта?
+++++++++++++
Тестовая программа test.c
#include "test.h"
int main() { return 0; }

Что неверно в таком запуске компилятора
gcc test.c jpeg.h

Какой файл будет создан при таком запуске компилятора
gcc –с test.c

Какие файлы будут использованы для сборки программы test при таком запуске
gcc –o test test.o -ljpeg
+++++++++++++
Программа sendmail использует для доставки почты файлы /etc/mail/mailertable и /etc/mail/virtusertable. Для ускорения доступа эти файлы программой makemap компилируются в двоичный вид - mailertable.db и virtusertable.db.

makemap hash <текстовый_файл> <скомпилированный_файл>

Напишите такой Makefile, чтобы после изменения текстовой версии любого из указанных файлов достаточно было перейти в /etc/mail/ и набрать make, для обновления скомпилированной версии.
+++++++++++