خطاهای پیش آمده در لینوکس و راه حل آنها

تجریبات بر طرف سازی خطاهای لینوکس

خطاهای پیش آمده در لینوکس و راه حل آنها

تجریبات بر طرف سازی خطاهای لینوکس

دستور نصبjdk open java 8 روی Ubuntu Linux

دستور نصب اپن جاوا jdk  روی لینوکس ابونتو 

نسخه 8

sudo apt-get install  openjdk-8-jdk

نسخه 7

sudo apt-get install  openjdk-7-jdk


روشهایی برای فرمت دادن به خروجی به صورت عدد صحیح interger در bash

روش اول - 

$ padtowidth=3
$ for i in 0 {8..11} {98..101}; do printf "%0*d\n" $padtowidth $i; done
000
008
009
010
011
098
099
100
101

روش دوم- 

$ seq -s, -w 1 10
01,02,03,04,05,06,07,08,09,10

$ for i in `seq -w 95 105` ; do echo -n " $i" ; done
095 096 097 098 099 100 101 102 103 104 105

روش سوم-این روش با bash ,ورژن 4 کار میکند

echo {01..100} # 001 002 003 ...
echo {03..100..3} # 003 006 009 ...

روش چهارم-

#!/bin/bash

max=100; 

for ((i=1;i<=$max;i++)); do 
    printf "%0*d\n" ${#max} $i
done

Examples:

max=10

01
02
03
04
05
06
07
08
09
10

max=100

001
002
003
004
005
006
...
097
098
099
100

max=1000

0001
0002
0003
0004
0005
0006
...
0997
0998
0999
1000



اضافه کردن دسترسی شناسه و گروه های دیگر به گروه پایه فایلها و دایرکتوری ها در لینوکس

در خصوص این مسئله از دستور setfacl استفاده میشود.

برای دیدن تنظیمات ارائه شده از دستور getfacl استفاده میشود.


برای این منظور دستور زیر به کار میرود


setfacl -m u:username:rwx 


برای اینکه کلیه فایلها و دایرکتوری های داخل یک دایرکتوری هم اضافه شود 


setfacl -Rm u:username:rwx


, و برای اینکه در آینده کلیه فایلها و دایرکتوری هایی که اضافه میشوند هم با همین دسترسی تنظیم شوند. باید به صورت default این تنظیم انجام گردد.


setfacl -Rdm u:username:rwx


دستور getfacl  تنظیمات موجود را نمایش می دهد.

یک اسکریپت برای تغییر نام دسته ای فایلها، به نام دیگر

این خط script نام فایلهایی رو که قبلا دانلود کرده بودم رو به یک نام کوچکتر تغییر میده

for string in `(ls hq*)` ;do mv $string "$(echo $string|awk -F 'hq-' '{print $2}')"; done


ls hq* 

فایلهایی رو که با hq شروع میشوند لیست میکنه

echo $string|awk -F 'hq-' '{print $2}

این خط نام فایل رو بر اساس واژه 'hq-' برش میزنه و قسمت دومش رو بر میگردونه


و کل دستور نام هر فایل رو مشخص کرده و اونرو به مقداری که گفتم میبره و سپس نام فایل رو به نام جدید تغییر میده.

چگونه در bash یک لیست بسازیم و روی اعضای آن عملیات انجام دهیم

برای انجام کاری لازم بود لیستی از سرورها ساخته شوند و سپس به صورت مرتب فایلها روی سرورها ارسال گردند.


برای اینکار از مفهوم زیر ایده گرفتم که اصل آنرا در اینجا میاورم


حالت اول، در این وضعیت هر خط در لیست به عنوان یک عضو در نظر گرفته می شود

اصطلاحا به آن with whitesapce گفته میشود.


listOfNames="RA
RB
R C
RD"

# To allow for other whitespace in the string:
# 1. add double quotes around the list variable, or
# 2. see the IFS note (under 'Side Notes')

for databaseName in "$listOfNames"   #  <-- Note: Added "" quotes.
do
  echo "$databaseName"  # (i.e. do action / processing of $databaseName here...)
done

# Outputs
# RA
# RB
# R C
# RD


without whitespace در اینحالت مشاهده میکنید که خط سوم لیست به صورت دو عضو سوا در نظر گرفته شده است.


listOfNames="RA
RB
R C
RD"

for databaseName in $listOfNames  # Note: No quotes
do
  echo "$databaseName"  # (i.e. do action / processing of $databaseName here...)
done

# Outputs
# RA
# RB
# R
# C
# RD