Rust 1.60 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฆด๋ฆฌ์Šค

Mozilla ํ”„๋กœ์ ํŠธ์— ์˜ํ•ด ์„ค๋ฆฝ๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ๋…๋ฆฝ์ ์ธ ๋น„์˜๋ฆฌ ์กฐ์ง์ธ Rust Foundation์˜ ํ›„์›์œผ๋กœ ๊ฐœ๋ฐœ๋œ Rust 1.60 ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ถœ์‹œ๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์— ์ค‘์ ์„ ๋‘๊ณ  ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ ๋ฐ ๋Ÿฐํƒ€์ž„(๋Ÿฐํƒ€์ž„์€ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋ณธ ์ดˆ๊ธฐํ™” ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋กœ ์ถ•์†Œ๋จ)์˜ ์‚ฌ์šฉ์„ ํ”ผํ•˜๋ฉด์„œ ๋†’์€ ์ž‘์—… ๋ณ‘๋ ฌ์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Rust์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์€ ํฌ์ธํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๋ฅผ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ํ•ด์ œ๋œ ํ›„ ์•ก์„ธ์Šค, null ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ, ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ ๋“ฑ๊ณผ ๊ฐ™์€ ์ €์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐฐํฌ, ๋นŒ๋“œ ์ œ๊ณต ๋ฐ ์ข…์†์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋Š” Cargo ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. crates.io ์ €์žฅ์†Œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์€ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ์ฐธ์กฐ ํ™•์ธ, ๊ฐœ์ฒด ์†Œ์œ ๊ถŒ ์ถ”์ , ๊ฐœ์ฒด ์ˆ˜๋ช…(๋ฒ”์œ„) ์ถ”์  ๋ฐ ์ฝ”๋“œ ์‹คํ–‰ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค์˜ ์ •ํ™•์„ฑ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด Rust์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Rust๋Š” ๋˜ํ•œ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ ๊ฐ’์˜ ํ•„์ˆ˜ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๋ณ€ ์ฐธ์กฐ ๋ฐ ๋ณ€์ˆ˜ ๊ฐœ๋…์„ ์ ์šฉํ•˜๊ณ , ๊ฐ•๋ ฅํ•œ ์ •์  ์œ ํ˜• ์ง€์ •์„ ์ œ๊ณตํ•˜์—ฌ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋ฅผ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • Rustc ์ปดํŒŒ์ผ๋Ÿฌ์—๋Š” ํ…Œ์ŠคํŠธ ์ค‘ ์ฝ”๋“œ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ ์šฉ ๋ฒ”์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์•ˆ์ •ํ™”๋œ LLVM ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ๋ฆฝ ์ค‘ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด "-Cinstrument-coverage" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "RUSTFLAGS="-C Instrument-coverage" ํ™”๋ฌผ ๋นŒ๋“œ" ๋ช…๋ น์œผ๋กœ ์กฐ๋ฆฝ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ปดํŒŒ์ผ๋œ ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด default.profraw ํŒŒ์ผ์ด ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅ๋˜๋ฉฐ, ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด llvm-tools-preview ๊ตฌ์„ฑ ์š”์†Œ์˜ llvm-profdata ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ llvm-profdata์—์„œ ์ฒ˜๋ฆฌํ•œ ์ถœ๋ ฅ์„ llvm-cov๋กœ ์ „๋‹ฌํ•˜์—ฌ ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ฝ”๋“œ ์ ์šฉ ๋ฒ”์œ„ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋งํฌ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๊ฒ€์‚ฌ ์ค‘์ธ ์‹คํ–‰ ํŒŒ์ผ์—์„œ ๊ฐ€์ ธ์˜ค๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ์ปค๋ฒ„๋ฆฌ์ง€ ์นด์šดํ„ฐ์™€ ์ฝ”๋“œ ๊ฐ„์˜ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ํ•„์ˆ˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. 1| 1|fn ๋ฉ”์ธ() { 2| 1| println!("์•ˆ๋…•ํ•˜์„ธ์š”, ์„ธ์ƒ!"); 3| 1|}
  • ํ™”๋ฌผ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์—์„œ ๋นŒ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ๊ณผ ๊ฐ ๋‹จ๊ณ„์˜ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ณด๊ณ ์„œ ์ƒ์„ฑ์„ ํฌํ•จํ•˜๋Š” "-timings" ํ”Œ๋ž˜๊ทธ์— ๋Œ€ํ•œ ์ง€์›์ด ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณด๊ณ ์„œ๋Š” ์กฐ๋ฆฝ ํ”„๋กœ์„ธ์Šค์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™”๋ฌผ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋Š” [features] ์„น์…˜์— ๋ช…๋ช…๋œ ์†์„ฑ ๋ชฉ๋ก์„ ๋‚˜์—ดํ•˜์—ฌ Cargo.toml ํŒŒ์ผ์— ๊ตฌ์„ฑ๋˜๊ณ  ํŒจํ‚ค์ง€ ๋นŒ๋“œ ์ค‘์— ์†์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ™œ์„ฑํ™”๋˜๋Š” ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ ๋ฐ ์„ ํƒ์  ์ข…์†์„ฑ ์„ ํƒ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ตฌ๋ฌธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. "--features" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—๋Š” ๋ณ„๋„์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ ์•ฝํ•œ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” "[features]" ์„น์…˜ ๋‚ด์—์„œ "dep:" ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๋Š” ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ข…์†์„ฑ์„ ๊ธฐ๋Šฅ์œผ๋กœ ์•”์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š๊ณ  ์„ ํƒ์  ์ข…์†์„ฑ์— ๋ช…์‹œ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” "?" ๊ธฐํ˜ธ ํ‘œ์‹œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ("ํŒจํ‚ค์ง€ ์ด๋ฆ„?/๊ธฐ๋Šฅ ์ด๋ฆ„") ๋‹ค๋ฅธ ์†์„ฑ์— ์ง€์ •๋œ ์„ ํƒ์  ์ข…์†์„ฑ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ์—๋งŒ ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋Š” ์„ ํƒ์  ์ข…์†์„ฑ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜ ์˜ˆ์—์„œ serde ์†์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด "serde" ์ข…์†์„ฑ๊ณผ "rgb" ์ข…์†์„ฑ์— ๋Œ€ํ•œ "serde" ์†์„ฑ์ด ํ™œ์„ฑํ™”๋˜์ง€๋งŒ "rgb" ์ข…์†์„ฑ์ด ๋‹ค๋ฅธ ๊ณณ์—์„œ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. serde = { ๋ฒ„์ „ = " 1.0.133", ์„ ํƒ ์‚ฌํ•ญ = true } rgb = { ๋ฒ„์ „ = "0.8.25", ์„ ํƒ ์‚ฌํ•ญ = true } [๊ธฐ๋Šฅ] serde = ["dep:serde", "rgb?/serde"]

  • ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ๋˜ ์ฆ๋ถ„ ์ปดํŒŒ์ผ ์ง€์›์ด ๋ฐ˜ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋˜๋Š” ์›์ธ์ด ๋˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„๊ทธ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์ด ์ ˆ์ „ ๋ชจ๋“œ์—์„œ ์†Œ๋น„ํ•œ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•˜๋Š” ๋‹จ์กฐ๋กœ์šด ํƒ€์ด๋ฐ์„ ๋ณด์žฅํ•˜๋Š” ์ธ์Šคํ„ดํŠธ ํƒ€์ด๋จธ ์ œ๊ณต๊ณผ ๊ด€๋ จ๋œ ์ผ๋ถ€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํƒ€์ด๋จธ ์ž‘๋™์„ ์œ„ํ•ด ๊ฐ€๋Šฅํ•  ๋•Œ๋งˆ๋‹ค OS API๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ์ด๋Š” ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ๋‚˜ ๊ฐ€์ƒํ™” ์‚ฌ์šฉ, ์šด์˜์ฒด์ œ ์˜ค๋ฅ˜ ๋“ฑ ์‹œ๊ฐ„์˜ ๋‹จ์กฐ๋กœ์›€์„ ๊นจ๋Š” ๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜๋‹ค.
  • API์˜ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„์ด ์•ˆ์ •ํ™”๋œ ํŠน์„ฑ์˜ ๋ฉ”์„œ๋“œ ๋ฐ ๊ตฌํ˜„์„ ํฌํ•จํ•˜์—ฌ ์•ˆ์ •์ ์ธ ๋ฒ”์ฃผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ˜ธ::new_cycle
    • Rc::new_cycle
    • ์Šฌ๋ผ์ด์Šค::EscapeAscii
    • <[u8]>::escape_ascii
    • u8::escape_ascii
    • Vec::spare_capacity_mut
    • MaybeUninit::assume_init_drop
    • MaybeUninit::assume_init_read
    • i8::abs_diff
    • i16::abs_diff
    • i32::abs_diff
    • i64::abs_diff
    • i128::abs_diff
    • ํฌ๊ธฐ::abs_diff
    • u8::abs_diff
    • u16::abs_diff
    • u32::abs_diff
    • u64::abs_diff
    • u128::abs_diff
    • ์‚ฌ์šฉ::abs_diff
    • io::ErrorKind์— ๋Œ€ํ•œ ํ‘œ์‹œ
    • ExitCode์˜ ๊ฒฝ์šฐ
    • ! ("์ ˆ๋Œ€"๋ผ๊ณ  ์ž…๋ ฅํ•˜์„ธ์š”)
    • _Op_ํ• ๋‹น<$t>
    • ์•„์น˜::is_aarch64_feature_Detected!
  • mips64-openwrt-linux-musl* ๋ฐ armv7-unknown-linux-uclibceabi(softfloat) ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์„ธ ๋ฒˆ์งธ ์ˆ˜์ค€์˜ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ์ˆ˜์ค€์—๋Š” ๊ธฐ๋ณธ ์ง€์›์ด ํฌํ•จ๋˜์ง€๋งŒ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ, ๊ณต์‹ ๋นŒ๋“œ ๊ฒŒ์‹œ ๋˜๋Š” ์ฝ”๋“œ ๋นŒ๋“œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ์€ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ LLVM 14๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์Œ ์‚ฌํ•ญ์— ์œ ์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Rustc_codegen_gcc ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Rustc ์ปดํŒŒ์ผ๋Ÿฌ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด GCC ํ”„๋กœ์ ํŠธ์˜ libgccjit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Rustc์˜ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด Rustc๋Š” GCC์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์ตœ์ ํ™”์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ์Šน๊ฒฉ์ด๋ž€ Rustc์˜ GCC ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Rustc ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ์ธก๋ฉด์—์„œ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „์— Rustc์—์„œ ์ง€์›๋˜์ง€ ์•Š์•˜๋˜ ์•„ํ‚คํ…์ฒ˜์šฉ Rust ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Rust ์–ธ์–ด๋กœ ์žฌ์ž‘์„ฑ๋œ GNU Coreutils ํŒจํ‚ค์ง€์˜ ์œ ์‚ฌ ๋ฒ„์ „์ด ๊ฐœ๋ฐœ ์ค‘์ธ uutils coreutils 0.0.13 ํˆดํ‚ท์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Coreutils์—๋Š” sort, cat, chmod, chown, chroot, cp, date, dd, echo, ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, id, ln ๋ฐ ls๋ฅผ ํฌํ•จํ•˜์—ฌ XNUMX๊ฐœ ์ด์ƒ์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” Windows, Redox ๋ฐ Fuchsia ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ GPL ์นดํ”ผ๋ ˆํ”„ํŠธ ๋ผ์ด์„ ์Šค ๋Œ€์‹  ํ—ˆ์šฉ๋˜๋Š” MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” Coreutils์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋Œ€์ฒด ๊ตฌํ˜„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” cp, dd, df, Split ๋ฐ tr ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ GNU ํ”„๋กœ์ ํŠธ์˜ ํ•ด๋‹น ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ํ˜ธํ™˜์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ๊ตฌํ˜„์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ ๋ฌธ์„œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Clap ํŒŒ์„œ๋Š” "--help" ํ”Œ๋ž˜๊ทธ์˜ ์ถœ๋ ฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ๊ธด ๋ช…๋ น์˜ ์•ฝ์–ด์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•œ ๋ช…๋ น์ค„ ์ธ์ˆ˜๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: "ls -color" ๋Œ€์‹  "ls -col"์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ) ").

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€