새소식

인기 검색어

Linux

5/4 리눅스 기초 실습

  • -

*vi 편집기

 

last line mode / Shift + : ->(대기모드로 넘어갈때 esc)-> command mode 대기모드 ->edit mode(i a s d..등 명령어)

 

rm -r 만든거 지우기

 

docs.google.com/document/d/1uzd_ptVlFQfn1ImEx6f8teph53XzDag7CmZXmkz99Po/edit

 

링크 이해

user@user-B85M-DS3H-A:~$ ls -l aaaa -rw-rw-r-- 1 user user 0 5월 4 11:01 aaaa user@user-B85M-DS3H-A:~$ touch aaaa user@user-B85M-DS3H-A:~$ ls -il aaaa 6033379 -rw-rw-r-- 1 user user 0 5월 4 11:08 aaaa user@user-B85M-DS3H-A:~$ cp aaaa bbbb user@user-B85M-

docs.google.com

student@student-B85M-DS3H-A:~$ ls
 Documents         bbbb   dddd               공개       비디오
'VirtualBox VMs'   ccc    eeee               다운로드   사진
 aaaa              cccc   examples.desktop   문서       음악
 bbb               ddd    mbc                바탕화면   템플릿
student@student-B85M-DS3H-A:~$ rm -r aaaa bbb bbbb ccc cccc ddd dddd eeee mbc
student@student-B85M-DS3H-A:~$ ls
 Documents         examples.desktop   다운로드   바탕화면   사진   템플릿
'VirtualBox VMs'   공개               문서       비디오     음악
student@student-B85M-DS3H-A:~$ :
student@student-B85M-DS3H-A:~$ vi aaa
student@student-B85M-DS3H-A:~$ 
student@student-B85M-DS3H-A:~$ cp /etc/passwd aaa
student@student-B85M-DS3H-A:~$ cp -i /etc/passwd aaa
cp: 'aaa'를 덮어쓸까요? y
student@student-B85M-DS3H-A:~$ vi aaa

*종료 단축키들

esc + :q!(저장하지 않고 나가기)

:w (filename)

Shift누르고 z + z

:wq 저장 후 종료

 

:set nu -> 숫자로 정렬해서 보고싶을때

:set nonu -> 정렬한거 취소하고 그냥 보고싶을때

 

*ndmd

 

 

D -> 커서가 있는 위치부터 뒤로

dw ->

d$ -> 뒷부분 다 지우기

dgg -> 앞라인 빼고 삭제(?맞나?;)

d^ -> 앞쪽으로 삭제

dG -> 아래로 삭제

:n,md (ex) 10,20d

X 앞에거 삭제

 

*copy & paste

nymy

nymw

y$

ygg

y^

yG

:n,my (ex) 10,20y

 

*cut

ncmc

ncmw

c$

c^

cgg

cG

:n,mc

:10,20c

paste p

 

ex)

:1,$ -> 처음부터 끝까지 지울때

:10y

:3,5c

:1,$s/nologin/hahaha/gc -> nologin을 hahaha라는 글자로 바꿔줌

 

:set list

:set nolist

:set -> 환경변수에 대한거 보여줌

 

:n ->앞에 파일로 갈때

:N -> 뒤 파일갈때

:w 저장

:N! 저장하지 않고 나갈때때

:P

 

 

 df -hTP | sed 's/%//g' ->

 

r read   2^2
w write 2^1
x execute 2^0
- none 0

 

 


 

student@student-B85M-DS3H-A:~$ vi aaa
student@student-B85M-DS3H-A:~$ ls -l .aaa.sw
ls: '.aaa.sw'에 접근할 수 없습니다: 그런 파일이나 디렉터리가 없습니다
student@student-B85M-DS3H-A:~$ ls -l .aaa.sw*
-rw-r--r-- 1 student student 12288  5월  4 15:29 .aaa.swo
-rw-r--r-- 1 student student 12288  5월  4 14:52 .aaa.swp
student@student-B85M-DS3H-A:~$ rm .aaa.sw*
student@student-B85M-DS3H-A:~$ vi aaa
student@student-B85M-DS3H-A:~$ vi aaa
student@student-B85M-DS3H-A:~$ vi bbb
student@student-B85M-DS3H-A:~$ vi aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-rw-r--r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ 

-> 컨트롤 제트 눌러버려서 계속 파일이 쌓임..결국 지우고 다시 설정한 것. 컨트롤 제트 절대 누르지 말기

 

student@student-B85M-DS3H-A:~$ sudo ls -l /dev/ | grep ^srw
[sudo] student의 암호: 
student@student-B85M-DS3H-A:~$ stat /dev/*

-> 소켓파일만 찾아보기 실습

 

 


<강의 구글독스>

 

ls -l aaaa

-rw-rw-r-- 1 user user 0 54 11:01 aaaa

touch aaaa

ls -il aaaa

6033379 -rw-rw-r-- 1 user user 0 54 11:08 aaaa

cp aaaa bbbb

ls -il aaaa bbbb

6033379 -rw-rw-r-- 1 user user 0 54 11:08 aaaa

6033380 -rw-rw-r-- 1 user user 0 54 11:08 bbbb

diff aaaa bbbb

md5sum aaaa bbbb

d41d8cd98f00b204e9800998ecf8427e aaaa

d41d8cd98f00b204e9800998ecf8427e bbbb

echo "aaaa" > aaaa

ls -il aaaa bbbb

6033379 -rw-rw-r-- 1 user user 5 54 11:09 aaaa

6033380 -rw-rw-r-- 1 user user 0 54 11:08 bbbb

diff aaaa bbbb

1d0

< aaaa

md5sum aaaa bbbb

e5828c564f71fea3a12dde8bd5d27063 aaaa

d41d8cd98f00b204e9800998ecf8427e bbbb




ls -li aaaa

6033379 -rw-rw-r-- 1 user user 5 54 11:09 aaaa

ln aaaa cccc

ls -il aaaa cccc

6033379 -rw-rw-r-- 2 user user 5 54 11:09 aaaa

6033379 -rw-rw-r-- 2 user user 5 54 11:09 cccc

user@user-B85M-DS3H-A:~$

echo "bbbb" >> aaaa

user@user-B85M-DS3H-A:~$

diff aaaa cccc

md5sum aaaa cccc

7c438cbff62ba78d44b5b31ed043549b aaaa

7c438cbff62ba78d44b5b31ed043549b cccc

 

user@user-B85M-DS3H-A:~$

ls -l aaaa

-rw-rw-r-- 2 user user 10 54 11:12 aaaa

rm -f cccc

ls -l aaaa

-rw-rw-r-- 1 user user 10 54 11:12 aaaa



ln aaaa cccc

ls -il aaaa cccc

6033379 -rw-rw-r-- 2 user user 10 54 11:12 aaaa

6033379 -rw-rw-r-- 2 user user 10 54 11:12 cccc

ln aaaa dddd

ln -s aaaa eeee

ls -il aaaa cccc dddd eeee

6033379 -rw-rw-r-- 3 user user 10 54 11:12 aaaa

6033379 -rw-rw-r-- 3 user user 10 54 11:12 cccc

6033379 -rw-rw-r-- 3 user user 10 54 11:12 dddd

6033381 lrwxrwxrwx 1 user user 4 54 11:35 eeee -> aaaa

user@user-B85M-DS3H-A:~$

 

echo "aa" >> eeee

ls -il aaaa cccc dddd eeee

6033379 -rw-rw-r-- 3 user user 13 54 11:36 aaaa

6033379 -rw-rw-r-- 3 user user 13 54 11:36 cccc

6033379 -rw-rw-r-- 3 user user 13 54 11:36 dddd

6033381 lrwxrwxrwx 1 user user 4 54 11:35 eeee -> aaaa

diff eeee aaaa

md5sum eeee aaaa

d5fce8737cf1af6466231e5129f23a73 eeee

d5fce8737cf1af6466231e5129f23a73 aaaa




ls /etc/rc3.d

S01acpid S01bluetooth S01cups-browsed S01irqbalance S01rsyslog S01unattended-upgrades

S01anacron S01console-setup.sh S01dbus S01kerneloops S01saned S01uuidd

S01apport S01cron S01gdm3 S01plymouth S01speech-dispatcher S01virtualbox

S01avahi-daemon S01cups S01grub-common S01rsync S01spice-vdagent S01whoopsie

 

ls -l /etc/rc*.d/*rsync

lrwxrwxrwx 1 root root 15 416 13:23 /etc/rc2.d/S01rsync -> ../init.d/rsync

lrwxrwxrwx 1 root root 15 416 13:23 /etc/rc3.d/S01rsync -> ../init.d/rsync

lrwxrwxrwx 1 root root 15 416 13:23 /etc/rc4.d/S01rsync -> ../init.d/rsync

lrwxrwxrwx 1 root root 15 416 13:23 /etc/rc5.d/S01rsync -> ../init.d/rsync

user@user-B85M-DS3H-A:~$

 

ls -l /etc/init.d/rsync

-rwxr-xr-x 1 root root 4355 214 2020 /etc/init.d/rsync





vi 에디터       삭제 복사  잘라내기  붙여넣기 

==================================================

               

delete   

ndmd

ndmw

d$

d^

dgg

dG

:n,md

:10,20d

-------------------------------------------------------------------------------------------

copy & paste   yank

nymy

nymw

y$

y^

ygg

yG

:n,my

:10,20y

----------------------------------------------------------------------------------------

paste p

 

-------------------------------------------------------------------------------------------

cut

ncmc

ncmw

c$

c^

cgg

cG

:n,mc

:10,20c

paste p





r read 2 ^ 2  

w write 2 ^ 1

x execute 2 ^ 0 

- none      0

 

2^0 1  

2^1 2 

2^2 4   

 

2^3 = 0 ~ 7

 

000 ~ 111  

000 001 010 011 100 101 110 111   

 

0 ~ 7   

--- --x -w- -wx r-- r-x rw- rwx  

 

퍼미션      심볼릭  넘버릭   

rwx-         0 ~ 7 

r 4  , w 2  , x 1  , - 0 

 4          r--      

 5          r-x

 7          rwx  

--------------------------------------------

 

$ ls -l aaa

-rw-r--r-- 1 user user 2501  5월  4 13:37 aaa

rw-r--r--    644    user group other 

 

653      rw-r-x-wx 

 

$ ls -l aaa

-rw-r--r-- 1 user user 2501  5월  4 13:37 aaa

$ ls -n aaa

-rw-r--r-- 1 1000 1000 2501  5월  4 13:37 aaa

          uid      gid        

 

 


execute는 uid를 이용하지않고 EUID를 이용한다. 일반적으로는 파일의 소유자 UID를 EUID로 받아서 실행시 권한을 받지만 SETUID같은 스페셜 퍼미션을 이용하여 UID와 EUID를 다르게 받아서 적용할 수 있다.

 

ex) root

     user

=> 일반 사용자가 다른 영역인 root에서는 실행 권한이 없음. EUID(실행권한)가 없음 -> EUID를 상속받게 되는 낮은 UID로 실행

∴일반적으로 파일의 실행은 EUID로 실행한다.

student@student-B85M-DS3H-A:~$ ls -l /etc/shadow
-rw-r----- 1 root shadow 1273  4월 19 10:24 /etc/shadow
student@student-B85M-DS3H-A:~$ which passwd
/usr/bin/passwd
student@student-B85M-DS3H-A:~$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 59640  3월 23  2019 /usr/bin/passwd
student@student-B85M-DS3H-A:~$ passwd
student에 대한 암호 변경 중
(현재) UNIX 암호: 

-> euid의 원리이해를 위한 실습

 

 

 


 

student@student-B85M-DS3H-A:~$ ls -l aaa
-rw-r--r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod 664 aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-rw-rw-r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod g-w aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-rw-r--r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod u-w,g+w,o-r aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-r--rw---- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod ug-r aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-----w---- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod a+r aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-r--rw-r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod u-w+r aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-r--rw-r-- 1 student student 2410  5월  4 15:36 aaa
student@student-B85M-DS3H-A:~$ chmod u+wx aaa
student@student-B85M-DS3H-A:~$ ls -l aaa
-rwxrw-r-- 1 student student 2410  5월  4 15:36 aaa

 

codechacha.com/ko/linux-c*hmod/

 

Linux - chmod 명령어 사용 방법 (권한, 모드 변경)

chmod는 파일이나 디렉터리의 권한 등의 모드를 변경합니다. 파일에 모든 권한을 줄 수도 있고, 특정 권한만 추가하거나 제거할 수도 있습니다. 재귀적으로(Recursive) 하위 폴더의 파일들의 권한을

codechacha.com

-> (별표빼기) chmod 명령어 풀이

 

u+x,go=rw 소유자에게 실행권한을 추가하고 그룹, 기타 사용자에게 읽기, 쓰기 권한 지정
a=rw 모든 사용자에게 읽기, 쓰기 권한 지정
g-w 그룹 소유자의 쓰기 권한 제거

 

 


 

 

*file read    file read   file의 data block 을 통해  실제 디스크의 데이터 섹터로 접근 후  그 내용을 

            표준 출력 또는 지정된 터미널로 출력 하는 것

file write    file의 data block 을 통해 실제 디스크의 데이터 섹터에 접근 후 표준 입력 또는 입력된 데이터를  접근 한 섹터에 write 하는 과정   

file execute file 의 data block 통해 접근한 데이터 섹터의 파일 내용에 access 하는 것 

*directory read  (ls 지정된 디렉토리의 데이터를 읽어오는 명령어)

directory write 파일의 생성 복사 삭제 이동 이름바꾸기

                        mkdir > >> touch cp mv rm rmdir

(새로운 파일이 생성될때 아이노드와 파일네임 생김 -> 파일의 삭제 등은 디렉토리의 쓰기 권한임)

directory execute리  디렉토리 block 통해 접근한 데이터 블록(파일네임과 아이노드 있음)에 access 하는 것

 

∴ 파일과 디렉토리의 실행은 access

 

 

 

 

 

 




 

 

'Linux' 카테고리의 다른 글

5/11 접근제어리스트(ACL) 설정 관리  (0) 2021.05.11
5/10 사용자 및 그룹 관리  (0) 2021.05.10
5/6 리눅스 기초 3  (0) 2021.05.06
5/6 Umask  (0) 2021.05.06
5/3~4 리눅스 기초  (0) 2021.05.03
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.