Litaba, phetolelo eo re e phatlalatsang kajeno, e etselitsoe ba batlang ho tseba mola oa taelo oa Linux. Bokhoni ba ho sebelisa sesebelisoa sena ka katleho bo ka boloka nako e ngata. Haholo-holo, re tla bua ka khetla ea Bash le litaelo tse 21 tse sebetsang mona. Re tla boela re bue ka mokhoa oa ho sebelisa lifolakha tsa litaelo le li-aliases tsa Bash ho potlakisa ho thaepa ha litaelo tse telele.
→
Lipehelo
Ha u ntse u ithuta ho sebetsa le mola oa taelo oa Linux, u tla kopana le likhopolo tse ngata tse thusang ho tsamaea. Tse ling tsa tsona, joalo ka "Linux" le "Unix", kapa "shell" le "terminal", ka linako tse ling lia ferekana. Ha re bue ka mantsoe ana le a mang a bohlokoa.
Kaha joale re se re koahetse mantsoe a bohlokoa, ke batla ho supa hore ke tla sebelisa mantsoe "Bash", "shell" le "command line" ka ho fapanyetsana mona, hammoho le mantsoe "directory" le "foldara".
E tloaelehileng stdin
), tlhahiso e tloaelehileng (sephetho se tloaelehileng, stdout
) le tlhahiso e tloaelehileng ea phoso (phoso e tloaelehileng, stderr
).
Haeba ho mohlala litaelo tse tla fanoa ka tlase, u tla fumana ntho e kang my_whatever
- sena se bolela hore sekhechana sena se hloka ho nkeloa sebaka ke ntho ea hau. Ka mohlala, lebitso la faele.
Joale, pele re tsoela pele ka tlhahlobo ea litaelo tseo boitsebiso bona bo nehetsoeng ho tsona, a re shebeng lethathamo la bona le litlhaloso tsa bona tse khutšoane.
21 Litaelo tsa Bash
▍ Ho fumana boitsebiso
man
: E bonts'a tataiso ea mosebelisi (thuso) bakeng sa taelo.pwd
: e bonts'a tlhahisoleseling mabapi le bukana e sebetsang.ls
: e bonts'a litaba tsa bukana.ps
: E u lumella ho sheba tlhahisoleseling mabapi le lits'ebetso tse sebetsang.
▍ Ho qhekella tsamaiso ea lifaele
cd
: fetola bukana ea ho sebetsa.touch
: theha faele.mkdir
: theha directory.cp
: Kopitsa faele.mv
: Tsamaisa kapa hlakola faele.ln
: theha sehokelo.
▍ Litsela tsa ho tsamaisa sebaka sa I/O le lipeipi
<
: tsamaisa hapestdin
.>
: tsamaisa hapestdout
.|
: o kentse tlhahiso ea taelo e le 'ngoe ho kenya taelo e' ngoe.
▍ Ho bala lifaele
head
: bala qalo ea faele.tail
: bala qetellong ea faele.cat
: Bala faele 'me u hatise likahare tsa eona skrineng, kapa u kopanye lifaele.
▍ Ho hlakola lifaele, ho emisa lits'ebetso
rm
: Hlakola faele.kill
: emisa mokhoa.
▍Batla
grep
: batla tlhahisoleseding.ag
: taelo e tsoetseng pele ea ho batla.
▍Ho boloka lintho tsa khale
tar
: ho theha li-archives le ho sebetsa le tsona.
Ha re bue ka litaelo tsena ka botlalo.
Lintlha tsa Sehlopha
Ho qala, a re sebetsanang le litaelo, tseo liphello tsa tsona li fanoang ka foromo stdout
. Hangata liphetho tsena li hlaha fensetereng ea ho qetela.
▍ Ho fumana boitsebiso
man command_name
: bonts'a tataiso ea litaelo, ke hore, lintlha tsa thuso.
pwd
: bonts'a tsela e eang bukeng ea hona joale ea ho sebetsa. Nakong ea ho sebetsa le mola oa taelo, hangata mosebelisi o hloka ho fumana hantle hore na o hokae tsamaisong.
ls
: bonts'a litaba tsa bukana. Taelo ena e boetse e sebelisoa hangata.
ls -a
: bontša lifaele tse patiloeng. folakha e sebelisoa mona -a
litaelo ls
. Tšebeliso ea lifolakha e thusa ho fetola boitšoaro ba litaelo.
ls -l
: Bontša lintlha tse qaqileng mabapi le lifaele.
Hlokomela hore lifolakha li ka kopanngoa. Ka mohlala - joalo ka: ls -al
.
ps
: Sheba mekhoa e sebetsang.
ps -e
: Bontša tlhahisoleseling mabapi le lits'ebetso tsohle tse sebetsang, eseng feela tse amanang le khetla ea mosebelisi ea hajoale. Hangata taelo ena e sebelisoa ka mokhoa ona.
▍ Ho qhekella tsamaiso ea lifaele
cd my_directory
: fetola directory ea ho sebetsa ho my_directory
. Ho nyolla mohato o le mong sefateng sa directory, sebelisa my_directory
tsela e amanang ../
.
taelo ea cd
touch my_file
: tlhahiso ea lifaele my_file
ka tsela e fanoeng.
mkdir my_directory
: theha foldara my_directory
ka tsela e fanoeng.
mv my_file target_directory
: tsamaisa faele my_file
ho tsamaisetsa foldareng target_directory
. Ha o hlakisa bukana ea sepheo, o hloka ho sebelisa tsela e felletseng ea ho ea ho eona (eseng kaho joalo ka ../
).
sehlopha mv
e ka boela ea sebelisoa ho reha lifaele kapa lifoldara. Ka mohlala, e ka shebahala tjena:
mv my_old_file_name.jpg my_new_file_name.jpg
: etsa kopi ea faele
cp my_source_file target_directorymy_source_file
ebe o e kenya foldareng target_directory
.
ln -s my_source_file my_target_file
: theha sehokelo sa tšoantšetso my_target_file
ka faele my_source_file
. Haeba u fetola sehokelo, faele ea mantlha le eona e tla fetoha.
Haeba file my_source_file
e tla hlakoloa, ka nako eo my_target_file
e tla sala. Folakha -s
litaelo ln
e u lumella ho etsa lihokelo tsa li-directory.
Joale ha re bue ka I/O redirection le lipeipi.
▍ Litsela tsa ho tsamaisa sebaka sa I/O le lipeipi
my_command < my_file
: e nkela sebaka sa tlhaloso e tloaelehileng ea faele ea ho kenya (stdin
) ka faele my_file
. Sena se ka ba molemo haeba taelo e emetse ho kenya letsoho ho tsoa ho keyboard, mme data ena e se e bolokiloe faeleng.
my_command > my_file
: e tsamaisa liphetho tsa taelo, ke hore, seo hangata se ka kenang ho sona stdout
le tlhahiso ho skrine, ho faele my_file
. Haeba file my_file
ha e yo - e bopilwe. Haeba faele e le teng, e tla ngoloa.
Ka mohlala, ka mor'a ho phethahatsa taelo ls > my_folder_contents.txt
faele ea mongolo e tla etsoa e nang le lethathamo la se leng bukeng ea hona joale e sebetsang.
Haeba sebakeng sa letšoao >
sebelisa kaho >>
, joale, ha feela faele eo tlhahiso ea taelo e lebisoang ho eona e le teng, faele ena e ke ke ea ngoloa. Lintlha li tla eketsoa qetellong ea faele ena.
Joale ha re shebeng ts'ebetso ea lipeipi tsa data.
Sephetho sa taelo e le 'ngoe se fepeloa ho kenyelletsong ea taelo e' ngoe. Ho tšoana le ho hokahanya phala e 'ngoe ho e 'ngoe
first_command | second_command
: letšoao la conveyor, |
, e sebelisetsoa ho romela tlhahiso ea taelo e le 'ngoe ho taelo e' ngoe. Seo taelo e ka lehlakoreng le letšehali la sebopeho se hlalositsoeng e se romelang stdout
, Oele ho stdin
taelo ka ho le letona la letshwao la phaephe.
Ho Linux, data e ka tsamaisoa ho sebelisoa taelo efe kapa efe e entsoeng hantle. Hangata ho boleloa hore ntho e 'ngoe le e' ngoe e Linux ke pipeline.
O ka kenya litaelo tse ngata ho sebelisa letšoao la pipeline. E shebahala tjena:
first_command | second_command | third_command
Phaephe ea litaelo tse 'maloa e ka bapisoa le pipeline
Hlokomela hore ha taelo ka ho le letšehali la letšoao |
, e hlahisa ntho ho stdout
, seo a se hlahisang se fumaneha hang-hang joalo ka stdin
sehlopha sa bobeli. Ke hore, hoa etsahala hore, ka ho sebelisa pipeline, re sebetsana le ts'ebetso e tšoanang ea litaelo. Ka linako tse ling sena se ka lebisa liphellong tse sa lebelloang. Lintlha tse mabapi le sena li ka baloa
Joale ha re bue ka ho bala data ho tsoa lifaeleng le ho li hlahisa skrineng.
▍ Ho bala lifaele
head my_file
: o bala mela ho tloha qalong ea faele ebe o e hatisa ho ea skrineng. U ka bala eseng feela likahare tsa lifaele, empa hape le seo litaelo li se hlahisang stdin
ho sebelisa taelo ena e le karolo ea lipeipi.
tail my_file
: bala mela ho tloha qetellong ea faele. Taelo ena e ka boela ea sebelisoa liphaepheng.
Hlooho (hlooho) e ka pele, mme mohatla (mohatla) o ka morao
Haeba o sebetsa le data o sebelisa laeborari ea pandas, joale litaelo head
и tail
e lokela ho tloaeleha ho uena. Haeba ho se joalo, sheba setšoantšo se ka holimo, 'me u tla ba hopola habonolo.
Nahana ka litsela tse ling tsa ho bala lifaele, ha re bue ka taelo cat
.
sehlopha cat
e ka ba e hatisa litaba tsa faele skrineng, kapa e kopanya lifaele tse ngata. Ho itšetlehile ka hore na ke lifaele tse kae tse fetisetsoang taelong ena ha li bitsoa.
taelo ea katse
cat my_one_file.txt
: ha faele e le 'ngoe e fetisetsoa taelong ena, e e hlahisa ho stdout
.
Haeba u e fa lifaele tse peli kapa lifaele tse ngata, joale e itšoara ka tsela e fapaneng.
cat my_file1.txt my_file2.txt
: ka mor'a ho amohela lifaele tse 'maloa e le kenyelletso, taelo ena e kopanya likahare tsa eona le ho bontša se etsahetseng ho stdout
.
Haeba sephetho sa khokahano ea faele se hloka ho bolokoa joalo ka faele e ncha, u ka sebelisa opareitara >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Joale a re ke re bue ka mokhoa oa ho hlakola lifaele le ho emisa lits'ebetso.
▍ Ho hlakola lifaele, ho emisa lits'ebetso
rm my_file
: hlakola faele my_file
.
rm -r my_folder
: e hlakola foldara my_folder
le lifaele le lifoldara tsohle tseo e nang le tsona. Folakha -r
e bontša hore taelo e tla sebetsa ka mokhoa oa ho pheta-pheta.
Ho thibela sistimi ho kopa netefatso nako le nako ha faele kapa foldara e hlakoloa, sebelisa folakha -f
.
kill 012345
: E emisa ts'ebetso e boletsoeng, e e fa nako ea ho koala ka bokhabane.
kill -9 012345
: E felisa ka likhoka mokhoa o boletsoeng oa ho sebetsa. Sheba folakha -s SIGKILL
e bolela ho tšoana le folakha -9
.
▍Batla
U ka sebelisa litaelo tse fapaneng ho batla data. Ka ho khetheha - grep
, ag
и ack
. Ha re qale ho tloaelana le litaelo tsena ka grep
. Ena ke taelo e lekiloeng ka nako, e ka tšeptjoang, eo, leha ho le joalo, e liehang ho feta e meng 'me ha e bonolo ho e sebelisa kamoo e leng kateng.
taelo ea grep
grep my_regex my_file
: lipatlisiso my_regex
в my_file
. Haeba papali e fumanoa, khoele eohle e khutlisetsoa bakeng sa papali ka 'ngoe. Ea kamehla my_regex
tshoaroa joalo ka polelo e tloaelehileng.
grep -i my_regex my_file
: Patlo e etsoa ka mokhoa o sa tsotelleng.
grep -v my_regex my_file
: e khutlisa mela eohle e se nang my_regex
. Folakha -v
e bolela ho inversion, e tšoana le opareitara NOT
, e fumanoang lipuong tse ngata tsa lenaneo.
grep -c my_regex my_file
: E khutlisa lintlha tse mabapi le palo ea lintho tse tšoanang bakeng sa paterone e batliloeng e fumanoang faeleng.
grep -R my_regex my_folder
: e etsa patlo e iphetang lifaeleng tsohle tse foldareng e boletsoeng le lifoldareng tse ho eona.
Joale ha re bue ka sehlopha ag
. O ile a tla hamorao grep
, e potlakile, e bonolo haholoanyane ho sebetsa le eona.
taelo ea ag
ag my_regex my_file
: e khutlisa tlhahisoleseding e mabapi le linomoro tsa line, le mela ka boeona, eo ho eona ho fumanoeng lipapali le tsona my_regex
.
ag -i my_regex my_file
: Patlo e etsoa ka mokhoa o sa tsotelleng.
sehlopha ag
sebetsa faele ka bohona .gitignore
'me ha e kenyeletse se hlahisoang se fumanoang lifoldareng kapa lifaeleng tse thathamisitsoeng faeleng eo. E phutholohile haholo.
ag my_regex my_file -- skip-vcs-ignores
: likahare tsa lifaele tsa taolo ea mofuta oa othomathike (joalo ka .gitignore
) ha e nkeloe hloohong ha ho batloa.
Ho phaella moo, e le hore u bolelle sehlopha ag
hore na ke litsela life tseo u batlang ho li qhelela ka thoko ho patlo, u ka etsa faele .agignore
.
Qalong ea karolo ena, re boletse taelo ack
. Lihlopha ack
и ag
li tšoana haholo, re ka re li 99% li ka fapanyetsana. Leha ho le joalo, sehlopha ag
e sebetsa kapele, ke ka hona ke e hlalositseng.
Joale ha re bue ka ho sebetsa le li-archives.
▍Ho boloka lintho tsa khale
tar my_source_directory
: e kopanya lifaele ho tsoa foldareng my_source_directory
ho faele e le 'ngoe ea tarball. Lifaele tse joalo li na le thuso bakeng sa ho fetisetsa lihlopha tse kholo tsa lifaele ho motho e mong.
taelo ea tar
Lifaele tsa tarball tse hlahisoang ke taelo ena ke lifaele tse nang le katoloso .tar
(Tape ARchive). Taba ea hore lentsoe "tape" (tape) le patiloe ka lebitso la taelo le katoloso ea mabitso a lifaele tseo e li bōpang e bontša hore na taelo ena e bile teng nako e kae.
tar -cf my_file.tar my_source_directory
: e theha faele ea tarball e bitsoang my_file.tar
ka dikahare tsa foldara my_source_directory
. Folakha -c
e emetse “bopa” (pōpo), le folakha -f
joalo ka "file" (file).
Ho ntša lifaele ho .tar
-file, sebelisa taelo tar
ka lifolakha -x
("ho ntša", motsu) le -f
("faele", faele).
tar -xf my_file.tar
: e ntša lifaele ho tsoa ho my_file.tar
ho directory ea hona joale e sebetsang.
Joale a re ke re bue ka mokhoa oa ho compress le decompress .tar
- lifaele.
tar -cfz my_file.tar.gz my_source_directory
: mona ho sebelisa folakha -z
("zip", compression algorithm) e bontša hore algorithm e lokela ho sebelisoa ho hatella lifaele gzip
(GNUzip). Khatello ea faele e boloka sebaka sa disk ha u boloka lifaele tse joalo. Haeba lifaele li reriloe, mohlala, hore li fetisetsoe ho basebelisi ba bang, sena se kenya letsoho ho khoasolloa ka potlako ha lifaele tse joalo.
Unzip file .tar.gz
o ka eketsa folakha -z
ho taelo ea dikahare tsa extract .tar
-file, tseo re buileng ka tsona ka holimo. E shebahala tjena:
tar -xfz my_file.tar.gz
Ho lokela ho hlokomeloa hore sehlopha tar
Ho na le lifolakha tse ling tse ngata tse sebetsang.
Li-aliases tsa Bash
Li-aliases tsa Bash (tseo hape li bitsoang li-aliases kapa likhutsufatso) li etselitsoe ho etsa mabitso a khutsufalitsoeng a litaelo kapa tatellano ea tsona, eo tšebeliso ea eona sebakeng sa litaelo tse tloaelehileng e potlakisang mosebetsi. Haeba u na le alias bu
, e patang taelo python setup.py sdist bdist_wheel
, ebe ho bitsa taelo ena, ho lekane ho sebelisa alias ena.
Ho theha lebitso le joalo, eketsa feela taelo e latelang faeleng ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Haeba sistimi ea hau e se na file ~/.bash_profile
, joale u ka iketsetsa eona u sebelisa taelo touch
. Kamora ho theha li-alias, qala setsi bocha, ka mor'a moo o ka sebelisa alias ena. Tabeng ena, tlhahiso ea litlhaku tse peli e nkela sebaka sa litlhaku tse fetang tse tharo tsa taelo, tse reretsoeng
В ~/.bash_profile
o ka eketsa li-alias bakeng sa litaelo tse sebelisoang khafetsa.
▍Liphetho
Ka poso ena, re koahetse litaelo tse 21 tse tsebahalang tsa Bash mme re buile ka ho theha li-aliases tsa litaelo. Haeba u thahasella sehlooho sena -
Babali ba ratehang! Ke litaelo life tse molemo ho ba qalang tseo u ka li eketsang ho tseo ho builoeng ka tsona sehloohong see?
→
Source: www.habr.com