Главное преимущество состоит в том, что Вам не нужны никакие оптические среды (или другие средства установки), также что netinstall установит последние доступные пакеты (если бы Вы установили другими способами, то необходимо было бы выполнить обновление сначала).
Также у Вас может быть зеркало в Вашей локальной сети, если необходимо установить ее во многих машинах, таким образом сохранив Вас пропускная способность.
Установите опцию оболочки NOCLOBBER
:
bash-3.2$ set -o noclobber
bash-3.2$ echo hello >foo
bash-3.2$ echo hello >foo
bash: foo: cannot overwrite existing file
bash-3.2$
Вы всегда можете искать через файл в другом Способы ...
seq 10000000 >f
{ wc -l >&2; echo new line\!; } <>f >&0; \
{ wc -l >&2; echo new line\!; } <>f >&0; \
{ wc -l >&2; echo new line\!; } <>f >&0; \
{ wc -l >&2; echo new line\!; } <>f >&0; \
{ wc -l >&2; echo new line\!; } <>f >&0; \
wc -l f; tail f
... Это странно выглядящая последовательность печати:
10000000
10000001
10000002
10000003
10000004
10000005 f
9999996
9999997
9999998
9999999
10000000
new line!
new line!
new line!
new line!
new line!
, но это вроде глупо.
Более полезный пример может выглядеть следующим образом:
apnd() if shift
then wc -l >&2
printf "$@"
fi <>"$1" >&0
Вы можете назвать это как:
apnd /path/to/file \
"${printf_fmt_string}" \
arbitrary list of strings
, и вы вынудите с количеством файла
строк, написанные на STDERR
Незадолго до того, как произойдет действие Append.
Я хотел бы использовать SED
(даже с резервной копией - см. Упрос после -I
):
sed -i.bak '$ a\something' /Users/zen1/zen/pythonstudy/tree_hole
-121-----21193- Если вы беспокоитесь, ваш файл будет поврежден на >
> > Оператор, вы можете изменить свой атрибут файла, чтобы добавить только:
В EXT2 / EXT3 / EXT4 файловая система: Chattr + A файл.txt
в XFS FileSystem: Echo Chattr + A | xfs_io file.txt
И если вы хотите функцию, я уже сделал функцию для себя (я использовал его в сервисном файле для регистрации выходов), вы можете изменить его для своей цели:
# This function redirect logs to file or terminal or both!
#@ USAGE: log option data
# To the file -f file
# To the terminal -t
function log(){
read -r data # Read data from pipe line
[[ -z ${indata} ]] && return 1 # Return 1 if data is null
# Log to /var/log/messages
logger -i -t SOFTWARE ${data}
# While loop for traveling on the arguments
while [[ ! -z "$*" ]]; do
case "$1" in
-t)
# Writting data to the terminal
printf "%s\n" "${data}"
;;
-f)
# Writting (appending) data to given log file address
fileadd=$2
printf "%s %s\n" "[$(date +"%D %T")] ${data}" >> ${fileadd}
;;
*)
;;
esac
shift # Shifting arguments
done
}
Многие программы, которые могут открывать файлы для перезаписи, могут альтернативно открыть их для добавления, например GNU DD.
dd conv=notrunc oflag=append of=file
Он может читать stdin или файл, названный в , если =
Параметр Добавить 2> / dev / null
, чтобы подавить счетчик байта.
Я хотел бы использовать sed
(даже с резервной копией - см. расширение после -i
):
sed -i.bak '$ a\something' /Users/zen1/zen/pythonstudy/tree_hole