Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
6.3 kB
13
Indexable
Never
// Zad2 

vim plik.txt
"To jest plik raz, dwa, trzy"
:wq
grep "To" plik.txt 

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/


// Zad3
80017@st13-lab312:~$ cp /etc/skel/.bashrc .bashrc
80017@st13-lab312:~$ cp /etc/skel/.profile .profile
80017@st13-lab312:~$ vim .bashrc

Wpisanie export BLABLA="ala ma kota" do .bashrc (nad case)

80017@st13-lab312:~$ echo $BLABLA
ala ma kota

Zmienna BLABLA zawiera wcześniej zapisany w pliku .bashrc ciąg "ala ma kota"

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad4

80017@st13-lab312:~$ mkdir A
80017@st13-lab312:~$ mkdir B
80017@st13-lab312:~$ cd A
80017@st13-lab312:~/A$ mkdir AA
80017@st13-lab312:~/A$ mkdir BB
80017@st13-lab312:~/A$ cd AA
80017@st13-lab312:~/A/AA$ mkdir AAA
80017@st13-lab312:~/A/AA$ mkdir BBB
80017@st13-lab312:~/A/AA$ cd ../../B
80017@st13-lab312:~/B$ mkdir CC
80017@st13-lab312:~/B$ cd
80017@st13-lab312:~$ cd A/AA/BBB
80017@st13-lab312:~/A/AA/BBB$ pwd
/home/80017/A/AA/BBB
80017@st13-lab312:~/A/AA/BBB$ cd ../../../B/CC
80017@st13-lab312:~/B/CC$ cd ../
80017@st13-lab312:~/B$ rmdir CC
80017@st13-lab312:~/B$ cd ../
80017@st13-lab312:~$ rm -rf A
80017@st13-lab312:~$ rm -rf B

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad5

head plik.txt -c 8
ln -s plik.txt link -> cat link


/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad6

Zawartość pliku po wykonaniu ls > plik.txt to wynik komendy ls:

Dokumenty
Muzyka
Obrazy
Pobrane
Publiczny
Pulpit
Szablony
Wideo
plik.txt
zad11
zad11.c

ls -la

Rozmiar pliku: 87B
Po wykonaniu tej samej operacji z podwójnym przekierowaniem rozmiar to 174B (dwa razy większy – dopisano drugi raz wynik ls)
Po wykonaniu jeszcze raz z pojedynczym przekierowaniem rozmiar to 87B (usunięto starą zawartość I zapisano wynik polecenia ls)
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// zad 7
	type firefox

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad10

#include <stdio.h>
#include <stdlib.h>

int main(){
	printf("Hello world!\n");
	return 0;
}

//80017@st13-lab312:~$ vim zad10.c
//80017@st13-lab312:~$ gcc zad10.c -o zad10 -Wall
//80017@st13-lab312:~$ ./zad10  
//Hello world!

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad11

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
	int i;
	for(i = argc - 1; i >= 0; i--)
		printf("%s\n", argv[i]);
	return 0;
}

//80017@st13-lab312:~$ vim zad11.c
//80017@st13-lab312:~$ gcc zad11.c -o zad11 -Wall
//80017@st13-lab312:~$ ./zad11 ala ma kota
//kota
//ma
//ala
//./zad11

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad12

#include<stdio.h>
#include<stdlib.h>

int main(argc,argv,envp)
    int argc;
    char *argv[];
    char *envp[];
    {
    int ii;
    for (ii=0; envp[ii] != (char *) 0; ii++)
        printf("%s\n",envp[ii]);
    exit(0);
	
    return 0;
}

vim zad12.c
gcc zad12.c -o zad12 -Wall
./zad12

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad13

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>


int main(){
	printf("pid procesu: %d\npid procesu macierzystego:%d\n", getpid(), getppid());

	return 0;
}

///////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(){
	printf("getpgrp: %d\n", getpgrp());

	return 0;
}


//80017@st13-lab312:~$ vim zad13.c
//80017@st13-lab312:~$ gcc zad13.c -o zad13 -Wall
//80017@st13-lab312:~$ ./zad13
//pid procesu: 3001
//pid procesu macierzystego:2613

//Funkcja getpgrp() złuży do pobierania numeru grupy procesów, przykład:

//80017@st13-lab312:~$ vim zad13_2.c
//80017@st13-lab312:~$ gcc zad13_2.c -o zad13_2 -Wall
//80017@st13-lab312:~$ ./zad13_2
//getpgrp: 3059

//Funkcja setgrp() złuży do zmiany numeru grupy procesów


/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad14

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main(){
	printf("id uzytkownika: %d\nid grupy: %d\n", getuid(), getgid());

	return 0;
}



//////////////////////
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main(){
	printf("efektywny id uzytkownika: %d\nefektywny id grupy: %d\n", geteuid(), getegid());

	return 0;
}


//80017@st13-lab312:~$ vim zad14.c
//80017@st13-lab312:~$ gcc zad14.c -o zad14 -Wall
//80017@st13-lab312:~$ ./zad14
//id uzytkownika: 57674115
//id grupy: 57672193

//Funkcja geteuid() zwraca efektywny identyfikator użytkownika
//Funkcja getegid() zwraca efektywny identyfikator grupy
//Przykład:

//80017@st13-lab312:~$ vim zad14_2.c
//80017@st13-lab312:~$ gcc zad14_2.c -o zad14_2 -Wall
//80017@st13-lab312:~$ ./zad14_2  
//efektywny id uzytkownika: 57674115
//efektywny id grupy: 57672193


/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

// Zad15

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>

struct stat s;

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

        int i;
        if(argc >= 2){
                for(i=1; i<argc; i++){
                        int file = stat(argv[i], &s);
                        if(file == -1){
                                perror("stat");
                        }else{
                                printf("\nNazwa pliku: %s\n", argv[i]);
                                printf("Uprawnienia: %d\n", (int) s.st_mode);
                                printf("Numer wezla: %d\n", (int) s.st_ino);
                                printf("Identyfikator urzadenia: %d\n", (int) s.st_dev);
                                printf("Liczba dowiazan: %d\n", (int) s.st_nlink);
                                printf("Identyfikator uzytkownika: %d\n", (int) s.st_uid);

                        }
                }
        }else{
                printf("Blad arg\n");
        }
        return 0;
}


/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/