[OS-Linux] 주요 명령어(Command)에 대해 알아보자

이번 포스팅에서는 앞선 포스팅([OS-Linux] WSL 소개와 설치하기)에서 설치한 WSL(Windows Subsystem for Linux)을 이용해 Ubuntu 환경에서 자주 사용되는 기본 명령어(Command)들에 대해 알아보겠습니다.

파일 및 디렉토리 관리, 파일 권한 설정, 파일 내용 보기 및 편집 등이 필수적으로 필요합니다.

이 포스팅에서는 이러한 작업을 수행하는 데 필요한 주요 명령어들을 정리해 보겠습니다.

Command-Linux

파일 및 디렉토리 관리 명령어(Command)

파일과 디렉토리를 관리하는 기본 명령어들은 Linux 작업의 핵심입니다.

각 명령어는 간단하지만 매우 강력한 기능을 제공하며, 다양한 옵션과 함께 사용될 때 그 진가를 발휘합니다.

ls (list): 현재 디렉토리의 파일과 디렉토리 목록을 출력합니다.

ls
ls -l   # 상세 정보 포함
ls -a   # 숨김 파일 포함

cd (change directory): 디렉토리 간 이동을 위한 명령어입니다.

cd /path/to/directory   # 특정 디렉토리로 이동
cd ..   # 상위 디렉토리로 이동
cd ~   # 홈 디렉토리로 이동

pwd (print working directory): 현재 작업 중인 디렉토리의 경로를 출력합니다.

pwd

cp (copy): 파일이나 디렉토리를 복사합니다.

cp source_file destination_file   # 파일 복사
cp -r source_directory destination_directory   # 디렉토리 복사

mv (move): 파일이나 디렉토리를 이동하거나 이름을 변경합니다.

mv old_name new_name   # 이름 변경
mv file_name /path/to/directory/   # 파일 이동

rm (remove): 파일이나 디렉토리를 삭제합니다.

rm file_name   # 파일 삭제
rm -r directory_name   # 디렉토리와 그 안의 파일 모두 삭제

mkdir (make directory): 새로운 디렉토리를 생성합니다.

mkdir directory_name

rmdir (remove directory): 비어 있는 디렉토리를 삭제합니다.

rmdir directory_name

관리자 권한으로 명령어 실행하기: sudo

Ubuntu 및 다른 Linux 환경에서는 시스템 관리 작업을 수행할 때 관리자 권한이 필요합니다.

일반 사용자 권한으로는 실행할 수 없는 명령어들이 많습니다.

이때 sudo 명령어를 사용하여 일시적으로 슈퍼유저(관리자) 권한을 부여받아 명령을 실행할 수 있습니다.

sudo 명령어는 사용자가 시스템 관리자(root) 권한으로 명령을 실행할 수 있도록 합니다.

처음 사용할 때 비밀번호를 입력해야 하며, 이는 현재 사용자 계정의 비밀번호입니다.

sudo apt-get update   # 시스템 패키지 목록 업데이트
sudo apt-get install package_name   # 소프트웨어 패키지 설치

파일 권한 및 소유권 관리

리눅스 파일 시스템은 파일과 디렉토리의 권한과 소유권을 기반으로 동작합니다.

이를 적절히 설정하는 것은 시스템 보안을 유지하는 데 매우 중요합니다.

파일 권한 확인하기

파일이나 디렉토리의 권한을 확인하려면 ls -l 명령어를 사용합니다.

ls -l file_name

-rwxr-xr-- 1 user group 1234 Aug 26 12:34 file_name # 결과

첫 번째 문자열은 파일의 권한을 나타냅니다. 여기서 -rwxr-xr--는 각 사용자의 권한을 의미합니다.

  • r: 읽기 권한 (read)
  • w: 쓰기 권한 (write)
  • x: 실행 권한 (execute)

첫 번째 문자 -는 파일 유형을 나타내며, 일반 파일은 -, 디렉토리는 d로 표시됩니다.그 다음 세 자리씩 구분하여 소유자, 그룹, 다른 사용자에 대한 권한을 나타냅니다.

chmod (change mode): 파일이나 디렉토리의 권한을 변경합니다.

chmod 755 file_name   # 소유자에게 모든 권한, 그룹과 다른 사용자에게 읽기 및 실행 권한 부여
chmod +x script.sh   # 실행 권한 추가
chmod -w file_name   # 쓰기 권한 제거

chown (change owner): 파일이나 디렉토리의 소유자를 변경합니다.

sudo chown user_name file_name   # 소유자 변경 (sudo 필요)
sudo chown user_name:group_name file_name   # 소유자와 그룹 변경

chgrp (change group): 파일이나 디렉토리의 소유 그룹을 변경합니다.

sudo chgrp group_name file_name   # 그룹 변경

파일 내용 보기 및 편집

파일의 내용을 확인하거나, 텍스트 파일을 편집할 때 사용하는 명령어들입니다.

cat (concatenate): 파일의 내용을 화면에 출력합니다.

cat file_name

less & more: 긴 파일을 한 페이지씩 볼 수 있도록 하는 명령어입니다.

less file_name   # 위아래로 스크롤 가능
more file_name   # 아래로만 스크롤 가능

nano: 간단한 텍스트 편집기입니다. 사용자 친화적인 인터페이스로 빠르게 텍스트 파일을 편집할 수 있습니다.

nano file_name

vi/vim: 강력한 기능을 갖춘 텍스트 편집기입니다. 초보자에게는 조금 복잡할 수 있지만, 익숙해지면 매우 효율적으로 텍스트 파일을 편집할 수 있습니다.

vi file_name   # vi 실행
vim file_name   # vim 실행

vi/vim 명령어

vi/vim 편집기는 크게 두 가지 모드로 나뉩니다:

명령 모드입력 모드입니다. 이 두 모드를 적절히 전환하면서 파일을 편집할 수 있습니다.

  • 명령 모드 (Command Mode)
    • i: 입력 모드로 전환 (insert)
    • a: 현재 커서 위치 다음에 입력 (append)
    • o: 새로운 줄을 추가하고 그 줄에서 입력 모드로 전환 (open)
    • Esc: 입력 모드에서 명령 모드로 전환
    • u: 마지막 명령 실행 취소 (undo)
    • Ctrl + r: 실행 취소 복구 (redo)
    • dd: 현재 줄 삭제
    • yy: 현재 줄 복사 (yank)
    • p: 커서 다음 줄에 복사한 내용 붙여넣기 (paste)
    • : 파일 저장 (write)
    • : vi/vim 종료 (quit)
    • : 저장 후 종료
    • !: 저장하지 않고 강제 종료
  • 입력 모드 (Insert Mode)
    • 입력 모드에서는 일반 텍스트 편집기처럼 글을 작성할 수 있습니다. 입력 모드에서 명령 모드로 전환하려면 Esc 키를 누릅니다.

명령 모드 내에서의 이동

  • h, j, k, l: 각각 왼쪽, 아래, 위, 오른쪽으로 커서 이동
  • 0: 현재 줄의 시작으로 이동
  • $: 현재 줄의 끝으로 이동
  • gg: 파일의 처음으로 이동
  • G: 파일의 끝으로 이동
  • w: 다음 단어의 시작으로 이동
  • b: 이전 단어의 시작으로 이동

검색 및 치환

  • /: 현재 파일에서 문자열 검색 (예: /search_term)
  • n: 검색한 문자열의 다음 항목으로 이동
  • N: 검색한 문자열의 이전 항목으로 이동
  • /old/new: 현재 줄에서 old 문자열을 new로 치환
  • /old/new/g: 현재 줄에서 old 문자열을 모두 new로 치환
  • :%s/old/new/g: 파일 전체에서 old 문자열을 모두 new로 치환

Vim만의 추가 기능

Vim은 Vi에 비해 몇 가지 유용한 기능이 추가되었습니다. 그 중 몇 가지를 소개합니다.

  • Visual Mode (비주얼 모드)
    • v: 비주얼 모드로 전환, 텍스트를 블록으로 선택
    • V: 라인 단위로 텍스트 선택
    • Ctrl + v: 비주얼 블록 모드로 전환, 블록 단위로 텍스트 선택
  • Multi-level Undo/Redo
    • Vi에서는 하나의 undo만 가능하지만, Vim에서는 여러 번의 undo/redo가 가능합니다.
  • Syntax Highlighting
    • Vim은 구문 강조를 지원하여 코드 편집 시 가독성을 높여줍니다. 구문 강조를 활성화하려면 :syntax on 명령어를 사용하면 됩니다.

참고 링크

Linux Command Line Cheat Sheet: https://www.guru99.com/linux-commands-cheat-sheet.html

Vim 공식 사이트: https://www.vim.org/docs.php

chmod, chown, chgrp 명령어 사용법: https://linuxize.com/post/linux-file-permissions/

Vim Adventures: https://vim-adventures.com/

Leave a Comment