Commandline

From 2value wiki 2
Revision as of 21:00, 4 April 2013 by 2value>Interwiki linking script (→‎copy files and preserve directory structure)
Jump to navigation Jump to search

Tips en tricks om je commandline skills te verbeteren

Toon Joomla! versie

Werkt voor een server waarbij alle klanten in /home zitten

  • for i in $(ls /home);do printf $i" ";cat /home/$i/public_html/www/includes/version.php | grep "\$DEV_LEVEL";done > joomla10x
  • for i in $(ls /home);do printf $i" ";cat /home/$i/public_html/www/libraries/joomla/version.php | grep "\$DEV_LEVEL";done > joomla15xjoomla16x

Wijzig permissies van files en directories

Vanuit de root van je Joomla! installatie in één keer alle bestanden of directories wijzigen van permissie.

  • find . -type f -exec chmod 644 {} \;
  • find . -type d -exec chmod 755 {} \;

Zoek en vervang

zoek in de huidige directory en alle subdirectories naar php bestanden en vervang daarin h4 door h5

  • for i in $(find . -name "*.php");do sed -i 's/h4/h5/g' $i ;done

Zoek verwijzingen naar niet bestaande plaatjes

  • for i in $(grep -R images css/* | awk -F images/ '{print $2}' | awk -F \) '{print $1}'| awk -F \" '{print $1}' | sort | uniq);do ls -la images/$i|grep "No such file";done

VI

verwijder alle regels naar beneden vanaf de regel waar je bent

  • d, <shift>+g

verwijder de lege regels

  • :g/^$/d

Magento

Dev omgeving opzetten

Voor het opzetten van een dev omgeving van Magento met de productieomgeving als input kun je het beste via commandline werken. Op die manier gaan de relaties tussen de MySQL tabellen niet verloren. De beschrijving hiervan is terug te vinden via Associate:Magento_method/creatie_dev_omgeving#Commandline

MagentoCleaner op commandline

  1. find . -type f -exec chmod 644 {} \;
  2. find . -type d -exec chmod 755 {} \;
  3. chmod 555 pear
  4. ./pear mage-setup
  5. ./pear install magento-community/<extension>

Unix

copy files and preserve directory structure

Een bepaalde klant wil dat een bepaalde maatwerk functionaliteit uit de site gehaald wordt. De bestanden die geraakt worden wil ik als backup opslaan.

  • maak lijstje van te kopieren bestanden
[public_html/magento_directory] grep -R "inner_image" * > inner_image.txt

Deze file bevat de resultaten van de zoekactie op bestanden waar het woord inner_image in voor komt. Een voorbeeld van het resultaat is:

app/code/local/PEAS/PEAS/Block/Rewrite/Adminhtml/Order/Item/Name.php:                            case 'inner_image':
  • bestanden kopieren naar een backupdirectory ([public_html/backup])
[public_html/magento_directory] for i in $(cat inner_image.txt | awk -F : '{print $1}' | sort |uniq);do rsync -aR $i ../backup/;done
  • resultaat is een backup van de bestanden die je wil gaan bewerken.