title | author | institute | date | theme | header-includes | |
---|---|---|---|---|---|---|
Permission, Link, dan Stream |
Praktikum Sistem Operasi |
Ilmu Komputer IPB |
2019 |
Dresden |
|
- Tiap file memiliki owner
- hanya superuser yang dapat mengubah kepemilikan file
- Tiap file memiliki permission
- mengatur hak akses file tersebut
-
Tiga jenis user:
u
: user ownerg
: group ownero
: others
-
Tiga jenis permission:
Permission | File | Directory |
---|---|---|
r |
read | list files |
w |
write | add or remove files |
x |
execute | enter the directory |
Mengubah kepemilikan suatu file.
chown [OPTION] OWNER[:GROUP] FILE
-R
: recursive; ubah direktori seisinya
Mengubah mode permission suatu file.
chmod [OPTION] MODE FILE...
-R
: recursive; ubah direktori seisinya
- Format mode simbolis:
[ugoa][+-=][rwx]
- Format mode oktal:
- 4 (read) + 2 (write) + 1 (exec)
r--r--r--
chmod 444 FILE
chmod a=r FILE
rw-rw----
chmod 660 FILE
chmod ug=rw,o= FILE
rwxr-xr-x
chmod 755 FILE
chmod u=rwx,go=rx FILE
-
Launch School - Intro Command Line
https://launchschool.com/books/command_line/read/permissions#exercises
- Hard link
- mengacu ke id file (inode)
- perubahan nama file tidak berpengaruh
- hanya bisa dalam satu partisi
- Symbolic link
- mengacu ke nama file
- perubahan nama file menyebabkan broken link
- bisa lintas partisi dan link ke direktori
Membuat link antar-file.
ln [OPTION] TARGET LINK-NAME
-s
: symbolic; buat symlink
Setiap proses memiliki tiga stream standar I/O:
- standard input (
stdin
) - standard output (
stdout
) - standard error (
stderr
)
+------------+
| |
stdin ---> | PROSES | ---> stdout
| |
+-----+------+
|
\---> stderr
- Menyalurkan output proses menjadi input proses selanjutnya
- Berguna untuk membuat pipeline perintah
pipe
+------------+ + +------------+
| | | | |
| PROCESS1 +---------|------->| PROCESS2 |
| | stdout | stdin | |
+------------+ + +------------+
- Contoh:
echo "halo" | rev
echo "2 + 5" | bc
who | wc -l
- Mengarahkan stream standar proses ke suatu file yang ditentukan oleh pengguna
Karakter | Redirect |
---|---|
< |
stdin |
> |
stdout |
>> |
stdout (append) |
2> |
stderr |
-
Contoh:
date > now.txt 2> err.txt rev < now.txt rev < now.txt > rev.txt