Then you should start learning assembly language, but assembly language is hard to learn, I recommend before starting learning it you should learn at least one high level programming language(I suggest C/C++)
For Linux the syntax is AT&T instead of using Intel syntax(if you know Intel syntax At&T syntax will be easy to understand), the syntax can be set from the debugger
Also you could try simple crack me tutorials, you can look on the net for them, but for unknown binaries(binaries that you don't know the source code, not built by you), I suggest doing them in a sandbox environment like virtual machines or containers.
Oh yeah, if you end up writing patches(either by an external program or by an injected module), this site gives a good list of OP codes for each instruction and what type of parameters it requires.
This also is helpful if you're doing it old-school, using a disassembler + hex editor.
The easiest way i've found to get started on learning reverse engineering is to write very simple C applications and try to change what they do.
For starters, write a hello world app. Pull up a reference of assembly instructions on the side, and read through what it does. Try changing the string output. Maybe make the app print yet another string.
PS. read up on calling conventions and the stack, it's the most important piece to understand for it all to make sense