lab1

1. Cel laboratorium

Celem ćwiczeń było przypomnienie sobie podstaw działania w systemie operacyjnym Linux.

2. Przebieg laboratorium

* 2.1 Katalog domowy

[wsp29@st09 ~]$ pwd

/home/wsp29

[wsp29@st09 ~]$ ls -la

razem 252

drwxr-xr-x 19 wsp29 wsp29 4096 paź 15 12:16 .

drwxr-xr-x  3 root  root     0 paź 15 12:10 ..

-rw-------  1 wsp29 wsp29   40 paź 15 12:12 .bash_history

-rw-r--r--  1 wsp29 wsp29   18 paź 12 14:43 .bash_logout

-rw-r--r--  1 wsp29 wsp29  176 paź 12 14:43 .bash_profile

-rw-r--r--  1 wsp29 wsp29  225 paź 12 14:43 .bashrc

-rw-r--r--  1 wsp29 wsp29  124 paź 12 14:43 .bashrc.rpmnew

drwx------  7 wsp29 wsp29 4096 paź 15 12:11 .beagle

drwxr-xr-x  2 wsp29 wsp29 4096 paź 15 12:16 Desktop

-rw-------  1 wsp29 wsp29   26 paź 15 12:10 .dmrc

drwx------  4 wsp29 wsp29 4096 paź 15 12:11 .gconf

drwx------  2 wsp29 wsp29 4096 paź 15 12:17 .gconfd

drwxrwxr-x  3 wsp29 wsp29 4096 paź 15 12:10 .gnome

drwxr-xr-x  6 wsp29 wsp29 4096 paź 15 12:10 .gnome2

drwx------  2 wsp29 wsp29 4096 paź 15 12:10 .gnome2_private

drwxrwxr-x  2 wsp29 wsp29 4096 paź 15 12:10 .gstreamer-0.10

-rw-r--r--  1 wsp29 wsp29   87 paź 15 12:10 .gtkrc-1.2-gnome2

-rw-------  1 wsp29 wsp29  169 paź 15 12:10 .ICEauthority

drwxr-xr-x  3 wsp29 wsp29 4096 paź 12 14:43 .kde

drwx------  3 wsp29 wsp29 4096 paź 15 12:10 .metacity

drwxr-xr-x  5 wsp29 wsp29 4096 paź 15 12:10 .mozilla

drwxr-xr-x  3 wsp29 wsp29 4096 paź 15 12:10 .nautilus

drwxr-xr-x  3 wsp29 wsp29 4096 paź 12 14:43 pvm3

-rw-rw-r--  1 wsp29 wsp29  888 paź 15 12:16 .recently-used.xbel

drwxrwxr-x  3 wsp29 wsp29 4096 paź 15 12:10 .redhat

drwx------  2 wsp29 wsp29 4096 paź 15 12:11 .ssh

drwx------  2 wsp29 wsp29 4096 paź 15 12:10 .Trash

-rw-r--r--  1 wsp29 wsp29 5428 paź 12 14:43 .vimrc

drwxr-xr-x  2 wsp29 wsp29 4096 paź 15 12:10 .wapi

-rw-r--r--  1 wsp29 wsp29 1008 paź 12 14:43 .xpvm_hosts

-rw-r--r--  1 wsp29 wsp29  252 paź 15 12:10 .xsession-errors

-rw-r--r--  1 wsp29 wsp29  658 paź 12 14:43 .zshrc

[wsp29@st09 ~]$ ls -l | grep sh

[wsp29@st09 ~]$ ls -l | grep .ssh

[wsp29@st09 ~]$ ls -l

razem 16

drwxr-xr-x 2 wsp29 wsp29 4096 paź 15 12:16 Desktop

drwxr-xr-x 3 wsp29 wsp29 4096 paź 12 14:43 pvm3

[wsp29@st09 ~]$ ls -la | grep .ssh

drwx------  2 wsp29 wsp29 4096 paź 15 12:11 .ssh

[wsp29@st09 ~]$ ls -la | grep sh

-rw-------  1 wsp29 wsp29   40 paź 15 12:12 .bash_history

-rw-r--r--  1 wsp29 wsp29   18 paź 12 14:43 .bash_logout

-rw-r--r--  1 wsp29 wsp29  176 paź 12 14:43 .bash_profile

-rw-r--r--  1 wsp29 wsp29  225 paź 12 14:43 .bashrc

-rw-r--r--  1 wsp29 wsp29  124 paź 12 14:43 .bashrc.rpmnew

drwx------  2 wsp29 wsp29 4096 paź 15 12:11 .ssh

drwx------  2 wsp29 wsp29 4096 paź 15 12:10 .Trash

-rw-r--r--  1 wsp29 wsp29  658 paź 12 14:43 .zshrc

[wsp29@st09 ~]$ id

uid=1228(wsp29) gid=1228(wsp29) grupy=1228(wsp29) context=user_u:system_r:unconfined_t

[wsp29@st09 ~]$ logname

wsp29

[wsp29@st09 ~]$ set TESTZMIENNA=12

[wsp29@st09 ~]$  echo $TESTZMIENNA

[wsp29@st09 ~]$ export TEST=2

[wsp29@st09 ~]$ 

[wsp29@st09 ~]$ echo $TEST

2

[wsp29@st09 ~]$ set TEST=3

[wsp29@st09 ~]$ echo $TEST

2

[wsp29@st09 ~]$ export TEST=3

[wsp29@st09 ~]$ echo $TEST

3

[wsp29@st09 ~]$ alias ll='export TEST=12'

[wsp29@st09 ~]$ ll

[wsp29@st09 ~]$ echo $TEST

12

[wsp29@st09 ~]$ hostname

st09.lab306

* 2.2 .bashrc i .profile

[wsp29@st09 ~]$ ls -la

razem 252

drwxr-xr-x 19 wsp29 wsp29 4096 paź 15 12:19 .

drwxr-xr-x  3 root  root     0 paź 15 12:10 ..

-rw-------  1 wsp29 wsp29  297 paź 15 12:20 .bash_history

-rw-r--r--  1 wsp29 wsp29   18 paź 12 14:43 .bash_logout

-rw-r--r--  1 wsp29 wsp29  176 paź 12 14:43 .bash_profile

-rw-r--r--  1 wsp29 wsp29  225 paź 12 14:43 .bashrc

-rw-r--r--  1 wsp29 wsp29  124 paź 12 14:43 .bashrc.rpmnew

drwx------  7 wsp29 wsp29 4096 paź 15 12:11 .beagle

drwxr-xr-x  2 wsp29 wsp29 4096 paź 15 12:19 Desktop

-rw-------  1 wsp29 wsp29   26 paź 15 12:10 .dmrc

drwx------  4 wsp29 wsp29 4096 paź 15 12:11 .gconf

drwx------  2 wsp29 wsp29 4096 paź 15 12:20 .gconfd

drwxrwxr-x  3 wsp29 wsp29 4096 paź 15 12:10 .gnome

drwxr-xr-x  6 wsp29 wsp29 4096 paź 15 12:10 .gnome2

drwx------  2 wsp29 wsp29 4096 paź 15 12:10 .gnome2_private

drwxrwxr-x  2 wsp29 wsp29 4096 paź 15 12:10 .gstreamer-0.10

-rw-r--r--  1 wsp29 wsp29   87 paź 15 12:10 .gtkrc-1.2-gnome2

-rw-------  1 wsp29 wsp29  169 paź 15 12:10 .ICEauthority

drwxr-xr-x  3 wsp29 wsp29 4096 paź 12 14:43 .kde

[wsp29@st09 ~]$ p29 wsp29 4096 paź 15 12:10 .metacity

drwxr-xr-x  5 wsp29 wsp29 4096 paź 15 12:10 .mozilla

drwxr-xr-x  3 wsp29 wsp29 4096 paź 15 12:10 .nautilus

drwxr-xr-x  3 wsp29 wsp29 4096 paź 12 14:43 pvm3

-rw-rw-r--  1 wsp29 wsp29  889 paź 15 12:19 .recently-used.xbel

drwxrwxr-x  3 wsp29 wsp29 4096 paź 15 12:10 .redhat

drwx------  2 wsp29 wsp29 4096 paź 15 12:11 .ssh

drwx------  2 wsp29 wsp29 4096 paź 15 12:10 .Trash

-rw-r--r--  1 wsp29 wsp29 5428 paź 12 14:43 .vimrc

drwxr-xr-x  2 wsp29 wsp29 4096 paź 15 12:10 .wapi

-rw-r--r--  1 wsp29 wsp29 1008 paź 12 14:43 .xpvm_hosts

-rw-r--r--  1 wsp29 wsp29  252 paź 15 12:10 .xsession-errors

-rw-r--r--  1 wsp29 wsp29  658 paź 12 14:43 .zshrc

[wsp29@st09 ~]$ .bashrc

bash: .bashrc: command not found

[wsp29@st09 ~]$ vim .bashrc

[wsp29@st09 ~]$ vim .bashrc

//konsola2

[wsp29@st09 ~]$ echo $TEST

[wsp29@st09 ~]$ echo $TEST1

tekst jakis

[wsp29@st09 ~]$ 

Zawartość pliku .bashrc

 1 # .bashrc

  2 

  3 # User specific aliases and functions

  4 

  5 # Source global definitions

  6 if [ -f /etc/bashrc ]; then

  7         . /etc/bashrc

  8 fi

  9 export EDITOR=vim

 10 export PVM_ROOT=/usr/share/pvm3

 11 export PVM_ARCH=LINUX

 12 export PVMNETSOCKPORT=40000

 13 export TEST1="tekst jakis"

* 2.3 Poruszanie się

[wsp29@st09 ~]$ ls

Desktop  pvm3

[wsp29@st09 ~]$ mkdir A

[wsp29@st09 ~]$ mkdir B

[wsp29@st09 ~]$ cd A

[wsp29@st09 A]$ ls

[wsp29@st09 A]$ mkdir AA

[wsp29@st09 A]$ mkdir BB

[wsp29@st09 A]$ cd AA

[wsp29@st09 AA]$ mkdir AAA

[wsp29@st09 AA]$ mkdir BBB

[wsp29@st09 AA]$ ls

AAA  BBB

[wsp29@st09 AA]$ cd ../../

[wsp29@st09 ~]$ ls

A  B  Desktop  pvm3

[wsp29@st09 ~]$ cd B

[wsp29@st09 B]$ ls

[wsp29@st09 B]$ mkdir CC

[wsp29@st09 B]$ cd

[wsp29@st09 ~]$ ls

A  B  Desktop  pvm3

[wsp29@st09 ~]$ cd A/AA/BBB

[wsp29@st09 BBB]$ pwd

/home/wsp29/A/AA/BBB

[wsp29@st09 BBB]$ cd

[wsp29@st09 ~]$ cd B/CC

[wsp29@st09 CC]$ cd

[wsp29@st09 ~]$ rmdir /home/wsp29/B/CC

[wsp29@st09 ~]$ rmdir /home/wsp29/A/AA/AAA

[wsp29@st09 ~]$ rmdir /home/wsp29/A/AA/BBB

[wsp29@st09 ~]$ rmdir /home/wsp29/A/AA

[wsp29@st09 ~]$ rmdir /home/wsp29/A/BB

[wsp29@st09 ~]$ rmdir /home/wsp29/A

[wsp29@st09 ~]$ rmdir /home/wsp29/B

[wsp29@st09 ~]$ ls

Desktop  pvm3

[wsp29@st09 ~]$ 

* 2.4 Pliki

[wsp29@st09 ~]$ cat .bashrc

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

export EDITOR=vim

export PVM_ROOT=/usr/share/pvm3

export PVM_ARCH=LINUX

export PVMNETSOCKPORT=40000

export TEST1="tekst jakis"

[wsp29@st09 ~]$ head .bashrc

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

export EDITOR=vim

export PVM_ROOT=/usr/share/pvm3

[wsp29@st09 ~]$ tail .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

export EDITOR=vim

export PVM_ROOT=/usr/share/pvm3

export PVM_ARCH=LINUX

export PVMNETSOCKPORT=40000

export TEST1="tekst jakis"

[wsp29@st09 ~]$ ln -s .bashrc testlink

[wsp29@st09 ~]$ ls

Desktop  pvm3  testlink

[wsp29@st09 ~]$ more testlink

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

export EDITOR=vim

export PVM_ROOT=/usr/share/pvm3

export PVM_ARCH=LINUX

export PVMNETSOCKPORT=40000

export TEST1="tekst jakis"

[wsp29@st09 ~]$ wc .bashrc

 14  32 252 .bashrc

[wsp29@st09 ~]$ 

[wsp29@st09 ~]$ ps

  PID TTY          TIME CMD

 5361 pts/0    00:00:00 bash

 5385 pts/0    00:00:00 ps

[wsp29@st09 ~]$ ls > plik.txt

[wsp29@st09 ~]$ cat plik.txt

Desktop

plik.txt

pvm3

testlink

[wsp29@st09 ~]$ man du

[wsp29@st09 ~]$ wc plik.txt

 4  4 31 plik.txt

[wsp29@st09 ~]$ ls -l

razem 28

drwxr-xr-x 2 wsp29 wsp29 4096 paź 15 12:37 Desktop

-rw-rw-r-- 1 wsp29 wsp29   31 paź 15 12:36 plik.txt

drwxr-xr-x 3 wsp29 wsp29 4096 paź 12 14:43 pvm3

lrwxrwxrwx 1 wsp29 wsp29    7 paź 15 12:34 testlink -> .bashrc

[wsp29@st09 ~]$ ls >> plikt.txt

[wsp29@st09 ~]$ cat plik.txt

Desktop

plik.txt

pvm3

testlink

[wsp29@st09 ~]$ ls -l

razem 36

drwxr-xr-x 2 wsp29 wsp29 4096 paź 15 12:37 Desktop

-rw-rw-r-- 1 wsp29 wsp29   41 paź 15 12:39 plikt.txt

-rw-rw-r-- 1 wsp29 wsp29   31 paź 15 12:36 plik.txt

drwxr-xr-x 3 wsp29 wsp29 4096 paź 12 14:43 pvm3

lrwxrwxrwx 1 wsp29 wsp29    7 paź 15 12:34 testlink -> .bashrc

[wsp29@st09 ~]$ 

* 2.5 Procesy

[wsp29@st09 ~]$ ps

  PID TTY          TIME CMD

 5361 pts/0    00:00:00 bash

 5385 pts/0    00:00:00 ps

[wsp29@st09 ~]$ ls > plik.txt

[wsp29@st09 ~]$ cat plik.txt

Desktop

plik.txt

pvm3

testlink

[wsp29@st09 ~]$ man du

[wsp29@st09 ~]$ wc plik.txt

 4  4 31 plik.txt

[wsp29@st09 ~]$ ls -l

razem 28

drwxr-xr-x 2 wsp29 wsp29 4096 paź 15 12:37 Desktop

-rw-rw-r-- 1 wsp29 wsp29   31 paź 15 12:36 plik.txt

drwxr-xr-x 3 wsp29 wsp29 4096 paź 12 14:43 pvm3

lrwxrwxrwx 1 wsp29 wsp29    7 paź 15 12:34 testlink -> .bashrc

[wsp29@st09 ~]$ ls >> plikt.txt

[wsp29@st09 ~]$ cat plik.txt

Desktop

plik.txt

pvm3

testlink

[wsp29@st09 ~]$ ls -l

razem 36

drwxr-xr-x 2 wsp29 wsp29 4096 paź 15 12:37 Desktop

-rw-rw-r-- 1 wsp29 wsp29   41 paź 15 12:39 plikt.txt

-rw-rw-r-- 1 wsp29 wsp29   31 paź 15 12:36 plik.txt

drwxr-xr-x 3 wsp29 wsp29 4096 paź 12 14:43 pvm3

lrwxrwxrwx 1 wsp29 wsp29    7 paź 15 12:34 testlink -> .bashrc

[wsp29@st09 ~]$ 

* 2.6 Poznajemy kompilator gcc

wsp29@st09 ~]$ vim prog.c

[wsp29@st09 ~]$ gcc prog.c -o prog

[wsp29@st09 ~]$ ./prog

hello[wsp29@st09 ~]$ 

*2.7 Przekazywanie parametrów do programu – lista argumentów

[wsp29@st09 ~]$ ./prog test asd sss ddd

ddd

sss

asd

test

./prog

[wsp29@st09 ~]$ 

Kod programu

  1 #include <stdlib.h>

  2 #include <stdio.h>

  3 

  4 int main(int argc, char* argv[]){

  5 

  6 int i = argc-1;

  7 for(; i>=0; i--){

  8   printf("%s\n",argv[i]);

  9 }

 10 

 11 return 0;

 12 }

* 2.8 Numery identyfikacyjne

[wsp29@st09 ~]$ vim prog.c

[wsp29@st09 ~]$ gcc prog.c -o prog

[wsp29@st09 ~]$ ./prog

id wlasne: 5915

proces rodzica: 5608

[wsp29@st09 ~]$ 

Kod programu

  1 #include <stdlib.h>

  2 #include <stdio.h>

  3 #include <sys/types.h>

  4 #include <sys/stat.h>

  5 

  6 int main(){

  7   printf("id wlasne: %i\n", getpid());

  8   printf("proces rodzica: %i\n", getppid());

  9 return  0;

 10 }

* 2.9 Identyfikatory użytkownika i grupy

[wsp29@st09 ~]$ ./prog

id wlasne: 5963

proces rodzica: 5608

id uzytkownika: 1228

id grupy: 1228

[wsp29@st09 ~]$ 

Kod programu

 1 #include <stdlib.h>

  2 #include <stdio.h>

  3 #include <sys/types.h>

  4 #include <sys/stat.h>

  5 

  6 int main(){

  7   printf("id wlasne: %i\n", getpid());

  8   printf("proces rodzica: %i\n", getppid());

  9   printf("id uzytkownika: %i\n", getuid());

 10   printf("id grupy: %i\n", getgid());

 11 return  0;

 12 }

* 2.10 Pliki

[wsp29@st09 ~]$ ./prog plik.txt

wczytano

mode: 33204

ino: 4260291

dev: 18

nlink: 1

uid: 1228

[wsp29@st09 ~]$ 

Kod programu

  1 #include <stdlib.h>

  2 #include <stdio.h>

  3 #include <sys/types.h>

  4 #include <sys/stat.h>

  5 

  6 int main(int argc, char* argv[]){

  7 struct stat tmpStat;

  8 if(stat(argv[1],&tmpStat)==0){

  9     printf("wczytano\n");

 10     printf("mode: %d\n",tmpStat.st_mode);

 11     printf("ino: %d\n",tmpStat.st_ino);

 12     printf("dev: %d\n",tmpStat.st_dev);

 13     printf("nlink: %d\n",tmpStat.st_nlink);

 14     printf("uid: %d\n",tmpStat.st_uid);

 15 

 16 }

 17 

 18 

 19 return  0;

 20 }

3. Wnioski

Po wykonaniu powyższych zadań przypomnieliśmy sobie podstawowe zagadnienia z obsługi Linuxa, kompilacji programów w gcc, jak uzyskać podstawowe informacje o procesach oraz o dowolnym pliku wykorzystując strukturę stat.


Wyszukiwarka

Podobne podstrony:
lab1 12 id 258878 Nieznany
lab1 VHDL
bioinformatyczneBD lab1
Ćw lab1 Gleb wilg gleby OŚ
Architekrura Systemów Lab1
lab1
Lab1 szular
FCKU1 lab1(6na6) id 169034 Nieznany
dsp lab1 id 144058 Nieznany
Spr 1, AGH IMIR Mechanika i budowa maszyn, III ROK, Elementy automatyki przemysłowej, EAP lab1
Lab1 12 odp
Lab1(1)
Lab1 PA podstawy PSCAD v2
AKiSO lab1 id 53765 Nieznany
LAB1 4 id 258893 Nieznany
Lab1 Sprawozdanie DW
LAB1, Fizyka laborki, Fizyka (laby i inne), FizLab, fizlab, 001 WA~1
Materiały pomocnicze LAB1
lab1 PSK
Lab1 Spr 1

więcej podobnych podstron