Iu: Difference between revisions

From
Jump to navigation Jump to search
(Created page with " == 1. Основы - уже сделано в июле, нужно повторить == ==== Новый терминал с компьютера в Берлине ==== ssh '''medvediu'''@'''gruenau2.informatik.hu-berlin.de''' ::'''medvediu''' = Аккаунт ::'''gruenau2.informatik.hu-berlin.de''' = Имя компьютера (длинное имя всегда возможно, короткое имя ('''gruenau2''') при использовании VPN и...")
 
No edit summary
 
Line 127: Line 127:
# this is my first bash program
# this is my first bash program
echo Files in my home directory
echo Files in my home directory
cd /vaol/home-vol1/unixsoft
cd /vol/home-vol1/unixsoft
cd medvediu
cd medvediu
ls -l
ls -l

Latest revision as of 12:44, 12 September 2024


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 /vol/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