
Linux এ সবকিছু ফাইল এবং ডিরেক্টরি আকারে থাকে। Root থেকে শুরু করে sub-directory গুলো hierarchical ভাবে সাজানো থাকে।
Important directories:
| Directory | Purpose (ব্যবহার) |
|---|---|
/ | Root directory, সবকিছু এখান থেকে শুরু |
/home | User এর personal files, যেমন /home/username |
/bin | Common binaries (commands) |
/sbin | System binaries (admin commands) |
/etc | Configuration files |
/var | Variable files (logs, spool) |
/usr | User programs and data |
/tmp | Temporary files |
/dev | Device files |
/mnt | Mount point for temporary mounts |
/media | Removable media (USB, CD) |
pwd
$ pwd
/home/hasnat
ls
ls -l
ls -a
ls -lhls → ফাইলের নাম দেখায়ls -l → বিস্তারিত দেখায় (permissions, owner, size)ls -a → hidden files দেখায় (ফাইলের নাম যদি . দিয়ে শুরু হয়)ls -lh → human readable size দেখায়cd /path/to/directory
cd .. # parent directory এ যাওয়া
cd ~ # home directory এ যাওয়া
cd - # previous directory এ ফিরে যাওয়াmkdir new_folder
mkdir -p parent_folder/child_folder # nested directory
touch file.txt
touch শুধু ফাইল create করে বা existing ফাইল এর timestamp update করে।cp source.txt destination.txt
cp -r folder1/ folder2/ # directory copy
mv oldname.txt newname.txt
mv file.txt /path/to/destination/
rm file.txt
rm -r folder_name
rm -rf folder_name # force delete, সাবধানে ব্যবহার করতে হবে
cat file.txt # পুরো content দেখায়
less file.txt # page by page দেখায় (scrollable)
more file.txt # less এর simplified version
head file.txt # প্রথম 10 line দেখায়
head -n 20 file.txt # প্রথম 20 line
tail file.txt # শেষ 10 line
tail -f file.txt # real-time updates (logs) দেখার জন্য)
Linux এ অনেক কমান্ডে wildcard ব্যবহার করা যায়:
| Wildcard | Meaning |
|---|---|
* | 0 বা অনেক character |
? | 1 character |
[abc] | a বা b বা c character |
[0-9] | 0 থেকে 9 পর্যন্ত character |
উদাহরণ:
ls *.txt # সব txt ফাইল দেখাবে
ls file?.txt # file1.txt, file2.txt ইত্যাদি
ls [a-c]*.txt # a, b, c দিয়ে শুরু হওয়া txt ফাইল
ls > files.txt # output files.txt এ লেখা
ls >> files.txt # append mode
sort < unsorted.txt
ls -l | less
cat file.txt | grep "Linux"
find commandfind /home/hasnat -name "*.txt" # নাম অনুযায়ী খুঁজে বের করা
find /var -type f -size +1M # size >1MB
locate commandlocate file.txt
sudo updatedb দিয়ে database update করতে হয়grep commandgrep "hello" file.txt
grep -r "main" /home/hasnat/ # recursive search
grep -i "linux" file.txt # case-insensitive
Linux এ প্রতিটি ফাইল/ডিরেক্টরি owner & permission থাকে:
ls -l
chmod 644 file.txt # rw-r--r--
chmod +x script.sh # execute permission add
chown user:group file.txt
pwd, cd, lstouch, mkdir, cp, mv, rmcat, less, more, head, tailfind, locate, grep*, ?, [a-z])>, >>, <, |chmod, chown