Bài học có hình ảnh lấy từ mạng Internet
1. Cây thư mục trên Linux rất quành tráng
Hổng có hình nào trên mạng vẽ đầy đủ đâu, thề lun á
→ vài hình có màu, nhìn đẹp đẹp
2. Xem cây thư mục bằng lệnh tree và ls -R
1 2 3 4 5 | //Ubuntu 22.04 cài gói tree apt update&&apt install tree-y //EL cài gói tree yum install tree-y |
Coi 1 cấp (level) của thư mục / thoai
Coi 2 cấp (level) của thư mục /boot nè
→ trong /boot/grub/fonts và /boot/grub/i386-pc có file hoặc thư mục nữa đó mà 2 cấp nên chỉ có vậy thoai
Coi hết trơn hết trọi trong /boot thì tree /boot
Thêm về lệnh tree
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //Tạo user itv2022 --> có thư mục itv2022 trong /home adduser--disabled-password--gecos""itv2022 //Tạo thư mục ẩn có tên bắt đầu bằng . trong /home/itv2022 mkdir/home/itv2022/.folder //Cây thư mục hổng có gì tree/home/itv2022/ //Thêm -a mới coi được file + thư mục ẩn có tên bắt đầu = dấu . tree-a/home/itv2022/ //Coi thêm size của thư mục, file = -h tree-a-h/home/itv2022/ //Coi thêm quyền, loại file hay thư mục = -p --> như -l của lệnh ls tree-a-h-p/home/itv2022/ //Kết hợp 3 tùy chọn thành 1 cũng được tree-ahp/home/itv2022 |
Các tùy chọn (option) khác của lệnh tree bạn xem = man tree hoặc
https://manpages.ubuntu.com/manpages/jammy/en/man1/tree.1.html
Lịnh ls
1 | ll-R/boot/ |
https://manpages.ubuntu.com/manpages/jammy/en/man1/ls.1posix.html
1 2 3 4 5 6 7 8 9 10 11 12 | //Hổng thấy file nào ls-l/home/itv2022/ //Có -a sẽ thấy file + thư mục ẩn ls-l-a/home/itv2022/ //Lệnh khác là ll cũng rứa ll/home/itv2022 //Do lệnh ls -alF xài thường xuyên nên để cho nhanh người ta đặt tên khác là ll //--> gõ lẹ, xài lẹ đúng hem alias |
WinSCP coi file ẩn
Hổng thấy gì
Bật lên
→ thấy òi
3. Linux coi chữ hoa, chữ thường là khác nhau
1 2 3 4 | //Tạo ra 8 thư mục khác nhau do chữ hoa, chữ thường là khác nhau mkdir/{i,I}{t,T}{v,V}2021 tree/-L1 |
Windows thì ngược lại zới Linux
→ tên file, thư mục có chữ hoa hay chữ thường cũng rứa
4. Đi vào từng thư mục
Linux có chức năng gợi ý tên thư mục tiếp theo → gọi là tab completion
→ gợi ý cả tên file tiếp theo lun → có trên OS, yên tâm nha
Có 2 cách chỉ tới thư mục, file trong đám rừng thư mục
Đường dẫn tuyệt đối (đầy đủ)
Đường dẫn tương đối
1 số ví dụ về các lệnh xài đường dẫn tương đối
Chạy script theo đường dẫn tương đối và tuyệt đối
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | //Bỏ dòng chữ echo ... vào file linux.sh echo'echo Linux cho người mới bắt đầu'>linux.sh //Xem nội dung file linux.sh cat linux.sh //Cấp quyền chạy file này chmod+xlinux.sh //File linux.sh ở thư mục đang đứng //--> chạy file theo đường dẫn tương đối: ./ //--> dấu . chỉ thư mục đang đứng ./linux.sh //Tạo thư mục tên folder --> chep file linux.sh vào thư mục này mkdir folder;cp linux.sh folder ./folder/linux.sh cd/usr/share/man ../../../root/linux.sh //Chạy file theo đường dẫn tuyệt đối bắt đầu = / /root/linux.sh |
Zui zui
Đường dẫn có dư dấu / cũng hổng sao nhen
Chuẩn Unix IEEE Std 1003.1-2017 cho phép nhiều dấu / coi như 1 dấu /
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_271
Hệ điều hành Unix là gì? Tập 1
Tài liệu của Linux kernel – path_resolution(7)
https://www.man7.org/linux/man-pages//man7/path_resolution.7.html
5. Cây thư mục theo chuẩn FHS
Chuẩn FHS (Filesystem Hierarchy Standard) ở đây
→ có nói mục đích (purpose) từng thư mục con trong / làm gì á
https://refspecs.linuxfoundation.org/fhs.shtml
Debian theo FHS 3.0 nhưng có 1 số ngoại lệ
Nhìn vào hình ta có: thư mục nào như /run có tmpfs thì chạy trên RAM nha các bạn
→ hổng có mount riêng /tmp như hình trên
Bài Lab nhỏ để kiểm chứng
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //Tạo 1 thư mục trong /run mkdir/run/linux-for-beginner //Coi lại để thấy đã có thư mục ll/run/|grep linux-for-beginner //Khởi động lại reboot //Mất tiêu òi ll/run/|grep linux-for-beginner //Kết luận: //Dữ liệu trong /run là dữ liệu bị bay hơi, bốc hơi (volatile) khi khởi động lại OS //--> do để trên RAM //Ngược lại dữ liệu để trên đĩa cứng thì sẽ cố định (non-volatile/persistent data) //--> k bị mất khi khởi động lại OS |
/boot là thư mục con của / (root – thư mục cấp cao nhất)
→ nhưng được gắn (mount) riêng vàovách ngăn/phân vùng (partition) khác của đĩa cứng thì sẽ có dung lượng riêng
→ không thừa hưởng dung lượng từ /
→ các thư mục khác nếu không gắn riêng thì thừa hưởng dung lượng từ /
Nhớ lại lúc cài Ubuntu nè
Dưới góc nhìn của đĩa cứng thì 1 thư mục là điểm gắn vào toàn bộ hoặc 1 phần (partition) của đĩa cứng đó
6. Cân kí từng thư mục
du -sh thư mục nào bạn muốn cân kí
1 2 3 4 5 6 7 8 | du-sh/etc/ du-sh/usr/ //TABTAB --> có 9 thư mục du-sh/usr/share/man/man du-sh/usr/share/man/man{1..9} |
Cơm thêm
Tạo cây thư mục
1 2 3 4 5 6 7 8 | //Không tạo được thư mục 9 do chưa có /1/2.../8 mkdir/1/2/3/4/5/6/7/8/9 //Chưa có thư mục nào thì tạo thư mục đó mkdir-p/1/2/3/4/5/6/7/8/9 //Có cây roài tree/1 |
https://manpages.ubuntu.com/manpages/kinetic/en/man1/mkdir.1.html