Materi, terjemahan sing diterbitake saiki, ditujokake kanggo wong-wong sing pengin nguwasani baris perintah Linux. Kemampuan nggunakake alat iki kanthi efektif bisa ngirit wektu akeh. Utamane, kita bakal ngomong babagan cangkang Bash lan 21 perintah sing migunani ing kene. Kita uga bakal ngomong babagan carane nggunakake flag printah lan alias Bash kanggo nyepetake ngetik instruksi dawa.
β
Sarat
Nalika sampeyan sinau nggarap baris perintah Linux, sampeyan bakal nemokake akeh konsep sing bisa digunakake kanggo navigasi. Sawetara wong, kayata "Linux" lan "Unix", utawa "cangkang" lan "terminal", kadhangkala bingung. Ayo padha ngomong babagan iki lan istilah penting liyane.
Saiki kita wis nutupi istilah-istilah penting, aku pengin nuduhake yen aku bakal nggunakake istilah "Bash", "shell" lan "command line" ing kene, uga istilah "direktori" lan "folder".
Standar stdin
), output standar (output standar, stdout
) lan output kesalahan standar (kesalahan standar, stderr
).
Yen ing printah conto sing bakal diwenehi ing ngisor iki, sampeyan bakal nemokake kaya my_whatever
- iki tegese pecahan iki kudu diganti karo soko sampeyan. Contone, jeneng file.
Saiki, sadurunge nerusake analisis saka printah sing materi iki darmabakti kanggo, ayo kang njupuk dipikir ing dhaftar lan gambaran singkat.
21 Bash printah
β Njaluk informasi
man
: Nampilake pandhuan pangguna (pitulung) kanggo printah.pwd
: nampilake informasi babagan direktori kerja.ls
: nampilake isi direktori.ps
: Ngidini sampeyan ndeleng informasi babagan proses sing mlaku.
β Manipulasi sistem file
cd
: ngganti direktori kerja.touch
: nggawe file.mkdir
: nggawe direktori.cp
: Nyalin file.mv
: Mindhah utawa mbusak file.ln
: nggawe link.
βI/O redirection lan pipelines
<
: pangalihanstdin
.>
: pangalihanstdout
.|
: piped output saka siji printah menyang input saka printah liyane.
β Maca file
head
: maca wiwitan file.tail
: maca pungkasan file.cat
: Waca file lan nyetak isine menyang layar, utawa gabungke file.
β Mbusak file, mungkasi proses
rm
: Mbusak file.kill
: mungkasi proses.
β Telusuri
grep
: golek informasi.ag
: printah majeng kanggo nggoleki.
βPengarsipan
tar
: nggawe arsip lan nggarap.
Ayo dadi pirembagan bab printah iki ing liyane rinci.
Rincian tim
Kanggo miwiti, ayo kang menehi hasil karo printah, asil kang ditanggepi ing wangun stdout
. Biasane asil iki katon ing jendhela terminal.
β Njaluk informasi
man command_name
: nampilake pandhuan printah, yaiku informasi bantuan.
pwd
: nampilake path menyang direktori kerja saiki. Nalika nggarap baris perintah, pangguna asring kudu ngerteni persis ing endi sistem kasebut.
ls
: nampilake isi direktori. Prentah iki uga asring digunakake.
ls -a
: nuduhake file sing didhelikake. flag diterapake ing kene -a
printah ls
. Panggunaan gendera mbantu ngatur prilaku printah.
ls -l
: Nampilake informasi rinci babagan file.
Elinga yen gendera bisa digabungake. Contone - kaya iki: ls -al
.
ps
: Ndeleng proses mlaku.
ps -e
: Nampilake informasi babagan kabeh proses sing mlaku, ora mung sing digandhengake karo cangkang pangguna saiki. Printah iki asring digunakake ing wangun iki.
β Manipulasi sistem file
cd my_directory
: ngganti direktori kerja menyang my_directory
. Kanggo mindhah munggah siji tingkat ing wit direktori, gunakake my_directory
path relatif ../
.
printah cd
touch my_file
: nggawe file my_file
ing sadawane dalan sing diwenehake.
mkdir my_directory
: nggawe folder my_directory
ing sadawane dalan sing diwenehake.
mv my_file target_directory
: mindhah file my_file
menyang folder target_directory
. Nalika nemtokake direktori target, sampeyan kudu nggunakake path absolut menyang (lan dudu konstruksi kaya ../
).
tim mv
uga bisa digunakake kanggo ngganti jeneng file utawa folder. Contone, bisa uga katon kaya iki:
mv my_old_file_name.jpg my_new_file_name.jpg
: nggawe salinan file
cp my_source_file target_directorymy_source_file
lan sijine ing folder target_directory
.
ln -s my_source_file my_target_file
: nggawe pranala simbolis my_target_file
saben file my_source_file
. Yen sampeyan ngganti link, file asli uga bakal diganti.
Yen file my_source_file
bakal dibusak, banjur my_target_file
bakal tetep. GendΓ©ra -s
printah ln
ngidini sampeyan nggawe pranala kanggo direktori.
Saiki ayo ngomong babagan redirection I/O lan pipelines.
βI/O redirection lan pipelines
my_command < my_file
: ngganti deskriptor file input standar (stdin
) saben file my_file
. Iki bisa migunani yen printah nunggu sawetara input saka keyboard, lan data iki wis disimpen ing file.
my_command > my_file
: pangalihan asil printah, IE apa biasane bakal pindhah menyang stdout
lan output menyang layar, menyang file my_file
. Yen file my_file
ora ana - iku digawe. Yen file ana, iku bakal ditindhes.
Contone, sawise nglakokake printah ls > my_folder_contents.txt
file teks bakal digawe ngemot dhaptar apa ing direktori kerja saiki.
Yen tinimbang simbol >
nggunakake konstruksi >>
, banjur, yen file sing output saka printah redirected ana, file iki ora bakal ditindhes. Data kasebut bakal ditambahake ing pungkasan file iki.
Saiki ayo goleki pangolahan pipa data.
Output saka siji printah dipakani menyang input saka printah liyane. Iku kaya nyambungake pipa siji menyang pipa liyane
first_command | second_command
: simbol conveyor, |
, digunakake kanggo ngirim output saka siji printah menyang printah liyane. Apa printah ing sisih kiwa saka struktur diterangake ngirim kanggo stdout
, Tiba ing stdin
printah ing sisih tengen simbol pipeline.
Ing Linux, data bisa pipelined nggunakake meh wae printah uga-kawangun. Asring ujar manawa kabeh ing Linux minangka pipa.
Sampeyan bisa chain sawetara printah nggunakake simbol pipeline. Katon kaya mangkene:
first_command | second_command | third_command
Pipa saka sawetara perintah bisa dibandhingake karo pipa
Elinga yen nalika printah ing sisih kiwa simbol |
, Output soko kanggo stdout
, apa dheweke output langsung kasedhiya minangka stdin
tim kapindho. Sing, ternyata, nggunakake pipeline, kita dealing karo eksekusi paralel saka printah. Kadhangkala iki bisa nyebabake asil sing ora dikarepake. Rincian babagan iki bisa diwaca
Saiki ayo ngomong babagan maca data saka file lan nampilake ing layar.
β Maca file
head my_file
: maca baris saka awal file lan prints menyang layar. Sampeyan bisa maca ora mung isi file, nanging uga apa printah output ing stdin
nggunakake printah iki minangka bagΓ©an saka pipeline.
tail my_file
: maca baris saka mburi file. Printah iki uga bisa digunakake ing pipa.
Sirah (sirah) ana ing ngarep, lan buntut (buntut) ana ing mburi
Yen sampeyan nggarap data nggunakake perpustakaan panda, banjur printah head
ΠΈ tail
kudu akrab karo sampeyan. Yen iki ora cilik, njupuk dipikir ing tokoh ndhuwur, lan sampeyan bakal gampang ngelingi wong.
Coba cara liya kanggo maca file, ayo ngomong babagan perintah kasebut cat
.
tim cat
salah siji prints isi file menyang layar, utawa concatenates sawetara file. Iku gumantung carane akeh file liwat printah iki nalika disebut.
dhawuh kucing
cat my_one_file.txt
: nalika file siji wis liwati kanggo printah iki, outputs menyang stdout
.
Yen sampeyan menehi rong file utawa luwih file, mula tumindake beda.
cat my_file1.txt my_file2.txt
: wis nampa sawetara file minangka input, printah iki concatenates isi lan nampilake apa kedaden ing stdout
.
Yen asil concatenation file kudu disimpen minangka file anyar, sampeyan bisa nggunakake operator >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Saiki ayo ngomong babagan carane mbusak file lan mungkasi proses.
β Mbusak file, mungkasi proses
rm my_file
: mbusak file my_file
.
rm -r my_folder
: mbusak folder my_folder
lan kabeh file lan folder sing ana. GendΓ©ra -r
nuduhake yen printah bakal mbukak ing mode rekursif.
Kanggo nyegah sistem njaluk konfirmasi saben file utawa folder dibusak, gunakake gendera -f
.
kill 012345
: Mungkasi proses mlaku kasebut, menehi wektu kanggo anggun mati.
kill -9 012345
: Meksa mungkasi proses mlaku sing ditemtokake. Ndeleng gendera -s SIGKILL
tegese padha karo gendera -9
.
β Telusuri
Sampeyan bisa nggunakake printah beda kanggo nggoleki data. Utamane - grep
, ag
ΠΈ ack
. Ayo dadi miwiti kita kenalan karo printah iki karo grep
. Iki minangka printah sing wis diuji lan dipercaya, sing, nanging luwih alon tinimbang liyane lan ora trep kanggo digunakake.
printah grep
grep my_regex my_file
: nggoleki my_regex
Π² my_file
. Yen cocog ditemokake, kabeh senar bakal bali, kanggo saben pertandhingan. Default my_regex
dianggep minangka ekspresi biasa.
grep -i my_regex my_file
: Panelusuran ditindakake kanthi cara sing ora sensitif huruf cilik.
grep -v my_regex my_file
: ngasilake kabeh baris sing ora ngemot my_regex
. GendΓ©ra -v
tegese kuwalikan, iku meh podho operator NOT
, ditemokake ing pirang-pirang basa pamrograman.
grep -c my_regex my_file
: Ngasilake informasi babagan jumlah sing cocog kanggo pola sing digoleki sing ditemokake ing file kasebut.
grep -R my_regex my_folder
: nindakake telusuran rekursif ing kabeh file sing ana ing folder kasebut lan ing folder sing ana ing kono.
Saiki ayo ngomong babagan tim ag
. Dheweke teka mengko grep
, luwih cepet, luwih trep kanggo nggarap.
dhawuh ag
ag my_regex my_file
: ngasilake informasi bab nomer baris, lan garis dhewe, kang cocog ditemokakΓ© karo my_regex
.
ag -i my_regex my_file
: Panelusuran ditindakake kanthi cara sing ora sensitif huruf cilik.
tim ag
otomatis ngolah file .gitignore
lan ora kalebu saka output apa sing ditemokake ing folder utawa file sing kadhaptar ing file kasebut. Iku banget nyaman.
ag my_regex my_file -- skip-vcs-ignores
: isi file kontrol versi otomatis (kaya .gitignore
) ora dianggep ing panelusuran.
Kajaba iku, supaya marang tim ag
ing path file sing pengin ngilangi saka panelusuran, sampeyan bisa nggawe file .agignore
.
Ing wiwitan bagean iki, kita nyebutake prentah kasebut ack
. tim ack
ΠΈ ag
banget padha, kita bisa ngomong sing padha 99% diijolke. Nanging, tim ag
dianggo luwih cepet, pramila aku diterangake.
Saiki ayo ngomong babagan nggarap arsip.
βPengarsipan
tar my_source_directory
: concatenates file saka folder my_source_directory
menyang file tarball siji. File kasebut migunani kanggo nransfer file gedhe menyang wong liya.
dhawuh tar
File tarball sing digawe dening printah iki minangka file kanthi ekstensi .tar
(Tape ARchive). Kasunyatan bilih tembung "tape" (tape) didhelikake ing jeneng printah lan ing extension saka jeneng file sing digawe nuduhake suwene printah iki wis ana.
tar -cf my_file.tar my_source_directory
: nggawe file tarball jenenge my_file.tar
karo isi folder my_source_directory
. GendΓ©ra -c
singkatan saka "nggawe" (cipta), lan gendera -f
minangka "berkas" (berkas).
Kanggo extract file saka .tar
-file, nggunakake printah tar
karo gendΓ©ra -x
("ekstrak", extraction) lan -f
("berkas", berkas).
tar -xf my_file.tar
: extract file saka my_file.tar
menyang direktori kerja saiki.
Saiki ayo ngomong babagan carane compress lan decompress .tar
- file.
tar -cfz my_file.tar.gz my_source_directory
: kene nganggo gendera -z
("zip", algoritma kompresi) nuduhake yen algoritma kasebut kudu digunakake kanggo ngompres file gzip
(GNUzip). Kompresi file ngirit ruang disk nalika nyimpen file kasebut. Yen file direncanakake, umpamane, bakal ditransfer menyang pangguna liyane, iki nyumbang kanggo download file kasebut luwih cepet.
Unzip file .tar.gz
sampeyan bisa nambah gendΓ©ra -z
menyang printah isi extract .tar
-files, kang kita rembugan ndhuwur. Katon kaya mangkene:
tar -xfz my_file.tar.gz
Sampeyan kudu nyatet sing tim tar
Ana akeh liyane gendΓ©ra migunani.
Bash alias
Alias ββBash (uga disebut alias utawa singkatan) dirancang kanggo nggawe jeneng sing dicekak saka printah utawa urutane, sing digunakake tinimbang printah biasa kanggo nyepetake karya. Yen sampeyan duwe alias bu
, kang ndhelikake printah python setup.py sdist bdist_wheel
, banjur nelpon printah iki, iku cukup kanggo nggunakake alias iki.
Kanggo nggawe alias kuwi, mung nambah printah ing ngisor iki kanggo file ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Yen sistem sampeyan ora duwe file ~/.bash_profile
, banjur sampeyan bisa nggawe dhewe nggunakake printah touch
. Sawise nggawe alias, miwiti maneh terminal, sawise sampeyan bisa nggunakake alias iki. Ing kasus iki, input saka rong karakter ngganti input luwih saka telung rolas karakter saka printah, kang dimaksudakΓ© kanggo
Π ~/.bash_profile
sampeyan bisa nambah alias kanggo sembarang printah sing kerep digunakake.
βAsil
Ing kirim iki, kita wis nutupi 21 perintah Bash sing populer lan ngobrol babagan nggawe alias perintah. Yen sampeyan kasengsem ing topik iki -
Para pamaca ingkang kinurmatan! Apa prentah sing migunani kanggo pamula sing bakal ditambahake menyang sing dibahas ing artikel iki?
β
Source: www.habr.com