• 0 Posts
  • 727 Comments
Joined 2 年前
cake
Cake day: 2023年6月16日

help-circle
  • Nice, and good job.

    With respect:

    • You are describing the init process, after the boot stuff is done. Not sure if you meant that or not.
    • vmlinuz is the bootable kernel image distinct from the kernel itself. It contains the compressed bootbale ELF kernel image (which itself contains bvmlinuz) and gzip decompress function, bsetup code, bbootsect system.map, and a handful of commands for the kernel image to bootstrap itself.
    • Kernel space doesn’t stop once user space is allocated memory and initialized, they both run at the same time. Maybe I read that wrong, but it didn’t seem right to me.

    I want to be careful here not to discourage you, this is great exploration!

    I realize I’m handing out unsolicited advice here, but when I was first learning about Unix/Linux kernels in the Solaris and HP/UX days, the thing that helped the process “click” for me was compiling a kernel and building an ELF. And if you’re going to continue on this journey (which I hope you do), you should probably read a bit on memory segmentation and broadly about assembly instructions.

    Good luck!


  • non_burglar@lemmy.worldtoLinux@lemmy.mlBash scripting question
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    9 小时前

    Your find statement is not creating a variable “file” because it’s missing the first part of the for loop. This:

    find ./ -type f \( -iname \*.jpg -o -iname \*.png \) | while IFS= read -r -d '' file; do

    should be this:

    for file in "$(find ./ -type f \( -iname \*.jpg -o -iname \*.png \))"; do

    However, the above command would find all files in current and subdirectories. You can just evaluate current context much more simply. I tested the below, it seems to work.

    #! /bin/bash
    echo "This script will rename all files in this directory with unique names. Continue? (Y/N)"
    read proceed
    if [[ "$proceed" == "Y" ]]; then
    	echo "Proceed"
                   for file in *.{jpg,JPG,png,PNG}; do
                        echo "in loop"
                        echo "$file"
                        dir=$(dirname "$file")
                        base=$(basename "$file")
                        echo "'$dir'/'$base'"
                        new_name="$dir/$(uuidgen -r)"
                        echo "Renaming ${file} to ${new_name}"
                        #mv "$file" "$new_name" #uncomment to actually perform the rename.
                   done
    	echo "After loop"
    else
    	echo "Cancelling"
    fi
    

    You could also find matching files first, evaluate if anything is found and add a condition to exit if no files are found.

    Edit: who the fuck downvoted this, it literally works and the for loop was the issue.










  • I’m a bilingual french-english Canadian, raised outside of Quebec. French is my first language. Having access to both languages in school, at home, and in professional settings has created in me and my bilingual peers a strong sense of identity, a strong sense of empathy toward those who don’t speak English as their first language, and it has allowed me to impart a sense of culture to my kids without anchoring it in religion.

    That said, I have been through the 1995 separation referendum. I’ve also been harassed and mocked for speaking French. There are those who don’t care about rich cultural lives, and they have no shame in asking brazen questions like this. Given the framing and feigned innocence of your question, I think you are one of those.

    What is your motivation to stir such a sensitive question among Canadians?