Kayan, fassarar wanda muke bugawa a yau, an yi shi ne don waɗanda suke son sanin layin umarni na Linux. Ƙarfin yin amfani da wannan kayan aiki yadda ya kamata zai iya ajiye lokaci mai yawa. Musamman, zamuyi magana game da Bash harsashi da umarni 21 masu amfani anan. Za mu kuma yi magana game da yadda ake amfani da tutocin umarni da laƙabin Bash don hanzarta buga dogon umarni.
→
Sharuɗɗa
Yayin da kuke koyon aiki tare da layin umarni na Linux, zaku ci karo da dabaru da yawa waɗanda ke taimakawa kewayawa. Wasu daga cikinsu, kamar "Linux" da "Unix", ko "shell" da "terminal", wani lokaci suna ruɗe. Bari mu yi magana game da waɗannan da wasu mahimman kalmomi.
Yanzu da muka rufe mahimman kalmomi, ina so in nuna cewa zan yi amfani da kalmomin "Bash", "shell" da "layin umarni" a musanya a nan, da kuma kalmomin "directory" da "folder".
Standard stdin
), daidaitaccen fitarwa (daidaitaccen fitarwa, stdout
) da daidaitaccen fitowar kuskure (kuskuren daidaitaccen tsari, stderr
).
Idan a cikin umarnin misalin da za a bayar a ƙasa, za ku sami wani abu kamar my_whatever
- wannan yana nufin cewa wannan guntu yana buƙatar maye gurbin da wani abu na ku. Misali, sunan fayil.
Yanzu, kafin mu ci gaba da nazarin umarnin da aka keɓe wannan kayan, bari mu dubi jerin sunayensu da taƙaitaccen bayaninsu.
21 Bash yayi umarni
▍Samun bayanai
man
: Nuna jagorar mai amfani (taimako) don umarnin.pwd
: yana nuna bayanai game da kundin aiki.ls
: yana nuna abubuwan da ke cikin kundin adireshi.ps
: Yana ba ku damar duba bayanai game da tafiyar matakai.
▍Maganar tsarin fayil
cd
: canza kundin aiki.touch
: Ƙirƙiri fayil.mkdir
: ƙirƙirar kundin adireshi.cp
: Kwafi fayil.mv
: Matsar ko share fayil.ln
: ƙirƙirar hanyar haɗi.
▍ I/O juyar da bututun mai
<
: turawastdin
.>
: turawastdout
.|
: bututun fitar da umarni ɗaya zuwa shigar da wani umarni.
▍ Karatun fayiloli
head
: karanta farkon fayil ɗin.tail
: karanta ƙarshen fayil.cat
: Karanta fayil kuma buga abinda ke ciki zuwa allon, ko haɗa fayiloli.
▍ Share fayiloli, dakatar da tafiyar matakai
rm
: Share fayil.kill
: dakatar da tsari.
▍Bincika
grep
: neman bayanai.ag
: babban umarni don nema.
▍ Yin ajiya
tar
: ƙirƙirar ma'ajiyar bayanai da aiki tare da su.
Bari mu yi magana game da waɗannan umarni dalla-dalla.
Cikakken Bayani
Da farko, bari mu magance umarnin, sakamakon wanda aka bayar a cikin tsari stdout
. Yawancin lokaci waɗannan sakamakon suna bayyana a cikin taga tasha.
▍Samun bayanai
man command_name
: nuna jagorar umarni, watau bayanin taimako.
pwd
: nuna hanyar zuwa kundin adireshin aiki na yanzu. A yayin aiki tare da layin umarni, mai amfani sau da yawa yana buƙatar gano ainihin inda yake a cikin tsarin.
ls
: nuna abubuwan da ke cikin kundin adireshi. Ana kuma amfani da wannan umarnin sau da yawa.
ls -a
: nuna ɓoyayyun fayiloli. tuta a nan -a
umarni ls
. Yin amfani da tutoci yana taimakawa wajen daidaita halayen umarnin.
ls -l
: Nuna cikakken bayani game da fayiloli.
Lura cewa ana iya haɗa tutoci. Misali - kamar haka: ls -al
.
ps
: Duba tafiyar matakai.
ps -e
: Nuna bayanai game da duk matakai masu gudana, ba kawai waɗanda ke da alaƙa da harsashin mai amfani na yanzu ba. Ana amfani da wannan umarni sau da yawa ta wannan sigar.
▍Maganar tsarin fayil
cd my_directory
: canza kundin aiki zuwa my_directory
. Don matsar da mataki ɗaya a cikin bishiyar directory, yi amfani my_directory
hanyar dangi ../
.
cd umurnin
touch my_file
: ƙirƙirar fayil my_file
tare da hanyar da aka bayar.
mkdir my_directory
: ƙirƙirar babban fayil my_directory
tare da hanyar da aka bayar.
mv my_file target_directory
: motsa fayil my_file
zuwa babban fayil target_directory
. Lokacin zayyana jagorar manufa, kuna buƙatar amfani da cikakkiyar hanyar zuwa gare ta (kuma ba gini kamar ../
).
tawagar mv
Hakanan za'a iya amfani dashi don sake suna fayiloli ko manyan fayiloli. Misali, yana iya zama kamar haka:
mv my_old_file_name.jpg my_new_file_name.jpg
: ƙirƙirar kwafin fayil
cp my_source_file target_directorymy_source_file
kuma saka shi a cikin babban fayil target_directory
.
ln -s my_source_file my_target_file
: ƙirƙirar hanyar haɗi na alama my_target_file
kowane fayil my_source_file
. Idan kun canza hanyar haɗin yanar gizon, ainihin fayil ɗin shima zai canza.
Idan fayil my_source_file
za a share, to my_target_file
zai kasance. Tuta -s
umarni ln
yana ba ku damar ƙirƙirar hanyoyin haɗin kai don kundayen adireshi.
Yanzu bari muyi magana game da juyawa I/O da bututun mai.
▍ I/O juyar da bututun mai
my_command < my_file
: ya maye gurbin daidaitaccen bayanin shigar fayil (stdin
) kowane fayil my_file
. Wannan na iya zama da amfani idan umarnin yana jiran wasu bayanai daga madannai, kuma an riga an adana wannan bayanan a cikin fayil.
my_command > my_file
: yana tura sakamakon umarnin, watau abin da zai shiga stdout
da fitarwa zuwa allon, zuwa fayil my_file
. Idan fayil my_file
babu shi - an halicce shi. Idan fayil ɗin ya wanzu, an sake rubuta shi.
Misali, bayan aiwatar da umarnin ls > my_folder_contents.txt
za a ƙirƙiri fayil ɗin rubutu mai ɗauke da jerin abubuwan da ke cikin kundin adireshin aiki na yanzu.
Idan maimakon alamar >
yi amfani da ginin >>
, to, muddin fayil ɗin da aka tura fitar da umarnin zuwa gare shi ya wanzu, wannan fayil ɗin ba za a sake rubuta shi ba. Za a ƙara bayanan zuwa ƙarshen wannan fayil ɗin.
Yanzu bari mu kalli sarrafa bututun bayanai.
Ana ciyar da fitar da umarni ɗaya cikin shigar da wani umarni. Kamar haɗa bututu ɗaya zuwa wani
first_command | second_command
: alamar jigilar kaya, |
, ana amfani dashi don aika fitar da umarni ɗaya zuwa wani umarni. Abin da umarni a gefen hagu na tsarin da aka kwatanta ya aika zuwa stdout
, Fada cikin stdin
umarni zuwa dama na alamar bututun.
A Linux, ana iya bututun bayanai ta amfani da kusan kowane ingantaccen umarni. Sau da yawa ana cewa duk abin da ke cikin Linux bututu ne.
Kuna iya sarkar umarni da yawa ta amfani da alamar bututun mai. Ga alama kamar haka:
first_command | second_command | third_command
Ana iya kwatanta bututun umarni da yawa da bututun
Lura cewa lokacin da umarnin hagu na alamar |
, fitar da wani abu zuwa stdout
, abin da ta fitar nan take samuwa kamar stdin
ƙungiya ta biyu. Wato, ya zama cewa, ta yin amfani da bututun, muna ma'amala da aiwatar da umarni a layi daya. Wani lokaci wannan na iya haifar da sakamakon da ba a zata ba. Ana iya karanta cikakkun bayanai game da wannan
Yanzu bari muyi magana game da karanta bayanai daga fayiloli da nuna su akan allo.
▍ Karatun fayiloli
head my_file
: karanta layi daga farkon fayil kuma buga su zuwa allon. Kuna iya karanta ba kawai abubuwan da ke cikin fayilolin ba, har ma da abin da umarni ke fitarwa a ciki stdin
amfani da wannan umarni a matsayin wani ɓangare na bututun mai.
tail my_file
: karanta layi daga ƙarshen fayil ɗin. Hakanan ana iya amfani da wannan umarni a cikin bututun mai.
Kai (kai) yana gaba, wutsiya kuma tana baya
Idan kuna aiki tare da bayanai ta amfani da ɗakin karatu na pandas, sannan umarni head
и tail
ya kamata ku saba da ku. Idan ba haka ba, duba wannan adadi na sama, kuma zaka iya tunawa da su cikin sauƙi.
Yi la'akari da wasu hanyoyi don karanta fayiloli, bari muyi magana game da umarnin cat
.
tawagar cat
ko dai ya buga abubuwan da ke cikin fayil zuwa allon, ko haɗa fayiloli da yawa. Ya dogara da adadin fayiloli da aka wuce zuwa wannan umarni lokacin da ake kira.
umarnin cat
cat my_one_file.txt
: Lokacin da fayil ɗaya aka wuce zuwa wannan umarni, yana fitar da shi zuwa stdout
.
Idan ka ba shi fayiloli biyu ko fiye da fayiloli, to yana nuna hali daban.
cat my_file1.txt my_file2.txt
: Bayan karɓar fayiloli da yawa azaman shigarwa, wannan umarni yana haɗa abubuwan da ke cikin su kuma yana nuna abin da ya faru a ciki stdout
.
Idan sakamakon haɗin fayil yana buƙatar adanawa azaman sabon fayil, zaka iya amfani da afareta >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
Yanzu bari mu magana game da yadda za a share fayiloli da kuma dakatar da tafiyar matakai.
▍ Share fayiloli, dakatar da tafiyar matakai
rm my_file
: share fayil my_file
.
rm -r my_folder
: yana goge babban fayil my_folder
da duk fayiloli da manyan fayilolin da ke cikin su. Tuta -r
yana nuna cewa umarnin zai gudana a yanayin maimaitawa.
Don hana tsarin neman tabbaci a duk lokacin da aka share fayil ko babban fayil, yi amfani da tuta -f
.
kill 012345
: Yana dakatar da ƙayyadadden tsari na gudana, yana ba shi lokaci don rufewa da alheri.
kill -9 012345
: Tilas ya ƙare ƙayyadadden tsari na gudana. Duba tuta -s SIGKILL
yana nufin daidai da tuta -9
.
▍Bincika
Kuna iya amfani da umarni daban-daban don bincika bayanai. Musamman - grep
, ag
и ack
. Bari mu fara saninmu da waɗannan umarni da grep
. Wannan umarni ne da aka gwada lokaci, abin dogaro, wanda, duk da haka, yana da hankali fiye da wasu kuma bai dace da amfani kamar yadda suke ba.
umurnin grep
grep my_regex my_file
: bincike my_regex
в my_file
. Idan an sami ashana, za a mayar da dukan kirtani, don kowane wasa. Default my_regex
bi da shi azaman magana ta yau da kullun.
grep -i my_regex my_file
: Ana yin binciken ne ta hanyar da ba ta dace ba.
grep -v my_regex my_file
: yana dawo da duk layuka waɗanda basu ƙunshi ba my_regex
. Tuta -v
yana nufin juyawa, yayi kama da mai aiki NOT
, samu a yawancin shirye-shirye harsuna.
grep -c my_regex my_file
: Yana dawo da bayanai game da adadin matches da aka samo a cikin fayil ɗin tsarin bincike.
grep -R my_regex my_folder
: yana yin bincike akai-akai a cikin duk fayilolin da ke cikin ƙayyadadden babban fayil da kuma cikin manyan fayilolin da ke cikinsa.
Yanzu bari muyi magana game da tawagar ag
. Ta zo daga baya grep
, yana da sauri, ya fi dacewa don aiki tare da shi.
ag umurnin
ag my_regex my_file
: yana mayar da bayanai game da lambobin layi, da kuma layin da kansu, wanda aka samo matches tare da my_regex
.
ag -i my_regex my_file
: Ana yin binciken ne ta hanyar da ba ta dace ba.
tawagar ag
sarrafa fayil ta atomatik .gitignore
kuma ya keɓe daga fitarwa abin da aka samo a cikin manyan fayiloli ko fayilolin da aka jera a waccan fayil ɗin. Yana da dadi sosai.
ag my_regex my_file -- skip-vcs-ignores
Abun ciki na fayilolin sarrafa sigar atomatik (kamar .gitignore
) ba a la'akari da shi a cikin bincike.
Bugu da ƙari, don gaya wa ƙungiyar ag
akan waɗanne hanyoyin fayil ɗin da kuke son cirewa daga binciken, zaku iya ƙirƙirar fayil .agignore
.
A farkon wannan sashe, mun ambaci umarnin ack
. Ƙungiyoyi ack
и ag
sosai kama, za mu iya cewa su ne 99% musanya. Duk da haka, tawagar ag
yana aiki da sauri, shi ya sa na kwatanta shi.
Yanzu bari mu magana game da aiki tare da archives.
▍ Yin ajiya
tar my_source_directory
: yana haɗa fayiloli daga babban fayil my_source_directory
cikin fayil ɗin kwalta guda ɗaya. Irin waɗannan fayilolin suna da amfani don canja wurin manyan fayiloli zuwa wani.
umarnin tar
Fayilolin kwal ɗin da wannan umarni ya haifar fayiloli ne tare da tsawo .tar
(Tape Archive). Kasancewar kalmar “kaset” (kaset) tana ɓoye a cikin sunan umarni da tsawo na sunayen fayilolin da ya ƙirƙira yana nuna tsawon lokacin da wannan umarni ya wanzu.
tar -cf my_file.tar my_source_directory
: yana ƙirƙirar fayil ɗin kwal mai suna my_file.tar
tare da abun ciki na babban fayil my_source_directory
. Tuta -c
yana nufin “halitta” (halitta), da kuma tuta -f
kamar "file" (file).
Don cire fayiloli daga .tar
-file, yi amfani da umarnin tar
tare da tutoci -x
("cire", hakar) da -f
("file", fayil).
tar -xf my_file.tar
: cire fayiloli daga my_file.tar
zuwa kundin aiki na yanzu.
Yanzu bari mu magana game da yadda za a damfara da decompress .tar
- fayiloli.
tar -cfz my_file.tar.gz my_source_directory
: nan ta amfani da tuta -z
("zip", matsawa algorithm) yana nuna cewa ya kamata a yi amfani da algorithm don damfara fayiloli gzip
(GNUzip). Matsin fayil yana adana sararin diski lokacin adana irin waɗannan fayilolin. Idan an shirya fayilolin, alal misali, don canjawa wuri zuwa wasu masu amfani, wannan yana ba da gudummawa ga saurin zazzage irin waɗannan fayilolin.
Cire fayil ɗin .tar.gz
za ku iya ƙara tuta -z
zuwa cire umarnin abun ciki .tar
-files, wanda muka tattauna a sama. Ga alama kamar haka:
tar -xfz my_file.tar.gz
Ya kamata a lura cewa tawagar tar
Akwai tutoci masu amfani da yawa.
Lakabi Bash
Bash aliases (wanda ake kira aliases ko gajarta) an tsara su ne don ƙirƙirar sunayen umarni na gajarta ko jerin su, wanda amfani da su maimakon umarni na yau da kullun yana hanzarta aiki. Idan kuna da laƙabi bu
, wanda ke ɓoye umarnin python setup.py sdist bdist_wheel
, to, don kiran wannan umarni, ya isa ya yi amfani da wannan laƙabi.
Don ƙirƙirar irin wannan laƙabi, kawai ƙara umarni mai zuwa zuwa fayil ɗin ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
Idan tsarin ku ba shi da fayil ɗin ~/.bash_profile
, to zaku iya ƙirƙirar shi da kanku ta amfani da umarnin touch
. Bayan ƙirƙirar laƙabi, sake kunna tashar, bayan haka zaku iya amfani da wannan laƙabin. A wannan yanayin, shigar da haruffa biyu yana maye gurbin shigar da haruffa fiye da dozin uku na umarnin, wanda aka yi niyya don
В ~/.bash_profile
za ka iya ƙara laƙabi don kowane umarni da ake yawan amfani da su akai-akai.
▍Sakamako
A cikin wannan sakon, mun rufe shahararrun umarnin Bash 21 kuma mun yi magana game da ƙirƙirar sunayen laƙabi. Idan kuna sha'awar wannan batu -
Ya ku masu karatu! Waɗanne dokoki ne masu amfani ga masu farawa za ku ƙara wa waɗanda aka tattauna a wannan labarin?
→
source: www.habr.com