Iu
1. Основы - уже сделано в июле, нужно повторить
Новый терминал с компьютера в Берлине
ssh medvediu@gruenau2.informatik.hu-berlin.de
- medvediu = Аккаунт
- gruenau2.informatik.hu-berlin.de = Имя компьютера (длинное имя всегда возможно, короткое имя (gruenau2) при использовании VPN или на компьютерах в Берлине
Популярные альтернативы для ssh:
- putty
- mobaxterm
Это приложения, которые можно скачать. В принципе, внутри, putty и mobaxterm также используют лишь ssh, но они делают общение с пользователем более современным/удобным.
Идентификация:
$ id uid=502(medvediu) gid=500(unixsoft)
$ who lukaskon pts/0 2024-08-12 13:11 (172.18.204.2) jpr pts/75 2024-08-12 12:43 (141.20.23.61)
Файловая система - первые шаги
$ pwd /vol/home-vol1/unixsoft/medvediu
$ ls Osh bin
$ cd bin
Найти новые команды и познакомиться с ними
$ which ls $ ls --help $ man ls
Подробнее
$ ls -a $ ls -l $ ls -la
$ ls -l /usr/bin | more $ ls -l /usr/bin | wc -l $ ls -l /usr/bin | grep ssh
$ ls /bin/*q $ ls /bin/q* $ ls /bin/*q* $ echo /bin/*q
- *.jpg ... all pictures
- *.txt ... all text files
- *.sh ... all shell scripts
- *.mov ... all movie files
$ cat /etc/passwd $ cat /etc/services $ cat /etc/passwd /etc/services | more
$ cat /etc/services | grep mail $ cat /etc/services | grep mail | grep tcp $ cat /etc/services | grep tcp > file
Изменить язык на русский ( где это возможно)
$ export LANG=ru_RU.UTF-8 $ export LANGUAGE=ru
для постоянного изменения языка -> введите/добавьте вышеуказанные команды в .bashrc
$ nano .bashrc
права доступа к файлам (permissions)
$ id uid=512(jpr) gid=500(unixsoft) $ ls -l .bashrc -rwxr-x--- jpr unixsoft .bashrc rwx owner jpr can r(read) w(write) x(use) r-x group unixsoft can r(read) x(use) --- all others (world) can nothing
$ chmod o-x .bashrc $ ls -l .bashrc -rw-r-x--- jpr unixsoft .bashrc
grep (1)
$ nano info.txt John birthday 11.1.1990 Marry birthday 7.11.1992 Lisa birthday 12.8.1995 John weigth 85kg Marry weigth 75kg Lisa weigth 70kg John height 180cm Marry height 165cm
$ grep John info.txt
$ grep birthday info.txt
$ grep birthday info.txt | wc -l
grep (2)
$ cd $ grep LANG .* | grep export
nano (1) - edid .bashrc
Add the following greeting at the end of the file .bashrc
$ nano .bashrc ... echo Good morning Iurii
nano (2) - my_program
$ nano my_program
# this is my first bash program echo Files in my home directory cd /vaol/home-vol1/unixsoft cd medvediu ls -l
$ bash my_program
From windows or from Linux (works on both)
$ ssh medvediugruenau2.informatik.hu-berlin.de my_program
2. Основы - новинка, запланирована на октябрь
shell script my_programm
works:
$ bash my_program
does not work
$ my_program
would work, if permissions where given
$ ./my_program
works :)
$ chmod a+x my_program $ ./my_program
the perfect solution - works everywhere :) :)
$ mkdir bin $ cp my_program bin $ export PATH=bin:$PATH $ my_program
PATH = list of directories, where to shell (command interpreter) looks for programms
$ echo $PATH bin:/bin:/usr/bin:/usr/local/bin:/usr/local/X11/bin:/usr/X11/bin:/vol/home-vol1/unixsoft/jpr/bin
что еще полезного
$ alias gohome="cd /vol/home-vol1/&unixsoft/medvediu"
$ mkdir directory $ rmdir directory $ rm file $ rm -rf directory
$ cp file directory $ cp old_file new_file $ mv file directory $ mv old_file new_file
Backup
See also: gzip, zip, unzip, bzip
$ tar cvf file.tar directory $ tar tvf file.tar $ tar xvf file.tar
Сравнить файлы
$ cmp file1 file2 $ diff file1 file2
Сколько места занимают каталоги на жестком диске?
$ du .
Сколько места используется/свободно на жестком диске?
$ df
Смените пользователя
$ su
Выполнение программы с правами другого пользователя
$ sudo ls /var/log/dmesg
3. Bash Scripting
$ for x in *.jpg do echo $x ffmpg --convert $x done
$ echo $((my_program))
$ do; while true
if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi
case "$1" in -i) echo option -i used ;; -d) echo option -d used ;; *) echo unknown option esac
4. Средства для опытных пользователей
$ awk
$ egrep
$ sed
5. Процессы Linux
$ convert_images &
$ ps 21386 pts/75 00:04:37 convert_images 24395 pts/75 00:00:07 bash
$ kill -15 21386
$ top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 25129 costajoa 20 0 43,584g 1,501g 501252 S 100,0 0,199 183:27.21 python 56914 lukaskon 20 0 38,429g 2,592g 260480 S 100,0 0,344 54:31.15 pt_main_thread 16195 costajoa 20 0 14,128g 1,320g 48800 D 9,571 0,175 6:30.41 node 23784 costajoa 20 0 43,160g 1,154g 107128 R 9,571 0,153 0:09.54 python 23720 costajoa 20 0 43,166g 1,161g 107152 S 9,241 0,154 0:10.31 python
Application (Instalklation) Manager for Linux
6. Docker
Сервер в виртуальных машинах
7. IP-сеть
- IP-адреса
- Имена компьютеров, DNS
- Локальные сети
- Частные IP-адреса (192.168.x.x)
7.1 Безопасность в Интернете
- ВПН
- Firewall
- SSH-Keys
- Certificates(for SSL/HTTP, for VPN, for SSH-Login)
8. Проекты для приобретения опыта
- Trouble Ticket sytem
- nginx (web server)
- File Server
- Backup