Programming Linux
Quick search
Navigation
Courses
Courses Overview
Slide Material
Linux
Linux Basics
SSH: Secure Shell
Toolchain, And Cross Development
Linux Systems Programming
Linux Hardware Interfaces
Linux Kernel Driver Development
Drafts
Python Programming
The C Programming Language
C++: TODO List
C++: Miscellaneous Live-Hacking
C++
The New C++ (11-…)
Design Patterns With C++
C++ Code
C++ Exercises
CMake
Is Software A Craft? Software Is A Craft! ⟶
Clean Code
Unit Testing With
googletest
Generated Topic Graph
How To Book
Log Of Past Courses
About
Myself: Contact, Impressum, …
This Site
Blog
Posts
Linux
¶
Linux Basics
SSH: Secure Shell
Toolchain, And Cross Development
Linux Systems Programming
Linux Hardware Interfaces
Linux Kernel Driver Development
Drafts
cluster_linux
Linux
cluster_linux_toolchain
Toolchain, And Cross Development
cluster_linux_toolchain_raspi
Case Study: Raspberry Toolchain
cluster_linux_toolchain_exercises
Exercises: Toolchain
cluster_linux_toolchain_cross
Cross Development
cluster_linux_sysprog
Linux Systems Programming
cluster_linux_sysprog_process
Processes
cluster_linux_sysprog_posix_threads
POSIX Threads
cluster_linux_sysprog_fileio
File I/O
cluster_linux_sysprog_scheduling
Scheduling
cluster_linux_sysprog_blocking_io
Blocking I/O: What Is That?
cluster_linux_sysprog_intro_hw
Introductory Live Hacking, Hardware-Wise (sysfs GPIO)
cluster_linux_sysprog_basics
Linux Systems Programming: Basics
cluster_linux_basics
Linux Basics
cluster_linux_basics_intro
Introduction: Concepts and Terminology
cluster_linux_basics_shell
The Shell (Bash - “Bourne Again Shell”)
cluster_linux_basics_shell_exercises
The Shell - Exercises
cluster_linux_basics_shell_exercises_cp_mv_mkdir_rm
Exercises: Create/Copy/Move/Remove
cluster_linux_basics_shell_exercises_ls
Exercises: The ls Command
cluster_linux_basics_permissions
File System Permissions
cluster_linux_basics_permissions_exercises
Exercises: File System Permissions
cluster_linux_basics_exercises
Exercises/Exams: Linux Basics
cluster_linux_basics_io_redir_pipes
I/O Redirection And Pipes
cluster_linux_basics_text_tools
Tools: Inspecting Text Files
cluster_linux_basics_archiving_compression
Archiving and Compression
cluster_linux_ssh
SSH: Secure Shell
cluster_linux_ssh_exercises
Exercises: SSH
cluster_linux_kernel
Linux Kernel Driver Development
cluster_linux_hardware
Linux Hardware Interfaces
cluster_linux_hardware_can
CAN Bus With Linux And Python
linux_toolchain_cmake_local
CMake: Local Build
linux_toolchain_static_library
Object Code Archives/Static Libraries
linux_toolchain_cmake_local->linux_toolchain_static_library
linux_toolchain_separate_compilation
Zooming In: Separate Compilation, and Linking Statically
linux_toolchain_basics
Toolchain: Basics
linux_toolchain_separate_compilation->linux_toolchain_basics
linux_toolchain_shared_library
Shared Libraries (Shared Objects)
linux_toolchain_shared_library->linux_toolchain_static_library
linux_basics_intro_environment
Environment (Variables)
linux_toolchain_shared_library->linux_basics_intro_environment
linux_basics_shell_file_dir_create_rm
Creating And Removing Files and Directories
linux_toolchain_basics->linux_basics_shell_file_dir_create_rm
linux_toolchain_cmake_cross
CMake: Cross Build
linux_toolchain_cmake_cross->linux_toolchain_cmake_local
linux_toolchain_static_library->linux_toolchain_separate_compilation
linux_toolchain_raspi_linaro_pi
Linaro Toolchain For The Pi (Defunct)
linux_toolchain_cross_basics
Cross Development
linux_toolchain_raspi_linaro_pi->linux_toolchain_cross_basics
linux_toolchain_raspi_linaro_pi->linux_basics_intro_environment
linux_basics_archiving_compression_tar
tar
linux_toolchain_raspi_linaro_pi->linux_basics_archiving_compression_tar
linux_ssh_basics
SSH: Basics
linux_toolchain_raspi_linaro_pi->linux_ssh_basics
linux_ssh_scp
SSH: Secure Copy (scp)
linux_toolchain_raspi_linaro_pi->linux_ssh_scp
linux_toolchain_raspi_toolchain_setup
Cross Toolchain Setup
linux_toolchain_raspi_toolchain_setup->linux_toolchain_cross_basics
linux_toolchain_raspi_docker_fedora_wsl
Building A Toolchain On Fedora For Ubuntu 18.04 (WSL)
linux_toolchain_raspi_details
Building A Cross Toolchain For The Raspberry Pi, Using crosstool-ng
linux_toolchain_raspi_docker_fedora_wsl->linux_toolchain_raspi_details
linux_toolchain_raspi_details->linux_toolchain_cross_basics
linux_toolchain_raspi_details->linux_basics_intro_environment
linux_toolchain_raspi_details->linux_basics_archiving_compression_tar
linux_toolchain_raspi_details->linux_ssh_basics
linux_toolchain_raspi_details->linux_ssh_scp
linux_toolchain_exercises_fh_moodle_quiz
Quiz: Toolchain
linux_toolchain_exercises_fh_moodle_quiz->linux_toolchain_separate_compilation
linux_toolchain_exercises_fh_moodle_quiz->linux_toolchain_basics
linux_toolchain_exercises_cross_build
Exercise: Build Software Package (Cross, Raspberry)
linux_toolchain_exercises_cross_build->linux_toolchain_static_library
linux_toolchain_exercises_cross_build->linux_toolchain_raspi_toolchain_setup
linux_toolchain_exercises_native_build
Exercise: Build Software Package (Native)
linux_toolchain_exercises_native_build->linux_toolchain_static_library
linux_toolchain_exercises_raspberry_toolchain
Exercise: Install And Check Raspberry Toolchain
linux_toolchain_exercises_raspberry_toolchain->linux_toolchain_basics
linux_toolchain_exercises_raspberry_toolchain->linux_toolchain_cross_basics
linux_toolchain_cross_basics->linux_toolchain_basics
linux_sysprog_signals
Sysprog: Signals
linux_sysprog_ipc
Sysprog: POSIX IPC
linux_sysprog_events
Sysprog: Events
linux_sysprog_process_commandline
Process: Arguments, Exit Status
linux_basics_intro_process
Processes, Scheduling, Address Spaces
linux_sysprog_process_commandline->linux_basics_intro_process
linux_sysprog_process_tree
The Process Tree (And Environment, And procfs)
linux_sysprog_process_tree->linux_sysprog_process_commandline
linux_sysprog_process_tree->linux_basics_intro_process
linux_sysprog_process_tree->linux_basics_intro_environment
linux_basics_intro_process_tree
Process Hierarchy (Parent, Child Process)
linux_sysprog_process_tree->linux_basics_intro_process_tree
linux_sysprog_posix_threads_condition_variable
Communication: Condition Variable
linux_sysprog_posix_threads_exercise_mutex
Mutex: Solve Load/Modify/Store Conflict
linux_sysprog_posix_threads_condition_variable->linux_sysprog_posix_threads_exercise_mutex
linux_sysprog_posix_threads_mutex_trylock
Trylock/islocked
linux_sysprog_posix_threads_mutex
Synchronization
linux_sysprog_posix_threads_mutex_trylock->linux_sysprog_posix_threads_mutex
linux_sysprog_posix_threads_exercise_mutex->linux_sysprog_posix_threads_mutex
linux_sysprog_posix_threads_exercise_condition_variable
Condition Variable: Message Queue
linux_sysprog_posix_threads_exercise_condition_variable->linux_sysprog_posix_threads_condition_variable
linux_sysprog_posix_threads_lifecycle
Thread Life Cycle
linux_sysprog_posix_threads_basics
Basics
linux_sysprog_posix_threads_lifecycle->linux_sysprog_posix_threads_basics
linux_sysprog_posix_threads_miscellaneous
Miscellaneous
linux_sysprog_posix_threads_miscellaneous->linux_sysprog_posix_threads_exercise_condition_variable
linux_sysprog_posix_threads_last_warning
Last Warning
linux_sysprog_posix_threads_last_warning->linux_sysprog_posix_threads_miscellaneous
linux_sysprog_posix_threads_exercise_pthcreate_racecondition
Thread Creation, Race Condition
linux_sysprog_posix_threads_mutex->linux_sysprog_posix_threads_exercise_pthcreate_racecondition
linux_sysprog_scheduling_basics
Scheduling (and Multitasking)
linux_sysprog_posix_threads_basics->linux_sysprog_scheduling_basics
linux_sysprog_posix_threads_exercise_pthcreate_racecondition->linux_sysprog_posix_threads_lifecycle
linux_sysprog_fileio_basics
File I/O: Basics
linux_sysprog_basics_groupnode
Linux Systems Programming: Basics
linux_sysprog_fileio_basics->linux_sysprog_basics_groupnode
linux_basics_permissions_basics
Permissions: Mode, User and Group Ownership
linux_sysprog_fileio_basics->linux_basics_permissions_basics
linux_sysprog_fileio_misc
Miscellaneous
linux_sysprog_fileio_misc->linux_sysprog_fileio_basics
linux_sysprog_fileio_basics_exercise_hole
Exercise: Create File With Hole
linux_sysprog_fileio_basics_exercise_hole->linux_sysprog_fileio_basics
linux_sysprog_fileio_basics_exercise_copy
Exercise: Copy A File
linux_sysprog_fileio_basics_exercise_copy->linux_sysprog_fileio_basics
linux_sysprog_basics_errorhandling
Error Handling
linux_sysprog_fileio_basics_exercise_copy->linux_sysprog_basics_errorhandling
linux_sysprog_fileio_basics_exercise_copy->linux_basics_permissions_basics
linux_sysprog_fileio_example_O_CREAT
O_CREAT: Creating A File
linux_sysprog_fileio_example_O_CREAT->linux_sysprog_fileio_basics
linux_sysprog_fileio_example_O_WRONLY
O_WRONLY: Writing A File (Which Must Exist)
linux_sysprog_fileio_example_O_CREAT->linux_sysprog_fileio_example_O_WRONLY
linux_sysprog_fileio_example_O_CREAT->linux_basics_permissions_basics
linux_sysprog_fileio_duplicate
Duplicating (Whats Going On?)
linux_sysprog_fileio_duplicate->linux_sysprog_fileio_basics
linux_sysprog_fileio_example_O_EXCL
O_EXCL: Creating A File, But Failing If It Already Exists
linux_sysprog_fileio_example_O_EXCL->linux_sysprog_fileio_basics
linux_sysprog_fileio_example_O_EXCL->linux_sysprog_fileio_example_O_CREAT
linux_sysprog_fileio_example_O_EXCL->linux_basics_permissions_basics
linux_sysprog_fileio_fileio_group
File I/O
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_basics
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_misc
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_basics_exercise_hole
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_basics_exercise_copy
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_duplicate
linux_sysprog_fileio_example_O_RDONLY
O_RDONLY: Reading a File
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_example_O_RDONLY
linux_sysprog_fileio_fileio_group->linux_sysprog_fileio_example_O_WRONLY
linux_sysprog_fileio_exercise_w1_sensor
Exercise: Read Temperature From Onewire Sensor
linux_sysprog_fileio_exercise_w1_sensor->linux_sysprog_fileio_basics
linux_sysprog_fileio_exercise_w1_sensor->linux_sysprog_basics_errorhandling
linux_sysprog_fileio_exercise_w1_sensor->linux_basics_permissions_basics
linux_sysprog_fileio_example_O_RDONLY->linux_sysprog_fileio_basics
linux_sysprog_fileio_example_O_RDONLY->linux_basics_permissions_basics
linux_sysprog_fileio_example_O_WRONLY->linux_sysprog_fileio_basics
linux_sysprog_fileio_example_O_WRONLY->linux_sysprog_fileio_example_O_RDONLY
linux_sysprog_fileio_example_O_WRONLY->linux_basics_permissions_basics
linux_sysprog_blocking_io_blocking_io
Blocking I/O: What is That? (“Everything is a file”)
linux_sysprog_scheduling_basics->linux_sysprog_blocking_io_blocking_io
linux_sysprog_scheduling_processes_and_threads
Tasks? Processes? Threads?
linux_sysprog_scheduling_processes_and_threads->linux_sysprog_scheduling_basics
linux_sysprog_scheduling_realtime
Realtime
linux_sysprog_scheduling_wakeup_latency
Wakeup Latency, CPU Frequency (Gotcha)
linux_sysprog_scheduling_realtime->linux_sysprog_scheduling_wakeup_latency
linux_sysprog_scheduling_realtime->linux_sysprog_blocking_io_blocking_io
linux_sysprog_scheduling_realtime_api
Realtime API
linux_sysprog_scheduling_realtime_api->linux_sysprog_posix_threads_lifecycle
linux_sysprog_scheduling_realtime_api->linux_sysprog_posix_threads_mutex
linux_sysprog_scheduling_realtime_api->linux_sysprog_scheduling_realtime
linux_sysprog_scheduling_exam_questions
Scheduling: Exam Questions
linux_sysprog_scheduling_exam_questions->linux_sysprog_scheduling_processes_and_threads
linux_sysprog_scheduling_exam_questions->linux_sysprog_scheduling_realtime
linux_sysprog_scheduling_exam_questions->linux_sysprog_scheduling_wakeup_latency
linux_sysprog_scheduling_wakeup_latency->linux_sysprog_scheduling_basics
linux_sysprog_scheduling_wakeup_latency->linux_sysprog_blocking_io_blocking_io
linux_sysprog_blocking_io_blocking_io->linux_sysprog_fileio_basics
linux_sysprog_blocking_io_blocking_io_network
Blocking I/O: On A Network Socket
linux_sysprog_blocking_io_blocking_io_network->linux_sysprog_fileio_basics
linux_sysprog_blocking_io_blocking_io_network->linux_sysprog_blocking_io_blocking_io
linux_sysprog_blocking_io_blocking_io_timer
Blocking I/O: On A Timer? WTF?
linux_sysprog_blocking_io_blocking_io_timer->linux_sysprog_fileio_basics
linux_sysprog_blocking_io_blocking_io_timer->linux_sysprog_blocking_io_blocking_io
linux_sysprog_blocking_io_blocking_io_file
Blocking I/O (On A File): What is That?
linux_sysprog_blocking_io_blocking_io_file->linux_sysprog_blocking_io_blocking_io
linux_sysprog_intro_hw_get
Get Value Of GPIO
linux_sysprog_intro_hw_sysfs_gpio
Intro: sysfs GPIO
linux_sysprog_intro_hw_get->linux_sysprog_intro_hw_sysfs_gpio
linux_sysprog_intro_hw_watch
Interrupts In Userspace
linux_sysprog_intro_hw_watch->linux_sysprog_intro_hw_get
linux_sysprog_intro_hw_watch->linux_sysprog_intro_hw_sysfs_gpio
linux_sysprog_basics_syscalls
System Calls vs. Library Functions
linux_sysprog_basics_errorhandling->linux_sysprog_basics_syscalls
linux_sysprog_basics_syscalls->linux_toolchain_basics
linux_sysprog_basics_groupnode->linux_sysprog_basics_errorhandling
linux_sysprog_basics_groupnode->linux_sysprog_basics_syscalls
linux_basics_intro_overview
Overview
linux_basics_intro_process->linux_basics_intro_overview
linux_basics_intro_environment->linux_basics_intro_process
linux_basics_intro_fh_moodle_quiz
Quiz: Linux Basics
linux_basics_intro_fh_moodle_quiz->linux_sysprog_blocking_io_blocking_io_file
linux_basics_intro_fh_moodle_quiz->linux_basics_intro_process
linux_basics_intro_fh_moodle_quiz->linux_basics_intro_overview
linux_basics_intro_demo_everything_is_a_file
Everything Is A File (Live Demo)
linux_basics_intro_fh_moodle_quiz->linux_basics_intro_demo_everything_is_a_file
linux_basics_intro_login
Login? What Is That?
linux_basics_intro_login->linux_basics_intro_process_tree
linux_basics_intro_demo_everything_is_a_file->linux_sysprog_blocking_io_blocking_io_file
linux_basics_intro_demo_everything_is_a_file->linux_basics_intro_overview
linux_basics_intro_wsl
Windows Subsystem for Linux (WSL)
linux_basics_intro_wsl->linux_basics_intro_overview
linux_basics_intro_process_tree->linux_basics_intro_process
linux_basics_shell_cwd
Current Working Directory
linux_basics_shell_file_dir_create_rm->linux_basics_shell_cwd
linux_basics_shell_paths
Absolute and Relative Paths
linux_basics_shell_file_dir_create_rm->linux_basics_shell_paths
linux_basics_shell_ls
Directory Listings: The ls Command
linux_basics_shell_ls->linux_basics_intro_overview
linux_basics_shell_ls->linux_basics_shell_cwd
linux_basics_shell_special_paths
Special Paths
linux_basics_shell_ls->linux_basics_shell_special_paths
linux_basics_shell_ls->linux_basics_shell_paths
linux_basics_shell_configfiles
Shell Configuration File: ~/.bashrc
linux_basics_shell_configfiles->linux_basics_intro_environment
linux_basics_shell_links
Symbolic Links, Hard Links
linux_basics_shell_links->linux_basics_shell_ls
linux_basics_shell_cwd->linux_basics_intro_process
linux_basics_shell_commandline
Commandline
linux_basics_shell_cwd->linux_basics_shell_commandline
linux_basics_shell_cwd->linux_basics_shell_paths
linux_basics_shell_commandline->linux_basics_intro_overview
linux_basics_shell_mv
Moving and Renaming: mv
linux_basics_shell_mv->linux_basics_shell_file_dir_create_rm
linux_basics_shell_cp
Copying: cp
linux_basics_shell_mv->linux_basics_shell_cp
linux_basics_shell_mv->linux_basics_shell_paths
linux_basics_shell_special_paths->linux_basics_shell_paths
linux_basics_shell_cp->linux_basics_shell_file_dir_create_rm
linux_basics_shell_cp->linux_basics_shell_paths
linux_basics_shell_fh_moodle_quiz
FH/Moodle Quiz: Shell
linux_basics_shell_fh_moodle_quiz->linux_basics_shell_paths
linux_basics_shell_paths->linux_basics_shell_commandline
linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
Exercise: mkdir
linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r->linux_basics_shell_file_dir_create_rm
linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r->linux_basics_shell_cwd
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
Exercise: Create Files (I/O Redirection)
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files->linux_basics_shell_file_dir_create_rm
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files->linux_basics_shell_cwd
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files->linux_basics_shell_paths
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_shell_exercises_cp_mv_mkdir_rm_rm_rf
Exercise: Funny Stuff
linux_basics_shell_exercises_cp_mv_mkdir_rm_rm_rf->linux_basics_shell_file_dir_create_rm
linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy
Exercise: Verify, Repeat
linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files
Exercise: Move Files
linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files
Exercise: Copy Files
linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files->linux_basics_shell_ls
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files->linux_basics_shell_cp
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_move_files->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
linux_basics_shell_exercises_cp_mv_mkdir_rm_copy_tree
Exercise: Copy Directory Tree
linux_basics_shell_exercises_cp_mv_mkdir_rm_copy_tree->linux_basics_shell_cp
linux_basics_shell_exercises_cp_mv_mkdir_rm_copy_tree->linux_basics_shell_exercises_cp_mv_mkdir_rm_verify_hierarchy
linux_basics_shell_exercises_cp_mv_mkdir_rm_rm_tree
Exercise: Remove Directory Tree
linux_basics_shell_exercises_cp_mv_mkdir_rm_rm_tree->linux_basics_shell_file_dir_create_rm
linux_basics_shell_exercises_cp_mv_mkdir_rm_rm_tree->linux_basics_shell_exercises_cp_mv_mkdir_rm_copy_tree
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files->linux_basics_shell_file_dir_create_rm
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files->linux_basics_shell_cp
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_copy_files->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
linux_basics_shell_exercises_ls_etc_passwd_size
Exercise: Size of /etc/passwd
linux_basics_shell_exercises_ls_etc_passwd_size->linux_basics_shell_ls
linux_basics_shell_exercises_ls_dev_types
Exercise: File Types in /dev
linux_basics_shell_exercises_ls_dev_types->linux_basics_shell_ls
linux_basics_shell_exercises_ls_home_permissions
Exercise: Permissions of Home Directory
linux_basics_shell_exercises_ls_home_permissions->linux_basics_shell_ls
linux_basics_permissions_sticky
Ugly Hack: Sticky Bit
linux_basics_permissions_sticky->linux_basics_permissions_basics
linux_basics_permissions_fh_moodle_quiz
FH/Moodle Quiz: Permissions
linux_basics_permissions_fh_moodle_quiz->linux_basics_permissions_basics
linux_basics_permissions_basics->linux_basics_shell_ls
linux_basics_permissions_fh_moodle_quiz_nocheat
FH/Moodle Quiz: Permissions
linux_basics_permissions_fh_moodle_quiz_nocheat->linux_basics_permissions_basics
linux_basics_permissions_umasks
Default Permissions: umask
linux_basics_permissions_umasks->linux_basics_shell_file_dir_create_rm
linux_basics_permissions_umasks->linux_basics_permissions_basics
linux_basics_permissions_setuid
SetUID Programs: passwd, sudo, …
linux_basics_permissions_setuid->linux_basics_permissions_basics
linux_basics_permissions_setuid_livedemo
SetUID: Live Demo
linux_basics_permissions_setuid_livedemo->linux_basics_permissions_setuid
linux_basics_permissions_exercises_public_directory
Exercise: Create Public Directory
linux_basics_permissions_exercises_public_directory->linux_basics_permissions_basics
linux_basics_permissions_exercises_credentials
Exercise: Determine Your User Credentials
linux_basics_permissions_exercises_public_directory->linux_basics_permissions_exercises_credentials
linux_basics_permissions_exercises_private_directory
Exercise: Create Private Directory
linux_basics_permissions_exercises_private_directory->linux_basics_permissions_basics
linux_basics_permissions_exercises_private_directory->linux_basics_permissions_exercises_credentials
linux_basics_permissions_exercises_shared_file
Exercise: Create Group-Shared File
linux_basics_permissions_exercises_shared_file->linux_basics_permissions_basics
linux_basics_permissions_exercises_shared_file->linux_basics_permissions_exercises_credentials
linux_basics_permissions_exercises_credentials->linux_basics_intro_login
linux_basics_permissions_exercises_credentials->linux_basics_permissions_basics
linux_basics_permissions_exercises_public_directory_question
Question: Public Directory
linux_basics_permissions_exercises_public_directory_question->linux_basics_permissions_exercises_public_directory
linux_basics_permissions_exercises_private_directory_question
Question: Private Directory
linux_basics_permissions_exercises_private_directory_question->linux_basics_permissions_basics
linux_basics_permissions_exercises_private_directory_question->linux_basics_permissions_exercises_private_directory
linux_basics_exercises_FH_SS2022_EXAM_01_G1
Exam (ECE/SS2022/G1): Do A Lot With Files And Directories
linux_basics_exercises_FH_SS2022_EXAM_01_G1->linux_basics_shell_ls
linux_basics_exercises_FH_SS2022_EXAM_01_G1->linux_basics_shell_cp
linux_basics_exercises_FH_SS2022_EXAM_01_G1->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_exercises_FH_SS2022_EXAM_01_G1->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
linux_basics_exercises_FH_SS2022_EXAM_01_G2
Exam (ECE/SS2022/G2): Do A Lot With Files And Directories
linux_basics_exercises_FH_SS2022_EXAM_01_G2->linux_basics_shell_ls
linux_basics_exercises_FH_SS2022_EXAM_01_G2->linux_basics_shell_cp
linux_basics_exercises_FH_SS2022_EXAM_01_G2->linux_basics_shell_exercises_cp_mv_mkdir_rm_mkdir_p_rm_r
linux_basics_exercises_FH_SS2022_EXAM_01_G2->linux_basics_shell_exercises_cp_mv_mkdir_rm_echo_create_files
linux_basics_io_redir_pipes_exercises
Exercises: IO-Redirection, Pipes
linux_basics_io_redir_pipes_io_redir
I/O Redirection
linux_basics_io_redir_pipes_exercises->linux_basics_io_redir_pipes_io_redir
linux_basics_io_redir_pipes_io_redir_swap_stdout_stderr
I/O Redirection: Swap stdout And stderr
linux_basics_io_redir_pipes_exercises->linux_basics_io_redir_pipes_io_redir_swap_stdout_stderr
linux_basics_io_redir_pipes_pipes
Pipes
linux_basics_io_redir_pipes_exercises->linux_basics_io_redir_pipes_pipes
linux_basics_io_redir_pipes_io_redir->linux_basics_shell_commandline
linux_basics_io_redir_pipes_io_redir_swap_stdout_stderr->linux_basics_io_redir_pipes_io_redir
linux_basics_io_redir_pipes_pipes->linux_basics_shell_commandline
linux_basics_io_redir_pipes_pipes->linux_basics_io_redir_pipes_io_redir
linux_basics_text_tools_cat
cat
linux_basics_text_tools_overview
Overview
linux_basics_text_tools_cat->linux_basics_text_tools_overview
linux_basics_text_tools_exercises
Exercises: Inspecting Text Files
linux_basics_text_tools_exercises->linux_basics_text_tools_cat
linux_basics_text_tools_find
find
linux_basics_text_tools_exercises->linux_basics_text_tools_find
linux_basics_text_tools_exercises->linux_basics_text_tools_overview
linux_basics_text_tools_less
less
linux_basics_text_tools_exercises->linux_basics_text_tools_less
linux_basics_text_tools_grep
grep
linux_basics_text_tools_exercises->linux_basics_text_tools_grep
linux_basics_text_tools_cut
cut
linux_basics_text_tools_exercises->linux_basics_text_tools_cut
linux_basics_text_tools_head_tail
head And tail
linux_basics_text_tools_exercises->linux_basics_text_tools_head_tail
linux_basics_text_tools_find->linux_basics_text_tools_grep
linux_basics_text_tools_overview->linux_basics_shell_commandline
linux_basics_text_tools_less->linux_basics_text_tools_head_tail
linux_basics_text_tools_grep->linux_basics_text_tools_less
linux_basics_text_tools_cut->linux_basics_text_tools_head_tail
linux_basics_text_tools_head_tail->linux_basics_text_tools_cat
linux_basics_archiving_compression_exercises
Exercises: Archiving And Compression
linux_basics_archiving_compression_exercises->linux_basics_archiving_compression_tar
linux_basics_archiving_compression_gzip
gzip
linux_basics_archiving_compression_exercises->linux_basics_archiving_compression_gzip
linux_basics_archiving_compression_tar->linux_basics_shell_commandline
linux_basics_archiving_compression_tar->linux_basics_archiving_compression_gzip
linux_basics_archiving_compression_overview
Archiving and Compression
linux_basics_archiving_compression_overview->linux_basics_shell_commandline
linux_basics_archiving_compression_gzip->linux_basics_shell_commandline
linux_basics_archiving_compression_gzip->linux_basics_archiving_compression_overview
linux_ssh_basics->linux_basics_intro_login
linux_ssh_key_pair
SSH: Public Key Authentication
linux_ssh_key_pair->linux_basics_intro_login
linux_ssh_key_pair->linux_ssh_basics
linux_ssh_portforwarding
SSH: Port Forwarding
linux_ssh_portforwarding->linux_ssh_basics
linux_ssh_sshfs
SSH File System (sshfs)
linux_ssh_sshfs->linux_ssh_basics
linux_ssh_links
SSH: Links
linux_ssh_scp->linux_ssh_basics
linux_ssh_exercises_copy_tree
Exercise: Copy a Tree To Remote Machine (And Adjust Permissions)
linux_ssh_exercises_copy_tree->linux_ssh_basics
linux_ssh_exercises_copy_tree->linux_ssh_key_pair
linux_ssh_exercises_copy_tree->linux_ssh_scp
linux_ssh_exercises_copy_file
Exercise: Copy a File To Remote Machine, And Verify
linux_ssh_exercises_copy_tree->linux_ssh_exercises_copy_file
linux_ssh_exercises_pubkey
Exercise: Create SSH Key Pair
linux_ssh_exercises_copy_tree->linux_ssh_exercises_pubkey
linux_ssh_exercises_copy_file->linux_ssh_basics
linux_ssh_exercises_copy_file->linux_ssh_key_pair
linux_ssh_exercises_copy_file->linux_ssh_scp
linux_ssh_exercises_copy_file->linux_ssh_exercises_pubkey
linux_ssh_exercises_pubkey->linux_ssh_key_pair
linux_kernel_interrupt_coding
Coding: Raspi GPIO Interrupts
linux_kernel_mutex_coding
Coding: Fix Race Condition (Mutex)
linux_kernel_interrupt_coding->linux_kernel_mutex_coding
linux_kernel_interrupt
Interrupts
linux_kernel_interrupt_coding->linux_kernel_interrupt
linux_kernel_raspi_kernel_build
Raspberry Pi: Building the Kernel
linux_kernel_interrupt_coding->linux_kernel_raspi_kernel_build
linux_kernel_netdev
Network Devices
linux_kernel_netdev->linux_kernel_interrupt
linux_kernel_dma
DMA
linux_kernel_netdev->linux_kernel_dma
linux_kernel_spinlock_coding
Coding: Fix Sleep While Atomic
linux_kernel_spinlock_coding->linux_kernel_interrupt_coding
linux_kernel_spinlock
Spinlock (vs. Mutex)
linux_kernel_spinlock_coding->linux_kernel_spinlock
linux_kernel_pci
PCI
linux_kernel_pci->linux_kernel_interrupt
linux_kernel_iomemory
IO Memory
linux_kernel_pci->linux_kernel_iomemory
linux_kernel_pci->linux_kernel_dma
linux_kernel_workqueue
Workqueue
linux_kernel_timer_coding
Coding: Timed Event
linux_kernel_workqueue->linux_kernel_timer_coding
linux_kernel_process_vs_atomic
Process vs.Atomic Context
linux_kernel_workqueue->linux_kernel_process_vs_atomic
linux_kernel_kmalloc
Dynamic Memory: kmalloc()
linux_kernel_kmalloc->linux_kernel_process_vs_atomic
linux_kernel_multiple_devices
Coding: Multiple Devices
linux_kernel_mutex_coding->linux_kernel_multiple_devices
linux_kernel_mutex
Mutex (and RT Mutex)
linux_kernel_mutex_coding->linux_kernel_mutex
linux_kernel_stub_sysprog_dup
dup(), fork(), and Reference Counting (Stub)
linux_kernel_timer
Timer Management
linux_kernel_timer->linux_kernel_process_vs_atomic
linux_kernel_cdev_manual
Character Device Basics
linux_kernel_modules_hello_world
Module Loading, Hello World
linux_kernel_cdev_manual->linux_kernel_modules_hello_world
linux_kernel_interrupt->linux_kernel_process_vs_atomic
linux_kernel_cdev_first_functionality
Coding: First Functionality
linux_kernel_cdev_first_functionality->linux_kernel_kmalloc
linux_kernel_list
Doubly Linked Lists
linux_kernel_cdev_first_functionality->linux_kernel_list
linux_kernel_cdev_file_operations
File Operations on Character Devices
linux_kernel_cdev_first_functionality->linux_kernel_cdev_file_operations
linux_kernel_iomemory->linux_kernel_modules_hello_world
linux_kernel_cdev_refactoring
Coding: Refactoring
linux_kernel_cdev_refactoring->linux_kernel_cdev_first_functionality
linux_kernel_timer_coding->linux_kernel_spinlock_coding
linux_kernel_timer_coding->linux_kernel_timer
linux_kernel_fedora_kernel_build
Fedora: Building the Kernel
linux_kernel_cdev_file_operations->linux_kernel_stub_sysprog_dup
linux_kernel_cdev_auto
Modern Character Devices
linux_kernel_cdev_file_operations->linux_kernel_cdev_auto
linux_kernel_multiple_devices->linux_kernel_cdev_refactoring
linux_kernel_usermem
Accessing Userspace Memory
linux_kernel_usermem->linux_kernel_workqueue
linux_kernel_spinlock->linux_kernel_process_vs_atomic
linux_kernel_cdev_auto->linux_kernel_cdev_manual
linux_kernel_dma->linux_kernel_kmalloc
linux_kernel_mutex->linux_kernel_process_vs_atomic
linux_kernel_waitqueue
Waiting for Something
linux_kernel_waitqueue->linux_kernel_cdev_file_operations
linux_kernel_waitqueue->linux_kernel_usermem
linux_kernel_fedora_module_build
Fedora: Building External Kernel Modules
linux_kernel_modules_hello_world->linux_kernel_fedora_module_build
linux_kernel_fedora_module_build->linux_kernel_fedora_kernel_build
linux_hardware_brushless_motor
Controlling a Brushless Motor With Raspberry Pi
linux_hardware_pwm
PWM Userspace Interface (using PCA9685)
linux_hardware_brushless_motor->linux_hardware_pwm
linux_hardware_i2c
Linux and I2C (using LM73 Temperature Sensor as Slave)
linux_hardware_w1
Linux and OneWire (using DS18B20 Temperature Sensor as Slave)
linux_hardware_can_programming
Programming
linux_hardware_can_interfaces
CAN Interfaces
linux_hardware_can_programming->linux_hardware_can_interfaces
linux_hardware_can_intro
CAN/Linux Basics
linux_hardware_can_programming->linux_hardware_can_intro
linux_hardware_can_interfaces->linux_hardware_can_intro
linux_hardware_can_hardware
Hardware, Kernel