# Files आणि directories तयार, copy, move आणि delete करा

Source: https://ravindrabagale.com/mr/cyber/part-02/ch05-linux-basic-commands/5-3-working-with-files-and-directories.html
Language: mr (Marathi with English technical terms)

आता स्वतःच्या lab folder मध्ये files वर काम करू. प्रत्येक command मध्ये path काय दिलाय ते पाहत चला.

 | Command
 | उपयोग
 | Example

 | mkdir
 | Directory तयार करणे
 | mkdir project, mkdir -p a/b/c (create parents)

 | touch
 | रिकामी file तयार / timestamp update
 | touch index.html

 | cp
 | Copy करणे
 | cp a.txt b.txt, cp -​r site/ backup/

 | mv
 | Move किंवा rename
 | mv old.txt new.txt, mv file.txt /tmp/

 | rm
 | File delete करणे
 | rm file.txt, rm -i *.log (ask first)

 | rm -r
 | Directory आणि आतल्या entries delete करणे
 | rm -r olddir

 | rmdir
 | रिकामी directory delete करणे
 | rmdir emptydir

 | ln -s
 | Symbolic link तयार करणे
 | ln -​s /​etc/​nginx/​sites-​available/​app /​etc/​nginx/​sites-​enabled/

 | file
 | File type दाखवणे
 | file /bin/ls

 | stat
 | File ची सविस्तर metadata माहिती
 | stat index.html

mkdir -p ~/labs/site/css
cd ~/labs/site
touch index.html css/style.css
cp index.html index.bak
mv index.bak old-index.html
ls -R ~/labs
rm old-index.html

या example मध्ये ~/labs/site/css तयार होतो. touch ने index.html आणि css/style.css तयार होतात; file आधीपासून असेल तर timestamps update होतात. cp copy, mv rename/move आणि rm delete करतो. ls -R subfolders सहित listing दाखवतो.

mkdir -p मध्ये आवश्यक parent folders तयार होतात. cp -r directories copy करतो. rmdir फक्त रिकामा folder काढतो. ln -s symbolic link तयार करतो. file file type आणि stat detailed metadata दाखवतो.

rm म्हणजे Recycle Bin मध्ये टाकणं नाही

Command-line rm delete केलेल्या file ला सामान्यतः Trash मध्ये पाठवत नाही. rm -rf path वर recursively delete करतो. चुकीचा path किंवा रिकामी variable गंभीर नुकसान करू शकते. Source मधलं sudo rm -rf / हे धोकादायक काय करू नये याचं उदाहरण आहे—चालवू नका.

Practice

~/labs/site/{css,js,img} हे lab folders तयार करा. index.html आणि css/style.css जोडा. Site ची site-backup नावाने copy करा, त्या copy ला site-old नाव द्या आणि शेवटी फक्त ती lab copy delete करा. मूळ folder आणि copy यांचे paths आधी तपासा.

रवींद्र बागले यांची tip

Delete करण्याआधी त्याच path ची ls ने listing पाहा. महत्त्वाच्या files साठी rm -i confirmation विचारतो. तरी backup ची जागा confirmation घेऊ शकत नाही; path नीट वाचणं गरजेचं आहे.
