Ноябрь 2015 обновления:
декабрь 2013 Обновления:
Lars Vogel всего опубликованный на его блоге :
(10 декабря 2013)
, Мы провели пользовательский обзор, если пользователи хотят активировать номера строки в текстовых редакторах в Eclipse IDE по умолчанию.
ответ был очень четким:
YES : 80.07% (1852 responses)
NO : 19.93% (461 responses)
Total : 2313
Skipped: 15
С Ошибка 421313 , Обзор - Номер строки должен быть активирован значением по умолчанию , мы включили его для сборки SDK Eclipse, я предполагаю, что другие пакеты Eclipse будут следовать.
Август 2014 Обновления
длина значения по умолчанию Номера строки теперь 120 (вместо 80) для Eclipse Марс 4.5M1.
Видят" , Как настроить код текстового редактора Eclipse, форматирующий ".
Исходный ответ (март 2009)
, Чтобы действительно иметь его по умолчанию, можно записать сценарий, которые удостоверяются, перед запускающимся затмением, что:
[workspace]\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.ui.editors.prefs
действительно содержит:
lineNumberRuler=true
(с [workspace]
являющийся корневым каталогом Вашей рабочей области затмения)
Тогда затмение будет открыто с "номерами строки, показанными 'по умолчанию'"
Иначе, Вы можете также тип 'CTRL+1' и затем "строка", которая предоставит Вам доступ к команде "Show line numbers"
(который переключится на опцию, "показывают номера строки" в части текстовых редакторов опции.
Или можно просто ввести "оцепенелый" в Windows Preferences к доступу к части Текстового редактора:
Изображение от" , Как к числам строки дисплея в Eclipse" блога" Mkyong.com " глоток>
У Вас по всей вероятности нет полномочий чтения для /var/log/{dmesg,syslog,message}
. Таким образом даже при том, что Вам создали файлы на Вашем destkop, они будут пусты, так как ничто не было считано, но попытка записать была предпринята в файл (тот, созданный на Вашем рабочем столе).
, Таким образом, у Вас есть две опции:
Получают прочитанные полномочия для /var/log/{dmesg,syslog,message}
следующим образом:
sudo usermod -a -G adm $USER #adm is the group name which owns /var/log/syslog
Использование sudo для чтения (легче для одноразового чтения):
sudo cat /var/log/dmesg >> /home/administrator/Desktop/dmesg
Вашей проблемой являются следующие строки Вашего сценария:
echo ' ' > /var/log/dmesg
echo ' ' > /var/log/syslog
echo ' ' > /var/log/message
Неудивительно, так как те - точно строки 7,8 и 9, которые являются теми, что удар жалуется на.
Эти команды пытаются удалить содержание тех 3 файлов журнала в /var/log
, но так как они принадлежат корню, и у Вас нет доступа для записи к ним, Вы получаете ошибку. Хороший ! Я предполагаю, что Вы не хотите убирать свои системные журналы как этот.
Помнят, что >
перезаписи содержание файла, Вам нужно >>
к , добавляют к нему. В любом случае Вы никогда не должны изменять те файлы, они используются системой и нет абсолютно никакой причины, почему Вы хотели бы перезаписать их. Даже если Вы делаете, существуют намного более простые пути, действительно делают так, как rm file
или даже просто > file
.
инструмент для очистки А способ сделать все это должно было бы использовать logrotate
вместо этого.
/var/log
? Странный. Ну, используйте rm
или >/var/log/filename
тогда, но работайте с sudo. Более чистый путь ко всему этому был бы logrotate
.
– sayah imad
17.05.2020, 18:33
Я подозреваю, что у Вас просто нет доступа к ним от пользователя, который выполняет этот сценарий. Посмотрите на принадлежности файла:
$ ls -l /var/log/{dmesg,syslog,message}
ls: cannot access /var/log/message: No such file or directory
-rw-r----- 1 root adm 86384 Mar 9 11:12 /var/log/dmesg
-rw-r----- 1 syslog adm 18553 Mar 25 13:25 /var/log/syslog
Вы могли читать из этих файлов, если бы у Вас был пользователь в adm
группа, но Вы не были бы в состоянии записать. Первый пользователь в системе обычно является членом adm
группа, но если бы Ваш ~/Desktop
копии пусты, я предположил бы, что Ваш пользователь не (сверьтесь эти groups
команда). У Вас действительно есть несколько опций.
Вы могли или посмотреть добавляющие полномочия ACL для Вашего пользователя. Они являются отдельными от стандартных полномочий и добавления, что явный доступ для чтения-записи к Вашему пользователю действительно не влияет ни на что больше. Который хорош.
sudo apt-get install acl
sudo setfacl -m u:$USER:rw /var/log/{dmesg,syslog,message}
Этому, возможно, понадобилась бы перезагрузка для взятия. Вы, возможно, даже должны были бы к [1 112] изменить свой fstab. Я не имею, но ACLs, кажется, работают хорошо здесь, таким образом, я предполагаю, что это больше не требуется.
Вы могли изменить полномочия Unix на файле. Самый безопасный способ сделать это состоял бы в том, чтобы добавить Вашего пользователя к adm
группа и затем включить запись группы на тех файлах:
sudo usermod -a -G adm $USER
sudo chmod g+w /var/log/{dmesg,syslog,message}
необходимо будет выйти и зайти снова для наблюдения эффекта.
Или Вы могли позволить кому-либо читать и записать эти файлы. Это могло быть угрозой безопасности, таким образом, я не даю Вам код... Но честно, в то время как возможно, Вы, вероятно, не хотите это.
другая опция просто выполняет сценарий как корень с sudo ./scriptname
. Оборотная сторона этого - то, что что-либо, что делает этот сценарий, будет сделано как корень. Это включает создающие новые файлы (который >>
может, если файл уже не существует), и это может быть болью для пользователя.
И если это не академическое любопытство и Вы на самом деле пытаетесь получить некоторую работу, сделанную самым лучшим способом, существуют инструменты, которые делают эти вещи для Вас, но лучше. Вы действительно хотите посмотреть logrotate
. Этот Цифровое Океанское учебное руководство является самым чистым, которое я могу найти быстро.