link
shell script 기초
#!/bin/sh
echo -e "Hello\n$NAME!" #개행된다.
#!/bin/bash
echo -e "Hello\n$NAME!" #개행된다.
https://fopman.tistory.com/137
PATH(bash)
A collection of useful .gitignore templates
-
.gitignore세팅 언어별로 다 정리되어 있다. 굿 👍💕🙌-
gitignore규칙 한글로 잘 정리됨( 모든 폴더 하위폴더까지 적용하는것까지!!)
.DS_Store만 gitignore[🔝]
echo ".DS_Store" >> .gitignore
fishshell용 echo로 gitignore넣기[🔝]
echo "# Result" >> README.md &&
echo "" >> README.md &&
echo "```bash" >> README.md &&
echo "" >> README.md &&
echo "```" >> README.md &&
echo "" >> README.md &&
echo "# Visual Studio 2015/2017 cache/options directory" >> .gitignore &&
echo ".vs/" >> .gitignore &&
echo "" >> .gitignore &&
echo "# A collection of useful .gitignore templates " >> .gitignore &&
echo "# https://github.com/github/gitignore" >> .gitignore &&
echo "# General" >> .gitignore &&
echo ".DS_Store" >> .gitignore &&
echo "dir/otherdir/.DS_Store" >> .gitignore &&
echo "" >> .gitignore &&
echo "# VS Code files for those working on multiple tools" >> .gitignore &&
echo ".vscode/" >> .gitignore &&
echo "# Generated by Cargo" >> .gitignore &&
echo "# will have compiled files and executables" >> .gitignore &&
echo "debug/" >> .gitignore &&
echo "target/" >> .gitignore &&
echo "" >> .gitignore &&
echo "# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries" >> .gitignore &&
echo "# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html" >> .gitignore &&
echo "Cargo.lock" >> .gitignore &&
echo "" >> .gitignore &&
echo "# These are backup files generated by rustfmt" >> .gitignore &&
echo "**/*.rs.bk" >> .gitignore &&
echo "" >> .gitignore &&
echo "# MSVC Windows builds of rustc generate these, which store debugging information" >> .gitignore &&
echo "*.pdb" >> .gitignore &&
echo "" >> .gitignore &&
echo "# WASM" >> .gitignore &&
echo "pkg/" >> .gitignore &&
echo "/wasm-pack.log" >> .gitignore &&
echo "dist/" >> .gitignore
Rust .gitignore (macOS, LinuxOS)
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md && echo "# A collection of useful .gitignore templates " >> .gitignore && echo "# https://github.com/github/gitignore\xa" >> .gitignore && echo "# General" >> .gitignore && echo ".DS_Store" >> .gitignore && echo "dir/otherdir/.DS_Store\xa" >> .gitignore && echo "# VS Code files for those working on multiple tools" >> .gitignore && echo ".vscode/\xa" >> .gitignore && echo "# Generated by Cargo" >> .gitignore && echo "# will have compiled files and executables" >> .gitignore && echo "debug/" >> .gitignore && echo "target/\xa" >> .gitignore && echo "# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries" >> .gitignore && echo "# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html" >> .gitignore && echo "Cargo.lock\xa" >> .gitignore && echo "# These are backup files generated by rustfmt" >> .gitignore && echo "**/*.rs.bk\xa" >> .gitignore && echo "# MSVC Windows builds of rustc generate these, which store debugging information" >> .gitignore && echo "*.pdb\xa" >> .gitignore && echo "# WASM" >> .gitignore && echo "pkg/" >> .gitignore && echo "/wasm-pack.log" >> .gitignore && echo "dist/" >> .gitignore
WindowsOS(PowerShell)
echo "# Result`r`n`r`n```````n`r`n```````n" >> README.md &&
echo "/target`r`nCargo.lock`r`n" >> .gitignore
WindowsOS(PowerShell) ver.2
echo "# A collection of useful .gitignore templates/`r`n# https://github.com/github/gitignore/`r`n# General/`r`n.DS_Store/`r`n `r`n# Generated by Cargo`r`n# will have compiled files and executables`r`ndebug/`r`ntarget/`r`n `r`n# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries`r`n# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html`r`nCargo.lock`r`n `r`n# These are backup files generated by rustfmt`r`n**/*.rs.bk`r`n `r`n# MSVC Windows builds of rustc generate these, which store debugging information`r`n*.pdb`r`n" >> .gitignore && echo "# Result`r`n`r`n```````n`r`n```````n" >> README.md
https://devblogs.microsoft.com/scripting/powertip-new-lines-with-powershell/
macOS & LinuxOS
echo "/target\xa\.DS_Store\xa/.vscode\xa# Generated by Cargo\xa# will have compiled files and executables\xadebug/\xatarget/\xa# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries\xa# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html\xaCargo.lock\xa# These are backup files generated by rustfmt\xa*/*.rs.bk\xa# MSVC Windows builds of rustc generate these, which store debugging information\xa*.pdb\xadist/\xapkg/\xa" >> .gitignore &&
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md
- Rust
.gitignore
# A collection of useful .gitignore templates # https://github.com/github/gitignore # General .DS_Store # Generated by Cargo # will have compiled files and executables debug/ target/ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk # MSVC Windows builds of rustc generate these, which store debugging information *.pdb
- WASM + Rust
.gitignore
# A collection of useful .gitignore templates # https://github.com/github/gitignore # General .DS_Store # VS Code files for those working on multiple tools .vscode/ # Generated by Cargo # will have compiled files and executables debug/ target/ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html Cargo.lock # These are backup files generated by rustfmt **/*.rs.bk # MSVC Windows builds of rustc generate these, which store debugging information *.pdb # WASM pkg/ /wasm-pack.log dist/
C .gitignore
# macOS general
.DS_Store
# Prerequisites
*.d
# Object files
*.o
*.ko
*.obj
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
main
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
- echo
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md &&
echo "# macOS general" >> .gitignore &&
echo ".DS_Store\xa" >> .gitignore &&
echo "# Prerequisites" >> .gitignore &&
echo "*.d\xa" >> .gitignore &&
echo "# Object files" >> .gitignore &&
echo "*.o" >> .gitignore &&
echo "*.ko" >> .gitignore &&
echo "*.obj" >> .gitignore &&
echo "*.elf\xa" >> .gitignore &&
echo "# Linker output" >> .gitignore &&
echo "*.ilk" >> .gitignore &&
echo "*.map" >> .gitignore &&
echo "*.exp\xa" >> .gitignore &&
echo "# Precompiled Headers" >> .gitignore &&
echo "*.gch" >> .gitignore &&
echo "*.pch\xa" >> .gitignore &&
echo "# Libraries" >> .gitignore &&
echo "*.lib" >> .gitignore &&
echo "*.a" >> .gitignore &&
echo "*.la" >> .gitignore &&
echo "*.lo\xa" >> .gitignore &&
echo "# Shared objects (inc. Windows DLLs)" >> .gitignore &&
echo "*.dll" >> .gitignore &&
echo "*.so" >> .gitignore &&
echo "*.so.*" >> .gitignore &&
echo "*.dylib\xa" >> .gitignore &&
echo "# Executables" >> .gitignore &&
echo "*.exe" >> .gitignore &&
echo "*.out" >> .gitignore &&
echo "*.app" >> .gitignore &&
echo "*.i*86" >> .gitignore &&
echo "*.x86_64" >> .gitignore &&
echo "*.hex" >> .gitignore &&
echo "main\xa" >> .gitignore &&
echo "# Debug files" >> .gitignore &&
echo "*.dSYM/" >> .gitignore &&
echo "*.su" >> .gitignore &&
echo "*.idb" >> .gitignore &&
echo "*.pdb\xa" >> .gitignore &&
echo "# Kernel Module Compile Results" >> .gitignore &&
echo "*.mod*" >> .gitignore &&
echo "*.cmd" >> .gitignore &&
echo ".tmp_versions/" >> .gitignore &&
echo "modules.order" >> .gitignore &&
echo "Module.symvers" >> .gitignore &&
echo "Mkfile.old" >> .gitignore &&
echo "dkms.conf" >> .gitignore
Zig .gitignore[🔝]
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md &&
echo "# A collection of useful .gitignore templates " >> .gitignore &&
echo "# https://github.com/github/gitignore\xa" >> .gitignore &&
echo "# This file is for zig-specific build artifacts." >> .gitignore &&
echo "# If you have OS-specific or editor-specific files to ignore,\xa# such as *.swp or .DS_Store, put those in your global" >> .gitignore &&
echo "# General" >> .gitignore &&
echo ".DS_Store\xa" >> .gitignore &&
echo "# VS Code files for those working on multiple tools" >> .gitignore &&
echo ".vscode/\xa" >> .gitignore &&
echo "# Generated by zig build run" >> .gitignore &&
echo "# will have compiled files and executables" >> .gitignore &&
echo "zig-out/" >> .gitignore &&
echo "zig-cache/" >> .gitignore &&
echo "/release/" >> .gitignore &&
echo "/debug/" >> .gitignore &&
echo "/build/" >> .gitignore &&
echo "/build-*/" >> .gitignore &&
echo "/docgen_tmp/\xa" >> .gitignore
- Zig
.gitignore[🔝]
# This file is for zig-specific build artifacts.
# If you have OS-specific or editor-specific files to ignore,
# such as *.swp or .DS_Store, put those in your global
.DS_Store
# VS Code files for those working on multiple tools
.vscode/
# ~/.gitignore and put this in your ~/.gitconfig:
#
# [core]
# excludesfile = ~/.gitignore
#
# Cheers!
# -andrewrk
zig-cache/
zig-out/
/release/
/debug/
/build/
/build-*/
/docgen_tmp/
출처 https://github.com/ziglang/zig/blob/master/.gitignore
Java & Kotlin .gitignore[🔝]
.gradle
**/build/
!src/**/build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties
# Cache of project
.gradletasknamecache
# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
Java & Kotlin echo .gitignore
echo ".gradle" >> .gitignore &&
echo "**/build/" >> .gitignore &&
echo "\x21src/**/build/\xa" >> .gitignore &&
echo "# Ignore Gradle GUI config" >> .gitignore &&
echo "gradle-app.setting\xa" >> .gitignore &&
echo "# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)" >> .gitignore &&
echo "\x21gradle-wrapper.jar\xa" >> .gitignore &&
echo "# Avoid ignore Gradle wrappper properties" >> .gitignore &&
echo "\x21gradle-wrapper.properties\xa" >> .gitignore &&
echo "# Cache of project" >> .gitignore &&
echo ".gradletasknamecache\xa" >> .gitignore &&
echo "# Eclipse Gradle plugin generated files" >> .gitignore &&
echo "# Eclipse Core" >> .gitignore &&
echo ".project" >> .gitignore &&
echo "# JDT-specific (Eclipse Java Development Tools)" >> .gitignore &&
echo ".classpath" >> .gitignore
TypeScript .gitignore[🔝]
echo "node_modules/" >> .gitignore && echo ".DS_Store" >> .gitignore && echo "package-lock.lock" >> .gitignore && echo ".vscode/" >> .gitignore && echo "dist/" >> .gitignore && echo "pkg/" >> .gitignore && echo "build/" >> .gitignore
echo 에코(echo)로 유니코드(Unicode) 출력하기[🔝]
Power10k Install[🔝]
https://economiceco.tistory.com/m/16511
-
- sudo apt install zsh
-
- Nerd Font설치
https://github.com/romkatv/powerlevel10k#fonts
- . ohmyzsh설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"ohmyzsh github https://github.com/ohmyzsh/ohmyzsh
-
- power10k설치
https://github.com/romkatv/powerlevel10k
-
- bashrc 설정 최상단에 추가
-
- 터미널에서 zsh 치면 설정화면 나옴
.zshrc설정 끝내고 Plugins 추가
- 터미널에서 zsh 치면 설정화면 나옴
# Which plugins would you like to load? # Standard plugins can be found in $ZSH/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=(git # other plugins.. zsh-syntax-highlighting zsh-autosuggestions z fzf # 필요하면 추가하세요 fasd # 필요하면 추가하세요 )
-
- 설정 끝내고 Plugins 추가
plugins폴더 들어가서
git clone 으로 강제로 넣어주기
zsh-z https://github.com/agkozak/zsh-z
https://github.com/zsh-users/zsh-autosuggestions
https://github.com/zsh-users/zsh-syntax-highlighting
-
zsh-autosuggestions 글씨 색깔 바꾸기
-
- path 관리는
.zshrc 에서 할 예정
# If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$PATH 끝은 :$PATH로 끝내고 그 사이에 폴더 넣고 : 으로 분리한다. 내 설정 # If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$HOME/.cargo/bin:$HOME/.zig:$HOME/zls:$PATH:
-
- 내가 세팅한 PATH확인방법
https://github.com/YoungHaKim7/rust_vim_setting
dotfiles_linux/참조하세요
shell명령어 정리잘됨.commands.dev
xxd 사용법
xxd -I 0x00595335 rust_stop_watch_youtube_pomodoro_timer
Usage:
xxd [options] [infile [outfile]]
or
xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
Options:
-a toggle autoskip: A single '*' replaces nul-lines. Default off.
-b binary digit dump (incompatible with -ps,-i). Default hex.
-C capitalize variable names in C include file style (-i).
-c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
-E show characters in EBCDIC. Default ASCII.
-e little-endian dump (incompatible with -ps,-i,-r).
-g bytes number of octets per group in normal output. Default 2 (-e: 4).
-h print this summary.
-i output in C include file style.
-l len stop after <len> octets.
-n name set the variable name used in C include output (-i).
-o off add <off> to the displayed file position.
-ps output in postscript plain hexdump style.
-r reverse operation: convert (or patch) hexdump into binary.
-r -s off revert with <off> added to file positions found in hexdump.
-d show offset in decimal instead of hex.
-s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.
-u use upper case hex letters.
-R when colorize the output; <when> can be 'always', 'auto' or 'never'. Default: 'auto'.
-v show version: "xxd 2023-10-25 by Juergen Weigert et al.".xxd -l첫줄 부터
xxd -l 200 rust_stop_watch_youtube_pomodoro_timer
00000000: cffa edfe 0c00 0001 0000 0000 0200 0000 ................
00000010: 1300 0000 7007 0000 8500 a000 0000 0000 ....p...........
00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45 ....H...__PAGEZE
00000030: 524f 0000 0000 0000 0000 0000 0000 0000 RO..............
00000040: 0000 0000 0100 0000 0000 0000 0000 0000 ................
00000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000060: 0000 0000 0000 0000 1900 0000 2802 0000 ............(...
00000070: 5f5f 5445 5854 0000 0000 0000 0000 0000 __TEXT..........
00000080: 0000 0000 0100 0000 0040 2f00 0000 0000 .........@/.....
00000090: 0000 0000 0000 0000 0040 2f00 0000 0000 .........@/.....
000000a0: 0500 0000 0500 0000 0600 0000 0000 0000 ................
000000b0: 5f5f 7465 7874 0000 0000 0000 0000 0000 __text..........
000000c0: 5f5f 5445 5854 0000 __TEXT..
- 내가 표시한곳부터 끝까지 출력 할때
xxd -s
xxd -s 0x00595335 rust_stop_watch_youtube_pomodoro_timer
00595335: 41b1 d9db a764 19c9 a3ee e788 1920 9b8d A....d....... ..
00595345: e0cb 62df 151e f065 63c0 fbcd 6c4e 7922 ..b....ec...lNy"
00595355: 2af5 38b7 1031 d2f9 3c50 c2bc ca07 9596 *.8..1..<P......
00595365: 49c0 e4ee 6ce3 026d 609d f1f8 a3cf e03b I...l..m`......;
00595375: 1cf0 dbac 7ea0 4b77 dee4 51d6 f6a6 e1a3 ....~.Kw..Q.....
00595385: a3ea 4b8e b93e 20c4 f2d5 f0de 900a d38b ..K..> .........
00595395: bd80 b4ad 8a6a aa0c 1a89 cae1 a61e ad17 .....j..........
005953a5: 89e0 10a5 bf2c 4ee3 43aa d5ae 51a0 1e27 .....,N.C...Q..'
005953b5: 11c1 47ed 68ea c238 a2db 1be5 534b d583 ..G.h..8....SK..
005953c5: b163 a273 fad6 4664 69fe 9b48 fa14 f69e .c.s..Fdi..H....
005953d5: 00db 573e c9e2 0a42 403c 1f53 a807 a479 ..W>...B@<.S...y
005953e5: 25c7 25d1 9a3d 7c4e b28d ae16 7e7e 7f00 %.%..=|N....~~..
005953f5: 0000 00
- 내가 원하는 라인 tail과 head활용
$ xxd -s 0x00595335 rust_stop_watch_youtube_pomodoro_timer | head -n 5 00595335: 41b1 d9db a764 19c9 a3ee e788 1920 9b8d A....d....... .. 00595345: e0cb 62df 151e f065 63c0 fbcd 6c4e 7922 ..b....ec...lNy" 00595355: 2af5 38b7 1031 d2f9 3c50 c2bc ca07 9596 *.8..1..<P...... 00595365: 49c0 e4ee 6ce3 026d 609d f1f8 a3cf e03b I...l..m`......; 00595375: 1cf0 dbac 7ea0 4b77 dee4 51d6 f6a6 e1a3 ....~.Kw..Q..... $ xxd -s 0x00595335 rust_stop_watch_youtube_pomodoro_timer | tail -n 3 005953d5: 00db 573e c9e2 0a42 403c 1f53 a807 a479 ..W>...B@<.S...y 005953e5: 25c7 25d1 9a3d 7c4e b28d ae16 7e7e 7f00 %.%..=|N....~~.. 005953f5: 0000 00
Regular Expression
ASCII Table(16진수로 외우자)
| 주로 쓰는 ascii & Unicode 정리 | |||||||
| char✨ | Escape | 16진수Hx | 설명Description | 10진수Dec | 8진수Oct | 2진수Binary | In Unicode |
| LF | \xa | 0xA | NL line feed, new line | 10 | 0o12 | 0b1010 | |
| Space | \x20 | 0x20 | Space | 32 | 0o40 | 0b00100000 | |
| ! | \x21 | 0x21 | Exclamation mark | 33 | 0o41 | 0b00100001 | |
| ` | \x60 | 0x60 | Backtic, Grave | 96 | 0o140 | 0b1100000 | U+0060 ` GRAVE ACCENT |
SILQ Unicode
https://github.com/YoungHaKim7/silq_project
| 양자 코딩 자주 쓰는 Unicode | ||||
| Symbol | Unicode(Hex) | LaTeX ShortCut | Name | 10진수Dec |
| → | 2192 | \to | Rightwards Arrow | 8594 |
| ℕ | 2115 | \bn | Double-Struck Capital N | 8469 |
| ℝ | 211D | \br | Double-Struck Capital R | 8477 |
| π | 3A0 | \pi | Greek Capital Letter Pi | 928 |
| 𝔹 | 1D539 | \bb | Mathematical Double-Struck Capital B | 120121 |
| ⋅ | 22C5 | \cdot | Dot Operator | 8901 |
| θ | 398 | \theta | Greek Capital Letter Theta | 920 |
| ψ | 3A8 | \psi | Greek Capital Letter PSI | 936 |
| λ | 39B | \lambda | Greek Capital Letter LAMDA | 923 |
| ¬ | AC | \neg | Not Sign | 172 |
| × | D7 | \times | Multiplication Sign | 215 |
| ± | B1 | \pm | Plus-Minus Sign | 177 |
| 𝟙 | 1D7D9 | \b1 | Mathematical Double-Struck Digit One | 120793 |
Memory 2, 8 , 16 pattern
| Binary vs Octal vs Decimal vs Hexadecimal | ||||
| 16진수Hx | 설명Description | 10진수Dec | 8진수Oct | 2진수Binary |
| 0xff | 255 | 0o377 | 0b11111111 | |