lol
:(){ :|:& };:
http://explainshell.com/explain?cmd=%3A%28%29%7B+%3A%7C%3A%26+%7D%3B%3A
It's detailed... and tells you what all the elements do but I doubt someone who needs explainshell.com would be able to interpret it even still... it would be a lot easier to answer with one line "This is a fork bomb, don't run this."
I switched from Windows to Ubuntu about 3 months ago, and I had been on Windows since 3.1
Commit. Let's not kid each other. If you don't commit you'll revert back to Windows within a day or two. It takes a while to get oriented to a new system. It will be frustrating at first.
Keep a log of changes you make. If you hose your system, and have to do a clean install again, it will be easy to re-do the changes you want back.
Try and find GUI front ends for some of the command line utilities (e.g. grsync for rsync). You'll already have enough to do in the terminal, best if you don't have to do everything in the terminal.
Get a couple good reference books (e.g. Ubuntu Unleashed or Linux Bible). They go into more detail than an AskUbuntu page, for example, if you want to know how to connect your Ubuntu machine to a Windows network.
There were some real annoying things about Ubuntu when I first installed it - like one global close/minimize/maximize instead of each window having its own. Fix the most annoying things first.
I feel pretty good about Ubuntu now. I definitely won't be going back to Windows. But it takes time...
Edit: This is a handy website for when you google a problem and your best hit is an AskUbuntu page with a one liner like:
open a terminal and type this ...
and you have no idea what .... does.
The name of the person is Jeff Westbrook, but they changed his credit to "cat westbrook > /dev/null".
This is a piece of shell, which is a way people interact with linux systems.
Here is an explanation of what it means: http://explainshell.com/explain?cmd=cat+westbrook+%3E+%2Fdev%2Fnull
Be sure to include Explain Shell in whatever package of resources you give to newbies. This way they can type in commands they see and get an idea of what was actually done.
There are some good answers in the other parts of this thread -- but you should probably bookmark Explainshell which can come in handy sometimes.
It's a site that you input a command line, and it breaks it down & explains what is going on.
this is cheating, but go into the source directory/tracks and do
for trk in trk?data.h; do cut -c 3-4 $trk|xxd -ps -r >$trk.ogg; done
Can't figure out what commands do? Read the man page and use Explain Shell
Want to get into Linux Admin? Draw on the work of your forebears and get to work
https://www.reddit.com/r/sysadmin/comments/47pdpd/heres_a_list_of_things_you_should_learn_if_you/
https://www.reddit.com/r/linuxadmin/comments/2s924h/how_did_you_get_your_start/cnnw1ma
A common misconception, that you seem to have as well is that a distro is a user interface and that if you want a different interface you need to install a new operating system. The UI is actually determined by the installed Desktop Environments and Window Managers. I am using Ubuntu, however, I can install Gnome or KDE from the terminal. For example: to install KDE I could type sudo apt-get install kubuntu-desktop (and then put in the admin password). Sudo basically is giving superuser/admin priveledges so that I can install an application. Apt-get is the software used to install the program, install is telling Ubuntu to install the program, and kubuntu-desktop is the name of the Desktop Environment I would be installing. After that all the KDE apps and interface elements would be downloaded on my PC. I would be able to switch my DE from the login screen of Ubuntu. This is a lot faster and easier than installing Ubuntu and Kubuntu on the same computer.
Edit: Here is a nice example explaining my hypothetical scenario. http://explainshell.com/explain?cmd=sudo+apt-get+install+kubuntu-desktop
Slap a command you're unsure of in there and it'll give you a decent breakdown of what each part of the command does.
Linux Manual Pages - Also can be invoked in the terminal by typing man <command>.
Also, welcome to Linux.
Here is a tutorial: https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal
Learn the package manager, it's pretty easy once you get the hang of the syntax.
Install and Configure Apache or mySQL.
(Follow this tutorial: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu)
> If you don't understand what a command does, read the man page on it and try to puzzle out what it does before running it.
http://explainshell.com/ is handy for finding out what the switches on a command do.
You can try to renice the game process from the command-line. The priority option determines the niceness of the program. 20 means it will not do anything unless every other process in the background is finished. Drop it down to -20 and it will take precedence over everything else.
To be honest, if you want to play competitive you're better off Bootcamping into Windows. If you compare both the Mac version feels completely handicapped.
Other already answered your question. But I want to leave this cool link:
Just past a cmdline for virtually any common *nix command and it will give you an explanation of each parameter from the relevant man page. Good for quick checks or when you can not be bothered to go through some moustruous man pages, like the gcc one (where even the search some times are a pain)
Your shell style is... interesting. Have a look at Google's Shell Style Guide and implement some of its suggestions, and keep referring to it as your abilities evolve.
Next up: copy and paste your script into http://shellcheck.net, then fix any problems it finds. Use http://explainshell.com. Those two links with a dash of google-fu will get you most, if not all of the way there.
You should look at:
man useradd
Because you're using it in different ways through your script (namely with or without -m
). Pick one and stick with it.
Despite what I just said - If you're in interactive mode, you should prompt for a user description as well and set that with -c
Don't use passwd --stdin
as that's deprecated, use:
echo 'username:password' | chpasswd
instead. Even better is if you figure yourself out a nice password crypt function and use chpasswd -e
(protip: you can migrate users with their passwords intact between systems using this).
Alternatively, you can set passwords using useradd -p {encrypted password}
BUT if you use this, put in a check to ensure you're running on Linux. You don't want to run useradd -p
on Solaris, for example. There's one of your main goals in learning to script: build the habit to code as portably as possible.
To directly answer your issue:
>cut -d'\n' -c'3-''
>##Where most of the issue is i believe. i tried to get it to read only from the 3rd character, skipping the numbers beforehand. Didnt work.
Try dry-running it:
echo "2:newstudent" | cut -d'\n' -c'3-'
You may like to try a different delimiter: cut -d':' -f2
. man cut
or explainshell.com for the explanation
This is great. I admit I was hoping for explainshell for errorformat, but a good explanatory post is nice too. IMO efm and syntax are two of the most difficult parts of vim.
An easy way to figure out your partition layout is the command lsblk
talking_to_strangers@laptop:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 111,8G 0 disk ├─sda1 8:1 0 512M 0 part /boot ├─sda2 8:2 0 8G 0 part [SWAP] └─sda3 8:3 0 103,3G 0 part /home sdb 8:16 0 465,8G 0 disk ├─sdb1 8:17 0 415,8G 0 part /media/hdd-home └─sdb2 8:18 0 50G 0 part sr0 11:0 1 1024M 0 rom
Then, since you have 5 hdd, you can make a nice raid5 with mdadm like described here : https://raid.wiki.kernel.org/index.php/RAID_setup#RAID-4.2F5.2F6
EDIT : let's explain the command in the wiki : explainshell.com
As you can see in this example, there are 4 devices, and three of them are used to make a raid5 array, while the last one will be used in case any of the active disk fails.
Systems who understand smb: rsync
At least that's how I do it. My rsync script runs every 20min and syncs files to other linux or win machines. No idea about Android/iOS.
Android is pretty strict with file-system access. Even when developing Android apps this can be a pain in the ass.
breathe.. okay,
You can use http://explainshell.com/ to help explain commands as well
To format the code, just prefix each line with 4 spaces (or more) like this
Rsync automatically checks checksums data if it plans to copy a file, but it's not its "job" to ensure file integrity. Compare md5 hashes or something if you want to really make sure the data matches.
ps -ef lists all the processes. That command kills everything, or at least as much as it can.
Edit: More specifically, it lists all processes, takes the second column of that output (the process id), and uses that as an argument to kill -9. You might also like explainshell.com.
If you are running linux/OSX with bash and you are not quite sure what command, you are trying to execute, is doing you should see at least http://explainshell.com/ for explanation.
yes yes, read the man pages also.
Well, I don't use symlinks. I use the home directory as a git repository. So, whenever I set up a new computer, I do this:
cd ~ git init . git remote add -t * -f origin https://github.com/vatrat/dotfiles git checkout master
Then, I can just use my home folder as a repository. Now, going this route, you have to have a .gitignore. This is the file that tells git which files to ignore. I use it as a whitelist, telling git to ignore all files except the ones I add specifically.
File:
* **/.swp
!/.gitignore !/.gitconfig
!/.config !/.config/nvim
There are probably some mistakes or things I could improve with this file. I don't really know the ins and outs of working with .gitignore files.
So, now my dotfiles, such as my init.vim, are tracked by git and live alongside my regular files. I like this, but everyone is entitled to an opinion. (Unless, of course, I am missing some flaw of my setup).
Edit: Unrelated, but you may find this useful for working in the shell. http://explainshell.com/
Solid advice. I would add putting it in a VM. If it's in a VM you have more control over the OS, can take snapshots, make copies.. Etc.
If you are new to Linux, take a crash course and learn about the folder structure and some basic command line. Such as navigate, copy, move, search, install/remove packages. How to use arguments in a bash command... Etc.
If you come across a command and want to know what it does, paste it into http://explainshell.com/ it's a life saver.
Understandable.
So walk through how to know beforehand.
There are a few ways, lsblk and fdisk -l. Try typing those two commands with sudo in front. Here is a screenshot I just made with lsblk for reference on my own rig. Note the difference(I added a 2Gb USB drive).
Now you would type the dd command to send an .ISO to the thumb drive
sudo dd if=/home/01000010101010/some.ISO of=/dev/sdb bs=2048 && sync
Now visit ExplainShell and see what this command does....and bookmark that site.
Either that or a variant of it, as long as the first program does a full exit when the video is done
ninjaedit: you can use mpv ; poweroff
if you want the 2nd command to run no matter what the exit signal of the first command is.
You are the admin and you have an account that does things as a standard user until you explicitly tell it to do it as an admin. This is normal. You can run your file-manager as admin and do what you need to do.
gksudo nautilus
This doesn't answer your question, but it's a simple solution and a good reason to learn how to use a simple bash command.
sudo mv /path/to/source /path/to/destination
The link below will explain the command.
http://explainshell.com/explain?cmd=sudo+mv+%2Fpath%2Fto%2Ffile+%2Fpath%2Fto%2Fdesitnation
Remember to change it's permissions and ownership so you can modify and run those files.
To view the ownsership and permissions of the file. ls -al /path/to/files
To learn how to change ownership:
man chown
To learn how to change permissions:
man chmod
http://bropages.org/browse can show you quick examples of these commands
Note: I would also suggest you make a copy instead of moving. Make the changes to your copy.
> Hi thanks for replying I was really hoping someone could break it down for me :(
And I'd suggest using $() instead of backticks.
rsync -avh /home/jack/my_fucking_stuff /mnt/back_up_place
>EDIT: For clarity, I need to keep backing up this data every two weeks or so.
rsync -avh --delete /home/jack/my_fucking_stuff /mnt/back_up_place
wow! nice! Ill have to try this out
explanation for the switches: > http://explainshell.com/explain?cmd=dump+-0uan+-f+-+%2F+%7C+gzip+-2+%7C+ssh+-c+blowfish+user%40backupserver.example.com+dd+of%3D%2Fbackup%2Fserver-full-backup-%60date+%27+%25d-%25B-%25Y%27%60.dump.gz
> Another question :P If lets say I have some files in my /home/pictures folder, then I decided to > > ln -s /media/HDD2/Pictures /home/pictures > will the photos already in > > /home/pictures > be transferred to > > /media/HDD2/Pictures >
I have no idea what would happen there. You could always try it and find out.
You can access the files from the link or where they are actually located. They both work the same.
>Also, what exactly does the command ln -s mean?
ln is probably short for link and -s is an option that means symbolic
For the future:
While there are different RegEx syntaxes, most of the time you can get an explanation by pasting it here: http://regexr.com/
Also, if you need an explanation for general shell commands, this will help massively: http://explainshell.com/
That tutorial explains the flags pretty well. http://explainshell.com/ is also good for viewing man files
> <playlist.m3u xargs -I % cp /originalpath/% /destination
Relevant explainshell.com link
start it from the terminal with the given options
instead of just ./KSP.x86_64
use pp_jimenezmlaa=8 ./KSP.x86_64
- there is nothing more to it.
driconf
where you can set some parameters but I never used itUpgrading from a .tar.gz should not overwrite any config files. You can extract that tar like you did, when you installed it. Then you can run ./configure and make on it, the step which moves the created files is 'make install'.
Somewhere in the Makefile generated by ./configure there should be an 'install' section where it does list what it does. Usually the 'install' program ist used with some additional flags. You can check the install(8) manpage for the used parameters. (or copy the install command to http://explainshell.com/ to see only the relevant parts from the manpage)
If it really "installs" the configuration files, you might want to backup those files listed in the Makefile, but most software either generates the config file when invoked or uses defaults, if it's not there and doesn't "install" it from the tarball.
>find . -name '*.jpg' -exec cp --parents \{\} /target \;
I think the backslashes are only for masking the {} and ; at the end so it's treated as exec command and not expanded by bash before executing.
Formatting an USB stick to ext3: use gparted, which is a user-friendly GUI to do just that. To launch it, try one of these three commands:
sudo gparted gksudo gparted gksu gparted
Copying files from your hard drive to the USB stick: Let's imagine that your files are on your hard drive in a folder named /hard/drive/my/files/
and that you want to copy them to /usb/stick/folder
:
sudo cp -r /hard/drive/my/files/ /usb/stick/folder/
If you have trouble understanding the commands I suggest, use this awesome website!
There's always the brute force method. Bop to the terminal (Applications/Utilities/Terminal) and enter
sudo find / | grep oesavestate
You'll need to enter your password. This will search your entire drive for all files with a name containing "oesavestate" and print their full paths to the console. Finder's search is a little bad sometimes, and it's possible the files are hidden, but this will seek them out wherever they are.
Also, please don't use the "Solved" flair unless your problem is solved, and when your problem is solved please update the OP so others can find your answer later.
There is a pretty cool site that shows you what commands do and gives you pointers on where to look further.
If you are looking for a simple GUI approach, checkout MantaRay which is bundled with SIFT 3. If you load a bitstream image or any single file into it, it will carve out matching files with foremost.
If you are interested in using the command line, checkout ExplainShell which is my favorite man page website for reference. If you want, you can even paste the below command in it and it will parse it telling you what each argument does (though it does not recognize the -t arg).
An example foremost command that would carve JPG and GIF from an image with 512 byte blocks is:
foremost -b 512 -d -o "/path/to/new/folder" -t jpg,gif -i "/path/to/image.001"
I move my answers here for convenience.
To be honest I can't see any fps drop in your video, if you can indicate when exactly it happens it would help.
Otherwise if you record in 60fps you should reencod your videos in 30 fps for youtube until they allow 60 fps videos, they simply mess the framerate change (no resample & co).
You can use FFmpeg as the following but never tested :
ffmpeg -i input.mp4 -sameq -r 30 output30fps.mp4
If you uploaded a 60 fps video to youtube it's normal, they downgrade it to 30 fps without resampling. So you have to reencod into 30 fps as I said.
Otherwise it's the browser/player's fault not your video itself.
Take a look here just in case you don't use the good codecs/bitrates.
You can also see that in the posted example. It does not give info on the embedded commands, be them as arguments to ssh or su -c.
Explain Shell is a really good resource. It'll take whatever command you give it and use the man pages to break it down and show you what's happening. It even handles pipes and stuff like that too.
Also there are bro pages which, if you can follow the guide to set it up, are a supplement to man pages that are also helpful.
I know it's been said but reading man pages are really the best use of time if you don't know what to do. Looking up commands that you already are familiar are usually the coolest because you can find out really cool features that you never knew existed.
Lastly I'd reccomend using the fish shell or zsh. I know a lot of people are huge proponents of bash as it is pretty much the next most used after the borne shell but if you're just learning either of those will help get comfortable and then it'll just be learning syntax differences if you wanna switch.
Really the way I got comfortable I started trying to customizing my desktop. Because I use very light and basic window managers I ended up having to write scripts and tie everything together (wallpapers, panels and such) which taught me most of what I know. If you want to see the type of stuff that inspired me look at /r/unixporn and /r/wmporn. Both are crazy cool.
And don't be sorry for being a noob. Everyone had to go through that and most got help from the community to get competent. Just make sure you help people when you get good :D Good Luck! If you have more questions comment or pm me. I'll be happy to explain anything else.
(defun explain-shell (cmd) (interactive (list (read-shell-command "Command: "))) (browse-url (format "http://explainshell.com/explain?cmd=%s" (url-encode-url cmd))))
There's really just way too many useful commands to even touch on. Some basics off the top of my head:
ls
- list files/directories
ls -l
- same as above except includes permissions, owner/group, filesize, date, etc
cd someDirectory
- Go into a directory
cd ..
- Go back up the tree one directory
~
- Your home folder. ~/blah
is the same as /home/you/blah
sudo dpkg -i file.deb
- Installs a .deb package
which program
- Finds executables. i.e. which htop
= /usr/bin/htop
locate file.ext
- Finds a file on your system, can be all or part of the name
chmod +x somefile.sh
- Makes a file executable
./somefile.sh
- Executes an executable file
mv somefile ~/blah
- Moves a file to /home/you/blah
cp somefile ~/blah
- Copies a file to /home/you/blah
rm somefile
- Deletes a file
mkdir somedir
- Creates a new directory
wget http://site.com/file.ext
Downloads a file
Also, this site is really cool.. check the examples at the bottom to see what it does. http://explainshell.com
First off, you can start using linux right now if you wanted. Install VirtualBox and run it on top of Windows. Once you feel confident going linux alone you'll be better prepared. Or you can run Windows as a host for good if you wanted.
A shell is another term for the command line...akin to cmd.exe in Windows. Comparing one to the other is like comparing chess to checkers though IMO.
Lastly, I assume you are going to bookmark your very own post on reddit so be sure to check out http://explainshell.com You might not need it soon but it's a great website for you later on.
Run the following command:
cat /etc/tor/torrc | grep SocksPort
and send us the output.
If you don't get anything, it's because you didn't set a socks port. Add 'SocksPort 9050' to your torrc.
la
... Alias for ls -a
that shows hidden files as well. Found that one out by happy accident.
Also.. this site.
write the image directly, dont store the image in a filesystem, because there is also bootloaders inside the image
use the dd command
explainshell.com helps a little bit. So the command changes the file- and group-owner recursively.
>execute a command as another user
>change file owner and group > >-R, --recursive > >operate on files and directories recursively > >-L traverse every symbolic link to a directory encountered >
This worked for me ... you might want to wrap a shell function around it to get the basename of your text file and create a corresponding pdf output file.
enscript -B --media=A4 -p - /tmp/vimtutor.txt | ps2pdf - | pdfbook --signature 8 --outfile /tmp/vimtutor.pdf
Explainshell output, because enscript options are inscrutable
You can try changing the SSD to another sata port, but if it still doesn't show up then it's dead. And yes, it is possible for SSDs to simply die like that, in fact, that's more common than them reaching their read/write life. The fact that it lasted you 4 years is great, you'll be lucky for most hard drives under normal use to last a couple these days.
If you can get the drive to show up, go ahead and run smartctl on it and see what the dump says. If you're unfamiliar with Smartctl, look here http://explainshell.com/explain/8/smartctl
In this case, smartctl -a /dev/sdx to dump all the SMART info and statistics for the drive.
> This seems to mostly work. I say mostly because the top IP address (89.248.160.204) isn't actually being blocked, but all of the rest are. Why is that?
Are you sure that the address you're seeing on your webserver is is correct? I ask because on the other rules you are blocking the subnet (the suffix /24 will block all the hosts on the same subnet i.e. 89.248.167.0 - 89.248.167.255). If the host in the first line of iptables (89.248.160.204) is definitely the same as the one in the webserver logs, then I'd guess there is a conflicting rule elsewhere in your iptables - something like
iptables -I FORWARD -p 80 -j ACCEPT
Remember iptables rules work top to bottom and stop at the first match (typically). Also worth remembering is that iptables -I will Insert the rule at the top of the chain, and iptables -A will Append the rule to the end of the chain.
> Another question... I changed the word FORWARD to INPUT, and it all stopped blocking anything. As I understand it FORWARD is supposed to apply to outgoing traffic and INPUT is supposed to apply to incoming traffic. But that must not be the case.
That is not the case. INPUT refers to packets that have a destination of the router itself, FORWARD refers to packets that the router is passing on (forwarding). OUTBOUND refers to packets originating at the router.
> Finally, if I wanted to block everything that starts with 185.130 instead of just 185.130.4, how would I go about writing a rule for that?
You can block all subnets in this range by using a wider subnet mask e.g.
iptables -I FORWARD -s 185.130.0.0/16 -j DROP
The best way to come up to speed with iptables is to read example rules and look up what the various parts mean, this site can help to a degree
I'm using encfs with the "--reverse" option to encrypt my data and using rclone to upload it. I learnt a few lessons in my testing over the last month.
That's everything that I've learnt so far, but I'm sure I'll learn more as I work on testing restores and automating the process.
Hmm, you had me thiniking... so I just ran it again without the cut and it's almost okay, except it's also returning the entry for the favicon.ico in the GET right after the actual image. Either way the dirty search returns what I was looking for... how many unique IP addresses hit the server to GET that image.
try parallel - https://www.gnu.org/software/parallel/parallel_tutorial.html#GNU-Parallel-Tutorial
something like
find /root/test -maxdepth 1 -print0 | parallel -0 -j 3 --gnu -n1 cp -rpn {} /root/test2
(just replace 'cp -rpn; with 'echo' to simulate it)
Use the man pages for any command you want specific instructions on. Everything is typically very well documented in Linux. For questions like "how do I ___?", google is usually pretty effective (stackexchange turns up frequently).
Edit: forgot http://explainshell.com/
There's a fairly easy way on GNU/Linux:
curl -L facebook.com | grep -c Facebook
This command will print out the number of times Facebook occurs on facebook.com.
Here's an explanation.
An important one for everyne I think, grep ignoring case:
<strong>alias grep="grep -i"</strong>
this one is just interesting, show files/directories and their permissions in numerical form
No Problem. If you don't understand what a command does (e.g. sudo) or what all of those weird looking options do then you can look at their man pages anytime or google them. What makes you a power user is the ability to find answers when you have questions.
There's a website called explainshell, that might be helpful for you. It explains everything in a command line (just check it out and you'll know).
~~So is their example's command wrong or the explanation?~~
for user in $(cut -f1 -d: /etc/passwd); do crontab(1) -u $user -l 2>/dev/null; done
~~I want to say the cut command needs backticks, but I'm only half paying attention.~~
I took another look and it seems you can click the $() statement to see it explained.
As a side-note, it's slightly sad that man grep
is the answer. There's still no standard for option metadata and the best solutions are crude nroff/groff parsers such as that of explainshell.
Had he been slightly more specific and asked how to do this with a powershell cmdlet, or in bash via compgen
for a builtin or program with a completion, then it wouldn't have been such a dumb question.
One of the best books that I read when I was starting out was The Linux Command Line: A Complete Introduction by William E. Shotts Jr.
Also check out this site which is a quick reference to understand a command: explainshell.com
It's just a shell command. A bunch of simple programs are used in pipeline. The output of each is then given to the next etc.
You can check out the details here: http://explainshell.com/explain?cmd=seq+1+1000+|+sed+-e+%27s%2F.%2F\0\n%2Fg%27+|+sort+|+uniq+-c
FYI explainshell can offer some insight, but it would be more helpful if it understood what the if
and of
arguments are.
I am a little late to the party, but in the future if you have other questions related to the command line, this site may help.
rpm -qpR Will give you the dependencies ( http://explainshell.com/explain?cmd=rpm+-qpR ) But if you try to install a package with "rpm -i" while dependencies are missing you will have an error with the missing dependencies.
As told henry_kr using a package manager will resolv the dependencies for you.
Client is here:
>/usr/share/doc/openvpn/examples/sample-config-files/client.conf
I guess debian puts the server.conf in a gz file here
>/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
get it (server.conf) in /etc/openvpn with:
>cd /usr/share/doc/openvpn/examples/sample-config-files
>gunzip -c server.conf.gz > /etc/openvpn/server.conf
file list can be found here
Not trying to sound like a jerk here, just some sound advice... it seems like you're just running a script hoping it will make it work (I'm sorry if I got the wrong idea), only run a script if you know what it does, especially as root. Scripts are supposed to make life easier, not compensate for a lack of understanding.
Check out http://explainshell.com/, its a really handy reference if you don't know what a specific bash command does.
Also, all that script does is convert a client.conf and keyfiles to an .ovpn file with included keys.
I don't have the windows version anymore but if you are on Linux you can bind this to a command
import jpg:- | tesseract stdin stdout | xclip
http://explainshell.com/explain?cmd=import+jpg%3A-+|+tesseract+stdin+stdout+|+xclip
Well, it's not nearly as pretty as explainshell, nor as clever at parsing shell syntax. But the data is presented in a different way, so hopefully this is still useful in some scenarios.
To be honest I can't see any fps drop in your video, if you can indicate when exactly it happens it would help.
Otherwise if you record in 60fps you should reencod your videos in 30 fps for youtube until they allow 60 fps videos, they simply mess the framerate change (no resample & co).
You can use FFmpeg as the following but never tested :
ffmpeg -i input.mp4 -sameq -r 30 output30fps.mp4
I like it. Although I agree that I'd prefer it to spit out a command and ask 'use this version?' with a configurable level of explanation similar to http://explainshell.com/
Would also make a good teaching tool that way.
So others have given good book resources, I really like explainshell for demonstrating what's going on in a line of shell code. I've used it when working with less experienced admins and I have found it to be an extremely valuable tool.
>Well thanks for all the help, and making my computer run Linux now! :)
No problem - Glad I could help!
>You wouldn't have a link, that explained and gave and introduction to a new linux user
I did my innitial steps with the help of the (really great and detailed) German Ubuntu wiki and their community - Which won't be that useful for you I suppose. ;)
Maybe ask in /r/linux or just google around - There's tons of stuff.
eOS is based on Ubuntu 12.04 (aka "Precise Pangolin") btw - You should be able to use Ubuntu books/guides just fine.
>I find myself just typing in commands, without fully knowing what they do :)
man commandname
will show you the man(-ual) page for that program.
A manpage usually explains what that program does, how to use it and what its arguments actually do. Some also contain usage examples.
You can also try...
It analyzes commands and tries to explain what they do.