ការផ្លាស់ទីក្នុង File System

មាតិកា

  1. អ្នកតែងតែនៅកន្លែងណាមួយ
  2. ខ្ញុំនៅឯណា? pwd
  3. មានអ្វីនៅទីនេះ? ls
  4. ទៅកន្លែងផ្សេង៖ cd
  5. Absolute Path និង Relative Path
  6. ឈ្មោះពិសេស៖ ~, . និង ..
  7. File Windows របស់អ្នកពី WSL និង Git Bash
  8. រៀបចំ Folder សម្រាប់អនុវត្ត
  9. សាកល្បងដោយខ្លួនឯង

1. អ្នកតែងតែនៅកន្លែងណាមួយ

នៅក្នុង file manager អ្នកតែងតែមាន folder មួយកំពុងបើក — អ្នកអាចឃើញឈ្មោះរបស់វានៅខាងលើបង្អួច។ Shell ក៏ដំណើរការតាមរបៀបដូចគ្នាដែរ៖ នៅគ្រប់ពេល វាមាន folder មួយកំពុងបើក ដែលហៅថា current working directory (ឬហៅខ្លីថា current directory)។

គ្រប់ command ដែលអ្នករត់ កើតឡើង នៅក្នុង folder នោះ។ នៅពេលអ្នកវាយ ls ដោយគ្មាន argument វានឹងបង្ហាញបញ្ជីនៃ current directory។ នៅពេលអ្នកបង្កើត file ដោយមិនបានប្រាប់ថានៅកន្លែងណា វានឹងត្រូវបានបង្កើតនៅក្នុង current directory។ នៅពេលមេរៀនណាមួយនិយាយថា «រត់ npm install នៅក្នុង folder របស់ project» វាមានន័យថា «ធ្វើឲ្យ folder របស់ project ក្លាយជា current directory របស់អ្នកជាមុនសិន បន្ទាប់មកទើបរត់វា»។

ដូច្នេះ សំណួរមូលដ្ឋានបំផុតទាំងបីនៅលើ command line គឺ៖

  • ខ្ញុំនៅឯណា? → pwd
  • មានអ្វីនៅទីនេះ? → ls
  • ធ្វើដូចម្តេចដើម្បីទៅកន្លែងផ្សេង? → cd

2. ខ្ញុំនៅឯណា? pwd

pwd មកពីពាក្យ print working directory៖

pwd
/Users/dara

នៅពេលអ្នកបើក terminal ថ្មី អ្នកស្ទើរតែតែងតែចាប់ផ្តើមនៅក្នុង home folder របស់អ្នក — folder ដែលជាកម្មសិទ្ធិរបស់អ្នកប្រើប្រាស់របស់អ្នក។ ទីតាំងរបស់វាអាស្រ័យលើប្រព័ន្ធ៖

ប្រព័ន្ធHome folder
macOS/Users/dara
Linux និង WSL/home/dara
Git Bash/c/Users/dara

លទ្ធផលរបស់ pwd គឺជា absolute path — អាសយដ្ឋានពេញរបស់ folder ដោយចាប់ផ្តើមពី root /។ អ្នកបានស្គាល់ path ជាលើកដំបូងនៅក្នុង File និង File System ហើយឥឡូវនេះអ្នកនឹងប្រើវាជាក់ស្តែង។

3. មានអ្វីនៅទីនេះ? ls

អ្នកដឹងរួចហើយថា ls បង្ហាញបញ្ជីមាតិកានៃ folder មួយ។ Option មួយចំនួនធ្វើឲ្យវាមានប្រយោជន៍ច្រើនជាងនេះឆ្ងាយ៖

ls        # names only
ls -a     # include hidden files (names starting with a dot)
ls -l     # long format: one item per line, with details
ls -lh    # long format, with human-readable sizes (K, M, G)

ទម្រង់វែង (long format) មើលទៅដូចនេះ៖

drwxr-xr-x   5 dara  staff   160 Sep 28 14:02 Documents
-rw-r--r--   1 dara  staff  2.1K Sep 30 09:15 notes.txt

សម្រាប់ពេលនេះ សូមផ្តោតលើផ្នែកបី៖

  • តួអក្សរទីមួយ៖ d មានន័យថាវាជា directory (folder) ហើយ - មានន័យថាវាជា file ធម្មតា។
  • ទំហំ (2.1K) និង កាលបរិច្ឆេទ ដែលវាត្រូវបានកែប្រែចុងក្រោយ។
  • ឈ្មោះ នៅខាងចុង។

ផ្នែកដែលនៅសល់ — rwxr-xr-x, dara, staff — គឺជា permission និងភាពជាម្ចាស់។ ជំពូកទី 10 ពន្យល់ពីវា។

អ្នកក៏អាចបង្ហាញបញ្ជីនៃ folder មួយដោយមិនចាំបាច់ចូលទៅក្នុងវាដែរ ដោយផ្តល់វាជា argument៖

ls -l Documents

4. ទៅកន្លែងផ្សេង៖ cd

cd មានន័យថា change directory។ ផ្តល់ឲ្យវានូវ folder ដែលអ្នកចង់ទៅ៖

cd Documents
pwd
/Users/dara/Documents

សូមកត់សម្គាល់ថា cd មិនបង្ហាញអ្វីទាំងអស់នៅពេលវាដំណើរការបានល្អ។ នៅលើ command line ភាពស្ងៀមស្ងាត់ជាធម្មតាមានន័យថាជោគជ័យ។ Prompt ក៏ផ្លាស់ប្តូរដើម្បីបង្ហាញ folder ថ្មីផងដែរ ដែលជាការរំលឹកដ៏ល្អថាអ្នកកំពុងនៅឯណា។

សូមប្រើ Tab នៅទីនេះជាប្រចាំ។ វាយ cd Doc ចុច Tab ហើយ shell នឹងបំពេញវាឲ្យទៅជា cd Documents/។ អ្នកអាចបន្តទៀតបាន៖ វាយអក្សរដំបូងៗនៃ folder បន្ទាប់ ហើយចុច Tab ម្តងទៀត។

អ្នកក៏អាចផ្លាស់ទីច្រើនកម្រិតក្នុងពេលតែមួយបានដែរ ដោយភ្ជាប់ឈ្មោះ folder ជាមួយ /៖

cd projects/my-app/src

5. Absolute Path និង Relative Path

មានវិធីពីរយ៉ាងដើម្បីប្រាប់ cd (ឬ command ណាមួយ) ថាអ្វីមួយនៅឯណា៖

Absolute path ចាប់ផ្តើមដោយ / ហើយផ្តល់អាសយដ្ឋានពេញចាប់ពី root។ វាដំណើរការបានមិនថាអ្នកកំពុងនៅឯណាក៏ដោយ៖

cd /Users/dara/projects/my-app

Relative path មិនចាប់ផ្តើមដោយ / ទេ។ វាត្រូវបានគិត ធៀបនឹង current directory របស់អ្នក៖

cd projects/my-app

វាដំណើរការបានតែនៅពេលដែល projects ស្ថិតនៅក្នុង folder ដែលអ្នកកំពុងនៅឥឡូវនេះប៉ុណ្ណោះ។ បើអ្នកនៅកន្លែងផ្សេង អ្នកនឹងទទួលបាន៖

cd: no such file or directory: projects/my-app

នោះគឺជា error ដែលអ្នកចាប់ផ្តើមដំបូងជួបញឹកញាប់បំផុតនៅលើ command line ហើយឥឡូវនេះអ្នកដឹងហើយថាវាមានន័យដូចម្តេច៖ path នោះជា relative path ហើយអ្នកមិនបាននៅកន្លែងដែលអ្នកគិតថាអ្នកនៅនោះទេ។ រត់ pwd ដើម្បីពិនិត្យ។

ច្បាប់សាមញ្ញមួយ៖ ប្រើ relative path សម្រាប់ផ្លាស់ទីនៅក្បែរៗ (ខ្លី និងរហ័ស) ហើយប្រើ absolute path នៅពេលអ្នកត្រូវការអ្វីមួយដែលដំណើរការពីគ្រប់ទីកន្លែង — ដូចជានៅក្នុង script ឬនៅក្នុងឯកសារណែនាំ (documentation)។

6. ឈ្មោះពិសេស៖ ~, . និង ..

ឈ្មោះខ្លីៗបីលេចឡើងនៅគ្រប់ទីកន្លែង៖

ឈ្មោះអត្ថន័យឧទាហរណ៍
~Home folder របស់អ្នកcd ~/Documents ដំណើរការពីគ្រប់ទីកន្លែង
.Folder បច្ចុប្បន្នls . គឺដូចគ្នានឹង ls
..Parent folder — ឡើងលើមួយកម្រិតcd .. ឡើងលើមួយកម្រិត

ការឡើងលើគឺជាអ្វីដែលអ្នកនឹងធ្វើជាប្រចាំ៖

pwd
/Users/dara/projects/my-app/src
cd ..
pwd
/Users/dara/projects/my-app

អ្នកអាចភ្ជាប់ .. ជាបន្តបន្ទាប់ដើម្បីឡើងលើច្រើនកម្រិត ឬឡើងលើ ហើយចុះទៅក្នុង folder បងប្អូន (sibling folder) វិញ៖

cd ../..             # up two levels
cd ../other-app      # up one level, then into other-app

Shortcut ពីរទៀតដែលគួរដឹង៖

cd        # with no argument: go straight back to your home folder
cd -      # go back to the folder you were in before (like a "back" button)

cd - មានប្រយោជន៍គួរឲ្យភ្ញាក់ផ្អើល នៅពេលអ្នកប្តូរទៅមករវាង folder ពីរម្តងហើយម្តងទៀត។

ហេតុអ្វី . សំខាន់៖ ឥឡូវនេះវាមើលទៅដូចជាគ្មានប្រយោជន៍ ប៉ុន្តែអ្នកនឹងឃើញវាច្រើនណាស់។ code . បើក folder បច្ចុប្បន្ននៅក្នុង VS Code, docker build . build ចេញពី folder បច្ចុប្បន្ន ហើយ ./setup.sh រត់ script ដែលនៅក្នុង folder បច្ចុប្បន្ន (ជំពូកទី 10 ពន្យល់ពីមូលហេតុដែលត្រូវការ ./)។

7. File Windows របស់អ្នកពី WSL និង Git Bash

បើអ្នកប្រើ Windows នោះ file ធម្មតារបស់អ្នក — Desktop, Documents, Downloads — ស្ថិតនៅខាង Windows។ អ្នកនៅតែអាចចូលទៅដល់វាបាន៖

  • WSL៖ drive របស់ Windows លេចឡើងនៅក្រោម /mnt។ Home folder Windows របស់អ្នកគឺ /mnt/c/Users/<your-windows-name>។
  • Git Bash៖ drive លេចឡើងជា /c, /d ជាដើម។ Home folder របស់អ្នកគឺ /c/Users/<you> រួចទៅហើយ។

សម្រាប់ WSL ទម្លាប់ល្អមួយ៖ រក្សាទុក project កូដរបស់អ្នក នៅក្នុង home folder របស់ Linux (~) មិនមែននៅក្រោម /mnt/c ទេ។ ឧបករណ៍ដូចជា Node.js និង Git ដំណើរការលឿនជាងច្រើននៅទីនោះ។

ដើម្បីបើក folder បច្ចុប្បន្ននៅក្នុង file manager ធម្មតារបស់អ្នក៖

open .           # macOS
xdg-open .       # Linux
explorer.exe .   # WSL and Git Bash

នេះជាវិធីដ៏ល្អមួយដើម្បីពិនិត្យថាអ្វីដែល terminal បង្ហាញ និងអ្វីដែលអ្នកឃើញនៅក្នុង file manager គឺជារឿងតែមួយ — ព្រោះវាពិតជាដូច្នោះមែន។

8. រៀបចំ Folder សម្រាប់អនុវត្ត

ចាប់ពីពេលនេះតទៅ រាល់លំហាត់ទាំងអស់ក្នុងមេរៀនស៊េរីនេះធ្វើឡើងនៅក្នុង folder តែមួយ៖ ~/cli-practice។ ការរក្សាការអនុវត្តនៅក្នុង folder ដាច់ដោយឡែករបស់វា មានន័យថា ទោះបីអ្នកធ្វើខុសជាមួយ command ដូចជា rm (ជំពូកទី 4) ក៏ដោយ មានតែ file អនុវត្តរបស់អ្នកប៉ុណ្ណោះដែលប្រឈមនឹងហានិភ័យ។

រត់ command ទាំងនេះម្តងមួយៗ៖

cd ~
mkdir cli-practice
cd cli-practice
mkdir notes projects photos
ls
notes    photos   projects

mkdir មានន័យថា make directory។ Command ទីមួយបង្កើត cli-practice នៅក្នុង home folder របស់អ្នក ហើយ command ទីពីរបង្កើត folder បីក្នុងពេលតែមួយនៅខាងក្នុងវា។ អ្នកនឹងរៀនគ្រប់យ៉ាងដែល mkdir អាចធ្វើបាននៅក្នុងជំពូកបន្ទាប់ — សម្រាប់ពេលនេះ យើងគ្រាន់តែប្រើវាដើម្បីមានកន្លែងសម្រាប់ផ្លាស់ទីប៉ុណ្ណោះ។

ឥឡូវនេះ សាកល្បងផ្លាស់ទីនៅក្នុងវា៖

cd projects
pwd
cd ..
cd photos
cd ../notes
pwd
cd ~
cd cli-practice

នៅគ្រប់ជំហាន សូមក្រឡេកមើល prompt របស់អ្នក ឬរត់ pwd ដើម្បីបញ្ជាក់ថាអ្នកនៅឯណា។ មិនយូរប៉ុន្មាន វានឹងក្លាយជាទម្លាប់ដោយស្វ័យប្រវត្តិ។

9. សាកល្បងដោយខ្លួនឯង

  1. បើក terminal ថ្មីមួយ ហើយរត់ pwd។ តើវាជា home folder របស់អ្នកឬទេ?
  2. រត់ ls -la នៅក្នុង home folder របស់អ្នក។ តើធាតុណាខ្លះជា folder (d) ហើយធាតុណាខ្លះជា file (-)?
  3. ប្រើ cd និង Tab ដើម្បីចូលទៅក្នុង ~/cli-practice/projects ដោយមិនវាយឈ្មោះ folder ណាមួយពេញ។
  4. ពីខាងក្នុង projects ទៅកាន់ photos ដោយប្រើ relative path នៅក្នុង command cd តែមួយ។ បន្ទាប់មកធ្វើដូចគ្នាដោយប្រើ absolute path។
  5. រត់ cd តែឯង បន្ទាប់មករត់ cd -។ តើអ្នកទៅដល់ទីណារៀងរាល់ដង?
  6. រត់ open ., xdg-open . ឬ explorer.exe . (អាស្រ័យលើប្រព័ន្ធរបស់អ្នក) នៅក្នុង cli-practice ហើយប្រៀបធៀបបង្អួចនោះជាមួយ ls។

ឥឡូវនេះ អ្នកអាចរកផ្លូវរបស់អ្នកនៅក្នុង file system ដោយមិនចាំបាច់ប្រើ mouse។ បន្ទាប់ យើងចាប់ផ្តើមបង្កើត ចម្លង ផ្លាស់ទី និងលុប file។

ទិញកាហ្វេជូនខ្ញុំ

ចូលចិត្តមេរៀននេះមែនទេ? សូមពិចារណាទិញកាហ្វេជូនខ្ញុំមួយកែវ ដើម្បីគាំទ្រការបង្កើតមាតិកាឥតគិតថ្លៃបន្ថែមទៀត!