Skip to content

Commit d89895f

Browse files
authored
docs: add ls example (#72)
1 parent 2bdd45f commit d89895f

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

examples/ls.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//! Emulates running `ls -la` in the terminal, showing human-readable file sizes and file names.
2+
3+
use std::{fs, io};
4+
5+
fn main() -> io::Result<()> {
6+
let dir = fs::read_dir(".")?;
7+
8+
for entry in dir {
9+
let entry = entry?;
10+
11+
let md = entry.metadata()?;
12+
13+
let file_name = entry.file_name();
14+
let file_name = file_name.to_string_lossy();
15+
16+
if md.is_file() {
17+
let file_size = md.len();
18+
let file_size = bytesize::ByteSize::b(file_size);
19+
20+
println!("{file_size}\t{file_name}");
21+
} else {
22+
println!("-\t{file_name}");
23+
}
24+
}
25+
26+
Ok(())
27+
}

0 commit comments

Comments
 (0)