This commit is contained in:
2026-07-30 11:35:10 +05:00
commit 8a3ec978ad
113 changed files with 3384 additions and 0 deletions
+241
View File
@@ -0,0 +1,241 @@
## Перемещение по файловой системе и работа с ней.
### 1. cd
```
cd </path/to/directory>
```
Сокращенное _change directory_. Позволяет перемещаться по файловой системе.
Путь может быть как абсолютным (_начмнаться с /_), так и относительным (_подразумевается расположение пути относительно текущего_).
![Рис. 1](https://kmb.cybber.ru/bash/img/1.png)
- **cd** без параметров перемещает в домашнюю директорию пользователя.
- **cd -** перемещает по прошлому пути.
- **.** (точка) текущая директория
- **..** (две точки) родительская директория
- **~** (тильда) домашняя директория пользователя
### 2. pwd
```
pwd
```
Cокращение от _print work directory_. Выводит текущий абсолютный путь.
![Рис. 2](https://kmb.cybber.ru/bash/img/2.png)
### 3. ls
```
ls </path/to/directory>
```
Сокращение от list. Отбражает все **файлы** и **директории** в директории </path/to/directory>.
![Рис. 3](https://kmb.cybber.ru/bash/img/3.png)
- **ls** без параметров отображает все файлы и директории по **текущему** пути
- **ls -a** отображает скрытые файлы и папки
- **ls -l** отображает расширенную информацию о файлах и папках
### 4. cat
```
cat <file_name>
```
Отображает содержимое файла file_name.
![Рис. 4](https://kmb.cybber.ru/bash/img/4.png)
### 5. less
```
less <file_name>
```
Отображает содержимое файла file_name, выводит только содержимое помещающееся в окно терминала. Навигация по файлу возможна **клавишами-стрелками**, кнопка "q" закрывает просмотр.
![Рис. 5](https://kmb.cybber.ru/bash/img/5.png)
![Рис. 5-5](https://kmb.cybber.ru/bash/img/5-5.png)
### 6. file
```
file <file_name>
```
Выводит на экран тип файла. Настоящий тип, а не указанный в расширении.
![Рис. 6](https://kmb.cybber.ru/bash/img/6.png)
### 7. cp
```
cp <file1> <file2>
```
Сокращение от **copy**. Копирует файл **file1** по пути **file2**.
### 8. mv
```
mv file1 file2
```
Сокращение от **move**.
Перемещает файл **file1** по пути **file2**.
### 9. rm
```
rm <file1>
```
Сокращение от **remove**.
Удаляет файл **file1**.
- **rm -r** удаляет директорию
### 10. mkdir
```
mkdir <directory>
```
Сокращение от **make directory**.
Создает директории с именем **directory**.
### 11. locate
```
locate <file>
```
Возвращает все пути с вхождениями **file** в них.
### 12. man
```
man <cmd>
```
Отображает справку по команде **cmd**.
### 13. echo
```
echo <string>
```
Выводит заданную строку **string** на экран.
### 14. strings
```
strings <file1>
```
Выводит все строки с печатными символами из файла **file1** на экран.
## Перенаправление вывода
Bash позволяет перенаправлять стандартный вывод в файлы с помощью оператора **>**. Если файл не существовал, он будет создан, иначе он будет перезаписан.
```
$ echo hello! > 1.txt
$ ls
1.txt
$ cat 1.txt
hello!
```
Если требуется _дописать_ строку в файл используется оператор **>>**.
## Конвейер
Если нужно перенаправить вывод одной команды на вход другой используется оператор **|**.
```
$ locate bin | less
```
## Поиск по содержимому файлов
```
$ grep [opts] "pattern" file
```
```
$ cat file | grep [opts] "pattern"
```
**-v** - вывести строки, где не всречается образец
**-i** - игнорировать регистр символов
**-n** - печатать номера строк
**-a** - искать по бинарным файлам
**-E** - расширенные регулярные выражения
**-o** - вывести только совпадающую с образцом часть строки
## Регулярные выражения
```
$ egrep [opts] "pattern" file
```
```
$ cat file | egrep [opts] "pattern"
```
`^` `"^license"` - начало строки
`$` `"license$"` - конец строки
`[abc]` `"[0-9]"` - любой символ из перечисленных
`[^abc]` `"[^ ]1"` - любой кроме перечисленных
`[ab]{8}` `"w{3}"` - повторяется несколько раз
`(abc)` `"(license)"` - группа символов
`.` `"Li.en.e"` - любой символ
`*` `"\([a-z ]*\"` - повторить ноль или больше раз
`+` `"\(a.+\)"` - повторить один или больше раз
`?` `"(copy)?right"` - повторить ноль или один раз
## Обработка текста
Вывести символы со 2 по 5 каждой строки
```
$ cat file | cut -c 2-5
```
Отсортировать строки по алфавиту
```
$ cat file | sort
```
Удалить одинаковые строки, идущие подряд
```
$ cat file | uniq
```
Вывести уникальные строки
```
$ cat file | sort | uniq
```
```
$ cat file | awk 'program'
```
`'{print $0}'` - вывести каждую строку `'{print $1}'` - вывести первое слово каждой строки `'{print "1: " $1 ", 2: " $2}'` - вывести для каждой строки 1:<слово 1>, 2:<слово 2>
+4
View File
@@ -0,0 +1,4 @@
%% Zoottelkeeper: Beginning of the autogenerated index file list %%
[[cybersec/OS/Bash commands|Bash commands]]
[[cybersec/OS/Powershell commands|Powershell commands]]
%% Zoottelkeeper: End of the autogenerated index file list %%
+8
View File
@@ -0,0 +1,8 @@
**Get-Command** - получение списка всех доступных команд и алиасов
Как пример можно использовать `Get-Command -CommandType "Function"` что бы получить вывод всех команд, тип которых - функция.
**Get-Help** - аналогично команде `man` в Linux позволяет получить информацию о команде: атрибуты, способ использования и примеры.
`Get-Help [command] -examples` позволяет получить примеры использования команды.
**Find-Module** и **Install-Module** - используются для того, что бы найти и установить дополнительный модуль (как в unix системах - установка доп. софта)
`Find-Module -Name "PowerShell*"`
`Install-Module -Name "PowerShellGet"`