บทที่ 07
List Directory (ls)
บทที่ 06 คุณได้ใช้คำสั่ง cd (change directory) สำหรับเข้าๆ ออกๆ directory ต่างๆ กันไปแล้ว
แต่เหมือนเป็นการเข้าออกซอยบ้านตัวเองที่คุณรู้ก่อนอยู่แล้วว่าทางข้างหน้าจะมีกี่เลี้ยว แต่ในชีวิตจริงคุณไม่มีทางรู้เสมอไปหรอกครับ ว่าเส้นทางข้างหน้าจะเจออะไรบ้าง?… (พิมพ์ไปพร้อมทำหน้าหล่อ อะฮ๊าๆ)
คำสั่ง ls = List จะทำหน้าที่บอกคุณว่าใน directory มีอะไรอยู่บ้าง
แบบฝึกหัดบทนี้และบทต่อๆ ไปผมจะพิมพ์แค่คำสั่งและจะแสดงผลลัพธ์ของบางคำสั่งเท่าที่จำเป็นนะครับ
แบบฝึกหัด 07-1
1 $ cd ~
2 $ pwd
3
4 $ cd learncli
5 $ ls
6 make.txt right very funny we
7
8 $ cd right
9 $ pwd
10 $ ls
11
12 $ cd now
13 $ pwd
14 $ ls
15
16 $ cd ~/learncli
17 $ pwd
18
19 $ ls we
20 can
21 $ ls we/can
22 make
23 $ ls we/can/make
24 directory
25 $ ls we/can/make/directory
26
27 $ pwd
28 ~/learncli
29 $ ls
30 make.txt right very funny we
31 $ ls -a
32 . .. make.txt right very funny we
33 $ ls -a we/can/make/directory
34 . ..
35
36 $ ls .
37 $ ls -a .
38 $ ls ..
39 $ ls ../..
40 $ ls ~
41 $ ls ~/..
42 $ ls /
แบบฝึกหัด 07-2
ให้ทำแบบฝึกหัดที่ 07-1 อีกรอบครับ แต่ใช้คำสั่ง ls -l แทน ls และ ls -la แทน ls -a
แบบฝึกหัด 07-3
1 $ cd ~/learncli
2 $ ls
3 $ mkdir .secret
4 $ touch .hidden
5 $ ls -a
บทนี้เรียนรู้อะไร?
- ได้เรียนรู้คำสั่ง ls
- ls = list files and directories
- ls -a = list all files and directories
- ls -l = list files and directories with long listing format
- จริงๆ แล้วคำสั่ง ls ยังมี option ให้ใช้อีกมากมายเลยครับ เดี๋ยวบทหลังๆ ผมจะบอกว่าจะรู้ได้ยังไง
- ในการใช้ -a เราได้เห็นสอง directory พิเศษ นั้นคือ . และ ..
- . แทน directory ปัจจุบัน (current directory)
- .. แทน parent directory (รู้ถึงที่มา cd .. แล้วใช้ไหมครับ)
- file และ directory ที่ชื่อขึ้นต้นด้วย . เรียกว่า dot files หรือ hidden file สุดแท้แต่จะเรียก ต้องใช้ ls -a เท่านั้นถึงจะมองเห็น ส่วนใหญ่จะเป็น file หรือ directory ที่สำคัญ เช่น พวก file config ต่างๆ (จริงเอาไว้ซ่อน file ลับๆ ของคุณก็ได้นะครับ)
เพิ่มเติม
- ลองใช้คำสั่ง ls -R , ls -F ดูครับ (อย่าลืมลองผสม option อื่นๆ ดูด้วยนะครับ)
- ใช้คำสั่ง cd และ ls ท่องเที่ยวไปตาม directory ต่างๆ ในเครื่องดูนะครับ
- ในระหว่างที่ cd และ ls อยู่ตาม directory ต่างๆ ให้ลองใช้คำสั่ง $ file แล้วตามด้วยชื่อ file หรือ directory ดูครับ
- อย่าลืมนะครับแค่อ่านไม่พอนะครับต้องฝึกฝนด้วย!