উত্তর:
touch
প্রথমে ফাইলটি ইনগান করে নিশ্চিত করে যে কেবলমাত্র ফাইল সিস্টেমটি কেবল পঠনযোগ্য বা অন্য কোনও সমস্যা রয়েছে তা খুঁজে বার করার জন্য কেবল সম্পাদকের মধ্যে সময় নষ্ট করার পরিবর্তে আপনার কাছে ফাইলটি তৈরির ক্ষমতা রয়েছে have
:w
শুরু করার পরে প্রথম কাজটি করতে পারেন vi
। (এবং :chmod +x %
যদি আপনি এটি কার্যকর করতে চান)
touch
ব্যর্থ হতে পারে যেখানে vi
এর :w!
যদিও সফল হবে (উদাহরণস্বরূপ যদি file
বিদ্যমান কিন্তু আপনি তার মালিকের নও এবং এটি লেখার অ্যাক্সেস না থাকে, যখন আপনি বর্তমান ডিরেক্টরির লেখার অ্যাক্সেস আছে)। বিপরীতভাবে, touch
সফল হতে পারে কিন্তু vi
এর :w
বা :w!
ব্যর্থ হতে পারে যদি আপনি ফাইলের মালিক, কিন্তু এটি লেখার অ্যাক্সেস না থাকে কিংবা বর্তমান ডিরেক্টরির (আপনার সাথে এটি প্রায় কাজ করতে সক্ষম হতে চাই :!chmod +w %
(কিছু vi
মত বাস্তবায়নের vim
কি করতে পারেন যে স্বয়ংক্রিয়ভাবে :w!
))।
"foo" [readonly]
। এবং আবার সন্নিবেশ মোডে প্রবেশ করার সময়:Warning: Changing a readonly file.
প্রদত্ত উত্তরগুলি ছাড়াও স্পর্শের একটি সুবিধা হ'ল আপনি যে স্পর্শ করার সময় অন্য কোনও ব্যবহারকারী / টার্মিনাল একই ফাইল সম্পাদনা করছেন তারা যখন কোনও পরিবর্তন সংরক্ষণ করার চেষ্টা করবেন তখন তারা একটি সতর্কতা পাবেন।
WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?
আপনি সে প্রতি কোনও পরিবর্তন করেন নি এবং কেবল ফাইলটিকে স্পর্শ করেছেন যদিও এটি তাদের সতর্ক করবে them
গৃহীত উত্তর ছাড়াও:
এটি লক্ষ্যণীয় যে touch
ফাইল টাইমস্ট্যাম্পগুলি আপডেট করতে ব্যবহৃত হয়। আপনি যদি touch
বিদ্যমান কোন ফাইল ব্যবহার করেন তবে এটি ফাইলের টাইমস্ট্যাম্পটিকে বর্তমান তারিখ এবং সময় আপডেট করবে। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি বর্তমান তারিখ এবং সময়কে টাইমস্ট্যাম্প হিসাবে খালি ফাইল তৈরি করে।
vi
অন্যদিকে, আপনি যদি এটি না লিখে থাকেন তবে কোনও নতুন ফাইল তৈরি করে না।
উদাহরণস্বরূপ, যদি আমি টাইপ করি vi test.txt
, কিছু নোট টাইপ করি , তবে টাইপ করি :q!
; test.txt
অস্তিত্ব থাকবে না।
আপনি touch
যতক্ষণ না vi
এটি লিখতে বলছেন ততক্ষণ কোনও নতুন ফাইল উপস্থিত থাকবে না।
একাধিক ব্যবহারকারী সিস্টেম বিবেচনা করুন (সম্ভবত আপনি একটি নেটওয়ার্ক-মাউন্ট করা ফাইলসিস্টেম যা অনেকগুলি ব্যবহারকারীর সাথে অনেকগুলি সিস্টেমে ভাগ করেছেন)। দৌড়ানো touch
আপনার কাছে ফাইলটি (এবং আপনি এটিতে লিখতেও পারেন) এমনকি টাইমস্ট্যাম্পটি আপডেট করে তা নিশ্চিত করবে। এই জাতীয় ফাইল তৈরি করতে চাইছেন এমন আরেকজন ব্যবহারকারী দেখতে পাবে যে এটি আপনার নিজের। যদি এটি ইতিমধ্যে বিদ্যমান থাকে এবং অন্য কোনও ব্যবহারকারী এটি মুছতে বা প্রতিস্থাপন করতে চায় তবে তারা দেখতে পাবে যে এটি সম্প্রতি সংশোধিত হয়েছে এবং সম্ভবত দুবার ভাবেন।
touch
প্রথমে ইনগ করার কোনও সুবিধা নেই ; vi
এটি উপস্থিত না থাকলে ফাইল তৈরি করবে।
গৃহীত উত্তরটি বলে যে এটি সম্পাদকের সময় নষ্ট করার আগে আপনি সেখানে লিখতে পারেন কিনা তা যাচাই করে। সত্য, তবে এখন আপনি touch
প্রতিবার টাইপ করার সময় নষ্ট করবেন । কোথাও লিখতে না পারা এটি প্রায়শই কাজ করবে তার তুলনায় মোটামুটি ব্যতিক্রমী (যতক্ষণ আপনি sudo
নিজের হোম ডিরেক্টরি থেকে বাইরের ফাইলগুলির জন্য মনে রাখবেন /tmp
বা root হিসাবে লগ ইন করেছেন)।
কেবল সম্পাদকটি খুলুন এবং আপনি যা চান তা করুন, তারপরে ফাইলটি সংরক্ষণ করার চেষ্টা করুন। যদি এটি কাজ না করে, এমনকি :w!
এটি অন্য কোথাও সংরক্ষণ করে ( :w ~/asdf
) এবং সমস্যার সমাধান করে। একবার এটি সংশোধন করা যাচ্ছে তুমি কি আসল অস্থায়ী ফাইল থেকে ফাইল বিষয়বস্তু কপি করতে পারেন: cat ~/asdf > /mnt/example.txt && rm ~/asdf
। আমরা এর cat
পরিবর্তে mv
বা ব্যবহার করার কারণটি cp
হ'ল গন্তব্যের অনুমতি এবং অন্যান্য বৈশিষ্ট্যগুলি ব্যবহার করা।
তদতিরিক্ত, আরও কিছু উন্নত কমান্ড লাইন ব্যবহারের জন্য, আপনি সমস্যাটি সমাধান করার সময় আপনি + এর vi
সাথে ব্যাকগ্রাউন্ড করতে পারেন (বা ব্যবহার করুন , বা ), এবং শেষ পর্যন্ত এটি আবার রাইট কমান্ডটি চালানোর জন্য।CtrlZ:suspend
:sus
fg
সম্পাদনা: / ইউ / জি-ম্যানের মন্তব্যের প্রতিক্রিয়ায় পোস্টটি উন্নত হয়েছে । ধন্যবাদ!
/mnt/example.txt
বিশ্ব পাঠযোগ্য হতে অনুমিত হয় না, কিন্তু আপনার umask কিছু 22 মত প্রশ্রয়ের সেট করা হয়, তারপর /tmp/asdf
হবে বিশ্ব পাঠযোগ্য হবে। সিস্টেমে অন্য ব্যক্তিরা থাকলে তারা ফাইলটির অস্থায়ী অনুলিপিটি পড়তে পারবেন। (২) ফাইলটি /mnt/example.txt
সম্ভবত বিশ্ব লিখনযোগ্য হিসাবে বিবেচিত হবে না তবে সিস্টেমে দূষিত লোকেরা থাকলে তারা ফাইলের অস্থায়ী অনুলিপিটি পড়তে এবং আপনার স্থানান্তর / অনুলিপি করার আগে পরিবর্তিত সংস্করণে এটি প্রতিস্থাপন করতে সক্ষম হতে পারে এটা সঠিক জায়গায় ফিরে। … (চালিয়ে যাওয়া)
/tmp
এটিকে আটকাতে পারে)) (3) কমান্ডটি mv /tmp/asdf /mnt/example.txt
সম্পূর্ণরূপে বর্তমানটিকে ধ্বংস করে দেবে /mnt/example.txt
এবং এর সাথে প্রতিস্থাপন করবে /tmp/asdf
। আপনি প্রতিস্থাপন করতে চান বিষয়বস্তু এর /mnt/example.txt
সঙ্গে কন্টেন্ট এর /tmp/asdf
। ব্যবহার করে mv
আপনি /mnt/example.txt
একই বৈশিষ্ট্যগুলি সেট আপ করেছেন /tmp/asdf
- সম্ভবত আপনার নিজের এবং বিশ্ব পাঠযোগ্য- এটি ভাল cp /tmp/asdf /mnt/example.txt
বা এমনকি ভাল হতে পারে cat /tmp/asdf > /mnt/example.txt
। … পিএস (4) আপনি vi
টাইপ করে স্থগিত করতে পারেন :suspend
(বা :sus
সংক্ষেপে)।
/tmp
, তবে ~/
পরিবর্তে লেখার জন্য কোনও অজুহাত নেই । আমি এটি ভাবিনি যে এটি গুণাবলী প্রতিস্থাপন করবে। আমি আমার পোস্টটি সম্পাদনা করব, ধন্যবাদ :)
vi
এটি ভিজ্যুয়াল টেক্সট এডিটর (vi = ভিজ্যুয়াল) এটি যাইহোক "এড" এর সাথে তুলনা করে ভিজ্যুয়াল, যা আপনাকে একবারে পাঠ্যর একটি লাইন দেখতে এবং পরিবর্তন করতে দেয়।
touch
কমান্ড একটি বিদ্যমান ফাইল-এ টাইমস্ট্যাম্প আপডেট, অথবা যদি ফাইল আগে থেকেই উপস্থিত করেনি একটি নতুন ফাইল তৈরি করে। টাইমস্ট্যাম্পগুলির উপর নির্ভরশীল এমন জিনিসগুলির পরীক্ষা করা এটি ভাল।
এখন আপনার ফাইলটি যদি কোনও পাঠ্য ফাইল হয় বা এখনও উপস্থিত না থাকে, vi এর মাধ্যমে এটি খোলার পরে vi কে কমান্ড জারি করার :wq
ফলে সেই ফাইলটি স্পর্শ করার মতোই ফলাফল হতে পারে। দু'টি কমান্ড একরকম হওয়ার একমাত্র উপায়।
বিশেষত এর সাথে ব্যবহারের জন্য vi
, ফাইল সম্পাদনা করার আগে ফাইলটি তৈরি করার দরকার নেই: vi
একটি নতুন ফাইল তৈরি এবং সংরক্ষণ করতে ব্যবহার করা যেতে পারে। যাইহোক, এমন কলিং কনটেক্সট রয়েছে যেখানে ফাইলটি থাকা দরকার। উদাহরণস্বরূপ, আমার সিস্টেমে (ওএস এক্স) আমি একটি উপযুক্ত জিইউআই সম্পাদক চালু করতে পারি (ফাইলের ধরণের দ্বারা নির্ধারিত):
open foo.txt
এটি foo.txt
টেক্সটএডিট বা ইমাসে খোলা হবে বা পাঠ্য ফাইলগুলির জন্য আমার পছন্দ হিসাবে আমার সম্পাদক হিসাবে যা কিছু নির্দিষ্ট করা হয়েছে, এবং প্রক্রিয়াটি আলাদা করে রাখব যাতে আমি তত্ক্ষণাত আমার প্রম্পটটি ফিরে পাই। ( open bar.py
এটি আইডিএল, পাইথন সম্পাদক ইত্যাদি খোলার মধ্যে রয়েছে) বা আমি স্পষ্টতই ইম্যাকের জন্য অনুরোধ করতে পারি:
open -a emacs foo.txt
তবে open
ফাইলটি ইতিমধ্যে বিদ্যমান থাকা প্রয়োজন, অন্যথায় এটি একটি ত্রুটি উত্থাপন করে। সুতরাং আমাকে emacs
নীচের শেল ফাংশন হিসাবে সংজ্ঞায়িত করতে হয়েছিল, যা আমাকে জিওআইআই emacs foo
চালু করতে লিখতে অনুমতি দেয় emacs
এমনকি যদি foo
না থাকে তবে।
function emacs ()
{
if [ -n "$1" -a ! -e "$1" ]; then
/usr/bin/touch "$1";
fi;
open -a emacs "$@"
}
vi ব্যবহারকারী হিসাবে কোনও ফাইল সম্পাদনা করতে ব্যবহৃত হয়, যখন স্পর্শ এতে টাইমস্ট্যাম্প সেট করতে পারে এবং বেশিরভাগ স্ক্রিপ্ট এবং এ জাতীয় ক্ষেত্রে ব্যবহৃত হয়।
ফাইল তৈরির আর একটি উপায় হ'ল:
>newfile.txt
zsh
, এটি অভিন্ন cat >newfile.txt
এবং আপনার Ctrl + D টিপতে হবে।
ম্যান স্পর্শে তার প্রাথমিক কাজ হ'ল ফাইল টাইমস্ট্যাম্পগুলি পরিবর্তন করা।
ওএফসি বর্তমান টাইমস্ট্যাম্প সহ ফাইলটি তৈরি করছে এবং তারপরে আপনি ফাইলটি সম্পাদনা করতে পারবেন।
ষষ্ঠ হ'ল পাঠ্য সম্পাদক যা এটি পাঠ্য সম্পাদনা ওপেন, সেভ, ফাইল সম্পাদনা ইত্যাদি যা করেন তা
সবই ব্যবহারকারীর এবং হ্যাবিটের স্বাদ: স্পর্শ করে vi বা vi ফাইল.txt একই জিনিস আলাদা রঙ।
touch
আপনাকেchmod +x
পরে কাজ করার অনুমতি দেয় যা আপনি#!/bin/bash
শেল স্ক্রিপ্ট লিখতে থাকলে তা বোঝা যাবে ।