Kirjoittaja Aihe: C-kieli  (Luettu 13834 kertaa)

Snufkin

  • Käyttäjä
  • Viestejä: 454
    • Profiili
Vs: C-kieli
« Vastaus #20 : 31.03.22 - klo:13.08 »

Kun ohjelma on valmis siirrät/kopiot kääntäjän tuottaman binääritiedoston sellaiseen paikkaan joka on jossakin PATH muuttujassa määritellyissä poluissa.

Tuossa muuttujassa sellainen polku kuin /usr/local/bin. Onko tämä kansio sellainen, joka on käyttäjäkohtainen vai käytössä kaikkille koneen käyttäjille?
« Viimeksi muokattu: 31.03.22 - klo:13.14 kirjoittanut Snufkin »
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #21 : 31.03.22 - klo:14.41 »
Tuossa muuttujassa sellainen polku kuin /usr/local/bin. Onko tämä kansio sellainen, joka on käyttäjäkohtainen vai käytössä kaikkille koneen käyttäjille?

Tuo /usr/local/bin -kansiohan sisältää ajettavia ohjelmia, joita normaali käyttäjä voi käyttää. Selvinnee ihan empiirisesti, jos katsot sen sisältoä, niin voit tehdä saman johtopäätoksen, eli se on käytossä kaikille koneen käyttäjille.

Jos kääntää tuolla gcc -kääntäjällä .c -ohjelman, niin siinähän käänetyssä tiedostossa tulee se +x -lupa, eikä sitä tarvitse erikseen chmodilla asettaa.

Muutoin, jos omia ohjelmia tai skriptejä tekee kaikille järjestelmän käyttäjille suunniteltavaksi, niin turvallisinta lienee määritellä

Koodia: [Valitse]
chmod ug+401 omaSkripti
eli lukuoikeudet käyttäjälle, ryhmän jäsenille, ei kirjoitusoikeutta, ja ajo-oikeus. En nyt muista, voiko tiedostoa ajaa, jos ei ole lukuoikeutta. Jos on ohjelmoinut skriptin, varmaan toivoo, että ei kukaan pysty kirjoittamaan tiedostoon. Tuohan vastaa lukuoikeudet, ei kirjoitusoikeutta ja ajo-oikeus

Koodia: [Valitse]
chmod ug+r-x omaSkripti
Tuo nyt lienee virheeton esitys.

Eikös MS-DOSissa tuo ollut oletus, jollei ”.” ollut hakupolussa? Ja näinhän toimii Un*xissakin cdpath: ”.” etsitään ensin, jollei sen paikkaa ole muualle määritetty, eikä sitä voi jättää hausta kokonaan pois.

En muista, kummin päin DOSissa meni, kai senkin voisi tarkistaa jostain lähteestä, kun hakukoneella etsii oikeilla hakutermeillä, varmaan DOS-informaatiotakin on aika paljon saatavilla nykypäivänäkin, vaikka kyseistä järjestelmää ei olla enää pitkään aikaan käytettykään päätoimisesti.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

Snufkin

  • Käyttäjä
  • Viestejä: 454
    • Profiili
Vs: C-kieli
« Vastaus #22 : 31.03.22 - klo:15.00 »
Tuossa muuttujassa sellainen polku kuin /usr/local/bin. Onko tämä kansio sellainen, joka on käyttäjäkohtainen vai käytössä kaikkille koneen käyttäjille?

Tuo /usr/local/bin -kansiohan sisältää ajettavia ohjelmia, joita normaali käyttäjä voi käyttää. Selvinnee ihan empiirisesti, jos katsot sen sisältoä, niin voit tehdä saman johtopäätoksen, eli se on käytossä kaikille koneen käyttäjille.

Jos kääntää tuolla gcc -kääntäjällä .c -ohjelman, niin siinähän käänetyssä tiedostossa tulee se +x -lupa, eikä sitä tarvitse erikseen chmodilla asettaa.

Ok, kiitos. Ei ole nyt muita käyttäjiä koneella, joten työläs kokeilu. :)
Täytyy pitää mielessä nuo käyttöoikeudet.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #23 : 31.03.22 - klo:15.25 »
Eikös MS-DOSissa tuo ollut oletus, jollei ”.” ollut hakupolussa? Ja näinhän toimii Un*xissakin cdpath: ”.” etsitään ensin, jollei sen paikkaa ole muualle määritetty, eikä sitä voi jättää hausta kokonaan pois.

Mitä aiemmin kirjoitin, että varmaan voisi hakukoneella tarkistaa, mutta en tiedä, voiko sittenkään.

Katsoin hakutermillä

Koodia: [Valitse]
path environment variable linux versus ms dos
path environment variable linux versus dos

Tuossa ensin mainitussa tuli ainoastaan noin 1 360 000 hakutulosta, mutta ainut järkevin viittaus DOS-järjestelmän tuohon hakupolun kysymykseen yhdistettynä UNIX-järjestelmään oli lähteessä http://edutechwiki.unige.ch/en/Environment_variable#System_path_variables

Suora lainaus:

Koodia: [Valitse]
Lähde - [url]http://edutechwiki.unige.ch/en/Environment_variable#System_path_variables[/url]
Sitaatti - %PATH%

This variable contains a semicolon-delimited list of directories in which the command interpreter will search for executable files. Equivalent to the UNIX $PATH variable.


Equivalent viittaa sanatarkasti vastikkeeseen, samanarvoiseen tai yhtäpitävään, niin tuon perusteella se olisi ollut DOS:issa sama logiikka siinä, mitä tässä on nyt tullut esille tässä Linux-järjestelmän osalta.

Luulisi, että tuolla hakutermistollä loytyisi enemmän informaatiota, ja dokumentteja, joissa DOS ja Linux merkkijonot samassa dokumentissa mainittaisiin tuohon PATH -merkkijonoon, mutta ei.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: C-kieli
« Vastaus #24 : 31.03.22 - klo:16.03 »
Aitoa MS-DOSia ei minullakaan ole käsillä, mutta kokeilin DOSBoxissa, joka kuitenkin perustuu käsittääkseni FreeDOS-klooniin.

Tulos: ainakin DOSBoxissa tuntuu työkansio tarkistettavan ensimmäiseksi joka tapauksessa, PATH-ympäristömuuttujan arvosta riippumatta (ts. onko ”.” hakupolussa ja onko se siinä missä kohtaa). DOS siis ampuisi itseään jalkaan vakaasti ja varmasti.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #25 : 31.03.22 - klo:16.30 »
...DOS siis ampuisi itseään jalkaan vakaasti ja varmasti.

Ei ainut harhalaaki tuo, mitä siinä vanhassa Disk Operating Systemissä oli tiedostonnimen maksimipituuskin 8 -merkkiä ja laajenne-osa 3 -merkkiä yhteensä maksimissaan 12 merkkiä, ja ainakin nykyäänkin Windowsien tuo komentokehoitteen maksimi merkkijonon pituus on yhä 8191 merkkiä, muista, oliko se noinkaan montaa merkkiä niissä vanhoissa MS Dos:eissa, niissä ja oli ihan älyton se komennon pituusrajoitus.

Windows 10:n powershellistä en tiedä, kun en ole asiantuntija siinä, onko siinäkin tuo 8191 merkin lyhyys maksimi, mitä siinä voi käyttäjä syottää.

No, tämä lienee tästä MS Dos -keskustelusta, turha tätä nyt lähteä enää tähän suuntaan ketjun alkuperäistä aihetta lähteä viemään keskustelua, millä kaikin tavoin DOS teloo itseään omaehtoisesti harhaan menneillä laakeilla.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #26 : 31.03.22 - klo:17.24 »
Aitoa MS-DOSia ei minullakaan ole käsillä, mutta kokeilin DOSBoxissa, joka kuitenkin perustuu käsittääkseni FreeDOS-klooniin.

Tulos: ainakin DOSBoxissa tuntuu työkansio tarkistettavan ensimmäiseksi joka tapauksessa, PATH-ympäristömuuttujan arvosta riippumatta (ts. onko ”.” hakupolussa ja onko se siinä missä kohtaa). DOS siis ampuisi itseään jalkaan vakaasti ja varmasti.

Tuollainen huomio vielä, että itsellänikään millään medialla MS-DOSia saatavilla, kun ajat sitten olen hävittänyt DOSsin varmuuskopio-korputkin, eikä toisaalta missään koneessani ole 3.5 tuuman korppu-asemaakaan enää ollut pitkään aikaan.

Varmaan, jos viitsisi vähän vaivaa nähdä, niin tekisi alkuperäisestä esimerkiksi DOS 6.20, vaikka senkin jälkeen niitä on julkaistu vielä, niin tekisi virtuaalikoneen, niin näkisi natiivilla DOS:illa tuon, mutta tuo nyt lienee paras tietolähde tuo sinun SuperOscar -johtopäätelmä, mitä teit tuon DosBOXin kautta tähän hätään.

Se vain, että mitä käytin Google-hakua noilla hakutermeillä, mitä varmaan olisi löytynyt noilla hakutermeillä, jos jotain tarkempaa informaatiota jossain lähdedokumentissa netistä löytyy, kun Google on siinä määrin "älykäs" hakukone, että vaikka ei hakusanat nyt ihan täsmäisi suoraan lähteessä olevaa tekstiä, niin aika pitkälle "sinne päin" -mentelmällä löytyy usein myös.

Mutta sittenhän on näitä tilanteita, ei ole ainut kerta, kun jos tuo yksi lause, missä oli tuosta Dos PATH:istä tuolla edutechwikissä, minkä pistin tuohon aiemmin suoran lainauksen sieltä, niin siinä tapauksessa tuohan on virheellinen "tieto" siellä sitten, kun pidän sinun DosBoxilla tehtyä testitulosta luotettavampana, eli oikeammin Dosin ja UNIXin PATH lienevät ainakin osittain yhtä päteviä, eikä kaikissa tilanteissa tosiaan, niinkuin tuossa lähdeviittauksessani annetaan ymmärtää.

Ei täältä Internetin ihmemaailmasta nyt ihan kaikkea kuitenkaan pysty selvittämään, olen tullut siihen tulokseen aiemminkin.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: C-kieli
« Vastaus #27 : 31.03.22 - klo:19.50 »
Ei ainut harhalaaki tuo, mitä siinä vanhassa Disk Operating Systemissä oli tiedostonnimen maksimipituuskin 8 -merkkiä ja laajenne-osa 3 -merkkiä yhteensä maksimissaan 12 merkkiä,

Tosin eipä alkuperäisessä Unixissakaan tainnut paljon enempää olla, taisi olla 14 merkkiä (muttei jaettuna kahteen osaan; se on DECin käyttisten perintöä). MS-DOS tosiaan ei ole hirveän relevantti. Nostin sen vain esiin cdpathin takia, koska toisin kuin PATH, se toimii niin, ettei työkansiosta etsimistä voi millään tavalla estää.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

kamara

  • Käyttäjä
  • Viestejä: 2944
    • Profiili
Vs: C-kieli
« Vastaus #28 : 01.04.22 - klo:07.59 »
DOS siis ampuisi itseään jalkaan vakaasti ja varmasti.

Se ei varmaankaan ole ainoa MikroSoft:in tuote, joka niin tekee. ;)


Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #29 : 02.04.22 - klo:04.49 »
DOS siis ampuisi itseään jalkaan vakaasti ja varmasti.

Se ei varmaankaan ole ainoa MikroSoft:in tuote, joka niin tekee. ;)

Eihän bisnes perustukaan siihen, että yrittäjällä olisi täydellinen tuote.

Tässä maailmassa kaikki fyysinen, tai aineeton materiaali tai materia on ennen pitkää kaupan, joku tekee sillä gillaa.

Mitä varmaan olette katsoneet, seuraan Bill Gatesia Linkedinissä, mistä tulee sähköpostiin se Gatesin aika ajoin uutiskirje-artikkeli, niin mitä elämäni aikana olisi hienoa päästä käymään ainakin kerran elämässä Yhdysvalloissa, mutta varallisuus on este, se on todella kallis matkailumaa tavallisen Pii-laaksossa kävijän näkökulmasta, saati sitten siellä asuminen ja eläminen, jos aikoo siellä perheen esim. perustaa, jossa se positiivinen puoli, että sitten jälkeläisillä olisi Yhdysvaltojen natiivikansalaisuus, mitä perheessäkin jonkinlainen ja sen perustamisen yhteydessä tietty suvun jatkumisen ajatus.

Eurojackpotissa oli taas yksi oikein, eli Ei Voittoja, Veikkauksen ulostulona, niin vielä Amerikan Road Trip lottovoittajan näkökulmasta saa odottaa aikaansa.

Jos pääsen varoihini tässä matkumastaan Yhdysvaltoihin, mitä tosiaan sinne ei tyhjätaskuna kannnata lähteä ollenkan, niin Microsoftin Visitor's Centerissä tottakai tulisi käytyä, ja Silicon Valleyssa näin IT-ammattilaisena siellä Californiassa seikkailisin, niin tiedä, jos tapaan Bill Gatesin itse henkilökohtaisesti vielä elinaikanani, mitä mies on vielä elossa, vaikka on minua tovin vanhempi, niin totta kai ylistän tämän järjestelmää, "Bill Gatesilla hyvä järjestelmä", pistit hyvän järjestelmän aikoinaan pyörimään.

Tuo aiempi viite pitää paikkansa bines-näkökulmasta, eikä lainkaan tekniikan osalta, mitä Microsoft -omaisuuden lähteenä Bill Gates loi pitkään ihmisen tähän astisen historian merkittävimmän omaisuuden, vaikka enää ei olekaan maailman rikkain mies. Eli liiketalous- ja hallintopuolelta Bill Gates pisti tädellisen järjestelmän pyörimään, mutta sitten tekniikan kannalta ei ehkä niinkään koskaan? Tämä on kiistaton fakta.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

teele

  • Käyttäjä
  • Viestejä: 809
    • Profiili
Vs: C-kieli
« Vastaus #30 : 02.04.22 - klo:21.15 »

Tämän säikeen ansiosta kokeilin ensimmäisen kerran

Koodia: [Valitse]
echo $PATH

ja, tosiaan, vaikuttaa siltä, että sillä saa polun näkyviin :)

AimoE

  • Käyttäjä
  • Viestejä: 2707
    • Profiili
Vs: C-kieli
« Vastaus #31 : 03.04.22 - klo:06.50 »
Itse käytän komentoa:
Koodia: [Valitse]
alias epath='echo $PATH | sed "s/:/\n/g"'

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: C-kieli
« Vastaus #32 : 03.04.22 - klo:18.01 »
Zsh:n käyttäjä tekisi yksinkertaisesti näin:

Koodia: [Valitse]
print -l $path
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

pere

  • Käyttäjä
  • Viestejä: 70
    • Profiili
Vs: C-kieli
« Vastaus #33 : 04.04.22 - klo:07.17 »
Minä olen tehnyt omia ohjelmia varten kotihakemistoon hakemiston bin
esim. /home/mina/bin ja lisännyt sen PATH polkuun

Snufkin

  • Käyttäjä
  • Viestejä: 454
    • Profiili
Vs: C-kieli
« Vastaus #34 : 04.04.22 - klo:13.06 »
Minä olen tehnyt omia ohjelmia varten kotihakemistoon hakemiston bin
esim. /home/mina/bin ja lisännyt sen PATH polkuun

Voisi noinkin tehdä. Itse olen ollut arka muokaamaan mitään järjestelmätiedostoja, mutta pitää ehkä rohkaistua.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

_Pete_

  • Käyttäjä
  • Viestejä: 1836
  • Fufufuuffuuu
    • Profiili
Vs: C-kieli
« Vastaus #35 : 04.04.22 - klo:14.28 »
Minä olen tehnyt omia ohjelmia varten kotihakemistoon hakemiston bin
esim. /home/mina/bin ja lisännyt sen PATH polkuun

Voisi noinkin tehdä. Itse olen ollut arka muokaamaan mitään järjestelmätiedostoja, mutta pitää ehkä rohkaistua.

Minulla on kaksi Ubuntu 20.04 asennusta ja kummassakin on vakiona polussa hakemisto:

/home/<tunnus>/.local/bin

Ilman siis että on muuttanut mitään systemiasetusta. Eli tuonne hakiemistoon pistää omat tuotokset ne löytyvät polusta.

Perinteinen tapa laittaa itse käännetyt binäärit polkuun on pistää binäärit /usr/local/bin hakemistoon.


Snufkin

  • Käyttäjä
  • Viestejä: 454
    • Profiili
Vs: C-kieli
« Vastaus #36 : 04.04.22 - klo:15.05 »

Minulla on kaksi Ubuntu 20.04 asennusta ja kummassakin on vakiona polussa hakemisto:

/home/<tunnus>/.local/bin

Ilman siis että on muuttanut mitään systemiasetusta. Eli tuonne hakiemistoon pistää omat tuotokset ne löytyvät polusta.

Perinteinen tapa laittaa itse käännetyt binäärit polkuun on pistää binäärit /usr/local/bin hakemistoon.

Minulla 2x Xubunutu, jossa taustalla sama Ubuntu 20.04. Mutta ei niissä ole tuollaista /home-kansiota $PATH:ssa.

jos haluaa, niin miten tuota $PATH -muuttujaa muutetaan turvallisesti sotkematta mitään?
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

_Pete_

  • Käyttäjä
  • Viestejä: 1836
  • Fufufuuffuuu
    • Profiili
Vs: C-kieli
« Vastaus #37 : 04.04.22 - klo:15.42 »

Minulla on kaksi Ubuntu 20.04 asennusta ja kummassakin on vakiona polussa hakemisto:

/home/<tunnus>/.local/bin

Ilman siis että on muuttanut mitään systemiasetusta. Eli tuonne hakiemistoon pistää omat tuotokset ne löytyvät polusta.

Perinteinen tapa laittaa itse käännetyt binäärit polkuun on pistää binäärit /usr/local/bin hakemistoon.

Minulla 2x Xubunutu, jossa taustalla sama Ubuntu 20.04. Mutta ei niissä ole tuollaista /home-kansiota $PATH:ssa.

jos haluaa, niin miten tuota $PATH -muuttujaa muutetaan turvallisesti sotkematta mitään?

Jaa mistäköhän ovat ilmaantuneet PATHini sitten.

PATH voi muokata tämän ohjeen mukaan:

https://linuxize.com/post/how-to-add-directory-to-path-in-linux/



Snufkin

  • Käyttäjä
  • Viestejä: 454
    • Profiili
Vs: C-kieli
« Vastaus #38 : 04.04.22 - klo:16.00 »
PATH voi muokata tämän ohjeen mukaan:

https://linuxize.com/post/how-to-add-directory-to-path-in-linux/

Kiitos, ei ollutkaan vaikeaa. Nyt toimii ja pysyy omat viritelmät omassa karsinassaan. :)
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: C-kieli
« Vastaus #39 : 06.04.22 - klo:12.49 »
Itse en ole koskaan luonut omaan kotikansioon tuota bin -hakemistoa, kun järjestelmässäni kotikäytossä olevassa läppäri-Minti/Ubuntussani ole muita käyttäjiä, kuin itse olen ainoa käyttäjä.

En tiedä, onko tuossa mitään hyotyä muuta, paitsi se tietty, että jos järjestelmässä on useampi käyttäjä, niin voi luoda ryhmän tuosta $HOME -kansion alakansioista, muista käyttäjistä, ja sitten jos tekee omia ohjelmia myos yhteisen hyvän eteen, että järjestelmän muutkin käyttäjät voivat käyttää niitä, niin käytto-oikeudet sitten tuolle luodulle ryhmälle, ja sitten sen oman kotikansion bin -alihakemiston pistää tuonne ympäristomuuttujaan pathiin.

Onko siinä mitään muuta etua, mitä siinä saavuttaa.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)