실습환경 구성과 서버 기본 사용
관리자 권한으로 서버 접속
CLI - 현재 갖고있는 명령어로만 처리하겠다 !!
지금 여기까지 해서 들어온 것이다 !!
PuTTY - 중간에서 원격역할을 한다.
ssh (원격) root(아이디) 106.10.32.76(포트번호) -p 1024 (포트포워딩)
ssh란?
root 권한으로 들어왔다는 것은 관리자 권한으로 들어왔다는 것이다.
우리는 이거랑 같다고 보면 된다 !
리눅스에서 \ (루트) -- 최상위부터 들어오겠다.
\dev -- 최상위부터해서 dev를 찾아라 라는 말이다.
사용자 계정 만들기
adduser -- 사용자 계정 만든다.
userdel -rf angel -- 사용자 계정 지우는 법
/ (root) 부터 시작해서 etc까지 해서 계정 보는법
위에서 만든 angel 계정을 확인할 수 있다.
계정을 만들면 root에서 home 안으로 들어와진다.
home 안에 계정이 만들어지는 것 !!
비밀번호 수정
디렉토리 만들기
디렉토리 확인하기
755 권한
angel 사용자 계정으로 들어오기
$으로 바뀐다.(사용자)
다시 관리자 계정으로 들어오기
다시 #으로 바뀐다.(관리자)
angel 계정 삭제하고 확인하기
역사 확인하기
root@bitcamp-jenkins:~# --- 리눅스 환경
C:\Users\bitcamp> -- 윈도우 환경
ls
ls -l (list를 보여줘라)
ls -a(숨긴항목 보여줘라) -- .(점)이 붙었다는 건 숨긴항목이라는 것 !
ls -a -l (숨긴항목을 밑으로 보여줘라)
ls -al (이렇게 묶어서 할 수도 있다.)
ls -a .bashrc (숨겨진 거 보여줘라)
ls -a .ba* (확장)
man
man ls (ls의 사용법 보여준다)
파일과 디렉토리
inode가 파일에대한 정보를 가지고 있다는 것은 알아두기
디렉토리 계층 ★★★★★
파일링크
파일 위치를 inode로부터 불러온다 !
명령어 도움말 보기
--help
man
현재 위치 알기 pwd
디렉토리 이동 cd
절대번지로 이동
상대번지로 이동
전에 위치했던 데로 이동
홈 디렉토리로 이동
디렉토리 내용 출력 ls
파일 상세정보 ★★★★★
644 권한
inode 값 보기
앞에 inode 번호가 파일에 대한 정보를 쥐고있는 것이다.
디렉토리 생성 mkdir
temp 디렉토리 생성
한 번에 여러 디렉토리 생성
하위 디렉토리까지 함께 생성
ls -l ====> ll (축약가능)
전체구조 보여주기 tree
1. 기존에 있는거 먼저 새로고침하기
2. sudo apt install tree
3. tree
디렉토리 삭제 rmdir
temp5가 빈 디렉토리가 아니었음으로 삭제가 안 된다 !!
파일내용 출력 cat
파일내용 화면단위로 출력 more / less
파일 앞 부분 몇 줄만 출력 head / 파일 마지막 몇 줄만 출력 tail
파일이나 디렉토리 복사 cp
1. .bashrc 파일을 현재 디렉토리에 bashrc_copy라는 이름의 파일로 복사
(앞에 있는건 숨긴 파일 뒤에있는건 숨긴파일 아님)
숨긴파일이 아니므로 ls 명령어로도 확인가능 !
2. .bashrc 파일을 temp2 디렉토리에 복사
두 개 두 개 같은 내용이다.
2-1. bashrc라는 내용을 temp2에 복사하라
2-2. bashrc라는 내용을 temp2의 bashrc_copy에 복사하라
3. .bashrc, .profile 파일을 temp3 디렉토리에 복사
tree -al (숨긴파일까지해서 보여줘라)
4. 이미 존재하는 파일인 경우 덮어쓸 것인지 질문
y - 덮어쓰고 / n - 덮어쓰지 않겠다.
5. temp2 디렉토리를 temp4 디렉토리에 복사
temp2에 있는 내용을 temp4로 복사했다는 것 !!
파일 이동 / 이름 바꾸기 mv
1. bashrc_copy 파일을 bashrc_mv 파일로 이동(이름을 바꿈)
2. bashrc_mv 파일을 temp2 디렉토리로 이동
3. temp2/bashrc_copy, temp2/bashrc_moved 파일을 temp3 디렉토리로 이동
4. 이미 존재하는 파일인 경우 덮어쓸 것인지 질문
디렉토리 삭제 rm
1. temp3/bashrc_moved 파일을 삭제
2. temp2 디렉토리를 삭제
파일 링크 생성 ln
1. /etc/hosts 파일에 대한 하드 링크 생성
inode를 따로 만드는게 아니라 원본파일, 하드링크 둘 다 같은 inode를 가리키고있다.
copy는 다른 inode를 만든다.
그냥 복사하기
inode 번호가 다른 것을 확인할 수 있다 !!
/etc/hosts 파일에 대한 하드 링크 생성
inode 번호가 같은 것을 볼 수 있다 !!
하드링크를 삭제하면 그냥 하드링크의 개수가 줄어드는 것이지만
하드링크가 아예 0이 되어야 데이터 블록이 삭제되는 것이다.
A
B
C
이렇게 3개가 같은 inode를 쥐고있으면
B를 제거해도 데이터가 살아있고 C를 제거해도 살아있는다. 비로소 A까지 제거해야 데이터블록이 삭제가된다.
하드링크 수가 다 없어져야 다 지워진다는 것 !!
2. : /etc/sudoers 파일에 대한 심볼릭 링크(바로가기) 생성
-- 이름만 공유할 뿐이다.
/etc/sudoers라고 안 치고 sudoers_link로 쳐도된다 !
[문제]
root@bitcamp-jenkins:~#
1. test 디렉토리 생성
2. test 디렉토리에 /etc/crontab 파일 복사
3. test 디렉토리에 crontab_link 하드 링크 만들기
4. test 디렉토리에 inode 확인하기 ( crontab 파일과 crontab_link가 같은 inode 이어야 한다.)
5. test 디렉토리에 crontab_slink 심볼릭 링크 만들기
6. test 디렉토리에 inode 확인하기 ( crontab 파일과 crontab_slink가 다른 inode 이어야 한다.)
7. test 디렉토리에 crontab_link2 하드 링크 만들기
8. test 디렉토리에 crontab_link2 삭제하기
9. test 디렉토리에 crontab_link2 가 삭제되고, inode의 값이 감소한 것 확인하기
[ 전체 답 ]
test 디렉토리로 들어와서 안한 거 차이 !!
root@bitcamp-jenkins:~# mkdir test
root@bitcamp-jenkins:~# cd test
root@bitcamp-jenkins:~/test# cp /etc/crontab ./
root@bitcamp-jenkins:~/test# ll
root@bitcamp-jenkins:~/test# ln crontab crontab_link
root@bitcamp-jenkins:~/test# ls -il
root@bitcamp-jenkins:~/test# ln -s crontab crontab_slink
root@bitcamp-jenkins:~/test# ls -il
root@bitcamp-jenkins:~/test# ln crontab crontab_link2
root@bitcamp-jenkins:~/test# ls -il
root@bitcamp-jenkins:~/test# rm crontab_link2
root@bitcamp-jenkins:~/test# ls -il
'Linux' 카테고리의 다른 글
DAY 100 - Linux (2024.11.27) (0) | 2024.11.27 |
---|---|
DAY 99 - Linux (2024.11.26) (1) | 2024.11.26 |