Comments 126
Создать пустой файл:
Создать файл с текстом:
> <file>
=echo "" > <file>
=tee <file>
ctrl+D
Создать файл с текстом:
cat > <file>
<text>
ctrl+D
=echo "<text>" > <file>
=tee <file>
<text>
ctrl+D
+6
Пустой файл можно создать командой touch.
+53
[зануда]
echo -n "" > <file>
илиecho -n > <file>
[/зануда]+12
Юмора ради, — вариант через Ж (не во всех *sh, но работает):
/dev/ass > /tmp/shit
-5
как вариант
cp /dev/null [filename]
cp /dev/null [filename]
0
не сработает — получится или блочное устройство-копия /dev/null (под рутом) или сфейлит (под юзером).
0
А Вы попробуйте? Получается вполне регулярный пустой файл. По крайней мере под Debian 6 и MacOS.
+1
zsh, debian sid:
kom@ideacat ~ % cp /dev/null ll
cp: cannot create special file 'll': Operation not permitted
+1
Интересно… Под zsh на 6.0.7 под обычным пользователем у меня то же проблем нет. А можете попробовать так: /bin/cp /dev/null ll?
+1
Перепробовал все шеллы, которые стояли, получается пустой файл. Чини шелл ;)
0
Не получается только тогда, когда передаю
-r
, то есть recursive. Может, у тебя где-то в alias запихано?+1
Иногда нужно создать файл определённого размера. Вот варианты:
Уверен, что можно придумать ещё много.
dd if=/dev/zero of=file.txt bs=1G count=1
truncate -s 1g file.txt
fallocate -l 1g file.txt
mkfile 1024m file.txt
Уверен, что можно придумать ещё много.
+1
Вопрос: какой из этих методов создаст файл, реально занимающий заданный размер, а какой — т.н. «разреженный» (sparse) файл?
0
Первый точно. Только надо bs=1M count=1000
+2
Тыкайте в русскую версию приведенной Вами вики странички ;)
+1
Почитайте здесь: coding-journal.com/restoring-your-unix-system-after-rm-rf/
+1
Как ни странно, самую интересную и информативную ссылку по теме заминусовали. Статья описывает восстановление системы после частичной потери корневого каталога и смонтированных в нём файловых систем. Автору удалось залить uuencoded tar бинарник на повреждённую систему через терминал, собрать его обратно в исполняемый вид с помощью echo и base64, а потом восстановить систему с резервов. На мой взгляд, восхитительно.
+6
Бесспорно, интересно. А причем тут оно?
0
Я посчитал, что текст по ссылке наиболее точно отражает ситуацию описанную автором. Правда удалили не один файл, а почти весь корень.
«Но вот представьте, что возникает ситуация, когда кто-то нечаянно, по глупости или из нехороших побуждений удалил исполнимый файл, который являлся бинарным файлом какой-то команды, которой вы более или менее часто пользовались. И что тогда делать?»
«Но вот представьте, что возникает ситуация, когда кто-то нечаянно, по глупости или из нехороших побуждений удалил исполнимый файл, который являлся бинарным файлом какой-то команды, которой вы более или менее часто пользовались. И что тогда делать?»
0
>Создать пустой файл
touch
>Добавление пользователя в группу
gpasswd
>Удаление файла
unlink, rm, find. -name file -delete
touch
>Добавление пользователя в группу
gpasswd
>Удаление файла
unlink, rm, find. -name file -delete
+6
У меня как-то возникала ситуация, когда нечаянно, по глупости ввел chmod -R 644 /.
И тут уже ни одна другая команда не помогла :) Всегда Permission denied (в том числе при входе по ssh).
И тут уже ни одна другая команда не помогла :) Всегда Permission denied (в том числе при входе по ssh).
+4
А я как-то набрал sudo rm -rf ./*, но потерял в точку, опомнился через пару минут, когда подумал что долго удаляет, хорошо что только системные папки потереть немного успело, до хома не дошло =)
-2
А вот скажите, почему было не использовать rm -rf *? И не ошибешься, и набирать меньше.
+5
я вместо rm /dir1/dir2/dir3/* набрал rm /dir1/dir2/dir3 /*
под рутом. Спасло то, что без -r, довольно легко удалось востановить систему (не linux)
под рутом. Спасло то, что без -r, довольно легко удалось востановить систему (не linux)
0
Так это вы писали установщик драйверов под нвидию.
+7
чесно говоря — не понял коментария
0
Не совсем драйвера, память меня подвела: github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac
Осторожно! Открытие этой страницы может повесить браузер из-за кол-ва комментариев на ней.
Осторожно! Открытие этой страницы может повесить браузер из-за кол-ва комментариев на ней.
+1
Если у вас система не настроена пароноидально, то:
cp /bin/ls /tmp/chown
cat /bin/chown > /tmp/chown
/tmp/chown +x /bin/chown
rm /tmp/chown
cp /bin/ls /tmp/chown
cat /bin/chown > /tmp/chown
/tmp/chown +x /bin/chown
rm /tmp/chown
0
useradd $username; mkdir /home/$username; chown $username:$username /home/$username; passwd $username
я понимаю, что *nix-way, но зачем так извращаться над простой командой?
PS в арче мейнтейнеры сказали, то adduser не нужно. И удалили из реп.
+2
А я как-то удалил /usr/bin =(
+1
Всегда нужно держать под рукой загрузочный диск/флешку (например SystemRescueCd), busybox в нескольких директориях тоже не повредит. А вообще странно выглядит ситуация, случайно удалить ifconfig или passwd, под рутом? Для работы с пользователями всегда можно vi /etc/passwd и потом pwconv. Ну и бэкапы, они рулят!
0
Согласен насчет busybox'а.
Вообще есть еще одно отличное средство — жесткие ссылки на все необходимые системные файлы, размещенные в труднодоступной директории. Тогда при удалении этих файлов содержимое останется и будет доступно по другому имени файла, плюс экономия дискового пространства.
Загрузочный диск/флэшка при удаленных системах неприменимы.
А хорошие PHP-разработчики, например, бывает иногда делают весьма странные вещи, в результате которых что-то нужное пропадает. Перенаправление с пайпом перепутают, например.
И бэкапы — это да, это наше всё. Как говорится, есть две категории людей — те, кто не делает бэкапы, и те, кто уже делает.
Иногда просто быстрее сделать действие другой командой, чем восстанавливать бэкап, особенно если последний полный был 7-10 инкрементальных назад.
Вообще есть еще одно отличное средство — жесткие ссылки на все необходимые системные файлы, размещенные в труднодоступной директории. Тогда при удалении этих файлов содержимое останется и будет доступно по другому имени файла, плюс экономия дискового пространства.
Загрузочный диск/флэшка при удаленных системах неприменимы.
А хорошие PHP-разработчики, например, бывает иногда делают весьма странные вещи, в результате которых что-то нужное пропадает. Перенаправление с пайпом перепутают, например.
И бэкапы — это да, это наше всё. Как говорится, есть две категории людей — те, кто не делает бэкапы, и те, кто уже делает.
Иногда просто быстрее сделать действие другой командой, чем восстанавливать бэкап, особенно если последний полный был 7-10 инкрементальных назад.
0
Загрузочный диск/флэшка при удаленных системах неприменимы.Однажды (когда ещё source control системы были мало распространены, да и вообще очень плохо работали с большими бинами) мне очень пригодилась e2undel — получилось полностью восстановить новый файл, случайно удалённый художником на samba-шаре (бэкапы делаю ночью, он туда ещё не успел).
Как говорится, есть две категории людей — те, кто не делает бэкапы, и те, кто уже делает.В самое яблочко!
Иногда просто быстрее сделать действие другой командой, чем восстанавливать бэкап, особенно если последний полный был 7-10 инкрементальных назад.Размер бэкапа самой системы такой маленький (~2GB), а современные носители такие большие, что ИМХО, можно не заморачиваться, и держать рядышком загрузочную копию рабочей системы, а ночью mount-rsync-umount.
+1
ip addr = ip a
и
ip route = ip ro (ну и ip ru до кучи)
А вот за route -e и route -C я вам от всей души благодарен. Не знал.
и
ip route = ip ro (ну и ip ru до кучи)
А вот за route -e и route -C я вам от всей души благодарен. Не знал.
+1
Может быть не совсем подходит, но в качестве альтернативы можно использовать:
Останов системы:
=
=
Вывод архитектуры компьютера:
=
Перезагрузка:
=
Вывод дерева директорий:
=
Проверка файловой системы:
=
Останов системы:
shutdown -h now
=
init 0
=
telinit 0
Вывод архитектуры компьютера:
arch
=
uname -m
Перезагрузка:
shutdown -r now
=
reboot
Вывод дерева директорий:
tree
=
lstree
Проверка файловой системы:
fsck.msdos
=
dosfsck
+1
Еще
reboot
=
init 6
reboot
=
init 6
0
fsck.msdos это симлинк на dosfsck
0
shutdown -h now
=
halt -p
=
halt -p
0
Фигня эта ваша перезагрузка через shutdown. Если диск отвалился или рут на сдохшем nfs'e, то спасёт только magic sysrq:
Там ещё много интересных плюшек.
echo b > /proc/sysrq-trigger
Там ещё много интересных плюшек.
+8
poweroff
+1
Перезагрузка:
shutdown -r now
=
reboot
Я не знаю, как под линуксами, но, насколько я помню, под фрёй эти две команды отличаются. Отличаются не результатом, а процедурой выполнения: первая попытается, так сказать, культурно завершить все процессы, используя rc.d скрипты (init.d в понимании линуксов) и далее перезагрузка, вторая — пошлёт всем SIGTERM, после чего SIGKILL для непонятливых процессов, и перезагрузка. Например, это может быть критично для «задумчивых» процессов, которые по SIGTERM не очень оперативно шатдаунятся.
+2
последний момент (с fsck) сильно зависит от файла.
Очень часто dosfsck это симлинк на fsck.msdos.
Очень часто dosfsck это симлинк на fsck.msdos.
0
halt
0
позанудствую)
Это у вас perl way: «There's more than one way to do it».
*nix way о другом)
Это у вас perl way: «There's more than one way to do it».
*nix way о другом)
+5
Философия UNIX (*nix-way) предполагает наличие большого количества простых программ для выполнения простых действий, а результаты работы можно передавать между разными программами через потоки.
У меня *nix-way об этом.
А несколько способов — это как одни эти самые простые действия заменить на другие.
0
usermod -G не добавит в группу, а заменит все дополнительные группы пользователя на список groupname. Чтоб было так, как Вы хотите, должно быть
usermod -aG <groupname> <username>
-G, --groupsГРУППА1[, ГРУППА2,...[, ГРУППАN]]]
A list of supplementary groups which the user is also a member of.
Each group is separated from the next by a comma, with no
intervening whitespace. The groups are subject to the same
restrictions as the group given with the -g option.
If the user is currently a member of a group which is not listed,
the user will be removed from the group. This behaviour can be
changed via the -a option, which appends the user to the current
supplementary group list.
+6
ls ещё можно заменить на «echo *»
+3
2) Просмотр таблицы маршрутовcat /proc/net/route
3) Просмотр списка сетевых интерфейсовcat /proc/net/dev
ls /sys/class/net
10) Создание жесткой ссылкиlink file_name link_name
+1
Касательно п. 1 можно еще использовать
Что же касается остального… Почти все указанные утилиты входят в так называемый core пакет — пакет базовых утилит системы. Поэтому, например, если у вас кто-то (?) удалит cat хотя-бы, то практически ни один скрипт инициализации системы работать не будет. Вывод, я думаю ясен.
Про утилиту ip, netstat, ifconfig — ip входит в состав пакета iproute, все остальные используют этот пакет.
Если его удалить из системы, сетевой стек вообще никак не поднимется. Ifconfig даже в Debian не рекомендуется к использованию.
Касательно adduser — он практически не используется — useradd из core делает все одной командой.
Там выше еще было про выключение. Скажу сразу — отмирает. Все новые версии дистрибутивов переходят на systemd — там все по-другому. Да, Debian тоже уйдет туда — выхода другого нет, нарушится связь пакетов. Впрочем, в новоиспеченной 7 уже намекнули на него в /etc.
Напоследок насчет случайного удаления.
Для того, чтобы что из указанного удалить, нужно иметь права root. Такие права имеет только администратор системы. Или пользователь из группы wheel, который, соответственно имеет доступ к root через sudo.
Если администратор позволяет присутствовать в системе sudo — гнать надо поганой метлой!
Если администратор позволил себе удалить что-то из указанного, тогда не спасет, но может помочь получить моральную компенсацию потчевание виновника КАНДЕЛЯБРОМ.
Впрочем, от восстановления, трудного и неприятного, это не спасет.
Простая переустановка пакетов здесь тоже не поможет. В силу специфики системы.
Поставил-бы плюсик, да кармы не хватает.
$ sed = filename | sed 'N;s/\n/\t/'
Что же касается остального… Почти все указанные утилиты входят в так называемый core пакет — пакет базовых утилит системы. Поэтому, например, если у вас кто-то (?) удалит cat хотя-бы, то практически ни один скрипт инициализации системы работать не будет. Вывод, я думаю ясен.
Про утилиту ip, netstat, ifconfig — ip входит в состав пакета iproute, все остальные используют этот пакет.
Если его удалить из системы, сетевой стек вообще никак не поднимется. Ifconfig даже в Debian не рекомендуется к использованию.
Касательно adduser — он практически не используется — useradd из core делает все одной командой.
Там выше еще было про выключение. Скажу сразу — отмирает. Все новые версии дистрибутивов переходят на systemd — там все по-другому. Да, Debian тоже уйдет туда — выхода другого нет, нарушится связь пакетов. Впрочем, в новоиспеченной 7 уже намекнули на него в /etc.
Напоследок насчет случайного удаления.
Для того, чтобы что из указанного удалить, нужно иметь права root. Такие права имеет только администратор системы. Или пользователь из группы wheel, который, соответственно имеет доступ к root через sudo.
Если администратор позволяет присутствовать в системе sudo — гнать надо поганой метлой!
Если администратор позволил себе удалить что-то из указанного, тогда не спасет, но может помочь получить моральную компенсацию потчевание виновника КАНДЕЛЯБРОМ.
Впрочем, от восстановления, трудного и неприятного, это не спасет.
Простая переустановка пакетов здесь тоже не поможет. В силу специфики системы.
Поставил-бы плюсик, да кармы не хватает.
-6
>> Если администратор позволяет присутствовать в системе sudo — гнать надо поганой метлой!
Можно не пользоваться sudo пока ты один администратор в системе. Потом уже начнаются проблемы.
Можно не пользоваться sudo пока ты один администратор в системе. Потом уже начнаются проблемы.
+1
С sed целый список есть.
Насчёт удаления: бывают случаи, когда выходит из строя дисковая система и нужно срочноспасаться бегством что-то сделать. Такие штуки больше для этиз случаев, а не для «юзеры удаляют системные бинарники? не переживайте, у нас всё равно много способов сделать нужные вещи» (:
и про sudo: я правильно понимаю, что по вашему мнению его вообще не должно быть в системе? ( или всё таки быть должно, но должно быть корректно настроено? )
ps. ну и magic sysrq будет работать независимо от загрузки systemd/inetd/whateverd. (:
Насчёт удаления: бывают случаи, когда выходит из строя дисковая система и нужно срочно
и про sudo: я правильно понимаю, что по вашему мнению его вообще не должно быть в системе? ( или всё таки быть должно, но должно быть корректно настроено? )
ps. ну и magic sysrq будет работать независимо от загрузки systemd/inetd/whateverd. (:
+1
А чем Вас sudo не устроил? Вы из под root учетки все делаете?
0
Я делаю в root то, что нужно делать в root. И в Arch, и в Debian. Если нужно быстро —
Т.е. в sudo есть сохранение сеанса, в течение этого времени можно зайти без пароля. Теоретически можно использовать.
$ su - 'command'
Сеанс закрывается сразу, никаких задержек, как по умолчанию в sudo, нет.Т.е. в sudo есть сохранение сеанса, в течение этого времени можно зайти без пароля. Теоретически можно использовать.
-1
То есть на локалхосте который вы админите всего один админ и потребности в sudo не возникает. А еще, судя по всему, у вас пользователи имеют пароли. Хм, вы вообще слышали о безопасности-то?
+1
И это единственная причина по которой надо в «поганой метлой гнать» админа использующего sudo?
Кстати наш коллега написал статью, рекомендую к ознакомлению su или sudo
Кстати наш коллега написал статью, рекомендую к ознакомлению su или sudo
0
Когда на сервере рут только Вы, sudo — имхо излишен. В нем из-за его сложности уязвимостей больше, чем в su нашли последнее время. sudo хорош на десктопной машине для рядового пользователя. Вот насчет группы системных администраторов — не знаю. Я всегда один :-(
0
Это так же как и про бэкапы, есть те, кто ещё не использует sudo и те, кто уже использует.
Без sudo привыкаешь сидеть под рутом. А сиденье под рутом чревато «ой, почему оно вставилось, а я хотел только скопировать?!» в то время, когда пытаешься скопировать с экрана терминала пару нужных строк.
Без sudo привыкаешь сидеть под рутом. А сиденье под рутом чревато «ой, почему оно вставилось, а я хотел только скопировать?!» в то время, когда пытаешься скопировать с экрана терминала пару нужных строк.
0
После вот такого — sudo мне использовать на боевых серверах совсем расхотелось.
И (не)привычка сидеть под рутом — дело внутренней культуры. Я никогда sudo не пользовался, но под рутом работать так и не привык, даже неуютно как-то.
А копировать с терминала лучше всего вбив # в приглашение shell'а.
И (не)привычка сидеть под рутом — дело внутренней культуры. Я никогда sudo не пользовался, но под рутом работать так и не привык, даже неуютно как-то.
А копировать с терминала лучше всего вбив # в приглашение shell'а.
0
> После вот такого — sudo мне использовать на боевых серверах совсем расхотелось.
На сколько я понимаю суть уязвимости сводится к тому, что если пользователь может использовать sudo и имеет права на установку даты в системе, то он может единожды набрав пароль для sudo больше его не набирать. Во-первых — это не так уж и страшно, во-вторых — уязвимости находят каждый день (в том числе я в ядре), просто нужно чаще обновляться.
> А копировать с терминала лучше всего вбив # в приглашение shell'а.
сработает только если всего одну строку копируете, но если несколько
На сколько я понимаю суть уязвимости сводится к тому, что если пользователь может использовать sudo и имеет права на установку даты в системе, то он может единожды набрав пароль для sudo больше его не набирать. Во-первых — это не так уж и страшно, во-вторых — уязвимости находят каждый день (в том числе я в ядре), просто нужно чаще обновляться.
> А копировать с терминала лучше всего вбив # в приглашение shell'а.
сработает только если всего одну строку копируете, но если несколько
0
Если администратор позволяет присутствовать в системе sudo — гнать надо поганой метлой!
А как должна быть организована работа отдела администраторов? Интересуюсь с целью повышения квалификации :)
+1
Имелось ввиду sudo для некоторых пользователей. Хотя, работа отдела администраторов должна быть жестко увязана с работой отдела безопасности. И тут есть много механизмов обойтись без sudo. Расписывать здесь нет смысла. Все равно я против sudo в системе. Иногда это даже спасает от необдуманных действий.
-1
P.S. А у вас в отделе все по простому?
А так я уже видел спецов из уважаемых учреждений. И вот результат работы их админисраторов (это не опечатка).
Взлом сайта Верховной Рады Украины
А так я уже видел спецов из уважаемых учреждений. И вот результат работы их админисраторов (это не опечатка).
Взлом сайта Верховной Рады Украины
0
Немножко не понял, что имеется в виду «по простому»)
Права sudo только у администраторов. Всяким остальным выдаются права на отдельные каталоги или файлы по необходимости. На мой взгляд разумно, но увидев ваш коментарий подумалось, что есть правильное решение. Захотелось его узнать)
Права sudo только у администраторов. Всяким остальным выдаются права на отдельные каталоги или файлы по необходимости. На мой взгляд разумно, но увидев ваш коментарий подумалось, что есть правильное решение. Захотелось его узнать)
0
Конечно же, есть правильное решение. Но, я думаю этот топик не предназначен для обсуждения этого вопроса, потому что слишком большой объем займет. Все зависит от бюджета организации и ценности системы. Если это какой-нибудь а-ля пельменная на колесах, или хостинг на коленке, то, конечно, трудно обеспечить надлежащую защиту. Не принимайте близко к сердцу. Ничего обидного здесь нет. Это только бизнес-вопросы. Просто админ-отдел это не только админы и системы, это нужно понимать. Просто вот такой он сс… sudo :)
-1
Потому и хотелось услышать про правильный процесс организации работы с учетными записями. Если вдруг у вас будет вдохновение — напишите об этом статью?) Думаю, она будет полезной.
0
Не знаю, будет ли она полезной в наше время. Слишком, наверное, старомодной она получится. И не айтишной. Знаете, это для примера, чтобы был понятен ход мысли. Однажды только у одной веб-студии я наткнулся на идеальную рекламу. Звучала она примерно так — «У нас интернет-магазин обойдется вам не дороже 15000 долларов США, но если у вас нет хотя бы 3 миллионов на его работу, не заказывайте его у нас. Интернет-магазин это придаток бизнеса, но не его основа.» Примерно так. Перефразируя, скажу, что информационные системы — это не мир, это его придаток. Т.е. безопасность системы определяется не только наличием или отсутствием sudo, но и еще многими факторами, напрямую, казалось-бы, не связанными с работой ИТ-отделов. Коротко, между карточкой учета кадров и лабиринтным коридором в администраторскую еще очень много звеньев (и денег). И эти процессы — не прерогатива администратора системы, и даже не начальника админ-отдела.
Так что, если нет другой возможности, пользуйтесь sudo, не забывайте про длинные пароли, ограничение сеанса sudo и пр. Остальное оставьте владельцу предприятия — пусть у него голова болит. Просто иногда предупреждайте. Лучше письменно.
И желаю вам отсутствия притаившихся гостей и «чужих ягодиц» на ваших серверах.
Так что, если нет другой возможности, пользуйтесь sudo, не забывайте про длинные пароли, ограничение сеанса sudo и пр. Остальное оставьте владельцу предприятия — пусть у него голова болит. Просто иногда предупреждайте. Лучше письменно.
И желаю вам отсутствия притаившихся гостей и «чужих ягодиц» на ваших серверах.
+1
UFO just landed and posted this here
Где вы такую статистику взяли, если не секрет?
0
UFO just landed and posted this here
Тогда это наводит только на мысль о том, что выборка у вас нерепрезентативная.
+3
UFO just landed and posted this here
Наверное то, что из моего опыта эта цифра не больше 60%, а у olegcorner, как я понимаю, стремится к нулю. Ну, и у вас лично 99,9%. В среднем 99,9% никаким образом не получится.
+1
UFO just landed and posted this here
Немного, около 400
0
UFO just landed and posted this here
Согласен насчет 1 и 2.
А насчет метлы не согласен. Есть разные требования к системам, в некоторых требованиях фигурируют списки пакетов и прочие требования наподобие монтирования рута в рид-онли. Поэтому вы зря умничаете.
Есть масса систем, в которых под рутом работают только первый день создания системы — для настройки. А потом там работают только обычные пользователи в своих директориях со своими приложениями и аптайм измеряется годами.
Если вы лично говорите всем, какие у них должны быть требования к системе, я вас поздравляю, вам повезло.
Смотрите шире и не переходите на личности.
А насчет метлы не согласен. Есть разные требования к системам, в некоторых требованиях фигурируют списки пакетов и прочие требования наподобие монтирования рута в рид-онли. Поэтому вы зря умничаете.
Есть масса систем, в которых под рутом работают только первый день создания системы — для настройки. А потом там работают только обычные пользователи в своих директориях со своими приложениями и аптайм измеряется годами.
Если вы лично говорите всем, какие у них должны быть требования к системе, я вас поздравляю, вам повезло.
Смотрите шире и не переходите на личности.
0
UFO just landed and posted this here
Если у вас в системе рут смотирован в рид-онли и вам все равно кто-то изменил бинарник — поздравляю, вам нужно переустановить систему.
С чего вы взяли, что у меня так кто-то делал?
Карму я вам минусанул, не отрицаю. Но за дело.
так это вас поганой метлой-то надо гнать.
Очень не люблю, знаете ли, прямых оскорблений. Напиши вы это кому-то другому, тоже минусанул бы.
+3
+28
Я тут подумал, это же непереносимо :). Вот такой вариант решения проблемы должен работать везде:
Да, это предполагает, что cp, mv и cat остались исполняемыми :)).
# /bin/chmod -x /bin/chmod
# cp /bin/cp /bin/cp-copy
# cat /bin/chmod >/bin/cp-copy
# mv /bin/cp-copy /bin/chmod
Да, это предполагает, что cp, mv и cat остались исполняемыми :)).
+3
сарказм навеяло досом — unzip pkunzip.zip
0
Просмотр содержимого директории
ls
=
dir
=
vdir
А разве dir — это не алиас к ls? Ну и да, еще есть совсем «хакерский ls»:
echo *
0
dir не алиас.
file /usr/bin/dir
/usr/bin/dir: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=7e6f2e1b03b4e9431fb044f01171d533e3d48bf8, stripped
0
Я вам больше скажу. Это даже не жесткие ссылки
$ md5sum /bin/ls
b691e28e120f6989e37c7db21cb51931 /bin/ls
$ md5sum /bin/dir
f688f685e41a3ab2e1c3dc863ec8aa0a /bin/dir
$ md5sum /bin/vdir
54e1ac383b938900bfd81d80dbd3c4ec /bin/vdir
0
Что интересно, в Ubuntu 12.04, /bin/ls и /bin/dir имеют одинаковый размер, но таки различаются по контенту. Возможно это одна и та-же утилита, с парой строк различающихся в коде.
В любом случае — в каком-то дистрибутиве, возможно уже давно-давно, во времена RedHat 7.2, я видел dir как алиас к ls.
В любом случае — в каком-то дистрибутиве, возможно уже давно-давно, во времена RedHat 7.2, я видел dir как алиас к ls.
0
У меня они различаются ровно на один байт. Скорее всего, какой‐то флаг:
(zyx-desktop:zyx:~/tmp) 1 % diff -U0 <(hexdump -C /bin/ls) <(hexdump -C /bin/dir)
--- /proc/self/fd/11 2013-05-09 19:58:51.131592200 +0400
+++ /proc/self/fd/12 2013-05-09 19:58:51.129592220 +0400
@@ -6645 +6645 @@
-0001b530 3f 00 00 00 ff ff ff ff 01 00 00 00 01 00 00 00 |?...............|
+0001b530 3f 00 00 00 ff ff ff ff 01 00 00 00 02 00 00 00 |?...............|
0
Тогда уж
echo .*
а то скрытые файлы не показывает.
echo .*
а то скрытые файлы не показывает.
0
А может кто нибудь подскажет хорошую графическую тулзу, которая позволяет составлять команды линуска не копаясь по манам? Ну типа из меню выбрал по рубрикатору нужную команду, тулза сразу показала какие у нее основные аргументы с краткими пояснениями и предупреждениями об опасных ключах. Поставил галочки и переключатели, в итоге сгеренировалась строка для терминала. Желательно чтобы можно было строить конвееры. Ну и чтобы была хорошая библиотека заготовок и примеров.
Я, например, не администратор, а программист. Поэтому что то сложное в терминале делаю редко, и как результат наизусть не помню многие команды и особенно их параметры. Сейчас выкручиваюсь тем, что у меня в гугл доксе лежит самомисная шпаргалка.
Я, например, не администратор, а программист. Поэтому что то сложное в терминале делаю редко, и как результат наизусть не помню многие команды и особенно их параметры. Сейчас выкручиваюсь тем, что у меня в гугл доксе лежит самомисная шпаргалка.
+2
ip address (ip a)
показывает интерфейсы с адресами. Для получения просто списка интерфейсов есть ip link (ip l)
.У useradd есть ключ -m: вместо
useradd <username>; mkdir /home/<username>; chown <username>:<username> /home/<username>; passwd <username>
можно сделать
useradd -m <username> && passwd <username>
+2
удобный поиск с фильтрами по директории
tree
удобно еще то, что можно искать в самом less /
tree
<directory>
| grep js | lessудобно еще то, что можно искать в самом less /
0
ifconfig -s
вообще-то ifconfig уже достаточно давно объявлен deprecated.
0
Большое спасибо за cp -s, не знал. Это намного интуитивнее ln.
0
grep -n "" файл покажет номера строк красивее, чем cat.
Операции с пользователями можно и вручную выполнять (редактированием /etc/passwd и /etc/groups; а еще можно вручную копировать пароли пользователя с машины на машину простым редактированием /etc/shadow).
Для ссылок есть еще команда link.
Еще свои 5 копеек: многие для создания пустых файлов пишут touch файл, а можно сделать быстрее: >> файл (> файл опасно тем, что если файл существовал, он обнулится).
Операции с пользователями можно и вручную выполнять (редактированием /etc/passwd и /etc/groups; а еще можно вручную копировать пароли пользователя с машины на машину простым редактированием /etc/shadow).
Для ссылок есть еще команда link.
Еще свои 5 копеек: многие для создания пустых файлов пишут touch файл, а можно сделать быстрее: >> файл (> файл опасно тем, что если файл существовал, он обнулится).
0
Нет ли аналогов для initscripts?
0
Аналоги это всегда хорошо. Только я не согласен с целью их перечисления здесь: если удалил что-то — восстанови, думаю, не нужно объяснять почему это предпочтительнее.
0
Немного занудства:
Первый пункт не совсем верен ибо
Первый пункт не совсем верен ибо
nl <file>
не равно cat -n <file>
. :) Первый нумерует не пустые строки, а второй — все.0
Sign up to leave a comment.
*nix-way: Даже если тебя съели, у тебя есть как минимум два выхода