Terminal Session
# Text processing and Data Manipulation
# commands: head, tail, cat, less, wc, sort, cut, tee, uniq
# pipeline
# grep, sed
[aadarsha@labserver ~]$ cat passwd
root:x:0:0:Super User:/root:/bin/bash
...
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
...
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[aadarsha@labserver ~]$
# viewing First/Last few lines of a file
[aadarsha@labserver ~]$ head passwd
root:x:0:0:Super User:/root:/bin/bash
...
operator:x:11:0:operator:/root:/usr/sbin/nologin
[aadarsha@labserver ~]$
# By default 10 lines
[aadarsha@labserver ~]$ head -2 passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ head -10 passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ tail passwd
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
...
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ tail -5 /etc/passwd
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi passwd
[aadarsha@labserver ~]$ tail -5 /etc/passwd
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ tail /var/log/secure
tail: cannot open '/var/log/secure' for reading: Permission denied
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sudo su
[sudo] password for aadarsha:
[root@labserver aadarsha]#
[root@labserver aadarsha]#
[root@labserver aadarsha]# tail /var/log/secure
Jun 9 05:24:00 labserver su[2184]: pam_unix(su:session): session closed for user root
Jun 9 05:24:00 labserver sudo[2179]: pam_unix(sudo:session): session closed for user root
Jun 9 06:04:24 labserver sudo[2754]: aadarsha : TTY=pts/0 ; PWD=/home/aadarsha ; USER=root ; COMMAND=/bin/su
Jun 9 06:04:24 labserver sudo[2754]: pam_unix(sudo:session): session opened for user root(uid=0) by aadarsha(uid=1000)
Jun 9 06:04:24 labserver su[2761]: pam_unix(su:session): session opened for user root(uid=0) by aadarsha(uid=0)
Jun 9 06:04:45 labserver su[2761]: pam_unix(su:session): session closed for user root
Jun 9 06:04:45 labserver sudo[2754]: pam_unix(sudo:session): session closed for user root
Jun 9 06:20:51 labserver sudo[2991]: aadarsha : TTY=pts/0 ; PWD=/home/aadarsha ; USER=root ; COMMAND=/bin/su
Jun 9 06:20:51 labserver sudo[2991]: pam_unix(sudo:session): session opened for user root(uid=0) by aadarsha(uid=1000)
Jun 9 06:20:51 labserver su[2996]: pam_unix(su:session): session opened for user root(uid=0) by aadarsha(uid=0)
[root@labserver aadarsha]#
[root@labserver aadarsha]# tail -f /var/log/secure
Jun 9 05:24:00 labserver su[2184]: pam_unix(su:session): session closed for user root
Jun 9 05:24:00 labserver sudo[2179]: pam_unix(sudo:session): session closed for user root
Jun 9 06:04:24 labserver sudo[2754]: aadarsha : TTY=pts/0 ; PWD=/home/aadarsha ; USER=root ; COMMAND=/bin/su
Jun 9 06:04:24 labserver sudo[2754]: pam_unix(sudo:session): session opened for user root(uid=0) by aadarsha(uid=1000)
...
[root@labserver aadarsha]#
# checking the realtime live activities using tail -f /var/log/secure and use ----------------(line)
# using sort
[aadarsha@labserver ~]$ cat /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
games:x:12:100:games:/usr/games:/usr/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin
systemd-oom:x:999:999:systemd Userspace OOM Killer:/:/sbin/nologin
dbus:x:81:81:System Message Bus:/:/usr/sbin/nologin
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ su - root
Password:
Last login: Wed Jun 10 05:48:53 +0545 2026 on pts/0
[root@labserver ~]#
[root@labserver ~]# exit
logout
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sort /etc/passwd
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
bin:x:1:1:bin:/bin:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
dbus:x:81:81:System Message Bus:/:/usr/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin
games:x:12:100:games:/usr/games:/usr/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
root:x:0:0:Super User:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
systemd-oom:x:999:999:systemd Userspace OOM Killer:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin
[aadarsha@labserver ~]$
# sort [option] <argument>
# -n --> numeric sort
# -r --> reverse sort
# -k -->
# -t -->
[aadarsha@labserver ~]$ sort -n -k 3 -t: /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
games:x:12:100:games:/usr/games:/usr/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin
tss:x:59:59:Account used for TPM access:/:/usr/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
dbus:x:81:81:System Message Bus:/:/usr/sbin/nologin
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
systemd-oom:x:999:999:systemd Userspace OOM Killer:/:/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sort -n -k 3 -t: -r /etc/passwd
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
systemd-oom:x:999:999:systemd Userspace OOM Killer:/:/sbin/nologin
sssd:x:998:997:User for sssd:/run/sssd/:/sbin/nologin
...
root:x:0:0:Super User:/root:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sort -nrk 3 -t: /etc/passwd
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
systemd-oom:x:999:999:systemd Userspace OOM Killer:/:/sbin/nologin
...
bin:x:1:1:bin:/bin:/usr/sbin/nologin
root:x:0:0:Super User:/root:/bin/bash
[aadarsha@labserver ~]$
# using cut
[aadarsha@labserver ~]$ cat /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
# cut [option] <argument>
# -f <field no>
# -d <delimeter>
[aadarsha@labserver ~]$ cut -f 1 -d : /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
tss
systemd-oom
dbus
sssd
sshd
chrony
systemd-coredump
aadarsha
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1,3,6 -d : /etc/passwd
root:0:/root
bin:1:/bin
daemon:2:/sbin
...
aadarsha:1000:/home/aadarsha
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1,3,6,7 -d : /etc/passwd
root:0:/root:/bin/bash
bin:1:/bin:/usr/sbin/nologin
daemon:2:/sbin:/usr/sbin/nologin
...
systemd-coredump:995:/:/usr/sbin/nologin
aadarsha:1000:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1-4 -d : /etc/passwd
root:x:0:0
bin:x:1:1
daemon:x:2:2
...
systemd-coredump:x:995:995
aadarsha:x:1000:1000
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f -4 -d : /etc/passwd
root:x:0:0
...
systemd-coredump:x:995:995
aadarsha:x:1000:1000
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 4- -d : /etc/passwd
0:Super User:/root:/bin/bash
1:bin:/bin:/usr/sbin/nologin
2:daemon:/sbin:/usr/sbin/nologin
...
1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
# Linux principles
# small single purpose commands
# small commands can be combined
# small commands can be combined using pipelines
[aadarsha@labserver ~]$ cut -f 1 d: /etc/passwd
cut: 'd:': No such file or directory
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1 d : /etc/passwd
cut: d: No such file or directory
cut: ':': No such file or directory
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1 -d : /etc/passwd
root
...
aadarsha
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1 -d : /etc/passwd | sort
aadarsha
...
tss
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 1 -d : /etc/passwd | sort
aadarsha
adm
...
systemd-oom
tss
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sort /etc/passwd | cut -f 1 -d :
aadarsha
...
systemd-oom
tss
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sort /etc/passwd | cut -f 1 -d : | less
# using uniq
[aadarsha@labserver ~]$ cut -f 7 d : /etc/passwd
cut: d: No such file or directory
cut: ':': No such file or directory
root:x:0:0:Super User:/root:/bin/bash
...
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 7 -d : /etc/passwd
/bin/bash
/usr/sbin/nologin
...
/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 7 -d : /etc/passwd | uniq
/bin/bash
/usr/sbin/nologin
...
/bin/bash
[aadarsha@labserver ~]$
# uniq --> continuous repeating is replaced by single
[aadarsha@labserver ~]$ cut -f 7 -d : /etc/passwd | sort | uniq
/bin/bash
/bin/sync
/sbin/halt
/sbin/nologin
/sbin/shutdown
/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 7 -d : /etc/passwd | sort | uniq -c
2 /bin/bash
1 /bin/sync
1 /sbin/halt
3 /sbin/nologin
1 /sbin/shutdown
13 /usr/sbin/nologin
[aadarsha@labserver ~]$
# tee --> it saves intermediate results of a pipeline
[aadarsha@labserver ~]$ ls
dir1 dira extracted newfile1 passwd secret_data testcompany testfile words
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cut -f 7 -d : /etc/passwd | tee cut_result | sort | tee sort_result | uniq -c | tee uniq_result
2 /bin/bash
1 /bin/sync
1 /sbin/halt
3 /sbin/nologin
1 /sbin/shutdown
13 /usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ ls
cut_result dira newfile1 secret_data testcompany uniq_result
dir1 extracted passwd sort_result testfile words
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat cut_result
/bin/bash
...
/usr/sbin/nologin
/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat uniq_result
2 /bin/bash
1 /bin/sync
1 /sbin/halt
3 /sbin/nologin
1 /sbin/shutdown
13 /usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat sort_result
...
/usr/sbin/nologin
[aadarsha@labserver ~]$
# grep
# grep --> it searches for a pattern in a file and displays only those lines that have a matching pattern
# grep <pattern> [option] <argument>
# -v --> displays non-matching lines
# -V --> displays non-matching lines
# -c --> displays total count of lines
# -i --> ignores line
# -r --> searches resursive
[aadarsha@labserver ~]$ grep aadarsha /etc/passwd
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep aadar /etc/passwd
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep a /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
...
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
# matches pattern in all lines by default
[aadarsha@labserver ~]$ grep iv /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash -c /etc/passwd
2
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash /etc/passwd | wc
2 4 100
[aadarsha@labserver ~]$ grep bash /etc/passwd | wc -l
2
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat /etc/passwd | grep bash
root:x:0:0:Super User:/root:/bin/bash
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat /etc/passwd | grep bash | wc -l
2
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat /etc/passwd | grep bash | wc
2 4 100
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash -c /etc/passwd
2
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash -r /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash -v /etc/passwd
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi testdatafile
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep boy testdatafile
i'm a good boy
are you a boy or girl?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi testfile
[aadarsha@labserver ~]$ vi testdatafile
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep ^boy testdatafile
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep boy$ testdatafile
i'm a good boy
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
...
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep ^s /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
...
chrony:x:997:996:chrony system user:/var/lib/chrony:/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep bash$ /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi testdatafile
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep boy testdatafile
i'm a good boy
is this boy who is the best man in the world
are you a boy or girl?
Boy is running and you boy?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep Boy testdatafile
Boy is running and you boy?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -i Boy testdatafile
i'm a good boy
is this boy who is the best man in the world
are you a boy or girl?
Boy is running and you boy?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -i Boy|girl testdatafile
-bash: girl: command not found
^Z
[1]+ Stopped grep --color=auto -i Boy | girl testdatafile
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ egrep 'boy|girl' testdatafile
i'm a good boy
this is the beautiful girl
is this boy who is the best man in the world
are you a boy or girl?
Boy is running and you boy?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -e boy -e girl testdatafile
i'm a good boy
this is the beautiful girl
is this boy who is the best man in the world
are you a boy or girl?
Boy is running and you boy?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ vi testthis
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ whoami
aadarsha
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -r good .
./dira/words:aftergood
./dira/words:a-good
./dira/words:Allgood
...
./testdatafile:good morning
./testthis:are you good or bad
./testthis:I want good
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -r good
dira/words:aftergood
dira/words:a-good
dira/words:Allgood
...
grep: extracted/var/log/cron: Permission denied
testdatafile:i'm a good boy
testdatafile:good morning
testthis:are you good or bad
testthis:I want good
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ su - root
Password:
Last login: Thu Jun 11 05:12:59 +0545 2026 on pts/0
[root@labserver ~]#
[root@labserver ~]# grep -r good /etc/
/etc/lvm/lvm.conf: # to have good deduplication rates but compression is still desired.
/etc/lvm/lvm.conf: # device if there is only one remaining good copy.
/etc/nftables/osf/pf.os:# A fairly good method is to simply round the observed TTL up to
/etc/bashrc:# It's NOT a good idea to change this file unless you know what you
/etc/profile:# It's NOT a good idea to change this file unless you know what you
/etc/firewalld/firewalld.conf:# time that is needed to apply changes and to start the daemon, but is good for
grep: /etc/udev/hwdb.bin: binary file matches
[root@labserver ~]#
[root@labserver ~]# cd
[root@labserver ~]# exit
logout
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -r boy .
./words:boycottage
...
grep: ./extracted/var/log/cron: Permission denied
./testdatafile:i'm a good boy
./testdatafile:is this boy who is the best man in the world
./testdatafile:are you a boy or girl?
./testdatafile:Boy is running and you boy?
./testthis:boy and girl are beautiful
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ grep -r boy . | wc -l
grep: ./extracted/etc/libaudit.conf: Permission denied
...
grep: ./extracted/var/log/firewalld: Permission denied
grep: ./extracted/var/log/cron: Permission denied
481
[aadarsha@labserver ~]$
# sed
# using 'sed'
# sed --> perfroms search and replace operations
[aadarsha@labserver ~]$ ls
cut_result dira newfile1 secret_data testcompany testfile uniq_result
dir1 extracted passwd sort_result testdatafile testthis words
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat passwd
root:x:0:0:Super User:/root:/bin/bash
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/nologin
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
# sed
[aadarsha@labserver ~]$ sed 's/nologin/YESLOGIN/g' /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/YESLOGIN
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sed 's/nologin/YESLOGIN/g' /etc/passwd > passwd_YESLOGIN
[aadarsha@labserver ~]$ ls
cut_result extracted passwd_YESLOGIN testcompany testthis
dir1 newfile1 secret_data testdatafile uniq_result
dira passwd sort_result testfile words
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat passwd_YESLOGIN
root:x:0:0:Super User:/root:/bin/bash
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/YESLOGIN
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/bash
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat passwd
root:x:0:0:Super User:/root:/bin/bash
...
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sed -e 's/bash/CASH/g' -e 's/nologin/YESLOGIN/g' /etc/passwd > multiple_changes
[aadarsha@labserver ~]$ ls
cut_result extracted passwd sort_result testfile words
dir1 multiple_changes passwd_YESLOGIN testcompany testthis
dira newfile1 secret_data testdatafile uniq_result
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat multiple_changes
root:x:0:0:Super User:/root:/bin/CASH
...
systemd-coredump:x:995:995:systemd Core Dumper:/:/usr/sbin/YESLOGIN
aadarsha:x:1000:1000:Aadarsha Khadka:/home/aadarsha:/bin/CASH
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ cat testdatafile
i'm a good boy
this is the beautiful girl
how are you
is this your baby boy?
boy understand fundamental concepts
good morning
why are visiting the USA?
Boy is running?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ sed -i 's/boy/BOY/g' testdatafile
[aadarsha@labserver ~]$ cat testdatafile
i'm a good BOY
this is the beautiful girl
how are you
is this your baby BOY?
BOY understand the fundamental concepts
good morning
why are visiting the USA?
Boy is running?
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$
# To search whole line
[aadarsha@labserver ~]$ grep 'boy and' testdatafile
[aadarsha@labserver ~]$
File Searching and finding
# File Search
# Searching Files using 'find' command
# find [path] [options] <argument>
# -atime <+N/-N/N> ---> performs access-time bases search (N-->Day)
# -mtime <+N/-N/N> ---> performs modification-time bases search (N-->Day)
# -ntime <name> ---> performs name-based bases search (case sensitive)
# -intime <name> ---> performs name-based bases search (case insensitive)
# -size <+N/-N/N> --> performs size-based search
# -user <owner> --> performs user-ownership based search
# -group <group> --> performs group-ownership based search
# -type <type> -->
[aadarsha@labserver ~]$ find / -name passwd 2>/dev/null
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /etc -name passwd 2>/dev/null
/etc/passwd
/etc/pam.d/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ touch /tmp/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -name passwd 2>/dev/null
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/tmp/passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ touch /tmp/Passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -name passwd 2>/dev/null
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/tmp/passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -iname passwd 2>/dev/null
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/tmp/passwd
/tmp/Passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -iname passwd 2>/dev/null | wc -l
8
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -name passwd 2>/dev/null | wc -l
7
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -atime -7 | wc -l
find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
find: ‘/boot/loader/entries’: Permission denied
find: ‘/proc/tty/driver’: Permission denied
find: ‘/proc/1/task/1/fd’: Permission denied
...
find: ‘/usr/libexec/initscripts/legacy-actions/auditd’: Permission denied
find: ‘/home/aadarsha/extracted/var/log/private’: Permission denied
find: ‘/home/aadarsha/extracted/var/log/samba’: Permission denied
find: ‘/home/aadarsha/extracted/var/log/audit’: Permission denied
find: ‘/home/aadarsha/extracted/var/log/sssd’: Permission denied
find: ‘/home/aadarsha/extracted/var/log/chrony’: Permission denied
87254
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -atime -7 2>/dev/null | wc -l
87254
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find / -mtime -7 2>/dev/null | wc -l # modified
77799
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /etc -mtime -7 2>/dev/null | wc -l # modified
7
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /etc -atime -7 2>/dev/null | wc -l # accessed
685
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /etc -mtime -7 2>/dev/null # modified
/etc
/etc/resolv.conf
/etc/profile.d
/etc/bashrc
/etc/profile
/etc/ld.so.cache
/etc/pkgconfig
[aadarsha@labserver ~]$
# focused auditing and non focused auditing in security auditing
# focused auditing and non-focused auditing in security auditing
# safety and performance can not be achieved at a time
# finding based on size
[aadarsha@labserver ~]$ ls /var/l
lib/ local/ lock/ log/
[aadarsha@labserver ~]$ ls /var/log/
anaconda cron-20260611 hawkey.log messages secure-20260611
audit dnf.librepo.log hawkey.log-20260611 messages-20260611 spooler
btmp dnf.log lastlog private spooler-20260611
chrony dnf.rpm.log maillog samba sssd
cron firewalld maillog-20260611 secure wtmp
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /var -size +10M >/dev/null
find: ‘/var/lib/selinux/targeted/active’: Permission denied
find: ‘/var/lib/selinux/final’: Permission denied
find: ‘/var/lib/private’: Permission denied
...
find: ‘/var/tmp/systemd-private-6d5f834212da46da9320190dce0efa12-systemd-logind.service-WsqjBK’: Permission denied
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /var -size +10M 2>/dev/null
/var/cache/dnf/appstream-25519c512d836b42/repodata/28fcbe99d124870c057e25d821ae6d6d4c8fa1e58c8609ffe3511cdf0fd53b66-filelists.xml.gz
/var/cache/dnf/appstream-filenames.solvx
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ find /var -size +10M 2>/dev/null
/var/cache/dnf/appstream-25519c512d836b42/repodata/28fcbe99d124870c057e25d821ae6d6d4c8fa1e58c8609ffe3511cdf0fd53b66-filelists.xml.gz
/var/cache/dnf/appstream-filenames.solvx
[aadarsha@labserver ~]$
[aadarsha@labserver ~]$ ls -lh /var/cache/dnf/appstream-25519c512d836b42/repodata/28fcbe99d124870c057e25d821ae6d6d4c8fa1e58c8609ffe3511cdf0fd53b66-filelists.xml.gz
-rw-r--r--. 1 root root 16M Jun 8 09:51 /var/cache/dnf/appstream-25519c512d836b42/repodata/28fcbe99d124870c057e25d821ae6d6d4c8fa1e58c8609ffe3511cdf0fd53b66-filelists.xml.gz
[aadarsha@labserver ~]$