os
- 운영체제의 정보를 담고 있음
- 모듈은 require로 가져옴(내장 모듈이라 경로 대신 이름만 적어줘도 됨)
os.arch(): process.arch와 동일합니다.
os.platform(): process.platform과 동일합니다.
os.type(): 운영체제의 종류를 보여줍니다.
os.uptime(): 운영체제 부팅 이후 흐른 시간(초)을 보여줍니다. process.uptime()은 노드의 실행 시간이었습니다.
os.hostname(): 컴퓨터의 이름을 보여줍니다.
os.release(): 운영체제의 버전을 보여줍니다.
os.homedir(): 홈 디렉터리 경로를 보여줍니다.
os.tmpdir(): 임시 파일 저장 경로를 보여줍니다.
os.cpus(): 컴퓨터의 코어 정보를 보여줍니다.
os.freemem(): 사용 가능한 메모리(RAM)를 보여줍니다.
os.totalmem(): 전체 메모리 용량을 보여줍니다.
os 모듈의 메소드
메소드설명
os.hostname() | 컴퓨터의 이름을 리턴 |
os.type() | 운영체제의 이름을 리턴 |
os.platform() | 운영체제의 플랫폼을 리턴 |
os.arch() | 운영체제의 아키텍처를 리턴 |
os.release() | 운영체제의 버전을 리턴 |
os.uptime() | 운영체제가 실행된 시간을 리턴 |
os.loadavg() | 로드 에버리지 정보를 담은 배열 리턴 |
os.totalmem() | 시스템의 총 메모리를 리턴 |
os.freemem() | 시스템의 사용 가능한 메모리를 리턴 |
os.cpus() | CPU의 정보를 담은 객체를 리턴 |
os.getNetworkInterfaces() | 네트워크 인터페이스의 정보를 담은 배열 리턴 |
path
- 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈
- 운영체제별로 경로 구분자가 다름(Windows: ‘\’, POSIX: ‘/’)
path.sep: 경로의 구분자입니다. Windows는 \, POSIX는 /입니다.
path.delimiter: 환경 변수의 구분자입니다. process.env.PATH를 입력하면 여러 개의 경로가 이 구분자로 구분되어 있습니다. Windows는 세미콜론(;)이고 POSIX는 콜론(:)입니다.
path.dirname(경로): 파일이 위치한 폴더 경로를 보여줍니다.
path.extname(경로): 파일의 확장자를 보여줍니다.
path.basename(경로, 확장자): 파일의 이름(확장자 포함)을 보여줍니다. 파일의 이름만 표시하고 싶다면 basename의 두 번째 인자로 파일의 확장자를 넣어주면 됩니다.
path.parse(경로): 파일 경로를 root, dir, base, ext, name으로 분리합니다.
path.format(객체): path.parse()한 객체를 파일 경로로 합칩니다.
path.normalize(경로): /나 \를 실수로 여러 번 사용했거나 혼용했을 때 정상적인 경로로 변환해줍니다.
path.isAbsolute(경로): 파일의 경로가 절대경로인지 상대경로인지 true나 false로 알려줍니다.
path.relative(기준경로, 비교경로): 경로를 두 개 넣으면 첫 번째 경로에서 두 번째 경로로 가는 방법을 알려줍니다.
path.join(경로, .. .): 여러 인자를 넣으면 하나의 경로로 합쳐줍니다. 상대경로인 ..(부모 디렉터리)과 .(현 위치)도 알아서 처리해줍니다.
path.resolve(경로, .. .): path.join()과 비슷하지만 차이가 있습니다.
join과 resolve의 차이: resolve는 /를 절대경로로 처리, join은 상대경로로 처리
상대 경로: 현재 파일 기준. 같은 경로면 점 하나(.), 한 단계 상위 경로면 점 두 개(..)
\\와 \ 차이: \는 윈도 경로 구분자, \\는 자바스크립트 문자열 안에서 사용(\가 특수문자라 \\로 이스케이프 해준 것)
윈도에서 POSIX path를 쓰고 싶다면: path.posix 객체 사용
POSIX에서 윈도 path를 쓰고 싶다면: path.win32 객체 사용
'Node' 카테고리의 다른 글
DNS 모듈 (0) | 2024.01.30 |
---|---|
url 모듈 (0) | 2024.01.30 |
노드 내장 객체 process (0) | 2024.01.29 |
노드 내장 객체(global, console, 타이머) (0) | 2024.01.28 |
다이나믹 임포트 (0) | 2024.01.24 |