MainTerminalCommands - aleksei-khitev/knowledge_base GitHub Wiki
pwd
- чтоб узнать, в каким каталоге сейчас находишься
[...@... ~]$ pwd
/home/user_name
cd absolute/relative path
- сделать указанный каталог своим текущим
Используй символ .
чтоб сослаться на текущий каталог
Используй символ ..
чтоб сослаться на родительский каталог
Используй символ ~
чтоб сослаться на домашний каталог
[...@... log]$ cd /var
[...@... var]$ pwd
/var
[...@... var]$ cd log
[...@... log]$ pwd
/var/log
[...@... log]$ cd ..
[...@... var]$ pwd
/var
[...@... var]$ cd ./log
[...@... log]$ pwd
/var/log
[...@... log]$ cd ~
[...@... ~]$ pwd
/home/user_name
[...@... ~]$ cd ../../var
[...@... var]$ pwd
/var
ls
- показывает содержимое каталога. Если ввести просто ls
без аргументов, то будет показано содержимое текущего каталога. Также, можно указать какой нибудь путь в аргументе к ls
.
ls -a
- покажет все, включая скрытые файлы (если имя файла или каталога начинается в символа .
, то он считается скрытым)
ls -l
- покажет детальную информацию включая права доступа, размер, владельца и т.д.
ls -R
- покажет файлы в подкаталогах
[...@... ~]$ ls
my_notes
[...@... ~]$ ls -a
. .. .bash_history .bash_logout .bashrc .cache .config .landscape .local .motd_shown .profile .ssh .sudo_as_admin_successful my_notes
[...@... ~]$ ls -l
total 0
-rw-rw-rw- 1 aleksei_khitev aleksei_khitev 4 Aug 19 13:01 my_notes
[...@... ~]$ ls -al
total 12
drwxr-xr-x 1 aleksei_khitev aleksei_khitev 4096 Aug 19 13:01 .
drwxr-xr-x 1 root root 4096 Aug 17 11:46 ..
-rw------- 1 aleksei_khitev aleksei_khitev 775 Aug 18 15:10 .bash_history
-rw-r--r-- 1 aleksei_khitev aleksei_khitev 220 Aug 17 11:46 .bash_logout
-rw-r--r-- 1 aleksei_khitev aleksei_khitev 3771 Aug 17 11:46 .bashrc
drwx------ 1 aleksei_khitev aleksei_khitev 4096 Aug 17 12:17 .cache
drwx------ 1 aleksei_khitev aleksei_khitev 4096 Aug 17 12:17 .config
drwxr-xr-x 1 aleksei_khitev aleksei_khitev 4096 Aug 17 11:46 .landscape
drwx------ 1 aleksei_khitev aleksei_khitev 4096 Aug 17 12:17 .local
-rw-rw-rw- 1 aleksei_khitev aleksei_khitev 0 Aug 19 12:44 .motd_shown
-rw-r--r-- 1 aleksei_khitev aleksei_khitev 807 Aug 17 11:46 .profile
drwxrwxrwx 1 aleksei_khitev aleksei_khitev 4096 Aug 18 12:29 .ssh
-rw-r--r-- 1 aleksei_khitev aleksei_khitev 0 Aug 17 11:47 .sudo_as_admin_successful
-rw-rw-rw- 1 aleksei_khitev aleksei_khitev 4 Aug 19 13:01 my_notes
[...@... ~]$ ls /var
backups cache crash lib local lock log mail opt run snap spool tmp
[...@... ~]$ ls -R /var/log
/var/log:
alternatives.log apt btmp dist-upgrade dpkg.log journal landscape lastlog unattended-upgrades wtmp
/var/log/apt:
eipp.log.xz history.log term.log
/var/log/dist-upgrade:
/var/log/journal:
/var/log/landscape:
/var/log/unattended-upgrades:
Стоит заметить, что аргументы-ключи можно комбинировать в таком виде: ls -al
или ls -a -l
find some_path -name "file_name or regular expresion"
[...@... ~]$ find /var/log -name "history.log"
/var/log/apt/history.log
[...@... ~]$ find /var/log -name "history.*"
/var/log/apt/history.log
find /some/path -type d -name "Some Name"
```
### Поиск текста
`grep "some string" file` - поиск строк со вхождением искомого текста в указанном файле<br/>
`grep "some string" -R path` - поиск строк со вхождением искомого текста во всех файлах в указанном каталоге
```bash
[...@... ~]$ grep "startup" /var/log/dpkg.log
2020-08-04 21:47:42 startup packages remove
2020-08-04 21:47:43 startup packages configure
2020-08-04 21:47:44 startup packages purge
2020-08-04 21:47:44 startup packages configure
2020-08-04 21:47:46 startup packages remove
2020-08-04 21:47:47 startup packages configure
2020-08-04 21:47:47 startup packages purge
2020-08-04 21:47:48 startup packages configure
2020-08-04 22:07:39 startup archives unpack
2020-08-04 22:07:47 startup packages configure
2020-08-17 11:48:15 startup archives unpack
2020-08-17 11:48:17 startup packages configure
[...@... ~]$ grep "startup" -R /var/log
grep: /var/log/btmp: Permission denied
/var/log/dpkg.log:2020-08-04 21:47:42 startup packages remove
/var/log/dpkg.log:2020-08-04 21:47:43 startup packages configure
/var/log/dpkg.log:2020-08-04 21:47:44 startup packages purge
/var/log/dpkg.log:2020-08-04 21:47:44 startup packages configure
/var/log/dpkg.log:2020-08-04 21:47:46 startup packages remove
/var/log/dpkg.log:2020-08-04 21:47:47 startup packages configure
/var/log/dpkg.log:2020-08-04 21:47:47 startup packages purge
/var/log/dpkg.log:2020-08-04 21:47:48 startup packages configure
/var/log/dpkg.log:2020-08-04 22:07:39 startup archives unpack
/var/log/dpkg.log:2020-08-04 22:07:47 startup packages configure
/var/log/dpkg.log:2020-08-17 11:48:15 startup archives unpack
/var/log/dpkg.log:2020-08-17 11:48:17 startup packages configure
```
## Операции с файлами
### Создание каталога
`mkdir name`
```bash
[...@... ~]$ mkdir some_dir
[...@... ~]$ ls
my_notes some_dir
```
### Создание файла
Есть много разных путей для создания нового файла. К примеру, можно использовать текстовый редактор _nano_
```bash
[...@... ~]$ nano my_notes
```
Когда редактор откроется можно добавить нужный текст и нажать **Ctrl** + **X**, чтобы сохранить и выйти
### Копирование файлов
`cp file file`
```bash
[...@... ~]$ cp my_notes my_notes_backup
[...@... ~]$ ls
my_notes my_notes_backup
```
### Переименование или перемещение (вырезать, вставить) файлов
Аналогично `cp`, но `mv`
```bash
[...@... ~]$ ls
my_notes
[...@... ~]$ mv my_notes notes
[...@... ~]$ ls
notes
```
### Просмотр содержимого файла
`less file` - открыть файл для просмотра (не редактирования). Чтобы выйти из просмотра, нужно нажать **q**<br/>
`tail file` - Вывести последние несколько строк<br/>
`tail -f file` - Выводить последние несколько строк в реальном времени. Когда новые строки будут появляться в файле, они будут автоматически выведены в консоль. Очень удобно при работе с логами и отлове ошибок в реальном времени. Чтобы прекратить отслеживание, нужно нажать **Ctrl** + **C**.
```bash
[...@... ~]$ tail /var/log/dpkg.log
2020-08-17 11:48:17 status installed mc:amd64 3:4.8.24-2ubuntu1
2020-08-17 11:48:17 trigproc man-db:amd64 2.9.1-1 <none>
2020-08-17 11:48:17 status half-configured man-db:amd64 2.9.1-1
2020-08-17 11:48:18 status installed man-db:amd64 2.9.1-1
2020-08-17 11:48:18 trigproc mime-support:all 3.64ubuntu1 <none>
2020-08-17 11:48:18 status half-configured mime-support:all 3.64ubuntu1
2020-08-17 11:48:19 status installed mime-support:all 3.64ubuntu1
2020-08-17 11:48:19 trigproc libc-bin:amd64 2.31-0ubuntu9 <none>
2020-08-17 11:48:19 status half-configured libc-bin:amd64 2.31-0ubuntu9
2020-08-17 11:48:19 status installed libc-bin:amd64 2.31-0ubuntu9
[...@... ~]$ tail -f /var/log/dpkg.log
2020-08-17 11:48:17 status installed mc:amd64 3:4.8.24-2ubuntu1
2020-08-17 11:48:17 trigproc man-db:amd64 2.9.1-1 <none>
2020-08-17 11:48:17 status half-configured man-db:amd64 2.9.1-1
2020-08-17 11:48:18 status installed man-db:amd64 2.9.1-1
2020-08-17 11:48:18 trigproc mime-support:all 3.64ubuntu1 <none>
2020-08-17 11:48:18 status half-configured mime-support:all 3.64ubuntu1
2020-08-17 11:48:19 status installed mime-support:all 3.64ubuntu1
2020-08-17 11:48:19 trigproc libc-bin:amd64 2.31-0ubuntu9 <none>
2020-08-17 11:48:19 status half-configured libc-bin:amd64 2.31-0ubuntu9
2020-08-17 11:48:19 status installed libc-bin:amd64 2.31-0ubuntu9
```
## Управление сессией
### Выход из терминала
`exit` - закрывает соединение с терминалом
### Дополнительное приложение screen
[Смотри на этой странице вики](https://github.com/aleksei-khitev/knowledge_base/wiki/Screen)
## Информаци о системе, свободном месте и т.д.
### lshw
Команда `lshw` (с правами суперпользователя) выведет информация о системе, включая марку процессора, материнской платы, объемы ОЗУ и т.д.
```bash
[...@... ~]$ sudo lshw
[sudo] password for aleksei_khitev:
eprupetw039f
description: Computer
width: 64 bits
capabilities: smp
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 31GiB
*-cpu
product: Intel(R) Core(TM) i5-8365U CPU @ 1.60GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
...
```
### Информация о свободном месте на различных томах
```bash
[...@... ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 32965208 72 32965136 1% /dev
tmpfs 32975828 0 32975828 0% /dev/shm
/dev/xvda1 8123812 6828600 1194964 86% /
...
```
### Информация об использовании места в каталоге
```bash
[...@... ~]$ du -hs /var/log
133M /var/log
```