Nowe posty

Autor Wątek: Jak zrobić "skrót" do programu  (Przeczytany 4660 razy)

prezes.cc

  • Gość
Jak zrobić "skrót" do programu
« dnia: 2018-02-23, 17:45:57 »
Nie wiem jak się to nazywa, ale chodzi mi o to, że jest polecenie ls -l a ja chcialbym zamiast tego polecenia wpisywać samo l. Po prostu zrobić zamiennik polecenia ls -l samym l

Offline pavbaranov

  • Users
  • Guru
  • *****
  • Wiadomości: 878
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #1 dnia: 2018-02-23, 18:48:44 »
Chyba chodzi Ci o alias. Kiedyś popełniłem taki tekst: http://www.archlike.darmowefora.pl/index.php/topic,70.msg85.html?PHPSESSID=irl5rg7ul1bm420rk8m0bu6he3#msg85
Mam nadzieję, że wszystko będzie jasne.

prezes.cc

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #2 dnia: 2018-02-23, 23:02:23 »
Tekst wygląda przyjaźnie ;), ale narazie jestem na Windzie, żeby to sprawdzić.

prezes.cc

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #3 dnia: 2018-02-24, 00:53:42 »
W którym miejscu dopisać mój alias w pliku ~/.bashrc - na samym końcu, bo nie chce nic sknocić?

Offline pavbaranov

  • Users
  • Guru
  • *****
  • Wiadomości: 878
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #4 dnia: 2018-02-24, 07:56:21 »
Gdzie chcesz, byleby nie w "środku" czegoś, co już tam masz. Ja mam dopisane na końcu.

raczyk

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #5 dnia: 2018-02-25, 18:44:03 »
#
« Ostatnia zmiana: 2018-02-28, 13:36:43 wysłana przez raczyk »

prezes.cc

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #6 dnia: 2018-02-25, 19:14:41 »
Skrypt działa, ale czy jest możliwe, żeby wyświetlał wykaz plików i katalogów jeden pod drugim, bo narazie to mi wyświetla wszystko w wierszu.

raczyk

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #7 dnia: 2018-02-25, 19:27:56 »
#
« Ostatnia zmiana: 2018-02-28, 13:37:24 wysłana przez raczyk »

prezes.cc

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #8 dnia: 2018-02-25, 19:38:16 »
EL jak Lizak

raczyk

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #9 dnia: 2018-02-25, 19:44:03 »
#
« Ostatnia zmiana: 2018-02-28, 13:37:39 wysłana przez raczyk »

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 402
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #10 dnia: 2018-02-25, 19:57:03 »
Cytat: raczyk
Plusy skryptu to m. in. łatwa możliwość odnalezienia go w przyszłości w celu edycji lub usunięcia np. poleceniem type czy which.

Tak, zwłaszcza jak użytkowik zapomni nazwy lub ustawi 70 kolejnych aliasów i będzie szukał wiatru w /usr/bin. Brawo! W tym momencie łatwiejsza jest edycja jednego pliku tekstowego na koncie danego użytkownika lub w /etc/?rc.

Jeśli już coś ładujecie powyżej /home to dla lokalnych modyfikacji/usprawnień przeznaczony jest katalog /usr/local/ - w tym przypadku /usr/local/bin/; za: FHS.

Kolejna kwestia uprawnienia - po co w cały świat? Normalny skrypt działa dobrze, jesli ma ustawione 0755.

Zdzisław Knop

Podaj wynik polecenia z konta użytkownika, a potem jako root (najpierw sudo su - LUB su -):
alias

« Ostatnia zmiana: 2018-02-25, 20:10:35 wysłana przez marcin'82 »
marcin82

raczyk

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #11 dnia: 2018-02-25, 20:20:13 »

Jeśli już coś ładujecie powyżej /home to dla lokalnych modyfikacji/usprawnień przeznaczony jest katalog /usr/local/ - w tym przypadku /usr/local/bin/; za: FHS.

bardzo trafna uwaga
dzięki

prezes.cc

  • Gość
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #12 dnia: 2018-02-25, 21:38:37 »
Teraz mam tak - samo polecenie el



Brakuje praw dostępu.

Polecenie Alias dla użytkownika i roota

« Ostatnia zmiana: 2018-02-25, 22:08:37 wysłana przez Zdzisław Knop »

Offline pavbaranov

  • Users
  • Guru
  • *****
  • Wiadomości: 878
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #13 dnia: 2018-02-26, 08:45:50 »
Utwórz jako root np. skrypt /usr/local/bin/l z zawartością:
#!/bin/bash
ls -l
ustaw chmod 755 /usr/local/bin/l
i już l działa jako własne polecenie.

Nie będę polemizować co lepsze alias, czy skrypt, bo to są dywagacje nt. wyższości świąt Wielkiej Nocy nad Bożego Narodzenia, jednakże proponowane wyżej rozwiązanie jest - moim zdaniem - głupotą.
Po pierwsze - wprowadza do systemu program wykonywalny (skrypt) pomijając system zarządzania programami (nie ma znaczenia tu dystrybucja). Prosimy się o kłopoty.
Po drugie - wprowadza program systemowo, dostarczając go wszystkim użytkownikom, czy tego ów inny użytkownik chce, czy nie (linux niekoniecznie musi mieć jednego użytkownika; ba nawet jeśli ma, to dobrze jest niekiedy sprawdzić działanie na użytkowniku testowym, by wykluczyć możliwość wadliwego działania systemu właśnie ze względu na modyfikacje zrobione na danym koncie). Uszczęśliwiamy zatem kogoś na siłę.
Po trzecie - dość łatwo w proponowany sposób nadpisać polecenie systemowe znajdujące się w /usr/local/bin (o ile tam się znajdzie; teoretycznie winny binarki iść do /usr/bin, ostatecznie do /bin, jednakże nie mogę wykluczyć, że ktoś napisze jakiś program, gdzie ta binarka pójdzie do /usr/local/bin) jakimś własnym. Pomijam już to, że wówczas system nie będzie zachowywał się tak, jak przewidzieli jego twórcy i twórcy poszczególnych aplikacji, które mogą się odwoływać do tych poleceń.

Jeśli już robić skrypt, który ma służyć określonemu jedynie użytkownikowi, to wg zasady: wolnoć Tomku w swoim domku. Dla użytkownika i dokonywania zmian w zachowaniu systemu, służy wyłącznie jego katalog domowy. Współczesne systemy często w PATH mają nawet ustawione ~/bin/ (jeśli nawet nie ma, to łatwo to ustawić). I to jest właściwe miejsce wg mnie na takie skrypty. Określony użytkownik uzyskuje funkcjonalność według własnych potrzeb, ale innemu nie zmieniamy systemu. Nie powoduje żadnej ingerencji w katalogi systemowe, które w ogóle nie powinny być dla użytkownika. Dla systemu paczek jest to obojętne (ten nie ma nic do /home i tutaj niczego nie zapisuje).

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2757
  • 1709
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #14 dnia: 2018-02-26, 11:04:23 »
Pozwolicie, że wyraże swoją opinię, albo załużmy nowy temat do dyskusji o bezpieczeństwie ...
Cytat:  raczyk
Nie wiem czy się zgodzisz, ale czytałem1 jakiś czas temu, że lepiej unikać dziś w nowoczesnych środowiskach stosowania aliasów. Dlaczego?
Ponieważ lepiej napisać niewielki skrypt bash.  Plusy skryptu to m. in. łatwa możliwość odnalezienia go w przyszłości w celu edycji lub usunięcia np. poleceniem type czy which. Miejsc gdzie zdefiniowane są natomiast aliasy jest kilka w systemie, zaczynając od zmiennych wbudowanych BASH_ALIASES po pliki /etc/bashrc oraz ~/.bashrc. Jeśli chcemy zlokalizować gdzie jest konkretny alias to pojawia się problem.

Wszystko zależy od systemu, ale ze znalezieniem aliasu nie powinno być problemu, bynajmniej jeśli mówimy o tych robionych przez użytkownika.
Aktywna powłoka bash , więc --> ~/.bashrc ( ewentualnie dla root /root/.bashrc , a nie żadne /etc ! ponieważ przy aktualizacji system nadpisze plik )

SPROSTOWANIE
Przepraszam, jeżeli chodzi o aliasy dla wszystkich użytkowników to chyba masz racje, czyli konfiguracja aliasów będzie w /etc/ ...
( choc mam dylemat ... później dopiszę ... )

============================={

( Ciąg dalszy ...

Nie posiadam pliku /etc/bashrc

$ ls /etc/bashrc
ls: nie ma dostępu do '/etc/bashrc': Nie ma takiego pliku ani katalogu

ale jest /etc/bash.bashrc

$ locate bashrc
/etc/bash.bashrc
/etc/skel/.bashrc
/home/tele/.bashrc
...

Według poradników w intrenecie

Cytuj
    /etc/bashrc (system; interactive non-login; functions and aliases)
    /etc/profile (system; interactive login; environment variables)
    ~/.bashrc (user; interactive non-login; functions and aliases)
    ~/.bash_profile (user; interactive login; environment variables)


Debian
Jedyny, jeden alias znalazłem w ~/.bashrc
pliki użytkownika są kopiowane z /etc/skel/.bashrc
i należy od do bash

dpkg -S /etc/skel/.bashrc
bash: /etc/skel/.bashrc

PCLinuxOS
Zawiera wiecej aliasów i są one w /etc/profile.d/60alias.sh ( locate alias )
i również należy on do pakietu bash ( rpm -qf /sciezka/plik )

Czyli to prawda, że nie ma jednego ustalonego miejsca, ale jest to do odnalezienia.

A co do bezpieczeństwa ...
Może lepiej by było gdyby
/home/uzytkownik/
├── pliki_uzytkownika/ ( nie powinny miec prawa wykonywalnosci )

└── pliki_tymczasowe/ ( nie powinny mieć prawa modyfikacji bez podania hasła, oprócz programu przez który zostały stworzone, i bez prawa wykonywalnosci )

Przy pisaniu programów, użytkownik mógłby sobie stworzyć specjalny folder z odpowiednimi uprawnieniami
lub podawałby za kazdym razem haslo użytkownika żeby uruchomić pisany program.


Chociaz tak naprawdę wszystkie pliki tymczasowe powinny być w /tmp
  a konfiguracyjne w /etc
Przy aktualizacji systemu, system spyta się czy nadpisać plik w /etc/ , lub go automatycznie pozostawi.
Ale czasami można coś niechcący kliknąć,
dlatego w przypadku bardzo ważnych własnych konfiguracji, warto mieć kopię zapasową.

Chciałbym jeszcze wrócić do " /etc/profile.d/ "
Mnie to trochę zaskoczyło, że jest to polecane.
Podejrzewam, że pierwszą dystrybucją z takim podejsciem była Mandriva i jest to na swój sposób wygodne,
ponieważ możemy tworzyć własne, nowe pliki konfiguracujne i bez problemu kopiować i wklejać do nowego systemu bez obawy nadpisania czegoś.
Oczywiście każdy może mieć inne zdanie, czy lepiej kopiować tylko aliasy, czy pliki z aliasami.
)

===================================}

Listę aliasów można sprawdzić, choć to prawda, że nie pokaże ścieżek do plików ( trzeba sobie poszukać jak ktoś gdzieś upakował nie wiadomo gdzie ( find, grep ))
alias

Cytat: pavbaranov
Nie będę polemizować co lepsze alias, czy skrypt, bo to są dywagacje nt. wyższości świąt Wielkiej Nocy nad Bożego Narodzenia,
Zgadzam się. Oby tylko bezpiecznie:
- odpowiednie uprawnienia
- nie kolidujace miejsce
- nie kolidujaca nazwa
- ( i może nie jakaś komenda dająca szczególne uprawnienia )

Cytat: pavbaranov
Współczesne systemy często w PATH mają nawet ustawione ~/bin/ (jeśli nawet nie ma, to łatwo to ustawić). I to jest właściwe miejsce wg mnie na takie skrypty.
Też tak myślałem, instalując programy, dopóki nie stwierdziłem, że da się je nadpisać.
Aczkolwiek w katalogu domowym mamy także ~/.bashrc i inne, więc chyba nie robi to różnicy pod względem bezpieczeństwa, więc nie zamierzam nikomu zabraniać.
Dla uzytkownika i tak wygodniej, a inny użytkownik ( oprócz root ) od ręki nie uruchomi. ( a bynajmniej nie powinien )
« Ostatnia zmiana: 2018-02-27, 12:18:56 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.