JBoss - это сервер приложений, фреймворк для запуска приложений/сервлетов на базе Java. Поэтому удаление этого /opt/jboss-xxx
наверняка означает удаление всего приложения (в зависимости от конфигурации вашего сервера)
см. JBoss Enterprise Application Platform
JBoss, вероятно, запущен, и, как обычно, у вас он забит логами. Серверы приложений также нуждаются в регулярной очистке и обслуживании, особенно когда речь идет об уходе за логами (настроенная ротация логов или очистка их заданиями cron).
Ваша команда ps/grep может не сработать, потому что grep чувствителен к регистру. Я бы порекомендовал:
ps -uax | egrep -i "jboss|java"
Процесс JBoss также может быть мертв, потому что место для логов исчерпано.
Что касается журналов, я бы рекомендовал регулярно выполнять задание cron, очищая журналы с давностью более 2 месяцев (фактически 60 дней), как в:
find /opt/jboss-6.1.0/server/all/log -type f -mtime +60 -exec rm {} \;
Соответствующая ссылка:
Delete Files Older Than x Days on Linux
Оговорка: такая очистка журналов должна быть частью политики регулярного резервного копирования.
ex -s /myPathToTheFile.txt <<\EX
1p
1d
wq
EX
или
ex -s /myPathToTheFile.txt <<< 1p$'\n'1d$'\n'wq
или, меньше набирая:
ed -s /myPathToTheFile.txt <<< $'1\nd\nwq'
Используя голову и хвост. Файл - target.txt
head -1 target.txt && tail -n+2 target.txt > tmp
mv tmp target.txt && rm tmp
Примечание. Убедитесь, что в текущей папке нет файла tmp, иначе он будет удален.
Объяснение:
sed -ne '1p' -e '1!s/^//w temp_file' yourfile && mv temp_file yourfile
По крайней мере, с GNU sed:
$ cat file
► put returns between paragraphs
► for linebreak add 2 spaces at end
► _italic_ or **bold**
$ sed -i '1{
w /dev/stdout
d}' file
► put returns between paragraphs
$ cat file
► for linebreak add 2 spaces at end
► _italic_ or **bold**
С GNU sed может быть записан как однострочный
sed -i -e '1 {w /dev/stdout' -e 'd}' file
Вы можете использовать голову
, хвост
и mv
:
Отображение первой строки:
head -1 myPathToTheFile.txt
Сохранение последней ( +2
) строки:
tail -n +2 myPathToTheFile.txt > file.tmp && mv file.tmp myPathToTheFile.txt
Использование файловых дескрипторов и немного python
{
{
head -n1 >&3;
3>&- tail -n +1;
3>&- python -c 'import sys; sys.stdout.truncate(sys.stdout.tell())';
}<file 1<>file
} 3>&1
Предполагая, что вы просите сценарий оболочки, это сделает то, что вы просили:
NAME=$1
head -n 1 $NAME
sed -i '1d' $NAME