리눅스

리눅스의 파일구조, 기초명령문

코딩만만세 2024. 7. 4. 16:55

리눅스의 폴더구조

  • 리눅스의 폴더구조는 /로 부터 시작됩니다.
  • root아래에는 다양한 폴더들이 있습니다.
  • 핵심 폴더는 아래와 같습니다.

/home (사용자의 홈 디렉토리) (윈도우 c/사용자) /usr (응용프로그램 저장소) /etc (프로그램이 시작되기 위해 필요한 설정파일 저장소) /var (시스템 운영중에 발생한 데이터와 로그가 저장되는곳)

눅스의 명령문에는 많은 옵션들이 들어가게 됩니다.

이런 옵션들은 처음부터 다 외우기보다는 주로 사용되는 옵션들은 기억하고 좀 더 궁금하다면 구글에 검색하세요.

  • 경로 이동 명령문 cd
    • 현재위치확인
    pwd
    • 경로이동
    cd 경로
    • 폴더 파일 구조확인
    ls
  • ls -l
  • ls -al
  • ls -a
  • 절대경로와 상대경로로 이동하기
  • 상대경로 ./

cd 경로

cd ./경로

  • 절대경로 /

cd /

cd /절대경로

cd ~ (나의홈디렉토리로)

 

    • 파일삭제파일 or 폴더 생성하고 다루기 mkdir, rmdir, touch, rm, mv, cp
      • 디렉토리 생성
      mkdir 폴더명
      • 디렉토리 삭제
      rmdir 폴더명
      • 파일생성
      touch 파일명
    • rm 파일명 (*표현식사용가능)
  • rm -r 폴더명 (하위모든폴더 삭제, -r 리컬시브옵션)
  • rm -ri 폴더명 (묻고답하기로 삭제, -ri 리컬시브, 인터렉티브옵션)
    • 파일이동(이름변경)
    mv 파일명 이동경로/파일명
    • 파일복사(파일복사 or 디렉토리복사)
    cp 파일명 이동경로/복사할파일명
  • cp 파일명 파일명 파일명... 복사될경로
  • 편집기 다루기 vi, nano
    • 편집기(윈도우메모장) 다루는 방법으로는 대표적으로 vi모드가 있습니다.
    • vi는 명령모드에 따라서 조작하는 방법입니다.
    • 상세한 내용은 아래 링크를 확인하세요
    • https://danielit.tistory.com/15

 

 

📖VI 에디터 & 명령어의 모든 것

📌vi 에디터란? - vi는 빌 조이가 만든 UNIX계열 환경에서 가장 많이쓰이는 오픈 소스 문서 편집기로 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 'Visual Editor' 라는 뜻에서 유래

danielit.tistory.com

 

 

 

요 정도만 알아도 사용 가능 합니다

esc i

esc :w

esc :q

esc :wq

esc :q! (!는 강제실행)

  • 편집기(윈도우메모장) 다루는 방법으로는 대표적으로 nano가 있습니다.

^ -> ctrl

M -> alt

 

  • 파일찾기와 파일정보 확인 find, cat, head, tail, grep, diff
    • 파일 찾기
    특정 위치에서 파일을 이름으로 찾습니다.
  • find ./ -name Hello.java
  • find /home/coding404 -name *.java
  • find 경로 -name 파일명

특정 위치에서 파일을 크기로 찾습니다.

c는 바이트를 의미함 +는 보다 큰파일, - 는 보다 작은파일

find 경로 -size 파일크기

find ./ -size +1024c

find /home/coding404 -size -1024c

 

옵션은 나열이 가능

find 경로 -name *.java -size -1024c

find 명령을 사용하여 큰 파일 찾기(용량정리에 유용)

sudo find . -xdev -type f -size +100M

 

  • 파일 확인하기

파일의 전체를 한눈에 확인합니다.

cat 파일명

cat Hello.java

 

파일의 위 부분을 출력합니다. (옵션 -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

 

파일 안에서 찾을 값을 검색합니다.(Hello.java에서 hel 단어를 찾는다.)

  • 정규표현식으로 사용되거나 or 다른 명령문과 조합되서 많이 사용됩니다.

grep 찾을값 파일명

grep hel Hello.java

 

파일을 비교하여 다른 부분을 보여줍니다.

diff 파일명 파일명

diff Hello1.java Hello2.java

 

  • 파일 압축하기, 압축풀기
  •  tar옵션을 따라 묶기만 할 수도 있고, 압축으로 묶을 수도 있습니다.
  • 추후 압축 파일을 FTP도구를 이용해서 옴긴다면 압축을 해제해서 사용 할 수 있습니다.
  • tar옵션은 파일을 묶거나 풀어내는 옵션입니다.
  • 주요옵션

-c : tar로 묶기
-x : tar로 풀기
-z : gzip으로 압축하거나 해제함
-v : 묶거나 파일을 풀 때 과정을 화면으로 출력
-f : 파일명지정

 

  • 파일명 지정하여 파일 묶고 풀기

tar 옵션 압축명 압축파일1 압축파일2 ….

파일묶기

tar -cf myJava.tar Hello2.java Hello.java

파일풀기

tar -xf myJava.tar

 

  • 파일명 지정하여 파일 압축하여 묶고 풀기

압축하기

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