# path

***

**1. Get Absolute Path**

```js
const path = require('path');

const absolutePath = path.resolve(__dirname, 'test.txt');
console.log(absolutePath); // /Users/username/Documents/test.txt
```

**2. Get File Name**

```js
const path = require('path');

const fileName = path.basename('/Users/username/Documents/test.txt');
console.log(fileName); // test.txt
```

**3. Get File Extension**

```js
const path = require('path');

const fileExtension = path.extname('/Users/username/Documents/test.txt');
console.log(fileExtension); // .txt
```

**4. Get Directory Name**

```js
const path = require('path');

const directoryName = path.dirname('/Users/username/Documents/test.txt');
console.log(directoryName); // /Users/username/Documents
```

**5. Join Paths**

```js
const path = require('path');

const joinedPath = path.join('/Users/username/Documents', 'test.txt');
console.log(joinedPath); // /Users/username/Documents/test.txt
```

**6. Resolve Relative Path**

```js
const path = require('path');

const resolvedPath = path.resolve('test.txt');
console.log(resolvedPath); // /Users/username/Documents/test.txt
```

**7. Normalize Path**

```js
const path = require('path');

const normalizedPath = path.normalize('/Users/username/../Documents/test.txt');
console.log(normalizedPath); // /Users/username/Documents/test.txt
```

**8. Is Absolute Path**

```js
const path = require('path');

const isAbsolutePath = path.isAbsolute('/Users/username/Documents/test.txt');
console.log(isAbsolutePath); // true
```

**9. Is Relative Path**

```js
const path = require('path');

const isRelativePath = path.isRelative('test.txt');
console.log(isRelativePath); // true
```

**10. Get Root**

```js
const path = require('path');

const root = path.parse('/Users/username/Documents/test.txt').root;
console.log(root); // /
```

**11. Get Base**

```js
const path = require('path');

const base = path.parse('/Users/username/Documents/test.txt').base;
console.log(base); // test.txt
```

**12. Get Dir**

```js
const path = require('path');

const dir = path.parse('/Users/username/Documents/test.txt').dir;
console.log(dir); // /Users/username/Documents
```

**13. Get Ext**

```js
const path = require('path');

const ext = path.parse('/Users/username/Documents/test.txt').ext;
console.log(ext); // .txt
```

**14. Get Name**

```js
const path = require('path');

const name = path.parse('/Users/username/Documents/test.txt').name;
console.log(name); // test
```

**15. Create Folder**

```js
const fs = require('fs');
const path = require('path');

const folderPath = path.resolve(__dirname, 'new-folder');
fs.mkdirSync(folderPath);
```

**16. Delete Folder**

```js
const fs = require('fs');
const path = require('path');

const folderPath = path.resolve(__dirname, 'new-folder');
fs.rmdirSync(folderPath);
```

**17. Create File**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
fs.writeFileSync(filePath, 'Hello world!');
```

**18. Read File**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
console.log(fs.readFileSync(filePath, 'utf-8')); // Hello world!
```

**19. Append to File**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
fs.appendFileSync(filePath, '\nHello again!');
```

**20. Delete File**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
fs.unlinkSync(filePath);
```

**21. Copy File**

```js
const fs = require('fs');
const path = require('path');

const sourcePath = path.resolve(__dirname, 'new-file.txt');
const destinationPath = path.resolve(__dirname, 'new-file-copy.txt');
fs.copyFileSync(sourcePath, destinationPath);
```

**22. Rename File**

```js
const fs = require('fs');
const path = require('path');

const oldPath = path.resolve(__dirname, 'new-file.txt');
const newPath = path.resolve(__dirname, 'renamed-file.txt');
fs.renameSync(oldPath, newPath);
```

**23. Check if File Exists**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
console.log(fs.existsSync(filePath)); // true
```

**24. Get File Size**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
console.log(fs.statSync(filePath).size); // 13
```

**25. Get Last Modified Date**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
console.log(fs.statSync(filePath).mtime); // 2023-03-08T18:30:00.000Z
```

**26. List Files in Directory**

```js
const fs = require('fs');
const path = require('path');

const directoryPath = path.resolve(__dirname, 'new-folder');
console.log(fs.readdirSync(directoryPath)); // ['renamed-file.txt']
```

**27. Iterate Over Files in Directory**

```js
const fs = require('fs');
const path = require('path');

const directoryPath = path.resolve(__dirname, 'new-folder');
fs.readdirSync(directoryPath).forEach((file) => {
  console.log(file); // renamed-file.txt
});
```

**28. Get Parent Directory**

```js
const path = require('path');

const parentDirectory = path.resolve(__dirname, '..');
console.log(parentDirectory); // /Users/username
```

**29. Get Current Working Directory**

```js
const path = require('path');

console.log(path.cwd()); // /Users/username/Documents/project
```

**30. Change Current Working Directory**

```js
const path = require('path');

path.chdir('/Users/username/Documents/new-project');
console.log(path.cwd()); // /Users/username/Documents/new-project
```

**31. Get Unix File Permissions**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
console.log(fs.statSync(filePath).mode); // 420
```

**32. Set Unix File Permissions**

```js
const fs = require('fs');
const path = require('path');

const filePath = path.resolve(__dirname, 'new-file.txt');
fs.chmodSync(filePath, 0o644);
```

**33. Get Process CWD**

```js
const { cwd } = require('process');

console.log(cwd()); // /Users/username/Documents/project
```

**34. Get Home Directory**

```js
const os = require('os');

console.log(os.homedir()); // /Users/username
```

**35. Get Temporary Directory**

```js
const os = require('os');

console.log(os.tmpdir()); // /Users/username/Library/Caches/com.apple.Safari/SafariCache.db
```

**36. Get Path to Module**

```js
const path = require('path');

const modulePath = path.dirname(require.main.filename);
console.log(modulePath); // /Users/username/Documents/project/src
```
