OS

[OS] 운영체제 기본 명령어 모음 (2) 리눅스(Linux) + 파일명 분석

생각많은 프로그래머 2024. 2. 20. 16:57

리눅스의 명령어들은 터미널이나 콘솔 창에서 사용된다.

window의 help 명령어와 마찬가지로 매뉴얼 페이지를 

확인하려면 man 명령어를 사용해서 보다 많은 명령어에 대한 

정보를 얻을 수도 있다. (예 : man ls)

 

리눅스 기본 명령어 모음
구분 명령어 예시
현재 위치의 파일목록(디렉터리) 조회 ls ls
파일목록(디렉터리) 상세 조회 ls -l    ls -l
결과 )
-rw-r--r-- 1 user group 4096 Feb 20 10:15 file.txt
디렉터리 이동 cd cd /home/user/Documents
부모(상위) 디렉터리로 이동 cd .. 현재 디렉터리 : "/home/user/Documents"
cd .. 실행 후
이동 부모 디렉터리로 이동 : "/home/user"
파일 복사 cp cp file.txt /path/to/destination
파일 이동 mv mv file.txt /new/location
이름 변경) mv old_name.txt new_name.txt
파일 제거 rm rm file.txt  
디렉터리 제거) rm -r directory
새 디렉터리 생성 mkdir mkdir new_directory
파일의 내용을 화면에 출력 cat cat example.txt
화면에 출력되는 결과를 파일로 저장 redirection 파일 출력: ls > file.txt
(ls 명령어의 출력을 file.txt 파일에 저장)


파일 입력: cat < file.txt
(file.txt 파일의 내용을 cat 명령어로 전달하여 출력)
자주 수행하는 명령어 설정 alias alias ll='ls -l'
( ll 명령어를 실행하면 ls -l 명령어가 실행됨 )
현재 작업 중이 디렉리의 경로 표시 pwd pwd
파일 내에서 특정 문자열 검색 grep grep "search_string" file.txt
파일이나 디렉터리의 권한 변경 chmod chmod 755 file.txt
실행 중인 프로세스 목록 표시 ps ps aux
실행 중인 프로세스 종료 kill kill PID
네트워크 인터페이스 정보 표시
(MAC 주소 확인)
ifconfig
ifconfig
네트워크 호스트에 ICMP패킷 보내서
응답 확인(네트워트 통신 상태 체크)
ping ping http://www.example.com

 

명령어 관련 중요 개념

 

리눅스 시스템에서는 계정별로 권한이 엄격하게

구분되어 있다. 권한별그룹은 
사용자 자신(나), 그룹, 루트(root)로 구분된다.

여기서 루트(root) 최상위 관리자 계정을 말하며

시스템 전체의 모든 권한을 가지고 있고

모든 작업을 수행할 수 있다.

루트 계정은 시스템 관리자 단 한 명만 사용하는 것은 아니다.

상황에 따라 권한에 맞게 다른 사용자에게 권한이 할당되기도 한다.

이 계정은 시스템에 대한 완전한 제어 권한을 가지고 있으므로

사용 시 매우 주의가 필요하다.

 

위에서 리눅스 기본 명령어 모음 중 ls -l에 대한

결과 예시로 상세 파일명을 적었는데, 

권한과 관련해서 이 파일명을 이해하는 것이 매우 중요하다.

 

파일명에 대해 하나하나 분해해서 살펴보자.

-rw-r--r-- 1 user group 4096 Feb 20 10:15 file.txt

 

예시 부분 개념 설명
-rw-r--r-- 파일 유형 및 권한
(File type and permissions)
일반파일, 소유자에 대한 읽기 및 쓰기 권한이 있고
그룹 및 다른 사용자에 대해서는 읽기 권한만 있음
1 링크 수
(Link count)
파일에 대한 하드 링크의 수
user 소유자
(Owner)
파일의 소유자를 의미
group 그룹
(Group)
파일이 속한 그룹을 의미
4096 파일 크기
(File size)
(바이트 단위로 표시되며,
여기서는 디렉토리로 추정됨)
Feb 20 10:15 마지막 수정 시간
(Last modified time)
마지막으로 수정된 날짜와 시간
file.txt 파일 또는 디렉토리의 이름
(File or directory name)
파일의 이름

 

 

파일 유형 및 권한 부분 상세 정리

 

파일 유형 및 권한 부분은 총 10개의 문자로 이루어져 있다.
(1번째 문자는 파일의 유형을, 나머지 9자리 문자는 권한을 나타낸다.)

  - 1번째 문자 : 해당 파일의 유형을 의미함. 
  - 2~4번째 문자그룹 : 소유자(user)의 권한 정보
  - 5~7번째 문자그룹 : 그룹(group)의 권한 정보
  - 8~10번째 문자그룹 : 다른 사용자(others)의 권한 정보

 

첫 번째 문자에서의 파일 유형 종류

문자 파일 유형
- (하이픈) 일반 파일에 해당함
d (디렉토리) 다른 파일과 디렉토리를 포함하는 폴더
l (심볼릭 링크) 다른 파일이나 디렉토리를 가리키는 링크 파일
c (문자 장치 파일) 해당 항목이 문자 기반 장치를 나타냄
주로 시스템에 연결된 하드웨어 장치를 표현함
b (블록 장치 파일) 블록 기반 장치를 나타냅니다. 주로 하드 디스크,
SSD 등과 같은 블록 기반
 장치를 표현함

 

각 나머지 세 개의 문자그룹은 각각 세 개의 문자로 이루어져 있고 
그 세 개의 문자는 아래와 같은 권한을 의미한다.

문자 권한 유형
 r Read,  파일을 읽을 수 있는 권한
w Write, 파일을 쓸 수 있는 권한
x Execute, 파일을 실행할 수 있는 권한
(디렉터리에 대해서는 디렉터리 안으로
진입할 수 있는 권한)


예를 들어 2~4번째 문자그룹이 rw-이라면 
소유자는 읽고 쓰는 권한을 가진다.
-로 표시되었다는 의미는 해당 권한을 부여하지 않았다는 의미이다.
만약 실행 권한까지 있었다면 rwx로 표시되었을 것이다. 

따라서 위 예시를 근거로 분석하면 
  - 소유자 : 읽기 및 쓰기 권한 있음
  - 그룹 : 읽기 권한만 있음
  - 다른 사용자 : 읽기 권한만 있음 
으로 해석할 수 있다.