آشنایی با دستورات لینوکس بخش سوم
در بخش سوم از سری آموزش دستورات ترمینال linux به بررسی یکسری کلیات از دستورات به همراه مثال و همچنین بررسی انواع کاربران لینوکس و دسته بندی ها و دسترسی های هر کاربر خواهیم پرداخت. توجه داشته باشید که مطالب به عنوان یک مرجع می باشند و در پست های آینده بسیار کار آمد خواهند بود.
Linux commands
در اینجا چند دستورالعمل اساسی و رایج لینوکس با مثال استفاده می شود:
Filesystem
ls
دستور ls فهرست محتویات دایرکتوری جاری (یا یکی که مشخص شده است) را فهرست می کند. این می تواند با استفاده از flag -l برای نمایش اطلاعات اضافی (مجوز ها، مالک، گروه، اندازه، تاریخ و زمان بندی آخرین ویرایش) در مورد هر فایل و دایرکتوری در یک فرمت لیست استفاده شود. پرچم -a به شما امکان می دهد که فایل هایی را که با آنها شروع می شود را مشاهده کنید. (یعنی dotfiles).
cd
با استفاده از cd می توانید دایرکتوری فعلی خود را تغییر دهید. شما می توانید مسیرهای نسبی (i.e. cd directoryA) یا مطلق (i.e. cd / home / pi / directoryA) را نیز استفاده کنید.
pwd
دستور pwd نام دایرکتوری فعلی را نمایش می دهد: در Raspberry Pi، استفاده از دستور pwd چیزی مانند / home / pi را نمایش می دهد.
mkdir
شما می توانید از mkdir برای ایجاد یک دایرکتوری جدید (پوشه) استفاده کنید، برای مثال mkdir newDir دایرکتوری جدید را در دایرکتوری فعلی ایجاد خواهد کرد.
rmdir
برای حذف پوشه های خالی، از rmdir استفاده کنید. بنابراین، برای مثال، rmdir oldDir پوشه oldDir را تنها اگر خالی باشد حذف می کند.
rm
دستور rm فایل مشخص شده را حذف می کند (یا بازگشتی از یک دایرکتوری زمانی که با -r استفاده می شود). با این دستورالعمل به احتیاط برخورد کنید : فایلهایی که به این ترتیب حذف می شوند، عمدتا به خوبی حذف شده اند و قابل برگشت نیستند!
cp
استفاده از cp یک کپی از فایل را ایجاد می کند و آن را در محل مشخص شده قرار می دهد (این مشابه کپی و چسباندن است). به عنوان مثال، cp ~ / fileA / home / otherUser /
فایل file file را از دایرکتوری خانگی شما به کاربر userUser کپی می کند (فرض کنید شما مجوز کپی آن را داشته باشید). این فرمان میتواند به عنوان آرگومان فایل FILE (cp fileA fileB)، FILE DIR (cp fileA / directoryB /
) یا -r DIR DIR (که به طور بازگشتی محتوای محتویات دایرکتوری ها را کپی می کند) را حذف کند.
mv
دستور mv یک فایل را منتقل می کند و آن را در محل مشخص شده قرار می دهد (به همین ترتیب زمانی که دستور cp عمل copy-paste را اجرا می کند، mv cut-paste را اجرا می کند). استفاده مشابه cp است. بنابراین mv ~ / fileA / home / otherUser /
فایل fileA را از دایرکتوری خانگی شما به مکان دوم انتقال می دهد. این فرمان میتواند به عنوان آرگومان فایل FILE فایل (mv fileA fileB)، FILE DIR (mv fileA / directoryB /) یا DIR DIR (mv / directoryB / directoryC) را بگیرد. این فرمان همچنین به عنوان یک روش برای تغییر نام فایل ها و دایرکتوری ها پس از ایجاد آنها مفید است.
touch
touch آخرین بار اصلاح شده فایل (های) مشخص شده را تعیین می کند و اگر آن را قبلا وجود نداشته باشد، آن را ایجاد می کند.
cat
شما می توانید از cat برای فهرست محتویات فایل (ها) استفاده کنید، به عنوان مثال cat thisFile محتویات این فایل را نمایش می دهد. می توان برای فهرست محتویات چندین فایل استفاده کرد، به عنوان مثال cat * .txt، محتویات تمام فایل های .txt را در دایرکتوری فعلی لیست می کند.
head
فرمان head آغاز یک فایل را نشان می دهد. می توان با -n
برای مشخص کردن تعداد خطوط برای نشان دادن (به طور پیش فرض ده) و یا با -c
برای مشخص کردن تعداد بایت ها استفاده شود.
tail
در مقابل سر، دم، پایان یک فایل را نمایش می دهد. نقطه شروع در فایل می تواند از طریق -b
برای 512 بلوک بایت، -c
برای بایت، یا -n
برای تعداد خط ها مشخص شود.
chmod
شما معمولا از chmod برای تغییر مجوزهای یک فایل استفاده می کنید. فرمان chmod میتواند از علامتهای تو (کاربر دارای پرونده)، g (گروههای فایل) و (سایر کاربران) و مجوزهای r (خواندن)، w (نوشتن) و x (execute) استفاده کنند. با استفاده از chmod u + x * filename *
مجوز اجرا برای صاحب فایل را اضافه کنید.
chown
دستور chown کاربر و / یا گروهی که سرپرستی یک فایل را بر عهده دارد تغییر می دهد. به طور معمول باید به عنوان root از sudo استفاده کرد. e.g. sudo chown pi: root * filename *
مالک را به pi تغییر خواهد داد و گروه را ریشه می کند.
ssh
ssh نشان دهنده secure shekk است. با استفاده از یک اتصال شبکه رمزگذاری شده به یک کامپیوتر دیگر وصل شوید.
SCP
دستور scp یک پرونده را از یک رایانه به یک دیگر با استفاده از ssh کپی می کند.
sudo
فرمان sudo شما را قادر میسازد یک فرمان را به عنوان یک کاربر فوق کاربر یا root اجرا کنید. استفاده از sudo -s
برای یک shell superuser استفاده می شود.
DD
دستور dd یک پرونده را برای تبدیل فایل به عنوان مشخص شده کپی می کند. این اغلب برای کپی یک کل دیسک به یک فایل تک یا دوباره استفاده می شود. بنابراین، برای مثال، dd if = / dev / sdd of = backup.img
یک image پشتیبان از یک کارت SD یا درایو USB را در / dev / sdd ایجاد می کند. اطمینان حاصل کنید که هنگام کپی کردن یک img به کارت SD از درایو درست استفاده کنید زیرا می تواند کل دیسک را بازنویسی کند.
DF
برای نمایش فضای دیسک در دسترس و استفاده شده در فایل سیستم های نصب شده از DF استفاده کنید. از df -h
استفاده کنید تا خروجی را در فرمت قابل خواندن با استفاده از M برای MB ها ببینید تا اینکه تعداد بایت ها را نشان دهید.
unzip
دستور unzip فایل ها را از یک فایل زیپ فشرده استخراج می کند.
tar
از tar برای ذخیره یا استخراج فایل ها از یک فایل آرشیو استفاده کنید. همچنین می تواند فضای مورد نیاز را با فشرده سازی فایل مشابه یک فایل زیپ کاهش دهد. برای ایجاد یک فایل فشرده، از tar -cvzf * filename.tar.gz * * directory / /
برای استخراج محتویات یک فایل از tar -xvzf * filename.tar.gz
استفاده کنید.
pipes
یک pipe اجازه می دهد تا خروجی از یک فرمان به عنوان ورودی برای یک فرمان دیگر استفاده شود. نماد لوله یک خط عمودی است. |
برای مثال، برای نشان دادن ده نوشته اول از دستور ls، می توان از طریق فرمان با دستور head ls |
انجام داد.
tree
از دستور tree برای نشان دادن یک پوشه و تمام زیر شاخه ها و فایل ها به عنوان یک ساختار درخت استفاده می شود.
&
یک فرمان را در پس زمینه با & اجرا کنید، و shell را برای فرامین آینده آزاد کنید.
wget
با wget یک فایل را از وب به طور مستقیم به کامپیوتر دانلود کنید. بنابراین:
wget https://www.raspberrypi.org/documentation/linux/usage/commands.md
این فایل را به رایانه خود به عنوان curl commands.md دانلود می کند. برای دانلود یا آپلود فایل به / از یک سرور از curl استفاده کنید. به طور پیشفرض، محتویات فایل را روی صفحه نمایش می دهد.
man
صفحه کتابچه راهنمای کاربر برای یک فایل را با man نمایش دهید. برای کسب اطلاعات بیشتر، man man را اجرا کنید تا صفحه دستی کتاب فرمان man را ببینید.
search
grep
از grep برای جستجو در داخل فایل ها برای الگوهای جستجوی خاص استفاده کنید. به عنوان مثال، grep "search" * .txt
در تمام فایل های موجود در دایرکتوری فعلی که با جستجوی .txt به پایان می رسد، نگاه می کند. دستور grep از عبارات منظم پشتیبانی می کند که اجازه می دهد ترکیب های حرفی خاصی در جستجو باشد.
awk
awk زبان برنامه نویسی مفید برای جستجو و دستکاری فایل های متنی است.
find
دستور find به دنبال دایرکتوری و زیر شاخه ها برای فایل ها با الگوهای خاص است.
whereis
برای پیدا کردن محل یک فرمان از کجا استفاده کنید. به نظر می رسد از مکان های برنامه های استاندارد تا زمانی که فرمان درخواست شده را پیدا کند.
Networking
ping
ابزار ping معمولا برای بررسی اینکه آیا ارتباط با میزبان دیگری می تواند مورد استفاده قرار گیرد. با استفاده از مشخص کردن یک نام میزبان (به عنوان مثال ping raspberrypi.org
) یا یک آدرس IP (به عنوان مثال ping 8.8.8.8
) با تنظیمات پیشفرض میتواند مورد استفاده قرار گیرد. می تواند تعداد بسته های ارسال شده با پرچم -c
را مشخص کند.
nmap
nmap ابزار کاوش و اسکن شبکه است. می تواند اطلاعات پورت و سیستم عامل در مورد یک میزبان یا طیفی از میزبانها را بازخوانی کند.
hostname
دستور hostname نام میزبان فعلی سیستم را نمایش می دهد. یک کاربر root میتواند نام میزبان را به یک نام جدید تنظیم کند به عنوان مثال hostname new-host
.
ifconfig
استفاده از ifconfig برای نمایش جزئیات پیکربندی شبکه برای اینترفیس در سیستم فعلی می باشد. (ifconfig). با تهیه فرمان با نام یک رابط (مثلا eth0 یا lo) شما می توانید پیکربندی را تغییر دهید.
Linux Users
مدیریت کاربر در Raspbian در خط فرمان انجام می شود. کاربر پیش فرض pi است و رمز عبور raspberry است. شما می توانید کاربر اضافه کنید و رمز عبور هر کاربر را تغییر دهید.
تغییر رمز عبور
هنگامی که به عنوان کاربر pi وارد شدید، می توانید رمز عبور خود را با فرمان passwd تغییر دهید. passwd را در خط فرمان وارد کنید و Enter را فشار دهید. از شما خواسته خواهد شد که گذرواژه فعلی خود را برای تأیید اعتبار وارد کنید، و سپس یک گذرواژه جدید درخواست کنید. دکمه Enter را بزنید و از شما خواسته می شود تا آن را تأیید کنید. توجه داشته باشید که هنگام وارد کردن گذرواژه شما هیچ کاراکتری نمایش داده نمی شود. هنگامی که شما به درستی رمز عبور خود را تأیید کردید، یک پیام موفقیت آمیز نشان داده می شود (passwd: رمز عبور با موفقیت به روز شد )، و رمز عبور جدید بلافاصله اعمال خواهد شد. اگر کاربر دارای مجوزهای sudo باشد، می توانید رمز عبور دیگری را با passwd قبل از نام کاربری کاربر تغییر دهید. به عنوان مثال، sudo passwd bob
به شما این امکان را می دهد که رمز عبور کاربر باب را تنظیم کنید و سپس برخی از اختیارات اضافی برای کاربر مانند نامشان را تنظیم کنید. فقط Enter را فشار دهید برای گذر کردن از هر کدام از تنظیمات کافیست که enter را وارد نمایید
حذف رمز عبور یک کاربر
شما می توانید رمز عبور برای کاربر bob را با sudo passwd bob -d
حذف کنید.
یک کاربر جدید ایجاد کنید
شما می توانید با استفاده از فرمان adduser، کاربران دیگری را در Raspbian خود ایجاد کنید. sudo adduser bob
را وارد کنید و برای یک کاربر جدید یک رمز عبور درخواست می شود. اگر رمز عبور را نمی خواهید، خالی بگذارید.
پوشه home
هنگامی که یک کاربر جدید ایجاد می کنید، یک پوشه خانه در / home /
ایجاد می شود. پوشه خانگی کاربر pi در / home / pi /
است.
skel
پس از ایجاد یک کاربر جدید، محتویات / etc / skel /
به پوشه اصلی کاربر جدید کپی می شود. شما می توانید دات فایل ها مانند .bashrc
را در / etc / skel /
به نیازهای خود اضافه کنید یا تغییر دهید و این نسخه برای کاربران جدید اعمال خواهد شد.
sudoers
کاربر پیش فرض pi در Raspbian sudoer است. این به شما امکان می دهد که دستورات را به عنوان ریشه قبل از sudo اجرا کنید و برای sudo su
استفاده کنید.
یک کاربر را حذف کنید
شما می توانید کاربر را در سیستم خود با دستور userdel
حذف کنید. همچنین پرچم -r
را برای حذف پوشه خانگی خود نیز اجرا کنید:
sudo userdel -r bob
Root User/Sudo
سیستم عامل لینوکس یک سیستم عامل چند کاربره است که اجازه می دهد تا با چندین کاربر وارد سیستم شوید و از رایانه استفاده کنید. برای محافظت از کامپیوتر (و حریم خصوصی کاربران دیگر)، توانایی های کاربران محدود می شود. اکثر کاربران مجاز به اجرای اکثر برنامه ها و ذخیره و ویرایش فایل های ذخیره شده در پوشه خانگی خود هستند. کاربران معمولی به طور معمول مجاز به ویرایش فایل ها در پوشه های دیگر کاربران یا هر یک از فایل های سیستم نیستند. یک کاربر خاص در لینوکس شناخته شده به عنوان کاربر superuser است، که معمولا به عنوان root نام برده می شود. کاربر superuser دسترسی نامحدود به کامپیوتر دارد و می تواند تقریبا هر چیزی را انجام دهد.
sudo
به طور معمول به ریشه کامپیوتر وارد نمی شوید، اما می توانید از دستور sudo برای دسترسی به عنوان کاربر superuser استفاده کنید. اگر شما به عنوان کاربر Pi به Raspberry Pi وارد می شوید، به عنوان یک کاربر عادی وارد سیستم شده اید. شما می توانید دستورات را به عنوان کاربر ریشه با استفاده از دستور sudo قبل از برنامه ای که می خواهید اجرا شود، اجرا کنید. به عنوان مثال، اگر شما می خواهید نرم افزار اضافی را در Raspbian نصب کنید، معمولا از ابزار apt-get
استفاده می کنید. برای به روز رسانی لیستی از نرم افزار در دسترس، شما باید با دستور sudo فرمان apt-get
را اجرا کنید: sudo apt-get update شما همچنین می توانید یک shell superuser را با استفاده از sudo su
اجرا کنید. هنگام اجرای دستورات به عنوان یک کاربر فوق العاده هیچ چیز برای محافظت در برابر اشتباهاتی که می تواند به سیستم آسیب برساند وجود ندارد. توصیه می شود که فقط دستورات را به عنوان کاربر superuser در صورت لزوم اجرا کنید.
چه کسی می تواند از sudo استفاده کند؟
اگر کسی بتواند sudo را در مقابل دستورات خود قرار دهد،مبحث امنیت را زیر سوال خواهد برد، بنابراین فقط کاربرانی که تایید دارند می توانند از sudo برای به دست آوردن امتیازات مدیر استفاده کنند. کاربر pi در فایل sudoers از کاربران تایید شده گنجانده شده است. برای اجازه دادن به کاربران دیگر به عنوان یک کاربر فوق کاربر می توانید کاربر را به گروه sudo با usermod
اضافه کنید، فایل / etc / sudoers
را ویرایش کنید، یا با استفاده از visudo
آنها را اضافه کنید.