Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

четверг, 2 апреля 2020 г.

Как найти недавно модифицированные файлы в Linux

Оригинал: How to find recently modified files on Linux
Автор: Dan Nanni
Дата публикации: 2 ноября 2012 года
Перевод: А. Кривошей
Дата перевода: январь 2014 г.

Зачастую требуется найти файлы, которые были модифицированы/созданы недавно, или за какой-либо промежуток времени. Например, администратор изменял настройки системы, но забыл, где он их сохранил. Или вы хотите проверить изменялись ли, и как, ваши файлы. Если вам необходимо найти недавно измененные файлы в linux, это можно сделать с помощью команды find.

Чтобы найти недавно модифицированные файлы, отсортированные в обратном порядке (то есть файл, измененный последним, будет показан первым), используется команда вида:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
2012-09-14 22:25:14.0000000000 /etc/shadow
2012-08-17 00:56:36.0000000000 /etc/resolv.conf
2012-08-16 23:22:57.0000000000 /etc/ld.so.cache
2012-08-16 23:22:29.0000000000 /etc/mtab
2012-08-16 23:22:04.0000000000 /etc/network/run/ifstate
2012-07-10 01:19:24.0000000000 /etc/papersize
... 

Вышеприведенная команда сортирует файлы в /etc (и поддиректориях) в обратном порядке по времени их изменения, и выводит отсортированный список вместе с их расположением в файловой системе и временем последнего изменения. Если вы также хотите проверить директории, опустите опцию "-type f".

Поиск файлов, которые были модифицированы в последние 60 минут в директории /target_directory и во всех ее поддиректориях:
$ find /target_directory -type f -mmin -60

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и во всех ее поддиректориях:
$ find /target_directory -type f -mtime -2

Поиск файлов, которые были модифицированы в последние 2 дня в директории /target_directory и ее поддиректориях глубиной до 3 уровня:
$ find /target_directory -type f -mtime -2 -depth -3

Вы также можете задать диапазон времени модификации. Поиск файлов, которые были модифицированы в последние 7 дней, но не позднее чем 3 дня назад:
$ find /target_directory -type f -mtime -7 ! -mtime -3

Все эти команды выводят только путь к найденным файлам. Вы можете также детализировать вывод информации с помощью опции "-exec".
Поиск файлов в директории /target_directory (и во всех ее поддиректориях), которые были модифицированы в последние 60 минут и вывод атрибутов файлов:
$ find /target_directory -type f -mmin -60 -exec ls -al {} \;

В качестве альтернативы вы можете использовать для этого команду xargs:
$ find /target_directory -type f -mmin -60 | xargs ls -l

Обратите внимание, что эти команды найдут также файлы, созданные в заданный промежуток времени.

суббота, 15 декабря 2018 г.

[Gopher 2] Готовим окружение для компиляции

toolchain для компиляции под i386 платформу, поэтому нужно поставить пакеты, которые позволят запустить x86 файлы на x64 машине

# sudo dpkg --add-architecture i386
# sudo apt-get update
# sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
# sudo apt-get install zlib1g:i386


----
#если у нас 64 битная система и не добавлена 32 битная система дополнительно, тогда добавим эту архитектуру и обновим список пакетов для их последующей установки 
dpkg --print-architecture | grep -qw i386 || dpkg --print-foreign-architectures | grep -qw i386 || (sudo dpkg --add-architecture i386 && sudo apt-get update)

#если эти пакеты не установлены, тогда поставим их
dpkg -l | grep -qw libc6:i386 || apt-get install libc6:i386
dpkg -l | grep -qw libncurses5:i386 || apt-get install libncurses5:i386
dpkg -l | grep -qw libstdc++6:i386 || apt-get install libstdc++6:i386
dpkg -l | grep -qw zlib1g:i386 || apt-get install zlib1g:i386

----
#!/bin/sh

# если у нас вдруг не стоит распаковщик архивов и man тоже нет (столкнулся с таким на Codenvy)
dpkg -l | grep -qw bzip2 || (sudo apt-get update && sudo apt-get -y install bzip2) 
dpkg -l | grep -qw man || (sudo apt-get update && sudo apt-get -y install man) 

tar -jxvf mipsel-linux-uclibc.tar.bz2
sudo cp -r mipsel-linux-uclibc /opt
sudo rm -r mipsel-linux-uclibc/

#если у нас 64 битная система и не добавлена 32 битная система дополнительно, тогда добавим эту архитектуру и обновим список пакетов для их последующей установки 
dpkg --print-architecture | grep -qw i386 || dpkg --print-foreign-architectures | grep -qw i386 || (sudo dpkg --add-architecture i386 && sudo apt-get update)

#если эти пакеты не установлены, тогда поставим их
dpkg -l | grep -qw libc6:i386 || sudo apt-get -y install libc6:i386
dpkg -l | grep -qw libncurses5:i386 || sudo apt-get -y install libncurses5:i386
dpkg -l | grep -qw libstdc++6:i386 || sudo apt-get -y install libstdc++6:i386

dpkg -l | grep -qw zlib1g:i386 || sudo apt-get -y install zlib1g:i386

вторник, 25 апреля 2017 г.

Получить все имена файлов, что есть на ftp

  1. lftp ftp.ingenic.cn:~> find > out
  2. ./
  3. ./2soc/
  4. ./2soc/4725B/
  5. ./2soc/4725B/JZ4725B_AN01_IO.pdf
  6. ./2soc/4725B/JZ4725B_ds.pdf
  7. ./2soc/4725B/JZ4725B_ds_20101221.pdf
  8. ./2soc/4725B/JZ4725B_ds_20110720.pdf
  9. ./2soc/4725B/RD4725_Volans/
  10. ./2soc/4725B/RD4725_Volans/hw/

воскресенье, 9 апреля 2017 г.

Brother HL-2132R linux driver

1. Устанавливаем драйвера с офф. сайта (не боимся предупреждения при установке, что источник не надёжный)

2. Идём в файл /opt/brother/Printers/BrGenML1/cupswrapper/brother_lpdwrapper_BrGenML1
комментируем там строку 565
    # ($x , $y) = &$unitfunc ( $psiz[0] ,$psiz[1]);
Добавляем другую (совершенно не уверен на что она влияет!!!, но хотя бы печатает файлы теперь)
    ($x , $y) = &pt2dot ( $psiz[0] ,$psiz[1]);

3. При добавлении принтера выбираем Provide PDD file.
указываем файл /opt/brother/Printers/BrGenML1/cupswrapper/brother-BrGenML1-cups-en.ppd

Если требуется, указываем 2 лотка для приёма бумаги.

(ВАЖНО) если какие-то режимы не будут работать, тогда дополнительно ставим Brother HL-2135 Foomatic/hl1250 (recommended)


Кое-какие данный: http://localhost:631/printers

пятница, 4 ноября 2016 г.

Разрываем tcp соединение

tcpkill
sudo tcpkill -i eth1 -9 port 54874

суббота, 29 октября 2016 г.

Нормализация звука pulseaudio

/etc/pulse/default.pa

load-module module-ladspa-sink  sink_name=ladspa_normalized  plugin=fast_lookahead_limiter_1913  label=fastLookaheadLimiter  control=14,-15,0.8

load-module module-ladspa-sink  sink_name=ladspa_sink  master=ladspa_normalized plugin=dyson_compress_1403  label=dysonCompress  control=0,1,0.5,0.99

repeat@pereulok:~$ pulseaudio -k -v
repeat@pereulok:~$ pulseaudio -D -v



воскресенье, 21 августа 2016 г.

Как запустить приложение и отвязать от консоли

Так, при закрытии консоли приложение не схлопнется.

medit somefile.lua & disown

Как узнать какое приложение использует/заняло порт

sudo netstat -tulpn | grep :80

sudo netstat -tulpn | grep dhclient

http://www.cyberciti.biz/faq/what-process-has-open-linux-port/

среда, 10 августа 2016 г.

LVM - логические тома из физически дисков

http://www.ibm.com/developerworks/ru/library/l-lvm2/index.html

четверг, 14 июля 2016 г.

screen Cannot open your terminal '/dev/pts/0' - please check

To solve the problem try running script /dev/null as the user you su to before launching screen

четверг, 24 декабря 2015 г.

Бэкап mysql из командной строки

Чтобы не светить свой пароль в консоли, поступим следующим образом:

# создадим "профиль" profile1 для подключения
pereulok:~$ mysql_config_editor set --login-path=profile1 --host=localhost --user=lfp_web --password

# используем "профиль"
pereulok:~$ mysqldump --login-path=profile1 -c -e -Q  lfp_web | gzip > $HOME/bbb/lfp_web.`date +%Y%m%d_%H%M`.sql.gz

При необходимости можно создать несколько профилей. Если создаётся уже существующий профиль, будет предложен выбор "Перезаписать?"


понедельник, 23 ноября 2015 г.

Получаем папку где находится запускаемый скрипт

#!/bin/bash
echo $(pwd)
echo $$
echo $(dirname $0 && pwd)
echo $(readlink -f $0)
echo $(dirname $(readlink -f $0))

WORKDIR=$(dirname $(readlink -f $0))

echo $WORKDIR

пятница, 13 ноября 2015 г.

Запуск screen из скрипта

screen -dmS  ScorerInSim sh -c "uptime; bash"

// -dmS ScorerInSim - после открытия сессии с именем ScorerInSim (опция -S) отсоединиться от неё, оставив работать в фоне (опция -dm).
// ; bash - не даёт сессии удалиться после выполнения uptime

суббота, 3 октября 2015 г.

Буфер обмена - копирование из файла в консоли

xclip -sel clip < ~/.ssh/id_rsa.pub

ssh вход по ключу без пароля

Все операции делаем с параметрами по-умолчанию.
Если хочется использовать специфическое название ключей:
 - задаём их при генерации (1) (не забывая прописать путь где они будут лежать);
 - при добавлении ключа агенту (2) указываем путь до него;
 - во время копирования ключа на сервер (3) используем опцию -i путь_до_ключа.

На стороне клиента

# (1) генерируем ключи

воскресенье, 2 ноября 2014 г.

VOLKSPC - переключение раскладки по горячим клавишам! [test]


Ctrl+R -> Русский/English

// устанавливаем xbindkeys (возможно понадобится ещё доустановить tcl и tk)
$ sudo apt-get install xbindkeys

// создаём файл конфигурации
$ xbindkeys --defaults > $HOME/.xbindkeysrc

открываем этот файл и добавляем туда строчки

# Examples of commands:
# US keyb
"xmodmap /usr/share/xmodmap/xmodmap_US && pkill xbindkeys | sleep 0 && xbindkeys"
release+control + Cyrillic_ka
# RU keyb
"xmodmap /usr/share/xmodmap/xmodmap_RU && pkill xbindkeys | sleep 0 && xbindkeys"
release+control + r
запускаем в консоли xbindkeys (прописываем в автозагрузку /etc/rc.local)

profit!


Одна команда для переключения между языками

xmodmap -pk | grep -q "Cyr" && xmodmap /usr/share/xmodmap/xmodmap_US || xmodmap /usr/share/xmodmap/xmodmap_RU

суббота, 1 ноября 2014 г.

CANON S1 IS удалённое управление с компьютера


$ gphoto2 --port usb: --abilities

$ gphoto2 --port usb: --list-all-config

Кол-во опций конфига отличается для выдвинутого и задвинутого объектива

// задвинуть объектив
$ gphoto2 --port usb: --set-config /main/settings/capture=0

// выдвинуть объектив
$ gphoto2 --port usb: --set-config /main/settings/capture=1

вторник, 29 октября 2013 г.

com port молчит в linux

Иногда com port вовсе не выдаёт то, что ожидается. И ведь на самом деле там что-то есть, но он молчит. Это бывает очень плачевно, когда ты что-то отлаживаешь или проверяешь. Так у меня и случилось, только я уже знал наверняка, что что-то мне в порт приходит, но я этого не вижу. проблема решилась следующим образом:

repeat@pereulok:~$ sudo chmod 666 /dev/ttyUSB0 ;  тут у меня в качестве девайса переходник USB-COM, ставлю ему права на чтение запись

repeat@pereulok:~$ stty -F /dev/ttyUSB0 115200 icrnl -parity -icanon min 1 time 5
icrnl - нужно чтобы переносились строки
min 1 - минимальное кол-во данных для приёма
time 5 - время ожидания данных в 1/10sec

Ну и читаем дальше с порта
repeat@pereulok:~$ cat /dev/ttyUSB0
или
repeat@pereulok:~$ hexdump -C -v /dev/ttyUSB0

среда, 23 октября 2013 г.

x11vnc on xubuntu

sudo apt-get install x11vnc

x11vnc -storepasswd

в /etc/init/x11vnc.conf
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -forever -noxrecord -noxfixes -rfbauth /home/USER/.vnc/passwd

или попробовать это:
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -forever -noxrecord -noxfixes -usepw

вторник, 8 октября 2013 г.

Изменение размера файла образа img без переустановки системы

Чтобы увеличить размер файла образа для Linux Deploy нужно сначала расширить существующий образ, а затем расширить файловую систему до нового размера. Например, чтобы увеличить образ на 3000 МБ нужно выполнить следующее:
dd if=/dev/zero bs=1048576 count=3000 >> /mnt/sdcard/linux.img
e2fsck -f /mnt/sdcard/linux.img
resize2fs /mnt/sdcard/linux.img
Предварительно нужно обязательно сделать резервную копию образа.

source