JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
온라인 강의프로그래밍 과외책/전자책무료 강의
유튜브블로그
후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

비전공자도 이해할 수 있는 리눅스 입문/실전

리눅스 기본 개념 / 리눅스 실습 환경 구축

리눅스(Linux)란?
다양한 리눅스의 종류 / 리눅스 배포판
리눅스 환경 구축하는 방법 (feat. AWS EC2)
[실습] AWS로 리눅스(Ubuntu) 환경 구축하기
터미널(Terminal)이란 ?
리눅스를 실행시키자마자 뜨는 첫 화면 해석하기 / 기본 조작법 익히기

필수로 꼭 알아야 하는 기본 명령어

리눅스에서의 파일(file), 디렉터리(directory)의 의미
폴더 이동하면서 파일 둘러보기 / 리눅스의 기본 폴더 구조 (pwd, cd, ls)
파일 종류 확인 / 숨김 파일 조회 (ls -l, ls -a)
리눅스 명령어들의 공통적인 패턴 - 옵션(Option)
상대 경로, 절대 경로란? / 구분 방법
경로에 물결 표시(~)는 무슨 의미일까?
파일 및 디렉터리 생성 / 삭제 (touch, mkdir, rm)
파일 및 디렉터리 복사 / 이동 / 이름 변경 (cp, mv)
명령어를 일일이 다 칠 필요 없는 자동완성 기능 / 이전에 썼던 명령어 불러오기
[연습문제] 지금까지 배운 명령어 실전처럼 써먹어보기

파일을 작성/조회할 때 자주 사용하는 명령어

리눅스에서 가장 많이 사용하는 텍스트 에디터 (vim) (
vim 에디터 기본 사용법 - 1
vim 에디터 기본 사용법 - 2
파일에 작성된 내용 보기 (vim, cat)
[연습문제] 지금까지 배운 명령어 실전처럼 써먹어보기

리눅스에서 빈번하게 마주치는 권한 문제(Permission Denied)

Permission Denied 에러 마주치는 경우
사용자(user), 슈퍼 사용자(super user)란?
그룹(group)이란?
권한(Permission)이란?
[실습] 왜 Permission Denied 에러가 발생하는 지 원인 분석해보기
권한 변경하는 방법 (chmod)
[실습] 보안을 위해 파일 접근 권한 제한하기
어떠한 제약도 없이 모든 기능을 사용할 수 있는 관리자 권한 (sudo)

외부 프로그램을 설치할 때 사용하는 패키지 매니저 (apt)

패키지 매니저(Package Manager)란?
자주 사용하는 apt 명령어 4가지
[실습] apt를 활용해 Nginx 설치해보기
[보충 자료] apt 명령어를 쓸 때 sudo를 써야 하는 이유

로그 남길 때 많이 사용하는 표준 출력(stdout), 표준 에러 출력(stderr)

표준 출력(stdout)이란?
[실습] 표준 출력(stdout) 활용해보기
표준 에러 출력(stderr)이란?
표준 출력(stdout)과 표준 에러 출력(stderr)의 추가 기능
[실습] Spring Boot 서버가 출력하는 로그를 파일로 남기기

실무에서 백엔드 서버를 운영할 때 자주 사용하는 명령어

특정 키워드가 들어간 문장만 찾고 싶을 때 (grep)
리눅스에서 실행 중인 프로세스 조회하기 / 종료하기 (ps, kill)
[실습] 실행시킨 Spring Boot 프로세스를 조회하고 종료해보기
터미널 창을 끄더라도 프로그램이 계속 실행되도록 만들기 (nohup, &)
백그라운드에서 실행되고 있는 프로세스의 로그 확인하는 법 (nohup)
특정 포트 번호에 실행되고 있는 프로세스 조회하기 / 포트 충돌 해결하기 (lsof) (
서버가 잘 작동하는 지 API 요청 보내보기 (curl)
내 IP 주소 확인하기 (ip)
컴퓨터가 느려질 때 CPU, Memory 성능 체크해서 원인 파악하기 (top)
로그 실시간으로 확인하는 법 (tail -f)

명령어들을 자동화시킬 수 있는 쉘 스크립트

문자열을 터미널 화면에 출력하는 명령어 (echo)
쉘 스크립트 파일 작성/실행 하는 법
[실습] ‘git pull 받아오기 → Spring Boot 빌드 → 빌드된 jar 파일 실행’의 과정을 자동화하기
[참고] 쉘 스크립트 공부 지침

Q&A / 마무리

[Q&A] 왜 윈도우에서는 배운 리눅스 명령어가 작동하지 않는 거죠?
[Q&A] 강의에서 안 배운 리눅스 명령어는 어떻게 공부해야 하나요?
[Q&A] 이 다음에는 어떤 걸 공부해야 하나요?
← 블로그 목록으로 돌아가기

폴더 이동하면서 파일 둘러보기 / 리눅스의 기본 폴더 구조 (pwd, cd, ls)

JSCODE 박재성
JSCODE 박재성
2026. 03. 27.
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025 05:12 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
navigate-folders-and-linux-structure
type
post
updatedAt
Mar 27, 2026 09:00

✅ 현재 디렉터리 경로 조회 (pwd)

컴퓨터에서 경로(path)는 특정 파일이 어디에 있는 지를 설명하는 주소를 의미한다.
윈도우나 맥에서 보면 특정 파일이나 폴더에 경로가 존재한다.
notion image
 
리눅스도 이와 같이 경로가 존재한다.
리눅스 환경에서 현재 내가 위치한 경로를 조회하려면 아래 명령어를 입력해야 한다.
# pwd : 현재 디렉터리 경로를 출력 $ pwd
참고) pwd : print working directory의 줄임말
 

✅ 디렉터리 이동 (cd)

# cd [이동할 경로] $ cd /var/log/apt # /var/log/apt라는 곳으로 경로 이동 $ pwd # 현재 디렉터리 경로 확인
참고) cd : change directory의 줄임말
참고) $ 왼쪽에 현재 디렉터리 경로가 표시된다.
notion image
 
 
$ cd .. # 현재 디렉터리 경로에서 상위 디렉터리(..)로 이동 $ pwd # 현재 디렉터리 경로 확인 $ cd .. $ pwd $ cd .. $ pwd # 최상위 디렉터리로 이동하면 더 이상 상위 디렉터리로 이동할 곳이 없어 경로가 그대로다.
 
cd 명령어를 활용해 무작위로 경로를 이동해봤다. 조금 더 디테일하게 이해하기 위해서 리눅스의 기본 폴더 구조가 어떻게 구성되어 있는 지 알아보자.
 
 

✅ 리눅스의 기본 폴더 구조

notion image
  • 리눅스의 최상위에 있는 디렉터리(/)를 보고 루트 디렉터리라고 한다.
    • 루트 디렉터리 안에 리눅스에 관련된 모든 파일들이 들어있다.
    • 루트 디렉터리를 보고 최상위 디렉터리라고도 얘기한다.
  • 리눅스에서 경로를 표현할 때는 슬래시(/)를 활용하여 경로를 간단하게 표현한다.
    • ex) 루트 디렉터리에 있는, var 폴더 안에 있는, log 폴더 → /var/log
  • 리눅스에는 기본적으로 구성되어 있는 파일들이 존재한다.
    • /bin, /opt, /boot 등
 
 

✅ 현재 디렉터리 내부에 있는 파일 조회 (ls)

루트 디렉터리에서 아래 명령어를 입력해보면 여러 파일이 조회된다. 방금 위에서 봤던 리눅스의 디렉터리 구조를 확인할 수 있다.
$ ls
notion image
참고) ls : list의 줄임말
 
$ cd var # var 디렉터리로 이동 $ ls $ cd log # log 디렉터리로 이동 $ ls
 
 
이번에는 /var/log 경로에서 btmp라는 디렉터리에 접근하려고 해보자.
$ cd btmp
notion image
btmp가 디렉터리인줄 알고 cd btmp라는 명령어를 입력했는데, 에러 메시지로 Not a directory가 떴다. btmp가 디렉터리가 아니어서 에러가 발생한 것이었다.
 
👨🏻‍🏫
그럼 리눅스에서는 일반 파일인지 디렉터리인지 어떻게 구분할 수 있을까? 다음 강의에서 알아보도록 하자.
 
📎
이 글은 비전공자도 이해할 수 있는 리눅스 입문/실전 강의의 수업 자료 중 일부입니다.