이전에 등록한 인스턴스를 키려면 선택하고 load 한 뒤 키면 된다.
리눅스의 폴더구조
리눅스의 폴더구조는 /로 부터 시작
root아래에는 다양한 폴더들이 있다.
핵심 폴더
- /home (사용자의 홈 디렉토리) (윈도우 c/사용자)
- /usr (응용프로그램 저장소)
- /etc (프로그램이 시작되기 위해 필요한 설정파일 저장소)
- /var (시스템 운영중에 발생한 데이터와 로그가 저장되는곳)
명령문
- pwd : 현재위치확인
- cd 경로 : 경로이동
- ls , ls -a, ls -l, ls -al : 폴더구조확인. -l은 리스트형태로 출력. -al은 숨김파일까지 전부 다.
- ls명령문은 해당경로 폴더의 내용물을 보여준다.
- 파일과 폴더를 구분하는 방법은, ls -l등으로 출력했을 때 맨 앞에 'd'가 있으면 폴더라는 뜻. 색깔로도 구별 가능하다.
절대경로와 상대경로
- cd 경로
- cd ./경로 : 상대경로
- cd / , cd /절대경로 , cd ~ (나의홈디렉토리로) : 절대경로
- cd .. : 한단계 위로
생성과 지우기
- mkdir 폴더명 : 디렉토리 생성
- rmdir 폴더명 : 디렉토리 삭제
- touch 파일명 : 파일생성
- rm 파일명 (*표현식사용가능) : 파일삭제. rm hel*를 하면 hel로 시작하는 이름의 모든 파일이 삭제된다.
- rm -r 폴더명 : 하위모든폴더 삭제, -r 리컬시브옵션
- rm -ri 폴더명 : 묻고답하기로 삭제, -ri 리컬시브, 인터렉티브 옵션
--리컬시브를 하면 폴더와 하위내용을 다 지운다. 폴더 안에 내용이 있으면 rm으로 지울 수 없음.
-- rm -ri를 하면 내용물 하나하나를 지울 지 물어본다.
--rm을 쓸 때 파일명을 나열하면 한번에 다 지울 수 있다.
파일이동(이름변경)
- mv 파일명 이동경로/파일명
--mv hello hello2를 하면 같은 위치로 hello가 이동하면서 hello2파일이 된다. 즉 이름이 바뀌는 것.
파일복사(파일복사 or 디렉토리복사)
- cp 파일명 이동경로/복사할파일명
편집기 다루기 vi, nano
- 편집기(윈도우메모장) 다루는 방법으로는 대표적으로 vi모드가 있다.
- vi는 명령모드에 따라서 조작하는 방법임.
vi를 입력하면 편집기로 이동한다.
vi 파일명을 하면 해당 파일로 들어가진다.
대표적인 명령문
--이때 esc는 keyboard의 키다. esc키를 누르면 명령을 입력할 수 있는 상태가 되는 것.
- esc i (insert) ->vi를 통해 들어간 뒤 esc i를 해서 내용 작성. esc를 다시 눌러 insert상황에서 나옴.
- esc :w 저장
- esc :q 나가기
- esc :wq 저장하고 나가기
- esc :q! (!는 강제실행)
편집기(윈도우메모장) 다루는 방법으로는 대표적으로 nano가 있다.
--nano 파일명 을 하면 들어가진다. 들어가진 창에서 바로 작성이 가능하고, 아래에 명령문들을 알려준다.
- ^ -> ctrl
- M ->alt
내용물을 입력하고 ^X에 따라 나가기를 하면 저장할지 안할지를 물어본다.
Y를 하고 엔터를 하면 나가진다.
파일찾기와 파일정보 확인 find, cat, head, tail, grep
파일 찾기-특정 위치에서 파일을 이름으로 찾는다.
- find 경로 -name 파일명
- 예시)find ./ -name Hello.java
--경로를 생략하면 전부 다 찾아버린다.
--상위경로를 입력하면 그 하위경로까지도 찾는다.
--find에 실패하면 아무것도 나오지 않고, 성공하면 파일의 위치가 나온다.
--여기서도 마찬가지로 *를 사용할 수 있다.
특정 위치에서 파일을 크기로 찾기. c는 바이트를 의미, +/-는 보다 크거나/ 작은 파일
- find 경로 -size 파일크기
- 예시)find ./ -size +1024c
옵션은 나열이 가능
- find 경로 -name *.java -size -1024c
파일 확인하기-파일의 전체를 한눈에 확인
- cat 파일명
- 예시)cat Hello.java
같은 위치가 아니라 다른 위치라면 cat 경로 파일명을 하면 된다.
파일의 위 부분을 출력(옵션 -n)
-- -n옵션은 몇줄만 보겠다 라는 옵션.
- head 옵션 파일명
- head Hello.java
- head -n5 Hello.java
파일의 아래 부분을 출력(옵션 -n)
- tail 옵션 파일명
- tail Hello.java
- tail -n5 Hello.java
파일의 실시간 로그 출력(옵션 -f)
- tail -f Hello.java
- tail -fn30 Hello.java :30줄만 보겠다는 뜻
--실시간 확인이 가능하다.
--이러면 파일 안으로 들어간다. 탈출하고 싶면 ^C
파일 안에서 찾을 값을 검색(Hello.java에서 hel단어 찾기)
- grep 찾을값 파일명
- grep hel Hello.java
--찾은 내용이 들어있는 부분을 색깔을 통해 보여주며, 행별로 나타난다. 없으면 보이지 않음
파일을 비교하여 다른 부분을 보여줌
- diff 파일명 파일명
- diff Hello1.java Hello2.java
파일 압축하기, 압축풀기 tar
-tar옵션을 파일을 묶거나 풀어내는 옵션임
-옵션을 따라 묶기만 할 수도 있고, 압축으로 묶을 수도 있다.
-추후 압축 파일을 FTP도구를 이용해서 옮긴다면 압축을 해제해서 사용 할 수 있다.
주요옵션
-c : tar로 묶기
-x : tar로 풀기
-z : gzip으로 압축하거나 해제함
-v : 묶거나 파일을 풀 때 과정을 화면으로 출력
-f : 파일명지정
-- cf면 파일묶기, xf면 파일풀기, zf하면 파일 압축하거나 해제하기
--확장자면 .tar는 안써도 되긴 한다.
--tar 옵션 묶을이름 파일명 파일명
--A,B파일이 있을 때 C로 묶고, A,B를 지우고 다시 C를 풀면 A,B 파일이 나온다.
--gzip으로 압축할 때, 'tar -zcf 이름.tar.gz'로 입력한다.
--묶이면 용량이 꽤 커진다. 압축한 파일에 비해 크게 비교된다.
--그냥 묶인 파일도 압축파일도 푼다고 해서 삭제되지 않는다.
-- -v옵션은 순서대로 풀리는 파일이름이 출력된다.
파일명 지정하여 파일 압축하여 묶고 풀기
압축하기
- tar -zcf myJava.tar.gz *.java
압축해제
- tar -zxf myJava.tar.gz
압축해제 과정을 로그로 출력
- tar -zxvf myJava.tar.gz
심볼릭 링크 만들기 ln
리눅스를 사용하면서 화살표 모양을 보게 된다. 이게 심볼릭 링크.
심볼릭 링크는 window의 바로가기이다.
링크의 두가지 개념
심볼릭링크(바로가기) vs 하드링크(동일한 실행파일 만들기)
- 심볼릭 링크는 window의 바로가기이다.
- 하드 링크는 완전 동일한 구조의 파일을 또 만드는 것
- 두 링크 모두 수정 시 원본 파일이 변경된다.
- 두 링크 모두 삭제 시 원본 파일에 영향은 없다.
두 링크의 차이
-심볼릭 링크는 원본 삭제 시 영향이 있다.
-하드 링크는 원본 삭제 시 영향이 없다.
-보통 바로가기 수준의 심볼릭 링크가 많이 사용된다.
명령문으로 확인하기
옵션
-s : 심볼릭 링크로 생성
하드링크
- ln 옵션 원본파일명 링크파일명
- ln Hello.java Hello.ln
심볼릭링크
- ln -s Hello.java Hello.ln
-- s옵션을 사용하지 않을 때 ls -l을 하면 내용물이 똑같다.
--cat Hello.java와 cat Hello.ln은 똑같은 내용이 출력된다.
--파일 사이즈도 똑같다.
--원본파일을 지우면 바로가기는 껍데기만 남는다. 여기서도 마찬가지.
-- s옵션을 사용하면
-- ls -l을 하면 화살표가 생긴다.
--크기가 다르다. 원본은 105, ln은 10(예시에서는 이렇게 차이가 난다.)
--vi편집기로 ln파일을 편집하면 원본파일도 변경된다.
--ln파일을 지워도 원본 파일은 남아 있다.
--원본파일을 지우면 ln파일이 빨간색으로 된다. cat으로 하면 no such file or directory 출력. 사용불가 ->껍데기만 남은 것.
'AWS' 카테고리의 다른 글
| 230330 Docker (0) | 2023.03.30 |
|---|---|
| AWS 230328 aws기초5 (0) | 2023.03.28 |
| AWS 230327 기초4 (0) | 2023.03.27 |
| AWS 230324 기초3 권한 (0) | 2023.03.24 |
| AWS 230321 기초 (0) | 2023.03.21 |