Разбить:
split -b 2000M big.tar "big.tar.part_"
Собрать:
cat big.tar.part_* > big.tar
Разбить:
split -b 2000M big.tar "big.tar.part_"
Собрать:
cat big.tar.part_* > big.tar
cat file.log | grep "^\[2020-11-30" > file-2020-11-30.log
grep -rl $'\xEF\xBB\xBF' filename
Добавить в начало скрипта:
set -euxo pipefail
Что всё это значит:
set -e
set -e
- прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true
.
set -u
set -u
- прекращает выполнение скрипта, если встретилась несуществующая переменная.
set -x
set -x
- выводит выполняемые команды в stdout перед выполненинем.
set -o pipefail
set -o pipefail
- прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand вернёт ошибку, не смотря на true в конце пайплайна: mycommand | true
.
В контейнере localhost и 127.0.0.1 ведет к самому себе, а не к хосту на котором запущен докер, что логично. Доступиться к хосту можно, указав специальное DNS имя:
host.docker.internal
Добавить перед любой командой слово time
, например:
time php console.php import
wget https://git.io/vpn -O openvpn-install.sh
bash openvpn-install.sh
mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'
Пример ответа:
cd -
Подключаем компонент:
composer require symfony/cache
require_once __DIR__ . '/vendor/autoload.php';
// создаём объект для управления кешом в файлах
$cache = new FilesystemAdapter(
// поддиректория в папке кеша
'mySubDirectoryName',
// время жизни кеша по умолчанию
86400,
// путь к папке кеша
__DIR__ . '/cache'
);
// ключ кеша
$cacheKey = 'testKey1';
// получаем по этому ключу данные из кеша
$value = $cache->get(
$cacheKey,
// если актуального кеша нет, то выполнится этот callable:
function () {
// тут мы получаем данные без кеша,
// и отдаём их в return,
// после этого данные сохранятся в кеш
$value = rand();
return $value;
}
);