Hey all,

I'm fairly new to Linux but have been looking around for helpful aliases within terminal to help make things easier on myself. This is what I've come up so far but just wondering what others people are using to help their workflow?

`source /usr/share/defaults/etc/profile

Lazy way to clear

alias c='clear'

Software upgrade

alias up='sudo eopkg upgrade'

Stop after sending count ECHO_REQUEST packets

alias ping='ping -c 5'

confirmation

alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
alias ln='ln -i'

Learn your external IP

alias ipe='curl ipinfo.io/ip'

Open up file browser

alias explore='nautilus .'
alias suexplore='sudo nautilus .'

Test the checksum

alias sha='shasum -a 256 '`

I would be interested to here what you guys are using and also if there are any Solus specific commands you're using?

Regards

    my small aliases

    `# Development
    #alias test="sh /scripte/bash/test"
    alias fetchYml="../common/Scripts/yauto.py"
    alias updateYml="/usr/share/ypkg/yupdate.py"
    alias makefile='echo "include ../Makefile.common" > Makefile | echo "Makefile initialisiert"'
    alias package_yml='firefox https://getsol.us/articles/packaging/package.yml/en/#mandatory-keys'
    alias solchroot='sudo solbuild chroot -p unstable-x86_64'
    alias chmodx='sudo chmod +x'
    alias create-repo='sh /scripte/Solus/infrastructure-tooling/create-repo'
    alias init-repo='sh /scripte/Solus/infrastructure-tooling/init-repo'
    alias new-repo-from-differential='sh /scripte/Solus/infrastructure-tooling/new-repo-from-differential'

    git

    alias gs='git status'
    alias ga='git add'
    alias gc='git commit'

    Misc

    alias la='exa -lagh --sort=name'
    alias dir='ls --color --group-directories-first'
    alias rm='rm -vI --one-file-system'
    alias grep='grep --color=auto'
    alias smicro='sudo micro'
    alias malias='micro /scripte/bash/bash_aliases'
    alias aliases='awk "1" /scripte/bash/bash_aliases'
    alias getisodate='date --iso-8601=seconds'
    alias createkey='pwgen -s $1 8'
    alias term-it='sh /scripte/bash/bash_term-it'

    youtube-dl

    alias ytdlmp3='youtube-dl --extract-audio --audio-quality 0 --audio-format mp3 -o "/Musik/%(title)s."'
    alias ytdlkmv='youtube-dl -o "/Videos/%(title)s." -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio'--embed-thumbnail --add-metadata --merge-output-format mp4'

    ssh

    alias backup='sh $HOME/scripte/Backup/backup_script.sh'
    `

    and I wrote a simple bashscript with these function for packaging

    ` Syntax: solt [<Order>] [<Argument>]

    Where <Order> is one of the following orders could be

         search  <Argument>  (sr) - Search after eopkg packages with up to 3 search terms
            info <Argument>  (if) - Set information about a eopkg package
         pkgconf <Argument> (pkg) - Search for package from a pkgconfig()
     create-repo <Argument>  (cr) - Create a new phabricator repo package
     update-repo <Argument>  (ur) - Update phabricator repo package
        get-repo <Argument>  (gr) - Clone phabricator repo package
      clone-diff <Argument>  (cd) - Clone phabricator repo and arc patch a diff

    newest-source <Argument> (ns) - get the newest source url from a phabricator repo package
    repo <Argument> - Check if a new package is available or not
    solbuild-update (sup) - Updates Solbuild
    clean-local (cl) - Deleted all eopkg files in ../solbuild/local
    help - Shows this dialog

    Additional flags:

    • solbuild-update

      • co : Updates only the common folders inside the packaging folder
      • all : Updates Solbuild and common folders
    • repo

      • check : Checks the repo list if any mentioned packages have a new update available
      • add <name> : Adds a repo package to the check list
    • clone-diff

      • usage : clone-diff reponame Dxxxx
        `

      Some of them:

      alias clearPatches="rm $HOME/Downloads/*.patch"
      alias deepGitDiff="git diff --patience --ignore-space-change --ignore-all-space"
      alias search="ag"
      alias qemuMakeHDD="qemu-img create -f raw"
      alias qemuRun="qemu-system-x86_64 -enable-kvm -m 2048M -display sdl"
      alias cleanSolbuildLocal='sudo rm /run/media/joshua/pool/Linux/solbuild/*.eopkg'
      alias copyEopkgToLocal='sudo cp -R *.eopkg /run/media/joshua/pool/Linux/solbuild/'
      alias create-repo='$HOME/Code/repository/infrastructure-tooling/create-repo'
      alias init-repo='$HOME/Code/repository/infrastructure-tooling/init-repo'
      alias new-repo-from-differential='$HOME/Code/repository/infrastructure-tooling/new-repo-from-differential'
      alias init-repo-commit='git commit -s -m "Initial repository construction" --allow-empty'

      In case my brain derps:

      alias eokpg="eopkg"
      alias epkg="eopkg"
      alias epokg="eopkg"
      alias eopgk="eopkg"
      alias reste="reset"

      I also have a bunch of goToN (replace N with name of project) aliases, so I don't have to bother using a separate util like goto for effectively the same thing (cd'ing to a directory).

      Example:

      export solusProjectDir="$HOME/Code/SolusProject"
      alias goToBudgie="cd ${solusProjectDir}/budgie-desktop"
      alias goToFerryd="cd ${solusProjectDir}/ferryd"
      alias goToSolusSite="cd ${solusProjectDir}/solus-site"

      I also have a few deployX aliases that run rsync commands of public-deployed/ Hugo generated sites to various remote servers. They follow the template of rsync -avzu --delete public-deployed/ ssh-server:/home/user/public-deployed/


      Other niceties that I have, such as git aliases in my ~/.gitconfig

      [alias]
          permission-reset = "!git diff -p | grep -E \"^(diff|old mode|new mode)\" | sed -e \"s/^old/NEW/;s/^new/old/;s/^NEW/new/\" | git apply"
          commit-count = "!git rev-list --count"
          diff-count = "!git diff --patience -w --stat"
        • [deleted]

        • Edited

        alias turbo='sudo cpupower frequency-set -g performance'

        It looks like some really powerful stuff here. Enough homework for me to look through and start understanding what each does and how I could use it!!

        I use SSH keys so I don't have to type passwords to login to systems that I need to regularly. So these aliases make it even quicker. username, IP and mac addresses have been redacted:

        ssh:
        alias lexi='ssh username@x.x.x.x'
        alias squid='ssh username@x.x.x.x'
        alias znc='ssh username@x.x.x.x'
        alias tbox='ssh username@x.x.x.x'

        Turn on system:
        alias wtbox='wol 00:00:00:00:00:00'

        Sometimes I'll reboot the server my irc bouncer is on and need to start the service again:
        alias rsznc='ssh username@x.x.x.x znc'

        Get ip address:
        alias getip='wget http://ipecho.net/plain -O - -q ; echo'

        System temps:
        alias gettemp="sensors && nvidia-smi -a -q | grep -i \"GPU Current Temp\""

        Get file permissions in octal:
        alias chkoctal='stat -c "%a %n" *'

        Backup home folder to external usb drive:
        alias rsynchome="rsync -avh --delete --exclude-from='/home/username/.rsyncexclude' /home/username /mnt/Backup/Home"

        Update music collection on other system:
        alias rsyncpushmusic="rsync -avh --delete /mnt/DataDrive/Music username@x.x.x.x:/mnt/Data/"

        Solus packaging:
        alias fetchYml="$HOME/repository/common/Scripts/yauto.py"
        alias updatePackage='/usr/share/ypkg/yupdate.py'

          Girtablulu and I wrote a simple bashscript with these function for packaging

          Can you share this one? 🙂

          @Harvey why not add a systemd service to start it?

            Harvey For your ssh aliases, you can just add them to .ssh/config. Check out this blog post.

            Sometimes I'll reboot the server my irc bouncer is on and need to start the service again:

            Like what @Justin mentioned, should just use a systemd unit 😃

            # Solus Specific
            alias ap='~/repository/common/Scripts/yauto.py'
            alias ebx='sudo solbuild build pspec.xml -p unstable-x86_64'
            alias reload='source ~/.bashrc'
            alias bashrc='qedit ~/.bashrc'
            alias sr='eopkg sr'
            alias it='sudo eopkg it'
            alias info='eopkg info'
            alias up='sudo eopkg up'
            
            # Directory/File Stuff
            alias ..='cd ..'
            alias l='ls -hl --group-directories-first'
            function mkcd { if [[ -d $1 ]];then cd $1;else mkdir $1;cd $1;fi }

            I have more but they're on my main rig which I am not near currently.

            Justin well get read for some horrible bash scripting 😃

            #!/bin/bash

            usage()
            {
            echo ""
            echo " Syntax: solt [<Order>] [<Argument>]"
            echo ""
            echo " Where <Order> is one of the following orders could be"
            echo ""
            echo " search <Argument> (sr) - Search after eopkg packages with up to 3 search terms"
            echo " info <Argument> (if) - Set information about a eopkg package"
            echo " pkgconf <Argument> (pkg) - Search for package from a pkgconfig()"
            echo " create-repo <Argument> (cr) - Create a new phabricator repo package"
            echo " update-repo <Argument> (ur) - Update phabricator repo package"
            echo " get-repo <Argument> (gr) - Clone phabricator repo package"
            echo " clone-diff <Argument> (cd) - Clone phabricator repo and arc patch a diff"
            echo " newest-source <Argument> (ns) - get the newest source url from a phabricator repo package"
            echo " repo <Argument> - Check if a new package is available or not"
            echo " solbuild-update (sup) - Updates Solbuild"
            echo " clean-local (cl) - Deleted all eopkg files in ../solbuild/local"
            echo " help - Shows this dialog"
            echo ""
            echo " Additional flags: "
            echo ""
            echo " - solbuild-update "
            echo " - co : Updates only the common folders inside the packaging folder"
            echo " - all : Updates Solbuild and common folders"
            echo ""
            echo " - repo"
            echo " - check : Checks the repo list if any mentioned packages have a new update available"
            echo " - add <name> : Adds a repo package to the check list"
            echo ""
            echo " - clone-diff"
            echo " - usage : clone-diff reponame Dxxxx"
            echo ""
            }

            repo=/home/fredu/.solus # where the packaging is
            repo_url=ssh://vcs@dev.getsol.us:2222/source/$2.git
            arg="$1"

            Background color terminal output

            BGC_red='\e[41m'
            BGC_green='\e[42m'
            color_yellow='\e[33m'
            nc='\e[0m\n'

            fileCheck ()
            {
            if [ -z "$1" ]; then
            printf "${BGC_red} Please input package file name. ${nc}"
            exit 1
            elif [ -d "$1" ]; then
            printf "${BGC_red} Directory already exists. ${nc}"
            exit 1
            fi
            }

            rootCheck ()
            {
            if [[ "$EUID" -gt 0 ]]; then
            printf "${BGC_red} ERROR: This operation requires escalated privileges. Exiting! ${nc}"
            exit 1
            fi
            }

            createCommon () {
            git clone https://dev.getsol.us/source/common.git
            ln -sv common/Makefile.common .
            ln -sv common/Makefile.toplevel Makefile
            ln -sv common/Makefile.iso .
            }

            cases

            case "$arg" in
            search | sr)
            shift
            eopkg search "$1" | grep "$2" | grep "$3" | sort
            ;;

            info | if)
                shift
                eopkg info "$1"
            ;;
            
            pkgconf | pkg )
                shift
                python $repo/common/Scripts/epcsearch.py $1
            ;;
            
            create-repo | cr)
                shift 
                cd $repo
                fileCheck $1
                mkdir $1 && cd $1;
                printf "${BGC_green} Please enter package source url: ${nc}"
                read URL
                $repo/common/Scripts/yauto.py ${URL};
                git init;
                echo "include ../Makefile.common" > Makefile;
                printf "${BGC_green} Makefile created ${nc}"
                exec bash
            ;;
            
            update-repo | ur)
                shift
                cd $repo
                fileCheck $1
                git clone $repo_url
                cd $1
                printf "${BGC_green} Please enter new version No: ${nc}"
                read VERSION 
                printf "${BGC_green} Please enter new source url: ${nc}"
                read URL
                /usr/share/ypkg/yupdate.py ${VERSION} ${URL}
                exec bash
            ;;
            
            get-repo | gr)
                shift
                cd $repo
                fileCheck $1
                git clone $repo_url
                cd $1
                exec bash
            ;;
            
            clone-diff | cd)
                shift
                cd $repo
                if [ ! -d "Diff_Clone" ]; then
                    mkdir -p $repo/Diff_Clone
                    cd  $repo/Diff_Clone
                    createCommon
                fi &> /dev/null
                cd $repo/Diff_Clone
                git clone $repo_url
                cd $1
                arc patch $2
                exec bash
            ;;
            
            newest-source | ns)
                shift
                url=$(w3m -dump https://dev.getsol.us/source/$1/browse/master/package.yml | grep 'source :' -A1 | tail -n 1 | awk '{print $2}')
                getnewsource=$(cuppa q $url)
                getrepoinfo=$(eopkg info $1 | grep -m1 "Name" | awk '{print $3,$5}' | sed 's|,| -|; s|,||')
                printf "${color_yellow}Repo version:\e[0m   ${getrepoinfo} ${nc}"
                printf "${color_yellow}Source version:\e[0m ${getnewsource} ${nc}"
            ;;
            
            repo )
                shift
                if [[ $1 == "check" ]]; then
                    while IFS= read list; do
                    url=$(w3m -dump https://dev.getsol.us/source/$list/browse/master/package.yml | grep 'source :' -A1 | tail -n 1 | awk '{print $2}')
                    getnewsource=$(cuppa q $url)
                    getrepoinfo=$(eopkg info $list | grep -m1 "Name" | awk '{print $3,$5}' | sed 's|,| -|; s|,||')
                        if [ "$(cuppa q $url | awk '{print $1}')" == "$(eopkg info $list | grep -m1 'Name' | awk '{print $5}' | sed 's|,||')" ]; then
                            :
                        else
                            echo ""
                            printf "${color_yellow}Repo version:\e[0m   ${getrepoinfo} ${nc}"
                            printf "${color_yellow}Source version:\e[0m ${getnewsource} ${nc}"
                        fi
                    done < /home/fredu/scripte/Solus/packagelist
            
                elif [[ $1 == "add" ]]; then
                    echo $2 >> /home/fredu/scripte/Solus/packagelist
                fi
            ;;
            
            solbuild-update | sup)
                shift
                printf "${color_yellow}Updating... ${nc}"
            
                if [[ $1 == "" ]]; then
                    sudo solbuild update > /dev/null 2>&1
                    printf "${BGC_green} Solbuild updated ${nc}"
            
                elif [[ $1 == "-co" ]]; then
                    for i in $(find $repo -type d -name 'common'); do
                        cd "$i/"
                        git pull > /dev/null
                    done
                    printf "${BGC_green} Common folder updated ${nc}"
            
                elif [[ $1 == "-all" ]]; then
                    sudo solbuild update > /dev/null 2>&1
                    for i in $(find $repo -type d -name 'common'); do
                        cd "$i/"
                        git pull > /dev/null
                    done
                    printf "${BGC_green} Solbuild and Common updated ${nc}"
            
                fi
            ;;
            
            clean-local | cl)
                shift
                rootCheck
                find /var/lib/solbuild/local -type f -name '*.eopkg' -delete &
                printf "${BGC_green} Removed *.eopkg in ../solbuild/local ${nc}"
            ;;
            
            help | --help | -h)
                shift
                usage
            ;;
            
            *)
                shift
                usage
            ;;

            esac

              • [deleted]

              alias admedit="VISUAL=gedit sudoedit"

              Bash

              alias ls='ls --color=auto --group-directories-first -v'
              alias df='df -h -x squashfs' # Thanks popey for this one

              .gitconfig

              [url "https://github.com/"]
               insteadOf = "gh:"
              
              [alias]
              graph = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %C(cyan)(%an)%Creset' --abbrev-commit --date=relative
              grab = "!f() { git clone git@github.com:tryton-vanmeer/$1.git; }; f"