Unix & Linux

Вопросы и ответы для пользователей Linux, FreeBSD и других Un * x-подобных операционных систем

1
Bash пытается написать две подсказки оболочки?
Я смотрю на результаты работы запущенного процесса bash, подключенного к терминалу, в образовательных целях. Мой процесс bash имеет PID 2883. Я печатаю [OP@localhost ~]$ strace -e trace=openat,read,write,fork,vfork,clone,execve -p 2883 2> bash.strace В терминал. Затем я вхожу в процесс bash и получаю следующее взаимодействие: [OP@localhost ~]$ ls Глядя на вывод, я …
11 bash  tty  strace 

1
Почему нельзя изменить порядок оператора перенаправления ввода для циклов while?
В Bash вы можете переместить операторы перенаправления ввода в начало команды: cat <<< "hello" # equivalent to <<< "hello" cat Почему вы не можете сделать то же самое для цикла while? while read -r line; do echo "$line"; done <<< "hello" # hello <<< "hello" while read -r line; do …

3
Почему sh (не bash) жалуется на функции, определенные в моем .bashrc?
Я получаю это, когда я открываю терминальную сессию: sh: ошибка импорта определения функции для `read.json ' sh: ошибка импорта определения функции для `ts-project ' sh не любит эти функции, потому что они выглядят так: read.json(){ :: } и ts-project(){ :: } реальный вопрос - зачем shтрогать / интерпретировать эти файлы? …

5
Является ли gzip атомным?
Является ли gzipатомная? Что произойдет, если я остановлю gzipпроцесс, пока он находится в процессе архивирования файла? Если это не атомарно, и если я уже нажал Ctrl + C в gzip *.txtпроцессе, как мне безопасно возобновить? (Мне не просто интересно, как возобновить, но также и о том, gzipявляется ли конкретно атомным.)

1
Что POSIX sed требует для `1d; 1,2d`, где диапазон адресов начинается с уже удаленной строки?
В комментариях к этому вопросу возник случай, когда различные реализации sed не согласились с довольно простой программой, и мы (или, по крайней мере, я) не смогли определить, что спецификация на самом деле требует для этого. Проблема заключается в поведении диапазона, начинающегося с удаленной строки: 1d;1,2d Следует ли удалять строку 2, …
11 sed  posix 

2
Почему нет системных вызовов для вставки файлов?
Насколько я понимаю, для манипулирования файлами в Linux существует только системный вызов sys_write, который перезаписывает содержимое файла (или расширяет его, если в конце). Почему в Linux нет системных вызовов для вставки или удаления контента в файлах? Поскольку все современные файловые системы не требуют сохранения файла в непрерывном блоке памяти, должна …

5
Как отсортировать читабельный размер человека
Я в основном ищу файлы, затем сортирую по размеру. Сценарий работает, если я не сортирую размер по удобочитаемому человеку. Но я хочу, чтобы размер был удобочитаемым. Как я могу сортировать размеры, удобочитаемые человеком? Например: ls -l | sort -k 5 -n | awk '{print $9 " " $5}' Это работает, …
11 find  ls  sort 

2
Почему я теряю данные при использовании этой конструкции bash pipe?
Я пытаюсь объединить несколько программ примерно так (пожалуйста, игнорируйте любые дополнительные включения, это тяжелая работа в процессе): pv -q -l -L 1 < input.csv | ./repeat <(nc "host" 1234) Где источник программы повтора выглядит следующим образом: #include <fcntl.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/epoll.h> #include <sys/stat.h> …

6
отключение на определенную дату
Я знаю, что вы можете запланировать отключение на определенное время через shutdown -h 21:45и что вы не должны использовать crontabs для таких вещей из-за их повторяющейся природы. Как я могу запланировать отключение на определенную дату, например, 31 августа в 20:00?
11 ubuntu  shutdown 

2
Удалить все строки, которые не имеют n символов перед разделителем
У меня есть очень длинный текстовый файл ( отсюда ), который должен содержать 6 шестнадцатеричных символов, а затем «разрыв» (который отображается как один символ и, кажется, не отображается должным образом в уценке кода ниже), за которым следуют несколько слов: 00107B Cisco Systems, Inc 00906D Cisco Systems, Inc 0090BF Cisco Systems, …



2
Скрипт Bash должен убивать только те экземпляры другого скрипта, которые он запустил
В текущей ситуации определенный сценарий call.sh запускает другой фоновый файл named.sh в фоновом режиме, выполняет другие операции, некоторое время бездействует, а затем завершает вызов файла named.sh с помощью a pkill called.sh. Это отлично работает. Затем, я также хотел бы запустить 'named.sh' из других терминалов в качестве отдельного скрипта в любое …
11 bash  process 

2
Используйте команду chmod выборочно
Я хочу установить разрешение 755 для всех файлов и подкаталогов в определенном каталоге, но я хочу выполнить chmod 755 только для тех компонентов, которые не имеют разрешения 755. find /main_directory/ -exec chmod 755 {} \; Если findкоманда возвращает длинный список, это займет много времени. Я знаю, что могу использовать команду …

4
Почему запись случайных данных с использованием dd приводит к разделам диска?
Перед выполнением ddкоманды команда lsblkвернула вывод ниже: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk Команда dd if=/dev/urandom of=/dev/sda conv=fsync status=progressзапускается. Устройство, однако, теряет питание и выключается. Когда питание восстанавливается, команда lsblkвозвращает следующий вывод: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G …
11 partition  dd  lsblk 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.