> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/1.0.0.part1intro/1.1.0.basic/1.1.5.file.md).

# ফাইল

লিনাক্সের দুনিয়ায় একটি কথা খুব জনপ্রিয়, "Everything is a file." অর্থাৎ সবকিছুই ফাইল। ফাইল নিয়েই যত কাজ। এই অংশে আমরা ফাইল সম্পর্কিত কিছু কমান্ড নিয়ে কথা বলবো।

## ফাইল চেনা

এক‌টা ফাইল সম্পর্কে মোটামুটি একটা ধারনা আসবে **file** কমান্ডটি দিয়ে। এই কমান্ডটির আর্গুমেন্ট হিসেবে ফাইলের নাম দিলে সে বের করে দেবে এর সম্পর্কিত কিছু তথ্য।

```
me@howtocode-pc:~/Music/Bob Dylan$ file 01.\ Blowin\'\ In\ The\ Wind.ogg 
01. Blowin' In The Wind.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~112000 bps
```

উপরের উদাহরনে আমরা একটি ওজিজি অডিও ফাইলের সম্পর্কে জানতে চেয়েছিলাম **file** কমান্ডটির সাহায্যে। এটি আমাদের বেশকিছু তথ্য জানিয়েছে।

## টেক্সট ফাইল পড়া

আমরা **less** কমান্ডটি ব্যবহার করি টেক্সট(text) ফাইল পড়তে। লিনাক্স সিস্টেমে প্রচুর প্রোগ্রাম সরাসরি টেক্সট ফাইল ব্যবহার করে। **less** এইসব ফাইল পড়ার বেশ একটা দ্রুত ও সহজ উপায় করে দেয়। একটা মজার জিনিস বলে রাখি। ইউনিক্স সিস্টেমে একইরকম একটি প্রোগ্রাম ছিল more নামে। সেটির ফ্রী বা লিব্রে ভার্শন হল less।

### টেক্সট কি?

এখন আমাদের একটু জানা উচিৎ টেক্সট ফাইল কোনগুলোকে বলবো। কম্পিউটার বিভিন্নরকম তথ্য আমাদের সামনে বিভিন্নভাবে উপস্থাপন করে। এইসব তথ্য উপস্থাপনের ক্ষেত্রে দুটো বিষয় যুক্ত। ১) কি ধরনের তথ্য এবং ২) কিরকম সংখ্যায় তার প্রকাশ। ক“”ম্পিউটার শেষমেষ সংখ্যা ছাড়া আর কিছুই বোঝে না।

কোনো কোনো ক্ষেত্রে এই প্রকাশপদ্ধতি খুব জটিল যেমন কমপ্রেসড্ ভিডিও ফাইল, অন্যদিকে কিছু কিছু বেশ সহজ। একটা খুব প্রথমদিকের ও সহজ উপায় হল অ্যাসকি টেক্সট(ASCI - American Standard Code for Information Interchange)। এটা প্রথমে টেলিটাইপ মেশিনগুলোতে ব্যবহৃত হয়েছিল কীবোর্ডের ক্যারেক্টারগুলোর সংখ্যাতাত্ত্বিক অবস্থান দিতে। এটা খুবই সহজ পদ্ধতি এবং খুব কম জায়গা নেয়। একটি অক্ষরের জন্য এক বাইট জায়গা প্রয়োজন হয়। এক্ষেত্রে বলা ভালো, ওয়ার্ড প্রসেসর দিয়ে তৈরী ডকুমেন্ট কিন্তু টেক্সট ফাইল নয়। এতে অনেক ননক্যারেক্টার তথ্য থাকে ফরম্যাটিং এর জন্যে।

### less এর ব্যবহার

**less** কমান্ডটি **file** কমান্ডটির মতই ব্যবহার করতে হয়। অর্থাৎ কমান্ডের আর্গুমেন্ট হিসেবে ফাইলনেম দিতে হয়। যেমন: `less /etc/passwd`। কমান্ডটি দিলে ফাইলটি দেখাবে। আপনি উপরে ও নীচে স্ক্রল করে পড়তে পারবেন এবং **q** চেপে এটা বন্ধ করতে পারবেন।

আমরা **less** এর গুরুগ্বপূর্ণ কমান্ডগুলোতে চোখ বুলিয়ে নিই:

| কমান্ড             | কাজ                                                                          |
| ------------------ | ---------------------------------------------------------------------------- |
| Page Up or b       | এক পেজ উপরে স্ক্রল করবে                                                      |
| Page Down or space | এক পেজ নীচে স্ক্রল করবে                                                      |
| Up Arrow           | এক লাইন উপরে স্ক্রল করবে                                                     |
| Down Arrow         | এক লাইন নীচে স্ক্রল করবে                                                     |
| G                  | ফাইলের একদম শেষে যাবে                                                        |
| 1G or g            | ফাইলের একদম শুরুতে যাবে                                                      |
| /characters        | **/** চিহ্নর সাথে যা লেখা হবে সেটা খুঁজবে এবং প্রথম যেখানে পাওয়া গেছে দেখাবে |
| n                  | কোনো কিছু সার্চ করা হলে সেটা আর পরে কোথায় আছে দেখাবে                         |
| h                  | হেল্প স্ক্রীন দেখাবে                                                         |
| q                  | বন্ধ করবে                                                                    |
