/
cmd.txt
executable file
·1802 lines (1588 loc) · 79.2 KB
/
cmd.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1. Установка и настройка
1.1 Как сделать общую папку в виртуальной машине?
virtualbox -> Настроить -> Общая папка -> + -> Путь к папке (выбираем свой) -> подключаться автоматически -> Запустить машину -> Устройства -> подключить гостевую папку -> Запустить -> Появится терминал, после завершения процесса, можем закрытьтерминал -> появится папка на рабочем столе, но прав доступа к ней не будет, поэтому открыть терминал и добавить пользователя в группу vboxsf ->
[david@cent ~]$ sudo usermod -aG vboxsf david
1.2 Установка Python в Ubuntu
1) Сначала посмотрите какая версия Python установлена в вашей системе
david@VirtualBox:~/Документы$ python3 --version
Python 3.6.7
2) обновить систему и установить пакет нужной версии
david@VirtualBox:~/Документы$ sudo apt update
david@VirtualBox:~/Документы$ sudo apt install python3.7
3) проверяем версию
david@VirtualBox:~/Документы$ python3.7 -V
Python 3.7.3
4) если вы попытаетесь получить список возможностей, то получите ошибку.
david@VirtualBox:~/Документы$ update-alternatives --list python
update-alternatives: ошибка: нет альтернатив для python
5) нужно сначала установить какие файлы за что отвечают.
david@VirtualBox:~/Документы$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
update-alternatives: используется /usr/bin/python3.6 для предоставления /usr/bin/python3 (python3) в автоматическом режиме
david@VirtualBox:~/Документы$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
update-alternatives: используется /usr/bin/python3.7 для предоставления /usr/bin/python3 (python3) в автоматическом режиме
david@VirtualBox:~/Документы$ update-alternatives --list python3
/usr/bin/python3.6
/usr/bin/python3.7
6) мы можем выбрать нужную нам версию и переключаться по необходимости. Для настройки используйте команду config
david@VirtualBox:~/Документы$ sudo update-alternatives --config python3
Есть 2 варианта для альтернативы python3 (предоставляет /usr/bin/python3).
Выбор Путь Приор Состояние
------------------------------------------------------------
* 0 /usr/bin/python3.7 2 автоматический режим
1 /usr/bin/python3.6 1 ручной режим
2 /usr/bin/python3.7 2 ручной режим
Press <enter> to keep the current choice[*], or type selection number: 0
7) посмотрите какая версия Python установлена
david@VirtualBox:~/Документы$ python3 -V
Python 3.7.3
1.3 установка для frontend разработчика
david@VirtualBox: sudo apt-get install openjdk-7-jdk
david@VirtualBox: перетаскиваем в терминал файл phpshtorm.sh
david@VirtualBox: sudo apt-get install node.js
david@VirtualBox: sudo apt-get install npm
david@VirtualBox: sudo apt-get install git
david@VirtualBox: перетаскиваем в терминал файл smartgit.sh
david@VirtualBox: sudo npm install --global gulp
david@VirtualBox: sudo npm install -g bower
david@VirtualBox: sudo npm install jade --global
david@VirtualBox: sudo apt-get install ruby
david@VirtualBox: sudo gem install sass
Установим фотошоп через менеджер приложений playonlinux
2. Работа с текстовым редактором
gedit, nano, vim, pico
h - влево
j - вниз
k - вверх
l - вправо
shift+i - режим ввода текста
еsс / ctrl+c - режим командной строки
r+(на какую букву нужно заменить) - замена буквы
shift+r - замена нескольких букв
shift+a - в конец строки
x - удаляет букву
4+х - удаляет 4 буквы
d+d - удаление строки
3+d+d - удаление 3х строк
u - вернуть изменения
/+(слово) - поиск по слову в большом тексте
shift+w -сохранить
shift+q! - выйти без сохранения
shift+wq -сохранить и выйти
1.1 откроем файл:
[david@cent linux]$ vim somefile
1.2 создание нового файла
[david@cent linux]$ vim (название файла)
2. Знакомство с Linux
ctrl+a - переместить в начало строки
(начало файла)+tab - дополняет файл
2.1 основы терминала
1) вывести текст в командной строке:
[david@cent ~]$ echo "hello world"
hello world
2) Oчистить экран
[david@cent linux]$ clear
3) посмотреть настройки терминала:
[david@cent ~]$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
4) Вывести сообщение на экран
david@VirtualBox:~$ /usr/bin/notify-send "Title" "Hellowold"
2.2 создание переменных alias для упрощения работы с терминалом
1) Добавим переменную eh в файле .bashrc
[david@cent ~]$ vim ~/.bashrc
[david@cent ~]$ cat ~/.bashrc
alias eh="mkdir test"
2) Перезапустим файл .bashrc
[david@cent ~]$ source ~/.bashrc
3) Запустим нашу команду
[david@cent ~]$ eh
2.3 Навигация по файловой системе:
1) список файлов:
[david@cent linux]$ ls /home/david
Видео Загрузки Музыка Рабочий стол
Документы Изображения Общедоступные Шаблоны
2) более подробный список (права доступа, пользователи, группы, время создания, размер файла, имя файла)
[david@cent linux]$ ls -l /home/david
итого 0
drwxr-xr-x. 2 david david 6 июн 27 08:57 Видео
drwxr-xr-x. 4 david david 30 июн 28 14:04 Документы
drwxr-xr-x. 2 david david 6 июн 27 08:57 Загрузки
drwxr-xr-x. 2 david david 6 июн 27 08:57 Изображения
drwxr-xr-x. 2 david david 6 июн 27 08:57 Музыка
drwxr-xr-x. 2 david david 6 июн 27 08:57 Общедоступные
drwxr-xr-x. 2 david david 6 июн 27 08:57 Рабочий стол
drwxr-xr-x. 2 david david 6 июн 27 08:57 Шаблоны
3) покажет все скрытые файлы:
[david@cent linux]$ ls -a /home/david
. .bashrc .gnupg .redhat Загрузки Шаблоны
.. .cache .ICEauthority .ssh Изображения
.bash_history .config .local .viminfo Музыка
.bash_logout .dbus .mozilla Видео Общедоступные
.bash_profile .esd_auth .pki Документы Рабочий стол
4) сортировать по времени:
[david@cent linux]$ ls -t /home/david
Документы Загрузки Музыка Рабочий стол
Видео Изображения Общедоступные Шаблоны
5) Можно сразу несколько опций (скрыто-а, по времени-t и подробно-l):
[david@cent linux]$ ls -atl /home/david
итого 40
drwx------. 19 david david 4096 июн 28 14:39 .
-rw------- 1 david david 8122 июн 28 14:39 .viminfo
drwxr-xr-x. 4 david david 30 июн 28 14:04 Документы
-rw-------. 1 david david 1570 июн 28 14:02 .ICEauthority
-rw-------. 1 david david 135 июн 28 11:07 .bash_history
drwx------ 2 david david 6 июн 27 11:04 .ssh
drwx------ 2 david david 79 июн 27 11:04 .gnupg
drwxrw---- 3 david david 19 июн 27 11:03 .pki
drwx------. 16 david david 4096 июн 27 09:07 .cache
drwxr-xr-x. 6 david david 81 июн 27 09:07 .mozilla
drwxr-xr-x. 14 david david 261 июн 27 08:58 .config
drwx------. 3 david david 17 июн 27 08:57 .redhat
drwxr-xr-x. 2 david david 6 июн 27 08:57 Видео
drwxr-xr-x. 2 david david 6 июн 27 08:57 Загрузки
drwxr-xr-x. 2 david david 6 июн 27 08:57 Изображения
drwxr-xr-x. 2 david david 6 июн 27 08:57 Музыка
drwxr-xr-x. 2 david david 6 июн 27 08:57 Общедоступные
drwxr-xr-x. 2 david david 6 июн 27 08:57 Рабочий стол
drwxr-xr-x. 2 david david 6 июн 27 08:57 Шаблоны
-rw-------. 1 david david 16 июн 27 08:57 .esd_auth
drwx------. 3 david david 19 июн 27 08:57 .local
drwx------. 3 david david 25 июн 27 08:57 .dbus
drwxr-xr-x. 3 root root 19 июн 26 17:34 ..
-rw-r--r--. 1 david david 18 окт 31 2018 .bash_logout
-rw-r--r--. 1 david david 193 окт 31 2018 .bash_profile
-rw-r--r--. 1 david david 231 окт 31 2018 .bashrc
6) перейти в текущую папку:
[david@cent linux]$ cd Документы/
7) Перейти в предыдущую папку:
[david@cent linux]$ cd ..
8) Перейти в корневую папку:
[david@cent linux]$ cd ~
9) Где мы сейчас находимся:
[david@cent linux]$ pwd
/home/david/Документы/linux
2.4 Работа с файлами и папками
1) создадим файлы:
[david@cent linux]$ touch somefile
[david@cent linux]$ touch somefile2
[david@cent linux]$ touch file1
[david@cent linux]$ touch file2
2) создадим несколько файлов с расширением ру
[david@cent linux]$ touch {app,main,config,migrate}.py
3) создаем директорию:
[david@cent linux]$ mkdir directory
[david@cent linux]$ mkdir papka
[david@cent linux]$ mkdir photo
4) одновременно создадим папку арр и перейдем в эту папку
[david@cent Документы]$ mkdir app && cd app
5) одновременно создадим папку test и создадим в test файл
[david@cent Документы]$ mkdir test && touch test/adfa.txt
6) создаем файл в директории:
[david@cent linux]$ touch directory/newfile
7) переместим файл в директорию
[david@cent linux]$ mv somefile directory/
8) создадим несколько файлов
[david@cent linux]$ touch png1 png2 png3 png4
9) переместим все файлы с png в директорию
[david@cent linux]$ mv png* photo/
10) переименуем файл:
[david@cent linux]$ mv somefile2 smfl2
11) копируем файл:
[david@cent linux]$ cp smfl2 smfl3
12) копируем директорию:
[david@cent linux]$ cp -r photo/ phto
13) удалим файлы:
[david@cent linux]$ rm smfl2
14) удалим директорию
[david@cent linux]$ rm -r phto
15) создаем ссылку на файл
[david@cent linux]$ ln -s file1 softlink
16) откроем файл
[david@cent linux]$ cat file1
fdbjkd h
17) откроем ссылку
[david@cent linux]$ cat softlink
fdbjkd h
18) удалим файл
[david@cent linux]$ rm file1
19) открыть ссылку уже не получится
[david@cent linux]$ cat softlink
cat: softlink: Нет такого файла или каталога
20) создаем мягкую ссылку и удалим файл
[david@cent linux]$ ln file2 hardlink
[david@cent linux]$ rm file2
21) откроется ссылка
[david@cent linux]$ cat hardlink
2.5 поиск файлов
1) по типу
[david@cent linux]$ find . -type -f
2) поиск по названию
[david@cent linux]$ find . -name "png1"
./photo/png1
3) поиск по расширению
[david@cent linux]$ find . -name "*.txt"
./cmd.txt
4) поиск по размеру больше 2Кб
[david@cent linux]$ find . -size +2
./cmd.txt
5) описк по размеру меньше 2кб
[david@cent linux]$ find . -size -2
.
./directory
./directory/newfile
./directory/somefile
./photo
./photo/png1
./photo/png3
./photo/png4
./photo/privet
./photo/privet/png2
./softlink
./hardlink
6) поиск по времени
[david@cent linux]$ find . -mtime +1
[david@cent linux]$ find . -mtime -1
[david@cent linux]$ find . -ctime -1
[david@cent linux]$ find . -atime -1
7) поиск по расширении
[david@cent linux]$ find . -iname "*.txt" -or -iname "*.doc" -or -iname "*.gpg"
./cmd.txt
8) поиск по расширении и по времени
[david@cent linux]$ find . -iname "*.txt" -or -iname "*.doc" -or -iname "*.gpg" -and -ctime -1
./cmd.txt
9) поиск с помощью grep по определенному слову и в файле
[david@cent linux]$ grep "hello" new/app.py
hello david. kak dela
10) покажет слово с заглавными буквами
[david@cent linux]$ grep -i "hello" new/app.py
hello david. kak dela
Hellosworld
11) покажет номер строки в которой присутствует это слово
[david@cent linux]$ grep -in "hello" new/app.py
1:hello david. kak dela
12) покажет список
[david@cent linux]$ grep -iwl "hello" new/*
13) покажет в каких строках присутсвует данное слово
[david@cent linux]$ grep -iwc "hello" new/*
14) попробуем найти номер телефона (d - сколько цифр в фигурной скобке мы ищем)
[david@cent linux]$ grep -i "\d{4}-\d{2}-\d{3}" new/main.py
15) Мы можем вынести информацию в отдельный файл (tel2.txt)
[david@cent linux]$ grep -i "\d{4}-\d{2}-\d{3}" new/main.py > new/tel2.txt
16) Мы можем записать регулярные выражения (\d{4}-\d{2}-\d{3}) в файл (new/pattrent.txt)
[david@cent linux]$ grep -owiPf new/pattrent.txt new/main.py > new/tel2.txt
2.6 архивирование и сжатие
gzip / bzip2 / xz - скомпрессировать файл
gunzip / bunzip2 / unxz - раскомпресировать файл
1) смотрим, что у нас есть
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 20
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
2) заархивировать google. c - создать f - файл (обательная буква при архивации)
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cf mytar.tar google
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 32
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
3) заархивировать google и показать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cvf mytar2.tar google
google/
google/[1-5].txt
google/{5-9}.txt
4) разархивировать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar xf mytar.tar
5) разархивировать и показать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar xvf mytar.tar
google/
google/[1-5].txt
google/{5-9}.txt
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:18 mytar2.tar
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
6) gzip архивация
david@VirtualBox:/media/sf_Ubuntu18.04/project$ gzip mytar2.tar
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 36
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 449 июл 19 13:18 mytar2.tar.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
7) разархивировать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ gunzip mytar2.tar.qz
gzip: mytar2.tar.qz.gz: No such file or directory
david@VirtualBox:/media/sf_Ubuntu18.04/project$ gunzip mytar2.tar.gz
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:18 mytar2.tar
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
8) bzip2 архивация
david@VirtualBox:/media/sf_Ubuntu18.04/project$ bzip2 mytar2.tar
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 36
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 646 июл 19 13:18 mytar2.tar.bz2
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
9) разархивировать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ bunzip2 mytar2.tar.bz2
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:18 mytar2.tar
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
10) xz архивация
david@VirtualBox:/media/sf_Ubuntu18.04/project$ xz mytar2.tar
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 36
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 472 июл 19 13:18 mytar2.tar.xz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
11) разархивировать
david@VirtualBox:/media/sf_Ubuntu18.04/project$ unxz mytar2.tar.xz
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:18 mytar2.tar
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:16 mytar.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
12) сжатие yandex gz
david@VirtualBox:/media/sf_Ubuntu18.04/project$ rm mytar*
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cvf myTAR.tar yandex
yandex/
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 32
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cvzf myGZIP.gz yandex
yandex/
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 36
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
13) посмотреть что внутри архива
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar tf myGZIP.gz
yandex/
14) другое сжатие yandex bz2
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cjf myBZIP2.bz2 yandex
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 40
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
15) другое сжатие yandex xz
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar cJf myXZ.xz yandex
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 176 июл 19 13:34 myXZ.xz
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
david@VirtualBox:/media/sf_Ubuntu18.04/project$ rm -r yandex/
16) распаковать архив
david@VirtualBox:/media/sf_Ubuntu18.04/project$ tar xvf myBZIP2.bz2
yandex/
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 176 июл 19 13:34 myXZ.xz
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
17) запаковать файл в zip
david@VirtualBox:/media/sf_Ubuntu18.04/project$ zip -r myZIP.zip yandex
adding: yandex/ (stored 0%)
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 48
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 176 июл 19 13:34 myXZ.xz
-rwxrwx--- 1 root vboxsf 164 июл 19 13:37 myZIP.zip
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
david@VirtualBox:/media/sf_Ubuntu18.04/project$ rm -r yandex/
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 44
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 176 июл 19 13:34 myXZ.xz
-rwxrwx--- 1 root vboxsf 164 июл 19 13:37 myZIP.zip
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
18) распаковать zip
david@VirtualBox:/media/sf_Ubuntu18.04/project$ unzip myZIP.zip
Archive: myZIP.zip
creating: yandex/
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls -l
итого 48
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 google
-rwxrwx--- 1 root vboxsf 69 июл 19 13:12 igu
drwxrwx--- 1 root vboxsf 4096 июл 19 13:10 mail
-rwxrwx--- 1 root vboxsf 119 июл 19 13:34 myBZIP2.bz2
-rwxrwx--- 1 root vboxsf 119 июл 19 13:31 myGZIP.gz
-rwxrwx--- 1 root vboxsf 10240 июл 19 13:30 myTAR.tar
-rwxrwx--- 1 root vboxsf 176 июл 19 13:34 myXZ.xz
-rwxrwx--- 1 root vboxsf 164 июл 19 13:37 myZIP.zip
-rwxrwx--- 1 root vboxsf 19 июл 19 13:13 rpa
-rwxrwx--- 1 root vboxsf 0 июл 19 13:12 scool
drwxrwx--- 1 root vboxsf 4096 июл 19 13:01 yandex
2.7 процессы, память
1) просмотр процессов
david@VirtualBox:/media/sf_Ubuntu18.04/project$ top
#shift+p - фильтровать по процессору
#shift+m - фильтровать по памяти
top - 13:58:23 up 1:17, 1 user, load average: 0,07, 0,14, 0,16
Tasks (сколько проц. всего): 229 total, 1 running, 191 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,5 us, 0,5 sy, 0,0 ni, 99,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
КиБ Mem (сколько физ памяти): 2040928 total, 78812 free, 1218124 used, 743992 buff/cache
КиБ Swap (сколько вирт памяти): 973780 total, 967880 free, 5900 used. 581604 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2014 david 20 0 3504352 299980 115344 S 1,3 14,7 4:57.09 gnome-shell
3200 david 20 0 49072 3956 3236 R 1,0 0,2 0:00.26 top
606 message+ 20 0 51572 5500 3796 S 0,3 0,3 0:03.41 dbus-daemon
...
11 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_bh
12 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/0
2) сколько памяти в байтах (свободно, не свободно)
david@VirtualBox:/media/sf_Ubuntu18.04/project$ free
всего занято свободно общая буф./врем. доступно
Память: 2040928 1218436 73460 94596 749032 577264
Подкачка: 973780 5900 967880
david@VirtualBox:/media/sf_Ubuntu18.04/project$ free -h
всего занято свободно общая буф./врем. доступно
Память: 1,9G 1,2G 86M 92M 718M 564M
Подкачка: 950M 7,3M 943M
3) какие процессы запущены у пользователя (список процессов)
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ps
PID TTY TIME CMD
2829 pts/0 00:00:01 bash
4) вообще все процессы пользователя (u) david
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ps -u david
PID TTY TIME CMD
1801 ? 00:00:00 systemd
...
2829 pts/0 00:00:01 bash
2846 ? 00:00:43 gedit
3267 pts/0 00:00:00 ps
5) все процессоры всех (x) пользователей
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ps x
PID TTY STAT TIME COMMAND
1801 ? Ss 0:00 /lib/systemd/systemd --user
...
2846 ? Sl 0:47 gedit /media/sf_Ubuntu18.04/cmd.txt
3279 pts/0 R+ 0:00 ps x
6) покажет пользователей
david@Asus:~$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.1 225632 9488 ? Ss 10:23 0:06 /sbin/init spla
...
david 2570 3.1 0.4 800580 37992 ? Ssl 11:17 0:00 /usr/lib/gnome-
david 2580 0.1 0.0 29688 5056 pts/0 Ss 11:17 0:00 bash
david 2596 0.0 0.0 46804 3688 pts/0 R+ 11:18 0:00 ps -aux
7) допустим нам нужны все данные, но нужно вывести только строчки с david
david@Asus:~$ ps -aux | grep david
david 1570 0.0 0.1 77112 8464 ? Ss 10:25 0:00 /lib/systemd/systemd --user
...
david 2570 1.6 0.4 804284 38932 ? Ssl 11:17 0:02 /usr/lib/gnome-terminal/gnome-terminal-server
david 2580 0.0 0.0 29688 5056 pts/0 Ss 11:17 0:00 bash
david 2598 0.0 0.0 46804 3692 pts/0 R+ 11:20 0:00 ps -aux
david 2599 0.0 0.0 21536 1052 pts/0 S+ 11:20 0:00 grep --color=auto david
8) где хранятся логи
david@VirtualBox:/media/sf_Ubuntu18.04/project$ ls /var/log
alternatives.log auth.log.1 dpkg.log installer postgresql syslog.5.gz vboxadd-setup.log
alternatives.log.1 auth.log.2.gz dpkg.log.1 journal speech-dispatcher syslog.6.gz wtmp
apport.log bootstrap.log faillog kern.log syslog syslog.7.gz wtmp.1
apport.log.1 btmp fontconfig.log kern.log.1 syslog.1 sysstat
apport.log.2.gz btmp.1 gdm3 kern.log.2.gz syslog.2.gz tallylog
apt cups gpu-manager.log lastlog syslog.3.gz unattended-upgrades
auth.log dist-upgrade hp mysql syslog.4.gz vboxadd-install.log
9) лог в памяти (не сохраняется)
david@VirtualBox:/media/sf_Ubuntu18.04/project$ dmesg
david@VirtualBox:/media/sf_Ubuntu18.04/project$ dmesg | grep sda
[ 2.243346] sd 2:0:0:0: [sda] 42105184 512-byte logical blocks: (21.6 GB/20.1 GiB)
[ 2.243368] sd 2:0:0:0: [sda] Write Protect is off
[ 2.243370] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 2.243402] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.246099] sda: sda1
[ 2.246851] sd 2:0:0:0: [sda] Attached SCSI disk
[ 2.906741] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[ 7.393483] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
2.8 типы аккаунтов
sudo - запустить команду используя права суперпользователя
su - сменить текущего пользователя
/etc/passwd - тут хранятся все аккаунты
/etc/shadow - все пароли
/etc/group - все группы
whoami - показать имя текущего пользователя
id - к каким группам принадлежит пользователь
who - показать кто сейчас в системе
w - кто в системе и что делает
last - показать последние логины
1) посмотрим все аккаунты (root-суперпользователь, daemon-системный аккаунт, david-сам пользователь:х-пароль сохранится в другом файле:0-номер пользователя ID:0-группа ID, для каждого пользователя создается его группа:root-комментарий, полное имя пользователя:/root-где находится домашняя директория:/bin/bash-каким шелл он пользуется)
david@VirtualBox:/home$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
mysql:x:122:127:MySQL Server,,,:/nonexistent:/bin/false
postgres:x:123:128:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
vboxadd:x:999:1::/var/run/vboxadd:/bin/false
2) посмотреть где все пароли находятся (david-пользователь:$-гигантский зашифрованный пароль, даже если у двух пользователей мы сделаем одинаковые пароли, то зашифрованные пароль будут все равно разными:18091-сколько дней прошло со смены паролей начинаю с 1970 года:0-когда можно пароль в след раз, если 0, то хоть сейчас можно поменять, если 2, то только через 2 дня можно поменять пароль:99999-когда нужно поменять пароль в следующий раз:7:::)
david@VirtualBox:/home$ sudo cat /etc/shadow
[sudo] пароль для david:
root:$6$...:18091:0:99999:7:::
...
david:$6...:18091:0:99999:7:::
mysql:!:18086:0:99999:7:::
postgres:*:18086:0:99999:7:::
vboxadd:!:18091::::::
3) список групп и кто в этих группах находится (sudo:x:27-номер группы:david-кто может пользоваться этой группой)
david@VirtualBox:/home$ sudo cat /etc/group
root:x:0:
...
mysql:x:127:
postgres:x:128:
vboxsf:x:129:david
4) покажет кто пользователь на данный момент
david@VirtualBox:/home$ whoami
david
5) кто сейчас одновременно в системе находится
david@VirtualBox:/home$ who
david :0 2019-07-20 10:12 (:0)
6) что каждый сейчас именно делает
david@VirtualBox:/home$ w
10:51:49 up 41 min, 1 user, load average: 0,10, 0,21, 0,32
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
david :0 :0 10:12 ?xdm? 2:11 0.04s /usr/lib/gdm3/g
7) перейти к другому пользователю
david@VirtualBox:/home$ su root
root@VirtualBox:/home$ whoami
root
root@VirtualBox:/home# exit
exit
8) вывести свои данные (номера групп, группы в которых он находится)
david@VirtualBox:/home$ id
uid=1000(david) gid=1000(david) группы=1000(david),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),129(vboxsf)
david@VirtualBox:/home$ id root
uid=0(root) gid=0(root) группы=0(root)
9) кто делал последний логин этой системы (имя пользователя, дата, когда и что там делали)
david@VirtualBox:/home$ last
david :0 :0 Sat Jul 20 10:12 still logged in
reboot system boot 4.18.0-15-generi Sat Jul 20 10:10 still running
david :0 :0 Fri Jul 19 13:00 - 20:51 (07:51)
reboot system boot 4.18.0-15-generi Fri Jul 19 12:41 - 20:52 (08:10)
...
david :0 :0 Thu Jul 11 08:33 - 14:20 (05:46)
reboot system boot 4.18.0-15-generi Thu Jul 11 08:30 - 14:20 (05:50)
david :0 :0 Tue Jul 9 20:07 - down (01:09)
reboot system boot 4.18.0-15-generi Tue Jul 9 20:04 - 21:16 (01:12)
wtmp begins Tue Jul 9 20:04:21 2019
2.9 пользователи и группы
userdd - m vasya - создать пользователя Вася с домашней директорией
userdel -r vasya - стереть с домшней директорией
/etc/skel - это шаблон домашней директории
passwd vasya - изменить пароль пользователя
groupadd prog - создать группу
groupdel prog - удалить группу
usermod -aG prog vasya - добавить пользователя в группу
deluser vasya prog - удалить
david@VirtualBox:/home$ ls -l /home
итого 4
drwxr-xr-x 18 david david 4096 июл 20 10:12 david
1) добавим пользователя user1 с домашней папкой -m
david@VirtualBox:/home$ sudo useradd -m user1
[sudo] пароль для david:
david@VirtualBox:/home$ ls -l /home
итого 8
drwxr-xr-x 18 david david 4096 июл 20 10:12 david
drwxr-xr-x 2 user1 user1 4096 июл 20 11:05 user1
2) увидим , что мы добавили user1
david@VirtualBox:/home$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
user1:x:1001:1001::/home/user1:/bin/sh
3) увидим !, значит нету пароля, следовательно user1 не смотжет сделать логин
david@VirtualBox:/home$ sudo cat /etc/shadow
root:$6$...:18091:0:99999:7:::
...
user1:!:18097:0:99999:7:::
4) задаем пароль
david@VirtualBox:/home$ sudo passwd user1
5) чтобы при создании пользователя, создавлись автоматически еще другие файлы
david@VirtualBox:/home$ ls -l user1/
итого 12
-rw-r--r-- 1 user1 user1 8980 апр 16 2018 examples.desktop
david@VirtualBox:/home$ cd /etc/skel/
david@VirtualBox:/etc/skel$ ls -l
итого 12
-rw-r--r-- 1 root root 8980 апр 16 2018 examples.desktop
david@VirtualBox:/etc/skel$ sudo mkdir Desktop
david@VirtualBox:/etc/skel$ sudo mkdir Video
david@VirtualBox:/etc/skel$ sudo touch myfile.txt
david@VirtualBox:/etc/skel$ ls -l
итого 20
drwxr-xr-x 2 root root 4096 июл 20 11:22 Desktop
-rw-r--r-- 1 root root 8980 апр 16 2018 examples.desktop
-rw-r--r-- 1 root root 0 июл 20 11:23 myfile.txt
drwxr-xr-x 2 root root 4096 июл 20 11:22 Video
david@VirtualBox:/etc/skel$ cd
david@VirtualBox:~$ ls -l /home
итого 8
drwxr-xr-x 18 david david 4096 июл 20 10:12 david
drwxr-xr-x 2 user1 user1 4096 июл 20 11:05 user1
david@VirtualBox:~$ sudo useradd -m user2
david@VirtualBox:~$ ls -l /home
итого 12
drwxr-xr-x 18 david david 4096 июл 20 10:12 david
drwxr-xr-x 2 user1 user1 4096 июл 20 11:05 user1
drwxr-xr-x 4 user2 user2 4096 июл 20 11:24 user2
david@VirtualBox:~$ ls -l /home/user2
итого 20
drwxr-xr-x 2 user2 user2 4096 июл 20 11:22 Desktop
-rw-r--r-- 1 user2 user2 8980 апр 16 2018 examples.desktop
-rw-r--r-- 1 user2 user2 0 июл 20 11:23 myfile.txt
drwxr-xr-x 2 user2 user2 4096 июл 20 11:22 Video
6) удалим пользователя (userdel) и если мы хотим чтоб вообще все папки удалили у этого пользователя (-r)
david@VirtualBox:~$ sudo userdel -r user1
userdel: почтовый ящик user1 (/var/mail/user1) не найден
david@VirtualBox:~$ ls -l /home
итого 8
drwxr-xr-x 18 david david 4096 июл 20 10:12 david
drwxr-xr-x 4 user2 user2 4096 июл 20 11:24 user2
7) создадим (groupadd) группы и удалим (groupdel)
david@VirtualBox:~$ sudo groupadd prog
david@VirtualBox:~$ sudo groupadd market
david@VirtualBox:~$ cat /etc/group
root:x:0:
...
prog:x:1003:
market:x:1004:
david@VirtualBox:~$ sudo groupadd testers
david@VirtualBox:~$ sudo groupdel testers
8) как добавить (useradd) пользователя vasya в группу -aG
david@VirtualBox:~$ sudo useradd -m vasya
david@VirtualBox:~$ sudo passwd vasya
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya)
david@VirtualBox:~$ sudo usermod -aG market vasya
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya),1004(market)
Сделаем васю еще администратором
david@VirtualBox:~$ sudo usermod -aG sudo vasya
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya),27(sudo),1004(market)
9) как убрать (deluser) Васю из групп
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya),27(sudo),1004(market)
david@VirtualBox:~$ sudo deluser vasya market
Удаляется пользователь «vasya» из группы «market» ...
Готово.
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya),27(sudo)
david@VirtualBox:~$ sudo deluser vasya sudo
Удаляется пользователь «vasya» из группы «sudo» ...
Готово.
david@VirtualBox:~$ id vasya
uid=1003(vasya) gid=1005(vasya) группы=1005(vasya)
2.10 Права доступа
- файл
d директория
l ссылка
r чтение 4
w запись 2
x исполнение 1
1-3 пользователи u (1 столбец)
4-6 группа g (2 столбец)
7-9 все остальные o
chown-изменить владельца файла/каталога
chgrp-группу
chmod-изменить права доступа
chmod ugo+x file.txt-добавить исполнение всем
chmod g-rw file.txt-убрать чтение и запись у группы
chmod o=rw file.txt-установить чтение и запись всем остальным
1) Смотрим права через список.
[david@cent linux]$ ls -l
итого 16
-rw-rw-r-- 1 david david 9140 июн 29 11:40 cmd.txt
drwxrwxr-x 2 david david 37 июн 29 10:20 directory
-rw-rw-r-- 1 david david 119 июн 29 10:49 hardlink
drwxrwxr-x 3 david david 56 июн 29 11:02 photo
lrwxrwxrwx 1 david david 5 июн 29 10:47 softlink -> file1
2) создадим файл
[david@cent linux]$ touch file4.txt
[david@cent linux]$ ls -l
-rw-rw-r-- 1 david david 0 июн 29 11:51 file4.txt
3) даем группе право на чтение
[david@cent linux]$ chmod g+w file4.txt
[david@cent linux]$ ls -l
-rw-rw-r-- 1 david david 0 июн 29 11:51 file4.txt
4) даем группе право на чтение и исполнение
[david@cent linux]$ chmod g+wx file4.txt
[david@cent linux]$ ls -l
-rw-rwxr-- 1 david david 0 июн 29 11:51 file4.txt
5) даем пользователю право на исполнение и остальным на запись
[david@cent linux]$ chmod u+x,o+w file4.txt
[david@cent linux]$ ls -l
-rwxrwxrw- 1 david david 0 июн 29 11:51 file4.txt
6) отнимем права у группы на запись и исполнение
[david@cent linux]$ chmod g-wx file4.txt
[david@cent linux]$ ls -l
-rwxr--rw- 1 david david 0 июн 29 11:51 file4.txt
7) группе и остальным даем права на запись и исполнение
[david@cent linux]$ chmod go+wx file4.txt
[david@cent linux]$ ls -l
-rwxrwxrwx 1 david david 0 июн 29 11:51 file4.txt
8) пользователю даем все права, группе - только чтение и запись, остальным - только чтение в файле file4.txt
[david@cent linux]$ chmod u=rwx,g=rw,o=r file4.txt
[david@cent linux]$ ls -l
-rwxrw-r-- 1 david david 0 июн 29 11:51 file4.txt
9) у группы отнимем все права
[david@cent linux]$ chmod u=rwx,g=,o=r file4.txt
[david@cent linux]$ ls -l
-rwx---r-- 1 david david 0 июн 29 11:51 file4.txt
10) даем только права на запись (4) всем
[david@cent linux]$ chmod 444 file4.txt
[david@cent linux]$ ls -l
-r--r--r-- 1 david david 0 июн 29 11:51 file4.txt
11) право на запись и чтение (4+2), группе и всем остальным права только на чтение (4)
[david@cent linux]$ chmod 644 file4.txt
[david@cent linux]$ ls -l
-rw-r--r-- 1 david david 0 июн 29 11:51 file4.txt
12) право на запись, чтение и исполнение пользователю (4+2+1), группе и всем остальным права только на чтение (4)
[david@cent linux]$ chmod 744 file4.txt
[david@cent linux]$ ls -l
-rwxr--r-- 1 david david 0 июн 29 11:51 file4.txt
13) право на запись, чтение и исполнение (4+2+1), группе права только на чтение (4) и у всех остальных отнимаем все права (0)
[david@cent linux]$ chmod 740 file4.txt
[david@cent linux]$ ls -l
-rwxr----- 1 david david 0 июн 29 11:51 file4.txt