Linux oferă nenumărate comenzi și utilitare, care vă ajută să vă îndepliniți rapid și eficient sarcinile de administrare a sistemului.
Activitatea ta ca administrator de sistem include instalarea și rularea software-ului, controlul accesului, monitorizarea, asigurarea disponibilității, backup-urile, restaurarea backup-urilor și, desigur, stingerea incendiilor. 😜
În acest articol, trecem în revistă câteva dintre comenzile utilizate frecvent de administratorii de sistem Linux în munca lor de zi cu zi.
Cuprins
uname
Utilizați comanda uname cu indicatorul -a pentru a imprima informații despre sistem. Această comandă vă va arăta numele nucleului, versiunea kernel-ului, versiunea nucleului, numele gazdei, tipul procesorului și informațiile despre platforma dvs. hardware.
[email protected]:~$ uname -a Linux ubuntu18 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Iată ce înseamnă asta:
kernel name:Linux hostname: ubuntu18 kernel release: 5.3.0-1028-azure kernel version: #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 machine hardware name: x86_64 processor: x86_64 hardware-platform: x86_64 operating system: GNU/Linux
df
Utilizați comanda df pentru a verifica dimensiunea sistemului de fișiere și spațiul disponibil. Această comandă folosită de la sine arată ieșirea în blocuri de 1K.
[email protected]:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 437208 0 437208 0% /dev tmpfs 91100 692 90408 1% /run /dev/sda1 30309264 2383952 27908928 8% / ....
Opțiunea -h arată rezultatul într-un format care poate fi citit de om, adică în MB și GB.
[email protected]:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev tmpfs 89M 692K 89M 1% /run /dev/sda1 29G 2.3G 27G 8% / tmpfs 445M 0 445M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 445M 0 445M 0% /sys/fs/cgroup /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt tmpfs 89M 0 89M 0% /run/user/1001
Pentru a ignora orice sistem de fișiere, de exemplu, tmpfs, adică pentru o ieșire mai curată, utilizați flag -x
[email protected]:~$ df -h -x tmpfs Filesystem Size Used Avail Use% Mounted on udev 427M 0 427M 0% /dev /dev/sda1 29G 2.3G 27G 8% / /dev/sda15 105M 3.6M 101M 4% /boot/efi /dev/sdb1 3.9G 16M 3.7G 1% /mnt
Pentru a lista numai un anumit tip de sistem de fișiere, utilizați -t flag. de exemplu, pentru a vizualiza numai sistemul de fișiere ext4:
[email protected]:~$ df -h -t ext4 Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt
Utilizarea flagului total va adăuga o linie care arată totalurile generale:
[email protected]:~$ df -h -t ext4 --total Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 2.3G 27G 8% / /dev/sdb1 3.9G 16M 3.7G 1% /mnt <b>total 33G 2.3G 31G 8% -</b>
du
Pentru a verifica utilizarea spațiului pe disc într-un director, utilizați comanda du. De exemplu, pentru a vedea utilizarea spațiului pe disc în directorul /var/log. Utilizați steag -h pentru formatul care poate fi citit de om.
[email protected]:~$ sudo du -h /var/log 24K /var/log/Microsoft/Azure/NetworkWatcherAgent/Logs 28K /var/log/Microsoft/Azure/NetworkWatcherAgent 32K /var/log/Microsoft/Azure 36K /var/log/Microsoft 60K /var/log/apt 4.0K /var/log/samba 177M /var/log/journal/0f4f926f583b4691af7de11025b19ff6 177M /var/log/journal ... 204M /var/log
Pentru a vedea numai utilizarea totală, utilizați doar indicatorul -s (rezumat).
[email protected]:~$ sudo du -hs /var/log 204M /var/log
gratuit
Utilizați comanda gratuită pentru a vedea memoria de sistem totală, utilizată și liberă. Utilizați steag -h pentru formatul care poate fi citit de om.
[email protected]:~$ free -h total used free shared buff/cache available Mem: 889M 272M 100M 712K 517M 443M Swap: 0B 0B 0B
total - Total installed memory (memtotal + swaptotal) used - used memory free - unused memory (memfree + swapfree) buffers - memory used by kernel buffers cache - memory used by page caches buff/cache - sum of buffers and cache available - Estimated memory available for starting new applications, without swapping
ps
Utilizați ps pentru a afișa informații de stare despre procesele care rulează pe sistem. Pentru a vedea toate procesele deținute de utilizatorul ubuntu, utilizați -u flag cu numele de utilizator:
[email protected]:~$ ps -u ubuntu PID TTY TIME CMD 7804 ? 00:00:00 systemd 7805 ? 00:00:00 (sd-pam) 7940 ? 00:00:00 sshd 7941 pts/0 00:00:00 bash 8111 ? 00:00:00 sshd 8112 pts/1 00:00:00 bash 13868 ? 00:00:00 sshd 13869 pts/2 00:00:00 bash 13885 pts/0 00:00:00 man 13895 pts/0 00:00:00 pager 18111 pts/2 00:00:00 man 18121 pts/2 00:00:00 pager 18485 pts/1 00:00:00 ps
Pentru a vedea toate procesele, rulați ps cu steagurile auxiliare:
[email protected]:~$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 160076 7020 ? Ss Jun29 0:34 /sbin/init root 2 0.0 0.0 0 0 ? S Jun29 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< Jun29 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< Jun29 0:00 [kworker/0:0H-kb] ....
Unde
Titlu
Sens
PID
Numărul de identificare a procesului
%CPU
Procentul de timp CPU pe care îl folosește procesul
%MEM
Procentul de proces RAM este utilizat
VSZ
Memoria virtuală este utilizată în KB
RSS
Memoria fizică utilizată de procesul în KB
TTY
Terminal asociat procesului
STAT
R – Rulează sau gata de rulare, S – Dormit, I – Inactiv, T – Oprit, Z – Zombie, D – Așteaptă I/O pe disc, X – Dead, W – Schimbat, N – Proces cu prioritate scăzută, < – Proces cu prioritate ridicată
top
În timp ce comanda ps arată un instantaneu al stării proceselor în orice moment, partea de sus arată o listă de procese de sistem care se actualizează continuu (la fiecare trei secunde, implicit) în ordinea activității procesului.
Ieșirea comenzii de sus constă din două părți principale: rezumatul sistemului din partea de sus și tabelul de procese sortat în funcție de activitatea CPU.
top - 14:25:32 up 44 days, 11:37, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 114 total, 1 running, 59 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 910992 total, 101208 free, 274712 used, 535072 buff/cache KiB Swap: 0 total, 0 free, 0 used. 458492 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 50497 ubuntu 20 0 44528 3944 3368 R 0.7 0.4 0:00.15 top 1 root 20 0 160076 7020 4400 S 0.0 0.8 0:34.85 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:+ 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_+
Unele dintre câmpurile din rezumatul sistemului sunt următoarele:
sus
Timp de funcționare. Timpul de la ultima pornire a mașinii.
medie de încărcare
Media de încărcare se referă la numărul de procese care așteaptă să ruleze, valoarea mai mică de 1,0 înseamnă că mașina nu este ocupată. Sunt 3 valori. Primul este media ultimelor 60 de secunde, al doilea este media ultimelor 5 minute și al treilea arată media ultimelor 15 minute.
% CPU(e)
Acest rând descrie activitățile CPU.
0,3 noi, utilizator
0,3% CPU este utilizat pentru procesele utilizatorului.
0.0 sy, sistem
0,0% CPU este utilizat pentru procesele de sistem.
0.0 ni, frumos
0,0% CPU este folosit de procese cu prioritate scăzută (drăguță).
99,7 id, inactiv
99,7% CPU este inactiv
0,0 wa, IO-așteptați
0,0% CPU așteaptă I/O
0,0 salut
timpul petrecut pe întreruperi hardware
0,0 si
timpul petrecut cu întreruperile software
0,0 st
piatra de timp din acest VM de către hypervisor
Câmpurile tabelului de procesare sunt după cum urmează:
PID
Numărul de identificare a procesului
UTILIZATOR
Deținătorul procesului
relatii cu publicul
Prioritate
NI
O valoare bună
VIRT
Memoria virtuală utilizată de proces (KB)
RES
Memoria fizică utilizată de proces
SHR
Memoria partajată utilizată de proces
S
Starea procesului. R – Alergare, S – dormit, I – Inactiv, T – oprit, Z – zombie, D – așteaptă I/O disc, W – schimbat, X – mort
%CPU
Procesul de timp CPU este utilizat în procente
%MEM
Procesul de memorie fizică este utilizat
TIMP[+]
Timpul total CPU utilizat de proces
COMANDA
Numele programului
În timp ce top rulează, puteți lansa o serie de comenzi. Apăsați h sau ? pentru a vedea comenzile care pot fi executate în timp ce top rulează. Apăsați k pentru a opri un proces. Apăsați q pentru a ieși de sus.
săpa
dig este un instrument excelent pentru interogări DNS. Se folosește după cum urmează:
dig <DNS server> <domain> <query-type>
Unde
este numele serverului DNS pe care doriți să îl întrebați este numele domeniului despre care doriți să căutați este numele înregistrării pe care doriți să o cunoașteți – A, MX, NS SOA etc.
Pentru a suprima ieșirea verbosă, utilizați +short flag.
Pentru a vizualiza o înregistrare pentru google.com, utilizați:
[email protected]:~$ dig google.com +short 172.217.164.174
Pentru a vedea înregistrările MX pentru google.com, utilizați:
[email protected]:~$ dig google.com MX +short 50 alt4.aspmx.l.google.com. 10 aspmx.l.google.com. 20 alt1.aspmx.l.google.com. 40 alt3.aspmx.l.google.com. 30 alt2.aspmx.l.google.com.
Dacă trebuie să interogați înregistrările DNS pe Internet, puteți utiliza instrumentul de căutare DNS.
cine si w
care arată utilizatorii care sunt conectați.
[email protected]:~$ who ubuntu pts/0 2020-08-14 17:28 (183.83.211.129) ubuntu pts/1 2020-08-14 17:58 (183.83.211.129)
w arată utilizatorii conectați în prezent și procesele acestora. Antetul arată ora curentă, timpul de funcționare a sistemului, numărul de utilizatori conectați și mediile de încărcare a sistemului.
[email protected]:~$ w 18:07:33 up 46 days, 15:19, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT ubuntu pts/0 183.83.211.129 17:28 2.00s 0.10s 0.00s w ubuntu pts/1 183.83.211.129 17:58 9:07 0.05s 0.01s vi
Următoarea parte arată numele de utilizator, terminalul și IP-ul de la distanță de la care sunt conectați, timpul de conectare, timpul de inactivitate, JCPU, PCPU și programul pe care îl rulează. JCPU este timpul folosit de toate procesele atașate la tty, în timp ce PCPU este timpul folosit de procesul curent.
gudron
Cu GNU tar puteți arhiva mai multe fișiere într-un singur fișier.
De exemplu, creați un director myfiles și trei fișiere a.txt, b.txt, c.txt în directorul myfiles:
[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}
Acum pentru a crea o arhivă numită allfiles.tar care conține toate fișierele din directorul myfiles:
[email protected]:~$ tar -cvf allfiles.tar myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Listați toate fișierele din directorul curent. Puteți vedea directorul myfiles și arhiva allfiles.tar:
[email protected]:~$ ls allfiles.tar myfiles
Puteți despacheta o arhivă cu flag -x. Deci, pentru a despacheta allfiles.tar:
[email protected]:~$ tar -xvf allfiles.tar myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Puteți, de asemenea, să comprimați această arhivă cu indicatorul -z. Aceasta ar crea o arhivă comprimată cu gzip.
[email protected]:~$ tar -zcvf allfiles.tar.gz myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt [email protected]:~$ ls allfiles.tar.gz myfiles
Pentru a despacheta o arhivă comprimată, utilizați -z cu flag -x.
[email protected]:~$ tar -zxvf allfiles.tar.gz myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
grep
grep este folosit pentru a căuta un model într-un fișier sau un set de fișiere. Imprimă toate liniile care se potrivesc cu modelul respectiv. De exemplu, pentru a căuta linia care conține „ServerRoot” în /etc/apache2/apache2.conf:
[email protected]:~$ grep ServerRoot /etc/apache2/apache2.conf # ServerRoot: The top of the directory tree under which the server's #ServerRoot "/etc/apache2"
Pentru a căuta în toate fișierele dintr-un director, utilizați *. Pentru a include căutarea în subdirectoare, utilizați flag -r (recursiv). Deci, pentru a căuta toate liniile care conțin modelul „VirtualHost” în toate fișierele din /etc/apache2:
[email protected]:~$ cd /etc/apache2 [email protected]:/etc/apache2$ grep -r VirtualHost * apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost> apache2.conf:# logged here. If you *do* define an error logfile for a <VirtualHost> conf-available/localized-error-pages.conf:# even on a per-VirtualHost basis. If you include the Alias in the global server conf-available/other-vhosts-access-log.conf:# Define an access log for VirtualHosts that don't define their own logfile ports.conf:# have to change the VirtualHost statement in sites-available/000-default.conf:<VirtualHost *:80> ...
rsync
rsync este un instrument rapid de linie de comandă pentru sincronizarea fișierelor și directoarelor între două locații. Poate fi folosit atât pentru copierea locală, cât și pentru copierea de la distanță și este rapid pentru că trimite doar diferențele dintre fișierele sursă și fișierele existente în destinație.
Este utilizat pe scară largă pentru copii de rezervă și ca o comandă de copiere îmbunătățită pentru utilizarea zilnică.
Iată un exemplu:
Pentru a copia/rsync toate fișierele din directorul myfiles în directorul de copii de siguranță:
[email protected]:~$ rsync -avh myfiles/ /backups sending incremental file list ./ a.txt b.txt c.txt sent 218 bytes received 76 bytes 588.00 bytes/sec total size is 0 speedup is 0.00
Pentru a sincroniza toate fișierele din directorul myfiles în directorul de copii de siguranță pe o gazdă la distanță, includeți remote_user @remote_host în numele destinației. Deci, pentru a sincroniza folderul myfiles la o gazdă la distanță cu IP 10.0.0.50:
[email protected]:~$ rsync -avh myfiles/ [email protected]:/home/vagrant [email protected]'s password: sending incremental file list ./ a.txt b.txt c.txt sent 230 bytes received 76 bytes 47.08 bytes/sec total size is 0 speedup is 0.00
ss
Comanda ss este folosită pentru a descărca statisticile socketului, similar cu utilitarul netstat moștenit. Pentru a afișa socket-urile TCP folosiți -t flag.
[email protected]:~$ ss -t State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:63049
Acest lucru nu ar afișa prizele care ascultă. Pentru a include atât prizele de ascultare, cât și cele care nu ascultă, utilizați steagurile -t și -a.
[email protected]:~$ ss -t -a State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* LISTEN 0 80 127.0.0.1:mysql 0.0.0.0:* LISTEN 0 128 127.0.0.53%lo:domain 0.0.0.0:* ESTAB 0 0 10.0.0.4:53852 168.63.129.16:8037 ESTAB 0 0 10.0.0.4:ssh 183.83.211.129:64118 ESTAB 0 0 10.0.0.4:33256 169.254.169.254:http ESTAB 0 1080 10.0.0.4:ssh 222.186.30.35:11527 ESTAB 0 120 10.0.0.4:ssh 183.83.211.129:63049 LISTEN 0 128 [::]:ssh [::]:* LISTEN 0 128 *:http *:*
localiza
Comanda locate folosește o bază de date pentru a căuta fișiere și de fapt poate fi mult mai rapidă decât comanda find. Foarte simplu de utilizat, pentru a căuta un fișier, să zicem, apache2.conf:
[email protected]:~$ locate apache2.conf /etc/apache2/apache2.conf /var/lib/dpkg/info/apache2.conffiles
Puteți folosi -c flag dacă doriți doar numărul de fișiere care se potrivesc cu modelul de căutare.
[email protected]:~$ locate -c apache2.conf 2
Uneori, poate fi necesar să reîmprospătați baza de date folosită de locate, care este mlocate. Pentru a actualiza baza de date, utilizați comanda updatedb. Acest lucru ar avea nevoie de privilegii de superutilizator.
[email protected]:~$ sudo updatedb
găsi
Una dintre cele mai frecvent utilizate comenzi pe Linux. Utilizați-l pentru a căuta fișiere pe baza numelor de fișiere, permisiuni, ID utilizator, grup, dimensiune, tip de fișier, pe lângă alte criterii.
Pentru a căuta un fișier după nume în directorul curent, utilizați steag -name urmat de numele fișierului pentru a căuta.:
[email protected]:~$ find . -name a.txt ./myfiles/a.txt
Pentru a căuta directoare, utilizați -type d flag:
[email protected]:~$ find . -type d . ./.ssh ./myfiles ./.cache ./.gnupg ./.gnupg/private-keys-v1.d ./docker
Pentru a căuta fișiere după dimensiune, spuneți fișiere mai mari de 20 MB, utilizați indicatorul -size:
[email protected]:~$ find . -size +20M ./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb ./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
systemctl
Acum că systemd a înlocuit procesul de inițiere SysV în majoritatea distribuțiilor Linux, utilizați comanda systemctl pentru a gestiona serviciile și unitățile systemd.
Pentru a porni un serviciu, de exemplu apache2:
[email protected]:~$ sudo systemctl start apache2.service
Puteți părăsi sufixul serviciului.
Pentru a opri un serviciu:
[email protected]:~$ sudo systemctl stop apache2
Pentru a vedea starea serviciului, utilizați comanda systemctl status. Următorul exemplu arată starea apache2 în timp ce rulează:
[email protected]:~$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2020-08-19 11:34:04 UTC; 2s ago Process: 25346 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 18202 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Process: 25536 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 25555 (apache2) Tasks: 55 (limit: 1024) CGroup: /system.slice/apache2.service ├─25555 /usr/sbin/apache2 -k start ├─25558 /usr/sbin/apache2 -k start └─25559 /usr/sbin/apache2 -k start Aug 19 11:34:04 ubuntu18 systemd[1]: Starting The Apache HTTP Server... Aug 19 11:34:04 ubuntu18 systemd[1]: Started The Apache HTTP Server.
comanda ufw
UFW – firewall necomplicat este un frontend ușor de utilizat pentru iptables. Este disponibil implicit, pe distribuțiile bazate pe Ubuntu. Pe CentOS, puteți instala ufw din depozitul EPEL.
Pentru a activa ufw:
$ sudo ufw enable
Verificați starea firewall-ului cu starea ufw:
$ sudo ufw status Status: active
Politicile UFW implicite permit tot traficul de ieșire și blochează tot traficul de intrare.
Următoarea comandă permite traficul de intrare pe portul HTTP:
$ sudo ufw allow http Rule added Rule added (v6)
Puteți refuza traficul în orice port. Iată un exemplu de blocare a traficului pe portul 21:
$ sudo ufw deny 21 Rule added Rule added (v6)
jurnalctl
Utilizați journalctl pentru a vizualiza jurnalele colectate de systemd. systemd colectează log într-o locație centrală într-un format binar. Pentru a vizualiza aceste jurnale:
[email protected]:~$ sudo journalctl -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:07:59 UTC. -- Jun 29 02:48:31 ubuntu kernel: Linux version 5.3.0-1028-azure ([email protected]) (gcc version 7.5.0 (Ubuntu Jun 29 02:48:31 ubuntu kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-1028-azure root=UUID=b0dd9d06-536e-41 Jun 29 02:48:31 ubuntu kernel: KERNEL supported cpus: Jun 29 02:48:31 ubuntu kernel: Intel GenuineIntel ...
De cele mai multe ori, ați prefera să vedeți jurnalele în ordine inversă, adică mai întâi cele mai recente jurnale:
[email protected]:~$ sudo journalctl -r -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:10:16 UTC. -- Aug 19 15:10:16 ubuntu18 sudo[31263]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:10:16 ubuntu18 sudo[31263]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:10:11 ubuntu18 sudo[31213]: pam_unix(sudo:session): session closed for user root Aug 19 15:07:59 ubuntu18 sudo[31213]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) Aug 19 15:07:59 ubuntu18 sudo[31213]: ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc Aug 19 15:07:56 ubuntu18 sudo[31183]: pam_unix(sudo:session): session closed for user root Aug 19 15:06:47 ubuntu18 sudo[31183]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0) ...
Pentru a vizualiza jurnalele unui anumit serviciu, de exemplu mysql, utilizați -u flag:
[email protected]:~$ sudo journalctl -u mysql -- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. -- Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server... Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server. Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server... Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.
ucide și ucide
Este posibil să trebuiască să omorâți un proces eliberat sau când trebuie să eliberați unele resurse de sistem. kill with -l afișează toate semnalele pe care le puteți trimite unui proces.
[email protected]:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP ....
Două semnale cele mai utilizate sunt SIGTERM și SIGKILL. De asemenea, puteți utiliza -9 pentru SIGKILL și -15 pentru SIGTERM. SIGTERM permite ca un proces să se finalizeze înainte de a fi încheiat și, prin urmare, se numește soft kill. SIGKILL încheie procesul imediat. Iată un exemplu:
Listați toate procesele apache2
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start www-data 45525 0.0 0.7 830480 6856 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70374 0.0 0.1 14852 1040 pts/0 S+ 07:45 0:00 grep --color=auto apache2
Pentru a opri procesul apache2 cu ID de proces 45525:
[email protected]:~$ sudo kill -9 45525
Vedeți din nou lista de procese apache2:
[email protected]:~$ ps aux|grep apache2 root 45521 0.0 0.5 78188 4688 ? Ss Aug08 0:03 /usr/sbin/apache2 -k start www-data 45524 0.0 0.5 830480 4816 ? Sl Aug08 0:00 /usr/sbin/apache2 -k start ubuntu 70525 0.0 0.1 14852 1052 pts/0 S+ 07:52 0:00 grep --color=auto apache2
Utilizați killall pentru a ucide un program după nume. Ceea ce înseamnă că killall ucide procesul de control (părinte) și toate procesele copil. Pentru a elimina toate instanțele procesului apache2 din exemplul de mai sus:
[email protected]:~$ sudo killall apache2
Utilizați kill and killall cu precauție. Aceste comenzi ar putea lăsa sistemul într-o stare instabilă.
IP
Comanda ip înlocuiește ifconfig în noile distribuții Linux. Utilizați-l pentru a configura și afișa interfețele de rețea. De asemenea, folosit pentru a afișa și modifica adrese IP, rute și obiecte vecine.
Afișează informații despre toate interfețele de rețea:
[email protected]:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20d:3aff:fe9b:88d6/64 scope link valid_lft forever preferred_lft forever
Pentru a ridica sau în jos o interfață, utilizați ip link set dev urmat de numele dispozitivului. De exemplu, pentru a aduce interfața eth0 online:
[email protected]:~$ ip link set eth0 up
Și pentru a o doborî:
[email protected]:~$ ip link set eth0 down
Data
O comandă folosită foarte des, aici explorăm câteva modalități interesante de a folosi această comandă.
[email protected]:~$ date Tue Aug 11 07:42:49 UTC 2020
Pentru a vedea data de duminica viitoare:
[email protected]:~$ date -d 'next sunday' Sun Aug 16 00:00:00 UTC 2020
Pentru a vedea data de duminica trecută:
[email protected]:~$ date -d 'last sunday' Sun Aug 9 00:00:00 UTC 2020
De asemenea, puteți utiliza –date în loc de -d flag:
[email protected]:~$ date --date="last sunday" Sun Aug 9 00:00:00 UTC 2020
Pentru a vedea data de acum 6 zile:
[email protected]ntu18:~$ date --date="6 days ago" Wed Aug 5 08:06:37 UTC 2020
Data peste 6 zile:
[email protected]:~$ date --date="6 days" Mon Aug 17 08:08:37 UTC 2020
Puteți controla cu ușurință formatul de ieșire a datei. Iată un exemplu:
[email protected]:~$ date '+%d-%B-%Y' 11-August-2020
rezumat
În calitate de administrator de sistem, mențineți infrastructura de calcul a lumii în funcțiune. Trebuie să rezolvați problemele, să întrețineți și să mențineți sistemele să funcționeze optim, asigurând în același timp securitatea.
Sper că aceste comenzi vă vor fi utile și vă vor ajuta să vă faceți treaba mai bine.
Iată câțiva clienți FTP/SFTP și cele mai bune foi Vim pentru dezvoltatori și administratori de sistem.