ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๐Ÿ… Ch04 File System ๐Ÿ…
    ๐Ÿฎ ํ•™๊ต ๊ณต๋ถ€/๐Ÿ… ์œ ๋‹‰์Šค ์‹œ์Šคํ…œ 2025. 4. 3. 10:34

    File System

    ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ (Disk Drive)

    ๋ฌผ๋ฆฌ์  ์ €์žฅ์žฅ์น˜(ํ•˜๋“œ ๋””์Šคํฌ, SSD ๋“ฑ)

    ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ๊ฐ์˜ ํŒŒํ‹ฐ์…˜์— ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ

    ํŒŒ์ผ ์‹œ์Šคํ…œ (File System)

    ๊ฐ ํŒŒํ‹ฐ์…˜์—๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋จ / ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ด€๋ฆฌ

    ์—ฌ๋Ÿฌ ๊ฐœ์˜ Cylinder Group์œผ๋กœ ๋‚˜๋‰จ / ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋ž™, ์„นํ„ฐ๋กœ ๊ตฌ์„ฑ๋จ. ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ผ ์ €์žฅํ•ด ์„ฑ๋Šฅ ์ตœ์ ํ™”

    ๋ถ€ํŠธ ๋ธ”๋ก (Boot Block)

    ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋œ ํŒŒํ‹ฐ์…˜์˜ ์ฒซ ๋ฒˆ์งธ ์˜์—ญ์— ์œ„์น˜

    ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…๋  ๋•Œ ์šด์˜ ์ฒด์ œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

    ์Šˆํผ ๋ธ”๋ก (Super Block)

    ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ๋””ํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์˜์—ญ

    ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํฌ๊ธฐ, ๋ธ”๋ก ํฌ๊ธฐ, ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ธ”๋ก ์ˆ˜, i-node ์ˆ˜ ๋“ฑ ์ค‘์š”ํ•œ ์ •๋ณด ํฌํ•จ

    ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์†์ƒ → ์Šˆํผ ๋ธ”๋ก์˜ ๋ฐฑ์—… ํ†ตํ•ด ๋ณต๊ตฌ ๊ฐ€๋Šฅ

    Cylinder Group (์‹ค๋ฆฐ๋” ๊ทธ๋ฃน)

    ๋””์Šคํฌ์˜ ์ผ๋ถ€๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

    ์Šˆํผ ๋ธ”๋ก ๋ณต์‚ฌ๋ณธ / cg info / i-node ๋งต / ๋ธ”๋ก ๋น„ํŠธ๋งต / i-node fltmxm / ๋ฐ์ดํ„ฐ ๋ธ”๋ก ๊ฐ™์€ ์š”์†Œ ํฌํ•จ

    Unix File System

    ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ (/)

    ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ

    ๋ชจ๋“  ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŒŒ์ผ์€ / ์•„๋ž˜์— ์กด์žฌ

    ์ฃผ์š” ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ

    bin - ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ(๋ช…๋ น์–ด)

    etc - ์‹œ์Šคํ…œ ์„ค์ • ํŒŒ์ผ

    home - ์‚ฌ์šฉ์ž ๊ณ„์ •๋ณ„ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ (๋ณ„๋„ ํŒŒํ‹ฐ์…˜)

    usr - ์‹œ์Šคํ…œ ๋ฐ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ ์ €์žฅ์†Œ (๋ณ„๋„ ํŒŒํ‹ฐ์…˜)

    /home ํŒŒํ‹ฐ์…˜

    ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„

    /home์„ ๋ณ„๋„์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ด์œ 

      ์šด์˜์ฒด์ œ์™€ ๋…๋ฆฝ์  ๊ด€๋ฆฌ ๊ฐ€๋Šฅ (OS ์žฌ์„ค์น˜ ์‹œ์—๋„ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์œ ์ง€)
      ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ (๋””์Šคํฌ ๊ณต๊ฐ„ ๋ถ€์กฑ ์‹œ์—๋„ OS ์˜ํ–ฅ ์ตœ์†Œํ™”)

    /usr ํŒŒํ‹ฐ์…˜

    ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

    ์ฃผ์š” ๋””๋ ‰ํ„ฐ๋ฆฌ

    bin - ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํŒŒ์ผ

    lib - ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

    /usr์„ ๋ณ„๋„์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ด์œ 

      ์ฃผ๋กœ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด ๋ณด์•ˆ, ์•ˆ์ •์„ฑ ์ฆ๊ฐ€
      ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์—์„œ ๊ณต์œ  ๊ฐ€๋Šฅ

    i-node and data block

    i-node

    ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

    Unix directory tree

    ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ (/)

    ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ

    ๋ชจ๋“  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” / ์•„๋ž˜์— ์œ„์น˜

    ์ฃผ์š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ์—ญํ• 

    /dev (devieces) - ์‹œ์Šคํ…œ์˜ ์žฅ์น˜ ํŒŒ์ผ (ํ•˜๋“œ๋””์Šคํฌ, ํ‚ค๋ณด๋“œ, ํ”„๋ฆฐํ„ฐ)

    /etc (system files) - ์‹œ์Šคํ…œ ์„ค์ • ํŒŒ์ผ ๋ฐ ๊ตฌ์„ฑ ํŒŒ์ผ ์ €์žฅ

    /bin (programs) - ํ•„์ˆ˜ ์‹คํ–‰ ํŒŒ์ผ ์ €์žฅ (ex) cp, sh, ls)

    /lib (libraries) - ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ €์žฅ

    /usr/bin (programs) - ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ €์žฅ

    /usr/lib (libraries) - ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ €์žฅ

    /usr/include (headers) - C ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์˜ํ•œ ํ—ค๋” ํŒŒ์ผ(ex)stdio.h) ์ €์žฅ

    /home (user directories) - ๊ฐ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ

    Root directory (1) ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ

    /

    root directory of the entire file system hierarchy

    ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ตœ์ƒ์œ„(root) ๋””๋ ‰ํ„ฐ๋ฆฌ

    /devices

    physical device files

    ๋ฏˆ๋ฆฌ์  ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํŒŒ์ผ๋“ค์ด ์ €์žฅ๋จ

    CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋„คํŠธ์›Œํฌ ์นด๋“œ, ๋””์Šคํฌ ๋“ฑ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต

    /dev

    logical device files

    ์šด์˜์ฒด์ œ์—์„œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋””๋ฐ”์ด์Šค ํŒŒ์ผ ์ €์žฅ

    ์žฅ์น˜๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŒŒ์ผ์ฒ˜๋Ÿผ ์ ‘๊ทผ ๊ฐ€๋Šฅ

    /etc

    host-specific system-wide configuration files – /etc is referred to as the etcetera directory, as this directory historically held everything that did not belong elsewhere. Recent interpretations include backronyms such as "Editable Text Configuration" or "Extended Tool Chest"

    ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์„ค์ • ํŒŒ์ผ๊ณผ ์Šคํฌ๋ฆฝํŠธ ์ €์žฅ

    /mnt

    temporarily mounted filesystems.

    ์ž„์‹œ๋กœ ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์œ„์น˜ํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ

    ์™ธ๋ถ€ ์žฅ์น˜(USB, ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ ๋“ฑ)์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ

    ๊ด€๋ฆฌ์ž๊ฐ€ ํŠน์ • ๋ชฉ์ ์„ ์œ„ํ•ด ๋งˆ์šดํŠธํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ / ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ X

    /opt

    optional application software packages

    ์ถ”๊ฐ€์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ

    ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€๊ฐ€ ์•„๋‹Œ ์ œ3์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„ค์น˜๋จ

    /proc

    virtual filesystem providing process and kernel information as files

    ์šด์˜์ฒด์ œ์˜ ํ”„๋กœ์„ธ์Šค ๋ฐ ์ปค๋„ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ

    ๋ฌผ๋ฆฌ์ ์ธ ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ

    ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค ์ •๋ณด ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ

    /tmp

    temporary files. Not preserved between system reboots.

    ์ž„์‹œ ํŒŒ์ผ ์ €์žฅ ๊ณต๊ฐ„

    ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ… ์‹œ ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋‚ด์šฉ ์‚ญ์ œ๋จ

    ์ผ์‹œ์ ์ธ ํŒŒ์ผ ์ €์žฅ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ ์ €์žฅ์— ์‚ฌ์šฉ๋จ

    Root directory (2)

    /bin

    command binaries (same with /usr/bin)

    binary

    ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…๋  ๋•Œ ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋“ค์ด ์žˆ์Œ

    /sbin

    Non-essential system binaries, e.g., daemons for various network-services.

    system binary ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์šฉ ๋ช…๋ น์–ด๋“ค

    ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋ณด๋‹ค๋Š” root(๊ด€๋ฆฌ์ž)๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ์œ„์น˜

    /bin - ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๋ช…๋ น์–ด /sbin - ์‹œ์Šคํ…œ์šฉ ๋„๊ตฌ

    /usr

    used for miscellaneous purpose – /usr/bin, /usr/lib, /usr/include

    Unix System Resourses

    ๋ถ€ํŒ… ํ›„ ์‚ฌ์šฉํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ—ค๋” ํŒŒ์ผ ๋“ฑ์„ ๋‹ด๊ณ  ์žˆ์Œ

    ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋งŽ์ด ๋“ค์–ด ์žˆ์Œ

    /lib

    libraries for the binaries in /usr/bin/ and /usr/sbin/ (same with /usr/lib)

    ๊ณตํ†ต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ

    /var

    Variable files whose content is expected to continually change during normal operation of the system., such as logs, spool files, and temporary e-mail files.

    variable

    ์ž์ฃผ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๋Š” ํŒŒ์ผ๋“ค์ด ์ €์žฅ๋จ

    /home

    Users' home directories(Now user’s home is in /export/home)

    ์‚ฌ์šฉ์ž๋“ค์ด ์ž์‹ ์˜ ํŒŒ์ผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

    ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฐ€์ง

    /export

    open contains remote file systems

    ์›๊ฒฉ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋งˆ์šดํŠธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ


    Navigating file system

    $ echo hi > hi.txt

    “hi”๋ผ๋Š” ๋ฌธ์ž์—ด ํŒŒ์ผ๋กœ ์ €์žฅ

    ์ถœ๋ ฅ ๋ฆฌ๋””๋ ‰์…˜ ์—ฐ์‚ฐ์ž, ๊ฒฐ๊ณผ๋ฅผ hi.txt๋ผ๋Š” ํŒŒ์ผ์— ์ €์žฅ (ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€์‹ , ์ €์žฅ)

    ์ด๋ฏธ ์กด์žฌํ•˜๋ฉด, ๊ธฐ์กด ๋‚ด์šฉ ๋ฎ์–ด์”€

    $ ls

    ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก ๋ณด๊ธฐ

    $ cat hi.txt

    ํŒŒ์ผ ๋‚ด์šฉ ์ถœ๋ ฅ

    ํŒŒ์ผ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ์— ์ „๋ถ€ ๋ณด์—ฌ์คŒ

    $ more /etc/group

    /etc/group ํŒŒ์ผ์„ ํ•œ ํ™”๋ฉด์”ฉ ์Šคํฌ๋กคํ•˜๋ฉฐ ๋ณด๊ธฐ

    space ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ ํŽ˜์ด์ง€, q ๋ˆ„๋ฅด๋ฉด ์ข…๋ฃŒ

    $ head -5 /etc/hosts

    /etc/hosts ํŒŒ์ผ์˜ ์ฒ˜์Œ 5์ค„๋งŒ ์ถœ๋ ฅ

    $ tail -f /var/log/syslog

    syslog ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง

    -f - follow ๋กœ๊ทธ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ๊ณ„์† ๋ณด์—ฌ์คŒ

    $ pg /etc/profile

    more์™€ ๋น„์Šทํ•œ ํŽ˜์ด์ง€ ๋‹จ์œ„ ํŒŒ์ผ ๋ทฐ์–ด

    ํ‚ค๋ณด๋“œ๋กœ ์Šคํฌ๋กค ๊ฐ€๋Šฅ

    /etc/profile - ๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰๋˜๋Š” ์ „์—ญ ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ

    $ cd /usr/bin

    ํ˜„์žฌ ์œ„์น˜๋ฅผ /usr/bin ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™

    cd - change directory ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋™ ๋ช…๋ น์–ด

    /usr/bin ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํŒŒ์ผ์ด ๋ชจ์—ฌ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ

    $ pwd

    print working directory

    ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ถœ๋ ฅ


    Create file

    $ cp hi.txt hi2.txt

    hi.txt ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ hi2.txt๋กœ ๋งŒ๋“ฆ

    ์›๋ณธ ์œ ์ง€, ๋ณต์‚ฌ๋ณธ ์ƒ์„ฑ

    $ mv hi2.txt hi3.txt

    hi2.txt ํŒŒ์ผ์˜ ์ด๋ฆ„์„ hi3.txt๋กœ ๋ณ€๊ฒฝ

    ๋˜๋Š” ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์ด๋™

    $ rm hi3.txt

    hi3.txt ํŒŒ์ผ ์‚ญ์ œ

    ์‚ญ์ œํ•˜๋ฉด ๋ณต๊ตฌ ๋ถˆ๊ฐ€

    $ touch a.txt

    ๋นˆ ํŒŒ์ผ a.txt ์ƒ์„ฑ

    ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์ด๋ฉด ์ˆ˜์ • ์‹œ๊ฐ„ ๊ฐฑ์‹ 

    $ touch h1.txt

    $ mkdir dir1

    dir1์ด๋ผ๋Š” ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ

    $ mv dir1 dir2

    ๋””๋ ‰ํ„ฐ๋ฆฌ dir1์˜ ์ด๋ฆ„์„ dir2๋กœ ๋ณ€๊ฒฝ

    $ rmdir dir2

    dir2 ๋””๋ ‰ํ„ฐ๋ฆฌ ์‚ญ์ œ (๋น„์–ด ์žˆ์„ ๋•Œ๋งŒ)

    $ whereis echo

    echo ๋ช…๋ น์–ด๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์ „์ฒด์ ์œผ๋กœ ์ฐพ์Œ

    ์‹คํ–‰ ํŒŒ์ผ, ์†Œ์Šค ์ฝ”๋“œ, ๋ฉ”๋‰ด์–ผ ํŽ˜์ด์ง€ ์œ„์น˜๋ฅผ ๋ชจ๋‘ ๋ณด์—ฌ์คŒ

    $ which echo

    ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ์‰˜์—์„œ ์‹ค์ œ๋กœ ์‹คํ–‰๋  ๋ช…๋ น์–ด ์œ„์น˜๋งŒ ์•Œ๋ ค์คŒ

    Create text file

    $ echo hi > hi.txt

    “hi”๋ผ๋Š” ๋ฌธ์ž์—ด ํŒŒ์ผ๋กœ ์ €์žฅ

    • ์ถœ๋ ฅ ๋ฆฌ๋””๋ ‰์…˜ ์—ฐ์‚ฐ์ž, ๊ฒฐ๊ณผ๋ฅผ hi.txt๋ผ๋Š” ํŒŒ์ผ์— ์ €์žฅ

    ์ด๋ฏธ ์กด์žฌํ•˜๋ฉด, ๊ธฐ์กด ๋‚ด์šฉ ๋ฎ์–ด์”€

    $ echo hello >> hi.txt

    “hello”๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ hi.txt ํŒŒ์ผ์— ์ถ”๊ฐ€

    • ๋ง๋ถ™์ด๊ธฐ ์—ฐ์‚ฐ์ž

    $ cp hi.txt hello.txt

    hi.txt ํŒŒ์ผ ๋ณต์‚ฌํ•ด hello.txt๋ผ๋Š” ์ƒˆ ํŒŒ์ผ ๋งŒ๋“ฆ

    $ cat > aa.txt

    Good morning

    See you~

    ^d

    ์ง์ ‘ ์ž…๋ ฅํ•œ ๋‚ด์šฉ ํŒŒ์ผ๋กœ ์ €์žฅ

    ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋ฐ›๋‹ค๊ฐ€ Ctrl+D ๋ˆ„๋ฅด๋ฉด ์ €์žฅ ์ข…๋ฃŒ

    $ cat aa.txt

    aa.txt ํŒŒ์ผ์˜ ๋‚ด์šฉ ์ถœ๋ ฅ

    $ head -5 /etc/passwd > pass.txt

    /etc/passwd ํŒŒ์ผ์—์„œ ์ฒ˜์Œ 5์ค„๋งŒ ์ถ”์ถœํ•ด์„œ pass.txt์— ์ €์žฅ


    touch

    $ echo Hello > h.txt

    $ touch aa.txt

    aa.txt is a new file name

    create a file of size zero(0)

    $ touch h.txt

    h.txt is existing file

    change last edit time to now


    cp and mv

    $ cp hi.txt hi2.txt

    $ cp hi.txt dir1

    hi.txt ํŒŒ์ผ์„ ๋””๋ ‰ํ„ฐ๋ฆฌ dir1 ์•ˆ์œผ๋กœ ๋ณต์‚ฌ

    → dir1/hi.txt ํŒŒ์ผ ์ƒ์„ฑ

    $ cp hi.txt dir1/hi3.txt

    hi.txt๋ฅผ dir1 ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— hi3.txt๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณต์‚ฌ

    $ mv h1.txt hi2.txt

    ์ด๋ฆ„ ๋ณ€๊ฒฝ

    $ mv hi.txt dir1

    dir ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์œผ๋กœ ์ด๋™

    $ mv hi.txt dir1/hi2.txt

    $ mv dir1 dir2

    dir1์ด๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ด๋ฆ„์„ dir2๋กœ ๋ณ€๊ฒฝ


    rm

    $ remove file

    $ rm h*.txt

    remove text file starting with h

    h๋กœ ์‹œ์ž‘ํ•˜๊ณ  .txt๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ํŒŒ์ผ ์‚ญ์ œ

    $ rm dir1/*.txt

    remove all files in dir1 directory

    dir1 ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— ์žˆ๋Š” .txt ํŒŒ์ผ ์ „๋ถ€ ์‚ญ์ œ

    ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ์Œ

    $ rm -rf dir1

    remove all files in dir1 directory and remove dir1 without asking at one time (must be careful)

    dir1 ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ทธ ์•ˆ์˜ ๋ชจ๋“  ํŒŒ์ผ, ํด๋” ์ „๋ถ€ ์ฆ‰์‹œ ์‚ญ์ œ

    ๋ณต๊ตฌ ๋ถˆ๊ฐ€๋Šฅ / ํ™•์ธ ๋ฉ”์‹œ์ง€ X

    If ($ rmdir dir1) fails

    remove all files and subdirectory in dir

    remove dir1


    ls -l

    $ ls —l

    ๋””๋ ‰ํ„ฐ๋ฆฌ, ํŒŒ์ผ์˜ ์ƒ์„ธ ์ •๋ณด ์ถœ๋ ฅ

    -rw-r--r-- 1 unix300 other   3 3์›”30์ผ00:03 hi.txt
    drwxr-xr-x 2 unix300 other 513 3์›”23์ผ00:39 dir1

    File type : permission : link numer : owner : group : last edittong time : file name

    ๊ถŒํ•œ : ๋งํฌ์ˆ˜ : ์†Œ์œ ์ž : ๊ทธ๋ฃน : ํฌ๊ธฐ(byte) / ๋‚ ์งœ, ์‹œ๊ฐ„ / ์ด๋ฆ„

    FIle types

    First character of ‘ls —l’ command

    ls -l ๋ช…๋ น์–ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž - ํŒŒ์ผ ์ข…๋ฅ˜ ํŒ๋ณ„

    ํŒŒ์ผ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ์ธ์ง€, ๋งํฌ์ธ์ง€, ์žฅ์น˜์ธ์ง€ ๊ตฌ๋ถ„

    d - The entry is a directory ๋””๋ ‰ํ„ฐ๋ฆฌ - ํด๋”

    b : The entry is a block special file ๋ธ”๋ก ์žฅ์น˜ ํŒŒ์ผ - ex ๋””์Šคํฌ, USB

    c : The entry is a character special file ๋ฌธ์ž ์žฅ์น˜ ํŒŒ์ผ - ex ํ‚ค๋ณด๋“œ, ํ„ฐ๋ฏธ๋„

    l : The entry is a symbolic link ์‹ฌ๋ณผ๋ฆญ ๋งํฌ - ๋‹ค๋ฅธ ํŒŒ์ผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐ”๋กœ๊ฐ€๊ธฐ

    p : The entry is a first-in, first-out (FIFO) special file (pipe) ํŒŒ์ดํ”„ - ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์šฉ ์ผ์‹œ์  ํ†ต๋กœ

    s : The entry is a local socket ์†Œ์ผ“ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ์œ„ํ•œ ํŠน๋ณ„ํ•œ ํŒŒ์ผ

    • : The entry is an ordinary file ์ผ๋ฐ˜ ํŒŒ์ผ (ex ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ์‹คํ–‰ํŒŒ์ผ)

    $ file hi.txt (unix command)

    ํŒŒ์ผ ๋‚ด์šฉ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ผ ํƒ€์ž… ํ™•์ธ

    ํŒŒ์ผ์ด ํ…์ŠคํŠธ์ธ์ง€, ์ด๋ฏธ์ง€์ธ์ง€, ์‹คํ–‰ํŒŒ์ผ์ธ์ง€ ์•Œ๋ ค์คŒ

    Display file type

    hi.txt : ASCII Text
    

    permission

    ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ถŒํ™˜

    rw-r—r—

    rw- ์†Œ์œ ์ž (์ฝ๊ธฐ+์“ฐ๊ธฐ ๊ฐ€๋Šฅ)

    r— ๊ทธ๋ฃน (์ฝ๊ธฐ)

    r— ๊ธฐํƒ€ ์‚ฌ์šฉ์ž (์ฝ๊ธฐ)

    User/onwer(rw-), group(r—), other(r—)

    r - ์ฝ๊ธฐ / ํŒŒ์ผ : ๋‚ด์šฉ ๋ณด๊ธฐ ๊ฐ€๋Šฅ, ๋””๋ ‰ํ„ฐ๋ฆฌ : ํŒŒ์ผ ๋ชฉ๋ก ๋ณด๊ธฐ

    w - ์“ฐ๊ธฐ / ํŒŒ์ผ : ๋‚ด์šฉ ์ˆ˜์ • ๊ฐ€๋Šฅ, ๋””๋ ‰ํ„ฐ๋ฆฌ : ํŒŒ์ผ ์ƒ์„ฑ/์‚ญ์ œ ๊ฐ€๋Šฅ

    x - ์‹คํ–‰ / ํŒŒ์ผ : ํ”„๋กœ๊ทธ๋žจ์ฒ˜๋Ÿผ ์‹คํ–‰ ๊ฐ€๋Šฅ, ๋””๋ ‰ํ„ฐ๋ฆฌ : cd๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ๊ฐ€๋Šฅ

    r(read), w(write), x(execute)

    File readable : cat possible

    File writable : can edit

    File executable : can run that file (program)

    Directory readable : ls possible

    Directory writable : create/delete possible

    Directory executable : cd possible


    Link number

    Link is a connection between a file name and a file (hard link)

    ํŒŒ์ผ ์ด๋ฆ„๊ณผ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ

    ํ•˜๋‚˜์˜ ํŒŒ์ผ์€ ์—ฌ๋Ÿฌ ์ด๋ฆ„(๋งํฌ)๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ

    ์ด๋•Œ์˜ ์—ฐ๊ฒฐ ๊ณ ๋ฆฌ๊ฐ€ ํ•˜๋“œ ๋งํฌ ๋˜๋Š” ์†Œํ”„ํŠธ ๋งํฌ

    2 type of link

    (hard) link - ํŒŒ์ผ์˜ ๋˜ ๋‹ค๋ฅธ ์‹ค์ œ ์ด๋ฆ„ / ln ์›๋ณธ ์ƒˆ์ด๋ฆ„

    soft link(symbolic link) - ๋ฐ”๋กœ๊ฐ€๊ธฐ, ์ฐธ์กฐ ํฌ์ธํ„ฐ / ln -s ์›๋ณธ ๋งํฌ

    $ ln hi.txt hi2.txt

    create a new file name (increase link number)

    ๊ฐ™์€ ํŒŒ์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋˜ ๋‹ค๋ฅธ ์ด๋ฆ„

    ๋‚ด์šฉ ๊ณต์œ ๋จ → ํ•˜๋‚˜ ์ˆ˜์ •ํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฒƒ๋„ ๊ฐ™์ด ๋ฐ”๋€œ

    ํŒŒ์ผ ์‚ญ์ œํ•ด๋„ ๋งํฌ ์ˆ˜๊ฐ€ 1 ์ด์ƒ์ด๋ฉด ์‹ค์ œ ๋‚ด์šฉ ๋‚จ์•„ ์žˆ์Œ

    i-node ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์Œ

    ๊ฐ™์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ๋งŒ ๊ฐ€๋Šฅ

    $ ln -s hi.txt hi3.txt

    make a new soft link

    i-node๊ฐ€ ๋‹ค๋ฆ„

    hi.txt๊ฐ€ ์‚ญ์ œ๋˜๋ฉด hi3.txt๋Š” ๊นจ์ง

    ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™

    ๋‹ค๋ฅธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ๋„ ๊ฐ€๋Šฅ

    -rw-r--r-- 2 user group 100 3์›” 21 10:00 hi.txt
    -rw-r--r-- 2 user group 100 3์›” 21 10:00 hi2.txt
    lrwxrwxrwx 1 user group   6 3์›” 21 10:01 hi3.txt -> hi.txt // ์†Œํ”„ํŠธ ๋งํฌ
    

    cp

    $ echo Hi~ > hi.txt

    $ cp hi.txt hi2.txt

    $ ls -i

    ํŒŒ์ผ ์˜†์— i-node ๋ฒˆํ˜ธ ํ•จ๊ป˜ ์ถœ๋ ฅ

    i-node - ์‹ค์ œ ๋ฐ์ดํ„ฐ(๋‚ด์šฉ)์„ ์‹๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ / i-node๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋ณ„๊ฐœ์˜ ํŒŒ์ผ / ๊ฐ™์œผ๋ฉด ๊ฐ™์€ ๋‚ด์šฉ ๊ณต์œ ํ•˜๋Š” ํ•˜๋“œ ๋งํฌ

    cp๋กœ ๋ณต์‚ฌํ•˜๋ฉด ๋‚ด์šฉ์€ ๊ฐ™์•„๋„ ์™„์ „ํžˆ ๋‹ค๋ฅธ ํŒŒ์ผ ๋งŒ๋“ค์–ด์ง€๊ณ , ls -i๋ฅผ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ i-node ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

    ln ํ•˜๋“œ ๋งํฌ

    ์‹ค์ œ ํŒŒ์ผ ๋ฐ์ดํ„ฐ(i-nlde) ๊ณต์œ 

    ์›๋ณธ ์‚ญ์ œํ•ด๋„ ์œ ์ง€๋จ

    $ ln hi.txt hi2.txt

    ๋งํฌ ์ˆ˜๊ฐ€ 2๋กœ ์ฆ๊ฐ€

    $ ls -il

    -i - i-node ๋ฒˆํ˜ธ ํ•จ๊ป˜ ์ถœ๋ ฅ

    -l ์ƒ์„ธ ์ •๋ณด ์ถœ๋ ฅ

    ln -s ์‹ฌ๋ณผ๋ฆญ ๋งํฌ

    ํŒŒ์ผ ๊ฒฝ๋กœ ๊ฐ€๋ฆฌํ‚ด

    ์›๋ณธ ์‚ญ์ œ ์‹œ ๋งํฌ ๊นจ์ง

    ex) shortcut.txt -> /home/user/real.txt

    $ ln -s hi.txt hi2.txt

    $ ln -s /export/home/unix300/hi.txt hi3.txt

    Contents/Information

    File contents : in data blocks

    ํŒŒ์ผ์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ(๋‚ด์šฉ)์€ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์— ์ €์žฅ๋จ

    $ cat, more, less, pg, head, tail ์ด์šฉํ•ด ๋‚ด์šฉ ์ฝ์Œ

    File information : in i-node

    ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด(๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)๋Š” i-node์— ์ €์žฅ๋จ

    ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ - ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ (ex ํŒŒ์ผ ํฌ๊ธฐ, ๋งŒ๋“  ๋‚ ์งœ ๋“ฑ๋“ฑ,,)

    $ ls -l ์ด์šฉํ•ด ํ™•์ธ

    Directory contents : $ ls -i (in data blocks)

    ๋””๋ ‰ํ„ฐ๋ฆฌ๋„ ์‹ค์ œ๋กœ๋Š” ํŒŒ์ผ ์ด๋ฆ„ + i-node ๋ฒˆํ˜ธ ๋ชฉ๋ก์ด ๋“ค์–ด ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ํŒŒ์ผ

    Directory information : $ ls -ld (in i-node)

    ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž์ฒด์˜ i-node ์ •๋ณด ํ™•์ธํ•  ๋–„๋Š” ls -ld ์‚ฌ์šฉ

    ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋‚ด์šฉ๋ฌผ์ด ์•„๋‹Œ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž์ฒด ์ •๋ณด๋งŒ ์ถœ๋ ฅ

    $ echo 123456 > 123.txt 
    $ cat 123.txt
    $ od -x 123.txt
    $ od -c 123.txt
    // od - ํŒŒ์ผ ๋‚ด๋ถ€๋ฅผ 16์ง„์ˆ˜๋‚˜ ๋ฌธ์ž๋กœ ๋ถ„์„ํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ๋„๊ตฌ

    find

    ํŠน์ • ์กฐ๊ฑด์˜ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฐพ์•„์ฃผ๋Š” ๋ช…๋ น์–ด

    find [ํƒ์ƒ‰๊ฒฝ๋กœ] [์กฐ๊ฑด] [์˜ต์…˜/๋™์ž‘]

    $ find /path -name 'ํŒŒ์ผ๋ช…’

    Find a file hi.txt under the directory /export/home

    ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰

    $ find / -name core 2> /dev/null

    Find a file and hide error message

    ๊ถŒํ•œ์ด ์—†์–ด์„œ ์ƒ๊ธฐ๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์•ˆ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ

    $ find / -name core > out.txt

    Find a file, save result to out.txt and hide error message

    ๊ฒฐ๊ณผ๋Š” out.txt์— ์ €์žฅ

    $ find / -name “h*.txt” -exec ๋ช…๋ น {} \;

    Find file, and cat the file

    / ์•„๋ž˜์—์„œ ์ด๋ฆ„์ด h๋กœ ์‹œ์ž‘ํ•˜๊ณ  .txt๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ์ฐพ์Œ

    ์ฐพ์€ ๊ฐ ํŒŒ์ผ์— ๋Œ€ํ•ด cat ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์„œ ๋‚ด์šฉ ์ถœ๋ ฅ

    {} ์ฐพ์€ ํŒŒ์ผ ๊ฒฝ๋กœ

    \; -exec ์˜ต์…˜ ๋๋‚ธ๋‹ค๋Š” ํ‘œ์‹œ

    $ file / -name “h*.txt” -ok ๋ช…๋ น {] \;

    find file, and cat that file if answer is yes

    ์‹คํ–‰ ์ „ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌผ์–ด๋ด„

    ์ถœ๋ ฅ ์˜ˆ์‹œ < ๋ช…๋ น ... ? > y


    chmod (symbolic)

    chmod [์˜ต์…˜] [ํŒŒ์ผ๋ช…]

    ๊ธฐํ˜ธ ๋ฐฉ์‹์œผ๋กœ ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด

    $ chmod u+w, g-w, o=r— hi.txt

    u(ser) g(roup), o(ther), a(ll)

    +(add), -(remove), =(set ์žฌ์„ค์ •)

    r(ead), w(rite), x(excutable ์‹คํ–‰), -(no permission)

    $ chmod +x a.sh

    same as chmod a+x a.sh

    ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ


    chmod (numeric, octal)

    $ chmod 644 hi.txt

    user, group, other

    4(read), 2(write), 1(executable), 0(no)

    $ chmod 644 a.sh

    chmod u=rw-, g=r—, o=r— a.sh

     

    $ chmod 755 dir1

    chmod u=rwx, g=r-x, o=r-x dir1

    $ chmod 700 a.sh

    chmod u=rwx, g=—-, o=—- a.sh

    $ chmod 777 

    ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์™„์ „ ๊ณต๊ฐœ


    umask

    ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค ๋•Œ ์ž๋™์œผ๋กœ ์„ค์ •๋˜๋Š” ๊ธฐ๋ณธ ๊ถŒํ•œ์—์„œ ์ผ๋ถ€๋ฅผ ๋ง‰๋Š” ๊ฐ’

    User Mask

    ์ƒˆ ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ๊ถŒํ•œ - 666

    ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๊ธฐ๋ณธ ๊ถŒํ•œ - 777

    ์ตœ์ข… ๊ถŒํ•œ = ๊ธฐ๋ณธ ๊ถŒํ•œ - umask ๊ฐ’ (๋บ„์…ˆ์ฒ˜๋Ÿผ ๋™์ž‘)

    Defines masking some permissions

    When make a new file or a new directory

    Bit 1 masks permission (not give permit)

    $ umask [value]

    $ umask // see current value ํ˜„์žฌ ๋งˆ์Šคํฌ ๊ฐ’ ํ™•์ธ

    $ umask 022 // set umask as 022 ๋งˆ์Šคํฌ ๊ฐ’ ์„ค์ •


    Default file/dir permission (๋‹ค์‹œ ๊ณต๋ถ€)

    ๋””๋ ‰ํ„ฐ๋ฆฌ/ํŒŒ์ผ ์ƒ์„ฑ ์‹œ ์ตœ์ข… ๊ถŒํ•œ ๊ณ„์‚ฐ ์›๋ฆฌ

    777 XOR umask → DEF_DIR_MASK

    default directory permission

    Remove x from DEF_DIR_MASK

    default file permission

    Example

    If umask is 022

    777 XOR 022 = 755

    default directory permission

    X remove from 755 = 644

    default file permission


    File system management

    $ df : disk free

    ์ „์ฒด ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋‚จ์€ ๊ณต๊ฐ„๊ณผ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ณด์—ฌ์คŒ

    df -k - see kilobytes ๋‹จ์œ„๋ฅผ ํ‚ฌ๋กœ๋ฐ”์ดํŠธ๋กœ ๋ณด์—ฌ์คŒ

    $ du : disk usage

    ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ถ€ํ„ฐ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๊นŒ์ง€ ๋ชจ๋“  ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์‚ฌ์šฉ๋Ÿ‰ ์ถœ๋ ฅ

    du -sk - see summary disk usage of each directory

    ํ•œ ์ค„๋กœ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ด ์šฉ๋Ÿ‰ ์ถœ๋ ฅ

    $ mount : see what is currently mounted

    ํ˜„์žฌ ๋งˆ์šดํŠธ๋  ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชฉ๋ก ์ถœ๋ ฅ

    ๋งˆ์šดํŠธ : ์šด์˜์ฒด์ œ์—์„œ ์ €์žฅ ์žฅ์น˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํ˜„์žฌ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ ์•ˆ์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ / ์™ธ๋ถ€ ์ €์žฅ์žฅ์น˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‹œ์Šคํ…œ์˜ ํ•œ ๋ถ€๋ถ„์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์ž‘์—…

    /etc/mnttab file reflects this information

    $ mount -t device_name mount_point

    mount -t iso9600 /dev/cdrom /mnt/cdrom

    $ mountall

    ์‹œ์Šคํ…œ ์„ค์ • ํŒŒ์ผ์— ๋”ฐ๋ผ ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ž๋™ ๋งˆ์šดํŠธ

    ๋ถ€ํŒ… ์‹œ ์ž๋™ ์‹คํ–‰

    Mount all file system as defined /etc/vfstab file

    $ Umount : unmount device

    ๋งˆ์šดํŠธ ํ•ด์ œ

    CD-ROM์ด๋‚˜ ์™ธ์žฅ ์žฅ์น˜ ๊ฐ™์€ ๋งˆ์šดํŠธ๋œ ์žฅ์น˜๋ฅผ ํ•ด์ œํ•จ

    Umount /mnt/cdrom

    Umount /dev/cdrom

    $ Umountall : unmount all without / and core file system

    /์™€ ํ•ต์‹ฌ ์‹œ์Šคํ…œ ํŒŒํ‹ฐ์…˜์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ๋ฅผ ํ•ด์ œ

Designed by Tistory.