Nowe posty

xx Zewnętrzna karta wifi (1)
Wczoraj o 23:32:00
xx sieć domowa - zepsuty nautilus (1)
Wczoraj o 16:25:24
xx Skrypt ubijający usługę (3)
Wczoraj o 08:10:21
xx Laptop się nie wyłącza (31)
2018-06-18, 14:07:21
xx [ROZWIĄZANY] partycjonowanie dla brtfs (7)
2018-06-15, 17:10:26
xx [SOLVED] X Server nie działa po aktualizacji pakietów... (11)
2018-06-13, 23:41:25
xx [ Gra Za Darmo przez okreslony czas ] Ziggurat (0)
2018-06-12, 18:17:28
xx Linux Mint 19.Beta (18)
2018-06-09, 18:48:16
xx Streamowanie pulpitu i gier linux ubuntu na android (9)
2018-06-09, 17:38:36
xx zrobmikompa.pl - co myślicie o tej stronce (6)
2018-06-09, 16:42:47

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

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
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
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

Offline pavbaranov

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 130
    • 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.

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
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ć.
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
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ć?
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

Offline pavbaranov

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 130
    • 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 »

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
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.
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

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 »

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
Odp: Jak zrobić "skrót" do programu
« Odpowiedź #8 dnia: 2018-02-25, 19:38:16 »
EL jak Lizak
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

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
  • Stały bywalec
  • ***
  • Wiadomości: 217
    • 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

Offline Zdzisław Knop

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 304
    • Zobacz profil
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 »
Windows for Gamers -- Linux for Programming -- FreeBSD, Haiku as a hobby

Offline pavbaranov

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 130
    • 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: 1916
  • 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 »
Pochwal się swoją kartą graficzną w tym wątku-->
http://forum.linux.pl/index.php/topic,19841.msg121122.html#msg121122