전공과목 정리/리눅스시스템 + 시스템프로그래밍

[리눅스시스템🐧] 3장 기본 명령어

최연재 2024. 1. 2. 02:47

교재 : 리눅스 시스템 원리와 실제 (창병모, 생능출판)

 

3.1 기본 명령어

- 날짜 및 시간 확인

$  date

- 시스템 정보 확인 

$ hostname

- 사용자 정보 확인

$ whoami
$ who

- 디렉터리 내용 확인

$ ls

- 패스워드 변경

$ passwd

- 화면 정리

$ clear

- 온라인 매뉴얼

$ man

- 명령어에 대한 간단한 설명

$ whatis 명령어

 

3.2 파일과 디렉터리

1) 파일의 종류

- 일반 파일 (ordinary file)

  • 데이터를 가지고 있으면서 디스크에 저장된다.
  • 텍스트 파일, 이진 파일

- 디렉터리(directory) 또는 폴더(folder)

  • 파일들을 계층적으로 조직화하는 데 사용되는 일종의 특수 파일
  • 디렉터리내에 파일이나 서브 디렉터리들이 존재한다.

- 장치 파일 (device special file)

  • 물리적인 장치에 대한 내부적인 표현
  • 키보드(stdin), 모니터(stdout), 프린터 등도 파일처럼 사용

- 심볼릭 링크 파일 : 어떤 파일을 가리키는 또 하나의 경로명을 저장하는 파일

 

2) 디렉터리 계층구조

- 리눅스의 디렉터리는 루트로부터 시작하여 트리 형태의 계층구조를 이룬다.

- 홈 디렉터리

  • 각 사용자마다 별도의 홈 디렉터리가 있다.
  • 사용자가 로그인하면 홈 디렉터리에서 작업을 시작한다.
  • ~ : 홈 디렉터리
  • . : 현재 디렉터리 
  • .. : 부모 디렉터리

- 경로명 : 파일이나 디렉터리에 대한 정확한 이름

  • 절대 경로명(absolute pathname) : 루트 디렉터리로부터 시작하여 경로 이름을 정확히 적는 것
  • 상대 경로명(relative path name) : 현재 작업 디렉터리로부터 시작하여 경로 이름을 적는 것
  • 명령어의경로 확인 : $ which 명령어 -> 명령어의 절대 경로를 보여줌.

 

3.3 디렉터리 명령어

- 현재 작업 디렉터리 출력

$ pwd
  • 현재 작업 디렉터리 (current working directory) : 현재 작업 중인 디렉터리
  • 로그인 시 홈 디렉터리에서부터 작업이 시작된다.

- 디렉터리 이동

$ cd [디렉터리]
  • 현재 작업 디렉터리를 지정된 디렉터리로 이동한다.
  • 디렉터리를 지정하지 않으면 홈 디렉터리로 이동한다.

- 디렉터리 생성

$ mkdir [-p] 디렉터리+
  • 디렉터리를 새로 만든다.
  • 중간 디렉터리 자동 생성 옵션 -p : 필요한 경우 중간 디렉터리를 자동으로 만듦. 

- 디렉터리 삭제

$ rmdir 디렉터리+
  • 디렉터리(들)을 삭제한다.
  • 빈 디렉토리만 삭제 가능

 

3.4 디렉터리 리스트

- 디렉터리 리스트

$ ls [-aslFR]  디렉터리* 파일*
  • ls 혹은 dir
  • 지정된 디렉터리의 내용을 리스트한다.
  • 디렉터리를 지정하지 않으면 현재 디렉터리 내용을 리스트한다.
  • 파일을 지정하면 해당 파일만 리스트한다.
  • -a : 숨겨진 파일을 포함하여 모든 파일을 리스트한다.
  • -s : 디렉터리 내의 모든 파일의 크기를  k 바이트 단위로 출력한다.
  • -l : 파일의 상세 정보를 출력한다. (블록 수, 파일 종류, 접근 권한, 링크 수, 소유자명, 크기, 수정시간, 파일 이름 등)
  • -F : 파일의 종류를 표시하여 출력한다. (* : 실행 파일, / : 디렉터리, @ : 심볼릭 링크)
  • -R : 모든 하위 디렉터리를 리스트한다.

 

3.5 파일 내용 출력

1) 간단한 파일 만들기

- gedit : GNOME이 제공하는 GUI 기반 문서편집기

- cat 명령어

$ cat > 파일
  • 표준입력 내용을 모두 파일에 저장한다. 파일이 없으면 새로 만든다.
  • 표준 입력 종료 : ^D

- touch 명령어

$ touch 파일
  • 파일의 크기가 0인 이름만 있는 빈 파일을 만들어 준다.

2)파일 내용 출력

- 파일 내용 출력과 관련된 명령어들 : cat, more, head, tail, wc 등

$ 명령어 파일, $ 명령어 파일*

- cat 명령어

$ cat [-n] 파일*
  • 파일의 내용을 그대로 화면에 출력한다.
  • 파일을 지정하지 않으면 표준입력 내용을 그대로 화면에 출력한다.

- more 명령어

$ more 파일+
  • 파일(들)의 내용을 페이지 단위로 화면에 출력한다.

- head 명령어

$ head [-n] 파일*
  • 파일(들)의 앞 부분을 화면에 출력한다.
  • 파일을 지정하지 않으면 표준입력 내용을 대상으로 한다.

- tail 명령어

$ tail [-n] 파일*
  • 파일(들)의 뒷 부분을 화면에 출력한다.
  • 파일을 지정하지 않으면 표준입력 내용을 대상으로 한다.

- wc 명령어

$ wc [-lwc] 파일*
  • 파일에 저장된 줄(l), 단어(w), 문자(c)의 개수를 세서 출력한다.
  • 파일을 지정하지 않으면 표준입력 내용을 대상으로 한다.