PHP Test

Vi / Vim Tricks :

 
.vimrc				You can create a file of configuration named ~/.vimrc for saving vim parameters

set nocompatible
syntax on
set showmatch
set hlsearch
set incsearch
set mat=5

Attention dans les commandes définies ci-dessous, r = 'r' et R = MAJ + 'r'

Par défaut :			Command mode					Mode Commande
i				Insertion mode (write)				Mode Insertion (écriture)
v				Visual mode for selection			Mode Visuel pour sélection

En mode COMMANDE ... ( Echap ) : 

:q(!)				(force to) quit					(forcer à) quitter
:e!				reload file					recharge le document
:w				save file					enregistre
:wq!				force to save and quit				forcer à sauvegarder et quitter

u				undo						revenir en arrière
Ctrl+R
d5				delete 5 lines					supprime 5 lignes
dd				delete current line				supprime la ligne courante
dG				delete all file / everything				supprime tout le fichier
y5				copy 5 lines					copie 5 lignes
p				copy to buffer					copie selection ou ligne dans buffer
yyp				duplicate line					duplique la ligne courante
x				erase under curser				efface sous curseur courant


G				go to the end/bottom of the file		va à la fin du fichier
gg				go to the beginnig/top of the file		va au début du fichier
gg=G				indentation all file				indente le code de tout le document

:tabe file.txt			open file into a new tab			ouvre le fichier dans un nouvel onglet
gt				switch tab					changer d'onglet , permuter

:%s/text/other_text/g		replace text by other_text in all file		remplace / change text par other_text dans tout le fichier sur toute la ligne (/g)
set nu				set lines numbers				mettre les numéros de lignes

:w !sudo tee %			save without needed permissions			force l'enregistrement si fichier non ouvert en sudo


Linux Commands and Tricks

---------------------------------------------		BASIC COMMANDS						COMMANDES DE BASE

MAJ + Alt + Up						show and organize all open windows			montre en premier plan toutes les fenêtres ouvertes
vim ~/.bashrc						edit all configurations default values			éditer les configurations par défaut
vim ~/.bash_history					saving all history					enregistre tout l'historique
vim /etc/rc.local					load default programs at boot time			script exécuté à la fin du boot
Ctrl + p or 'Up Arrow'					show previous commands in history			montre la dernière commande dans l'historique
Ctrl + n or 'Down Arrow'				show next commands in history				montre la commande suivante de l'historique
MAJ  + 'Up Arrow'					Go up into terminal					remonte dans le terminal ou la console
MAJ  + 'Down Arrow'					Go down into terminal					descend dans le terminal ou la console
Ctrl + u / + k						delete everything before / after cursor			efface tout avant / après le curseur
Ctrl + a						Go back at the begining of the line			retourne en début de ligne
Ctrl + e						Go to the end of the line				retourne en fin de ligne
Ctrl + c ( +z )						cancel / kill current process				annule / tue le processus en cours			
Ctrl + l 						clear page						efface la page
Ctrl + t						invert 2 characters under cursor			inverse les 2 caractères sous le curseur
Ctrl + r						search into history					recherche dans l'historique
Ctrl + d						close terminal						ferme le terminal
Ctrl + MAJ(t)						open new terminal tab					ouvre un nouveau terminal ( ou tab )
Ctrl + 'Up Arrow'					go to next tab						passe à l'onglet suivant
Ctrl + 'Down Arrow'					go to previous tab					passe à l'onglet précédent
Ctrl + MAJ(n)						open new terminal of directorie				ouvre un nouveau dossier ou terminal

ls (-lat ou -sh)					display files (time or size)				affiche les fichiers ( temps ou taille )
cp (-rf) source dest					copy file or dir to another fileName			copie un fichier (-r : recursively -f : force )
cp -a fileDateSource fileDateToReplace			copy date from file					copie la date d'un fichier pour la mettre sur un autre
mv source dest						change name and move file to dest			renomme et met le source en dest
xterm							open a new terminal					ouvre un terminal
cd -							go back to last directory used				retourne au dernier dossier accédé
pushd ./						save current directory path				enregistre l'emplacement du dossier courant
popd							return to previously saved dir path			retourne au dossier enregistré avec pushd
head (-n10) file1 > file2				put first 10 lines of file1 into file2			montre le début d'un fichier sur 10 lignes
tail (-n10) file1 > file2				put last 10 lines of file1 into file2			montre la fin d'un fichier sur 10 lignes
finger							show latest user connexions				donne la liste des dernières connexions utilisateur
id							show username and groups 				montre le nom de l'utilisateur et ses groupes
export CDPATH=./:../:~/:/other/path			define default path for cmd "cd"			définit les chemins par défault pour "cd"
(sudo) !!						launch previous command	en sudo				lance la commande précédente en sudo
X							launch X server						lance le serveur X
uname -a						show linux system informations				montre les informations sur le système linux (32/64 bits...)

---------------------------------------------		OTHER COMMANDS						AUTRE COMMANDES

sed 's/text/other/g' file.txt > file.txt.new		find text and replace by other into file.txt.new	remplace text par other dans file.txt
sed -i 's/text/other/g' file.txt 			find text and replace directly into file.txt		remplace text directement dans file.txt
tr : \
						replace ":" par "
" into given cmd			remplace ":" par "
"
echo $PATH | tr : \
					show PATH on seperate lines for each paths		étale PATH sur plusieurs lignes

grep -i -E(regularExpression) "main*" ...
... $(find -iname "*.cpp" | grep -viE "build|svn")	search main into all found files exept build..(-v)	cherche main dans la recherche de fichier

find -name "*test*" \! -name "Maintest"			search all file with test that is not Maintest		cherche tout les fichiers avec test excépté Maintest
^typo or ^old^new or !!:gs/old/new			launch previous command with the new string instead	relance la commande précédente en corrigeant
Program > file.out					save std.out into file.out				enregistre la sortie standard (std.out) dans file.out
Program 2> file.out					save std.out and std.err into file.out			enregistre la sortie standard et les erreurs
Program &> file.out					save std.err into file					enregistre les erreurs

dpkg -l | less						list all installed packages				liste tout les paquets installés
sudo umount /media/USBflashDrive			unmount safely flash media USB or Disk			enlever un périphérique en toute sécurité ;)
tar xvzf file.tgz					extract tgz file					décomprèsse un .tar.tgz
tar vcf	name.tar fileToCompress				compress file into name.tar				compresse le fichier fileToCompresse en l'archive name.tar
		
bc (or python)						open calculator						lancer la calculatrice
df (-th)						display disk space and left space			affiche la taille et l'encombrement des disques
dd if=/dev/cdrom of=~/CD_NAME.iso			save current cdrom to CD_NAME.iso			copie le cd dans un .iso
ln -s /dif/.so /dir/dest.so				create symbolique link of lib				créer un lien symbolique
fg or bg						set application on foreground or background		mettre l'application au premier plan ou en arrière plan
xkill + click						kill a window on blocked on foreground			force une fenêtre récalcitrante à se fermer
touch file						change file date to current date			met la date du file à l'heure courante
touch -t AAMMJJHHMM file				change file date to whatever you want			changer la date du fichier à l'heure et la date voulue
ssh (-X) user@host:/path/to/file			connect to distant host as user (-X export display)	connection par ssh à un hôte distant sur le compte user
ssh-keygen						generate public and private ssh keys			génère les clefs ssh publique et privée
ssh-copy-id user@host					copy ssh keys for passwordless logins			copie les clefs ssh pour se connecter sans password
sshfs -o workaround=rename user@host:/path/to/...	
.../dirToMount /local/path/toAny/dir			create a mounting point for exchanging files		point de montage pour partager des fichiers avec un hôte distant 
sudo fusermount -u /local/path/toAny/mounted_file	unmount directory for remove sshfs command		démontage d'un point de montage à un hôte distant
nohup cmd &						launch cmd unlinked with the terminal prompt		lance cmd dissocié du prompt
xhost +							give authorization for all incoming connexions		authorise toutes les connexions entrante (dangereux)
ssh -XC user@host x2x -east -to :0			share mouse and keyboard for 2 computers		partage la souris et le clavier pour 2 ordinateurs (launch xhost + before )
mount -a (--all)					mount all from /etc/fstab				relance les instructions de montage de /etc/fstab
nvidia-config						launch nvidia configurations				lance les configurations de NVIDIA
nvidia-xconfig						generate default /etc/X11/Xorg.conf			régénère le /etc/X11/Xorg.conf


---------------------------------------------		FOR DEBUGGING						POUR LE DEBUGGAGE

env (| grep -i Something)				display all environment variables with PATH ... 	affiche les variables d'environement
export PATH=$PATH:/other/path/to/bin			save new path into PATH					enregistre un nouveau chemin d'accès à un program
echo $PATH						display PATH						affiche le PATH
top							show current process					montre les processus en cours
ps (-edf or -aux)					display all current process				affiche les programmes et processus en cours
ls -la /proc/5818(ID)/fd | less -s			show info for a current process				montre les infos sur un process en cours
strace -o -f /path/logfile Program			write into logfile all informations about Prog exec	enregistre toutes les infos de l'exécution du Program
strace -p _ID_from_ps_or_top_				display all informations about Prog exec		montre les infos de l'exécution d'un programme
gdb --pid _ID_from_ps_or_top_				launch gdb						lance gdb
tail (-n20) -f /var/log/messages			display on live 20 lines of all latest connexions	affiche les dernières connexions à l'ordinateur
vim /proc/cpuinfo					display system informations				affiche les informations système
source .bin						launch into other shell (then using default path)	lance dans un autre shell pour éviter les changements de path

---------------------------------------------		NETWORK AND SOCKET CONNECTIONS				RESEAUX, SOCKETS ET PORTS DE CONNEXIONS

sudo tcpdump -i eth0					dump traffic on a network				affiche les caractéristiques du réseau
nc -u -l (-p) 5100					listen to connection by netcat for UDP at port 5100	écouter les messages reçus sur un port de connexion UDP
kexec							restart boot loader from linux				relance le boot loader
vim /var/log/secure					display user connexions informations			affiche les infomations de connexion des utilisateurs
/sbin/ifconfig						display all netword informations			affiche les informations sur les cartes réseau
ifup eth0 / ifdown eth0					put on / off network card				active / désactive l'interface réseau
ethtool eth0						display informations of network interface		affiche les informations sur l'interface réseau
nslookup www.google.fr					display DNS ( IP <--> Name ) informations		affiche les informations sur le DNS ( IP vers NOM )
telnet IP PortNb					open telnet connexion					ouvre une connexion telnet
/etc/inid.d/dhcp start or restart			start or restart DHCP					DHCP distribue les IP et masques en dynamique
vim /etc/hosts						display hostname and IP correspondences			hostname vers IP

vim /etc/ntp.conf (on server)				configuration file for NTP (NETWORK TIME PROTOCOL)	fichier de configuration du NTP
service ntp start or restart or stop (on client)	reload synchronization of NTP				relance le NTP avec le ntp.conf donnée
ntpdate -b hostServer (on client)			force ntp to adjust with time of hostServer quickly	NTP prend hostServer time (relancer service ntp restart après)  
vim /etc/nsswitch.conf					show choosen and default protocol uses			montre les protocoles utilisés par défaut
host IP							give hostname from IP					donne le nom d'un host à partir de son IP
uptime							show time since last reboot				montre le temps de connexion


-------------------------------------------------	LINUX MODULES AND MEMORY				MODULES ET INFOS MEMOIRES LINUX

lsmod							display all loaded modules				affiche tout les modules chargés
modprobe _mod_						launch manually a module				lance un module manuellement
rmmod _mod_						kill a module manualy					kill a module
vim /etc/modprobe.d/blacklist.conf			edit modules configuration file				édite le fichier de configuration des modules

ipcs							display RAM block running				affiche les blocs de RAM en cours d'utilisation
grep shmid or sysv /proc/_shmid_/maps			show process using _shmid_ block			montre le process qui utilise le _shmid_
ipcrm -m _shmid_					delete a running RAM block				supprime un bloc de RAM ayant le pid _shmid_

lspci | less						display hardware informations 				affiche les informations système

-------------------------------------------------	USING SCREEN						UTILISATION DE SCREEN

screen (-S NAME)					launch screen for using many terminal in one		screen n'est jamais fermé sauf à l'arrêt de la machine
screen -x ( or -r ) ( NAME )				relog to choosen screen	previously detached		ré-attache le screen choisi après détachement
Ctrl + a + c						create a new tab					crée un nouvel onglet
Ctrl + a + MAJ(a)					rename tab						renomme l'onglet
Ctrl + d						close tab or screen if last tab				ferme l'onglet ou le screen si dernier tab
Ctrl + a + d						detach screen ( reuse still being possible)		détache le screen pour une utilisation future
Ctrl + a + {0..9}					select screen's tab number to display			affiche l'onglet voulu
Ctrl + a + n						display next tab					affiche l'onglet suivant
Ctrl + a + p						display previous tab					affiche l'onglet précédent
Ctrl + a + ESC ( or Alt Gr 5 )				scroll into screen					remonte dans le screen
Ctrl + a + x						lock screen with current user password			vérouille le screen
Ctrl + a + MAJ(s)					split one screen in 2 windows				sépare le screen courant
Ctrl + a + TAB						switch between the 2 split windows			passe d'un screen à l'autre
Ctrl + a + MAJ(q)					delete all windows except current one			supprime toute les fenètres sauf la courante
Ctrl + a + MAJ(k)					delete current window					supprime la fenêtre courante

-------------------------------------------------	COMPILATION AND LINKING					COMPILATION ET EDITION DE LIENS

/bin/c++/gcc or g++ or cc -I includes.h -L lib.so	compile c++ or c (cc) with libraries given		compile c++ or c (cc) avec les includes appropriés
export CPATH=/path/to/default/includes			set path to search default includes for gcc		chemin par défault pour la compilation avec gcc

ldd -r prog.exe ( or lib.so)				display prog or lib dependencies			affiche les dépendances d'un programme ou d'une librairie
nm *.o or *.so or *.bin --demangle			display readable names of all fonctions in .so		affiche les noms en lisible des fonction inclus dans le .so
nm $(which ProgramName)					same as before for Program with unknown path		même chose que nm *.o pour un Program trouvé avec which

Compilation with CMAKE :

ccmake /path/to/CMakeLists.txt	...			set compilation options					editer les infos de compilation
cmake
vim CMakeLists.txt and set CMAKE_MODULE_PATH to find files like Findlib.cmake and then do FIND_PACKAGE(lib) and set LIB_INCLUDE_DIRS into INCLUDE_DIRECTORIES of CMakeLists.txt
make							compile							compile
make install						install files						install les fichiers aux endroits décrits dans CMakeLists.txt

make clean						clean build file					enlève les fichiers d'installation inutiles


Compilation with CONFIGURE :

./configure --prefix=/dir/install			
or vim Makefile and change _prefix_ value
qmake -I includes.h -L lib.so
make install

-------------------------------------------------	DEBBUG WITH GDB						DEBUGGER AVEC GDB

gdb --args cmd						launch gdb						lance gdb sur le programme
break or b className::foncion::fctname()		set a break point on a fonction				mais un breakpoint sur la fonction donnée
run or r						start running until the breakpoint			lance l'application
continue or c						keep going execution					continue l'exécution
print or p VAR						print variable VAR					donne la valeur de la variable VAR
list or l						display runnning code of the programm			affiche le code du programme en cours
up / down						navigate into code					navigue dans le code
Ctrl + x + o						open larger view					ouvre une grande fenêtre pour le code
disassemble fonction					display assembler code of fonction			affiche le code assembleur de la fonction
infos register						give register state					affiche l'état du registre


AUTRE INFORMATIONS

BIOS --> BOOT LOADER ( Grub...) --> OS			Fonctionnement du démarrage d'un ordi	

... Copyright Eric Amat 2012 ...