Grep – przydatne komendy

  • Wyszukiwanie wszystkich plików w folderze zawierających tekst. Wyszukiwanie w określonych typach plików:
    grep -rl --include="*.php" 'tekst' folder/
    
  • Wyszukiwanie tekstu w pliku z prezentacją linii:
    grep -nr 'tekst' plik.php
    
  • Masowa zamiana tekstu we wszystkich plikach z danym rozszerzeniem w folderze.
    Można także wybrać pliki pod kątem jednego tekstu, a pozamieniać inne. Odsyłam do ‘man sed’.

    grep -rl --include="*.php" 'tekst1' folder/ | xargs sed -i 's/tekst1/tekst2/g'
    

Odnajdywanie sieci Windows (Vista, 7)

Jeśli występują problemy z wyszukiwaniem komputerów w sieci, należy upewnić się, że następujące usługi w systemie są odpowiednio skonfigurowane:

  • Klient DNS
  • Publikacja zasobów odnajdowania funkcji
  • Odnajdywanie SSDP
  • Host urządzenia UPnP

Oraz:

  • serwer
  • rozpoznawanie sieci NLA

Włączyć te usługi najszybciej jest za pomocą następujących poleceń (uruchamianych w konsoli z uprawnieniami administracyjnymi):

sc config dnscache start= demand
sc config fdrespub start= demand
sc config ssdpsrv start= demand
sc config upnphost start= demand

sc config lanmanserver start= auto
sc config nlasvc start= auto

Zamiast “demand” można dać “auto”, byle nie “disabled”.

Walidacja adresu email, numeru pesel, numeru telefonu w Javascript i PHP

Krótkie i przydatne funkcje walidacji. Opierają się na wyrażeniach regularnych. Odmiany funkcji w Javascript i PHP są w pełni zgodne, to znaczy że dadzą taką samą odpowiedź.

UWAGA! Przygotowałem ulepszone funkcje, które dostępne są tutaj.

1.Walidacja adresu e-mail:

Kod PHP:

function validateemail($email) {
	$reg = '/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/';
	return preg_match($reg, $email);
}

Kod Javascript:

function validateemail(email) {
	var reg = '/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/';
	if(!reg.test(email))
		return false;
	else
		return true;
}

2.Walidacja numeru PESEL:

Kod PHP:

function validatepesel($pesel) {
	$reg = '/^[0-9]{11}$/';
	return preg_match($reg, $pesel);
}

Kod Javascript:

function validatepesel(pesel) {
	var reg = '/^[0-9]{11}$/';
	if(!reg.test(pesel)) 
		return false;
	else
		return true;
}

3.Walidacja numeru telefonu:

Kod PHP:

function validatetel($tel) {
	$reg = '/^[0-9\+]{8,13}$/';
	return preg_match($reg, $tel);
}

Kod Javascript:

function validatetel(tel) {
	var reg = '/^[0-9\+]{8,13}$/';
	if(!reg.test(tel)) 
		return false;
	else
		return true;
}

Klucze SSH i ‘server refused our key’

Rozwiązanie problemu, gdy wygenerowaliśmy parę kluczy za pomocą PuttyGen, a mimo wrzucenia klucza publicznego na serwer dalej nie chce wejść i wyświetla komunikat:
server refused our key

  1.  Przygotuj odpowiednio klucz publiczny. Oto postać z PuttyGen:
    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "rsa-key-20121112"
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZ
    X6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/J
    HKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJ
    aM1LiNE=
    ---- END SSH2 PUBLIC KEY ----
  2. Usuń dwie pierwsze oraz ostatnią linie:
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZ
    X6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/J
    HKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJ
    aM1LiNE=
  3. Połącz pozostałe linie w jedną:
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZX6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/JHKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJaM1LiNE=
  4. Dopisz na początku ssh-rsa
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZX6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/JHKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJaM1LiNE=
  5. Umieść taką linijkę w pliku ~/.ssh/authorized_keys. Zwykle to będzie jedyna jego zawartość.
  6. Nadaj plikowi odpowiednie uprawnienia:
    chmod 600 authorized_keys
  7. Nadaj folderowi .ssh odpowiednie uprawnienia:
    cd ..
    chmod 700 .ssh
  8. To wszystko. Teraz powinno już śmigać. Testowane na popularnym hostingu D2.pl. Na hostingu Az.pl nie ma problemu, bo panel administracyjny umożliwia stworzenie kluczy, i wszystko działa od razu.

rm: cannot remove `plik’: Permission denied

Dzisiaj zdarzył mi się taki przypadek:

Dotychczas uważałem linuksowe polecenie rm zwłaszcza pod postacią

rm -rf

jako bezwzględne. Tymczasem dzisiaj taka niespodzianka:

rm: cannot remove `plik': Permission denied

Sprawdzam właściciela pliku za pomocą

ls -la

jednak wszystko się zgadza; także uprawnienia są OK. Na wszelki wypadek:

chmod 777 plik

Jednak nic nie pomaga. Co się okazuje? Do usunięcia pliku nie wystarczą same uprawnienia do niego, ale także odpowiednie do katalogu, w którym się znajduje. Ustawienie odpowiednich uprawnień dla nadrzędnego folderu załatwiło sprawę.

Natychmiastowe przekierowanie na inną stronę za pomocą PHP

Ten krótki skrypt pozwoli przekierować osobę pod inny adres:

<?php
header("Location: http://redirect-page.com/");
?>

Plik z rozszerzeniem .php zawierający ten kod zapisujemy w odpowiednim miejscu na serwerze.

Uwaga! Plik nie może zawierać innych znaków poza obszarem znaczników php.
Przekierowanie jest praktycznie natychmiastowe.

BSOD Przez wtyczkę Adobe Flash na komputerach z kartą graficzną od nVidia

Jeśli podczas grania w gry internetowe lub oglądania filmów na Youtube wyświetli się niebieski ekran, to rozwiązanie może pomóc. Problem dotyczy tylko niektórych przypadków i nie zdarza się zawsze. Jest on spowodowany jakąś tajemniczą niezgodnością pomiędzy wtyczką Adobe flash a sterownikami kart graficznych nVidia. Należy więc wyłączyć akcelerację sprzętową wtyczki:
1. Odwiedź dowolną stronę z obiektem flash, na której nie zdarzyła Ci się awaria, np. http://www.adobe.com/software/flash/about/
2. Kliknij prawym przyciskiem myszy na obiekt flash (animację), z menu wybierz “Ustawienia…”
3. Na pierwszej zakładce odznacz opcję “Włącz przyspieszanie sprzętowe”.
4. Przetestuj ustawienia.

Porada nie daje 100% pewności, ale jest ona łatwa i nieinwazyjna, poza tym nie są znane inne sposoby na ten poważny problem. Być może w kolejnych aktualizacjach wtyczki lub sterowników zostanie to naprawione. Usterka jest znana w systemie Windows XP.

Żarty informatyczne

Przedstawiam Wam programy służące do robienia dowcipów innym osobom korzystającym z komputera. Nie są to wirusy, nie kasują żadnych plików, nie rozprzestrzeniają się, ani nie są szkodliwe po wyłączeniu. Każdy z tych niewielkich programów wykonuje zamieszczoną w opisie czynność. Nie posiadają one żadnego widocznego okna, więc aby je zamknąć należy użyć managera zadań (Ctrl+Alt+Del), zakładka “procesy”. Programy zostały napisane w Delphi, działają na systemach Windows od 98 do Windows 7. Nie wymagają uprawnień administracyjnych. Programy udostępniam na licencji GNU GPL, kody źródłowe mogę przesłać zainteresowanym

zarty_informatyczne_full.zip – Pobierz wszystkie programy-żarty na raz!

  1. klikacz – Program w losowych odstępach czasu wywołuje kliknięcia w różnych miejscach na ekranie.
  2. SwapMouseRandom – Program w losowych odstępach czasu zamienia przyciski myszy: lewy z prawym i na odwrót.
  3. StartRestore – Program naprawiający “szkody” po uruchomieniu programów StartMoverAuto oraz StartMover.
  4. StartMoverAuto – Program w losowych odstępach czasu przemieszcza przycisk “Start” na pasku zadań.
  5. StartMover – Program po najechaniu kursorem na przycisk “Start” przesuwa go w losowe miejsce na pasku zadań.
  6. Mychamagnesik – Program powoduje “silne przyciąganie” kursora myszki do losowego punktu na ekranie.
  7. GradientDesk – Program w losowych odstępach czasu “zamalowuje” pulpit gradientem.
  8. FlashPoint – Program miga diodami klawiatury.
  9. Convultor – Program wywołuje “konwulsje” otwartych okien pulpitu.
  10. CDMachacz – Program co chwila wysuwa oraz wsuwa tackę napędu optycznego. Program niezbyt dobrze funkcjonuje na laptopach.
  11. Brzeczyk – Program wywołuje losowe dźwięki z komputera.

Milej zabawy! 🙂

Neverhood na Windows 7

Pewnie nie tylko ja lubię sobie pograć w klasyki gier. Do tej kategorii zalicza się również gra Neverhood. Oryginalnie została ona wydana pod system Windows 95, co prawie na pewno oznacza kłopoty z uruchomieniem jej na nowoczesnym sprzęcie i oprogramowaniu. Gra po zainstalowaniu uruchamia się, ale ma duże kłopoty z kolorami:

Nie wystarczają tu jedynie sztuczki z zakładką “Zgodność”. Aby w pełni cieszyć się grą, należy pobrać te oto archiwum:
WAVistaWin7
Znajdujący się w nim program wypakowujemy do katalogu z zainstalowaną grą. Teraz zmieniamy nazwę pliku gry z

nhc.exe

na

wa.exe

Po czym klikamy prawym klawiszem myszy na ten plik, wybieramy “Właściwości” -> zakładka “Zgodność” i ustawiamy następujące opcje:

  • Uruchom ten program w trybie zgodności z: Windows 95
  • Uruchom w 256 kolorach

I to wszystko. Grę uruchamiamy za pomocą programu “WAVistaWin7.exe”. Proponuję więc umieścić do niego skrót np. w Menu Start.

Miłej zabawy w plastelinowym świcie!

Naprawa niepoprawnych nazw plików

Dziś zauważyłem, że w katalogu “Pobrane” znajdują się pliki, które w nazwie, za rozszerzeniem, posiadają znak spacji. Plików takich nie dało się usunąć ani poprzez Explorera, ani Total Commanderem Za każdym razem wyskakiwał komunikat o nieznalezieniu pliku. Rozwiązaniem problemu okazał się darmowy program DirectoryFixer
Program działa w linii komend, przyjmując jako parametr folder zawierający uszkodzone nazwy plików. Uruchamianie interpretera poleceń je było jednak konieczne, wystarczyło przeciągnąć folder na ikonkę z programem. Po chwili ukazało się czarne okno konsoli, należało wprowadzić słownie wielkimi literami “YES”, a po chwili nazwy zostały poprawione.