Materi, tarjamahan anu kami publikasikeun ayeuna, dimaksudkeun pikeun anu hoyong ngawasaan garis paréntah Linux. Kamampuhan ngagunakeun alat ieu sacara efektif tiasa ngahémat waktos. Khususna, urang bakal ngobrol ngeunaan cangkang Bash sareng 21 paréntah anu mangpaat di dieu. Urang ogé bakal ngobrol ngeunaan kumaha carana nganggo bendera paréntah sareng landian Bash pikeun nyepetkeun ngetik paréntah anu panjang.
→
istilah
Nalika anjeun diajar damel sareng garis paréntah Linux, anjeun bakal mendakan seueur konsép anu ngabantosan pikeun nganapigasi. Sababaraha di antarana, kawas "Linux" jeung "Unix", atawa "cangkang" jeung "terminal", kadang bingung. Hayu urang ngobrol ngeunaan ieu jeung istilah penting lianna.
Ayeuna urang parantos nutupan istilah-istilah anu penting, kuring badé nunjukkeun yén kuring bakal nganggo istilah "Bash", "cangkang" sareng "garis paréntah" digentos di dieu, ogé istilah "diréktori" sareng "folder".
standar stdin
), kaluaran baku (kaluaran baku, stdout
) jeung kaluaran kasalahan standar (kasalahan standar, stderr
).
Upami dina conto paréntah anu bakal dipasihkeun di handap, anjeun bakal mendakan anu sapertos my_whatever
- Ieu ngandung harti yén sempalan ieu kudu diganti ku hal anjeun. Contona, nami file.
Ayeuna, sateuacan neraskeun analisa paréntah anu dikhususkeun pikeun bahan ieu, hayu urang tingali daptar daptarna sareng pedaran ringkesna.
21 Paréntah Bash
▍ Meunangkeun inpormasi
man
: Mintonkeun pituduh pamaké (pitulung) pikeun paréntah.pwd
: mintonkeun informasi ngeunaan diréktori gawé.ls
: mintonkeun eusi diréktori.ps
: Ngidinan anjeun ningali inpormasi ngeunaan prosés jalan.
▍ Manipulasi sistem file
cd
: ngarobah diréktori gawé.touch
: Jieun file.mkdir
: nyieun diréktori.cp
: Nyalin file.mv
: Mindahkeun atawa mupus hiji file.ln
: nyieun link.
▍ I/O redirection jeung pipelines
<
: alihanstdin
.>
: alihanstdout
.|
: piped kaluaran hiji paréntah ka input paréntah séjén.
▍ Maca file
head
: baca awal file.tail
: baca tungtung file.cat
: Maca file sareng nyitak eusina ka layar, atanapi ngahijikeun file.
▍ Ngahapus file, ngeureunkeun prosés
rm
: Hapus hiji file.kill
: ngeureunkeun prosés.
▍ Pilarian
grep
: milarian inpormasi.ag
: paréntah canggih pikeun milarian.
▍Arsipkeun
tar
: nyieun arsip sarta gawé bareng aranjeunna.
Hayu urang ngobrol ngeunaan paréntah ieu dina leuwih jéntré.
Rincian tim
Pikeun mimitian ku, hayu urang nungkulan paréntah, hasilna anu dikaluarkeun dina formulir stdout
. Biasana hasil ieu muncul dina jandela terminal.
▍ Meunangkeun inpormasi
man command_name
: mintonkeun pituduh paréntah, i.e. pitulung informasi.
pwd
: mintonkeun jalur ka diréktori gawé ayeuna. Dina kursus gawé bareng garis paréntah, pamaké mindeng kudu manggihan persis dimana dina sistem anjeunna.
ls
: mintonkeun eusi diréktori. Paréntah ieu ogé sering dianggo.
ls -a
: nembongkeun file disumputkeun. bandéra dilarapkeun di dieu -a
paréntah ls
. Pamakéan umbul mantuan pikeun ngaropea paripolah paréntah.
ls -l
: Témbongkeun inpo wincik tentang file.
Catet yén bandéra tiasa digabungkeun. Contona - kawas kieu: ls -al
.
ps
: Témbongkeun prosés ngajalankeun.
ps -e
: Nampilkeun inpormasi ngeunaan sadaya prosés anu ngajalankeun, sanés ngan ukur anu aya hubunganana sareng cangkang pangguna ayeuna. Paréntah ieu sering dianggo dina bentuk ieu.
▍ Manipulasi sistem file
cd my_directory
: ngarobah diréktori gawé pikeun my_directory
. Pikeun mindahkeun ka luhur hiji tingkat dina tangkal diréktori, make my_directory
jalur relatif ../
.
paréntah cd
touch my_file
: nyiptakeun file my_file
sapanjang jalur nu dibikeun.
mkdir my_directory
: nyieun polder my_directory
sapanjang jalur nu dibikeun.
mv my_file target_directory
: mindahkeun file my_file
kana map target_directory
. Nalika netepkeun diréktori udagan, anjeun kedah nganggo jalur mutlak pikeun éta (sareng sanés konstruksi sapertos ../
).
tim mv
ogé bisa dipaké pikeun ngaganti ngaran file atawa polder. Contona, éta bisa kasampak kawas kieu:
mv my_old_file_name.jpg my_new_file_name.jpg
: nyieun salinan file
cp my_source_file target_directorymy_source_file
teras lebetkeun kana polder target_directory
.
ln -s my_source_file my_target_file
: nyieun tumbu simbolis my_target_file
per file my_source_file
. Upami anjeun ngarobih tautan, file asli ogé bakal robih.
Lamun file my_source_file
bakal dihapus, lajeng my_target_file
bakal tetep. Bandéra -s
paréntah ln
ngidinan Anjeun pikeun nyieun tumbu pikeun directories.
Ayeuna hayu urang ngobrol ngeunaan I / O redirection na pipelines.
▍ I/O redirection jeung pipelines
my_command < my_file
: ngagantikeun deskriptor file input standar (stdin
) per file my_file
. Ieu tiasa mangpaat upami paréntah ngantosan sababaraha input ti keyboard, sareng data ieu parantos disimpen dina file.
my_command > my_file
: Mindahkeun hasil paréntah, nyaéta naon anu biasana bakal asup stdout
sareng kaluaran kana layar, kana file my_file
. Lamun file my_file
teu aya - eta dijieun. Upami filena aya, éta bakal ditimpa.
Contona, sanggeus executing paréntah ls > my_folder_contents.txt
file téks bakal dijieun ngandung daptar naon dina diréktori gawé ayeuna.
Lamun tinimbang lambang >
ngagunakeun konstruksi >>
, teras, upami aya file anu kaluaran paréntahna dialihkeun, file ieu moal ditimpa. Data bakal ditambahkeun kana tungtung file ieu.
Ayeuna hayu urang tingali ngolah data pipa.
Kaluaran hiji paréntah diasupkeun kana input paréntah séjén. Éta sapertos nyambungkeun hiji pipa ka pipa anu sanés
first_command | second_command
: simbol conveyor, |
, dipaké pikeun ngirim kaluaran hiji paréntah ka paréntah séjén. Naon paréntah di sisi kénca struktur digambarkeun ngirimkeun ka stdout
, Ragrag kana stdin
paréntah ka katuhu tina simbol pipeline.
Dina Linux, data tiasa di-pipelined nganggo naon waé paréntah anu kabentuk. Sering nyarios yén sadayana dina Linux mangrupikeun pipa.
Anjeun tiasa ranté sababaraha paréntah ngagunakeun simbol pipeline. Sigana mah kieu:
first_command | second_command | third_command
Pipa tina sababaraha paréntah tiasa dibandingkeun sareng pipa
Catet yén nalika paréntah ka kénca ti simbol |
, outputs hal pikeun stdout
, naon manehna outputs geuwat sadia sakumaha stdin
tim kadua. Nyaéta, tétéla yén, ngagunakeun pipa, urang nungkulan palaksanaan paralel paréntah. Kadang-kadang ieu tiasa ngakibatkeun hasil anu teu disangka-sangka. Rincian ngeunaan ieu tiasa dibaca
Ayeuna hayu urang ngobrol ngeunaan maca data tina file sareng ningalikeunana dina layar.
▍ Maca file
head my_file
: maca garis ti mimiti file jeung prints ka layar. Anjeun tiasa maca teu ukur eusi file, tapi ogé naon paréntah kaluaran stdin
ngagunakeun paréntah ieu salaku bagian tina pipa.
tail my_file
: maca garis ti tungtung file. Paréntah ieu ogé tiasa dianggo dina pipa.
Sirah (sirah) di hareup, jeung buntut (buntut) di tukang
Upami anjeun damel sareng data nganggo perpustakaan pandas, teras paréntahna head
и tail
kedah wawuh ka anjeun. Upami ieu sanés masalahna, tingali gambar di luhur, sareng anjeun bakal gampang ngingetna.
Mertimbangkeun cara séjén pikeun maca file, hayu urang ngobrol ngeunaan paréntah cat
.
regu cat
boh prints eusi file ka layar, atawa concatenates sababaraha file. Éta gumantung kana sabaraha file anu dikirimkeun kana paréntah ieu nalika disebut.
paréntah ucing
cat my_one_file.txt
: lamun file tunggal disalurkeun kana paréntah ieu, outputs ka stdout
.
Upami anjeun masihan dua file atanapi langkung file, maka kalakuanana béda.
cat my_file1.txt my_file2.txt
: sanggeus narima sababaraha file salaku input, paréntah ieu concatenates eusina tur mintonkeun naon anu lumangsung dina stdout
.
Upami hasil tina panyambungan file kedah disimpen salaku file énggal, anjeun tiasa nganggo operator >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Ayeuna hayu urang ngobrol ngeunaan cara mupus file sareng ngeureunkeun prosés.
▍ Ngahapus file, ngeureunkeun prosés
rm my_file
: ngahapus file my_file
.
rm -r my_folder
: mupus polder my_folder
sareng sadaya file sareng polder anu dikandungna. Bandéra -r
nunjukkeun yén paréntah bakal ngajalankeun dina modeu recursive.
Pikeun nyegah sistem nanyakeun konpirmasi unggal waktos file atanapi folder dihapus, paké bandéra -f
.
kill 012345
: Ngeureunkeun prosés ngajalankeun dieusian, mere eta waktu pikeun gracefully Cicing turun.
kill -9 012345
: Maksa terminates prosés ngajalankeun dieusian. Témbongkeun Bandéra -s SIGKILL
hartina sarua jeung bandéra -9
.
▍ Pilarian
Anjeun tiasa nganggo paréntah anu béda pikeun milarian data. Khususna - grep
, ag
и ack
. Hayu urang mimitian kenalan urang jeung paréntah ieu kalawan grep
. Ieu mangrupikeun paréntah anu diuji waktos, anu tiasa dipercaya, anu, kumaha ogé, langkung laun tibatan anu sanés sareng henteu gampang dianggo sapertos aranjeunna.
paréntah grep
grep my_regex my_file
: maluruh my_regex
в my_file
. Mun hiji patandingan kapanggih, sakabéh string dipulangkeun, pikeun tiap pertandingan. Default my_regex
diperlakukeun salaku éksprési biasa.
grep -i my_regex my_file
: Pamilarian dilaksanakeun ku cara anu teu sensitip.
grep -v my_regex my_file
: mulih sadaya baris nu teu ngandung my_regex
. Bandéra -v
hartina inversion, nyarupaan operator NOT
, kapanggih dina loba basa programming.
grep -c my_regex my_file
: Ngabalikeun inpormasi ngeunaan jumlah patandingan pikeun pola anu dipilarian anu aya dina file.
grep -R my_regex my_folder
: ngalaksanakeun panéangan rekursif dina sadaya file anu aya dina polder anu ditangtukeun sareng dina polder anu aya di dinya.
Ayeuna hayu urang ngobrol ngeunaan tim ag
. Manehna datang engké grep
, éta leuwih gancang, éta leuwih merenah pikeun digawe sareng eta.
paréntah ag
ag my_regex my_file
: mulih informasi ngeunaan nomer garis, jeung garis sorangan, nu cocog kapanggih kalawan my_regex
.
ag -i my_regex my_file
: Pamilarian dilaksanakeun ku cara anu teu sensitip.
regu ag
otomatis ngolah file .gitignore
sareng ngaluarkeun tina kaluaran naon anu kapendak dina polder atanapi file anu didaptarkeun dina file éta. Ieu pisan nyaman.
ag my_regex my_file -- skip-vcs-ignores
: eusi file kontrol versi otomatis (siga .gitignore
) teu dicokot kana akun dina pilarian.
Sajaba ti éta, dina raraga ngabejaan tim ag
on nu jalur file rék ngaluarkeun tina pilarian, Anjeun bisa nyieun file .agignore
.
Dina awal bagian ieu, urang disebutkeun paréntah ack
. Tim ack
и ag
sarupa pisan, urang bisa disebutkeun yen aranjeunna 99% ditukeurkeun. Sanajan kitu, tim ag
jalan gancang, éta naha kuring digambarkeun eta.
Ayeuna hayu urang ngobrol ngeunaan gawé bareng arsip.
▍Arsipkeun
tar my_source_directory
: concatenates payil ti polder my_source_directory
kana hiji file tarball. File sapertos kitu kapaké pikeun nransferkeun set file anu ageung ka batur.
paréntah tar
File tarball anu dihasilkeun ku paréntah ieu mangrupikeun file anu aya ekstensi .tar
(Arsip pita). Kanyataan yén kecap "tape" (tape) disumputkeun dina nami paréntah sareng dina ekstensi nami file anu diciptakeun nunjukkeun sabaraha lami paréntah ieu parantos aya.
tar -cf my_file.tar my_source_directory
: nyieun file tarball ngaranna my_file.tar
kalawan eusi folder my_source_directory
. Bandéra -c
nangtung pikeun "nyiptakeun" (nyiptakeun), sareng bandéra -f
salaku "file" (file).
Pikeun nimba file tina .tar
-file, make paréntah tar
kalawan bandéra -x
( "ekstrak", ékstraksi) jeung -f
("file", file).
tar -xf my_file.tar
: extracts file ti my_file.tar
ka diréktori kerja ayeuna.
Ayeuna hayu urang ngobrol ngeunaan kumaha carana komprési jeung decompress .tar
-berkas.
tar -cfz my_file.tar.gz my_source_directory
: didieu make bandéra -z
("zip", algoritma komprési) nunjukkeun yén algoritma kudu dipaké pikeun niiskeun file gzip
(GNUzip). Komprési file ngahemat rohangan disk nalika nyimpen file sapertos kitu. Upami file direncanakeun, contona, pikeun ditransfer ka pangguna anu sanés, ieu nyumbang kana undeuran file sapertos kitu.
Unzip file .tar.gz
Anjeun tiasa nambahkeun bandéra a -z
kana paréntah eusi ekstrak .tar
-file, nu urang bahas di luhur. Sigana mah kieu:
tar -xfz my_file.tar.gz
Ieu kudu dicatet yén tim tar
Aya loba bandéra leuwih mangpaat.
Bash alias
Bash landian (disebut oge aliases atawa singketan) dirancang pikeun nyieun ngaran disingget paréntah atawa runtuyan maranéhanana, pamakéan nu tinimbang paréntah biasa speeds up gawé. Upami Anjeun gaduh alias bu
, nu hides paréntah python setup.py sdist bdist_wheel
, teras nelepon paréntah ieu, éta cukup ngagunakeun landian ieu.
Pikeun nyiptakeun landian sapertos kitu, tambahkeun paréntah di handap ieu kana file ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Upami sistem anjeun henteu gaduh file ~/.bash_profile
, teras anjeun tiasa nyiptakeunana nyalira nganggo paréntah touch
. Saatos nyiptakeun landian, balikan deui terminal, saatos anjeun tiasa nganggo landian ieu. Dina hal ieu, input dua karakter ngagantikeun input leuwih ti tilu belasan karakter paréntah, nu dimaksudkeun pikeun
В ~/.bash_profile
anjeun tiasa nambihan alias kanggo paréntah anu sering dianggo.
▍Hasil
Dina postingan ieu, kami parantos nutupan 21 paréntah Bash anu populér sareng nyarioskeun ngeunaan nyiptakeun landian paréntah. Upami anjeun resep kana topik ieu -
Pamiarsa Hadirin! Paréntah naon anu mangpaat pikeun pamula anu anjeun badé tambahkeun kana anu dibahas dina tulisan ieu?
→
sumber: www.habr.com