Operating System(2)
- A console is a command-line interface(CLI) that allows users to interact with the computer's operating system through text commands.
File
- 컴퓨터를 사용하기 위해 필요한 정보들이 담김.
- 컴퓨터에서 사용되는 data 저장의 기본단위
File Name Extension
- 파일에 포함된 정보의 종류 및 해당 파일을 열기 위한 연결 프로그램을 파악하는데 도움.
- 파일명과 확장자는
.
으로 구분됨.
파일 이름 길이 및 사용불가 문자
- Windows 7 기준으로 한 경로의 길이는 260자로 제한.
\
, /
, ?
,:
, *
, "
, <
, >
, |
Folder and Directory
Folder(탐색기 위주)
- 윈도우 등의 GUI 환경에서 여러가지 종류의 파일을 저장하고 있는 곳
Directory(terminal or cmd 위주)
- 도스나 리눅스 등에서 여러가지 종류의 파일을 저장하고 있는 곳
- Folder와 거의 유사한 개념으로 쉽게 생각해서 directory는 CLI 기반에서 주로 사용되던 용어로 봐도 됨.
Folder vs Directory
- 윈도우 환경에서의 네트워크 환경 같은 folder는 특수 폴더로 cmd 등에서 보이지 않음
- folder가 directory보다 더 큰 개념이라 볼 수 있음.
Path
- 파일 시스템 내에서 특정 파일(혹은 디렉토리)의 위치를 나타내는 양식
Absolute Path
- 현 작업 디렉토리(cwd)와 관계없이 절대적 위치
드라이브:\폴더\폴더\파일명
(windows)
/디렉토리/디렉토리/파일명
(linux)
Relative Path
- cwd를 기준으로 상대적 위치를 가르킴
..\drivers\etc\hosts
Disk
- 윈도우에서 시스템에 장착된 storage
- Partition(or volume)으로 나뉘어 사용됨.
- Magnetic disk로 둥근 원반에 자성을 가진 물체를 입히고 그 표면에 자력을 이용하여 데이터를 기록하고 자기장의 변화를 통해 데이터를 읽는 방식의 자기기록 매체
- 플로피 디스크 드라이브, ZIP 드라이브, 하드 디스크 드라이브 등
cf) Disc
- 광 디스크(Optical Disc)로 둥근 원반에 얇은 반사체를 입힌 후 레이저를 이용하여 홈을 파서 데이터를 기록하고 레이저 반사의 변화를 통해 데이터를 읽는 방식의 광학 기록 매체
- CD, DVD, 블루레이 등
Disk 종류(1)
- Fixed Disk : 시스템에 장착되어 이동불가인 디스크. SSD, SATA, IDE 등
- Removable Disk : 이동식 디스크. USB, e-SATA 등
- Virtual Disk : 가상 디스크. Daemon이나 ISO tool 등
- Raid Disk : 여러 물리적 디스크가 하나의 디스크로 인식되도록 array로 묶음.
Disk 종류(2) : Window OS
기본 디스크
- Primary partition, Extended partition, Logical Drive를 사용하여 데이터 구성
- 포맷된 partition을 volume이라고 함.
- 기본 디스크 상에서 volume과 partition은 동의어
동적 디스크
- 기본 디스크의 primary partition처럼 동작하는 동적 volume을 포함
- 소프트웨어 기반 레이드
Partition
- Windows7 이상에서는 사용하지 않는 용어임
- 디스크의 공간을 논리적으로 분할하여 별도의 데이터 영역으로 분할한 공간
- 별도의 디스크처럼 동작하는 컴퓨터 하드 디스크의 일부
Volume
- 파일 시스템으로 포맷된 디스크 상의 저장 영역
- 일반적으로 드라이브 문자를 지정받아 드라이브가 됨.
- 기본 디스크에선 하나의 partition이 하나의 volume
- 엄밀하게는 조금 다르지만 거의 partition으로 생각
Drive
- 파일 시스템에서 포맷하여 드라이브 문자가 지정된 볼륨.
- 드라이브 문자가 지정된 저장영역
Windows 명령어
- 더 자세한 건
help
명령어를 사용하여 알아볼 수 있음.
ex) help copy
, help del
...
File 관련
File 목록 표시
dir
dir c:
- 디스크 드라이브(c)에 있는 파일 목록을 보고 싶은 경우
- 해당 디스크 드라이브에 들어있는 파일 이름, 크기, 생성일자 및 일시 등을 나타내는 리스트를 출력.
dir *.txt
- 현재 경로(cwd)에서
.txt
확장자를 가진 파일 리스트를 출력
File 내용 출력
type [file name]
- 텍스트 파일의 내용을 보고 싶을 때 사용
- 파일이 매우 클 경우
more
를 이용하여 나누어 출력 가능.
File 복사
copy [option] source destination
copy [option] source[+...] destination
- 파일 단위로 복사 수행
- 파일의 결합에도 사용 가능함.
- 옵션에는
/a(아스키 파일)
, /b(binary 파일)
이 있음.
File 지우기
del [option] [file name]
erase [option] [file name]
- 하나 이상의 파일 또는 디렉토리를 지움.
*
등의 문자를 이용하면 복수의 파일 삭제
- 옵션에는 각 파일을 삭제하기 전에 물어보게 하는
/p
등이 있음.
File 이름 바꾸기
ren [file name1] [file name2]
- file name1의 이름을 file name2로 바꿈.
- 확장자도 변경 가능.
Directory 관련
directory 이동 및 현재 directory 출력
cd [target_dir_path]
target_dir_path
로 이동
- cwd(or pwd)를
target_dir_path
로 바꿈.
cd
- argument 없이 위와 같이 입력할 경우 현재 cwd 경로를 출력해줌.
directory 생성
mkdir [new_dir_path]
new_dir_path
에 해당하는 directory를 생성한다.
- 이미 있는 경우 error 출력됨.
directory 삭제
rmdir [target_dir_path]
target_dir_path
에 해당하는 directory를 삭제함.
- 비어있는 directory만 삭제 가능함.
del
or erase
로 directory를 지정할 경우 해당 directory 하위 파일 등을 모두 지울지를 물어보며 y
를 통해 전부 삭제 후 rmdir
로 directory 제거
Etc
화면 지우기
cls
- command prompt window에 출력된 내용이 너무 많은 경우 사용
문자열 출력
echo [option] [문자열]
[문자열]
을 stdout(standard output,보통 모니터)에 출력
- redirection
>
, >>
을 통해 특정 파일에 문자열 입력 가능(>>
의 경우 추가)
echo %PATH%
와 같이 환경변수 PATH의 내용을 출력하는 데에도 사용
echo [on/off]
- cmd 창의 command를 보여주기/없애기를 할 수 있음.
echo
명령어를 통해 현재 echo가 설정되어 있는지를 확인할 수 있음.
날짜 및 시간
date
time
- 날짜와 시간을 보여줌
- 변경이 가능하며 변경을 원치 않으면 enter 입력
Linux 명령어
- cmd 창에서
bash
명령어를 통해 바로 ubuntu 기능을 실행할 수 있음.
현재 directory 확인
pwd
pwd
(print working directory) 명령어를 이용
- 현재 위치 확인. 즉, 현재 directory의 절대 경로를 출력함.
directory 이동
cd [target directory path]
- 다른 사용자의 접근을 막아 놓은 directory를 제외하고는 어느 디렉토리로든 이동 가능.
- 현재 directory를 변경
디렉토리 내용 보기
ls [option] [file or dir path]
- directory에 있는 파일이나 sub directory 등 directory의 내용을 보는 명령어는
ls(list)
이다.
Option
-a
: 숨김 파일을 포함한 모든 파일 목록 출력
-d
: 지정한 directory 자체의 정보를 출력
-i
: 첫 번째 행에 inode 번호를 출력
-l
: 파일의 상세 정보를 출력
-A
: .
과 ..
를 제외한 모든 파일 목록을 출력
-F
: 파일의 종류 표시(*
: 실행파일, /
: directory, @
: 심벌릭 링크
-L
: 심벌릭 링크 파일의 경우 원본 파일의 정보를 출력
-R
: 하위 directory 목록까지 출력
directory 만들기
mkdir [option] [directory path]
- directory를 생성하는 명령어
-p
는 하위 directory를 계층적으로 생서알 때 중간 단계의 directory가 없으면 자동으로 중간 단계 directory를 생성하면서 전체 directory를 생산하는 option.
directory 삭제하기
rmdir [option] [directory path]
- directory를 삭제하는 명령어
-p
는 지정한 directory를 삭제한 뒤, 그 directory의 부모 directory가 빈 directory일 경우 부모 directory도 자동으로 삭제해주는 option.
file or directory 삭제
rm [option] [target path]
- file이나 directory를 삭제하는 명령어
Option
-r
: directory가 target일 경우 사용. target 밑의 하위 directory 및 file을 모두 제거
-i
: 삭제할 때마다 삭제 여부를 물어봄
-f
: 삭제 여부를 물어보지 않고 강제로 지움. 존재하지 않는 파일인 경우에도 명령어가 수행
복사
cp [option] [src path/target path]
이름변경 또는 이동
mv [option] [src path/target path]
- file이나 directory를 이동시키거나 이름을 변경시킴.
text 출력
cat [target]
특정 패턴 검색
grep [pattern]
file 권한 변경
chmod [mode] [target]
- file 또는 directory 소유자, 그룹, 사용자 등의 권한 변경
- 권한은 rwx(read,write,execute)를 나타내는 binary를 8진수로 바꾸어 표시
- 소유자(
u
), 그룹(g
), 그외 사용자(o
) 순으로 지정
chmod 777 [target path]
- 위처럼 입력할 경우
target path
에 대해 모든 사용자(a
)가 read, write, execute 가능
chmod g+x [target path]
target path
에 대해 group들에 실행(x
) 권한을 줌.
chmod a=r [target path]
target path
에 대해 모든 사용자가 읽기(r
)가 가능
chmod go-rwx [target path]
target path
에 대해 group과 그외 사용자들의 모든 권한을 제거함.
소유자 변경
chown [option] [user][:group] [target path]
프로세스 및 리소스 모니터링
top
- 시스템의 현재 작동 중인 프로세스 목록과 시스템 리소스 사용량 표시
네트워크 인터페이스 정보 확인
ifconfig
- 네트워크 인터페이스의 정보 표시
- windows에서는 이와 유사한
ipconfig
명령어를 사용함.
References:
1) https://dsaint31.me/mkdocs_site/OS