ম্যাক বনাম লিনাক্সের টার্মিনালটি ব্যবহারের মধ্যে পার্থক্যগুলি কী? [বন্ধ]


89

আমি গত চার বছর ধরে উবুন্টু ব্যবহার করছি।
শেল কমান্ড সম্পর্কে আমার কাছে প্রাথমিক জ্ঞান আছে এবং আমি জিইউআই ব্যবহার না করে টার্মিনালে কাজ করা পছন্দ করি। সম্প্রতি আমি একটি ম্যাক ব্যবহার শুরু করেছি।

আমি ম্যাক টার্মিনালে কয়েকটি টার্মিনাল কমান্ড (যা আমি উবুন্টুতে ব্যবহার করি) চেষ্টা করেছি এবং এটি বেশিরভাগ ক্ষেত্রে একইভাবে প্রতিক্রিয়া দেখায় বলে মনে হচ্ছে।

আমি যে কমান্ডগুলি ব্যবহার করি, সেগুলি সম্পাদন করে যে কাজ (গুলি) বা শেল পরিবেশ সম্পর্কে আমার সচেতন হওয়া উচিত তাতে কি কোনও উল্লেখযোগ্য পার্থক্য রয়েছে?


8
আমি আবার খুলতে এবং প্রোগ্রামার এক্সচেঞ্জে যেতে চাই।
মাইকেল ডুরান্ট

4
ওয়েবে কোথাও ম্যাক বনাম লিনাক্স টার্মিনাল কমান্ডের একটি বিস্তৃত তালিকা রয়েছে?
জেসনলোনহার্ড

উত্তর:


61

আপনি যদি ওএস এক্স সংস্করণ 10.3 বা আরও সাম্প্রতিককালে নতুন বা ক্লিন ইনস্টল করেন তবে ডিফল্ট ব্যবহারকারী টার্মিনাল শেলটি ব্যাশ।

বাশ মূলত মূল বর্ন শেলের একটি বর্ধিত এবং জিএনইউ ফ্রিওয়্যার সংস্করণ, শ। আপনার যদি বাশের সাথে পূর্ববর্তী অভিজ্ঞতা থাকে (প্রায়শই জিএনইউ / লিনাক্স ইনস্টলেশনের ক্ষেত্রে পূর্বনির্ধারিত থাকে), এটি ওএস এক্স কমান্ড-লাইন অভিজ্ঞতার সাথে পরিচিত হয়, অন্যথায় আপনার শেলটি টিসিএস বা জেডএস-এ পরিবর্তন করা বিবেচনা করে, কারণ কেউ কেউ আরও ব্যবহারকারী-বান্ধব বলে মনে করে।

আপনি যদি ওএস এক্স সংস্করণ 10.2.x, 10.1.x বা 10.0.x থেকে আপগ্রেড করেন বা ব্যবহার করেন তবে ডিফল্ট ব্যবহারকারী শেলটি টিসিএসএইচ, সিএসএসের একটি বর্ধিত সংস্করণ ('সি-শেল')। প্রারম্ভিক বাস্তবায়নগুলি কিছুটা বগি এবং প্রোগ্রামিং সিনট্যাক্সটি কিছুটা অদ্ভুত ছিল তাই এটি একটি খারাপ র‌্যাপ তৈরি করেছিল।

গর্ডন ডেভিসন ম্যাক এবং লিনাক্সের মধ্যে এখনও কিছু মৌলিক পার্থক্য রয়েছে যাতে যথাযথভাবে তালিকাবদ্ধ হয়, উদাহরণস্বরূপ useraddম্যাকের কোনও নয় এবং ifconfigআলাদাভাবে কাজ করে না।

নিম্নলিখিত ইউনিক্স শেলগুলি জানার জন্য নীচের সারণিটি কার্যকর।

sh      The original Bourne shell   Present on every unix system 
ksh     Original Korn shell         Richer shell programming environment than sh 
csh     Original C-shell            C-like syntax; early versions buggy 
tcsh    Enhanced C-shell            User-friendly and less buggy csh implementation 
bash    GNU Bourne-again shell      Enhanced and free sh implementation 
zsh     Z shell                     Enhanced, user-friendly ksh-like shell

আপনি এই গাইডগুলি সহায়কও পেতে পারেন:

http://homepage.mac.com/rgriff/files/TerminalBasics.pdf

http://guides.macrumors.com/Terminal
http://www.ofb.biz/safari/article/476.html

একটি চূড়ান্ত নোটে, আমি লিনাক্সে (উবুন্টু 11) এবং ম্যাক ওএসএক্স-এ থাকি তাই আমি ব্যাশ ব্যবহার করি এবং আমার যে জিনিসটি সবচেয়ে বেশি পছন্দ হয় তা হ'ল .bashrc ( .bash_profileওএসএক্স থেকে উত্স'র ) ফাইলটি কাস্টমাইজ করা হয় যা নীচের কয়েকটি উদাহরণ। আমি এখন আমার সমস্ত ডাকনাম একটি পৃথক .bash_aliases ফাইলে রেখেছি এবং এর সাথে এটি অন্তর্ভুক্ত করেছি:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

.bashrc বা .bash_profile ফাইলে।

মনে রাখবেন যে এটি ম্যাক-লিনাক্স পার্থক্যের একটি উদাহরণ কারণ একটি ম্যাকের উপর আপনার থাকতে পারে না--color=auto । আমি প্রথমবার এটি না করে (না জেনে) lsঅকার্যকর হিসাবে পুনরায় সংজ্ঞা দিয়েছিলাম যা আমি সরিয়ে না দেওয়া পর্যন্ত কিছুটা উদ্বেগজনক ছিল --auto-color!

এছাড়াও আপনি খুঁজে পেতে পারেন https://unix.stackexchange.com/q/127799/10043 দরকারী

# ~/.bash_aliases
# ls variants
#alias l='ls -CF' 
alias la='ls -A' 
alias l='ls -alFtr' 
alias lsd='ls -d .*' 
# Various
alias h='history | tail'
alias hg='history | grep'
alias mv='mv -i' 
alias zap='rm -i'
# One letter quickies:
alias p='pwd'
alias x='exit'
alias {ack,ak}='ack-grep'
# Directories
alias s='cd ..'
alias play='cd ~/play/'
# Rails
alias src='script/rails console'
alias srs='script/rails server'
alias raked='rake db:drop db:create db:migrate db:seed' 
alias rvm-restart='source '\''/home/durrantm/.rvm/scripts/rvm'\'''
alias rrg='rake routes | grep '
alias rspecd='rspec --drb '
#
# DropBox - syncd
WORKBASE="~/Dropbox/97_2012/work"
alias work="cd $WORKBASE"
alias code="cd $WORKBASE/ror/code"
#
# DropNot - NOT syncd !
WORKBASE_GIT="~/Dropnot"
alias {dropnot,not}="cd $WORKBASE_GIT"
alias {webs,ww}="cd $WORKBASE_GIT/webs"
alias {setups,docs}="cd $WORKBASE_GIT/setups_and_docs"
alias {linker,lnk}="cd $WORKBASE_GIT/webs/rails_v3/linker"
#
# git
alias {gsta,gst}='git status' 
# Warning: gst conflicts with gnu-smalltalk (when used).
alias {gbra,gb}='git branch'
alias {gco,go}='git checkout'
alias {gcob,gob}='git checkout -b '
alias {gadd,ga}='git add '
alias {gcom,gc}='git commit'
alias {gpul,gl}='git pull '
alias {gpus,gh}='git push '
alias glom='git pull origin master'
alias ghom='git push origin master'
alias gg='git grep '
#
# vim
alias v='vim'
#
# tmux
alias {ton,tn}='tmux set -g mode-mouse on'
alias {tof,tf}='tmux set -g mode-mouse off'
#
# dmc
alias {dmc,dm}='cd ~/Dropnot/webs/rails_v3/dmc/'
alias wf='cd ~/Dropnot/webs/rails_v3/dmc/dmWorkflow'
alias ws='cd ~/Dropnot/webs/rails_v3/dmc/dmStaffing'

4
আমি zshডিফল্ট জাভা ক্লাস সমাপ্তি পছন্দ করি।
ডেভ নিউটন

আমাকে মনে করিয়ে দেওয়ার জন্য ধন্যবাদ যে লিনাক্স এবং ম্যাকোস ls কমান্ডে রঙ আলাদাভাবে আচরণ করে। আমি উভয়ের জন্য একই বাশার্ক ব্যবহার করি এবং শর্তসাপেক্ষে একটি এলএস বিকল্প বা অন্যটি ব্যবহার করতে একটি উপায় খুঁজে পাওয়া দরকার যা নিশ্চিত হয়ে যায় যে ls সবসময় রঙ পায়।
বাসটিয়ান

আমি এটি শর্তসাপেক্ষে অপারেটিং সিস্টেম অনুসারে এক ls বিকল্প বা অন্যটি ব্যবহার করতে যাচ্ছি: _myos = "$ (আনামে)" এবং তারপরে লিনাক্সে my _myos) ওরফে foo = '/ পাথ / টু / লিনাক্স / বিন / foo ';; ফ্রিবিএসডি | ওপেনবিএসডি) ওরফে foo = '/ পাথ / টু / বিএসডি / বিন / ফু' ;; *) ;; এসাক
বাস্তিয়ান

4
বাস্তিয়ান, আপনি রঙের জন্য থাকতে পারে lsউভয় লিনাক্স (ইন --color=all) এবং ওএসএক্স ( -G:) নিম্নলিখিত সঙ্গে ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'
মাইকেল Durrant

টার্মিনালবাসিকস.পিডিএফ লিঙ্কটি মারা গেছে বলে মনে হচ্ছে। কি এই একই দস্তাবেজে?
প্লাজমা

29

@ মিশেল ডুরান্টের উত্তরটি শেলটি নিজেই কভার করে, তবে শেল পরিবেশে শেলটিতে আপনি যে বিভিন্ন কমান্ড ব্যবহার করেন সেগুলিও অন্তর্ভুক্ত থাকে এবং এটি ওএস এক্স এবং লিনাক্সের মধ্যে একই - তবে অভিন্ন নয়। সাধারণভাবে, উভয়ের একই কোর কমান্ড এবং বৈশিষ্ট্যগুলি থাকবে (বিশেষত এটি পিক্সিক্স স্ট্যান্ডার্ডে সংজ্ঞায়িত) তবে অনেকগুলি এক্সটেনশন আলাদা হবে।

উদাহরণস্বরূপ, লিনাক্স সিস্টেমে সাধারণত useraddনতুন ব্যবহারকারী তৈরি করার কমান্ড থাকে তবে ওএস এক্স নেই doesn't ওএস এক্স-এ আপনি সাধারণত ব্যবহারকারী তৈরি করতে জিইউআই ব্যবহার করেন; আপনার যদি কমান্ড লাইন থেকে এগুলি তৈরি করতে হবে, আপনি dsclব্যবহারকারী ডাটাবেস সম্পাদনা করতে (যা এখানে দেখুন ) ব্যবহার করুন (যা এখানে লিনাক্স নেই )। (আপডেট: ম্যাকোস হাই সিয়েরা ভি 10.13 থেকে শুরু করে আপনি এর sysadminctl -addUserপরিবর্তে ব্যবহার করতে পারেন ))

এছাড়াও, কিছু সাধারণ কমান্ডের তাদের সাধারণ বৈশিষ্ট্য এবং বিকল্প রয়েছে। উদাহরণস্বরূপ, লিনাক্সগুলি সাধারণত জিএনইউ অন্তর্ভুক্ত করে sed, যা -rবর্ধিত নিয়মিত অভিব্যক্তিগুলি আহ্বান করতে বিকল্প ব্যবহার করে ; ওএস এক্স-তে, আপনি -Eএকই প্রভাবটি পেতে বিকল্পটি ব্যবহার করবেন । একইভাবে, লিনাক্সে আপনি ls --color=autoরঙিন আউটপুট পেতে ব্যবহার করতে পারেন; ম্যাকোজে, নিকটতম সমতুল্য ls -G

সম্পাদনা: অন্য পার্থক্যটি হ'ল অনেকগুলি লিনাক্স কমান্ড তাদের আর্গুমেন্টের পরে নির্দিষ্টকরণের অনুমতি দেয় (যেমন ls file1 file2 -l), যখন বেশিরভাগ ওএস এক্স কমান্ডের ক্ষেত্রে প্রথমে কঠোরভাবে অপশন আসতে হয় ( ls -l file1 file2)।

অবশেষে, যেহেতু ওএস নিজেই আলাদা, কিছু কমান্ড ওএসের মধ্যে পৃথকভাবে আচরণ করে। উদাহরণস্বরূপ, লিনাক্সে আপনি সম্ভবত ifconfigআপনার নেটওয়ার্ক কনফিগারেশনটি পরিবর্তন করতে ব্যবহার করবেন। ওএস এক্স-এ ifconfigকাজ করবে (সম্ভবত কিছুটা আলাদা সিনট্যাক্স সহ) তবে আপনার পরিবর্তনগুলি সিস্টেম কনফিগারেশন ডিমন দ্বারা এলোমেলোভাবে লিখিত হতে পারে; পরিবর্তে আপনার সাথে নেটওয়ার্ক পছন্দগুলি সম্পাদনা করা উচিত networksetupএবং তারপরে কনফিগার ডিমনটি লাইভ নেটওয়ার্ক স্টেটে প্রয়োগ করতে দিন।


4
গ্রেড পয়েন্টস গর্ডন! আমারও উত্তর থাকলেও আমি +1 করব;) - এর জন্য আমার কিছু ক্রেডিট পাওয়া উচিত নয় ?!
মাইকেল ডুরান্ট

4
বিশেষত যেহেতু আপনার নিজের পক্ষে এটি বেশ ভাল উত্তর; আমি আপনাকেও একটি ভোট দিয়েছি
গর্ডন ডেভিসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.