پرکاربردترین دستورات Linux
بدون شک قدرتمند ترین بخش سیستم عامل گنو لینوکس رابط خط فرمان (CLI) است. خیلی از کارها فقط از طریق خط فرمان قابل انجام هست و همچنین خیلی از اقدامات از طریق آن سریع تر انجام می شود.
چند نکته:
قبل از اینکه به اصل موضوع بپردازیم چند نکته را باید بیان کنم. نکته اول اینکه الزاما تمام دستوراتی که اشاره خواهند شد به صورت پیش فرض در تمام توزیع های لینوکس وجود ندارند. بنابراین ممکن است بعضی از دستورات در بعضی از توزیع ها اجرا نشوند. نکته دوم اینکه با اجرای man قبل از دستور مورد نظر (به عنوان مثالman ls) , راهنمای کاملی از آن دستور را مشاهده خواهید کرد. برای اجرای بعضی دستورات باید سطح دسترسی بالا داشته باشید و یا باید آنها را مطابق نیازتان تغییر دهید. همچنین می توانید با استفاده از دستور زیر یک نسخه ی pdf از مستندات دستور مورد نظرتان را تهیه کنید.
$ man -t command | ps2pdf - > /home//man.pdf
به جای command نام دستور مورد نظر را قرار دهید.
و نکته ی سوم اینکه بعضی از دستورات را باید با کاربر ریشه (root) اجرا کنید. برای این کار باید از دستور sudo یا su به شکل زیر استفاده کنید:
$ su
< Enter Root Password >
# hdparm -tT /dev/sda
$ sudo hdparm -tT /dev/sda
بدیل دستورالعمل یک برنامه به pdf
man -t man | ps2pdf - > man.pdf
نمایش نام کامل مسیر اجرای یک برنامه
which command
نمایش زمان اجرای یک دستور
time command
شروع به کار کرونومتر، برای توقف CTRL+D را فشار دهید
time cat
اجرای یک دستور با درجه اهمیت پایین، به جای info دستور خود را قرار دهید
nice info
رفتن به شاخه قبلی
cd -
رفتن به شاخه خانه (Home)
cd
ورود به دایرکتوری یا شاخه ی مورد نظر مانند پوشه ی خانگی (home)
cd /home
برگشتن به دایرکتوری قبلی
cd.
برگشتن به دو دایرکتوری قبلی
cd./.
رفتن به پوشه ی خانگی کاربر مورد نظر از هر مسیر دلخواه
cd ~user1
نمایش فایل ها و دایرکتوری های موجود در دایرکتوری جاری
ls
ls -F
همانند دو دستور قبلی با این تفاوت که فایل های مخفی نیز نمایش داده می شود
ls -a
نمایش جزئیات فایل ها و دایرکتوری های موجود در دایرکتوری جاری
ls -l
نمایش فایل ها و دایرکتوری هایی که اسم آنها شامل اعداد است
ls *[0-9]*
نمایش تمام فایل ها و دایرکتوری های یک شاخه
tree
lstree
ایجاد یک دایرکتوری با نام dir1 در مسیر مورد نظر
mkdir dir1
ایجاد دو دایرکتوری همزمان در مسیر مورد نظر
mkdir dir1 dir2
ایجاد یک شاخه ی دایرکتوری با شروع از root
mkdir -p /tmp/dir1/dir2
پاک کردن یک فایل با نام file1
rm -f file1
پاک کردن یک دایرکتوری با نام dir1
rmdir dir1
پاک کردن یک دایرکتوری با نام dir1 و محتویات آن به صورت بازگشتی
rm -rf dir1
پاک کردن دو دایرکتوری در مسیر مورد نظر و محتویات آنها به صورت بازگشتی
rm -rf dir1 dir2
تغییر نام یا جا به جا کردن (move)یک فایل یا دایرکتوری
mv dir1 new_dir
کپی کردن یک فایل با نام file1 به مسیر مورد نظر
cp /home/file1 /media/sda5
کپی کردن تمام فایل های موجود در دایرکتوری مورد نظر (در این مثال دایرکتوری Videos) به مسیر جاری که در آن هستید
cp /media/sda5/Videos/*.
کپی کردن دایرکتوری مورد نظر (در این مثال دایرکتوری Videos) به مسیر جاری که در آن هستید
cp -a /media/sda5/Videos.
کپی دایرکتوری مقصد (dir1) به دایرکتوری مبدا (dir2). به جای dir1 و dir2 مسیر کامل دایرکتوری های مقصد و مبدا را قرار دهید
cp -a dir1 dir2
ایجاد لینک نمادین ( میانبر)به فایل یا دایرکتوری دلخواه. به جای file1 مسیر فایل یا دایرکتوری مورد نظر و به جای lnk1 مسیر دایرکتوری که قرار است فایل یا دایرکتوری میانبر در آن ایجاد شود را قرار دهید
ln -s file1 lnk1
تغییر تاریخ ویرایش یا تغییر یک فایل یا دایرکتوری. به جای file1 مسیر فایل یا دایرکتوری مورد نظر را قرار دهید
touch -t YYMMDDhhmm file1
نمایش نوع و ماهیت یک فایل به همراه مشخصات آن. به جای file1 مسیر فایل مورد نظر را قرار دهید
file file1
به شاخه dir برو و دستور مورد نظر (command)رو اجرا کن
(cd dir && command)
شاخه جاری را در استک قرار بده تا بتوانید بعدآ با popd به آن رجوع کنید
pushd.
لیست کردن فایل های مسیر جاری به ترتیب تاریخ ایجادشان
ls -lrt
لیست کردن فایل های مسیر وارد شده در 9 ستون از ترمینال
ls /usr/bin | pr -T9 -W$COLUMNS
جستجو ‘example’ در تمام فایل های مسیر جاری و شاخه ها
find -type f -print0 | xargs -r0 grep -F 'example'
جستجو ‘example’ در تمام فایل های مسیر جاری
find -maxdepth 1 -type f | xargs grep -F 'example'
اجرای هر آیتم به تعداد معین
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done
نمایش فایل هایی که توسط تمام کاربران قابل دیدن نیستند
find -type f! -perm -444
نمایش شاخه هایی که توسط تمام کاربران قابل دسترسی نیستند
find -type d! -perm -111
جستجو سریع دیکشنری برای پیشنود مورد نظر
look reference
مشخص کردن عباراتی که لغت مورد نظر در آن وجود دارد
grep --color reference /usr/share/dict/words
encrypt کردن فایل
gpg -c file
decrypt کردن فایل
gpg file.gpg
ایجاد فایل فشرده آرشیو از شاخه مورد نظر
tar -c dir/ | bzip2 > dir.tar.bz2
استخراج کردن فایل – از gzip به جای bzip2 برای استخراج کردن فایل tar.gz استفاده کنید
bzip2 -dc dir.tar.bz2 | tar -x
ایجاد فایل آرشیو encrypt شده از مسیر مورد نظر در کامپیوتری دیگر
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'
ایجاد فایل آرشیو از شاخه مورد نظر و زیر مجموعه هایش
find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2
ایجاد یک کپی از مسیر مورد نظر و زیر مجموعه هایش
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents
گرفتن پشتیبان از هاردتان بر روی یک کامپیوتر دیگر
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'
ذخیره یک نسخه قابل اجرا از صفحه سایت مورد نظرتان در شاخه جاری
(cd dir/ && wget -nd -pHEKk
ادامه دادن دانلود فایلی که بصورت نیمه کاره رها شده
wget -c
دانلود دسته ای از فایل ها در مسیر جاری
wget -r -nd -np -l1 -A '*.jpg'
دانلود url مورد نظر در ساعت 1 صبح در مسیر جاری
echo 'wget url' | at 01:00
دانلود با درجه اهمیت پایین و سرعتی که به 20K محدود شده
wget --limit-rate=20k url
بررسی لینک های یک فایل
wget -nv --spider --force-html -i bookmarks.html
نمایش نسخه کرنل و معماری سیستم
uname -a
نمایش نام و نسخه توزیعی که استفاده می کنید
head -n1 /etc/issue
نمایش تمام پارتیشن هایی که در سیستم شما ثبت شده اند
cat /proc/partitions
نمایش حجم RAM شما که توسط سیستم شناسایی شده
grep MemTotal /proc/meminfo
نمایش اطلاعات CPU
grep "model name" /proc/cpuinfo
نمایش اطلاعات PCI
lspci -tv
نمایش اطلاعات USB
lsusb -tv
نمایش فایل های MOUNT شده در سیستم و چینش آنها بصورت ستونی
mount | column -t
نمایش وضعیت سلول های باتری لپتاپ
grep -F capacity: /proc/acpi/battery/BAT0/info
نمایش اطلاعات دیسک
hdparm -i /dev/sda
تست سرعت خواندن اطلاعات از دیسک
hdparm -tT /dev/sda
تست برای پیدا کردن بلاک های غیر قابل خواندن
badblocks -s /dev/sda
نمایش وضعیت ethernet interface eth0
sudo apt-get install ethtool
تنظیم دستی سرعت ethernet interface
ethtool --change eth0 autoneg off speed 100 duplex full
نمایش وضعیت wireless interface eth1
iwconfig eth1
تنظیم دستی سرعت wireless interface
iwconfig eth1 rate 1Mb/s fixed
لیست کردن شبکه های بیسیم موجود
iwlist scan
لیست کردن interface های شبکه
ip link show
تغییر نام interface eth0 به wan
ip link set dev eth0 name wan
لیست کردن ip های interface ها
ip addr show
افزودن ip و mask
ip addr add 1.2.3.4/24 brd + dev eth0
نمایش جدول routing
ip route show
- لینک منبع
تاریخ: جمعه , 30 دی 1401 (02:31)
- گزارش تخلف مطلب