TIL
I created this to keep log of things I learn on daily basis when working on different problems.
Extract Links using CURL
xargs -n 1 curl -sL < 2018.txt | grep -Eo "<title>.*</title>" The command to extract links using curl
curl -sL https://news.ycombinator.com/item\?id\=18740939 | grep -Eo 'href="(https|http):[^\"]+"' Command to extract the links from hackernews
grep -aEo "<title>.*</title>"
-a
option to process binary file link to sol
use ``` backticks to run a command in bash
Counting files in directory
To count specific files in the directory you can use the following command
ls *.<file_extension> | wc -l
lets say if you want to see how many css files you have in a directory you might use this command as
ls *.css | wc -l
Generating a Grub File
We can use this command to generate a grub
configuration file.
sudo grub-mkconfig -o /boot/grub/grub.cfg
As grub-mkconfig
scans hardrives for bootable operating systems such as windows, mac or linux distros
Assigning Programs to Workspaces
To open programs on specific windows when using i3
window mananger add the following to the i3 config
assign [class="<use your program name here e.g. - Firefox>"] $workspace <eg 5>
After adding to the config make sure to refresh i3-msg reload
Resize images on Commandline
In order to resize images using command you can use the convert
command.
convert img.jpg -resize 200x200 img-1.jpg
and you can also convert to different extenstions using convert
command.
convert img.png img.jpg
If you don't have convert
installed you can install from a package manager.
Setting up printer using CUPS
To add a printer on linux use CUPS
.
Access the web admin http://localhost:631/
Killing port on Linux
fuser -k <port_name>/tcp
use fuser
to kill specific ports on linux
Revert Chmod
chmod -x
allows you to revert the executable created by chmod +x
Enabling BLuetooth on Linux
In order to enable the bluetooth in Linux especially when using a command line, do the following
sudo systemctl enable bluetooth.service
To stop the bluetooth service
sudo systemctl enable bluetooth.service
Then you can use bluetoothctl
to connect or pair devices using bluetooth
Unzip files in Linux
You can unzip .7z
extension file using the following command on linux
7za x <file.7z>
Saving a file with root permissions
In order to save a file with root permission using vim you can do
:w !sudo tee %
Vim Notes
These are learning notes when learning vim key bindings
Vim has three modes
INSERT
: You can usei
for the insert modeVISUAL
: You can usev
for visual mode.NORMAL MODE
: just pressESC
to get into normal mode
Basic Navigation
- In order to get into insert mode use
i
. gg
takes you to the first line of the document.Shift-G
takes you to the last line of the document.- You can also move to the specfic line by
<line number> G
. - you can use
x
to delete a character. - you can use
u
to undo a change. - you can also specific the number of characters you want to delete
<num of char> x
- to delete a whole word use
dw
. - to delete a line use
dd
. - to number of lines use
<num of lines> dd
. - to move one word at a time
w
.it goes to the beginning character of the word. - to move using last character use
e
. - to move number of words use
<num of words> w
for example10 w
this moves 10 words. - to move backward a word you can use
b
. - to move number of words backward use
<num of words> b
10 b
. - use
0
to go to the beginning of the line. - you use
p
to put a line to desired line number for example you candd
a line then10 G
and then dop
to put the line on line 10 - You can replace a word or a character by using
r
. Change
to get into change command you can change words by usingce
to get the end of the word.c$
to change the entire line- navigating using command
f
:(forward <to_word>) and uppercase does this in reverse. for example,fe
will take to the character e andFe
will take you backward. - to delete a specific line you can do
:<line>d
Different Insert Modes.
A
takes to the end of the line and enters in to insert mode.a
takes you into insert mode.S
deletes the entire line and enters you into the insert mode.s
delete the character and enters you into the insert mode.o
enters you into the insert mode in the next line.O
enters you into the insert mode in the preceding line.C
deletes the entire linec$
d$
deletes everything from the cursor to the end of the line. You can useD
to do the same thing.
Yanking
Its the copy command in the vim editor
- to copy a word just use
yw
you can paste by usingp
. yy
to copy the entire line.y$
to copy from the cursor to the end of the line.P
puts to the preceding line
Searching through the code/doc
/
search forward in the doc. then hitn
to goto the next instance.?
searches backward in the doc.
Replacing
- You can
:%s/oldstring/newstring/g
to replace a word - you can also give line numbers
1,2s/old/new/g
:%s/old/new/gc
gives a prompt.
Executing a command in vim
! <cmd>
to execute a commandcntrl-d
to see what commands are available
note: you can enable vim mode in zsh by adding bindkey -v
to zshrc
VIM Macros
- You can record vim macros by using the
q
key and followed whatever key you want to assign that macro to. - to run the macro number of occurences and key where you saved the macro.
Vim Splits
:split
does horizontal split:sp
:vsplit
does vertical split:vs
cntrl-w c
closes the split.- you can also specific the height when doing a split
10sp <filename>
- you can do
cntrl-w R
to swap the split cntrl-w j
andcntrl-w k
moves you up and downcntrl-w h
andcntrl-w l
moves you left and right- you can also resize the splits
vertical resize +5
orresize +5
for horizontal split. - you can also open terminal in vim. especially in split
:vs | :terminal
Command Mode in Vim.
- you can run shell commands in vim
:! ls
this will print the files of your directory. - you can also read the outputs of the command and add it to the document
:read !date
- you can also use ranges when replacing the text
11,16s/old/new/g
:g/vim/d
this will delete vim from every line where it finds the word.!g/vim/d
this will delete that will delete that's not vim.g/^/pu/ =\"\n\"
puts spaces.g/<word>/m$
moves the lines containing that word to the end of the file
Vim Tabs
- You can edit a file in a new tab by
tabedit <filename>
- you can
gt
to cycle through the tabs.
Few Notes
ddp
allows you to swap a line.g/<word>/+1m-2
>
allows you to indent111,114>
:{range} '<,'>' norm A"
adds"
at the end of the line.:{range} '<,'>' norm I"
adds"
at the beginning of the line.cgn
allows you to change the next instance when doing a search.- you can also set abbreviations
:ab rtfm Read The Friend Manual
and usecntrl-v
if you don't want to expand it. - Read commandline commands into vim
:r !ls
"+y
allows you to copy the selection to the clipboard in vim
Deleting Git Branches Locally and Remotely
In order to delete a branch on git locally you can use git branch --delete <branchname>
and if you want to do it remotely you can do
git push --delete <branchname>
Deleting Git Commit History
To delete git commit history do the following
git checkout --orphan <new_branch_name>
git add -A
git commit --all -m "a message"
git branch -D <delete the main branch>
git branch -m <rename the new branch to main branch>
git push -f origin <new branch>
jinja line break
{% autoescape false %} {{ org.backgroundInfo | replace(ā\nā, ā<br>ā) }} {% endautoescape %}