Лаконичный способ вывода в файл, если аргумент не задан, в stdout иначе

Я хочу, чтобы мой скрипт для вывода в stdout, если он не получает имя файла в качестве аргумента. Очевидный способ это вот так:

если [ -Е "$1" ]; затем
 command_with_output >$1
еще
command_with_output
интернет

Это довольно некрасиво и повторения, поэтому я хотел бы более элегантный способ сделать это.

Я попробовал следующий, но он не работает.

[ -Е "$1" ] && файл outfile=$1 | в| outfile='&1'
command_with_output >$выходной_файл

Редактировать: Это не меняет актуальности ответов, но я понял после того как я сделал вопрос, что трогать "$1" && файл outfile=$1 - это действительно то, что мне нужно вместо [ -Е "$1" ] && файл outfile=$1 , так как файл может еще не существовать, и я хочу убедиться, что я могу написать на него или создавать его, не только, что он существует. Я не изменю вопрос, потому что это поставит ответы из синхронизации.

+278
Gandu 22 мая 2014 г., 10:54:16
30 ответов

Я хотел бы создать несколько тысяч каталогов в Ubuntu в командной строке.

С помощью команды mkdir {000..999} создает 1.000 каталогах именем 001, 002 и т. д.

Как я могу создать каталоги, используя весь диапазон символов [0-9][a-я]?

Результат должен выглядеть так

001
002
...
00 утра
00В
...
+986
BOB POWERS 03 февр. '09 в 4:24

Я недавно создал Резервный архив моей системе Ubuntu (/ и /Home разделы как в ext4). Когда я создавал резервную копию я загрузились с видео DVD и я использовал команды tar. Теперь мне интересно, что бы быть лучший способ, чтобы распаковать сжатый архив для восстановления системы. Более конкретно, если я должен добавить --числовые-владелец переключиться на конце команды tar? Я слышал, что это может быть необходимо для сохранения первоначального права собственности. В противном случае, я бы этих с носителя и там могут быть несоответствия. С другой стороны, оба раза я использую live DVD для загрузки, так что может это и не имеет значения в моем конкретном случае?

+955
Victor Oliva 20 нояб. 2013 г., 21:29:27
Другие ответы

Связанные вопросы


Похожие вопросы

[^протокол HTTP] не все, но по протоколу HTTP. Что вновь совпадает с одним персонажем, как это ни ч, ни Т, ни п. Так что с href="[^http с] совпадает с href="Б В С href="бла", но не с href="т в с href="Тото".

Здесь, вы что-то хотите, как:

СЭД -е 'ы@(с href=")([^ч]|ч([^т]|т([^т]|т([^п]|$)|$)|$)|$)@\1/\[email protected]г'

То есть с href=" сопровождается либо не-ч (символ, отличный ч), или ч-не-тили ГТ-не-т, или ГТО-не-п, или ГТО-Эол, или ХТ-Эол или ч-Эол или Эол. (Эол == "конец строки", те последние 4 вряд ли можно найти во входном поскольку это означало бы " не соответствует).

(если СЭД поддерживает еще не стандарт -электронный вариант).

Вы также можете добавить / всегда, но удалить его после того, когда в теге href="/по HTTP:

СЭД с@с href="@&/@г;С@с href="/http В@С href="http и@г'

Или с помощью Perl:

на Perl -ре с|с href="\к(?!протокол HTTP)|/|г'

С помощью языка Perl's отрицательный прогностический повторный оператор.

+884
Cody Robertson 13 апр. 2010 г., 03:22:41

Недавно я узнала нового очень полезная команда. Это:

гном-открытые

или

кода валюты XDG-открытые

или просто

открыть

на Mac.

Он открывает файл или директорию по умолчанию в указанную программу.

Но, в случае, если мне нужно открыть файл в уже запущенный редактор (я имею в виду отправить файл в Работает как-то процессы) у меня нет решения. Я интересно, если есть какой-то способ, чтобы добиться этого или, если это возможно, написать скрипт, который может это сделать.

Например, если я хочу отправить его к уже запущенному экземпляру затмение.

Вид перетащите с помощью командной строки.

+781
Patrik Lundquist 10 дек. 2011 г., 04:56:31

Следующий Баш проявляющаяся будет производить на выходе вы хотите

для F В $(найти $(фрд) -тип F); делать Эхо "$(базовое имя $е) $(реального пути $(каталог $Ф))"; сделано

Объяснение:
Для _ в _ ; у _ ; сделано перебирает, что ваша команда нашли
базовое имя - полоски все, но последняя часть из путь (ака. имени файла)
каталог делает противоположное
реального пути возвращения в реальный путь (так что вы не получите . для файла в ухо)



Если вы часто используете это, я предлагаю сглаживания, проявляющаяся в более короткие команды.

+746
Trang Ha Viet 21 июн. 2019 г., 10:40:26

Мой ноутбук Windows 10 и Ubuntu 15.04 в двойной загрузки в режиме UEFI. Тогда я попробовала заменить Убунту в Fedora 22. В Ubuntu загрузчик был установлен в /boot/efi раздел, но я отформатировал этот раздел, когда я была установка Fedora. Теперь я не смог получить доступ к Windows, но файлы все текущие установки. Есть в любом случае, чтобы сделать фетровую распознать Windows или восстановление загрузчика Windows?

Я попробовал загрузиться-ремонт с помощью загрузочного ISO-образ Ubuntu, но я получаю следующее сообщение "ОПС обнаружены. Пожалуйста, создайте BIOS в раздел Boot” ошибка при загрузке-ремонт".

Затем я попытался отредактировать файл /etc/харч.д/40_custom, добавляя эту запись:

menuentry 'Microsoft в Windows 10' {
 установить корень='Ф1,ОПС'
 c возможностью старта обоих \\ели\\Майкрософт\\загрузки\\bootmgfw.Эфи
загрузки
}

и запустив файл grub2-mkconfig -о /Boot, и/ели/ели/Федора/харч.конф. Но это не сработало.

Может кто-нибудь помочь?

Спасибо.

Вывод команды программе efibootmgr -V-это:

BootCurrent: 0002
Время: 0 секунд
BootOrder: 0002,0003,0004,000 Б,000С,0007,0001,0005,0006
Boot0001* интерфейс UEFI:компакт-диск/DVD-дисков ББС(129,,0х0)
Boot0002* Fedora в качестве HD(1,ОПС,03c2bf33-6dd6-4795-b409-ec77b3f6a7cf,от 0x800,0x32000)/файл(\ели\Федора\ШИМ.Эфи)
Boot0003* Fedora в качестве HD(1,ОПС,03c2bf33-6dd6-4795-b409-ec77b3f6a7cf,от 0x800,0x32000)/файл(\ели\Федора\ШИМ.Эфи)
Boot0004* загрузки Windows менеджер HD(1,ОПС,03c2bf33-6dd6-4795-b409-ec77b3f6a7cf,от 0x800,0x32000)/файл(\ели\Майкрософт\загрузки\bootmgfw.Эфи)
Boot0005* с UEFI:съемный ББС устройство(130,,0х0)
Boot0006* интерфейс UEFI:сеть BBS устройство(131,,0х0)
Boot0007* в Windows 10 VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot000B* UEFI ОС в формате HD(1,ОПС,03c2bf33-6dd6-4795-b409-ec77b3f6a7cf,от 0x800,0x32000)/файл(\ели\загрузки\BOOTX64.ЭФИ)
Boot000C* с UEFI: KingstonDT 101 Г2 PMAP вид pciroot(0x0 в)/ЧКВ(0x1d,0х0)/USB кабель(1,0) м/USB(3,0)..БО
+740
Variedro 10 апр. 2011 г., 04:37:21

Я заменил SH с ЗШ с помощью следующих команд:

$ судо МВ /Бен/ш /ОГРН/Ш1
$ судо в /usr/Бен/ЗШ /Бен/ш
$ ЛС-л /Бен/ш
lrwxrwxrwx 1 корень 12 июля 6 20:48 /Бен/ш -> /usr/Бен/ЗШ
долларов США, что ш
/Бен/ш
$ ш
$ выход
$ ЗШ
МПЦ% выход

Как вы можете видеть, Ш. команду не открыть ЗШ оболочки, хотя он был связан. Вопрос почему? Как я могу исправить это?

+717
Tuz Buben 22 апр. 2018 г., 08:31:43

Я изменил несколько ссылок на мою систему с ЛН-Ф -Ы. Когда я просмотреть ссылку с ЛС-л, я вижу, что они указывают на правильную цель.

Однако, когда я пытаюсь выполнить команду, она по-прежнему пытается использовать "старые" цели.

Есть ли команда в Linux, чтобы обновить команду 'кэш', чтобы указать системе, чтобы использовать вновь созданные мягкие ссылки?

Например:

OPEN_MPI_PATH=в/usr/lib64/ЛПУ/ССЗ/openmpi с
ЛН-е-е ${OPEN_MPI_PATH} или/bin/mpirun, который /usr/Бен/mpirun, который
ЛС-л в /usr/Бен/mpirun, который
$ /usr/Бен/mpirun, который - > в /usr/lib64/ЛПУ/ССЗ/openmpi С в/bin/mpirun, который

Выполнение mpirun, который -НП 4 она приводит к звонку на Intel МПИ, которая была "старой" цели.

+706
hiljusti 5 сент. 2013 г., 02:45:59

Я использую 32-битный с Lubuntu (4.4.0-98-универсальный #121-Убунту СМП Вт Окт 10 14:23:20 мирового 2017 семейства i686 GNU/Линукс) в качестве клиента для подключения к ресурсам Samba.

Доля Самбу я подключал, на rasperry Пи работает raspian.

Я могу смонтировать Пи самба по локальной сети следующим образом:

в маунта SMB://123.123.123.123/pi120pi

Это работает просто отлично, и я вижу поделиться с файл PCMANFM проводника.

Я вижу эту долю Самба из WAN (т. е. вне локальной сети) с помощью маршрутизатора IP-адрес и через маршрутизатор, используя переадресацию портов; запросы к TCP-порту 445 пересылаются по TCP-порт 445 по устройству ресурса Samba.

Это работает и я вижу поделиться через WAN на PCMANFM, который, как хотелось бы.

Тем не менее, это не безопасно.

Как я могу достичь того же конечного результата, используя SSH или другие простые безопасные средства?

+676
gergerg 12 дек. 2012 г., 15:46:21

По умолчанию в Линукс Минт 18 находится в/etc/файл resolv.конф символическую ссылку на /выполнения/resolvconf/файл resolv.конф.

Лл /и т. д./файл resolv.конф
lrwxrwxrwx 1 корень 27 декабря 1 11:04 /и т. д./файл resolv.конф -> /выполнения/resolvconf/файл resolv.конф

после запуска доступ к частной сети (Пиа) VPN версии приложения 75, символическая ссылка будет переписан со стандартным файлом:

Лл /и т. д./файл resolv.конф
-РВ-РВ-Р-- 1 корень Властимил 52 2 декабря 11:10 в /etc/файл resolv.конф

с содержание

кошка /и т. д./файл resolv.конф
имен 209.222.18.222
имен 209.222.18.218

как на картинке изображено:

PIA DNS resolver

Тем не менее, не всегда он возвращается решатель обратно к символической ссылке.


Как проверить и устранить проблему сопоставления имен DNS Пиа, после того, как я отключилась?

Я бы предпочел решение shell-скрипт.

+672
Gifciak 20 дек. 2017 г., 03:55:35

В eglibc-2.18/новости

* ARG_MAX больше не является постоянным на Linux. Система использовать(_SC_ARG_MAX).
Осуществляться Ульрих Drepper.

В eglibc-2.18/Debian/патчи/для kFreeBSD/местного sysdeps.дифф

+ чехол _SC_ARG_MAX:
+ запрос[0] = CTL_KERN;
+ запрос[1] = KERN_ARGMAX;
+ если (__sysctl-переменной(по запросу, 2, &Значение &лен, нуль, 0) == -1)
+ возвращение ARG_MAX;
+ возврат (длительное)значение;

В ОС Linux/включить/uapi/Linux и ограничения.ч

#определить ARG_MAX 131072 /* # байт аргументы + Environ для вызова exec() */

И 131072 ваш $(getconf ARG_MAX)/16-1, возможно, вы должны начать с 0.

Вы имеете дело с glibc и Linux. Хорошо бы патч getconf также для того, чтобы получить "право" ARG_MAX возвращаемое значение.

Редактировать:

Чтобы заверить немного (после короткой, но горячей дискуссии)

В ARG_MAX константой, которая определяется в пределах.ч, дает максимальная длина одного аргумента, передаваемого с помощью команды exec.

В getconf ARG_MAX команда возвращает максимальное значение кумулятивной аргументов размера и размера перешла на exec.

+665
Tjalsma 9 мая 2012 г., 13:07:33

Я выполнив следующие команды rsync (запутывание точный путь и хост), который нужно скопировать два файла:

в rsync-е "СШ -п 443" -это ... информация=progress2 -з [email protected]:/srv/cgi-bin/ .
пароль пользователя@пультов по: 
 5,970,149 100% 6.78 МБ/с 0:00:00 (ездил на нем в Калифорнии#2, к-ЧК=0/3)

Со всех точек зрения я могу сказать, что команда выполнена успешно.

[email protected]:/s/h/p/cgi-bin # >>> Лл
итого 5,7 м
-rwxrwxr-x 1 и Маркус Маркус 3,9 м 10 сентября 2014 немецко-цифры
-rwxrwxr-x 1 двух-Маркус Маркус 1.9 м 10 сентября 2014 немецко-цифры-цги

Но когда я пытаюсь запустить любую из программ, я получаю следующую ошибку

[email protected]:/s/h/p/cgi-bin # >>> ./немецкий-цифры
ЗШ: нет такого файла или каталога: ./немецкий-цифры

Поэтому кажется, что бинарные это не "совсем нет", но с другой стороны я четко могу открыть и прочитать это:

[email protected]:/s/h/p/cgi-bin # >>> глава -Н1 ./немецкий-цифры
ELF04��'4('$444444�=%�=%@%����t��I%������HHHDDP�tdT;%T�T�llQ�td/lib/ld-linux.so.2GNUGNU,B�]2�h$���ɢҒ�S'��� @�П
����ݣkĉ����|(�се���К��8��]���?�������г���ЗСО▒3
�_��,�%}�??��>fM7�ЗП�������Ф����в{С3А��������,б��)�п▒ч�wza по�С~�г��*-��г�л
 �����м���<�ЛВ�6����Ж$%ХZ�Г��Х{��в���� �!� �!�Т����@��ԅ����я��ԅ��� ��Ș
��librt.so.1__gmon_start___Jv_RegisterClasseslibutil.so.1libdl.so.2libgmp.so.3__gmpz_tdiv_qr__gmpz_and__gmpz_tdiv_q__gmpz_tdiv_r__gmpz_fdiv_qr__gmpn_gcd_1__gmpz_fdiv_q__gmpz_fdiv_r__gmpz_ior__gmpz_mul_2exp__gmp_set_memory_functions_fini__gmpz_sub__gmpz_xor__gmpz_com__gmpz_gcd__gmpz_fdiv_q_2exp__gmpz_init__gmpz_mul__gmpz_divexact__gmpn_cmp__gmpz_addclock_gettimetimer_deletetimer_settimetimer_createdlopendlerrordlsymlibm.so.6modfldexplibc.so.6_IO_stdin_usedepoll_createfflushstrcpysprintfsetlocalefopenstrncmpftruncatestrrchrregexecpipeftruncate64mmap64siginterruptepoll_waitftellstrncpyforksigprocmaskregfreeunlinkpthread_mutex_lockselectmkdirreallocabortgetpidkillstrdupmkstempstrtodstrtolisattysetmntentmmapctime_rfeoffgetscallocstrlensigemptysetmemset__errno_locationtcsetattrfseekgetpagesizeeventfddup2pause__fxstat64sigaddsetpthread_mutex_unlockstdoutfputcgetrusagefputsregerrormemcpyfclosemprotectmallocraisegetgid__lxstat64nl_langinfohasmntopt__xstat64getenv__ctype_b_locregcompstderrsigdelsetmunmapgetuidgetegid__sysv_signalpthread_mutex_initfwritefreadgettimeofdayiconv_closesigactionepoll_ctlstatfsgeteuidlseek64strchrendmntentutimegetlineiconviconv_opentcgetattrbsearchfcntlgetmntent_rmemmovefopen64access_IO_getcstrcmpstrerror__libc_start_mainvfprintfsysconf__environ__cxa_atexit_edata__bss_start_endGLIBC_2.1GLIBC_2.0GLIBC_2.2GLIBC_2.3GLIBC_2.7GLIBC_2.3.4GLIBC_2.3.2GLIBC_2.1.3

У меня кончились идеи, почему ЗШ (и для справки: Баш а) не найдете этот файл, у кого-нибудь есть идеи?

+647
notebi 25 мар. 2015 г., 13:07:48

Я использовал, чтобы быть в состоянии подключиться к моей версии GNOME 3 Desktop из компьютере Windows с помощью VNC-клиента. Но после обновления (со стороны Linux) некоторое время назад он перестал работать. Когда я пытаюсь подключиться, все, что я могу сделать, это сообщение, что "нет соответствующих видах безопасности" или "нет поддерживаемые методы проверки подлинности!" (в зависимости от того, каким клиентом я стараюсь).

В GNOME 3, я включил демонстрацию экрана в разделе Настройки > общий доступ. При этом, у меня есть удаленный просмотр, удаленное управление, утверждение всех соединений, требуют пароль. Я Арч Линукс с Vino 3.8.1.

На стороне Windows, я пробовал TigerVNC 1.0.1 & 1.2.0 и диска 1.0.9.6.2.

Как я могу получить эту работу?

+612
Kichana Kouhicha Labida 6 нояб. 2019 г., 05:25:26
на awk 'ФНР == ШП { onecol[$0]=1;следующий; }; $1 в onecol' fileB fileaбыл
+604
Ronald Smith 29 июн. 2015 г., 01:47:55

Я просто Xubuntu в 11.10 поставить на мой компьютер и ничего не знают о системе.

Установлен Adobe Flash-плеер и актуальная, у меня только это работает в течение нескольких дней. У меня ютуб работает просто отлично, но когда я пытаюсь поиграть в игру на Facebook он говорит, что мой флеш-плеер должен быть обновлен. Используется для окон, я пошел в мое меню плагин для Firefox, и там даже не указан Adobe плагин флеш. (Я подумала, может он не активный)

Мне было интересно, если/как это можно исправить? Может кто-то может объяснить это мне, хотя я абсолютно ничего не знаю об операционной системе?

+545
chopper1978 2 янв. 2014 г., 17:18:03

У меня роутер с OpenWRT. Я хочу временно отключить весь транзитный трафик, не меняя конфигурации маршрутизатора. Я делаю так:

в iptables -я вперед -Джей падение 

Новые связи не могут быть налажены. Но существующие подключения (даже пинг) продолжают работать. Как я могу сделать в iptables прекратить существующие подключения?

+464
nilkash 3 дек. 2010 г., 17:59:02

Вы можете использовать Баш косвенные ссылки на это:

AR1_p1=22
AR1_p2=23
AR1_p3=24
AR1_p4=25
я в 1 2 3 4
делать
ИМЯ_ПЕРЕМЕННОЙ="AR1_p${я}"
 Эхо "${!ИМЯ_ПЕРЕМЕННОЙ}"
сделано
+373
Steven Connery 11 нояб. 2017 г., 18:39:29

человек pvcreate можно говорит

pvcreate можно инициализирует ПВ, так что она признается принадлежащим ЛВМ и позволяет ФЭ будет используется в ВГ. ПС может быть раздел диска, весь диск, мета устройством, или петлевого файл.

Что такое файл шлейфа? Не "шлейфовый" в файле замыкания так же, как и в петлевой IP-адрес?

Петлевым файлов, связанных с https://en.wikipedia.org/wiki/Loop_device, что я не знаком с любой?

Спасибо.

+365
Tal Adiv 5 мар. 2018 г., 12:39:18

У меня есть одна рабочая станция Linux, который имеет несколько учетных записей пользователей. Некоторые учетные записи запуска GUI с приемлемых решений, и некоторые из них "заточен" на смехотворно низком разрешении без каких-либо опций по ее изменению. Если я вхожу в любой из рабочих столов с удаленного компьютера, разрешение это хорошо, но если пользователь входит в одну из учетных записей локально, разрешение экрана очень низкое (640х480) и не могут быть отрегулированы с помощью графического интерфейса. Не все счета пострадавших с местной Логинов, некоторые работают нормально. Из того, что я видел, все учетные записи отображаются правильно, используя удаленное подключение.

Из местного логин с "хорошим" разрешением, я понимаю это как результат выполнения "xranr -м":

Экран 0: не менее 8 х 8, текущие 1680 х 1050, максимальное 16384 х 16384
ДВИ-я-0 отключен (нормальное, влево обращенный вправо ось X ось Y)
Разъем VGA-0 подключен 1680х1050+0+0 (нормальный левый перевернутый правая ось Х ось Y) 473mm х 296мм
 1680х1050 59.95*+
 1600x1000 60.00 
 Разрешении 1440x900 59.89 
 1280х1024 75.02 60.02 
 1280х960 60.00 
 1152x720 60.00 
 1024х768 75.03 60.00 
 800х600 75.00 60.32 
 640х480 75.00 59.94 
ДВИ-и-1 отключен (нормальный левый перевернутый правая ось Х ось Y)
Разъем HDMI-0 отключен (нормальный левый перевернутый правая ось Х ось Y)

но если я запускаю "расширения xrandr -Q" от пострадавшей счете я получаю:

расширения xrandr: не удалось получить размер гамма для вывода по умолчанию
Экран 0: минимум 640 х 480, текущие 640 х 480, максимальное разрешение 640 x 480
по умолчанию подключен 640х480+0+0 0мм х 0мм
 640х480 73.00* 

Я не вижу каких-либо отдельных файлов конфигурации X-сервера в аккаунт пользователя и все счета были, в одно время, стабильно работает, как ожидалось...

Это проблема конфигурации или это, что некоторые из пользователей не поднимая возможности монитора (...в то время как некоторые из них...)? Как может один пользователь обнаружит монитор правильно и другого не делают?

Кто-нибудь есть идеи как я могу это исправить (без переустановки или что-нибудь резкое)?

+344
JESii 7 апр. 2013 г., 22:14:53

Можно ли установить Debian на компании Supermicro 6017R-72RFTP суперсервер?

Я изучаю веб-страницы Supermicro и в какой-то момент стало смущать, потому что я не был уверен, что я и у меня есть все необходимые драйверы, например, сервер Ubuntu 12.04 ...

+309
vasyapupkin225 17 февр. 2018 г., 21:25:43

Я системный администратор Linux и постоянно находить себя снова и снова те же хлопоты. Мне нужно несколько скриптов для облегчения жизни. Каковы наиболее важные сценарии требуется системный администратор Linux?

+273
Franz Payer 10 янв. 2017 г., 11:02:12

Предисловие: я понимаю, следующий просит фольги шляпу безопасности типа, но мне очень любопытно, за ответы на мои вопросы, а не предложения включить двухфакторную входа на Gmail, и т. д. и назвать это день. Пожалуйста, развлеки меня.

Основной вопрос такой: Могу ли я использовать несколько компьютеров, и очень нравится удобство фирменной обмена кросс компьютерных услуг (Gmail для электронной почты, хром синхронизация паролей и закладок, Dropbox для файлов и т. д.). Однако мой недавний опыт С зрения динамики и событий (с открытым исходным кодом синхронизации файлов программа) была очень позитивной, и это заставило меня задаться вопросом, если я могу как-то синхронизировать почту, пароли и т. д. которые хранятся только на моих компьютерах, а не в "облаке".

Есть хороший способ, чтобы избежать "облако" и еще все синхронизировать плавно, позволяя для легкого в использовании приложения?

Например, я использую KDE и может поделиться своими файл приложение, папку электронной почты в KMail и т. д. используя профессиональные беспроводные инструменты.

Однако меня беспокоит, что это может привести к конфликтам синхронизации. Е. Г. имея несколько компьютеров, все запущенные почтовый клиент одновременно может шаг друг другу. Клиент на одном компьютере, загрузки по электронной почте, которая синхронизируется примерно в то же время, что клиент на другой компьютер загружает тот же адрес электронной почты. Это может создать некоторый тип конфликта. Или, может быть, клиент на одном компьютере сохраняет электронной почты в файл с другим именем, чем почтовый клиент на другом компьютере, это означает, что все мои сообщения дублируются.

Я уверен, что есть и другие вопросы.

У вас есть какие-нибудь мысли о том, как обойти эти проблемы? Я понимаю, что прошу много, но кто-то должен был спросить.

+199
ignorantfool 28 июл. 2017 г., 12:31:37

Я хочу смонтировать в/var каталог в отдельном устройстве, но у меня есть, чтобы переместить некоторые файлы из текущего каталога/VAR для временного хранения, монтирования в/VAR на устройство, которое я хочу, а затем перенести данные из "старого ВАР" в "Нью-ВАР".

Для того чтобы сделать это, мне нужно, чтобы изменить текущий уровень запуска в однопользовательском режиме.

Переключение в однопользовательский режим происходит отлично, но когда приходит раковины, просит пароль root техническое обслуживание, я ввожу пароль root, и я не могу войти в систему как root.

Я уже повторно настроен пароль root, но он по-прежнему не признает полномочия.

С этим у меня следующие вопросы:

  • Существуют ли какие-либо подробности, касающиеся доступа с использованием учетной записи root, при переходе с уровня 5 на уровень 1?
  • И очевидно: что происходит? Почему я не могу получить доступ к учетной записи root в однопользовательском режиме?

Еще детали:

  • Я использую Debian Джесси.
  • У меня нет пользователей как sudoer. Я использовать учетную запись root через Су -.
  • Я не знаю, если моя клавиатура отличается при входе в однопользовательский режим. Я изменил пароль root для временного учетных данных как 1q2w3e для того, чтобы избежать каких-либо проблем.

Кроме того, некоторые строки из файл/var/журнал/авт.журнал:

19 мая 17:30:38 server001 Су[20607]: успешные СУ на корню пользователь
19 мая 17:30:38 server001 Су[20607]: + /разработчика/оч/0 пользователь:корень
19 мая 17:30:38 server001 Су[20607]: модуля pam_unix(Су-сессия) - сессия открыта для пользователя root с помощью пользователь объекта(uid=1000)
19 мая 17:33:50 server001 накопитель sshd[20773]: сервер прослушивает порт 0.0.0.0 22.
19 мая 17:33:50 server001 накопитель sshd[20773]: Server прослушивает :: порт 22.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новый seat0 сиденье.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: смотрите системные кнопки на /dev/вход/event3 (кнопка питания)
19 мая 17:33:51 server001 помощью systemd-logind[20786]: смотрите системные кнопки на /dev/вход/event2 кнопку (Питание)
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новая сессия 14 от Пользователь пользователя.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новая сессия 11 из пользователь пользователей.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новая сессия 13 от Пользователь пользователя.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новый сеанс 10 от Пользователь пользователя.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новый сеанс 8 из пользователь пользователей.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новая сессия 4 от Пользователь пользователя.
19 мая 17:33:51 server001 помощью systemd-logind[20786]: новая сессия 9 от Пользователь пользователя.
19 мая 17:33:52 server001 перевод: модуля pam_unix(перевод-зазывала:сессия) - сессия открыта для пользователя языка по (Уид=0)
19 мая 17:33:52 server001 systemd в: модуля pam_unix(добавлена пользователем:сессия) - сессия открыта для пользователя языка по (Уид=0)
19 мая 17:34:26 server001 помощью systemd-logind[20786]: новая сессия 15 от Пользователь пользователя.
19 мая 17:34:27 polkitd server001(власть=местное): зарегистрирован проверки подлинности агента для Unix-сессии:15 (название системной шины :1.14 [lxpolkit], объект, пути /орг/freedesktop/PolicyKit1/AuthenticationAgent, язык es_MX.Кодировка UTF-8)
19 мая 17:34:37 server001 Су[21221]: успешные СУ на корню пользователь
19 мая 17:34:37 server001 Су[21221]: + /разработчика/оч/0 пользователь:корень
19 мая 17:34:37 server001 Су[21221]: модуля pam_unix(Су-сессия) - сессия открыта для пользователя root по пользователь(с uid=1000
+139
Meta 5 дек. 2011 г., 03:03:32

Как вы знаете, разница из-за разных значений значение umask. Когда вы создаете файл, который вы укажите максимальное разрешения у файла должно быть. На ощупь это было бы в " RW " -РВ-. Команда umask используется для уменьшения разрешения.

В общем, вы должны использовать Су - stack1 , чтобы перейти к пользователю.

команды newgrp-это сложная программа для записи. Как правило, это SUID как он должен манипулировать группами. В идеале было бы встроен в оболочка, как и значение umask, поэтому он будет изменять групп для текущего процесса, но это несовместимо с его битом SUID. Так обычно это SUID-программ двоичный файл, который запрашивает пароль, и если проверка пройдет успешно, он будет заменить саму оболочку. Эта оболочка может запустить свой код запуска.

Если ваш ~/.файл bashrc есть команда umask в нем, прямо или косвенно, то, что могло бы объяснить разницу в значениях.

+96
Julian Rouse 25 июл. 2019 г., 12:43:39

Как список измененных или вновь созданные файлы и каталоги в Linux. Так что я могу вызвать другую команду или скрипт для другой задачи. для EG. А a.txt файл и test.txt изменяются и хочу найти длилась измененных файлов с использованием Linux cmd и затем вызвать скрипт restart.sh (сказать), чтобы сделать изменения.

+80
rajeesh viswanathan 13 авг. 2010 г., 06:27:03

Используя на awk:

на awk '$2>70&&$2<90&&!с[именем]++{функции printf("%с%с",ИМЯФАЙЛА,0)}' * | команды xargs -0 СР -Вт целевые/ --

Объяснение:

  • $2>70&&$2<90 состояние.
  • !с[именем]++ будет true, если имя файла уникально (имя файла будет напечатано только один раз).
  • функции printf("%с%с",ИМЯФАЙЛА,0) печатает имя файла с байт-разделитель, чтобы справиться с особыми именами.
  • команды xargs -0 читает имена файлов, разделенных нулевым байтом.
  • СР -Вт целевые/ -- копирует файлы в каталог целевые/.
+66
Adam Studenic 18 апр. 2018 г., 19:55:10

ЛС-ЛСР | хвост -5
Это будет работать

-R для обратного -я за длинный листинг -S-это параметр для сортировки размер файла мудрые.

+35
Yonatan 6 февр. 2017 г., 06:56:40

Я использовать VPS Linux в качестве реле Postfix и в течение нескольких дней я получу как минимум через 100 писем такой "[email protected]имя_домена". У меня есть два веб-сайтов, размещенных на сервере, а каждый спам использует два доменных имени.

Как выявить проблему? и как защитить себя?

+32
pswaminathan 19 окт. 2019 г., 17:45:58

Я пытаюсь добавить распакованные файлы в существующий уже запакованную папку сказать новый folder.zip. Можно ли использовать зип-р новые folder.zip после добавления некоторых разархивированные файлы в них? Будет эта команда сжать папку? Есть ли альтернатива для этого?

+22
user42583 24 мая 2013 г., 05:43:41

Если вы хотите обнаружить только цифры (не другие типажи), вы должны использовать простое регулярное выражение.

[[ ${номера} =~ ^([[:цифра:]]) ]] && ВАР=${BASH_REMATCH[1]}

В $VAR является числом или это пустое (даже не объявили).

+13
pcs305 2 апр. 2010 г., 12:33:46

Показать вопросы с тегом