리눅스 기본 명령어 - 1

Regular Kim·2025년 7월 26일
0

기타

목록 보기
8/19

리눅스 기본 디렉토리 구조

기초 명령어

pwd

pwd
  • print working directory
  • 현재 내가 위치하는 경로 출력

cd

cd
cd ~
# 동일 동작
  • change directory
  • 디렉토리 변경 명령어
  • cd만 사용하면 홈디렉토리(/home/username)로 이동된다.
cd directory-name
  • 지정한 디렉토리 이름으로 이동

절대, 상대 경로

  • 절대 경로 : 루트 디렉토리를 기준으로 파일 위치를 표현
  • 상대 경로 : 현재 디렉토리를 기준으로 파일 위치를 표현

만약 경로가 / 문자로 시작한다면 무조건 절대 경로이다. / 이외의 문자로 시작한다면 무조건 상대 경로이다.

cd /log
  • 경로가 /로 시작하기 때문에 절대 경로이다.
  • 루트 디렉토리에 있는 log 디렉토리로 접근한다.

. : 현재 디렉토리 경로 의미\
.. : 상위 디렉토리 경로 의미

cd ./log
  • 경로가 /로 시작하지 않기 때문에 상대 경로이다.
  • 현재 디렉토리에 있는 log 디렉토리로 이동한다.
  • => cd log
cd ..
  • 현재 내 위치에서 한 단계 상위 디렉토리로 이동
cd ../log
  • /로 시작하지 않기 때문에 상대 경로이다.
  • 내 위치에서 한 단계 상위 디렉토리의 log 디렉토리로 이동한다.

ls

ls
  • list
  • 현재 내 위치에 있는 디렉토리의 하위 디렉토리 목록 출력

디렉토리 구분

ls -l
  • 현재 디렉터리 내부 파일의 자세한 정보 조회
ubuntu@host:/var/log$ ls -l
total 504
drwx------  3 root      root              4096 Jul 21 12:23 amazon
-rw-r-----  1 root      adm                  0 Jul 21 12:23 apport.log

파일 이름 앞의 문자열이 파일의 종류를 의미한다.

  • - : 일반 파일
  • d : 디렉터리

숨김 파일 조회

리눅스에서는 점(.)으로 시작하는 파일명을 가진 파일은 숨김 파일로 인식해 처리된다(.env, .gitignore).

ls -a

ls 명령어로 디렉터리 내 파일을 조회할 때 숨김 파일은 같이 조회되지 않는다. 숨김 파일을 조회하려면 ls -a라고 명령어를 입력한다.

ubuntu@host:/var$ ls -l
total 44
ubuntu@host:/var$ ls -la
total 56

Option

몇몇 명령어 뒤에는 - 후에 알파벳이 추가로 붙는다. 이 -l, -a 같이 하이픈(-)으로 시작하는 값을 보고 리눅스 명령어에서는 옵션이라고 부른다.

Short, Long Option

Option은 Short와 Long, 두 가지 형태를 가진다. Short Option은 하이픈 하나(-)로 시작하고, Long Option은 하이픈 두 개(--)로 시작한다.

여러 옵션을 같이 사용할 수 있다.

  • 하나의 명령어에서는 여러 옵션을 함께 사용할 수 있다 : ls -l -a
  • short option과 long option을 같이 쓸 수 있다 : ls -l --all
  • 여러 옵션을 사용했을 경우에는 그 순서가 상관 없다 : ls -l -a => ls -a -l
  • short option은 묶어서 사용 가능하다 : ls -l -a => ls -la

명령어마다 옵션이 다르다.

ls에서 -a 옵션이 작동했다고 해서, mkdir에서 -a 옵션이 동일하게 작동한다는 보장이 없다. 옵션은 명령어마다 다르게 구성된다.

touch

touch file-name
  • 파일 생성 명령어

mkdir

mkdir directory-name
  • 디렉토리 생성 명령어

rm

rm file-name
  • 파일 삭제 명령어

-r

rm -r directory-name
  • rm 명령어는 파일만 삭제할 수 있다. 디렉토리를 삭제하려면 -r 옵션을 명시해줘야한다.

-f

rm -rf item-name-i-want-to-remove
  • -f 은 강제 삭제 옵션을 의미한다. 파일에 대한 권한이 없더라도 삭제가 강제된다.
  • -rf 조합은 매우 강력한 명령으로 실수 시 시스템 파일까지 삭제될 수 있으므로 주의가 필요하다.

cp

cp file-name target-path
  • copy
  • 지정된 파일을 지정된 경로에 복사한다.
  • 경로는 절대, 상대 경로 모두 가능하다.
cp origin-file-name new-file-name
cp origin-file-name ./new-file-name
# 두 라인은 똑같은 동작을 진행한다.
  • origin-file-name을 현재 경로에 new-file-name 이름으로 복사한다.

-r

cp -r origin-directory-name new-directory-name
  • origin-directory-name을 현재 경로에 new-directory-name 이름으로 복사한다.
  • rm 명령어와 동일하게 디렉토리를 조작하려면 -r 옵션이 필요하다.

mv

mv target-file ../upper-directory
mv target-directory ./cur-directory
  • move
  • target-itemtarget-path로 이동(잘라내기)한다.
  • 파일과 디렉토리 구분 없이 이동이 가능하므로 -r 옵션을 사용하지 않는다.

rename

mv origin-item-name new-item-name
  • origin-item-name을 현재 경로에 new-item-name 이름으로 이동한다. 즉, item의 이름을 바꾼다.

-i

mv -i target-item target-path
  • 덮어쓰기 방지 옵션
  • -i 옵션이 없다면 덮어쓰기가 경고 없이 자동으로 진행된다. 덮어쓰기를 방지하고 싶다면 -i 옵션을 사용한다.

Q&A

윈도우에서는 리눅스 명령어 동작 안 됨?

윈도우는 리눅스와는 다른 운영체제이다. 따라서 윈도우의 터미널에서는 리눅스 명령어가 동작하지 않을 수 있다. 위 명령어를 사용하고 싶다면 WSL 혹은 Git Bash 설치를 추천한다.

물결표(~ )는 무슨 의미임?

터미널 화면의 가장 마지막 줄에 @ 앞에 있는 값은 사용자의 이름을 의미한다. 윈도우나 맥 같은 다른 컴퓨터에서 처럼 리눅스에서도 여러 사용자를 만들어서 컴퓨터를 사용할 수 있다.

리눅스 환경에서는 각 사용자에게 할당된 디렉토리가 있다. 그 디렉토리 보고 홈 디렉토리라고 부른다. 홈 디렉토리의 경로는 /home/{사용자명}이다. 사용자의 이름이 ubuntu일 경우에는 /home/ubuntu가 홈 디렉토리이다.

이 홈 디렉토리를 간결하게 표현하기 위해 ~ 표시를 사용한다.

profile
What doesn't kill you, makes you stronger

0개의 댓글