Naudingos komandos, skirtos sukurti komandų eilutės pokalbių serverį ir pašalinti nepageidaujamus paketus sistemoje „Linux“.


Čia yra kita „Linux“ komandų eilutės patarimų ir gudrybių dalis. Jei praleidote mūsų ankstesnį įrašą apie „Linux Tricks“, galite jį rasti čia.

  1. 5 „Linux“ komandų eilutės gudrybės

Šiame įraše pristatysime 6 komandų eilutės patarimus, ty sukurkite Linux komandų eilutės pokalbį naudodami komandą Netcat, atlikite stulpelio pridėjimą iš komandos išvesties, pašalinti našlaičių paketus iš Debian ir CentOS, gauti vietinį ir nuotolinį IP iš komandinės eilutės, gauti spalvotą išvestį terminale ir iššifruoti įvairius spalvų kodus ir galiausiai, bet ne mažiau svarbių maišos žymų diegimas Linux komandų eilutėje. Patikrinkime juos po vieną.

1. Sukurkite Linux Commandline Chat Server

Mes visi ilgą laiką naudojamės pokalbių paslaugomis. Esame susipažinę su „Google“ pokalbiais, „Hangout“, „Facebook“ pokalbiais, „Whatsapp“, „Hike“ ir keliomis kitomis programomis bei integruotomis pokalbių paslaugomis. Ar žinote, kad „Linux“ komanda nc gali paversti „Linux“ dėžutę pokalbių serveriu, naudojant tik vieną komandų eilutę.

Kas yra nc komanda Linux sistemoje ir ką ji daro?

nc yra „Linux“ komandos netcat nusidėvėjimas. Įrankis nc dažnai vadinamas Šveicarijos armijos peiliu, atsižvelgiant į jos integruotų galimybių skaičių. Jis naudojamas kaip derinimo įrankis, tyrimo įrankis, skaitymas ir rašymas į tinklo ryšį naudojant TCP/UDP, DNS pirmyn/atvirkštinė patikra.

Jis puikiai naudojamas prievadų nuskaitymui, failų perkėlimui, galinių durų ir prievadų klausymui. nc turi galimybę naudoti bet kurį vietinį nenaudojamą prievadą ir bet kurį vietinio tinklo šaltinio adresą.

Naudokite komandą nc (serveryje su IP adresu: 192.168.0.7), kad iš karto sukurtumėte komandinės eilutės pranešimų siuntimo serverį.

nc -l -vv -p 11119

Aukščiau pateiktų komandų jungiklių paaiškinimas.

  1. -v : reiškia daugiažodį
  2. -vv : daugiau žodžių
  3. -p : vietinio prievado numeris

11119 galite pakeisti bet kuriuo kitu vietinio prievado numeriu.

Toliau kliento įrenginyje (IP adresas: 192.168.0.15) paleiskite šią komandą, kad inicijuotumėte pokalbio seansą įrenginyje (kur veikia pranešimų serveris).

nc 192.168.0.7 11119

Pastaba: galite nutraukti pokalbio seansą paspausdami klavišą ctrl+c, be to, nc pokalbis yra „vienas su vienu“ paslauga.

2. Kaip susumuoti reikšmes stulpelyje Linux sistemoje

Kaip susumuoti skaitines stulpelio reikšmes, sugeneruotas kaip komandos išvestis, terminale.

Komandos „ls -l“ išvestis.

ls -l

Atkreipkite dėmesį, kad antrasis stulpelis yra skaitinis, nurodantis simbolinių nuorodų skaičių, o 5-asis stulpelis yra skaitinis, nurodantis failo dydį. Tarkime, kad turime susumuoti penktojo stulpelio reikšmes.

Išvardykite 5-ojo stulpelio turinį nieko nespausdindami. Tam naudosime komandą awk. „5 USD“ reiškia 5-ą stulpelį.

ls -l | awk '{print $5}'

Dabar naudokite awk, kad išspausdintumėte 5-ojo stulpelio išvesties sumą, ją sujungdami.

ls -l | awk '{print $5}' | awk '{total = total + $1}END{print total}'

Kaip pašalinti našlaičių paketus „Linux“?

Neišnešiotieji paketai yra tie paketai, kurie įdiegti kaip priklausomybė nuo kito paketo ir nebereikalingi pašalinus pradinį paketą.

Tarkime, kad įdiegėme gtprogram paketą, kuris priklausė nuo gtdependency. Negalime įdiegti gtprogram, jei neįdiegta gtdependency.

Kai pašalinsime gtprogram, pagal numatytuosius nustatymus nepašalinsime gtdependency. Ir jei nepašalinsime gtdependency, jis liks kaip Orpahn paketas, nesusijęs su jokiu kitu paketu.

yum autoremove                [On RedHat Systems]

apt-get autoremove                [On Debian Systems]

Visada turėtumėte pašalinti našlaičių paketus, kad „Linux“ dėžutėje būtų tik būtinų dalykų ir nieko kito.

4. Kaip gauti vietinį ir viešąjį Linux serverio IP adresą

Norėdami gauti vietinį IP adresą, paleiskite žemiau pateiktą vieną linijinį scenarijų.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

Turite būti įdiegę ifconfig, jei ne, apt arba yum reikiamus paketus. Čia mes sujungsime ifconfig išvestį su komanda grep, kad rastume eilutę „intel addr: “.

Žinome, kad komandos ifconfig pakanka vietiniam IP adresui išvesti. Tačiau ifconfig generuoja daug kitų išėjimų, todėl mūsų rūpestis yra generuoti tik vietinį IP adresą ir nieko daugiau.

ifconfig | grep "inet addr:"

Nors išvestis dabar yra labiau pritaikyta, tačiau turime filtruoti tik vietinį IP adresą ir nieko daugiau. Tam naudosime awk, kad spausdintume antrąjį stulpelį tik sujungdami jį su aukščiau nurodytu scenarijumi.

ifconfig | grep “inet addr:” | awk '{print $2}'

Iš aukščiau pateikto vaizdo aišku, kad mes labai pritaikėme išvestį, bet vis tiek ne tai, ko norime. Atgalinis adresas 127.0.0.1 vis dar yra rezultate.

Naudojame vėliavėlę -v su grep, kuri spausdins tik tas eilutes, kurios neatitinka pateiktos argumente. Kiekvienas įrenginys turi tą patį grįžimo atgalinį adresą 127.0.0.1, todėl naudokite grep -v, kad išspausdintumėte eilutes, kuriose nėra šios eilutės, sujungdami ją su aukščiau pateikta išvestimi.

ifconfig | grep "inet addr" | awk '{print $2}' | grep -v '127.0.0.1'

Beveik sugeneravome norimą išvestį, tiesiog pakeiskite eilutę (addr:) nuo pat pradžių. Naudosime komandą cut, kad spausdintume tik antrą stulpelį. 1 stulpelis ir 2 stulpelis atskirti ne tabuliavimo ženklu, o (:), todėl turime naudoti skyriklį (-d ) sujungdami aukščiau pateiktą išvestį.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

Pagaliau! Sugeneruotas norimas rezultatas.

5. Kaip nuspalvinti Linux terminalą

Galbūt matėte spalvotą išvestį terminale. Taip pat turėtumėte žinoti, kaip įjungti/išjungti spalvotą išvestį terminale. Jei ne, galite atlikti toliau nurodytus veiksmus.

Linux sistemoje kiekvienas vartotojas turi failą '.bashrc', šis failas naudojamas jūsų terminalo išvesties tvarkymui. Atidarykite ir redaguokite šį failą pasirinktu redaktoriumi. Atminkite, kad šis failas yra paslėptas (taškas failo pradžia reiškia paslėptą).

vi /home/$USER/.bashrc

Įsitikinkite, kad toliau pateiktose eilutėse nėra komentarų. ty, jis neprasideda #.

if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dirc$
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

Kai baigta! Išsaugoti ir išeiti. Kad pakeitimai įsigaliotų, atsijunkite ir vėl prisijunkite.

Dabar pamatysite, kad failai ir aplankai yra išvardyti įvairiomis spalvomis, atsižvelgiant į failo tipą. Norėdami iššifruoti spalvos kodą, paleiskite toliau pateiktą komandą.

dircolors -p

Kadangi išvestis per ilga, leidžia išvestis konvejeriuoti naudojant mažiau komandų, kad gautume išvestį po vieną ekraną.

dircolors -p | less

6. Kaip priskirti maišą Linux komandoms ir scenarijams

Mes naudojame maišos žymas Twitter, Facebook ir Google Plus (gali būti kai kuriose kitose vietose, aš nepastebėjau). Šios maišos žymos padeda kitiems lengviau ieškoti maišos žymos. Tik nedaugelis žino, kad Linux komandų eilutėje galime naudoti maišos žymą.

Jau žinome, kad # konfigūracijos failuose ir daugumoje programavimo kalbų yra traktuojamas kaip komentarų eilutė ir nevykdomas.

Vykdykite komandą ir sukurkite komandos maišos žymą, kad vėliau galėtume ją rasti. Tarkime, kad turime ilgą scenarijų, kuris buvo įvykdytas 4 punkte aukščiau. Dabar sukurkite maišos žymą. Žinome, kad ifconfig gali paleisti sudo arba root vartotojas, todėl jis veikia kaip root.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: #myip

Aukščiau pateiktas scenarijus buvo pažymėtas maišos žyma „myip“. Dabar ieškokite maišos žymos reverse-i-serach (paspauskite ctrl+r), terminale ir įveskite „myip“. Taip pat galite tai atlikti iš ten.

Kiekvienai komandai galite sukurti kuo daugiau maišos žymų ir vėliau ją rasti naudodami reverse-i-search.

Tai kol kas viskas. Mes sunkiai dirbome, kad sukurtume jums įdomų ir naudingą turinį. Kaip manote, kaip mums sekasi? Bet koks pasiūlymas yra laukiamas. Galite komentuoti žemiau esančiame laukelyje. Palaikykite ryšį! Pagarba.