SISTEM OPERASI
Bekerja Dengan File dan Direktori, Archive dan Compress, Pipes,
Redirection, And REGEX Di Command Line Linux
Disusun Oleh :
Nama : I Gede Arya Surya Gita
NPM : 16753024
Program Studi : Manajemen Informatika A
PENDAHULUAN
LANDASAN TEORI
Dengan feature sekelas 'real operating system' tersebut tidak membuat Linux
menjadi mahal harganya, justru Linux dapat diperoleh secara gratis. Kalaupun
ada sedikit charge itu hanya sebagai ongkos distribusi atau pembelian cd
belaka. Linux di distribusikan dibawah GNU General Public License yaitu
suatu lisensi dimana pemilik program tetap memegang hak ciptanya tetapi
orang lain dimungkinkan menyebarkan, memodifikasi atau bahkan menjual
kembali program tersebut tapi dengan syarat source code asli harus tetap
disertakan dalam distribusinya.
PEMBAHASAN
a. Langkah 1:
sysadmin@localhost:~$ pwd
/home/sysadmin
sysadmin@localhost:~$
b. Langkah 2
Gunakan perintah cd dengan path untuk berpindah ke direktori
tujuan. Contoh :
sysadmin@localhost:~$ cd /
sysadmin@localhost:/$ pwd
/
sysadmin@localhost:/$
c. Langkah 3
sysadmin@localhost:/$ cd
sysadmin@localhost:~$ pwd
/home/sysadmin
sysadmin@localhost:~$
d. Langkah 4
sysadmin@localhost:~$ cd /home
sysadmin@localhost:/home$ pwd
/home
sysadmin@localhost:/home$
sysadmin@localhost:/home$ cd ~
sysadmin@localhost:~$ pwd
/home/sysadmin
sysadmin@localhost:~$
f. Langkah 6
g. Langkah 7
sysadmin@localhost:~$ cd ~root
-bash: cd: /root: Permission denied
sysadmin@localhost:~$
h. Langkah 8
sysadmin@localhost:~$ cd /usr/bin
sysadmin@localhost:/usr/bin$ pwd
/usr/bin
sysadmin@localhost:/usr/bin$
i. Langkah 9
sysadmin@localhost:/usr$ cd /usr/share/doc
sysadmin@localhost:/usr/share/doc$ pwd
/usr/share/doc
sysadmin@localhost:/usr/share/doc$
2. Absolute dan Path Relatif
a. Langkah 10
sysadmin@localhost:/usr/share/doc$ cd bash
sysadmin@localhost:/usr/share/doc/bash$ pwd
/usr/share/doc/bash
sysadmin@localhost:/usr/share/doc/bash$
b. Langkah 11
Gunakan path relatif untuk berpindah ke direktori di atas saat ini atau
direktori sebelumnya dengan cd ..:
sysadmin@localhost:/usr/share/doc/bash$ cd ..
sysadmin@localhost:/usr/share/doc$ pwd
/usr/share/doc
sysadmin@localhost:/usr/share/doc$
c. Langkah 13
Gunakan path relatif untuk naik ke direktori atas dari direktori saat ini
dan kemudian masuk ke direktori dict:
sysadmin@localhost:/usr/share/doc$ cd ../dict
sysadmin@localhost:/usr/share/dict$ pwd
/usr/share/dict
sysadmin@localhost:/usr/share/dict$
sysadmin@localhost:/usr/share/dict$ cd
sysadmin@localhost:~$ ls
sysadmin@localhost:~$
b. Langkah 2
Tidak semua file akan ditampilkan secara default. Ada file, disebut file
tersembunyi, yang tidak ditampilkan secara default. Untuk
menampilkan file tersembunyi, menggunakan ls -a:
sysadmin@localhost:~$ ls -a
sysadmin@localhost:~$
sysadmin@localhost:~$ ls -l /etc/hosts
-rw-r--r-- 1 root root 150 Jan 22 15:18 /etc/hosts
sysadmin@localhost:~$
d. Langkah 4
opsi –R pada perintah ls untuk melihat tidak hanya isi dari sebuah
direktori, tetapi juga isi dari subdirektori. -R singkatan dari "rekursif".:
sysadmin@localhost:~$ ls -R /etc/udev
/etc/udev:
rules.d udev.conf
/etc/udev/rules.d:
70-persistent-cd.rules README
sysadmin@localhost:~$
e. Langkah 5
sysadmin@localhost:~$ ls -d /etc/s*
sysadmin@localhost:~$
f. Langkah 6
sysadmin@localhost:~$ ls -d /etc/????
/etc/bind /etc/init /etc/motd /etc/perl /etc/skel
/etc/dpkg /etc/ldap /etc/mtab /etc/sgml /etc/udev
sysadmin@localhost:~$
g. Langkah 7
Dengan menggunakan kurung siku [ ] Kita dapat menentukan beberapa
karakter untuk mencocokkan dari set karakter. contoh untuk
menampilkan semua file dalam /etcdirektori yang dimulai dengan
huruf a, b, c atau d:
sysadmin@localhost:~$ ls -d /etc/[abcd]*
/etc/adduser.conf /etc/blkid.conf /etc/cron.weekly
/etc/adjtime /etc/blkid.tab /etc/crontab
/etc/alternatives /etc/ca-certificates /etc/dbus-1
/etc/apparmor.d /etc/ca-certificates.conf /etc/debconf.conf
/etc/apt /etc/calendar /etc/debian_version
/etc/bash.bashrc /etc/cron.d /etc/default
/etc/bash_completion.d /etc/cron.daily /etc/deluser.conf
/etc/bind /etc/cron.hourly /etc/depmod.d
/etc/bindresvport.blacklist /etc/cron.monthly /etc/dpkg
sysadmin@localhost:~$
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templat
es Videos
sysadmin@localhost:~$ cp /etc/hosts hosts
sysadmin@localhost:~$ ls
Desktop Downloads Pictures Templates hosts
Documents Music Public Videos
sysadmin@localhost:~$
b. Langkah 2
Selanjutnya Kita akan menghapus file, lalu salin lagi, tapi memiliki
sistem memberitahu Kita apa yang sedang dilakukan. Dapat
menggunakan -v atau –verbose pilihan. contoh:
sysadmin@localhost:~$ rm hosts
sysadmin@localhost:~$ ls
sysadmin@localhost:~$
c. Langkah 3
sysadmin@localhost:~$ rm hosts
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public T
emplates Videos
sysadmin@localhost:~$ cp -v /etc/hosts .
`/etc/hosts' -> `hosts'
sysadmin@localhost:~$ ls
Desktop Downloads Pictures Templates hosts
Documents Music Public Videos
sysadmin@localhost:~$
d. Langkah 4
e. Langkah 5
f. Langkah 6
sysadmin@localhost:~$ ls -l Myetc
total 0
Myetc:
total 0
Myetc/udev:
total 4
Myetc/udev/rules.d:
total 8
sysadmin@localhost:~$
d. Langkah 7
Memindahkan file analog dengan "cut and paste". File ini "cut"
(dihapus) dari lokasi asli dan "disisipkan" ke tujuan
tertentu. Memindahkan file di direktori lokal dengan menjalankan
perintah berikut:
1. Perintah Pengarsipan
Disini menggunakan gzip, bzip2, tar dan zip/unzip untuk arsip dan
mengembalikan file. Perintah ini dirancang untuk baik menggabungkan
beberapa file menjadi satu file atau mengkompres file besar menjadi yang
lebih kecil.
Pengarsipan data penting karena beberapa alasan, sebagai berikut:
file besar sulit untuk di transfer. Membuat file-file ini menjadi lebih
kecil membantu melakukan transfer lebih cepat.
Mentransfer beberapa file dari satu sistem ke sistem lain akan sangat
membosankan saat ada banyak file. Menggabungkan mereka ke
dalam satu file membuat proses ini lebih mudah.
File dengan cepat menghabiskan banyak ruang, terutama pada
removable media yang lebih kecil. Pengarsipan menangani masalah
ini.
a. Langkah 1
Menggunakan perintah tar untuk membuat arsip dari /etc/udev
direktori. Menyimpan cadangan dalam ~/mybackups direktori:
sysadmin@localhost:~$ cd
sysadmin@localhost:~$ mkdir mybackups
sysadmin@localhost:~$ tar -cvf mybackups/udev.tar /etc/udev
tar: Removing leading `/' from member names
/etc/udev/
/etc/udev/rules.d/
/etc/udev/rules.d/70-persistent-cd.rules
/etc/udev/rules.d/README
/etc/udev/udev.conf
sysadmin@localhost:~$ ls mybackups/
udev.tar
sysadmin@localhost:~$
b. Langkah 2
c. Langkah 3
d. Langkah 4
e. Langkah 5
f. Langkah 6
Dalam contoh berikut menggunakan gzip dan gunzip untuk kompres
dan uncompress file. Contoh :
sysadmin@localhost:~/mybackups$ cp /usr/share/dict/words .
sysadmin@localhost:~/mybackups$ ls -l words
-rw-r--r-- 1 sysadmin sysadmin 938848 Jan 25 07:39 words
sysadmin@localhost:~/mybackups$ gzip words
sysadmin@localhost:~/mybackups$ ls -l words.gz
-rw-r--r-- 1 sysadmin sysadmin 255996 Jan 25 07:39 words.gz
sysadmin@localhost:~/mybackups$
Perhatikan ukuran file zip ( 255996byte dalam contoh di atas) jauh lebih
kecil dari file asli ( 938848byte dalam contoh di atas).
h. Langkah 7
ysadmin@localhost:~/mybackups$ ls -l words.gz
-rw-r--r-- 1 sysadmin sysadmin 255996 Jan 25 07:39 wor
ds.gz
sysadmin@localhost:~/mybackups$ gunzip words.gz
sysadmin@localhost:~/mybackups$ ls -l words
-rw-r--r-- 1 sysadmin sysadmin 938848 Jan 25 07:39 wor
ds
sysadmin@localhost:~/mybackups$
i. Langkah 8
sysadmin@localhost:~/mybackups$ ls -l words
-rw-r--r-- 1 sysadmin sysadmin 938848 Jan 25 07:39 words
sysadmin@localhost:~/mybackups$ bzip2 words
sysadmin@localhost:~/mybackups$ ls -l words.bz2
-rw-r--r-- 1 sysadmin sysadmin 335405 Jan 25 07:39 words.
bz2
sysadmin@localhost:~/mybackups$
Jika membandingkan hasil .bz2 ukuran file ( 335405) untuk .gz ukuran
file ( 255996) dari Langkah # 7, Anda akan melihat bahwa gzip
melakukan pekerjaan yang lebih baik mengompresi file tertentu ini.
g. Langkah 9
Jalankan perintah berikut untuk uncompress words.bz2 berkas:
sysadmin@localhost:~/mybackups$ ls -l words.bz2
-rw-r--r-- 1 sysadmin sysadmin 335405 Jan 25 07:39 words.b
z2
sysadmin@localhost:~/mybackups$ bunzip2 words.bz2
sysadmin@localhost:~/mybackups$ ls -l words
-rw-r--r-- 1 sysadmin sysadmin 938848 Jan 25 07:39 words
Gzip dan bzip file arsip yang umum digunakan di Linux, zip jenis arsip
lebih sering digunakan oleh sistem operasi lain, seperti Windows.
Bahkan, aplikasi Windows Explorer telah built-in mendukung untuk
mengekstrak zip file arsip.
h. Langkah 10
i. Langkah 11
j. Langkah 12
Untuk melihat isi dari arsip zip, gunakan dengan opsi -l dengan
perintah unzip:
f. Langkah 13
Untuk mengekstrak zip arsip, gunakan unzip perintah tanpa opsi.
Dalam contoh ini kita harus terlebih dahulu menghapus file yang
dibuat di awal tar contoh:
sysadmin@localhost:~/mybackups$ rm -r etc
sysadmin@localhost:~/mybackups$ unzip udev.zip
Archive: udev.zip
creating: etc/udev/
creating: etc/udev/rules.d/
inflating: etc/udev/rules.d/70-persistent-cd.rules
inflating: etc/udev/rules.d/README
inflating: etc/udev/udev.conf
sysadmin@localhost:~/mybackups$
b. Langkah 2
Bila Anda menggunakan >simbol untuk mengarahkan stdout, isi dari file
yang pertama hancur. Ketik perintah berikut untuk melihat demonstrasi:
c. Langkah 3
Anda dapat menghindari clobbering file dengan menjalankan perintah
berikut:
d. Langkah 4
The find perintah perintah yang baik untuk menunjukkan
bagaimana stderr bekerja. Perintah ini akan mencari file system file
berdasarkan kriteria seperti nama file. Contoh :
e. Langkah 5
Untuk mengarahkan stderr (pesan error) untuk masalah file perintah
berikut:
f. Langkah 6
Anda juga dapat mengarahkan stdout dan stderr menjadi dua file terpisah.
g. Langkah 7
Untuk mengarahkan kedua output standar ( stdout) dan standard error
( stderr) untuk satu file, pertama redirect stdoutke file dan kemudian
mengarahkan stderrke file yang sama dengan menggunakan notasi 2>&1.
h. Langkah 8
Standar input ( stdin) juga bisa diarahkan. Biasanya stdin berasal dari
keyboard, tapi kadang-kadang Anda ingin dari sebuah file sebagai
gantinya. contoh:
i. Langkah 9
The tr perintah menerima input keyboard ( stdin), menerjemahkan
karakter dan kemudian mengirimkan output ke stdout. Untuk membuat file
dari semua karakter huruf kecil, jalankan berikut:
Tekan Enter kunci untuk memastikan kursor Anda pada baris di bawah
"ini bekerja!", Kemudian gunakan Control + d untuk menghentikan
masukan. Untuk memverifikasi Anda membuat file, jalankan perintah
berikut:
j. Langkah 10
Jalankan perintah berikut untuk menggunakan tr perintah dengan
mengalihkan stdindari file:
k. Langkah 11
Bentuk lain yang populer dari redirection adalah untuk mengambil output
dari satu perintah dan mengirimkannya ke perintah lain sebagai
masukan. Jalankan perintah berikut untuk mengambil output dari ls
perintah dan mengirimkannya ke dalam more perintah yang menampilkan
satu data pada satu waktu:
Anda akan perlu untuk menekan spasi untuk melanjutkan atau Anda juga
dapat menekan CTRL + c untuk melarikan diri listing ini.
l. Langkah 12
Pada contoh berikut, Anda akan menggunakan perintah yang disebut cut
untuk mengekstrak semua username dari database yang disebut
/etc/passwd (file yang berisi informasi akun pengguna). Pertama, coba
jalankan perintah cut dengan sendirinya:
m. Langkah 13
Output pada contoh sebelumnya adalah unordered dan menggulir dari
layar. Pada langkah berikutnya Anda akan mengambil output dari cut
perintah dan mengirimkannya ke sort perintah untuk memberikan
beberapa untuk output:
n. Langkah 14
Sekarang output diurutkan, tetapi masih gulungan dari layar. Kirim output
dari sort perintah ke more perintah untuk memecahkan masalah ini:
Menggunakan find perintah untuk mencari file. The find command adalah
perintah yang sangat fleksibel dengan sejumlah pilihan yang memungkinkan
pengguna untuk mencari file berdasarkan sejumlah kriteria seperti nama file,
ukuran, tanggal, jenis dan izin. Perintah membangun dasar adalah:
find <directory to start search> -criteria <argument for
criteria>
Perintah akan memulai pencarian di direktori yang ditentukan dan secara
rekursif mencari semua subdirektori.
a. Langkah 1
Mencari file yang dimulai di direktori home Anda yang berisi nama bash.
b. Langkah 2
Menemukan file yang dimodifikasi (atau dibuat) kurang dari 5 menit yang
lalu di direktori yang ditentukan dengan menggunakan perintah berikut:
c. Langkah 3
Jalankan perintah berikut untuk mencari file di /usr direktori yang lebih
besar dari 2MB dalam ukuran:
e. Langkah 5
Untuk memverifikasi bahwa output display direktori, gunakan -ls
opsi. The find perintah menggunakan -print opsi default yang
menampilkan hanya nama file. The -ls opsi memberikan rincian file:
a. Langkah 1
/etc/passwd kemungkinan terlalu besar untuk ditampilkan pada layar tanpa
scrolling layar. Untuk melihat demonstrasi ini, gunakan cat perintah untuk
menampilkan seluruh isi dari /etc/passwd berkas:
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System
(admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
bind:x:102:105::/var/cache/bind:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
operator:x:1000:37::/root:/bin/sh
sysadmin:x:1001:1001:System
Administrator,,,,:/home/sysadmin:/bin/bash
sysadmin@localhost:~$
b. Langkah 2
Gunakan more perintah untuk menampilkan seluruh isi
dari /etc/passwdberkas:
more /etc/passwd
c. Langkah 3
Sementara Anda berada di more perintah, Anda dapat melihat layar bantuan
dengan menekan h kunci:
----------------------------------------------------------------
--------------
<space> Display next k lines of text [current sc
reen size]
z Display next k lines of text [current sc
reen size]*
<return> Display next k lines of text [1]*
d or ctrl-D Scroll k lines [current scroll size, ini
tially 11]*
q or Q or <interrupt> Exit from more
s Skip forward k lines of text [1]
f Skip forward k screenfuls of text [1]
b or ctrl-B Skip backwards k screenfuls of text [1]
' Go to place where previous search starte
d
= Display current line number
/<regular expression> Search for kth occurrence of regular exp
ression [1]
n Search for kth occurrence of last r.e [1
]
!<cmd> or :!<cmd> Execute <cmd> in a subshell
v Start up /usr/bin/vi at current line
ctrl-L Redraw screen
:n Go to kth next file [1]
:p Go to kth previous file [1]
:f Display current file name and line numbe
r
. Repeat previous command
----------------------------------------------------------------
--------------
--More--(92%)
d. Langkah 4
e. Langkah 5
Gunakan less perintah untuk menampilkan seluruh isi
dari /etc/passwdberkas. Kemudian mencari kata bin, gunakan n untuk
bergerak maju, dan N untuk bergerak mundur. Akhirnya, keluar dari less
pager dengan mengetik huruf q :
less /etc/passwd
Penting: Berbeda dengan more perintah yang secara otomatis keluar
ketika Anda mencapai akhir file, Anda harus menekan berhenti kunci
seperti q untuk keluar dari less Program.
f. Langkah 6
g. Langkah 7
h. Langkah 8
Gunakan head perintah untuk menampilkan dua baris pertama
dari /etc/passwd file yang:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
sysadmin@localhost:~$
i. Langkah 9
Seperti yang Anda lihat, baik head dan tail perintah keluaran sepuluh garis
secara default. Anda juga bisa menggunakan opsi -# (atau Anda dapat
menggunakan opsi -n #, di mana # adalah jumlah baris output). Kedua
perintah dapat digunakan untuk membaca input standar dari sebuah pipa
yang menerima keluaran dari perintah.
j. Langkah 10
Cara lain untuk menentukan berapa banyak baris output dengan head
perintah untuk menggunakan opsi -n -#, di mana # adalah jumlah baris
dihitung dari bawah output untuk mengecualikan. Contoh :
a. Langkah 1
b. Langkah 2
Kalimat "greedy" dalam arti bahwa mereka akan cocok setiap satu contoh
dari pola yang telah ditentukan:
c. Langkah 3
Untuk membatasi output, Anda dapat menggunakan ekspresi reguler untuk
menentukan pola yang lebih tepat. Misalnya, tanda sisipan ( ^ ) karakter
dapat digunakan untuk mencocokkan pola pada awal baris sehingga ketika
mengeksekusi baris perintah berikut, hanya baris yang dimulai dengan root
harus dicocokkan dan ditampilkan:
Perhatikan bahwa ada dua contoh tambahan dari kata roottapi hanya satu
yang muncul di awal baris yang cocok (ditampilkan dalam warna merah).
d. Langkah 4
e. Langkah 5
f. Langkah 6
g. Langkah 7
h. Langkah 8
i. Langkah 9
Gunakan ekspresi reguler lain, kali ini dengan egrep dengan pergantian
dalam kelompok untuk mencocokkan pola. :
j. Langkah 10
k. Langkah 11
1. / – Root Directory
Ini merupakan direktori utama pada sistem operasi Linux, yang mana Root
Directory ini membawahi direktori lainnya seperti /home, /etc, dan lain-lain.
2. /bin – Essential User Binaries
Direktori /bin berisikan program binner yang harus ada bila sistem yang
dipasang dalam mode single-user. Aplikasi firefoc disimpan di direktori
/usr/bin, lalu program penting dan utilitas lainnya seperti shell bash terletak di
/bin.
Sesuai namanya, direktori /boot berisikan file-file yang dibutukan oleh sistem
untuk melakukan booting. File-file seperti GRUB boot loader dan kernel
Linux tersimpan di direktori ini.
5. /dev
Pada sistem operasi Linux, setiap perangkat yang terhubung akan dianggap
sebagai files, dan di direktori /dev inilah file-file khusus yang
mempresentasikan perangkat tersebut disimpan. Biasanya sering ditampil
direktori seperti /dev/sda1 yang mewakili Drive SATA pertama dalam sistem.
7. /home
Pada direktori ini berisi direktori untuk masing-masing user. Misal, nama user
kamu adalah “pintar”, maka kamu memiliki direktori di /home/pintar. Di
direktori tersebut umumnya berisi file data-data user dan file konfigurasi user
tertentu.Setiap user hanya memiliki hak akses atas direktorinya masing-
masing. Untuk bisa menggunakan direktori user lain, kamu harus login dahulu
sebagai super user (Root).
8. /lib
Berisi file-file penting yang dibutuhkan oleh file binari dalam direktori /bin
dan /sbin. Sedangkan kumpulan file pnenting yang dibutuhkan oleh binari
dalam folder /usr/bin terletak pada /usr/lib.
9. /lost+found – Recovery
Direcktory ini biasanya berisi paket software yang kamu install sendiri.
Biasanya digunakan oleh software diluar repository distrotersebut.
13. /proc
Direktori ini hampir mirip dengan direktory /dev karena tidak berisi file-file
standar, melainkan berisi file-file khusus yang mempresentasikan siste dan
proses informasi.
15. /run
File yang berisi tentang system yang valid sampai system melakukan boot
selanjutnya.
16. /sbin
Direktori /sbin mirip dengan /bin. Namun file-file yang berada di dalam
direktori ini umum dioperasikan oleh Root.
17. /srv
Direktori yang dimaksudkan sebagai tempat data dari sebuah layanan yang
diberikan oleh sistem. Misal, jika kamu menggunakan server Apache untuk
service web, kamu bisa menyimpan file-file website tersebut di sebuah
direktori di dalam /srv.
18. /tmp
19. /usr
Berisi aplikasi dan file yang digunakan oleh pengguna, sebagai lawan aplikasi
dan file yang digunakan oleh sistem. Misalnya, aplikasi non-essensial yang
terletak di dalam direktori /usr/bin bukan pada /bin.
20. /var