UNIX-Linux т?тасты?ында?ы операциялы? ж?йелерді? файлдармен ж?не каталогтармен ж?мыс жасау негізгі командалары


Дәріс №19
Тақырыбы: UNIX/Linux тұтастығындағы операциялық жүйелердің файлдармен және каталогтармен жұмыс жасау негізгі командалары.
Linux операциялық жүйесі көптеген жерлерде, яғни ұжымдық мекемелер мен ғимараттарында оқуда тегін және өте қарапайым OS Unix альтернативінде кең таралды.  Бүгінгі барлық операциялық жүйелердің жақсы қасиеттерін Linux өзінде қамтып тұр. Оны OS/2 операциялық жүйе сияқты жеңіл қондыруға болады. Оның графиктік интерфейсі Windows XP-мен пара-пар және желінің жасалу мүмкіндігі Windows NT-дан жоғары, ал көп қолданбалы жұмыс тәртібі Unix принципі арқылы жасалған. 
Файлдар және каталогтар.
Көптеген операциялық жүйелерде (сонымен қоса UNIX-те) файлдар концепциясы бар, бұл файлдың көмегімен жұмыс жеңіл орындалады, файл дегеніміз ақпараттар жиынтығы және оған ат беруге болады. Файлға мысал ретінде мынадай бағдарламаларды аламыз: электрондық пошта арқылы алынған хаттар, сіз жазған мақалалар, орындауға болатын бағдарламалар.Дискте сақталған барлық мәліметтер жеке файдарда сақталатыны айқын.
Файлдар аты арқылы ажыратылады. Мысалы, сіздің мақалаңыз жазылған файл my-paper деген атпен сақталуы мүмкін. Бұл файлдардың аттары мазмұнын көрсетіп тұрады. Ұзындығы 256 символдан тұруы мүмкін, басқа операциялық жүйелердегідей стандартты форматы жоқ. Ал толық аттардың ұзындықтары 4096 символға дейін жетеді.
Сонымен қатар каталогтар концепциясын да қарастырайық. Каталог дегеніміз файлдардың жиынтығы.Оны ішінді әртүрлі құжаттар бар «бума» ретінде қарастыруға болады. Және де қалаған ат беруге де болады. Каталогтар бұтақ тәріздес құрылымды бола алады, және оның құрамында көптеген каталогтар болуы мүмкін. Ең сыртқы каталог аталық каталог деп аталады.
«Бұтақ» тәріздес каталогтар.      Көптеген Linux жүйесі стандартты каталогтар құрылымынан тұрады. Каталогтар құрылымы бұтақ тәріздес болып келеді, басы ``/'' каталогынан басталады да «тамыр» каталог деп аталады. Келесі каталогтар / маңызды ішкі каталогтарға жатады: /bin, /etc, /dev, и /usr. Бұл каталогтар басқа каталготардан да тұрады, мысалға конфигурациялық файлдардан, бағдарламаларджан және т.б.Әр пайдаланушы өз файладарын сақтауға жеке каталогтар құрып, оған ат бере алады.
Бұтақ тәріздес каталогтарға қарапайым мысал:
/_____bin
|_dev
|_etc
|_home_____larry
| |_sam
|_lib
|_proc
|_tmp
|_usr__X386
|_bin
|_emacs
|_etc
|_g++-include
|_include
|_lib
|_local_____bin
| |_emacs
| |_etc
| |_lib
|_man
|_spool
|_src_____linux
|_tmp
Ағымдағы жұмыс каталогы.Shell-ға сіз беретін командалар ағымдағы каталогтан беріледі. Сіз жұмыс каталогы деп қазір жұмыс істеп отырған каталог деп ойлауыныз мүмкін. Бірақ жаңадан жүйеге кірген кезде сіздің жұмыс каталогыныз автоматты түрде іске қосылады (біздің мысалда /home/larry). Толық бағытты көрсету арқылы сіз файлға қатынас жасай аласыз.
Мысалы, Larry-да papers деген каталог бар, ал papers каталогы history-final деген файлдардан тұрады делік. Егер Larry файлды көргісі келсе келесі команданы тереді:
/home/larry# more /home/larry/papers/history-final
More камандасы файлдарды бөлшектеп көрсетеді.Сонымен сіз файл атын ``/'' символынан бастай аласыз.
Linux операциялық жүйесіне алғашқы қадамадар.Бұл жүйеде файлдар мен каталогтардың аты үлкен, кіші әріптерге көп мән береді. Мысалы, make командасы Make немесе MAKE командаларына мүлдем ұқсамайды. Енді командаларды жеке-жеке қарастырамыз:
бұтақ тәріздес құрылымда файлдар мен каталогтардың орнын ауыстыр командасы – cd, (``change directory''). Linux операциялық жүйесінде көп қолданылатын командалар көбінесе екі немесе үш әріптен тұрады. сd командасының форматы:
cd directory
мұндағыdirectoryсіз аусықыңыз келетін каталогаты.Мысалы төменгі ішкі каталогқа ауысу үшін келесі команда орындалады:
/home/larry# cd papers
/home/larry/papers#
Қайтадан кері қайту үшін орындалатын команда:
/home/larry/papers# cd ..
/home/larry#
``cd'' және ``..'' арасындаға бос орныға назар аударыңыз. Әр каталогтың аталық каталогқа өту үшін өз атын енгізу керек. Сондықтан келесі команда ешқайда ауыспайды:
/home/larry/papers# cd .
cd командасында сіз маршруттар қолдана аласыз. Мысалы Карлдың каталогына өту үшін келесі команданы қолдана аласыз:
/home/larry/papers# cd /home/karl
/home/harl#
cdкомандасын ешқандай аргументсіз қолдану арқылы сіз өз каталогыңызға орала аласыз:
/home/karl# cd
/home/larry#
 Каталогтар құрамын қарау.     ls (LiSt) командасы экранға ағымдағы каталогтардың тізімін экранға шығаратын команда. Мысалы,
/home/larry# Is
Mail
letters
papers
/home/larry#
Бұл жерден біздің көріп отырғанымыз, Larry-дің ағымдағы каталогында үш "сақтау бірліктері" бар: Mail, letters және papers. Бірақ олар каталог па жоқ файл ма белгісіз, сондықтан көбірек мәлімет алу үшін–F командасын қосып орындаймыз:
/home/larry# Is --F
Mail/
letters/
papers/
/home/larry#
Оң жағыдағыфайлдардың атына жалғанған / , ішкі каталог екенін білдіреді. Ал соңында ``*'' белгісі пайда болса, онда ол орындалатын файлдар немесе бағдарламалар екенін білдіреді. Ал егер ешқандай белгі болмаса ол қарапайым файл, яғни орындалатын файл да, каталогта емес.
Жалпы айтқанда әр команда аргументтерге қоса қосымшалары да болады. Бұл қосымшалар ``-'' деген белгімен жазылады.
Егер сіз ls командасында каталог атын жазатын болсаңыз, онда каталогтың толық мазмұнын шығарады:
/home/larry# Is -F papers
english-lit
history-final
masters-thesis
notes/
/home/larry#
Қызықты болу үшін /etc/ жүйелік каталогында не бар екенін көрейік:
/home/larry# Is /etc
Images ftpusers lpc rc.new shells
adm getty magic rc0.d startcons
bcheckrc gettydefs motd rc1.d swapoff
brc group mount rc2.d swapon
brc inet mtab rc3.d syslog.conf
csh.cshrc init mtools rc4.d syslog.pid
csh.login init.d pac rc5.d syslogd.reload
default initrunlvl passwd rmt termcap
disktab inittab printcap rpc umount
fdprm inittab.old profile rpcinfo update
fstab issue psdatabase securetty utmp
ftpaccess lilo rc services wtmp
/home/larry#
MS-DOS операциялық жүйесіне қарағанда бұл жүйеде өзгешеліктер өте көп, мысалы, файл аттар 8 символдан да көп болуы мімкін, және кез келген жерге нүкте қойыла береді, бір емес бірнеше нүктелер де қоюға болады.
``cd ..'' командасын қолданып, жоғарғы каталогтарға шығып, сосын басқа каталогтарға түсіп көрейік (/usr/bin):
/home/larry# cd ..
/home# cd ..
/#cd usr
/usr# cd bin
/usr/bin#
   Жаңа каталогтар құру.  Жаңа каталогтардыmkdir командасы арқылы құрады. Мысалы:
/home/larry# mkdir foo
/home/larry# Is -F
Mail/
foo/
letters/
papers/
/home/larry# cd foo
/home/larry/foo# Is
/home/larry/foo#
Файлдарды көшіру.   Файлдарды көшірі cp (CoPy) командасы арқылы орындалады:
/home/larry/foo# cp /etc/termcap
/home/larry/foo# cp /etc/shells
/home/larry/foo# Is -F
shells termcap
/home/larry/foo# cp shells bells
/home/larry/foo# Is -F
bells shells termcap
/home/larry/foo#
cpкомандасы командалық жолда берілген файлдарды аргументте көрсетілген файлға немесе каталогқа көшіреді.
Файлдардың орнын ауыстыру.   mv (MoVe) командасы файлдардың орнын ауыстыруға арналған:
/home/larry/foo# mv termcap sells
/home/larry/foo# Is -F
bells sells shells
/home/larry/foo#
Файлдар мен каталогтарды жою.Файлдарды жою үшін rm (ReMove) командасы қолданылады:
/home/larry/foo# rm bells sells
/home/larry/foo# Is -F
shells
/home/larry/foo#
Файлдарды өшіру кезінде сізден өшіру керек пе деп қайта сұрамайды, сол себептен абай болыңыз!
Дәл rm командасы сияқты rmdir командасы каталогтарды жоюға арналған.
Файлдарды қарап шығу.
more және cat командалары файлдардың мазмұнын қарап шығуға арналған.
Shells файлының мазмұнын қарап шығуға келесі команданы орындаймыз:
/home/larry/foo# more shells
Оперативті көмекті қолдану.Кез келген операциялық жүйелердегідей man (``manual pages'') командасы толық анықтамаларды шақырға арналған. Мысалы, ls командасы тралы ақпарат алғыңыз келсе, келесі команданы теріңіз:
/home/larry# man Is