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 -lh
ls
→ ফাইলের নাম দেখায়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
, ls
touch
, mkdir
, cp
, mv
, rm
cat
, less
, more
, head
, tail
find
, locate
, grep
*
, ?
, [a-z]
)>
, >>
, <
, |
chmod
, chown