An open API service indexing awesome lists of open source software.

https://github.com/younghakim7/shell_script

My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7
https://github.com/younghakim7/shell_script

shell zsh

Last synced: 3 months ago
JSON representation

My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7

Awesome Lists containing this project

README

          

# link

- [fishshell용-echo로-gitignore넣기](#fishshell용-echo로-gitignore넣기)


# shell script 기초

```
#!/bin/sh
echo -e "Hello\n$NAME!" #개행된다.
```

```
#!/bin/bash
echo -e "Hello\n$NAME!" #개행된다.
```

https://fopman.tistory.com/137

# PATH(bash)

```
vi /etc/bash.bashrc
```

# A collection of useful .gitignore templates

- ```.gitignore```세팅 언어별로 다 정리되어 있다. 굿 👍💕🙌

- https://github.com/github/gitignore/

- gitignore규칙 한글로 잘 정리됨( 모든 폴더 하위폴더까지 적용하는것까지!!)
- https://nochoco-lee.tistory.com/46


# `.DS_Store`만 gitignore[[🔝]](#link)

```bash
echo ".DS_Store" >> .gitignore
```

# fishshell용 echo로 gitignore넣기[[🔝]](#link)

```
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)

```bash
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```

```bash
# 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```
```bash
# 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```[[🔝]](#link)

```
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```[[🔝]](#link)

```
# 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

https://github.com/github/gitignore/pull/3442


# Java & Kotlin ```.gitignore```[[🔝]](#link)

```
.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```[[🔝]](#link)

```bash
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) 출력하기[[🔝]](#link)

```
echo $'\uf115'
```


# Power10k Install[[🔝]](#link)

https://economiceco.tistory.com/m/16511

- 1. sudo apt install zsh

```
$ sudo apt install zsh
```

- 2. Nerd Font설치

https://github.com/romkatv/powerlevel10k#fonts

- . ohmyzsh설치

https://ohmyz.sh/

https://ohmyz.sh/#install

```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

ohmyzsh github
https://github.com/ohmyzsh/ohmyzsh

- 4. power10k설치

https://github.com/romkatv/powerlevel10k

- 5. bashrc 설정 최상단에 추가
```bash
exec zsh
```

- 6. 터미널에서 zsh 치면 설정화면 나옴 ```.zshrc``` 설정 끝내고 Plugins 추가
```bash
# 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 # 필요하면 추가하세요
)
```

- 7. 설정 끝내고 Plugins 추가
```bash
cd .oh-my-zsh/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 글씨 색깔 바꾸기
- https://stackoverflow.com/questions/47310537/how-to-change-zsh-autosuggestions-color

- 8. path 관리는

.zshrc 에서 할 예정

```bash
# 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:
```

- 9. 내가 세팅한 PATH확인방법

```bash
$PATH
```

https://github.com/YoungHaKim7/rust_vim_setting

dotfiles_linux/참조하세요



# shell명령어 정리잘됨.commands.dev

https://www.commands.dev/


# xxd 사용법

- https://twpower.github.io/122-xxd-command-usage
- https://linux.die.net/man/1/xxd

```bash
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 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 octets.
-n name set the variable name used in C include output (-i).
-o off add 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 added to file positions found in hexdump.
-d show offset in decimal instead of hex.
-s [+][-]seek start at bytes abs. (or +: rel.) infile offset.
-u use upper case hex letters.
-R when colorize the output; 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.. .........
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활용

```bash
$ 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.....B@<.S...y
005953e5: 25c7 25d1 9a3d 7c4e b28d ae16 7e7e 7f00 %.%..=|N....~~..
005953f5: 0000 00
```


# Regular Expression

https://www.regexpal.com/

# Shell_Script

- https://www.guru99.com/introduction-to-shell-scripting.html

# ASCII Table(16진수로 외우자)

- https://www.asciitable.xyz/

- https://www.asciitable.com/

- https://learn.microsoft.com/en-us/cpp/c-language/octal-and-hexadecimal-character-specifications?view=msvc-170

- https://en.wikipedia.org/wiki/Unicode

- https://www.unicode.org/versions/Unicode15.0.0/

- http://xahlee.info/comp/unicode_index.html?q=

- http://xahlee.info/comp/ascii_chars.html


주로 쓰는 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