CS/운영체제(리눅스)

리눅스 파일시스템 및 명령어

prden 2023. 1. 24. 10:49

1. 리눅스 파일시스템

쉘 -> 운영체제 제어 

1) / 루트

2) /home/ :  윈도우의 사용자 홈디렉토리와 동일한 기능, 사용자계정별로 

3) /bin/ : 윈도우의 system(공통파일, 실행파일 두는 곳)

4) /mnt/ : 과거에 다른 것과 엮어서 쓰기위해 mnt라는 폴더를 뒀었는데 현재는 /media에 두고 쓴다

5) /usr/ 프로그램 열어서 설치할 때 program파일 설치해두는 곳 

6) /etc : 윈도우에서 registry

리눅스 폴더 구조 https://webdir.tistory.com/101 

 

리눅스 디렉토리 구조

리눅스의 디렉토리 혹은 파일 시스템 구조는 윈도우와는 조금 다른 구조를 가지고 있습니다. 기본적으로 디렉토리를 구분하는 '/'(슬래시)는 리눅스에서 사용하고 윈도우는 반대인 '\'(역슬래시)

webdir.tistory.com

 

2. 리눅스 명령어 

~ 기호는 home 디렉토리 나타내는 것 

clear  : 화면에 있는 모든 것을 지울 때 

* 명령어 ls -l : long으로 보여줌

 

mkdir : 디렉토리 생성

 

rmdir : 디렉토리 삭제

 

touch : 빈 파일 생성

 

mv : 파일 이동 / 변경 -> mv bin bin2 (bin 을 bin2로 파일명 바꾸는 것)

rm : 파일 삭제 

rm workspace 하면 디렉토리라서 지울 수 없고,  rmdir workspace/ 할 경우 안에 비어있지 않으면 못지움

rm -r workspace/  : 하면 재귀적으로 다 지울 수 있다. 

rm -ri workspace : 상호작용하면서 지우는 것

 

cp : 파일 복사 

 

파일 찾기

find ./ -name *.java

find ./ -name *.java -size +1c

 

파일 들여다 보기

cat Hello.java(전체 들여다 보는 것)

앞에 두 줄만 볼 때 : head -n2 Hello.java

뒤에 두 줄만 볼 때 : tail -n2

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sw4r&logNo=221538733820 

 

[쉘(Shell) 스크립트 팁] 파일 열어보는 3가지 방법 비교 정리! (vi, more, less, head, tail)

이번에 정리할 쉘 명령어는 파일의 내용물을 확인하는 명령어로 주요하게 3가지를 다루고 서브로 2개 정도 ...

blog.naver.com

 

https://devlsy.tistory.com/m/69

 

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력)

head 명령어 출처 : https://arer.tistory.com/148 tail 명령어 출처 : https://sisiblog.tistory.com/218

devlsy.tistory.com

grep vs find

https://honeyteacs.tistory.com/38

 

[리눅스 명령어] find, grep : 파일 찾기 명령어

1. find : 하위 폴더에 존재하는 파일을 찾아주는 명령어 find [검색 디렉토리] [옵션] [파일명] 옵션 의미 -name 대소문자 구분하여 파일명 검색 -iname 대소문자 구분하지 않고 파일명 검색 ex) find . -nam

honeyteacs.tistory.com

문서 내에서 찾고자 할 때 

grep class Hello.java

 

소대문자 구분하지 않고 찾을 때  ->  i

 

비교하고자 할 때 cmp Hello.java Hello1.java

->differ

differ Hello.java Hello1.java 를 비교할 수 있다. 

 

(일반 파일은 ls -l 했을 때 아무것도 d로 시작하지 않고, d로 시작하는 건 디렉토리의 경우)

* 리눅스에서는 파일이 디렉토리보다 큰 개념, 파일의 한 종류가 디렉토리 

 

 

3. 파일 편집 및 관리 

VI(를 사용하는 경우 드물고 편집기 사용)

 

i(insert), a(현재 위치에서 뒤에 insert), o(현재 위치의 아랫 줄에서 insert)

화살표 안 먹을 때 h,l(좌우) kj(위아래) 눌러야 한다. 

:q(나가는 것), :w(들어와서 쓰고 수정하는 것)

 

GUN nano이용하여 편집

 

4. 유용한 명령어 

1. history : 기존에 사용한 명령어 확인

 

2. redirect : 파일에 내용 담아놓을 수 있음

 

3.  ; 

 

4. 파일압축관리 : tar

tar -cf name.tar a b c // 압축 : tar -zcf name.tar.gz a b c

압축 풀기 : tar -xvf name.tar // tar -zxvf name.tar.gz

 

5. 압축본 JDK 설치 

 

6. 링크 파일 만들기 

 1) Symbolic link : 바로가기 파일 

 2) hard link 

 

7.  사용자 관리하기

useradd(adduser) - 사용자 추가

usermod - 사용자 변경

userdel(deluser) - 사용자 삭제

 

8. 사용자를 추가하는 스크립트 파일 생성

파일과 디렉토리 권한 변경

인자를 이용한 스크립트 파일로 변경하기 

향상된 사용자 추가방법(adduser)

프롬프트 변경하기 (PS)

출력 색상 변경하기 (LS)

명령어 별침 만들어 사용하기 

 

 

9. 네트워크 연결 

1. ssh : 보안 프로토콜을 이용해 원격 호스트에 로그인하거나 원격호스트에서 명령어 실행

2. scp : 보안 프롤토콜을 이용해 원격 호스트와 파일을 주고 받음(일괄 처리)

3. sftp : 보안 프롤토콜을 이용해 원격 호스트와 파일을 주고 받음(대화형)

4. ftp : 원격 호스트와 파일 주고받음( 대화형, 안전하지 않음)

5. netcat : 임의의 네트워크 연결을 생성한다.

 

10. cat, less, tail..

간단하게 짧은 문서를 한번에 출력하려면 cat

긴 문서를 조금 더 꼼꼼하게 확인하고 싶으면 less

문서의 머리부분을 확인하고 싶으면 head

꼬리부분을 보고 싶거나 로그를 실시간으로 확인하고 싶으면 tail (로그 볼 때 tail -f hello.txt)

편집하고 싶으면 vim

 

https://itholic.github.io/linux-basic-command/

'CS > 운영체제(리눅스)' 카테고리의 다른 글

ufw, iptables 차이  (0) 2023.05.19
런 레벨(Run Level)  (3) 2023.05.15
쉘 스크립트(.sh)  (0) 2022.12.27
리눅스 권한 및 사용자 관련  (0) 2022.12.27
리눅스 강의(시니어코딩)  (0) 2022.02.01