Кратки съвети

Тук може да намерите полезни съвети и примери за много ситуации.

 

1 2 3 4 5 6

Добавяне на публичният ключ към authorized_key файла на отдалечен хост с един ред

cat ~/.ssh/id_rsa.pub | ssh hostname "cat >> ~/.ssh/authorized_keys"

Rsync по ssh на нестандартен порт

Ако използвате rsync през ssh, за да се свързвате със сървър на различен от стандартния порт, например 555 вместо 22, използвайте следния формат:

rsync -a -e "ssh -p 555" rsyncuser@remoteserver:/data/to/sync /archive/

Повече за rsync

Монтиране на споделена директория от Windows в Linux

Да приемем, че Windows ресурса се намира в \\otherhost\share и искаме да го монтираме в /mnt/winshare, като използваме user/pass за да го достъпим. Тогава:

mkdir /mnt/winshare

mount -t smbfs -o username=user,password="pass" //otherhost/share /hmnt/winshare

или

mount -t cifs -o username=user,password="pass" //otherhost/share /hmnt/winshare

Копиране на изхода на команда в Windows директно в клипборда

Командния ред на windows има много недостатъци. Един много дразнещ е, че пренася дългите редове. Това прави копирането от него доста неприятно, тъй като редовете трябва да се залепят на ръка. Ето как да се копира изхода директно в клипборда: просто се добавя
| clip 
накрая. Например:
netstat -an | clip
След това текста може да се пейстне в който и да е текстов редактор.

Свързване към конзолната сесия на Windows 2003 Server

За да се свържете към конзолната сесия на Windows Server чрез Remote Desktop, добавете опцията /console:
mstsc /console
Това е полезно при проблеми от типа "terminal server has exceeded max number of allowed connections" - дава ви допълнителна сесия, чрез която да правите нещата.

HTTP хедъри за предотвратяване на кеширането на страницата от браузъра

<?php
    header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
    header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
    header( 'Cache-Control: no-store, no-cache, must-revalidate' );
    header( 'Cache-Control: post-check=0, pre-check=0', false );
    header( 'Pragma: no-cache' );
?>

Добавяне на дата към всеки изведен ред

Представете си следната ситуация: пишете програма или скрипт, която извежда нещо на конзолата. Точно когато всичко е почти готово, осъзнавате че се нуждаете от точното време, в което всяко съобщение е изведено. Например искате да знаете по колко време отнема архивирането на домашната директория на всеки потребител. Едно решение е да заместите навсякъде в кода всяка команда за изход с подобрен еквивалент, който извежда и времето. Ето един много по-мързелив начин да се направи това само с един ред на bash:
 
> ./your_program | while read line; do stamp=`date`; echo "$stamp $line"; done
 
Пробвайте това:
 
> du -sc /home | while read line; do stamp=`date`; echo "$stamp $line"; done

1 2 3 4 5 6