Обновление:
#apt-get update
Дата/Время в формате YYYY-MM-DD HH:MM
date
+
"%F %R"
либо
date
+"%Y-%m-%d
Поиск стоки в файлах
grep
-r
'строка'
*
grep
-r
"строка"
. --include=*.php
find
. -name
'файловая маска'
-
exec
grep
'строка'
{} \;
find
. -iname
'файловая маска'
-
exec
grep
'строка'
{} \;
Удалить найденные PHP файлы:
find
. -
type
f -name
"*.php"
-
exec
rm
-f {} \;
Поиск исполняемых файлов:
find
/ -iname
"*pattern*"
-perm -u+x -
type
f
Поиск файлов и сортировка по дате:
find
-
type
f -name
"*.php"
-
printf
'%T@ %p\n'
|
sort
-r
find
-
type
f -name
"*.php"
-
printf
'%T@ %p\n'
|
sort
-r |
awk
'{print $2}'
|
xargs
| ll
Рекурсивное сравнение каталогов:
diff
--recursive --brief dir1/ dir2/
Отправить письмо:
sendmail -t -i -
v
someaddress@yandex.ru -s < body.txt
,где test.txt в таком формате:
Subject: test mail
first line of my message
[blank line]
посмотреть кто и куда отсылает почту:
sudo
tcpdump -i eth0 |
grep
smtp
сгенерировать 1 пароль длиной 12 символов (sudo apt-get install pwgen):
pwgen 12 1
посмотреть список файлов в архиве:
tar
-ztvf
file
.
tar
.gz
добавить строку в рутовый файл:
echo
'строка'
|
sudo
tee
-a имя-файла
поиск файлов, котоые менялись не позднее 24/48 часов назад:
find
. -mmin -1440
find
. -
type
f -mmin -2880
Удаление ssmtp:
sudo
aptitude --purge remove ssmtp
разрешить всем чтение:
find
. -
type
d -
exec
chmod
a+rx {} \;
find
. -
type
f -
exec
chmod
a+r {} \;
чтобы работала команда ‘ll’ для всех юзеров, нужно в файл /etc/bash.bashrc добавить следующие строчки:
# some more ls aliases
alias
ll=
'ls -lh'
alias
la=
'ls -A'
замена строки в файлах:
sed
-i
's/dog/cat/'
*.txt
sed
-i
's/\/var\/run\/php-fpm\//www-/'
*
Переименовать TrackSettingsDialog.* в SelectedTrackSettingsDialog.* (опция -n показывает результат, но не переименовывает):
rename -n
's/TrackSettingsDialog\.([a-z]+)/SelectedTrackSettingsDialog\.$1/'
*
Скрипт для дублирования исходников (например a.h, a.cpp в b.h, b.cpp):
src_name=$1
dst_name=$2
unset
$1
cp
$src_name.* ~
/temp/
cd
~
/temp/
rename
"s/$src_name\.([a-z]+)/$dst_name\.\$1/"
*
cd
-
mv
~
/temp/
$dst_name.* .
Замена в файлах (-i перезаписать файл, s — substitute, g — replace global (not just one))
find
./ -
type
f -name SelectedTrackSettingsDialog.\* -
exec
sed
-i
"s/TrackSettingsDialog/SelectedTrackSettingsDialog/g"
{} \;
Добавить юзера в sudoers (/etc/sudoers — конфигурационный файл, который дает права всем юзерам из группы sudo):
sudo
usermod
-a -G
sudo
<user>
Посмотреть версию пакета в репозитории:
apt-cache policy <packageName>
Посмотреть список установленных пакетов для Ubuntu 12.04
dpkg -l
Посмотреть список запущенных сервисов/одного сервиса (+ running, — stopped, ? service managed by Upstart):
service --status-all
service SERVICENAME status
Завершить процессы grep-ом:
pgrep <pattern> |
xargs
kill
Посмотреть из какого пакета модуль:
dpkg -S `
which
gst-launch-1.0`
Количество строк в исходных файлах:
find
. -iname
"*.h"
-or -iname
"*.cpp"
|
xargs
wc
-l |
sort
-h
find
-regex
'.*/.*\.\(c\|cpp\|h\)$'
-
exec
wc
-l {} \; |
sort
-h
find
-regex
'.*/.*\.\(c\|cpp\|h\)$'
-
exec
wc
-l {} +
Суммарный размер исходных файлов:
find
-regex
'.*/.*\.\(c\|cpp\|h\)$'
-
exec
wc
-c {} + |
tail
-n 1
Найти символ в библиотеке:
nm -D somelib.so |
grep
--color SomeSymbol
Информация о процессоре:
lscpu
grep
CPU
/proc/cpuinfo
Размер каталога:
du
-sh home/
du
-h --max-depth=1
Показать диапазон строк из файла:
sed
-n
'10000000,10000020p'
filename
sed
-n
'10000000,10000020p; 10000021q'
filename
Посмотреть список открытых портов:
nmap localhost
Переименовать файлы по шаблону:
for f in *.png; do mv "$f" "$(echo " $f " | sed s/snagit/geoviewer/)" ; done |