교재 : 리눅스 시스템 원리와 실제 (창병모, 생능출판)
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)의 개수를 세서 출력한다.
- 파일을 지정하지 않으면 표준입력 내용을 대상으로 한다.
'전공과목 정리 > 리눅스시스템 + 시스템프로그래밍' 카테고리의 다른 글
[리눅스시스템🐧] 6장 프로세스 (4) | 2024.01.03 |
---|---|
[리눅스시스템🐧] 5장 쉘과 명령어 사용 (2) | 2024.01.03 |
[리눅스시스템🐧] 4장 파일 사용 (2) | 2024.01.02 |
[리눅스시스템🐧] 2장 X 윈도우와 데스크톱 환경 (2) | 2023.12.28 |
[리눅스시스템🐧] 1장 유닉스/리눅스 소개 (2) | 2023.12.28 |