Files
nearology 99fb7f0e82 Add sitemap and styles for Persian font integration
- Created a new sitemap.xml file for better SEO.
- Added a compressed version of the sitemap as sitemap.xml.gz.
- Introduced extra.css for custom styles, including Persian font support (IRANSansX).
- Defined font-face rules for regular and bold styles of IRANSansX.
- Implemented various text styles and layout adjustments for better readability.
- Enhanced Mermaid diagram styles to support Persian text rendering.
2026-04-28 15:27:18 +03:30

2380 lines
46 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="fa" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="prev" href="../chapter1/">
<link rel="next" href="../lesson2/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>درسنامه ۱: دستورات pwd و cd - کارگاه آزمایشگاه سیستم عامل</title>
<link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="stylesheet" href="../stylesheets/extra.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="rtl" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#pwd-cd" class="md-skip">
پرش به محتویات
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="سرتیتر">
<a href=".." title="کارگاه آزمایشگاه سیستم عامل" class="md-header__button md-logo" aria-label="کارگاه آزمایشگاه سیستم عامل" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
کارگاه آزمایشگاه سیستم عامل
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
درسنامه ۱: دستورات pwd و cd
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="جستجو" placeholder="جستجو" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="جستجو">
<button type="reset" class="md-search__icon md-icon" title="بازنشانی" aria-label="بازنشانی" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
راه‌اندازی جستجو
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="هدایت" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="کارگاه آزمایشگاه سیستم عامل" class="md-nav__button md-logo" aria-label="کارگاه آزمایشگاه سیستم عامل" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
کارگاه آزمایشگاه سیستم عامل
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" checked>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
<span class="md-ellipsis">
📚 فصل یک
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
📚 فصل یک
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../chapter1/" class="md-nav__link">
<span class="md-ellipsis">
📄 معرفی فصل
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_2" checked>
<label class="md-nav__link" for="__nav_1_2" id="__nav_1_2_label" tabindex="0">
<span class="md-ellipsis">
📘 درسنامه‌ها
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_1_2">
<span class="md-nav__icon md-icon"></span>
📘 درسنامه‌ها
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
درسنامه ۱: دستورات pwd و cd
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
درسنامه ۱: دستورات pwd و cd
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="فهرست موضوعات">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
فهرست موضوعات
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
<span class="md-ellipsis">
دایرکتوری چیست؟
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#current-directory" class="md-nav__link">
<span class="md-ellipsis">
دایرکتوری فعلی (Current Directory)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pwd" class="md-nav__link">
<span class="md-ellipsis">
دستور pwd
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cd" class="md-nav__link">
<span class="md-ellipsis">
دستور cd
</span>
</a>
<nav class="md-nav" aria-label="دستور cd">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#absolute-path" class="md-nav__link">
<span class="md-ellipsis">
مسیر مطلق (Absolute Path)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#relative-path" class="md-nav__link">
<span class="md-ellipsis">
مسیر نسبی (Relative Path)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
<span class="md-ellipsis">
میانبر ~
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
<span class="md-ellipsis">
توصیهٔ تکمیلی
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../lesson2/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲: ساختار کلی دستورات در لینوکس
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳: دستور ls
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson4/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۴: مدیریت تاریخچه و صفحهٔ ترمینال
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson5/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۵: ساخت و حذف دایرکتوری‌ها
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson6/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۶: ساخت فایل و نمایش محتوا با touch و cat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson7/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۷: مدیریت فایل‌ها با cp، mv و rm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson8/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۸: مستندات دستورات و یادگیری عمیق در لینوکس
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson9/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۹: مدیریت تاریخ و تقویم با date و cal
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson10/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۱۰: استاندارد استریم‌ها در لینوکس
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson11/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۱۱: ساخت پایپ‌لاین در خط فرمان لینوکس
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_3" >
<label class="md-nav__link" for="__nav_1_3" id="__nav_1_3_label" tabindex="0">
<span class="md-ellipsis">
🧩 تمرین‌ها
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_3">
<span class="md-nav__icon md-icon"></span>
🧩 تمرین‌ها
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../exercise1/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۱: دیدن سخت
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise2/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۲: بازی بازی
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise3/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۳: دفترچه تیمی
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise4/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۴: بایگانی پروژه
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise5/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۵: شکار گزینهٔ درست
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise6/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۶: تقویم تیم پشتیبان
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise7/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۷: پایپ‌لاین خطاگیر
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise8/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۸: یادداشتِ مریخی
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise9/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۹: مرکز پشتیبانی و cat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise10/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۱۰: ادغامگرِ گزارش‌ها
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
📚 فصل دو
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
📚 فصل دو
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../chapter2/" class="md-nav__link">
<span class="md-ellipsis">
📄 معرفی فصل
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
<span class="md-ellipsis">
📘 درسنامه‌ها
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_2">
<span class="md-nav__icon md-icon"></span>
📘 درسنامه‌ها
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../lesson2-1/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۱: آشنایی با file و du
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-2/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۲: ادیتورهای پیش‌فرض لینوکس (nano و vim)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-3/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۳: دایرکتوری‌های مهم و ساختار فایل‌بندی لینوکس
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-4/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۴: مشاهدهٔ محتوا با more، less، head و tail
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-5/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۵: برش متن با cut
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-6/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۶: مرتب‌سازی و شمارش با sort و wc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-7/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۷: جست‌وجو در متن با grep
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-8/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۸: جست‌وجوی فایل‌ها با find
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-9/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۹: وایلدکاردها (Wildcards) در شل
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-10/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۱۰: فشرده‌سازی و آرشیو فایل‌ها
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson2-11/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۲-۱۱: مقدمه‌ای بر awk
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
📚 فصل سه
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
📚 فصل سه
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../chapter3/" class="md-nav__link">
<span class="md-ellipsis">
📄 معرفی فصل
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<span class="md-ellipsis">
📘 درسنامه‌ها
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<span class="md-nav__icon md-icon"></span>
📘 درسنامه‌ها
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../lesson3-1/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۱: چرا Bash و اسکریپت؟
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-2/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۲: ساخت اولین اسکریپت Bash
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-3/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۳: متغیرها در Bash
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-4/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۴: گرفتن ورودی از کاربر و آرگومان‌ها
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-5/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۵: شرط‌ها در Bash (if)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-6/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۶: مجوز اجرا و اجرای اسکریپت
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-7/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۷: حلقه‌ها در Bash (for و while)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-8/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۸: ساخت منوی ساده با case و حلقه
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lesson3-9/" class="md-nav__link">
<span class="md-ellipsis">
درسنامه ۳-۹: توابع در Bash و تمیزکردن اسکریپت‌ها
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<span class="md-ellipsis">
🧩 تمرین‌ها
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<span class="md-nav__icon md-icon"></span>
🧩 تمرین‌ها
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../exercise8/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۸: یادداشتِ مریخی
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise9/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۹: مرکز پشتیبانی و cat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exercise10/" class="md-nav__link">
<span class="md-ellipsis">
تمرین ۱۰: ادغامگرِ گزارش‌ها
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="فهرست موضوعات">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
فهرست موضوعات
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
<span class="md-ellipsis">
دایرکتوری چیست؟
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#current-directory" class="md-nav__link">
<span class="md-ellipsis">
دایرکتوری فعلی (Current Directory)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pwd" class="md-nav__link">
<span class="md-ellipsis">
دستور pwd
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cd" class="md-nav__link">
<span class="md-ellipsis">
دستور cd
</span>
</a>
<nav class="md-nav" aria-label="دستور cd">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#absolute-path" class="md-nav__link">
<span class="md-ellipsis">
مسیر مطلق (Absolute Path)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#relative-path" class="md-nav__link">
<span class="md-ellipsis">
مسیر نسبی (Relative Path)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
<span class="md-ellipsis">
میانبر ~
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
<span class="md-ellipsis">
توصیهٔ تکمیلی
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="pwd-cd">درسنامه ۱: دستورات <code>pwd</code> و <code>cd</code></h1>
<h2 id="_1">دایرکتوری چیست؟</h2>
<p>دایرکتوری (Directory) در سیستم‌عامل‌های شبه یونیکس همان پوشه‌ای است که مجموعه‌ای از فایل‌ها و دایرکتوری‌های دیگر را در خود نگه می‌دارد. دایرکتوری‌ها فضای فیزیکی جدیدی ایجاد نمی‌کنند، بلکه ساختاری منطقی برای سازمان‌دهی و جست‌وجوی فایل‌ها هستند. به کمک این ساختار می‌توانیم مسیر هر فایل را به صورت دقیق مشخص کنیم.</p>
<p>برای درک بهتر می‌توانید ساختار یک دایرکتوری را با دستور <code>tree</code> مشاهده کنید:</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>$<span class="w"> </span>tree<span class="w"> </span>~/projects/demo
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>/home/user/projects/demo
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>├──<span class="w"> </span>README.md
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>├──<span class="w"> </span>src
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span>└──<span class="w"> </span>main.py
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>└──<span class="w"> </span>docs
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span>└──<span class="w"> </span>guide.md
</span></code></pre></div>
<h2 id="current-directory">دایرکتوری فعلی (Current Directory)</h2>
<p>هر جلسه‌ای که در ترمینال باز می‌کنیم، درون یک دایرکتوری مشخص شروع می‌شود که به آن «دایرکتوری فعلی» یا «پوشهٔ کاری کنونی» می‌گوییم. به طور پیش‌فرض، ترمینال‌های لینوکسی در دایرکتوری خانگی کاربر (<code>/home/&lt;USERNAME&gt;</code>) اجرا می‌شوند.</p>
<h2 id="pwd">دستور <code>pwd</code></h2>
<p>دستور <code>pwd</code> مخفف <em>Print Working Directory</em> است و مسیر کامل دایرکتوری فعلی شما را نمایش می‌دهد. این دستور هیچ ورودی دیگری نیاز ندارد و خروجی آن همواره یک مسیر مطلق (Absolute Path) است.</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>$<span class="w"> </span><span class="nb">pwd</span>
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>/home/&lt;USERNAME&gt;
</span></code></pre></div>
<h2 id="cd">دستور <code>cd</code></h2>
<p>دستور <code>cd</code> مخفف <em>Change Directory</em> است و برای جابه‌جایی بین دایرکتوری‌ها استفاده می‌شود. مسیر مقصد را می‌توان به دو شکل مشخص کرد:</p>
<h3 id="absolute-path">مسیر مطلق (Absolute Path)</h3>
<p>در مسیر مطلق، مسیر کامل از ریشهٔ سیستم فایل (<code>/</code>) تا مقصد را می‌نویسیم. این روش مستقل از دایرکتوری فعلی است.</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>/home/&lt;USERNAME&gt;/Desktop
</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>$<span class="w"> </span><span class="nb">pwd</span>
</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>/home/&lt;USERNAME&gt;/Desktop
</span></code></pre></div>
<h3 id="relative-path">مسیر نسبی (Relative Path)</h3>
<p>در مسیر نسبی، مقصد را نسبت به دایرکتوری فعلی مشخص می‌کنیم. چند نکته کلیدی:</p>
<ul>
<li><code>.</code> به معنای دایرکتوری فعلی است.</li>
<li><code>..</code> به معنای دایرکتوری والد (یک پله بالاتر) است.</li>
<li>مسیرها می‌توانند چندین بار از <code>..</code> استفاده کنند، مانند <code>../../logs</code>.</li>
</ul>
<p>اگر ترمینال در دایرکتوری <code>/home/&lt;USERNAME&gt;</code> قرار دارد، دستورات زیر همگی شما را به دسکتاپ می‌رسانند:</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>Desktop
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>$<span class="w"> </span><span class="nb">pwd</span>
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a>/home/&lt;USERNAME&gt;/Desktop
</span></code></pre></div>
<p>یا با استفاده از <code>..</code> برای بازگشت به والد و سپس رفتن به مقصد جدید:</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>../Downloads
</span><span id="__span-4-2"><a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>$<span class="w"> </span><span class="nb">pwd</span>
</span><span id="__span-4-3"><a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>/home/&lt;USERNAME&gt;/Downloads
</span></code></pre></div>
<h2 id="_2">میانبر <code>~</code></h2>
<p>کرکتر <code>~</code> نمایندهٔ دایرکتوری خانگی کاربر فعلی است. این نماد در هر مسیری که استفاده شود، ابتدا به مسیر کامل دایرکتوری خانگی گسترش پیدا می‌کند. بنابراین سه دستور زیر نتیجهٔ یکسانی دارند:</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>/home/&lt;USERNAME&gt;/Desktop
</span><span id="__span-5-2"><a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/Desktop
</span><span id="__span-5-3"><a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="s2">&quot;</span><span class="nv">$HOME</span><span class="s2">/Desktop&quot;</span>
</span></code></pre></div>
<h2 id="_3">توصیهٔ تکمیلی</h2>
<ul>
<li>برای تأیید تغییر مسیر پس از هر <code>cd</code>، بلافاصله <code>pwd</code> اجرا کنید.</li>
<li>دستور <code>cd -</code> شما را به دایرکتوری قبلی بازمی‌گرداند.</li>
<li>اگر مسیر شامل فاصله باشد، آن را درون کوتیشن قرار دهید یا از کاراکتر <code>\</code> برای فرار دادن فاصله استفاده کنید، مانند <code>cd "My Projects"</code>.</li>
</ul>
<p>با تسلط بر <code>pwd</code> و <code>cd</code>، پیمایش در ساختار فایل‌ها و مدیریت پروژه‌ها در ترمینال بسیار ساده‌تر خواهد شد.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": [], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u06a9\u067e\u06cc \u0634\u062f", "clipboard.copy": "\u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646", "search.result.more.one": "1 \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647", "search.result.more.other": "# \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647", "search.result.none": "\u0633\u0646\u062f\u06cc \u06cc\u0627\u0641\u062a \u0646\u0634\u062f", "search.result.one": "1 \u0633\u0646\u062f \u06cc\u0627\u0641\u062a \u0634\u062f", "search.result.other": "# \u0633\u0646\u062f \u06cc\u0627\u0641\u062a \u0634\u062f", "search.result.placeholder": "\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u062c\u0633\u062a\u062c\u0648 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f", "search.result.term.missing": "\u0645\u0648\u062c\u0648\u062f \u0646\u06cc\u0633\u062a", "select.version": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0648\u06cc\u0631\u0627\u06cc\u0634"}, "version": null}</script>
<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
<script src="https://unpkg.com/mermaid@11.10.1/dist/mermaid.min.js"></script>
<script src="../javascripts/mermaid-init.js"></script>
<script src="../javascripts/mathjax.js"></script>
<script src="https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js"></script>
</body>
</html>