Welcome to Форум на приятелите на Apple. Please login or sign up.

26-05-2024, 16:27:29

Login with username, password and session length

Shoutbox


Recent

Потребители
  • Общ брой потребители: 7 864
  • Latest: ThomasSpori
Stats
  • Общ брой публикации: 82 663
  • Общ брой теми: 9 813
  • Online today: 271
  • Online ever: 774
  • (14-05-2024, 04:09:55)
Онлайн потребители
Users: 1
Guests: 157
Total: 158

157 гости, 1 потребител
atanas_mil4ev

Terminal

Започната от aseniv84, 27-11-2011, 19:19:39

« назад - напред »

0 Потребители и 1 гост преглеждат тази тема.

shaman

Лично мнение...
Терминала е достатъчно опасна програма в ръцете на незапознат с възможностите и...
Понеже това е наследство от unix, а с unix обикновено работят хора, които са напълно наясно какво правят обикновено командите се изпълняват без характерните въпроси "ама сигурн ли си ???, ама наистина ли си сигурен ..."
Щом си го написал, значи си сигурен... Затова примерно "rm -rf /" започва дирвктно да ти трие целия диск без да пита за потвърждение.
Един сгрешен знак или на неподходящо място може да има непоправими последици...

hyankov

Хах, не им се сърди, но въпросът ти беше така поставен, че и аз първоначално се захилих вътрешно ;)

Наистина една тема от рода на Terminal Tips&Tricks би била полезна. Едно от нещата, които ме карат да се размазвам от кеф е драг-енд-дроп съппорт-а в терминала. Искаш да копираш файл от /на-баща-ми-сестра-му-едно-интимно-място/ до /седалищната-част-на-географията/ или просто да се сетнат някакви неща - ок, драгни го от файндъра и автоматично ти resolve-a абсолютния път до файла :)

hyankov

@shaman и феновеte на rm -rf:
https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6#diff-1

"... so, sorry ..."

Коменатарите отдолу също не са за пропускане

shaman

Цитат на: hyankov - 28-11-2011, 11:31:33
@shaman и феновеte на rm -rf:
https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6#diff-1

"... so, sorry ..."

Коменатарите отдолу също не са за пропускане

Ами.. точно:
   
rm -rf /usr /lib/nvidia-current/xorg/xorg

Една шпацийка в повече и ти заминава без да пита /usr !!!


daf

Много ясно, че няма да пита, нали му е дадено -f (force),  ако дадеш -i ще те пита... Няма нищо страшно в терминала, просто трябва да се внимава и да се чете.

HQ

in Soviet Russia there is no /usr there's only /ussr so they don't care  ;D ;D
Иначе всеки администратор или който и да е "голям разбирач" е съсипал поне 20 работещи системи преди да се е научил и не,с изчитане на 300 тона документи предварително не биха станали такива.

Малко реклама :
"rm -rf /" - вече и за вашия iPhone/iPod touch!  ;D

hyankov

@HQ:  ;D
@daf: страшничко си е, дори с -i редовно набиваш ентер набързо. Най-добрите съвети, които съм срещал са:
1) При всеки rm -rf ... спираш, вдигаш ръце от клавиатурата, внимателно прочиташ какво си написал и чак тогава ентер
2) за старият индиански вожд "Бързите Пръсти" са изписали куп скриптове, които wrap-ват rm-a да прави mv в скрита директория за trash, която се затрива на някакъв принцип бил той cron или на ръчица, когато се сетиш.

daf

Факт е, че е много важно преди да натиснеш enter да прочетеш какво си писал.
Сетих се за още една често срещана епична грешка:

delete from ... ; where ... :)


peerless

daf, за това не ползваш терминал а Sequel Pro и затваряш куери само ако ще да пишеш второ такова  ;D
 MacBook Pro (Mid 2012) 15" i7 @ 2.3GHz - 10.8.2, 8GB @ 1600MHz, 256GB SSD, GeForce GT 650M 1GB (Retina)
 MacBook White (Mid 2010) 13" C2D @ 2.4GHz - 10.7.4, 4GB @ 1066MHz, 500GB
 iMac 21.5" i5 2.5Ghz - 10.7.4, 6GB @ 1333Mhz, AMD Radeon HD 6750M
 MacBook Pro (Early 2008) 17" C2D @ 2.5GHz (ex)

hyankov

@daf, малко на лаф мохабет го обърнахме, но по повод where калузите наскоро доста нашумя този виц:

"Мечо програмиста си пожелал на златната рибка: "UPDATE mechki_v_gorata SET sex = f; WHERE mechki_v_gorata<>'Мечо програмиста "
Оттогава мечо е лесбийка, но винаги внимава каде слага точка и запетайка. ;)"

peerless

Хахахаха, еее хахаха....  ;D ;D ;D ;D ;D
 MacBook Pro (Mid 2012) 15" i7 @ 2.3GHz - 10.8.2, 8GB @ 1600MHz, 256GB SSD, GeForce GT 650M 1GB (Retina)
 MacBook White (Mid 2010) 13" C2D @ 2.4GHz - 10.7.4, 4GB @ 1066MHz, 500GB
 iMac 21.5" i5 2.5Ghz - 10.7.4, 6GB @ 1333Mhz, AMD Radeon HD 6750M
 MacBook Pro (Early 2008) 17" C2D @ 2.5GHz (ex)

Морт

"man", последван от общо взето всяка команда, идваща стандартно с ОС Х (или пък някой линукс) - дава много потробно описание за функциите на командата, както и различни параметри. Например "man cd"
Излиза се с натискане на q

"sudo COMMAND" - изпълнява командата COMMAND с администраторски привилегии. Първия път пита за парола. Ако потребителят няма парола _не може_ да се използва. Следващите непосредствени използвания не искат парола, но след известен период на липса на активност отново иска парола

"rm FILENAME" - изтрива (_изтрива_, не праща в Trash) файлът FILENAME. За директории се подава параметър -r "rm -r DIRECTORY". -f автоматично казва да на всички въпроси. От там и прословутото "rm -rf /" - Изтрии основната директория и всичко в нея без повече въпроси.

"touch FILENAME" - Променя датите на достъп и промяна (Date Modified, Date Accessed) на файла с име FILENAME . Значително по-полезно приложение - създаване на несъществуващ файл с име FILENAME. Например "touch this" ще създаде празен файл с име this в текущата директория (въпреки, че всъщност can't touch this)

Особено полезно е за флашки, мемори карти и т.н. По подразбиране ако се изтрие нещо от флашка под OS X, то не се изтрива, а отива в скрита папкйа .Trashes, от където се маха след Empty Trash. Решение - "rm -r .Trashes", "touch .Trashes" в основата на флашката.
.fr

aseniv84

A възможно ли е с една команда да дам force Quit на всички приложения които вървят в даден момент, и след това да ми изключи компютъра? 
iMac-Intel Core i5-Mid 2011

Lycan

Това може да го направиш само с трите клавиша + eject

Морт

&& обединява команди. Ако първата се изпълни успешно, пуска втората.
Цитатkill -9 `ps -u USERNAME -o "pid="` && sudo halt

Всяко приложение си има процес(и), който си има уникално ID. Командата (те са по-скоро 2) преди sudo halt праща сигнал за моментално приключване на всички процеси, принадлежащи на потребителя USERNAME и когато приключи изключва системата.

ps-ът в кавичките е команда за изброяване на всички процеси вървящи в момента на пашината.
  -u филтрира по зададен потребител
  -o форматира резултатите така, че да покаже само ID-то на всеки процес.
В резултат kill получава списъка с всички процеси и им казва да умрат моментално (-9 е сигнал, че процесът трябва да спре, без право да го игнорира).
.fr