130 likes | 345 Views
مطالب مقدماتی bash. ارائه دهنده: آرش افشار دومین فستیوال لینوکس دانشکده مهندسی کامپیوتر و فناوری اطلاعات. فهرست مطالب. Bash دستورات ساده مربوط به فایل ها و پوشه ها مجوزهای فایل ها اجرای دستورات با مجوز کاربر root manual pages and help Midnight Commander مدیریت فرآیندها
E N D
مطالب مقدماتی bash ارائه دهنده: آرش افشار دومین فستیوال لینوکس دانشکده مهندسی کامپیوتر و فناوری اطلاعات
فهرست مطالب Bash دستورات ساده مربوط به فایل ها و پوشه ها مجوزهای فایل ها اجرای دستورات با مجوز کاربر root manual pages and help Midnight Commander مدیریت فرآیندها متغییرها محیطی دستورات مفید
Bash • مثال عملی: • نوشتن دستورات و تکمیل خودکار • نشان دادن آرگومان دستورات • واسط سیستم عامل و انسان • محیط گرافیکی • محیط دستوری • shell, terminal, … • محیط های متنی linux • sh, bash, ksh, csh, … • این محیط ها یک زبان برنامه نویسی نیز دارند • bash • Bourne−Again Shell • de facto standard • sh • POSIX compatible • یک link به یک shell که با POSIX مطابقت دارد
دستورات ساده مربوط به فایل ها و پوشه ها • rename • تغییر نام دادن فایل ها و پوشه ها • mkdir • ساخت پوشه جدید • rm • حذف فایل ها و پوشه ها • آرگومان –r • ls • لیست کردن محتویات پوشه ها • مشاهده خصوصیات فایل ها • ساختار درختی پوشه ها • cd • تغییر به پوشه جدید • pwd • دیدن مکان فعلی • cp • کپی کردن فایل ها و پوشه ها • آرگومان –r • mv • Move کردن فایل ها و پوشه ها • تغییر نام دادن فایل ها و پوشه ها
مجوزهای فایل ها • مجوز فایل ها و پوشه ها یک مقدار 10 بیتی است • s rwxrwxrwx • اولین بیت از سمت چپ • setuid • مجوزهای سه بیتی که در ادامه می آیند به صورت rwx هستند • بیت های دوم، سوم، و چهارم از سمت چپ • مجوز های کاربر owner را مشخص می کند • بیت های پنجم، ششم، و هفتم از سمت چپ • مجوزهای گروه کاربرِ owner را مشخص می کند • بیت های هشتم، نهم، و دهم از سمت چپ • مجوزهای سایر کاربران را مشخص می کند
مجوزهای فایل ها (ادامه) • مشاهده مجوزها • ls -l • مثال عملی • تغییر مجوزها • chmod <permNumber> <file or dir> • chmod <u/g/o><+/-><r/w/x> • مثال عملی • تعیین owner فایل ها و پوشه ها • chown <user>:<group> <file path> • chown <user>:<group> <dir path> -R
اجرای دستورات با مجوز کاربر root • تغییر کاربر (switch user) • su <username> • اجرای دستورات با مجوز کاربر root • sudo • sudo apt-get install vim • فرم های گرافیکی دستور sudo • gksudo • gksu
manual pages and help • روش های مختلف کمک گرفتن در linux • man pages • info/pinfo • Help هر برنامه • man • اطلاعاتی مانند توضیح مختصر کاربرد، نحوه بکار گیری، و ... را در مورد ابزارها یا فایل های config و ... ارائه می کند • man <section> <page> • به صورت پیش فرض، اولین page یافته شده برگردانده می شود، مگر اینکه section مشخص شده باشد • section • 1 Executable programs or shell commands • 2 System calls (functions provided by the kernel) • 3 Library calls (functions within program libraries) • 4 Special files (usually found in /dev) • 5 File formats and conventions eg /etc/passwd • 6 Games • 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) • 8 System administration commands (usually only for root) • 9 Kernel routines [Non standard]
manual pages and help (cont.) • info/pinfo • نمایش دهنده اطلاعات info • این اطلاعات معمولاً در مکان های زیر ذخیره می شوند • /usr/share/info, /usr/info, /usr/local/share/info • اگر صفحه info متناسب آرگومان پاس شده پیدا نشد، دستور man صدا زده شده و خروجی اش نمایش داده می شود • pinfo اطلاعات را بهتر نمایش می دهد و امکان حرکت میان link ها در آن راحت تر است. • help برنامه ها • اکثر برنامه آرگومانی مانند -h یا --help دارند که به صورت خلاصه کاربرد برنامه را در آن شرح می دهند
Midnight Commander • تعریف در man page مربوط به mc • mc - Visual shell for Unix-like systems. • دارای دو پنل کنترلی • سایر توضیحات • عملی
مدیریت فرآیندها • ps • یک snapshot از وضعیت فرآیندها • نمایش تمام فرآیندها • psaxu • نمایش فرآيندها به صورت درختی • psaxjf • pidof • نمایش شناسه يک فرآيند (process id) • kill, killall • خاتمه دادن به فعالیت یک فرآیند • kill <process id> • Killall <process name> • top • نمایش dynamic وضعیت فرآیندهای سيستم • امکان شخصی سازی نحوه نمایش
متغییرها محیطی (environment variables) • نحوه تعریف • export <var name>=<value> • مثال • export http_proxy=http://username:password@bsc.aut.ac.ir • نحوه مشاهده • echo $<var name> • مثال • echo $http_proxy • دائمی کردن متغییرها • وارد کردن آن ها در فایل ~/.bashrc
دستورات مفید • more • مشاهده محتویات یک فایل با قابلیت حرکت به پایین • less/ • مشاهده محتویات یک فایل با قابلیت حرکت به بالا و پایین • cat • grep • جستجو برای یافتن الگويي خاص • | • redirect کردن خروجی یک دستور به عنوان ورودی دستور بعد • tail • مشاهده خطوط انتهایی فایل • -f • history • لیست دستورات اجرا شده