فصل ششم —قسمت اخر - قسمت شصت و ششم 🐧
time and printer - زمان و پرینتر
——————-
در این قسمت دو موضوع مهم داریم:
🕐 مدیریت زمان در لینوکس
🖨 مدیریت پرینتر در لینوکس
———————
🕐 بخش اول — زمان در لینوکس
1️⃣ date
برای نمایش تاریخ و ساعت فعلی سیستم:
date
مثلاً:
Mon Aug 24 20:10:30 +0330 2026
یعنی سیستم تاریخ، ساعت و Time Zone را نشان میدهد.
——————-
2️⃣ date +%s
این یکی خیلی مهم است.
date +%s
یک عدد بزرگ میدهد، مثلاً:
1787582430
این عدد Unix Timestamp است.
یعنی تعداد ثانیههایی که از:
1970-01-01 00:00:00 UTC
گذشته است.
🧠 چرا 1970؟
سیستمهای Unix یک نقطه شروع استاندارد برای شمارش زمان انتخاب کردند که به آن:
Unix Epoch
میگوییم.
مثلاً:
1970
↓
شروع شمارش
↓
1 ثانیه
2 ثانیه
3 ثانیه
...
به همین دلیل در برنامهنویسی و سیستمها خیلی زیاد Timestamp میبینی.
مثلاً:
date +%s
یا در PHP:
time();
———-
3️⃣ دستور time
اینجا یک اشتباه رایج وجود دارد:
time
با date فرق دارد.
time برای اندازهگیری مدت زمان اجرای یک دستور است.
مثلاً:
time ls
خروجی ممکن است چیزی شبیه این باشد:
real 0m0.005s
user 0m0.001s
sys 0m0.004s
یعنی میگوید اجرای ls چقدر زمان برده.
مثال واقعی
اگر بخواهی ببینی یک اسکریپت چقدر طول میکشد:
time ./backup.sh
🧠 پس:
date → الان ساعت چند است؟
time → این برنامه چقدر طول کشید؟
——————-
4️⃣ timedatectl
یکی از مهمترین ابزارهای مدیریت زمان در Linux است.
timedatectl
اطلاعاتی مثل:
Local time
Universal time
RTC time
Time zone
NTP
را نمایش میدهد.
———————
تغییر Time Zone
اول Time Zoneهای موجود:
timedatectl list-timezones
مثلاً:
sudo timedatectl set-timezone Asia/Tehran
بعد:
timedatectl
را بزن.
————
🌍 Local Time و UTC
در لینوکس معمولاً چند مفهوم زمانی داریم:
Local Time
UTC
RTC
Local Time
زمان محلی سیستم.
مثلاً:
20:30
UTC
زمان استاندارد جهانی.
مثلاً:
17:00 UTC
RTC
Real-Time Clock
ساعتی است که در سختافزار سیستم وجود دارد و حتی وقتی سیستمعامل خاموش است، زمان را نگه میدارد.
—————-
🧠 5️⃣ NTP چیست؟
NTP = Network Time Protocol
وظیفهاش این است که ساعت سیستم را با یک Time Server هماهنگ کند.
مثلاً:
Linux Server
│
│ NTP
↓
Time Server
│
↓
زمان صحیح
چرا مهم است؟
چون ساعت اشتباه میتواند باعث مشکلاتی مثل:
اشتباه بودن زمان Logها
مشکل Certificate
مشکل Authentication
مشکل Kerberos
مشکل هماهنگی سرورها
شود.
برای دیدن وضعیت NTP:
timedatectl
ممکن است ببینی:
System clock synchronized: yes
NTP service: active
——————
🖨 بخش دوم — Printer در Linux
حالا برویم سراغ پرینتر.
در لینوکس سیستم معروفی برای مدیریت پرینتر وجود دارد:
CUPS
CUPS = Common UNIX Printing System
CUPS سیستم اصلی چاپ در بسیاری از توزیعهای Linux و Unix است.
ساختار ساده:
Application
↓
CUPS
↓
Printer
مثلاً Firefox میخواهد یک صفحه را چاپ کند:
Firefox
↓
CUPS
↓
Printer
—————-
🖨 نصب CUPS
در Debian/Ubuntu:
sudo apt install cups
فعال کردن سرویس:
sudo systemctl enable --now cups
بررسی:
systemctl status cups
———
📋 دیدن پرینترها
یکی از ابزارهای مهم CUPS:
lpstat
مثلاً:
lpstat -p
برای دیدن Printerهای موجود.
و:
lpstat -a
برای دیدن Printerهایی که درخواستهای چاپ را قبول میکنند.
—————
دستور:
lp file.txt
یعنی فایل را برای چاپ ارسال کن.
مثلاً:
lp report.pdf
—————
❌ حذف یک Job چاپ
اگر اشتباهی فایل بزرگی را برای چاپ فرستادی:
cancel JOB-ID
مثلاً:
cancel printer-123
برای دیدن Jobها:
lpstat -o
—————
🌐 پنل گرافیکی CUPS
CUPS یک Web Interface هم دارد.
معمولاً:
http://localhost:631
در آن میتوانی:
Printer اضافه کنی
Printer حذف کنی
Jobها را ببینی
Printer پیشفرض تعیین کنی
وضعیت Printer را بررسی کنی
time and printer - زمان و پرینتر
——————-
در این قسمت دو موضوع مهم داریم:
🕐 مدیریت زمان در لینوکس
🖨 مدیریت پرینتر در لینوکس
———————
🕐 بخش اول — زمان در لینوکس
1️⃣ date
برای نمایش تاریخ و ساعت فعلی سیستم:
date
مثلاً:
Mon Aug 24 20:10:30 +0330 2026
یعنی سیستم تاریخ، ساعت و Time Zone را نشان میدهد.
——————-
2️⃣ date +%s
این یکی خیلی مهم است.
date +%s
یک عدد بزرگ میدهد، مثلاً:
1787582430
این عدد Unix Timestamp است.
یعنی تعداد ثانیههایی که از:
1970-01-01 00:00:00 UTC
گذشته است.
🧠 چرا 1970؟
سیستمهای Unix یک نقطه شروع استاندارد برای شمارش زمان انتخاب کردند که به آن:
Unix Epoch
میگوییم.
مثلاً:
1970
↓
شروع شمارش
↓
1 ثانیه
2 ثانیه
3 ثانیه
...
به همین دلیل در برنامهنویسی و سیستمها خیلی زیاد Timestamp میبینی.
مثلاً:
date +%s
یا در PHP:
time();
———-
3️⃣ دستور time
اینجا یک اشتباه رایج وجود دارد:
time
با date فرق دارد.
time برای اندازهگیری مدت زمان اجرای یک دستور است.
مثلاً:
time ls
خروجی ممکن است چیزی شبیه این باشد:
real 0m0.005s
user 0m0.001s
sys 0m0.004s
یعنی میگوید اجرای ls چقدر زمان برده.
مثال واقعی
اگر بخواهی ببینی یک اسکریپت چقدر طول میکشد:
time ./backup.sh
🧠 پس:
date → الان ساعت چند است؟
time → این برنامه چقدر طول کشید؟
——————-
4️⃣ timedatectl
یکی از مهمترین ابزارهای مدیریت زمان در Linux است.
timedatectl
اطلاعاتی مثل:
Local time
Universal time
RTC time
Time zone
NTP
را نمایش میدهد.
———————
تغییر Time Zone
اول Time Zoneهای موجود:
timedatectl list-timezones
مثلاً:
sudo timedatectl set-timezone Asia/Tehran
بعد:
timedatectl
را بزن.
————
🌍 Local Time و UTC
در لینوکس معمولاً چند مفهوم زمانی داریم:
Local Time
UTC
RTC
Local Time
زمان محلی سیستم.
مثلاً:
20:30
UTC
زمان استاندارد جهانی.
مثلاً:
17:00 UTC
RTC
Real-Time Clock
ساعتی است که در سختافزار سیستم وجود دارد و حتی وقتی سیستمعامل خاموش است، زمان را نگه میدارد.
—————-
🧠 5️⃣ NTP چیست؟
NTP = Network Time Protocol
وظیفهاش این است که ساعت سیستم را با یک Time Server هماهنگ کند.
مثلاً:
Linux Server
│
│ NTP
↓
Time Server
│
↓
زمان صحیح
چرا مهم است؟
چون ساعت اشتباه میتواند باعث مشکلاتی مثل:
اشتباه بودن زمان Logها
مشکل Certificate
مشکل Authentication
مشکل Kerberos
مشکل هماهنگی سرورها
شود.
برای دیدن وضعیت NTP:
timedatectl
ممکن است ببینی:
System clock synchronized: yes
NTP service: active
——————
🖨 بخش دوم — Printer در Linux
حالا برویم سراغ پرینتر.
در لینوکس سیستم معروفی برای مدیریت پرینتر وجود دارد:
CUPS
CUPS = Common UNIX Printing System
CUPS سیستم اصلی چاپ در بسیاری از توزیعهای Linux و Unix است.
ساختار ساده:
Application
↓
CUPS
↓
Printer
مثلاً Firefox میخواهد یک صفحه را چاپ کند:
Firefox
↓
CUPS
↓
Printer
—————-
🖨 نصب CUPS
در Debian/Ubuntu:
sudo apt install cups
فعال کردن سرویس:
sudo systemctl enable --now cups
بررسی:
systemctl status cups
———
📋 دیدن پرینترها
یکی از ابزارهای مهم CUPS:
lpstat
مثلاً:
lpstat -p
برای دیدن Printerهای موجود.
و:
lpstat -a
برای دیدن Printerهایی که درخواستهای چاپ را قبول میکنند.
—————
دستور:
lp file.txt
یعنی فایل را برای چاپ ارسال کن.
مثلاً:
lp report.pdf
—————
❌ حذف یک Job چاپ
اگر اشتباهی فایل بزرگی را برای چاپ فرستادی:
cancel JOB-ID
مثلاً:
cancel printer-123
برای دیدن Jobها:
lpstat -o
—————
🌐 پنل گرافیکی CUPS
CUPS یک Web Interface هم دارد.
معمولاً:
http://localhost:631
در آن میتوانی:
Printer اضافه کنی
Printer حذف کنی
Jobها را ببینی
Printer پیشفرض تعیین کنی
وضعیت Printer را بررسی کنی