Аппараттық және бағдарламалық қамтамасыз етуді орнату

Linux негіздері: bash бағдарламасына кіріспе. Linux негіздері: bash-қа кіріспе Салыстырмалы жолдарды пайдаланатын мысалдар

Linux жүйесіндегі барлық файлдардың файлдық жүйеде белгілі бір мекенжайы бар, біз оларға файл менеджері немесе консоль утилиталары арқылы қол жеткізе аламыз. Бұл әдемі қарапайым тақырып, бірақ көптеген жаңадан бастағандар бұл мәселеде қиындықтарға тап болады.

Бүгінгі қысқа жазбада біз Linux файл жолы дегеніміз не, ол не болуы мүмкін, оны қалай дұрыс жазу керек және т.б. қарастырамыз. Егер сіз бұған дейін қиындықтарға тап болсаңыз, мақаланы оқығаннан кейін бәрі анық болады.

Linux жүйесіндегі файл жолдары

Linux файлдық жүйесі Windows жүйесінен айтарлықтай ерекшеленеді. Біз оның құрылымын қарастырмаймыз, бұл бұрын жасалған. Біз файлдармен жұмыс істеуге назар аударамыз.

Ең маңызды айырмашылық мынада: файл мекенжайы Windows жүйесіндегідей дискіден, мысалы, C:\ немесе D:\ емес, басқалары қосылған түбірлік жүйе каталогынан басталады. Оның мекен-жайы - /. Ал бұл жерде мекенжайлар туралы айту керек. Linux файл жолдары мекенжайдағы каталогтарды бөлу үшін қиғаш сызықты «/» пайдаланады және бұл Windows жүйесінде көргеннен басқаша - \.

Мысалы, Windows жүйесінде жұмыс үстеліндегі файлдың толық жолы C:\Users\Sergiy\Desktop\ сияқты болса, Linux жүйесіндегі файл жолы жай /home/sergiy/desktop/ болады. Бұл жағдайда бәрі қарапайым және түсінікті. Бірақ проблемалар әлі де туындайды.

Операция бөлмесінде Linux жүйесіФайл жолдарының бірнеше түрі болуы мүмкін. Linux жүйесінде қандай жолдар бар екенін қарастырайық:

  • Файлдық жүйе түбірінен толық, абсолютті Linux жолы- жоғарыдағы мысалда сіз бұл жолды көрдіңіз, ол «/» түбірінен басталады және файлға баратын жолды толығымен сипаттайды;
  • салыстырмалы linux жолыағымдағы қалтаға қатысты файлға апаратын жол, мұндай жолдар жиі шатастырады.
  • Ағымдағы пайдаланушының негізгі қалтасына қатысты жол.- файлдық жүйедегі жол, бірақ түбірден емес, ағымдағы пайдаланушының қалтасынан.

Енді осы жолдардың linux жүйесінде қалай көрінетінін егжей-тегжейлі қарастырайық, сонымен қатар оны толығымен түсінікті ету үшін бірнеше мысалдарды талдаймыз. Көрсету үшін біз каталогтардың мазмұнын көруге арналған ls утилитасын қолданамыз.

Мысалы, біздің негізгі қалтамызда төрт файлы бар осындай каталог бар:

Файлдардың біріне толық Linux жолы келесідей болады:

ls /home/sergiy/tmp/file1

Бұл бастапқы қалтадан басталатын салыстырмалы linux жолы, ол ~/ арқылы белгіленеді. ~ емес, ~/ екенін ескеріңіз. Содан кейін сіз ішкі қалталарды көрсете аласыз, біздің жағдайда tmp:

Ал, немесе ағымдағы қалтаға қатысты linux-тағы файлдың жолы:

Бірінші сілтеме ағымдағы қалтаға (.), екіншісі (..) бір деңгей жоғары қалтаға нұсқайды. Бұл каталогтар бойынша шарлаудың көбірек мүмкіндіктерін ашады. Мысалы, ағымдағы қалтадағы файлға сілтеме жасау үшін құрылысты пайдалануға болады:

Бұл файлдың мазмұнын қарау кезінде пайдасыз. Бірақ бұл бағдарламаны іске қосу кезінде өте маңызды. Өйткені бағдарлама алдымен PATH ортасында, содан кейін ғана осы қалтада ізделеді. Сондықтан, егер сізге ағымдағы қалтада орналасқан бағдарламаны іске қосу қажет болса және ол / bin каталогындағы бағдарламамен бірдей деп аталса, онда файлды ағымдағы қалтадан іздеу керек болатын нақты сілтемесіз, ештеңе істемейді.

Мұндай конструкцияларды бағдарламаларды құрастыру кезінде жиі кездестіруге болады. Сіз барлық осы белгілерді және linux файл жолдарын тек терминалда ғана емес, кез келгенінде де пайдалана аласыз файл менеджерібұл өте ыңғайлы болуы мүмкін.

Бірақ Linux терминалы одан да көп опцияларды ұсынады. Қарапайым ауыстыру таңбаларын тікелей файл немесе каталог мекенжайларында пайдалануға болады. Мысалы, f әрпінен басталатын барлық файлдарды тізімдей аласыз:

Немесе сіз тек tmp қалтасында ғана емес, сонымен қатар негізгі қалтаңыздың кез келген ішкі қалтасында іздеуге болады:

Мұның бәрі жұмыс істейді, мүмкін бұл әрқашан қажет емес және практикалық. Бірақ белгілі бір жағдайларда бұл өте пайдалы болуы мүмкін. Бұл функциялар Bash қабықша деңгейінде жүзеге асырылады, сондықтан оларды кез келген пәрменде пайдалануға болады. Қабық қанша файл табылғанын қарайды және олардың әрқайсысы үшін пәрменді шақырады.

қорытындылар

Осымен болды. Енді сіз Linux файлына жолды дұрыс жазып қана қоймай, сонымен қатар файлдарды іздеу немесе cd пәрмені арқылы каталогтарды шарлау сияқты күрделі әрекеттерді орындау үшін қажет нәрсенің бәрін білесіз. Егер сізде сұрақтар болса, түсініктемелерде сұраңыз!

Қатысты жазбалар:


Осы мақаланы оқығаннан кейін сіз не екенін білесіз bash(стандартты linux қабығы), стандартты пәрмендерді өңдеуді үйреніңіз: ls, cp, mv… инодтардың мақсатын түсіну, қатты және символдық сілтемелержәне тағы басқалар.

Бұл оқулық Linux жүйесіне жаңадан кірген және файлдарды көшіру және жылжыту, сілтемелер жасау, қайта бағыттаулар мен құбырлармен бірге стандартты Linux пәрмендерін пайдалану сияқты негізгі Linux концепцияларын қарастырғысы немесе түсінігін жақсартқысы келетіндерге арналған. Бұл мақалада сіз ұсынылған материалды түсіндіретін көптеген мысалдарды таба аласыз. Жаңадан бастаушылар үшін ақпараттың көпшілігі жаңа болады, бірақ неғұрлым озық пайдаланушылар үшін бұл материал бар білім мен дағдыларды қорытындылау үшін тамаша құрал бола алады.

bash-қа кіріспе

Shell

Егер сіз Linux пайдалансаңыз, жүйеге кіргеннен кейін сізді пәрменді аудармашы шақыруы қарсы алатынын білесіз. Мысалы мынау:

\$

Жүйеге кіргеннен кейін графикалық қабық жүктелсе, командалық интерпретаторға өту үшін терминал эмуляторын (gnome-terminal, xfce4-terminal, konsole, xterm, rxvt...) іске қосу керек немесе виртуалды терминалдардың біріне ауысу керек: басу ctrlбаламаF1немесе ctrlбаламаF2және т.б.

Компьютеріңіздегі қабықша шақыру мысалда көрсетілгеннен өзгеше болуы мүмкін. Онда пайдаланушы аты, компьютер атауы және ағымдағы жұмыс каталогының атауы болуы мүмкін. Бірақ барлық осы айырмашылықтарға қарамастан, бұл шақыруды басып шығаратын бағдарлама « қабық” (қабық) және сіздің қабықыңыз деп аталатын бағдарлама болуы мүмкін bash.

Сіз bash жүгіріп жатырсыз ба?

Келесі пәрменмен bash іске қосылғанын тексеруге болады:

\$ echo \$SHELL/bin/bash

Егер сіз осы пәрменді орындау нәтижесінде қате алсаңыз немесе оның шығысы мысалдағыдан өзгеше болса, онда жүйеңізде bash пәрмен қабығы ретінде пайдаланылмауы мүмкін. Осыған қарамастан, материалдың көпшілігі өзекті болады, бірақ біз әлі де bash-қа ауысуды ұсынамыз. Мұны (егер жүйеде bash орнатылған болса) келесі пәрмен арқылы жасауға болады:

\$ bash

Бас деген не

Bash (" деген сөздің аббревиатурасы" Ббіздің- апайда SH ell») — көптеген Linux жүйелеріндегі стандартты пәрмендерді интерпретатор. Оның міндеттеріне пайдаланушы компьютерді басқаратын пәрмендерді өңдеу және орындау кіреді. Жұмысты аяқтағаннан кейін қабық процесін аяқтауға болады. Пернелерді басқаннан кейін ctrlD, пәрмендері Шығунемесе шығуқабық процесі тоқтатылады және экран қайтадан пайдаланушы аты мен құпия сөзді сұрайды.

«Cd» пайдалану

Файлдық жүйені шарлау үшін bash пайдалануды бастайық. Бастау үшін келесі пәрменді теріңіз:

$ CD /

Осы пәрменмен біз bash-қа түбірлік каталогқа көшкіміз келетінін айттық - / . Жүйедегі барлық каталогтар ағаш құрылымында ұйымдастырылған және / бұл оның бастамасы (немесе түбірі). Команда CDағымдағы жұмыс каталогын өзгерту үшін пайдаланылады.

Жолдар

Файлдық жүйенің қай жерде екенін білу үшін осы сәтСіз (ағымдағы жұмыс каталогында) түрдесіз:

\$ pwd /

Жоғарыдағы мысалда / - командалық аргумент CD- деп шақырды жол. Бұл біз жылжытқымыз келетін файлдық жүйенің орны. Бұл жағдайда / - абсолютті жол, бұл жолдың түбірлік каталогқа қатысты екенін білдіреді.

Абсолютті жолдар

Мұнда абсолютті жолдардың кейбір мысалдары берілген

/dev /usr /usr/bin /usr/local/bin

Өздеріңіз де байқаған боларсыздар, бұл жолдардың барлығын олардың бастаулары біріктіреді / . /usr/local/bin жолын пәрменге аргумент ретінде көрсету CDбіз оған түбірлік каталогқа өтуін айтамыз / , содан кейін usr каталогына, содан кейін жергілікті және bin. Абсолютті жолдар әрқашан басталады /

Салыстырмалы жолдар

Жолдардың екінші түрі салыстырмалы деп аталады. bash, команда CDжәне басқа пәрмендер ағымдағы каталогқа қатысты осы жолдарды санайды. Салыстырмалы жолдар ешқашан басталмайды / . Мысалы, егер біз /usr ішінде болсақ

\$ cd /usr

Содан кейін салыстырмалы жолды пайдаланып /usr/local/bin ішіне шарлай аламыз

\$ CD local/bin \$ pwd/usr/local/bin

«..» қолдану

Қатысты жолдар бір немесе бірнеше каталогтарды қамтуы мүмкін «..» . «..» біздің жұмыс каталогымыздың басты каталогын көрсетеді. Мысалы:

\$ pwd/usr/local/bin\$ CD.. \$ pwd/usr/local

Көріп отырғаныңыздай, команда CD..«бізді жоғары деңгейге жеткізеді».

Қосуға болады .. салыстырмалы жолға. Бұл біз орналасқан каталогпен бірдей деңгейде орналасқан каталогқа ауысады. Мысалы:

\$ pwd/usr/local\$ CD ../бөлісу \$ pwd/usr/pay

Салыстырмалы жолдарды қолданатын мысалдар

Салыстырмалы жолдар өте қиын болуы мүмкін. Міне, кейбір мысалдар. Пәрмендерді орындау нәтижесі көрсетілмейді, bash көмегімен қай каталогта болатыныңызды анықтап көріңіз.

\$ CD /bin \$ cd ../usr/share/zoneinfo \$ cd /usr/X11R6/bin \$ cd ../lib/X11 \$ cd /usr/bin \$ cd ../bin/../bin

Жұмыс каталогы "."

Команда туралы айтуды аяқтамас бұрын CD, тағы бірнеше нәрсені атап өту керек. Біріншіден, тағы бір арнайы каталог бар «.» , ол ағымдағы каталогты көрсетеді. Бұл каталог ағымдағы каталогта орналасқан орындалатын файлдарды іске қосу үшін пайдаланылады.

\$ ./myprog

Соңғы мысалда myprog болып табылады орындалатын файлорындау үшін іске қосылатын ағымдағы каталогта орналасқан.

CD және пайдаланушының үй каталогы

Үй каталогына өзгерту үшін теріңіз

\$ CD

Аргументсіз CD сізді үй каталогына жылжытады. Суперпайдаланушы үшін үй каталогы әдетте /root және for болып табылады қарапайым пайдаланушылар- /үй/пайдаланушы аты/. Бірақ егер біз үй каталогында орналасқан белгілі бір файлды көрсеткіміз келсе ше. Мысалы, бағдарламаға дәлел ретінде "менің бағдарламам"? Сіз жаза аласыз:

\$ ./myprog /home/user/myfile.txt

Дегенмен, абсолютті файл жолдарын пайдалану әрқашан қолайлы бола бермейді. Сол операцияны көмегімен жасауға болады ~ –тилдалар:

\$ ./myprog ~/myfile.txt

~ bash тіліндегі пайдаланушының үй каталогын көрсететін арнайы атау.

Басқа пайдаланушылардың үй каталогтары

Бірақ басқа пайдаланушының үй каталогындағы файлды көрсету керек болса ше? Ол үшін тильден кейін осы пайдаланушының атын көрсету керек. Мысалы, fred пайдаланушының үй каталогында орналасқан fredsfile.txt файлын көрсету үшін:

\$ ./myprog ~fred/fredsfile.txt

Linux командалары

ls-ке кіріспе

Сіз команданы бұрыннан білетін шығарсыз ls, ол аргументсіз шақырылады, жұмыс каталогында сақталған файлдардың тізімін көрсетеді:

\$ cd /usr \$ ls X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 құрамында libexec portage бөлісу tmp distfiles i686-linux ақпараты жергілікті portage.old src

Опцияны көрсетсеңіз , сіз барлық файлдарды, соның ішінде жасырын файлдарды (аттары нүктеден басталатын) көре аласыз.

\$ ls-a. bin gentoo-x86 libexec portage үлесін қамтиды tmp .. distfiles i686-linux ақпараты жергілікті portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl

Каталогтардың толық тізімі

Командадан кейін lsоның аргументі ретінде бір немесе бірнеше файлдарды немесе каталогтарды көрсетуге болады. Егер файл атауын көрсетсеңіз, онда пәрмен lsтек сол файл туралы ақпаратты көрсетеді. Ал егер каталогтың атын көрсетсеңіз, lsоның барлық мазмұнын көрсетеді. Опция '-l'командалар lsфайл атауларынан көбірек білгіңіз келсе өте пайдалы болуы мүмкін егжей-тегжейлі ақпаратолар туралы (файл рұқсаттары, иесінің аты, уақыты соңғы өзгерісфайл және оның өлшемі).

Келесі мысал опцияның қолданылуын көрсетеді '-l'/usr каталогында сақталған файлдар туралы ақпаратты көрсету үшін

\$ ls -l /usr drwxr-xr-x 7 түбір түбір 168 24 қараша 14:02 X11R6 drwxr-xr-x 2 түбір түбір 14576 27 желтоқсан 08:56 бин drwxr-xr-x 2 түбір түбір 8856 26 желтоқсан 12:47 rootxrwxrwt 22 желтоқсан 20:57 doc -> share/doc drwxr-xr-x 62 түбір түбірі 1856 27 желтоқсан 15:54 gentoo-x86 drwxr-xr-x 4 түбір түбір 152 12 желтоқсан 23:10 i686-linux drwxr 4 түбір түбірі 96 24 қараша 13:17 i686-pc-linux-gnu drwxr-xr-x 54 түбірлік түбір 5992 24 желтоқсан 22:30 lrwxrwxrwx қамтиды 1 түбір түбір 10 22 желтоқсан 20:57 drw ->xrx ақпарат - бөлісу -x 28 түбір түбірі 13552 26 желтоқсан 00:31 lib drwxr-xr-x 3 түбір түбір 72 қараша 25 қараша 00:34 libexec drwxr-xr-x 8 түбір түбір 240 22 желтоқсан 20:57 жергілікті lrwxrwxrw2 rootc2 Dec :57 man -> share/man lrwxrwxrwx 1 түбір түбір 11 желтоқсан 8 07:59 portage -> gentoo-x86/ drwxr-xr-x 60 түбір түбір 1864 8 желтоқсан 07:55 portage.old drwxr-xr-x 3 түбір тамыр 3096 22 желтоқсан 20:57 sbin drwxr-xr-x 46 түбір түбір 1144 24 желтоқсан 15:32 бөлісу drwxr-xr-x 8 түбір түбір 25 ssl lrwxrwxrwx 1 түбір түбір 10 желтоқсан 2720mp -> ../var/tmp

Бірінші баған тізімдегі әрбір файлдың рұқсаттары туралы ақпаратты көрсетеді. (Қай әріп нені білдіретінін сәл кейінірек түсіндіремін.) Келесі бағанда тізімнің әрбір элементіне сілтемелер саны көрсетіледі. Үшінші және төртінші бағандар сәйкесінше файлдың иесі мен тобы болып табылады. Бесінші баған - өлшем. Алтыншы - файлдың соңғы рет өзгертілген уақыты («соңғы өзгертілген уақыт» немесе mtime). Соңғы баған файлдың немесе каталогтың атауы (Егер бұл сілтеме болса, онда ' –> ‘ ол сілтеме жасайтын нысанның атауы).

Тек каталогтарды қалай көруге болады

Кейде олардың барлық мазмұны туралы емес, тек каталогтар туралы ақпаратты қарау қажеттілігі туындайды. Опция бұл тапсырманы орындауға көмектеседі. '-d', ол командаға тек каталогтар туралы ақпаратты көрсетуді айтады. Мысалы:

\$ ls -dl /usr /usr/bin /usr/X11R6/bin ../бөлісу drwxr-xr-x 4 түбір түбір 96 18 желтоқсан 18:17 ../бөлісу drwxr-xr-x 17 түбір түбір 576 24 желтоқсан 09:03 /usr /X11R6/bin drwxr-xr-x 2 түбір 142576 Дек :56 /usr/bin

Рекурсивті тізім және инод туралы ақпарат

Опция әрекеті '-R'қарсы әрекет '-d'. Ол каталогтағы файлдар туралы ақпаратты рекурсивті түрде көрсетуге мүмкіндік береді. Алдымен жоғарғы деңгейдегі каталогтың мазмұны көрсетіледі, содан кейін барлық ішкі каталогтардың мазмұны кезекпен және т.б. Бұл пәрменнің нәтижесі өте үлкен болуы мүмкін, сондықтан біз оған мысал келтірмейміз, бірақ оны теру арқылы өзіңіз көріңіз. пәрмен жолыls -R'немесе' ls-RL‘.

Және ақырында опция '-мен'әрбір файлдық жүйе нысанының инодтарын шығару үшін пайдаланылады.

\$ ls -i /usrҚосу 784 тмп

Инодтар дегеніміз не?

Әрбір файлдық жүйе объектісінің (файлдың, каталогтың...) өзінің бар бірегей нөмір, деп аталады инод(инод нөмірі). Бұл ақпарат елеусіз болып көрінуі мүмкін, бірақ инодтардың функциясын түсіну көптеген файлдық жүйе операцияларын түсінуге көмектеседі. Мысалы, қарастырайық «.» және «..» әр каталогта бар сілтемелер сияқты. Каталогтың не екенін түсіну үшін «..» , /use/local каталогының инодын табыңыз

\$ ls -id /usr/local 5120 /usr/local

Көріп отырғанымыздай, /usr/local каталогының иноды 5120. Енді /usr/local/bin/.. каталогында қандай инод бар екенін көрейік:

\$ ls -id /usr/local/bin/.. 5120 /usr/local/bin/..

/usr/local және /usr/local/bin/.. каталогтарының инодтары бірдей болып шықты! Бұл екі атау inode 5120-ге сілтеме жасайтынын білдіреді: /usr/local және /usr/local/bin/.. Яғни, бұл бір каталог үшін екі түрлі атау. Әрбір инод дискідегі белгілі бір орынды көрсетеді.

Әрбір инодта онымен байланыстырылған бірнеше файлдық жүйе нысанының атаулары болуы мүмкін. «Синонимдер» файлының саны (бір инодқа сілтеме жасайтын файлдық жүйе нысандары) пәрмен шығысының екінші бағанындағы нөмірді көрсетеді. ls-l‘.

\$ ls -dl /usr/local drwxr-xr-x 8 түбір түбір 240 22 желтоқсан 20:57 /usr/local

Бұл мысалда /usr/local каталогына 8 түрлі файлдық жүйе нысандары арқылы сілтеме жасалғанын (екінші баған) көре аласыз. Міне, олардың есімдері:

/usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/ src/..

mkdir

Пәрменді қарастырайық mkdir. Ол жаңа каталогтарды құру үшін қолданылады. Келесі мысал /tmp каталогында үш жаңа каталогтың (tic, tac, toe) жасалуын көрсетеді.

\$ CD /tmp $ mkdir tic tac toe

Әдепкі пәрмен mkdirкірістірілген каталог құрылымын жасай алмайды. Сондықтан, бірнеше кірістірілген каталогтарды жасау қажет болса ( жеңді/дер/ful), онда сіз бұл пәрменді үш рет кезекпен шақыруыңыз керек:

\$ mkdir won/der/ful mkdir: "won/der/ful" каталогын жасау мүмкін емес: Мұндай файл немесе каталог \$ жоқ mkdir жеңді \$ mkdir жеңді/дер \$ mkdir won/der/ful

Опцияны қосу арқылы бұл әрекетті жеңілдетуге болады '-p' mkdir пәрменіне. Бұл опция кірістірілген каталог құрылымын жасауға мүмкіндік береді:

\$ mkdir -p easy/as/pie

Бұл қызметтік бағдарламаның мүмкіндіктері туралы көбірек білу үшін пәрмен арқылы шақырылатын анықтаманы оқыңыз адам mkdir. Анықтама осы нұсқаулықтағы барлық дерлік пәрмендер үшін қолжетімді (мысалы, адам ls), Сонымен қатар CD, өйткені ол bash ішіне салынған (мұндай командалар үшін анықтама келесідей аталады: көмек CD)

түрту

Пәрмендерді үйренуге көшейік cpжәне mv, файлдар мен каталогтарды көшіру, атын өзгерту және жылжыту үшін қолданылады. Бірақ оған дейін пәрменді пайдаланып /tmp каталогында бос файл жасайық түрту:

\$ CD /tmp \$ көшіруді түртіңіз

Команда түртуфайлға соңғы қол жеткізу уақытын жаңартады (пәрмен шығысының алтыншы бағаны ls-l) егер ол бұрыннан бар болса немесе ол бұрыннан жоқ болса, жаңа бос файл жасайды. Осы операциядан кейін бізде бос файл болуы керек /tmp/copyme.

жаңғырық

Енді бізде бос файл бар, оған пәрмен арқылы мәтіндік жолды жазайық жаңғырық, ол оған берілген аргументті стандартты шығысқа басып шығарады (біздің жағдайда мәтіндік терминал).

\$ жаңғырық «бірінші файл»бірінші файл

Біздің файлға жолды жазу үшін команданың шығысын оған қайта бағыттаймыз жаңғырық:

\$ echo «бірінші файл» > көшіру

Қол қою > (үлкен) қабықшаға сол жақтағы пәрменнің шығысын оң жақтағы файл атауына қайта бағыттауды айтады. Егер аттас файл жоқ болса, ол автоматты түрде жасалады. Ал егер мұндай файл бұрыннан бар болса, онда ол қайта жазылады (біздің жолды жазбас бұрын оның барлық мазмұны жойылады). Команда 'ls -l'файлымыздың өлшемі қазір 10 байт екенін көрсетеді - тоғыз байт 'бірінші файл' сөзі және бір байт жол беру таңбасы.

\$ ls -l көшіремін-rw-r--r-- 1 түбір түбір 10 28 желтоқсан 14:13 көшірме

мысық және cp

Терминалда файлдың мазмұнын көрсету үшін пәрменді пайдаланыңыз мысық:

\$ мысық көшірмесібірінші файл

Енді команданың негізгі функционалдығын талдауды бастай аламыз cp. Бұл пәрмен екі дәлелді қабылдайды. Біріншісі бұрыннан бар файлдың атауы («көшірме»), екіншісі — біз жасағымыз келетін жаңа көшірменің аты («көшірме»).

\$ cp көшірмеге көшіру

Біз бұған көз жеткізе аламыз жаңа көшірмефайлдың басқа инод нөмірі бар (бұл бізде шынымен жаңа бөлек файл, ескі сілтеме ғана емес)

\$ ls -мен көшіремін 648284 көшірме

mv

Енді пәрменді қолданайық mvфайлдың атын өзгерту үшін («copiedme» -> «movedme»). Бұл операциядан кейінгі инод нөмірі өзгермейді, тек файл атауы өзгереді.

\$ mv мені көшірді \$ ls -мен мені жылжыттым 648284 мені жылжытты

Аты өзгертілген файл бастапқы файл сияқты бір файлдық жүйеде қалмайынша, инод нөмірі өзгермейді. Біз осы оқулықтың кейінгі бөлігінде файлдық жүйелердің қалай реттелгенін егжей-тегжейлі қарастырамыз.

Команда mvфайлдардың атын өзгертуге ғана емес, оларды жылжытуға да мүмкіндік береді. Мысалы, файлды жылжыту үшін /var/tmp/myfile.txtкаталогқа /үй/пайдаланушыпәрменді беру керек:

\$ mv /var/tmp/myfile.txt /home/user

Файл пайдаланушының үй каталогына жылжытылады пайдаланушыол басқа файлдық жүйеде болса да (бұл жағдайда файл жаңа орынға көшіріледі, содан кейін түпнұсқа жойылады). Сіз қазір болжағандай, файлды басқа файлдық жүйеге жылжыту оның инодын өзгертеді. Бұл әрқайсысының себебі болып табылады файлдық жүйеөзіндік инодтар жиынтығы бар.

Айта кету керек, жаңа тағайындалған инод нөмірі бұрынғымен бірдей болуы мүмкін, бірақ ол өте аз.

Бірнеше файлды бір уақытта бір каталогқа жылжыту үшін мынаны жазу керек:

\$ mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home/user \$ mv -t /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt

Егер сіз опцияны қоссаңыз '-v', орындалған операция туралы есеп экранда көрсетіледі:

\$ mv -vt /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt"/var/tmp/myfile1.txt" -> "/home/user/myfile1.txt" "/var/tmp/myfile2.txt" -> "/home/user/myfile2.txt"

Жақында мен терминалдағы каталогтар бойынша жылжу командаларын сипаттадым Linux. Сондықтан мен консольдегі командалар туралы әңгімені жалғастыруды шештім. Сондықтан қозғалыстар реттелген сияқты. Енді мен консольде каталогтарға қандай жолдар бар екенін толығырақ қарастырғым келеді.

Алдымен барлығына ең танымал, біздің файлдар мен каталогтарға жолды, атап айтқанда абсолютті жолды қарастырайық. Терминалды ашыңыз және үй каталогына толық жолды басып шығаратын пәрменді беріңіз. Мен жақында осы команда туралы айттым. Енгізіңіз pwd:


:~$ pwd
/үй/данте


Мұны көріп тұрғаныңыздай консоль командасытүбірлік каталогтан басталатын толық жолды көрсетеді. Мен жақында ғана каталогтар арқылы мұндай қозғалысты сипаттадым, бұл қозғалыс абсолютті жолды пайдаланады. Бірақ бұл біздің операциялық жүйеміздің санаттары арқылы өтудің барлық мүмкіндіктері емес. AT операциялық жүйе Linux, салыстырмалы жолдарды пайдалану мүмкіндігі әлі де бар.

Консольдегі салыстырмалы жолдар сіз тұрған санатқа қатысты санаттарды санайды. Олармен бірге пайдалануға болады ".." біз барғымыз келетін қалтаның алдында екі нүкте. Операциялық жүйеміздің бір жеріне барайық. Мысалы, қалтада usrжәне оның мазмұнын пәрмен арқылы тексеріңіз ls.

[электрондық пошта қорғалған]:~$ cd /usr
[электрондық пошта қорғалған]:/usr$ls

[электрондық пошта қорғалған]:/usr$

Мұнда біз қолжетімді каталогтардың тізімін көреміз. Енді каталогқа барайық » бөлісу».

[электрондық пошта қорғалған]:~$ cd /usr/pay


Сонымен, біз қазір санаттамыз /usr/payкөріп отырғанымыздай. Енді біз кіретін санатпен бірдей деңгейдегі санатқа көшейік. Мысалы, санатта жергілікті«. Мұны осындай абсолютті жолмен жасауға болады.

[электрондық пошта қорғалған]:~$ cd /usr/local

[электрондық пошта қорғалған]:/usr/share$pwd
/usr/pay
[электрондық пошта қорғалған]:/usr/share$


Көріп отырғаныңыздай, мен сіз үшін консольде сіз тұрған жерге апаратын толық жолды көрсеттім. Анықтамалық « жергілікті' каталогпен бір деңгейде ' бөлісу” және біз осындай пәрменді пайдалана аламыз.

[электрондық пошта қорғалған]:/usr/share$ cd ../local
[электрондық пошта қорғалған]:/usr/local$


Көріп отырғаныңыздай, сұрау пәрмені әлдеқайда қарапайым болды. Бірақ бұл сіздің жұмыс каталогыңызбен бір деңгейде орналасқан каталогтарды есте сақтасаңыз ғана болады, ал мен консольдегі басқа каталогтарды әрқашан есімде сақтамаймын.

Келесі каталогқа өту үшін консольде жұмыс каталогына қатысты пәрменді енгізу жеткілікті. Осы мақсатта орнына пайдаланыңыз ".." екі ұпай "." бір нүкте және сіз қазіргі уақытта орналасқан консольдегі каталогқа қатысты қозғаласыз. Анықтамаға қайта оралайық /usrжәне онда не бар екенін тағы бір қараңыз.

[электрондық пошта қорғалған]:/usr/local$ cd /usr
[электрондық пошта қорғалған]:/usr$ls
bin ойындарына lib local sbin share src кіреді
[электрондық пошта қорғалған]:/usr$


Енді каталогқа барайық » бөлісу» біз қазір орналасқан каталогқа қатысты. Мұны істеу үшін консольге кіріңіз

[электрондық пошта қорғалған]:/usr$ cd ./local
[электрондық пошта қорғалған]:/usr/local$


Көріп отырғаныңыздай, салыстырмалы жолдарды пайдалану консольге енгізілетін пәрмендерді айтарлықтай азайтуы мүмкін. Linux.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!