একটি মেকফাইল কী এবং এটি লিনাক্সের মধ্যে কীভাবে কাজ করে?

মেকফাইল কী এবং এটি লিনাক্সের মধ্যে কীভাবে কাজ করে

Si নির্দিষ্ট ফাইল আপডেট হয়ে গেলে কোনও কাজ চালাতে বা আপডেট করতে চান, মেক ইউটিলিটি কাজে আসতে পারে। মেক ইউটিলিটির জন্য একটি ফাইল, মেকফাইল প্রয়োজন যা সম্পাদন করার জন্য কার্যগুলির একটি সেট নির্ধারণ করে।

এই নামটি আপনার অনেকের কাছে পরিচিত হিসাবে আপনি উত্স কোড থেকে কোনও প্রোগ্রাম তৈরি করতে মেক ব্যবহার করেছেন। বেশিরভাগ ওপেন সোর্স প্রকল্পগুলি একটি চূড়ান্ত নির্বাহযোগ্য বাইনারি সংকলন করতে মেক ব্যবহার করে, যা মেক ইনস্টল ব্যবহার করে ইনস্টল করা যায়।

এই উপলক্ষে আমরা বুঝতে যাচ্ছি যে এই ধরণের ফাইলটি লিনাক্সের মধ্যে কীভাবে কাজ করে।

একটি মেকফিল ফাইল এটি মূলত চারটি মূল ধরণের বিবৃতিতে আলাদা করা হয়:

  • মন্তব্য
  • পরিবর্তনশীল
  • স্পষ্ট বিধি।
  • অন্তর্ভুক্ত বিধি।

সুস্পষ্ট বিধিগুলি বলে যে কোন ফাইলগুলি অন্য ফাইলগুলির উপর নির্ভর করে এবং সেই সাথে নির্দিষ্ট ফাইল সংকলনের জন্য প্রয়োজনীয় কমান্ডগুলি তৈরি করে।

অন্তর্নিহিতগুলি সুস্পষ্টরূপের মতো হলেও পার্থক্যের সাথে তারা কার্যকর করার নির্দেশগুলি নির্দেশ করে তবে পরিবর্তে কোন আদেশগুলি কার্যকর করতে হবে তা নির্ধারণ করতে ফাইল এক্সটেনশনগুলি ব্যবহার করে।

এই উদাহরণে আমরা এই শেষ দুটি ব্যবহার করব না, আমরা কেবল টার্মিনালে ক্লাসিক "হ্যালো ওয়ার্ল্ড" মুদ্রণ করেই শুরু করতে যাচ্ছি।

এর জন্য আমরা আপনাকে চাইলে নামটি দিয়ে একটি খালি ডিরেক্টরি তৈরি করতে যাচ্ছি।

এই ক্ষেত্রে আসুন একে "উদাহরণস্বরূপ" বলি এবং এই মধ্যে আমরা নিম্নলিখিত সামগ্রী সহ একটি মেকফিল তৈরি করতে যাচ্ছি:

#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
echo "Hola Mundo"

এখন ডিরেক্টরি ভিতরে মেক টাইপ করে ফাইল চালান, আউটপুট হবে:

make
echo "Hola Mundo"
Hola Mundo

আপনি দেখতে পাচ্ছেন যে মেকফাইলটি কখন চালানো হয়েছিল, কমান্ডটি "হ্যালো ওয়ার্ল্ড" প্রদর্শিত হবে এবং তারপরে আসল কমান্ডের আউটপুট আসবে। আমরা প্রায়শই তা চাই না। আপনি যখন চালাবেন তখন এই আউটপুটটি দমন করতে, প্রতিধ্বনি করার আগে একটি "@" যুক্ত করুন:

এর ব্যবহারিক উদাহরণ হ'ল:

#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"

এখন আমরা আবার মেকফিল চালাতে এগিয়ে যেতে পারি। আউটপুট কেবল এটি প্রদর্শিত হবে:

make
Hola Mundo

এটি বেশ বেসিক। আপনি যেমন জানেন, মেকফিলগুলিতে প্রচুর পরিমাণে থাকে, যার মধ্যে তারা অনুসরণের অনুক্রমগুলি নির্দেশ করে।

আমরা এই ফাইলটিতে কিছু সাধারণ সিকোয়েন্স যুক্ত করতে পারি।

কিছু আমরা নিম্নলিখিতটি ফাইল সম্পাদনা করতে যাচ্ছি:

#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"
crear_un_archivo_nuevo:
@ echo "Estoy creando un archivo.txt ..."
touch  archivo.txt

মেকফাইলটি পুনরায় চালিত করার সময়, এটি কেবল প্রথম উদ্দেশ্য কার্যকর করবে exec কারণ মেকফাইলে কেবল প্রথম লক্ষ্যটি হ'ল ডিফল্ট লক্ষ্য।

ধারাবাহিকভাবে চালানো এটি "সমস্ত" দিয়ে ফাইলের মধ্যে নির্দেশ করা প্রয়োজন। অন্যান্য টার্গেটকে কল করার দায়িত্ব "সেখানে"।

all: esta_es_una_variable crear_un_archivo_nuevo
#este es un comentario, todo lo que este dentro de esta línea simplemente es ignorado
esta_es_una_variable:
@echo "Hola Mundo"
crear_un_archivo_nuevo:
@ echo "Estoy creando un archivo.txt ..."
touch  archivo.txt

আপনি আবার মেকটি কার্যকর করতে এগিয়ে যেতে পারেন এবং আপনি দেখতে পাবেন যে ডিরেক্টরিটির ভিতরে একটি ফাইল বলা হয় "ফাইল.টেক্সট"।

একই ভাবে মেকফিল ফাইলের মধ্যে কোনও লক্ষ্য নির্বাহ করতে সক্ষম হওয়া সম্ভব, এটি সাধারণত বহুল ব্যবহৃত হয়।

আমরা আমাদের ফাইলটি সংশোধন করতে যাচ্ছি এবং আমরা নিম্নলিখিতটি যুক্ত করতে যাচ্ছি:
clean:
@ echo "Voy a eliminar el archivo txt creado”
rm archivo*.txt

আপনি আবার মেক চালাতে পারেন এবং এটি txt ফাইলটি পুনরায় তৈরি করবে। আপনি দেখতে পাবেন, এটি আগের সময়ের মতো একই কাজ করবে। কিন্তু এখন আমরা মেকফিল ফাইলের মধ্যে থাকা লক্ষ্যটি কার্যকর করতে যাচ্ছি।

আমরা এটি দিয়ে:

make clean

এটির সাহায্যে আমরা ফাইলগুলি তৈরির বিষয়ে বেশ কয়েকটি বেসিক কিছু শিখতে পারি এবং যদি আমরা কিছু জিনিস স্বয়ংক্রিয় করতে চাই তবে সেগুলি কীভাবে কার্যকর হতে পারে।

স্পষ্টতই আপনি একটি বৃহত্তর এবং আরও জটিল ফাইল তৈরি করতে পারেন, তবে এটি newbies (আমি নিজেকে অন্তর্ভুক্ত করি) এর একমাত্র উদাহরণ, যারা কীভাবে এটি কাজ করে তা জানতে পাচ্ছেন।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   আরগ0 এস তিনি বলেন

    খুব আকর্ষণীয় নিবন্ধ। একটি প্রশ্ন ... আপনি যাকে "ভেরিয়েবল" বলছেন তা কার্যকারিতা বা পদ্ধতি নয়?

    1.    ডেভিড নারানজো তিনি বলেন

      আসলে, হ্যাঁ আমার বন্ধু, সংশোধন করার জন্য ধন্যবাদ।
      চিয়ার্স! 🙂

  2.   পেড্রো তিনি বলেন

    দুর্দান্ত, আমি আশা করি আপনি খনন চালিয়ে যাবেন।

  3.   ম্যানুয়েলএলকোসর তিনি বলেন

    ভাল, একটিও নয় বা অন্যটিও নয়, https://www.gnu.org/software/make/manual/make.html, "লক্ষ্য" হয়

  4.   ম্যানুয়েলএলকোসর তিনি বলেন

    নিয়ম

  5.   সেবাস তিনি বলেন

    আশা করা যায় যে তারা লিনাক্সের প্রতিদিন চলমান "সর্বব্যাপী এবং প্রাথমিক" এর মতো বিষয়গুলি ব্যাখ্যা করতে থাকবে, যেগুলি "সুবিধা এবং অপারেশন" কীভাবে প্রচার করা হয় তার মতো আবেগের সাথে কেউ কখনও ব্যাখ্যা করে না।