دستورات کاربردی در سیستم عامل های لینوکس
مقدمه
در مستند سعی میشود به دستورات کاربردی در سیستم عامل های لینوکس پرداخته شود.
Basic File Navigation
دستور pwd دایرکتوری فعلی را نمایش میدهد.
[root@oelpri db_1]# pwd
/u02/app/oracle/product/11.2.0/db_1
دستور ls لیست فایلها و دایرکتوریهای مسیر مشخص شده را نمایش و اگر مسیری برای آن مشخص نشده باشد فایلها و دایرکتوریهای مسیر فعلی را نشان میدهد.
[root@oelpri 11.2.0]# ls
db_1
[root@oelpri 11.2.0]# ls /u02
app backup_inc.rman backup_inc.sh
[root@oelpri 11.2.0]# ls -al
total 12
drwxrwx—. ۳ oracle oinstall 4096 Dec 18 00:39 .
drwxrwx—. ۳ oracle oinstall 4096 Dec 18 00:39 ..
drwxrwx—. 75 oracle oinstall 4096 Dec 18 01:00 db_1
استفاده از سوئیچ –a فایلهای مخفی و استفاده از –l جزئیات را نیز نمایش میدهد.
از دستور cd برای تعویض دایرکتوری استفاده میشود.
[root@oelpri ~]# cd /u02/app/oracle/product/11.2.0/db_1/
دستور touch برای ساخت فایل جدید (خالی) با دسترسیهای پیشفرض استفاده میشود.
[root@oelpri 11.2.0]# touch myfile
دستور rm برای حذف فایلها و دایرکتوریها استفاده میشود.
[root@oelpri 11.2.0]# rm myfile
rm: remove regular empty file `myfile’? y
[root@oelpri 11.2.0]# rm -r /test
از سوئیچ –R برای اعمال دستور برروی زیرمجموعهها استفاده میشود.
از دستور mv برای جابجایی و یا تغییر نام فایلها و دایرکتوریها استفاده میشود.
[root@oelpri 11.2.0]# mv [from] [to]
[root@oelpri 11.2.0]# mv myfile myfile1
[root@oelpri 11.2.0]# mv * /myfile
[root@oelpri 11.2.0]# mv /test/* .
از ‘.’برای نشان دادن دایرکتوری فعلی استفاده میشود.
دستور cp برای کپی از فایلها و دایرکتوریها میباشد.
[root@oelpri 11.2.0]# cp [from] [to]
[root@oelpri 11.2.0]# cp myfile myfile1
[root@oelpri 11.2.0]# cp * /myfile
[root@oelpri 11.2.0]# cp /test/* .
دستور mkdir برای ساخت دایرکتوری جدید مورد استفاده قرار میگیرد.
[root@oelpri 11.2.0]# mkdir myfile
دستور rmdir برای حدف دایرکتوریها استفاده میشود.
[root@oelpri 11.2.0]# rmdir myfile
با استفاده از دستور find میتوان برای پیدا کردن محل قرارگیری یک فایل خاص استفاده کرد.
[root@oelpri 11.2.0]# find / -name oracle
/home/oracle
/u02/app/oracle
/u02/app/oracle/product/11.2.0/db_1/bin/oracle
[root@oelpri 11.2.0]# find / -print | grep -i oracle
علامت / نشان دهنده دایرکتوری برای جستجو میباشد. علائم تجاری مانند “dbms*” را میتوان برای نام فایل انتخاب کرد.
با استفاده از دستور which میتوان محل قرارگیری فایل اجرایی مورد استفاده را پیدا کنیم.
[root@oelpri 11.2.0]# which sqlplus
دستور which تنظیمات PATH شما را برای یافتن فایل اجرایی جستجو میکند.
File Permissions
دستور umask برای خواندن و یا اعطای دسترسی پیشفرض یوزر جاری به فایل استفاده میشود.
[root@oelpri 11.2.0]# umask 022
مقدار umask از مقدار پیش فرض (۶۶۶) کسر شده و نتیجه آن دسترسی نهایی را مشخص میکند.
[root@oelpri 11.2.0]# umask 022
Default permission : 666
Umask value: 022
Final permission: 644
دستور chmod برای تغییر دسترسی فایلی که قبلا ایجاد شده است.
[root@oelpri test]# chmod -R 770 myfile2
Permission World Group Owner
read + write + execute 7 (o+rwx) 7 (g+rwx) 7 (u+rwx)
read + write 6 (o+rw) 6 (g+rw) 6 (u+rw)
read + execute 5 (o+rx) 5 (g+rx) 5 (u+rx)
read only 4 (o+r) 4 (g+r) 4 (u+r)
write only 2 (o+w) 2 (g+w) 2 (u+w)
execute only 1 (o+x) 1 (g+x) 1 (u+x)
میتوان از کاراکترهای معادل در دستور chmod استفاده کرد.
[root@oelpri test]# chmod o+rwx myfile
[root@oelpri test]# chmod u+w,g+w,o+w myfile
[root@oelpri test]# chmod o-w myfile
از دستور chown برای بازنشانی ملکیت فایل بعد از ساخت استفاده میشود.
[root@oelpri test]# chown -R oracle:oinstall /u02/
از سوئیچ –R برای اعمال دستور برروی زیرمجموعهها استفاده میشود.
OS User Management
دستور useradd برای افزودن کاربر در سیستم عامل استفاده میشود.
[root@oelpri test]# useradd -g oinstall -G dba -d /usr/users/my_user -m -s /bin/ksh my_user
[root@oelpri test]# useradd -g oinstall -G asmadmin,asmdba,asmoper,dba -m grid
سوئیچ –g مشخص کننده گروه primary است.
سوئیچ –G مشخص کننده گروه secondary است.
سوئیچ –d مشخص کننده دایرکتوری پیشفرض است.
سوئیچ –m دایرکتوری پیشفرض را ایجاد میکند.
سوئیچ –s پوسته پیشفرض را مشخص میکند.
دستور usermod برای ایجاد تغییر در تنظیمات یوزر ایجاد شده استفاده میشود.
[root@oelpri test]# usermod -s /bin/csh my_user
[root@oelpri test]# usermod -a -G oper,asmdba oracle
دستور userdel برای حذف یوزرهای موجود استفاده میشود.
[root@oelpri test]# userdel -r my_user
سوئیچ –r برای حذف دایرکتوری پیشفرض میباشد.
دستور passwd جهت ایجاد و یا تنظیم مجدد کلمه عبور کاربران درهنگام ورود به سیستم میباشد.
[root@oelpri test]# passwd my_user
از دستور who میتوان برای نمایش تمام کاربرانی که به سیستم عامل متصل هستند استفاده کرد.
[root@oelpri test]# who
root pts/0 ۲۰۱۹-۰۱-۲۸ ۱۵:۰۹ (۱۹۲٫۱۶۸٫۲٫۱)
[root@oelpri test]# who | head -5
[root@oelpri test]# who | tail -5
[root@oelpri test]# who | grep –I ora
[root@oelpri test]# who | wc –l
۱
با head -5 خروجی دستور محدود میشود به ۵ خط اول از دستور who .
با tail -5 خروجی دستور محدود میشود به ۵ خط آخر از دستور who .
با grep –i ora خروجی دستور محدود میشود به خطوط دارای ora .
با wc –l تعداد خطوط دستور who و از اینرو تعداد یوزرهای متصل را نمایش میدهد.
Process Management
دستور ps اطلاعات پروسههای درحال اجرا را نمایش میدهد.
[root@oelpri test]# ps
PID TTY TIME CMD
۸۳۱۷ pts/0 ۰۰:۰۰:۰۰ bash
۹۳۶۰ pts/0 ۰۰:۰۰:۰۰ ps
[root@oelpri test]# ps -ef | grep -i ora
root ۹۳۶۳ ۸۳۱۷ ۰ ۱۷:۵۳ pts/0 ۰۰:۰۰:۰۰ grep -i ora
[root@oelpri test]# ps -ef | grep -i ora | grep -v grep
[root@oelpri test]# ps -ef | grep -i [o]ra
میتوان با استفاده از یک شناسهی پروسه در یک دستور kill یک پروسه خاص را از بین برد.
[root@oelpri test]# kill 12345
[root@oelpri test]# kill -9 12345
شما میتوانید با ارسال یک دستور چندین پروسه را با استفاده از دستورات kill , ps , awk از بین ببرید.
[root@oelpri test]# kill -9 `ps -ef | grep ora | awk ‘{print $2}’`
Uname and hostname
از دستورات uname و hostname میتوان برای گرفتن اطلاعات درمورد میزبان (host) استفاده کرد.
[root@oelpri test]# uname -a
Linux oelpri 4.1.12-37.4.1.el6uek.x86_64 #2 SMP Tue May 17 07:23:38 PDT 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@oelpri test]# uname -a | awk ‘{ print $2 }’
Oelpri
[root@oelpri test]# hostname
oelpri
Error Lines in Files
رسیدن به خطوط دارای خطا در فایل با استفاده از:
[root@oelpri test]# cat alert_LIN1.log | grep -i ORA-
با دستور grep –i ORA- خروجی محدود به خطوط دارای ORA میشود. با سوئیچ –i حساسیت برای تطبیق حروف بزرگ و کوچک از بین میرود. برای شمارش خطوط خطا از دستور “wc” استفاده میشود. این دستور بصورت معمول برای شمارش کلمات است ولی سوئیچ “-l” آنرا به تعداد خطوط تغییر میدهد.
[root@oelpri test]# cat alert_LIN1.log | grep -i ORA- | wc -l
۰
Remove Old Files
با دستور find میتوان فهرستی از فایلها را انتخاب و با استفاده از دستور rm و یا –delete حذف کرد.
[root@oelpri test]# find /backup/logs/ -name daily_backup* -mtime +21 -exec rm -f {} ;
[root@oelpri test]# find /backup/logs/daily_backup* -mtime +5 -exec rm -f {} \;
[root@oelpri test]# find /backup/logs/daily_backup* -mtime +5 -delete;
با استفاده از دستور –exec خروجی یک دستور را به ورودی دستور بعدی میدهیم و به این ترتیب برای حذف فایلها میتوان از آن استفاده کرد، همچنین با –mtime میتوان برای خروجی دستور find شروطی مانند آخرین زمان تغییر )برحسب روز( و… تعیین کرد.
File Exists Check
شما میتوانید در پوسته Bash وجود فایل را با استفاده از “[ -e filepath ]” بررسی کنید.در اسکریپت زیر فایل log بکآپ تغییر نام یافته و فایلهای قدیمیتر از ۳۰ روز حذف میشود.
این یک مثال برای تغییر فایل Log میباشد، درجایی که تاریخ در نام فایلها استفاده نشده.
#!/bin/bash
if [ -e /tmp/backup.log ]; then
DATE_SUFFIX=`date +”%Y”-“%m”-“%d”`
mv /tmp/backup.log /tmp/backup-$DATE_SUFFIX.log
fi
# Delete old log files.
find /tmp/backup*.log -mtime +30 -delete;
Rotate Log Files
این یک مثال درباره چگونگی مدیریت تغییر فایل Log بوسیله (Shell Bash) است، نام فایلهای Log شامل تاریخ میباشد و فایلهای قدیمیتر از ۳۰ روز حذف میشوند.
#!/bin/bash
DATE_SUFFIX=`date +”%Y”-“%m”-“%d”`
LOG_FILE=/tmp/backup-$DATE_SUFFIX.log
#Do something that needs logging.
echo “Send this to log” >> $LOG_FILE 2>&1
# Delete old log files.
find /tmp/backup*.log -mtime +30 -delete;
ادامه دارد
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.