20 ordres avançades per a usuaris de Linux de nivell mitjà
Potser heu trobat el primer article molt útil, aquest article és una extensió de les 20 ordres útils per a principiants de Linux. El primer article estava pensat per a principiants i aquest article és per a usuaris de nivell mitjà i usuaris avançats. Aquí trobareu com personalitzar la cerca, conèixer la guia d'execució dels processos per eliminar-los, com fer que el vostre terminal Linux sigui productiu és un aspecte important i com compilar programes c, c++ i java a nix.
21. Ordre: Cerca
Cerqueu fitxers al directori donat, començant jeràrquicament pel directori principal i passant als subdirectoris.
[email :~# find -name *.sh ./Desktop/load.sh ./Desktop/test.sh ./Desktop/shutdown.sh ./Binary/firefox/run-mozilla.sh ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh ./Downloads/kdewebdev-3.5.8/admin/cvs.sh ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh ./Downloads/wheezy-nv-install.sh
Nota: l'opció \\-name' fa que la cerca distingeix entre majúscules i minúscules. Podeu utilitzar l'opció \\-iname' per trobar alguna cosa independentment de les majúscules i minúscules. (* és un comodí i cerca tots els fitxers amb extensió '.sh', podeu utilitzar el nom del fitxer o una part del nom del fitxer per personalitzar la sortida).
[email :~# find -iname *.SH ( find -iname *.Sh / find -iname *.sH) ./Desktop/load.sh ./Desktop/test.sh ./Desktop/shutdown.sh ./Binary/firefox/run-mozilla.sh ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh ./Downloads/kdewebdev-3.5.8/admin/cvs.sh ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh ./Downloads/wheezy-nv-install.sh
[email :~# find -name *.tar.gz /var/www/modules/update/tests/aaa_update_test.tar.gz ./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz ./home/server/Downloads/drupal-7.22.tar.gz ./home/server/Downloads/smtp-7.x-1.0.tar.gz ./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz ./usr/share/gettext/archive.git.tar.gz ./usr/share/doc/apg/php.tar.gz ./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz ./usr/share/doc/argyll/examples/spyder2.tar.gz ./usr/share/usb_modeswitch/configPack.tar.gz
Nota: l'ordre anterior cerca tots els fitxers amb extensió 'tar.gz' al directori arrel i tots els subdirectoris inclosos els dispositius muntats.
Llegiu més exemples de l'ordre trobar de Linux a 35 Exemples d'ordres de cerca a Linux
22. Ordre: grep
L'ordre 'grep' cerca al fitxer donat línies que continguin una coincidència amb les cadenes o paraules donades. Cerqueu '/etc/passwd' per a l'usuari 'tecmint'.
[email :~# grep tecmint /etc/passwd tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash
Ignoreu les majúscules i minúscules i totes les altres combinacions amb l'opció -i.
[email :~# grep -i TECMINT /etc/passwd tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash
Cerqueu recursivament (-r), és a dir, llegiu tots els fitxers de cada directori per trobar una cadena 127.0.0.1.
[email :~# grep -r "127.0.0.1" /etc/ /etc/vlc/lua/http/.hosts:127.0.0.1 /etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1" /etc/mysql/my.cnf:bind-address = 127.0.0.1 /etc/apache2/mods-available/status.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/ldap.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/info.conf: Allow from 127.0.0.1 ::1 /etc/apache2/mods-available/proxy_balancer.conf:# Allow from 127.0.0.1 ::1 /etc/security/access.conf:#+ : root : 127.0.0.1 /etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1; /etc/dhcp/dhclient.conf:# option domain-name-servers 127.0.0.1; /etc/init/network-interface.conf: ifconfig lo 127.0.0.1 up || true /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1). /etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1 /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1). /etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1 /etc/hosts:127.0.0.1 localhost
Nota: podeu utilitzar aquestes opcions següents juntament amb grep.
- -w per paraula (egrep -w 'paraula1|paraula2' /camí/a/fitxer).
- -c per al recompte (és a dir, el nombre total de vegades que el patró ha coincidit) (grep -c paraula /camí/a/fitxer).
- –color per a la sortida en color (grep –color server /etc/passwd).
23. Manament: home
El home és el cercapersones manual del sistema. Man proporciona documentació en línia per a totes les opcions possibles amb una comanda i els seus usos. Gairebé tota l'ordre ve amb les seves pàgines de manual corresponents. Per exemple,
[email :~# man man MAN(1) Manual pager utils MAN(1) NAME man - an interface to the on-line reference manuals SYNOPSIS man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ... man -k [apropos options] regexp ... man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ... man -f [whatis options] page ... man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ... man -w|-W [-C file] [-d] [-D] page ... man -c [-C file] [-d] [-D] page ... man [-hV]
Pàgina de manual per a la pròpia pàgina de manual, de la mateixa manera man cat (Pàgina de manual per a l'ordre ls).
Nota: la pàgina de manual està pensada per a la referència i l'aprenentatge d'ordres.
24. Ordre: ps
ps (Procés) proporciona l'estat dels processos en execució amb un identificador únic anomenat PID.
[email :~# ps PID TTY TIME CMD 4170 pts/1 00:00:00 bash 9628 pts/1 00:00:00 ps
Per llistar l'estat de tots els processos juntament amb l'identificador del procés i el PID, utilitzeu l'opció -A.
[email :~# ps -A PID TTY TIME CMD 1 ? 00:00:01 init 2 ? 00:00:00 kthreadd 3 ? 00:00:01 ksoftirqd/0 5 ? 00:00:00 kworker/0:0H 7 ? 00:00:00 kworker/u:0H 8 ? 00:00:00 migration/0 9 ? 00:00:00 rcu_bh ....
Nota: aquesta ordre és molt útil quan voleu saber quins processos s'estan executant o potser necessiteu PID de vegades perquè el procés s'elimini. Podeu utilitzar-lo amb l'ordre grep per trobar una sortida personalitzada. Per exemple,
[email :~# ps -A | grep -i ssh 1500 ? 00:09:58 sshd 4317 ? 00:00:00 sshd
Aquí ps està canalitzat amb l'ordre grep per trobar una sortida personalitzada i rellevant de la nostra necessitat.
25. Manament: matar
D'acord, potser haureu entès per a què serveix aquesta ordre, des del nom de l'ordre. Aquesta ordre s'utilitza per matar el procés que ara no és rellevant o que no respon. És una ordre molt útil, més aviat una ordre molt molt útil. És possible que estigueu familiaritzat amb els reinicis freqüents de les finestres a causa del fet que la majoria de vegades un procés en execució no es pot eliminar, i si s'elimina, necessita Windows per reiniciar-se perquè els canvis es puguin fer efectius, però al món de Linux, no hi ha aquestes coses. Aquí podeu matar un procés i iniciar-lo sense reiniciar tot el sistema.
Necessites el pid (ps) d'un procés per matar-lo.
Suposem que voleu matar el programa apache2 que potser no respon. Executeu ps -A juntament amb l'ordre grep.
[email :~# ps -A | grep -i apache2 1285 ? 00:00:00 apache2
Cerqueu el procés 'apache2', tingueu en compte el seu pid i mateu-lo. Per exemple, en el meu cas, el pid apache2 és 1285.
[email :~# kill 1285 (to kill the process apache2)
Nota: Cada vegada que torneu a executar un procés o inicieu un sistema, es genera un nou pid per a cada procés i podeu conèixer els processos en execució actuals i el seu pid mitjançant l'ordre ps.
Una altra manera de matar el mateix procés és.
[email :~# pkill apache2
Nota: Kill requereix l'identificador de treball/identificador de procés per enviar senyals, on com a pkill, teniu l'opció d'utilitzar el patró, especificar el propietari del procés, etc.
26. Manament: onis
L'ordre whereis s'utilitza per localitzar les pàgines binàries, fonts i manuals de l'ordre. Per exemple, per localitzar les pàgines binaris, fonts i manuals de l'ordre 'ls' i 'kill'.
[email :~# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz
[email :~# whereis kill kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz
Nota: Això és útil per saber on s'instal·len els binaris per a l'edició manual de vegades.
27. Comandament: servei
L'ordre servei controla l'inici, l'aturada o el reinici d'un servei. Aquesta ordre permet iniciar, reiniciar o aturar un servei sense reiniciar el sistema, perquè els canvis tinguin efecte.
[email :~# service apache2 start * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName httpd (pid 1285) already running [ OK ]
[email :~# service apache2 restart * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]
[email :~# service apache2 stop * Stopping web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting [ OK ]
Nota: Tot l'script del procés es troba a '/etc/init.d', i pot ser que el camí s'hagi d'incloure en un sistema determinat, és a dir, malgrat executar \service apache2 start, se us demanarà que executeu \/ etc/init.d/apache2 start”.
28. Ordre: àlies
àlies és una ordre integrada de l'intèrpret d'ordres que us permet assignar un nom per a una ordre llarga o utilitzada amb freqüència.
Utilitzo l'ordre ls -l amb freqüència, que inclou 5 caràcters, inclosos l'espai. Per tant, vaig crear un àlies per a això a 'l'.
[email :~# alias l='ls -l'
comproveu si funciona o no.
[email :~# l total 36 drwxr-xr-x 3 tecmint tecmint 4096 May 10 11:14 Binary drwxr-xr-x 3 tecmint tecmint 4096 May 21 11:21 Desktop drwxr-xr-x 2 tecmint tecmint 4096 May 21 15:23 Documents drwxr-xr-x 8 tecmint tecmint 4096 May 20 14:56 Downloads drwxr-xr-x 2 tecmint tecmint 4096 May 7 16:58 Music drwxr-xr-x 2 tecmint tecmint 4096 May 20 16:17 Pictures drwxr-xr-x 2 tecmint tecmint 4096 May 7 16:58 Public drwxr-xr-x 2 tecmint tecmint 4096 May 7 16:58 Templates drwxr-xr-x 2 tecmint tecmint 4096 May 7 16:58 Videos
Per eliminar l'àlies l, utilitzeu la següent comanda unalias.
[email :~# unalias l
comproveu si 'l' encara és un àlies o no.
[email :~# l bash: l: command not found
Fent una mica de gràcia d'aquesta comanda. Feu un àlies d'una determinada ordre important a una altra ordre important.
alias cd='ls -l' (set alias of ls -l to cd) alias su='pwd' (set alias of pwd to su) .... (You can create your own) ....
Ara, quan el vostre amic escrigui cd, només penseu en el divertit que seria quan obté una llista de directoris i no canvia de directori. I quan intenta ser su, tot el que obté és la ubicació del directori de treball. Podeu eliminar l'àlies més tard utilitzant l'ordre unalias, tal com s'ha explicat anteriorment.
29. Manament: df
Informeu dels usos del disc del sistema de fitxers. Útil tant per a l'usuari com per a l'administrador del sistema per fer un seguiment dels seus usos de disc. 'df' funciona examinant les entrades del directori, que generalment només s'actualitzen quan es tanca un fitxer.
[email :~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 47929224 7811908 37675948 18% / none 4 0 4 0% /sys/fs/cgroup udev 1005916 4 1005912 1% /dev tmpfs 202824 816 202008 1% /run none 5120 0 5120 0% /run/lock none 1014120 628 1013492 1% /run/shm none 102400 44 102356 1% /run/user /dev/sda5 184307 79852 94727 46% /boot /dev/sda7 95989516 61104 91045676 1% /data /dev/sda8 91953192 57032 87218528 1% /personal
Per obtenir més exemples d'ordres df, llegiu l'article 12 Exemples d'ordres df a Linux.
30. Manament: du
Estimar l'ús d'espai de fitxers. Emet el resum dels usos del disc per cada fitxer jeràrquicament, és a dir, de manera recursiva.
[email :~# du 8 ./Daily Pics/wp-polls/images/default_gradient 8 ./Daily Pics/wp-polls/images/default 32 ./Daily Pics/wp-polls/images 8 ./Daily Pics/wp-polls/tinymce/plugins/polls/langs 8 ./Daily Pics/wp-polls/tinymce/plugins/polls/img 28 ./Daily Pics/wp-polls/tinymce/plugins/polls 32 ./Daily Pics/wp-polls/tinymce/plugins 36 ./Daily Pics/wp-polls/tinymce 580 ./Daily Pics/wp-polls 1456 ./Daily Pics 36 ./Plugins/wordpress-author-box 16180 ./Plugins 12 ./May Articles 2013/Xtreme Download Manager 4632 ./May Articles 2013/XCache
Nota: 'df' només informa de les estadístiques d'ús dels sistemes de fitxers, mentre que 'du', en canvi, mesura el contingut del directori. Per obtenir més exemples i ús d'ordres du, llegiu 10 ordres du (ús del disc).
31. Comandament: rm
L'ordre 'rm' significa eliminar. rm s'utilitza per eliminar fitxers i directoris.
[email :~# rm PassportApplicationForm_Main_English_V1.0 rm: cannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory
El directori no es pot eliminar simplement amb l'ordre rm, heu d'utilitzar el commutador -rf juntament amb rm.
[email :~# rm -rf PassportApplicationForm_Main_English_V1.0
Avís: l'ordre \rm -rf és una ordre destructiva si accidentalment arribeu al directori equivocat. Un cop rm -rf un directori, tots els fitxers i el directori en si es perden per sempre, de sobte. Utilitzeu-lo amb precaució.
32. Ordre: eco
echo, com el seu nom indica, fa ressò d'un text a la sortida estàndard. No té res a veure amb l'shell, ni l'shell llegeix la sortida de l'ordre echo. Tanmateix, en un script interactiu, echo passa el missatge a l'usuari a través del terminal. És una de les ordres que s'utilitzen habitualment en scripts, scripts interactius.
[email :~# echo "linux-console.net is a very good website" linux-console.net is a very good website
1. creeu un fitxer, anomenat interactive_shell.sh a l'escriptori. (Recordeu que l'extensió '.sh' és imprescindible).
2. Copieu i enganxeu l'script següent, exactament igual que a continuació.
#!/bin/bash echo "Please enter your name:" read name echo "Welcome to Linux $name"
A continuació, configureu el permís d'execució i executeu l'script.
[email :~# chmod 777 interactive_shell.sh
[email :~# ./interactive_shell.sh Please enter your name: Ravi Saive Welcome to Linux Ravi Saive
Nota: '#!/bin/bash' diu a l'intèrpret d'ordres que és un script i que sempre és una bona idea incloure-lo a la part superior de l'script. 'llegir' llegeix l'entrada donada.
33. Ordre: passwd
Aquesta és una ordre important que és útil per canviar la pròpia contrasenya al terminal. Òbviament, per motius de seguretat, necessiteu conèixer la vostra contrasenya actual.
[email :~# passwd Changing password for tecmint. (current) UNIX password: ******** Enter new UNIX password: ******** Retype new UNIX password: ******** Password unchanged [Here was passowrd remians unchanged, i.e., new password=old password] Enter new UNIX password: ##### Retype new UNIX password:#####
34. Comandament: lpr
Aquesta ordre imprimeix fitxers anomenats a la línia d'ordres, a una impressora anomenada.
[email :~# lpr -P deskjet-4620-series 1-final.pdf
Nota: L'ordre lpq us permet veure l'estat d'una impressora (si està activada o no) i els treballs (fitxers) que s'estan esperant per imprimir.
35. Ordre: cmp
compareu dos fitxers de qualsevol tipus i escriu els resultats a la sortida estàndard. Per defecte, 'cmp' Retorna 0 si els fitxers són els mateixos; si són diferents, s'informa del byte i el número de línia en què es va produir la primera diferència.
Per proporcionar exemples d'aquesta ordre, considerem dos fitxers:
[email :~# cat file1.txt Hi My name is Tecmint
[email :~# cat file2.txt Hi My name is tecmint [dot] com
Ara, comparem dos fitxers i veiem la sortida de l'ordre.
[email :~# cmp file1.txt file2.txt file1.txt file2.txt differ: byte 15, line 1
36. Ordre: wget
Wget és una utilitat gratuïta per a la descàrrega no interactiva (és a dir, pot funcionar en segon pla) de fitxers des del web. Admet protocols HTTP, HTTPS, FTP i servidors intermediaris HTTP.
[email :~# wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 --2013-05-22 18:54:52-- http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 [following] --2013-05-22 18:54:54-- http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 92.46.53.163 Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|92.46.53.163|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 275557 (269K) [application/octet-stream] Saving to: ‘ffmpeg-php-0.6.0.tbz2’ 100%[===========================================================================>] 2,75,557 67.8KB/s in 4.0s 2013-05-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557]
37. Manament: muntar
Muntar és una ordre important que s'utilitza per muntar un sistema de fitxers que no es munta per si mateix. Necessites permís de root per muntar un dispositiu.
Primer executeu lsblk després de connectar el vostre sistema de fitxers i identifiqueu el vostre dispositiu i anoteu el nom assignat al vostre dispositiu.
[email :~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 923.6G 0 part / ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 7.9G 0 part [SWAP] sr0 11:0 1 1024M 0 rom sdb 8:16 1 3.7G 0 disk └─sdb1 8:17 1 3.7G 0 part
Des d'aquesta pantalla, va quedar clar que vaig connectar un pendrive de 4 GB, per la qual cosa sdb1 és el meu sistema de fitxers a muntar. Converteix-te en root per realitzar aquesta operació i canvia al directori /dev on està muntat tot el sistema de fitxers.
[email :~# su Password:
[email :~# cd /dev
Creeu un directori anomenat qualsevol cosa, però hauria de ser rellevant com a referència.
[email :~# mkdir usb
Ara munteu el sistema de fitxers sdb1 al directori usb.
[email :~# mount /dev/sdb1 /dev/usb
Ara podeu navegar a /dev/usb des del terminal o del sistema X-windows i accedir al fitxer des del directori muntat.
38. Ordre: gcc
gcc és el compilador integrat per al llenguatge c a l'entorn Linux. Un simple programa c, deseu-lo al vostre escriptori com a Hello.c (recordeu que l'extensió '.c' és imprescindible).
#include <stdio.h> int main() { printf("Hello world\n"); return 0; }
[email :~# gcc Hello.c
[email :~# ./a.out Hello world
Nota: En compilar un programa c, la sortida es genera automàticament en un nou fitxer \a.out i cada vegada que compileu un programa en c es modifica el mateix fitxer \a.out. Per tant, és un bon consell definir un fitxer de sortida durant la compilació i, per tant, no hi ha risc de sobreescriure al fitxer de sortida.
[email :~# gcc -o Hello Hello.c
Aquí -o envia la sortida al fitxer Hola i no a.out. Torna-ho a executar.
[email :~# ./Hello Hello world
39. Ordre: g++
g++ és el compilador integrat per a C++, el primer llenguatge de programació orientat a objectes. Un programa C++ senzill, deseu-lo al vostre escriptori com Add.cpp (recordeu que l'extensió .cpp és imprescindible).
#include <iostream> using namespace std; int main() { int a; int b; cout<<"Enter first number:\n"; cin >> a; cout <<"Enter the second number:\n"; cin>> b; cin.ignore(); int result = a + b; cout<<"Result is"<<" "<<result<<endl; cin.get(); return 0; }
[email :~# g++ Add.cpp
[email :~# ./a.out Enter first number: ... ...
Nota: En compilar un programa en c++, la sortida es genera automàticament en un fitxer nou \a.out i cada vegada que compileu un programa en c++ el mateix fitxer \a.out es modifica. Per tant, és un bon consell definir un fitxer de sortida durant la compilació i, per tant, no hi ha risc de sobreescriure al fitxer de sortida.
[email :~# g++ -o Add Add.cpp
[email :~# ./Add Enter first number: ... ...
40. Ordre: java
Java és un dels llenguatges de programació més utilitzats del món i es considera ràpid, segur i fiable. La majoria del servei basat en web d'avui funciona en Java.
Creeu un programa Java senzill enganxant la prova següent a un fitxer, anomenat tecmint.java (recordeu que l'extensió .java és imprescindible).
class tecmint { public static void main(String[] arguments) { System.out.println("Tecmint "); } }
[email :~# javac tecmint.java
[email :~# java tecmint
Nota: Gairebé totes les distribucions inclouen el compilador gcc, la majoria de distribucions tenen incorporat el compilador g++ i java, mentre que algunes poden no tenir-ne. Podeu apt o gum el paquet necessari.
No oblidis mencionar el teu valuós comentari i el tipus d'article que vols veure aquí. Aviat tornaré amb un tema interessant sobre els fets menys coneguts sobre Linux.