Advanced Programming in the UNIX Environment

Week 3: chmod(2) and chown(2)

Having seen a lot of examples in our previous videos of creating files, changing their ownership, changing their permissions, we now focus on the system calls that are used to implement the chmod(1) and chown(8) commands.

https://youtu.be/5MJmCanZDyk

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 03, Segment 4 - chmod(2) and chown(2)

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 3: umask(2)

In this video lecture, we'll take a look at what file ownership and permissions are applied when we create a new file. In the process, we'll learn about the concept of a process's "umask", and look at how the 'umask' shell built-in is implemented.

https://youtu.be/bRAR2bv2HSM

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 03, Segment 5 - umask(2)

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

An illustration of how permission octal modes and umasks work.

#apue #unix #programming

Advanced Programming in the UNIX Environment

Week 3: Union Mounts and Whiteout Files

One of the file types we've encountered are those of type S_IFWHT, so called "whiteout" files. But what the hell is that?? Let's illustrate! We describe the concept of union mounts and see what happens when a file in the upper layer is removed while the same file still exists in the lower layer: a whiteout file is created to cover up the lower file.

https://youtu.be/MkFExG9jhEE

#apue #unix #programming #netbsd

Advanced Programming in the UNIX Environment: Week 3, Segment 6 - Union Mounts and Whiteout Files

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 4: The Unix Filesystem

In this video lecture, we begin a closer look at the Unix Filesystem (UFS). We visualize how the filesystem structures the disk and organizes files and directories. We illustrate how directory entries are created and moved around.

https://youtu.be/kY4JAXYyByQ

#apue #unix #programming

Advanced Programming in the UNIX Environment

Week 4: Links

In this video lecture, we'll take a look at the system calls used to create, remove, and rename both hard- and symbolic links. We'll compare expected output against trivial implementations of the ln(1) and mv(1) commands.

https://youtu.be/0l8o2goJ1kc

#apue #unix #programming

Advanced Programming in the UNIX Environment

Week 4: Directories

In this video lecture, we take a look at how directories are created and removed, as well as how to move around the filesystem hierarchy. We also learn why the 'cd' command must be a shell builtin in order to work.

https://youtu.be/xZ7dNXZ58G8

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 3 - Directories

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 4: Directory Size

In this video lecture, we dive deep into the structure of the directory on a traditional Unix File System and see how its size is independent of the file sizes of its entries, but dependent on the filename lengths. We'll also use hexdump(1) to cheat a bit and look at the directory structure on disk.

https://youtu.be/gY0SE-71LZA

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 4 - Directory Size

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 4: /etc/passwd

In this short video, we try to answer the awkward question "Mommy, where do UIDs come from?". We look at the /etc/passwd user database and identify the various fields before we look at how things can get weird.

https://youtu.be/fv16TWDnLYM

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 5 - /etc/passwd

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 4: getpwuid(2) and /etc/groups

In this video lecture, we look at the library functions used to look up account information. We learn about how primary and supplementary groups are handled as well as how the hashed passwords are stored outside of the world readable /etc/passwd file.

https://youtu.be/aomkx6_aWpc

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 6 - getpwuid(2) and /etc/groups

YouTube

Advanced Programming in the UNIX Environment

Week 4: atime, mtime, ctime

In this video lecture, we start looking a little bit closer into what our systems think of "time", something that experts most accurately describe as a big ball of wibbly, wobbly, timey, wimey... stuff. In short, analyze how the atime, mtime, and ctimes of a file connect.

https://youtu.be/ffYEEj5vnlw

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 7 - atime, mtime, ctime

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube

Advanced Programming in the UNIX Environment

Week 4: time(3) is an illusion

Having revisited the atime, mtime, and time in our last video segment, we now have to come to terms with time(3) itself. We'll discuss managing the data structures and handling arbitrary concepts such as leap seconds, timezones, and (ugh) Daylight Savings Time. It gets silly real quick.

https://youtu.be/3N2aH1vUacQ

#apue #unix #programming

Advanced Programming in the UNIX Environment: Week 04, Segment 8 - time(3) is an illusion

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

YouTube
@jschauma "Lunch time doubly so".