Linux intervju, 1 pitanje Linux definicija (10.000 reči, 2 ručno crtane crteže), preokret intervjua obavezno čitanje
1. Česti Linux komande
Preporučujem čitanje: Česti visokofrekventni Linux vodič za brzo pretraživanje
Moje često korišćene Linux komande su:
- top za pregled resursa sistema
ps -ef | grep javapregled Java procesanetstatpregled mrežnih konekcija- ping testiranje mrežne povezivosti
- find pretraga fajlova
- chmod izmena dozvola fajla
- kill terminiranje procesa
- df pregled prostora na disku
- mkdir kreiranje direktorijuma, rm brisanje fajla, cp kopiranje fajla, mv premještanje fajla
- zip kompresovanje fajla, unzip dekompresovanje fajla i tako dalje.
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Zuoyebang-a 1 Java backend: uobičajene linux komande
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje 13 prvog intervjua kolege iz Shopee-a: uobičajene linux komande
- Vodič za Java intervju (plaćeni) sadrži iskustvo intervjua kolege iz Alibaba Cloud-a 22: uobičajene linux komande
Koje su komande za rad sa fajlovima?
ls: izlistava sadržaj direktorijuma.ls -lprikazuje detaljne informacije,ls -aprikazuje skrivene fajlove.cd: menja tekući direktorijum.cd ..se vraća u nadređeni direktorijum,cd ~se vraća u glavni direktorijum korisnika.pwd: prikazuje kompletnu putanju tekućeg radnog direktorijuma.cp: kopira fajlove ili direktorijume.cp source_file target_filekopira fajl,cp -r source_directory target_directorykopira direktorijum.mv: premješta ili preimenuje fajlove ili direktorijume.rm: briše fajlove ili direktorijume.rm -rrekurzivno briše direktorijum i njegov sadržaj.mkdir: kreira novi direktorijum.cat: pregledava sadržaj fajla.cat file1 file2objedinjuje sadržaj fajlova za prikaz.
Kako kreirati prazni fajl u Windows-u
Pod Windows-om sam ipak navikniji da koristimen desni klik meni za kreiranje novog fajla, zatim preimenovanje.
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje intervjua kolege 30 Tencent muzike: ako je Windows, kako kreirati prazni fajl?
Kako pregledati fajlove sistema za evidenciju?
U Linux-u se mogu pregledati fajlovi sistema za evidenciju putem komandi cat, more, less, tail, head i drugih.
Takođe se može direktno otvoriti fajl sistema za evidenciju putem vim-a, zatim pretraživati odgovarajuće informacije o evidenciji prema ključnim rečima.
Uobičajeni fajlovi sistema za evidenciju uključuju:
/var/log/syslog: sadrži sistemske poruke i evidencije grešaka, uključujući evidencije pokretanja, kernel evidencije itd., jedan od prioritetnih fajlova sistema za evidenciju za rešavanje problema sa sistemom./var/log/messages: slično syslog-u, ali se obično više fokusira na sistemske poruke i greške.
- Prijatelj sa Ergeove planete programiranja prijatelj Zhenyunmian originalno pitanje AI intervjua Meituan-a: kako pregledati fajlove sistema za evidenciju, koji su uobičajeni fajlovi sistema za evidenciju
Koje su komande za upravljanje sistemom?
ps: prikazuje tekuće procese.ps auxprikazuje sve procese.top: realno vreme prikazuje dinamiku procesa.kill: terminira procese.kill -9 PIDforsirano terminira.df: prikazuje korišćenje prostora na disku.df -hprikazuje u lako čitljivom formatu.du: prikazuje korišćenje diska od strane direktorijuma ili fajla.free: prikazuje korišćenje memorije i swap prostora.chmod: menja dozvole fajla ili direktorijuma.chown: menja vlasnika i grupu fajla ili direktorijuma.
Kako pregledati Linux procese ili korišćenje CPU-a?
Komanda top može realno vreme pregledati korišćenje CPU-a i memorije svih procesa.

ps aux --sort=-%cpu | head -5 može pregledati 5 procesa sa najvećim korišćenjem CPU-a.

- Vodič za Java intervju (plaćeni) sadrži originalno pitanje intervjua kolege 30 Tencent muzike: kako pregledati korišćenje CPU-a određenog procesa?
Kako pregledati korišćenje memorije Linux sistema?
Može se koristiti watch uz komandu free za real-time monitoring korišćenja memorije. Na primer watch -n 1 free -m osvežava korišćenje memorije svake sekunde.

- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Tencent-a 29 Java backend: kako pregledati Linux procese ili korišćenje CPU-a? Kako pregledati korišćenje memorije Linux-a?
Kako pregledati opterećenje sistema?
Komanda top je uobičajeni alat za real-time pregled performansi sistema, informacije o opterećenju sistema obično se prikazuju na vrhu izlaza komande top. Takođe prikazuje procese koje sistem radi, korišćenje memorije itd.

- Prijatelj sa Ergeove planete programiranja prijatelj Zhenyunmian originalno pitanje AI intervjua Meituan-a: kako pregledati opterećenje sistema, šta znači load average u sistemu
Šta je Load Average?
load average je pokazatelj opterećenja sistema, predstavlja prosečan broj procesa koje sistem procesuira u određenom vremenskom periodu. Obično sadrži tri vrednosti, koje odgovaraju prosečnom opterećenju u poslednjem 1 minutu, 5 minuta i 15 minuta.
Na primer, u gornjoj slici se pojavljuje load average: 1.80, 1.74, 1.83 što znači:
- 1.80: predstavlja da je u poslednjem 1 minutu prosečno 1,80 procesa čekalo na procesiranje u sistemu (uključujući procese koje CPU trenutno procesira i one koji čekaju na raspoređivanje).
- 1.74: predstavlja prosečno opterećenje u poslednjih 5 minuta.
- 1.83: predstavlja prosečno opterećenje u poslednjih 15 minuta.
Vrednost load average se može posmatrati kao dužina reda poslova sistema (broj zadataka koji čekaju na procesiranje). Ako se ova vrednost približi ili iznosi jednak broju CPU jezgara, to pokazuje da je opterećenje sistema razumno.
Ako je load average veće od broja CPU jezgara, to ukazuje da je sistema više procesa nego što CPU može procesirati, sistem je možda u stanju preopterećenja.
U jednogradskom sistemu, ako vrednost load average premašuje 1, to obično znači da je sistem zauzet (postoje zadaci koji čekaju na CPU).
U višegradskom sistemu, pretpostavimo da postoji N CPU jezgara, kada se load average približi N, to pokazuje da je sistem u stanju visokog opterećenja, ali još uvek u prihvatljivom opsegu. Ako load average premaši N, tada to ukazuje da je sistem možda preopterećen.
Na macOS-u se može koristiti sysctl -a | grep machdep.cpu.core_count za pregled broja CPU jezgara, moja mašina trenutno ima 16 jezgara.

- Prijatelj sa Ergeove planete programiranja prijatelj Zhenyunmian originalno pitanje AI intervjua Meituan-a: kako pregledati opterećenje sistema, šta znači load average u sistemu
Objasni parametre chmod-a?
Komanda chmod u Linux-u se koristi za menjanje prava pristupa fajlu ili direktorijumu. Korišćenje ove komande može se zasnivati na simboličkoj reprezentaciji (takođe poznatoj kao tekstualna metoda) ili oktalnoj reprezentaciji brojeva.
Kao chmod 777 file daje fajlu sve dozvole, pripada oktalnoj reprezentaciji brojeva. 7=4+2+1, respektivno predstavlja dozvole čitanja, pisanja, izvršavanja.
Dozvole u Linux-u mogu se primeniti na tri kategorije korisnika:
- Vlasnik fajla (u)
- Korisnici u grupi vlasnika fajla (g)
- Ostali korisnici (o)

①, Simbolički režim
Simbolički režim koristi slova za predstavljanje dozvola, na sledeći način:
- Čitanje (r)
- Pisanje (w)
- Izvršavanje (x)
- Svi (a)
Na primer:
chmod u+w file: daje vlasniku fajla dozvolu pisanja.chmod g-r file: uklanja dozvolu čitanja korisnicima grupe.chmod o+x file: daje ostalim korisnicima dozvolu izvršavanja.chmod u=rwx,g=rx,o=r file: postavlja da vlasnik fajla ima dozvole čitanja, pisanja i izvršavanja, korisnici grupe imaju dozvole čitanja i izvršavanja, ostali korisnici imaju dozvolu čitanja.
②, Numerički režim
Numerički režim koristi trocifrene oktalne brojeve za predstavljanje dozvola, svaka cifra predstavlja različitu kategoriju korisnika (vlasnik, grupa, ostali), broj je zbir njihovih vrednosti dozvola:
- Čitanje (r) = 4
- Pisanje (w) = 2
- Izvršavanje (x) = 1

Dakle, režim dozvola može biti bilo koja vrednost od 0 (bez dozvola) do 7 (dozvole čitanja, pisanja i izvršavanja).
- chmod 755 file: čini da vlasnik fajla ima dozvole čitanja, pisanja i izvršavanja (7), korisnici grupe i ostali korisnici imaju dozvole čitanja i izvršavanja (5).
- chmod 644 file: čini da vlasnik fajla ima dozvole čitanja i pisanja (6), dok korisnici grupe i ostali korisnici imaju samo dozvolu čitanja (4).
Šta znači 9 u kill -9?
kill -9 PID je način forsiranog terminiranja procesa, gde 9 predstavlja broj signala, predstavlja SIGKILL signal.
- Vodič za Java intervju (plaćeni) sadrži iskustvo intervjua kolege iz Alibaba Cloud-a 22: šta znači 9 u kill -9
Koje su komande za upravljanje mrežom?
ping: proverava konekciju sa udaljenim serverom.wget: preuzima fajlove sa mreže.ifconfig: prikazuje konfiguracione informacije mrežnog interfejsa.netstat: prikazuje informacije o mrežnim konekcijama, rutirajućim tabelama i mrežnim interfejsima.
Kako pregledati broj konekcija na portu 8080?
Može se pregledati putem komande netstat, na primer netstat -an | grep ':8080' | grep 'tcp' | wc -l.

-a: prikazuje sve mrežne konekcije i portove koji slušaju.-n: prikazuje adrese i portove u numeričkom formatu.grep ':8080': filtrira konekcije porta 8080.grep 'tcp': prikazuje samo TCP konekcije.wc -l: broji podudarne redove, tj. broj konekcija.
Takođe se može koristiti ss komanda, to je alat za zamenu netstat-a; može se koristiti i lsof komanda, ona može izlistati fajlove i sokete koje je trenutni sistem otvorio.
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Tencent-a 29 Java backend: koliko TCP konekcija ima na portu 8080 Linux sistema, kako videti?
Koje su komande za kompresiju i dekompresiju?
tar: pakuje ili raspakuje.tarfajlove.tar cvf archive.tar filespakovanje,tar xvf archive.tarraspakivanje.gzip/gunzip: kompresuje ili dekompresuje.gzfajlove.zip/unzip: kompresuje ili dekompresuje.zipfajlove.
Koje su komande za pretragu fajlova?
find: pronalazi fajlove u stablu direktorijuma.find /directory/ -name filename.
Kako pronaći fajl u Linux-u?
U Linux okruženju postoji više komandi i metoda koje se mogu koristiti za pronalaženje fajlova. Komanda find je jedan od najčešćih alata za pretragu fajlova, može rekurzivno pretraživati fajlove i direktorijume koji zadovoljavaju uslove u određenom direktorijumu.
Na primer: pronaći fajl naziva "example.txt" u tekućem direktorijumu i njegovim poddirektorijumima
find . -name "example.txt"Na primer: pronaći sve fajlove koji završavaju sa .txt u direktorijumu /home:
find /home -name "*.txt"Na primer: pronaći fajlove .log izmenjene pre više od 7 dana u direktorijumu /var/log
find /var/log -name "*.log" -mtime +7
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua Yongyou Finance: uobičajene komande Linux-a
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Huawei OD-a 1: koje komande Linux-a ste koristili
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje intervjua kolege iz male kompanije 5 Java backend: kako pronaći fajl u Linux-u
- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Huawei OD-a 1: objasni parametre chmod-a?
2. Upravljanje Linux sistemom
Koja je razlika između korisnika i korisničke grupe?
U Linux-u, korisnici i korisničke grupe su ključni koncepti upravljanja dozvolama sistema.
Svaki korisnik u Linux-u ima nezavisan nalog, koristi se za identifikaciju tog korisnika i kontrolu pristupa sistemskim resursima. Korisnici uključuju obične korisnike i superkorisnike (root). Obični korisnici imaju ograničena prava, mogu pristupati i menjati samo fajlove i direktorijume koje poseduju, dok superkorisnik ima najviša prava na sistemu, može izvršiti bilo koju operaciju.
Svaki korisnik u sistemu ima jedinstveni ID korisnika (UID), i povezano korisničko ime (login ime).
Korisnička grupa je skup korisnika, koristi se za pojednostavljenje upravljanja dozvolama. Svaki korisnik može pripadati jednoj ili više korisničkih grupa, a svaka korisnička grupa ima jedinstveni ID grupe (GID). Dodeljivanjem korisnika različitim grupama, sistem može jednostavnije upravljati pristupnim dozvolama za fajlove i direktorijume.
Jedan fajl ili direktorijum može posedovati jedan korisnik i jedna korisnička grupa, sistem na osnovu vlasnika i pripadajuće grupe fajla ili direktorijuma određuje pristupne dozvole drugih korisnika.
Može se koristiti komanda groupadd za kreiranje nove korisničke grupe. Na primer:
sudo groupadd developersMože se koristiti komanda useradd za kreiranje novog korisnika. Prilikom kreiranja korisnika može se specificirati podrazumevana korisnička grupa tog korisnika, glavni direktorijum itd. Na primer, kreiranje korisnika naziva johndoe i dodavanje u grupu developers:
sudo useradd -m -g developers johndoe-m: znači kreiranje korisničkog glavnog direktorijuma istovremeno sa kreiranjem korisnika (obično u/home/username).-g: specificira početnu korisničku grupu korisnika.
- Prijatelj sa Ergeove planete programiranja prijatelj Zhenyunmian originalno pitanje AI intervjua Meituan-a: objasni koncepte korisnika i korisničkih grupa u linux-u, kako kreirati novog korisnika i korisničku grupu
Kako koristiti linux komandu za pronalaženje određenog QPS-a?
Ako se servis pruža kroz mrežu, može se koristiti netstat ili ss komanda za statistiku broja konekcija na određenom portu, i kombinovati sa watch komandom za monitoring real-time brzine konekcija.
Na primer, statistika broja zahteva po sekundi za HTTPS servis (obično radi na portu 443):
watch -n 1 "netstat -an | grep ':443 ' | grep ESTABLISHED | wc -l"Objasnim:
netstat -an: prikazuje sve konekcije i portove koji slušaju.grep ':443 ': filtrira konekcije porta 443.grep ESTABLISHED: filtrira uspostavljene konekcije.wc -l: broji konekcije.watch -n 1: osvežava izlaz komande svake sekunde.
Promena broja konekcija može se približno proceniti broj zahteva po sekundi.

- Vodič za Java intervju (plaćeni) sadrži originalno pitanje prvog intervjua kolege iz Zuoyebang-a 1 Java backend: koristiti linux komandu za pronalaženje određenog QPS-a
3. Česte Git komande
Koje su uobičajene Git komande?
git clone <repository-url>: klonira udaljeni repozitorijum.git status: pregledava status radne oblasti i oblasti pripreme.git add <file>: dodaje fajlove u oblast pripreme.git commit -m "message": predaje fajlove iz oblasti pripreme u lokalni repozitorijum.git log: pregledava istoriju predavanja.git merge <branch-name>: spaja navedenu granu sa tekućom granom.git checkout <branch-name>: prebacuje na granu.git pull: povlači ažuriranja udaljenog repozitorijuma.
Ništa me ne zadržava——osim cilja, čak i ako na obali ima ruža, ima hlad, ima mirne luke, ja sam brod bez veza.
Serijski sadržaj:
- Preokret intervjua Java SE 👍
- Preokret intervjua Java okvir za kolekcije 👍
- Preokret intervjua Java konkurentno programiranje 👍
- Preokret intervjua JVM 👍
- Preokret intervjua Spring 👍
- Preokret intervjua Redis 👍
- Preokret intervjua MyBatis 👍
- Preokret intervjua MySQL 👍
- Preokret intervjua Operativni sistemi 👍
- Preokret intervjua Računarske mreže 👍
- Preokret intervjua RocketMQ 👍
- Preokret intervjua Distribuirani sistemi 👍
- Preokret intervjua Mikroservisi 👍
- Preokret intervjua Dizajn patterni 👍
- Preokret intervjua Linux 👍
- Preokret intervjuaOpenClaw 👍
- Preokret intervjuaSkills 👍
