Node/노드 기능

os와 path

webmaster 2022. 7. 24. 13:49
728x90

https://nodejs.org/dist/latest-v16.x/docs/api/os.html

 

OS | Node.js v16.16.0 Documentation

Source Code: lib/os.js The os module provides operating system-related utility methods and properties. It can be accessed using: const os = require('os'); os.EOL# Added in: v0.7.8 The operating system-specific end-of-line marker. \n on POSIX \r\n on Window

nodejs.org

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(): 전체 메모리 용량을 보여줍니다.

Path

폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈

운영체제별로 경로 구분자가 다름(Windows: ‘\’, POSIX: ‘/’)

  • \\와 \ 차이: \는 윈도 경로 구분자, \\는 자바스크립트 문자열 안에서 사용(\가 특수문자라 \\로 이스케이프 해준 것)
  • 윈도에서 POSIX path를 쓰고 싶다면: path.posix 객체 사용
  • POSIX에서 윈도 path 쓰고 싶다면: path.win32 객체 사용

메서드

  • 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은 상대경로로 처리
    • 상대 경로: 현재 파일 기준. 같은 경로면 점 하나(.), 한 단계 상위 경로면 점 두 개(..)
    • 절대 경로는 루트 폴더나 노드 프로세스가 실행되는 위치가 기준
728x90

'Node > 노드 기능' 카테고리의 다른 글

crypto와 util  (0) 2022.07.24
Url과 querystring  (0) 2022.07.24
process  (0) 2022.07.23
모듈 심화, 순환 참조  (0) 2022.07.23
_filename, _dirname, exports와 this  (0) 2022.07.23