sh команды Flashcards

(41 cards)

1
Q

вывести текущий путь в файловой системе

A

pwd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

сменить текущую директорию

A

cd [name]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

вернуться в предыдущую по порядку директорию (не вверх)

A

cd -

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

создать директорию

A

mkdir [name]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

вывести содержимое директории

A

ls [path]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

создать пустой файл

A

touch [name]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

переместить файл/каталог. также переименовать

A

mv [source] [destination]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

очистить консоль

A

clear

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

копировать файл/каталог

A

cp [source] [destination]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

удалить файл/каталог

A

rm [path]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

флаг для рекурсивного перемещения, копирования и удаления (mv cp rm)

A

-r

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ОЧЕНЬ ОСТОРОЖНО и внимательно с командами

A

rm -r /
rf -rf *
rm -rf .
rm -rf ..

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

стандартные потоки

A

stdin - стандартный ввод
stdout - стандартный вывод
stderr - стандартные ошибки

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

перенаправление в именованный поток (???)

A

echo ‘abc’ >&2 (stderr)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

вывести информацию из файла в stdout

A

cat [filename]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

перенаправление в файл и перезаписать файл

A

echo ‘abc’ > filename.ext

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

перенаправить вывод в файл и дополнить файл

A
echo 'abc' >> filename.ext
17
Q

вывести стандартный путь поиска файлов

18
Q

стандартные пути linux

A

/bin - основные утилиты необходимые в работе
/usr - пользовательские утилиты
/tmp - временные файлы
/etc - файлы конфигурации системы
/home - файлы пользователя

19
Q

создать группу пользователей (???)

A

groupadd [groupname]

20
Q

создать нового пользователя (???)

A

useradd -G [groupname] -p [password] [username]

21
Q

вывести список групп

22
Q

вывести список пользователей

23
Q

посмотреть информацию по пользователю

A

id [username]

24
посмотреть список файлов с метаинформацией (разрешения, владельцы, датавремя)
ls -l
25
битовая маска прав. десятичные значения каждого права. уровни доступа.
r - 4 w - 2 x - 1 rwx = 7 rw = 6 rx = 5 644 = rw-r--r--
26
расшифровка вывода разрешений в консоли (drwx 644)
- / d - файл или директория 644 - Owner Group Everyone
27
изменить права на файл/папку
chmod 644 filename.ext
28
сменить владельца файла/каталога
chown [owner] [filename.txt]
29
вывести список всех файлов с метаинформацией в человекочитаемом виде
ls -lah
30
встроенная документация
man [command]
31
показывать последнюю часть файла или потока вывода. удобно для чтения логов
tail []
32
правильный способ указать переменную
"${VAR}" -- $VAR - небезопасно "$VAR" - норм, если дальше ничего нет '$VAR' - будет просто строка без обработки переменной
33
структура условного ветвления (if)
#!/usr/bin/env sh MYVAR=1 if [ "${MYVAR}" -eq 1 ]; then echo "equals 1" else echo "not equals 1" fi
34
операторы сравнения строк и чисел
строки s1 = s2 s1 ! = s2 числа (алгебраическое равенство/неравенство) s1 -eq s2 s1 -ne s2
35
операторы AND и OR в условиях
AND bool1 -a bool2 OR bool1 -o bool2 отрицание !
36
специальные условия
[-f. ##существует ли файл [-d. ##существует ли директория [-n ##не пустая ли строка [-z. ##пустая ли строка ...
37
краткая форма записи if
#!/usr/bin/env sh [ то же, что и test - проверка условия MYVAR=1 ["${MYVAR}" -eq 1] && echo "is 1" || echo "is not 1"
38
краткая форма записи if с ключевым словом test
#!/usr/bin/env sh [ то же, что и test - проверка условия MYVAR=1 test "${MYVAR}" -eq 1 \ && echo "is 1"\ || echo "is not 1"
39
что будет, если использовать -eq для строкового значения
sh это не понравится и он будет ругаться на несоответствие типа данных, что ожидал integer. а получил какую-то строку
40