Linux command

Linux 왕초보를 위한 command - 간단한 Linux 소개

쥴리정 2025. 3. 17. 22:22

Windows 환경에 익숙한 업무 초년생들이라면 linux 사용이 많이 불편할 수 있지만, 익숙해지면 windows보다 편하고 빠르고 powerful하다는 것을 알 수 있다.

 

원래는 작년 여름 정도에 시작하려던 포스팅인데 그동안 다사다난한 일들이 있어 미루고 있었던 linux command 들을 업무에 필요한 수준에서 (몇차례에 걸쳐)가볍게 다뤄볼까 한다.

 

리눅스(Linux)는 **오픈 소스 운영체제(OS)**로, 주로 서버, 개발 환경, 임베디드 시스템, 슈퍼컴퓨터 등에서 널리 사용되는데. 유닉스(Unix) 기반으로 개발되었으며, 강력한 보안성과 안정성을 제공한다.

필자가 신입사원일 때는 사실 Unix로 업무를 시작했었는데, 어느 새 Linux로 모두 대체되었다. 하지만 Linux도 Unix와 command가 거의 동일하기 때문에 둘이 다르다는 것을 거의 인지하지 못할 정도.


그렇다면 Linux의 특징은 어떤 게 있을까?

 

1. 오픈 소스

  누구나 자유롭게 사용하고 수정 가능 (하지만 나는 이쪽 계통의 개발자가 아니므로 패스)


2. 다중 사용자(Multi-user) 지원

 하나의 서버에 여러 사용자가 동시에 사용 가능하다.

또한 한 명의 사용자가 여러 서버에 동시에 접속해서 사용하는 것도 가능하고, 하드를 각 서버에 마운트해서 사용하는 것도 가능하다.


3. 다중 작업(Multi-tasking) 지원

 여러 프로세스를 동시에 실행 가능하다.


4. 명령줄 인터페이스(CLI) 지원

 터미널에서 강력한 명령어 사용 가능.

Linux도 물론 아이콘을 클릭하여 파일을 열거나 할 수 있지만, 기본적으로 터미널이라고 부르는 명령어 입력창을 가지고 작업하게 된다.


5. 체계적인 파일 및 디렉토리

 /home, /bin, /etc 등의 표준 디렉토리 구조를 가지고 있다.


Linux의 기본 directory 구조

 

기본 command를 소개하기 전에 간략한 Linux의 기본 directory 구조를 알면 좋겠다.

Windows에서 폴더라고 부르는 것을 linux에서는 directory라고 부른다.

 

  • / → 최상위(root) 디렉터리
  • /home → 일반 사용자 계정 디렉토리
  • /bin → 기본 실행 파일(명령어: ls, cp, mv 등)
  • /etc → 시스템 설정 파일 (passwd, hosts 등)
  • /var → 로그 파일(log), 메일(mail) 등의 데이터 저장
  • /dev → 하드웨어 장치 파일 (sda, tty 등)
  • /proc → 시스템 및 프로세스 정보 (cpuinfo, meminfo 등)

리눅스의 사용자(user)와 그룹(group)

 

위에서 잠깐 다뤘듯이 linux는 멀티유저(Multi-user) 운영체제이므로 여러 사용자가 동시에 시스템을 사용할 수 있는데,
이를 관리하기 위해 사용자(User)와 그룹(Group) 개념이 존재한다.

 

일반 개발 업수 시 linux 사용자는 크게 세 가지 유형으로 나뉘는데, 각 사용자는 다음과 같이 구분할 수 있다.

  1. 루트 사용자(Root) 
    • 시스템의 최고 관리자로 모든 권한을 가지며, superuser라고 부른다.
    • 일반적으로 root 계정으로 존재하며, superuser가 실행하는 명령어는 sudo 명령어로 실행 가능
    • # 프롬프트가 표시됨 (root@linux:~# 형태)
  2. 일반 사용자(Regular User)
    • 보안상의 이유로 일반적으로 사용되는 계정
    • 시스템 파일 변경 등 제한된 권한을 가짐
    • ~ (홈 디렉토리)를 갖고 있음 (/home/username)
    • $ 프롬프트가 표시됨 (user@linux:~$ 형태)
  3. 시스템 사용자(System User) 
    • 시스템에서 특정 서비스를 실행하는 데 사용되는 계정
    • 예: www-data(웹 서버), mysql(데이터베이스) 등
    • 보안 강화를 위해 직접 로그인 불가

그리고 그룹이란 여러 사용자를 하나의 단위로 묶어서 공통된 권한을 부여하는 개념이다.

보통 하는 업무로 나누어서 그룹으로 나누기 때문에 한 사용자가 여러 그룹에 속할 수도 있다.

 

내 사용자 이름이 무엇인지 알고 싶을 때 사용하는 command :

 

whoami

 

사용자 및 그룹 정보를 확인할 때 사용하는 command :

 

id 

 

위의 두 command를 기본으로 알아두면 나에 대한 정보를 알 수 있다.

 


Linux에서 가장 기본적인 명령어 열가지를 소개하면서 이번 포스팅은 마무리해야겠다.

 

1. 디렉토리 목록 보기

명령어 : ls

 

example:

 

ls                    : 현재 directory의 목록 보기

ls  -a               : 숨김 파일(.으로 시작하는 파일) 목록도 함께 보기

ls  ~                : 나의 home directory 의 목록보기

ls /home/user  : (절대 경로를 사용하여) /home/user 의 목록보기

ls  -t                 : 현재 directory의 목록을 저장된 시간 순서대로 정렬하여 보기

 

2. 디렉토리 이동

명령어 : cd

 

example:

 

cd  directory_name   : directory_name으로 이동

cd                              : 나의 home directory로 이동

cd  ~                         : 나의 home directory로 이동 cd 와 동일함

cd  ~user1                : user1의 home directory로 이동

cd  ~user2                : user1의 home directory로 이동

cd  /                          : root  directory로 이동

cd  /home/user         : 절대 경로를 사용하여 이동

cd ../                         : hierarchy 바로 위 directory로 이동

cd  ../test                  : hierarchy 바로 위의 test  directory로 이동


3. 현재 디렉토리 확인

명령어 : pwd

 

4.새 디렉토리 만들기

명령어 : mkdir

 

example : 

 

mkdir new_folder

mkdir -p dir1/dir2   : 하위 directory인 dir2까지 한번에 생성

mkdir {dir1, dir2, dir3} : dir1, dir2, dir3 세 개의 directory를 한번에 생성

5. 파일 또는 디렉토리 삭제

명령어 : rm

 

example :

 

rm test        : test 파일 삭제

rm -r dir1    : dir1 디렉토리와 내부파일 삭제 

                       주의-> 이렇게 -r option을 주면 강제로 삭제함. -r option을 주지 않으면 파일마다 일일이 삭제 여부를 물어봄

 

6. 파일 또는 디렉토리 복사

명령어 : cp

 

example :

 

cp file1 file2        : file1을 file2로 복사

cp -r dir1 dir2      : dir1을 dir2로 복사 (directory 복사 시 -r 옵션이 필요함)

cp file1 file2 file3 dir1/   : file1, file2, file3을 dir1 directory 아래로 복사


7. 파일 또는 디렉토리 이동 / 이름 변경

명령어 : mv

 

example :

 

mv file1 file2        : file1을 file2로 이름변경

mv file1   dir1       : file1을 dir1 directory 아래로 이동

mv file1 file2 file3  dir3   : file1, file2, file3 을 dir1 directory 아래로 이동

8. 파일 내용 보기

명령어 : cat

 

example :

 

cat file1      : file1의 내용을 출력

9. 특정 문자열 검색

명령어 : grep

 

example :

 

grep "hello" file1     : file1에서 hello 가 포함된 줄 찾이

grep -i "hello" file1         : 대소문자 무시하고 검색

grep -v "hello"  file1       : hello가 포함되지 않은 줄을 찾기

10. 파일 검색

명령어 : find

 

example :

 

find /home -name "file1"  /home 디렉토리에서 file1 찾기

fine . -type f -name "*.log"       : 현재 디렉토리 (.) 에서 *.log 파일 찾기