- 리눅스
- www.linuxjournal.com
- Linux Fundamentals
- pubdata.tistory.com/category/Lecture_Linux
- 아무도 가르쳐주지 않는 리눅스 기초
- Why are there both TMP and TEMP environment variables, and which one is right?
- Linux Survival
- Understanding the bin, sbin, usr/bin, usr/sbin Split
- 운영체제 - 이화여자대학교 반효경
- A history of modern init systems (1992-2015)
- brunch.co.kr/@alden
- High Performance Multi-core Networked and Storage Systems for Linux
- Is it a good idea to show everybody what your server is doing?
- Raw graphics output on Linux: Part 1
- Raw graphics output in Linux: Part 2
- unix - count of columns in file
head -1 stores.dat | tr '|' '\n' | wc -l - UNIX 기본, 명령 그리고 관리
- All about Linux
- Understanding the bin, sbin, usr/bin , usr/sbin split
- 보안 강화 리눅스(Security-Enhanced Linux)
- 6 open source tools and tips to securing a Linux server for beginners | Opensource.com
- Securing your Linux web server
- supervisord
- Learn the ways of Linux-fu, for free
- Ten dozen Embedded Linux Conference and IoT Summit videos
- 임베디드 리눅스 프로그래머의 처우, 전망은 어떨까? - 코드도사
- 리눅스 아재력 셀프 테스트
- 스타트업을 위한 해킹 방어 테크닉
- SemiCode OS — New Linux Distro For Programmers And Web Developers
- TEST COMMAND LINE VERSION OF VARIOUS LINUX DISTRIBUTIONS IN WEB BROWSER
- 연속적으로 명령 실행시키기 (;과 &와 &&의 차이)
- GPG 서명 관련 팁들 모음
- PortIO 메모리와 PS/2 Keyboard IO 입력처리
- Linux 원격 백업 구현하기 (Dropbox 에 백업하기)
- 리눅스 시스템 프로그래밍을 배울때 꼭 알아야 할 사전 지식, 혹은 체크 항목
- Different I/O Access Methods for Linux, What We Chose for Scylla, and Why
- (데이터베이스, 개체 저장소, 기타 마이크로 서비스를 운영하는 엔지니어라면 반드시 알아야할 주제인) 리눅스 시스템의 I/O 엑세스 방법들 설명
- Scylla가 asynchronous direct I/O를 선택한 이유 설명
~/.bash_profileexport TMOUT=0자동 로그아웃 off
- 라즈베리파이 X-Window 화면을 윈도우즈와 맥 터미널에서 띄우기 X11-Forward
- 리눅스 엔지니어 기술 면접 질문지
- 리눅스 엔지니어 기술 면접 질문지
- Uninterruptible Sleep
- Linux 서버에 JIRA 설치하기
- Compute Engine에 JIRA 설치하기
- All about dev. on Ubuntu | 한상곤 Sangon Han | 2015.09
- 파일(file)에 대한 토막글
- Java, max user processes, open files
- Julia's drawing
- Understanding disk usage in Linux
- 팀 패스워드 관리 프로그램 tpass 후기
- The 101 of ELF files on Linux: Understanding and Analysis
- What's in a Linux executable? - fasterthanli.me
- 리눅스 서버 60초안에 상황파악하기
- uptime, dmesg | tail, vmstat 1, mpstat -p ALL 1, pidstat 1, iostat -xz 1, free -m, sar -n DEV 1, sar -n TCP,ETCP 1, top
- Analyze Linux startup performance | Opensource.com
- 리눅스 응용프로그램 실행 시 ASLR(Address Space Layout Randomization) 기능 끄고 실행하기
- How to install a device driver on Linux
- EXT4 에서 달라진 부분들 #1
- EXT4 에서 달라진 부분들 #2 – 데이터 영역의 관리
- GNOME3 파일관리자를 nemo로 default application 설정하기
- GNOME 데스크탑 : caps lock을 control로 사용하기
- 10 Best Linux Distros to Install on a USB Stick
- A beginner's guide to Linux permissions
- 리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
- 11 Reasons You Should Learn to Use Linux
- Linux에서 터미널, 콘솔, 쉘, tty, pty, pts 차이 정리
- TTY
- Learn and use fork(), vfork(), wait() and exec() system calls across Linux Systems
- 1001 Ways of Implementing a System Call
- Understanding cgroups
- A Linux sysadmin's introduction to cgroups | Enable Sysadmin
- How NAT traversal works · Tailscale Blog
- Analyzing the Attacks on my Website
- Speeding up Linux disk encryption
- 리눅스에서 커맨드 라인으로 모니터 밝기 조절하기
- Cups AirPrint server with legacy printer driver support using Qemu
- Run Fedora Workstation (or any OS) in Mac OS Environment with an open source QEMU - YouTube
- Introduction | QEMU internals
- It's about time you try Linux. - Try Linux
- net-rw/nf-tinyacl: Netfilter based ACL kernel module under Network stacks for studying
- Scaling Linux Services: Before accepting connections
- kkamagui의 작업실 :: 랜덤한 패스워드 생성하기
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32 ; echo '' - LIBGUESTFS Tutorial | Give yourself power to manage any Operating System/Virtual Machine (VM) image - YouTube
- Use libguestfs to manage virtual machine disk images | Enable Sysadmin
- Sandboxing and Workload Isolation · Fly
- 3차원 지구본을 콘솔에 그리기 pv, grep (GREP_COLORS)
- How Unix Works: Everything You Were Too Afraid to Ask | by Neil Kakkar | Better Programming | Medium
- linuxupskillchallenge: Learn the skills required to sysadmin a remote Linux server from the commandline
- Managing my personal server in 2020
- How to Migrate a Linux Server To New Hardware – CloudSavvy IT
- 2020: The Year of the Linux Desktop - Moving from Macbook to Linux - CodiMD
- Getting started with btrfs for Linux | Opensource.com
- Tricky Signal Tracing in Kernel
- Perl and Python one-liners in bash, cmd, and PowerShell
- My Favorite One Liners | Muhammad
- 9 things to do in your first 10 minutes on a Linux server | Opensource.com 서버를 새로 받은 경우 할 일
- 커맨드라인 인터페이스, 셸, 터미널이란? | 44BITS
- 리눅스/맥 커맨드라인 셸 입문자를 위한 생존 가이드 | 44BITS
- Wesley Aptekar-Cassels | Timezone Bullshit
- A look at GSM | Harrison's Sandbox
- 리눅스 사용에 도움주는 커뮤니티 사이트 모아보기
- 5 Linux Terminal Applications You Need To Have - YouTube
- 7 AWESOME Linux Terminal Applications and Utilities - YouTube
- 리눅스에서 안드로이드 앱 사용하기
- 리눅스 30주년 맞이 리누스 토발즈 인터뷰 번역 - 파트 1 | hacklog
- 가벼운 리눅스 배포판 모음, 보디(Bodhi), 크런치뱅++, 퍼피리눅스 주분투 최소사양
- 리눅스 배포판 선택, 고민되시나요? - 여기서 최상의 배포판을 골라 보세요
- open source & open hardware | Customizer로 나만의 리눅스배포판을 만들자 - Daum 카페
- Busybox-based Linux distro from scratch – re-ws.pl
- Dell Latitude E7240 Archlinux 설치하기
- Arch Linux에서 커널 소스코드 다운로드 하는 법
- Linux Memory Management at Scale - YouTube
- Linux Wireless
- Crunchbang install post #1 (Enabling wireless)
- MovingTheCtrlKey
-
swap caps lock <-> ctrl
setxkbmap -option ctrl:swapcaps # Swap Left Control and Caps Lock setxkbmap -option ctrl:nocaps # Make Caps Lock a Control key
-
-
fcitx
$ sudo apt-get install fcitx $ sudo apt-get install fcitx-hangul $ fcitx-configtool $ im-config
- 페도라(Fedora) 배포판 업그레이드 방법
- A Month as a Fedora QA Tester
- Fedora 리눅스 업그레이드 후 크롬의 한글 입력기 문제
- Failed to initialize NVML (Fedora 리눅스)
- 한글입력기 nimf : Fedora33
- 만자로 리눅스(Manjaro Linux)에서 한글 입력기(iBus) 설치하는 법
- 만자로(Manjaro) 리눅스에서 NVIDIA 드라이버 설치하기
- 만자로(Manjaro) 리눅스에 미러 서버(Mirror Server) 설정으로 패키지 설치 및 업데이트 속도 높이기
-
How to Enable RPMForge Repository in RHEL/CentOS 7.x/6.x/5.x
-
Simultaneous Multithreading in Red Hat Enterprise Linux - Red Hat Customer Portal
-
libc.so
-
모든 리눅스 바이너리의 기본 라이브러리이기 때문에 쉘에서 벌어지는 모든 명령(fork 된 신규 프로세스)가 필요로하는 동적 라이브러리
-
절대 mv/ln 등으로 임의로 고쳐서는 안되는 파일
-
임의로 소스 빌드해서 cp로 덮어쓰거나 (만약 glibc compatible version 범위에 벗어나도 문제가 됨) mv로 이름을 바꾸면 안됨
-
glibc의 경우 CentOS/RHEL 등에서 배포판 기준으로 잡힌 버전 (ex. 2.12)으로 고정되고 패치되는 형태이기 때문에 상위 버전으로 별도패키징해서 올리는게 아닌이상 일반 파일로 올리는 것은 위험
-
특정 어플리케이션 빌드 때 GLIBC 버전이 더 높게 필요하면 아래 예시처럼 다른 경로에 빌드해서 LD_LIBRARY_PATH 변수를 통해서 별도 라이브러리 링크로 처리
$ tar zxvf glibc-2.24.tar.gz $ cd glibc-2.24 $ mkdir build $ cd build $ ../configure --prefix=/opt/glibc-2.24 $ make $ sudo make install $ export LD_LIBRARY_PATH=/opt/glibc-2.24/lib
-
-
redhat7 When Root Password lost, How to configure Root PasswordC
-
CentOS가 Ubuntu 보다 더 안정적인 이유 별로 설득력 있는 견해라고 생각이 들진 않지만 참고용으로 기록
-
service
service --status-all | grep [name] service [name] [status|start|stop|restart] chkconfig --list chkconfig [name] [on|off] netstat -tulpn -
yum
-
yum info <package> -
yum [--disablerepo=dockerrepo] install git특정 repo에 오류가 있을 때 --disablerepo를 사용하면 동작... failure: repodata/repomd.xml from dockerrepo: [Errno 256] No more mirrors to try. https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found -
yum list available <package> -
yum update <package> -
proxy
- (RHEL) HOWTO define proxy setting for a specific repository in YUM
proxy=http://x.y.z.w:port- 전체 repository에 대해 proxy를 설정할 때는 /etc/yum.conf에 추가
- 개별 repository에 대해 proxy를 설정할 때는 /etc/yum.repos.d/some.repo의 각 항목마다 추가
-
Why does yum return error: [Errno 256] No more mirrors to try ? - Red Hat Customer Portal
-
-
/tmp
- 프로젝트 출시 10일 후 새벽 4시에 발생한 장애의 원인 /tmp directory 관련 내용
- 16.04 설치후 세팅
- Ubuntu 설치 후 초기 세팅하기
- 우분투 16 에 파이썬 3.6 설치 pip3.6 하고
- Ubuntu 패키지 저장소 만들기
- How To Install and Manage Supervisor on Ubuntu and Debian VPS
apt-cache search [package name]- 10 Useful Utilities For Linux Users
- PinguyBuilder를 이용해서 사용 중인 OS 설정 그대로 iso 파일 만들기
- 24 Things I’ve Learned As A Software Developer Living On Ubuntu For A Weekish
- 우분투(Ubuntu)에서 신규 커널 설치 후 USB, WIFI가 동작하지 않을 때 해결 방법
- 우분투용 해킹 & 분석 도구 모음
- 우분투 연말정산
- How to Install Nginx, MariaDB and PHP7 (LEMP Stack) on Ubuntu 16.04 LTS
- 우분투 resolv.conf 세팅 정리 - 완두블로그
- How to take back control of /etc/resolv.conf on Linux | Ctrl blog
- Ubuntu 꼴랑이거(1) - 서버 시간이 차이가 날때.. - 완두블로그
- Ubuntu를 업그레이드 해보자 - 완두블로그
- Ubuntu 20.04에서 sshfs 를 이용한 원격 폴더 마운트
- 우분투로 자바스크립트 개발하기 — 1. Intro. 우분투로 자바스크립트를 개발하고 싶어하는 개발 입문자들을 위한… | by Hong Shik Branden Kim | 코드스테이츠 Code States — 혁신적인 코딩 교육 부트캠프 | Medium
- 우분투로 자바스크립트 개발하기 — 2. 개발환경 세팅하기. 우분투로 자바스크립트를 개발하고 싶어하는 입문자들을 위한 글입니다… | by Hong Shik Branden Kim | 코드스테이츠 Code States — 혁신적인 코딩 교육 부트캠프 | Medium
- 우분투로 자바스크립트 개발하기 — 3. FAQ / 도움되는 글 링크 | by Hong Shik Branden Kim | 코드스테이츠 Code States — 혁신적인 코딩 교육 부트캠프 | Medium
- Ubuntu20에서 가상환경으로 python3.6 이용하기 - RomanticQ의 머신러닝
- How To Install VMWare Fusion with Ubuntu on a Mac
- Tuning the sensitivity of the Lenovo TrackPoint on Ubuntu
- Top 10 Ubuntu Network Tools – Linux Hint
- 우분투 20.04에서 Grub 편집: grub-customizer 와 Grub theme 설정
- (리눅스 업스킬 도전 #15) 우분투 패키지 저장소 추가하기
- (리눅스 업스킬 도전 #21-a) 우분투에서 한국어 로케일을 사용하려면 어떻게 해야 하나요?
- Ubuntu의 apt-get 명령어 정리 :: Outsider's Dev Story
- 우분투에 최신 버전 노드 설치하기 - 신현석(Hyeonseok Shin)
- How Install GDebi package installer on Ubuntu 18.04
- Ubuntu에 AppImage를 System Application으로 등록하기
- Ubuntu 20.04에 MacOS Catalina를 VirtualBox로 설치하기
- 절전 모드로 내려가는 우분투 머신
- Python and SSH: sending commands over SSH using Paramiko
- ansible
- WHAT IS ANSIBLE?
- sysnet4admin.blogspot.com/search/label/ansible
- 조건별로 nginx 설치하기
- Plugin 살펴 보기 1편 (Action, Cache)
- Plugin 살펴 보기 2편 (Callback)
- Plugin 살펴 보기 3편 (Connection)
- Plugin 살펴 보기 4편 (inventory)
- plugin 중에서 python을 이용한 filter에 대한 짧은 이야기
- Ansible 교육 자료
- 앤서블 설치 - vagrant로 생성한 가상 머신(guest system)에 앤서블(Ansible)을 설치하여 앤서블(Ansible)을 사용할 수 있는 환경을 만듭니다
- 1. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - 호스트 연결하기
- 2. Ansible (앤서블) 로 전체 서버 계정 추가하기 - CLI로 계정 추가하기
- 3. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - 플레이북으로 개선하기
- 4. Ansible (앤서블) 로 전체 서버 사용자 추가하기 - Jenkins&Github 연동하기
- Ansible에서 전략 패턴을 이용해 자동화 프로젝트의 확장성을 확보하기
- 프로비저닝 자동화를 위한 Ansible AWX, 설치부터 엔터프라이즈 환경 적용까지 – 1
- 프로비저닝 자동화를 위한 Ansible AWX, 설치부터 엔터프라이즈 환경 적용까지 – 2
- Ansible with oci
- A set of Ansible playbooks to build and maintain your own private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and more
- 20 개의 ANSIBLE 인터뷰 질문
- Vagrant와 Ansible로 하는 서버 관리 기초
- How to install software with Ansible | Opensource.com
- Bashible - a deployment/automation tool written in Bash (DSL). Inspired by Ansible. Simplifies things and prevents usual mistakes
- fabric
- Pulumi - Modern Infrastructure as Code python
- salt
-
practice
- practice - get file creation time
- practice - file path에 space가 있을 때 vi로 여러 파일을 한 번에 열기 grep, cut, sort, sed, xargs
-
10가지 재밌는 리눅스 명령어들 cmatrix, asciiviewer, rev, yes, rig, figlet, toilet, banner, text to speech with espeak, :(){:|:&};:
-
60 Commands of Linux : A Guide from Newbies to System Administrator
-
command line power user - modern command line workflow with ZSH, Z and related tools
-
Learn the Command Line - Learn how to use the command line to manipulate data and automate tasks
-
the art of command line - Master the command line, in one page
-
- fish shell, fzf, fd, ripgrep, htop, glances, virtualenv, virtualfish, pyenv, nodenv, rbenv, pipx, ctop, lazydocker, homebrew, asciinema, colordiff, diff-so-fancy, tree, bat, httpie, tldr, exa, litecli, pgcli, mas, ncdu
- Starship: Cross-Shell Prompt
- z - jump around
- ripgrep: ripgrep recursively searches directories for a regex pattern
-
sync && echo [1|2|3] > /proc/sys/vm/drop_caches&[swapoff|swapon] -a -
More shell, less egg
tr -cs A-Za-z '\n' < [input] | tr A-Z a-z | sort | uniq -c | sort -rn | sed ${1}q -
Extract it command line to extract compressed file
-
(리눅스 업스킬 도전 #12) sftp로 복사하기 winscp sftp
-
8 super heroic Linux commands that you probably aren't using
-
The Art of Command Line 기초적인 부분을 거의 모두 정리해 놓은 매우 유용한 자료
-
Munging CSV files with standard Unix tools cut sort awk
-
스타트업 개발자가 리눅스 서버에 들어가면 언제나 하는 작업들 operation에 관계되는 여러가지 명령어 정리
-
오픈스택 명령어로 오픈스택 명령어 만들기 grep, sed, awk
-
Text processing in the shell cat head tail wc grep cut paste sort uniq awk tr fold sed for xargs
-
ls보다는 exa를 사용하자! 모던 리눅스 명령어 소개 번역 exa, bat, hexyl, fd, procs, rg(ripgrep)
-
How can I monitor the thread count of a process on linux?
cat /proc/<PID>/status | grep Threads
-
CPU 개수
grep -c processor /proc/cpuinfoCPU 코어 전체 개수grep ^processor /proc/cpuinfo | wc -l물리 CPU 개수grep 'cpu cores' /proc/cpuinfo | tail -1CPU당 물리 코어 개수
-
CLI: improved bat, prettyping, fzf, htop, diff-so-fancy, fd, ncdu, tldr, ack/ag, jq, ponysay, csvkit, noti, entr
-
6 Terminal Commands You Should Know | by Tate Galbraith | Better Programming | Medium
-
(리눅스 업스킬 도전 #11) 특정 조건으로 파일 찾기 locate which grep zcat zless less find
-
Shell Commands Every Developer Must Know | by Erik van Baaren | Erik on Technology | Medium
-
6 Lesser-Known Linux Commands You Should Try | by Tate Galbraith | The Startup | Oct, 2020 | Medium tc, whiptail, shred, split, nl, flock
-
코드잇 :: 알고 있으면 개발자에게 유익한 유닉스 커맨드 꿀팁 man less cp rm history
-
explainshell.com - match command-line arguments to their help text
-
How to Test Network Speed in Linux {9 Tools} | phoenixNAP KB
- Speedtest, Fast, Color Bandwidth Meter (CBM), iPerf, nload, Tcptrack, Iftop, Wget, youtube-dl
-
at -
awk- AWK script 가이드
$0means whole line- sum of numbers in file
awk '{ sum += $1 } END { print sum }' [file name] - Merging Frequencies in a File
- AWK greater than?
- Print only the Nth line before each line that matches a pattern
awk '{ gsub(/\xef\xbb\xbf/,""); print }' INFILE > OUTFILEremove ALL <U+FEFF>- You are here: Home / Linux Commands / Getting Started With AWK Command
- Awk in 20 Minutes
- Running Awk in parallel to process 256M records
- 리눅스 awk 명령어 : 원하는 컬럼을 출력한다
- awk: BEGIN { ... | Jemma Issroff
-
basenameget file name from path- e.g.
$ basename /tmp/mdstat.tmp .tmpreturnsmdstat
- e.g.
-
bc -
catCat and friends (Netcat and Socat) - Kubernetes, CI/CD, Git, Linux, Containers, Golang... and more -
commcomm [-1] [-2] [-3] [file1] [file2]print common lines between file1 & file2 (-1 suppresses only lines from file1 & -2 does the same from file2, -3 does the same for duplicated lines)
-
crontab
- Crontab Generator
- crontab.guru
- cron and crontab usage and examples
`date "+\%Y\%m\%d"`How can I executedateinside of a cron tab job?LANG=ko_KR.UTF-8Python3: UnicodeEncodeError only when run from crontab- Cron in production? That is a double edged sword!
- www.lesstif.com/display/1STB/cron
- Crontab을 이용한 노드 API 호출
- 해당 달의 첫 평일에 실행하는 스케쥴
- crontab 사용시 권한 주의
- Linux에서 crontab 실행시 명령어 찾지 못할때 crontab에 absolute path 사용
- python-crontab
- Cron Expression
- The Fun cron Tutorial
- Linux Crontab: 15 Awesome Cron Job Examples
- 서머타임과 배치작업
- (리눅스 업스킬 도전 #10) 특정 시각에 반복적으로 작업하기 crontab 이외에 list-timers, apt-daily.timer 등 소개
-
curl- practice -
-kinsecure &-svoverbose - practice - sessionid를 curl로 얻는 방법
- practice - X-Api-Key with username & password
- A CURL CHEAT SHEET
- online curl commandline builder
- TLS Connection Control
- Use Curl to identify bottlenecks in your service layers
- Is curl|bash insecure?
- 서버 외부에 연결하기 전에 제대로 출력되는지 확인하기 - 완두블로그
- 10 Curl Commands You Should Know
- Curl Cookbook
- Detecting the use of "curl | bash" server side | Application Security
- 자주 사용하는 curl 명령어 옵션과 예제 chrome에서 curl 명령 확인
- practice -
-
cut -
date-
date +%Y%m%d [--date '1 days ago']for i in {n..m} do echo $i YYYYMMDD=`date "+%Y%m%d" --date "$i days ago"` YYYY=${YYYYMMDD:0:4} MM=${YYYYMMDD:4:2} DD=${YYYYMMDD:6:2} done -
날짜 차이 계산 How to calculate time difference in bash script?
#!/bin/sh TODAY=`date '+%Y%m%d'` DAY=${1:-$TODAY} # 입력이 있으면 사용하고 아니면 오늘 날짜 사용 A_YEAR_AGO=`date '+%Y%m%d' -d "$DAY - 366 days"` # 366일 전 YESTERDAY=`date '+%Y%m%d' -d "$DAY - 1 days"` # 어제 -
date -d "Mon Feb 27 15:03:58 2017" +"%Y%m%d" -
Convert string to date in bash
date -d '20121212' +'%Y-%m-%d' date -d '20121212 -7 days' +'%Y-%m-%d' dat2=$(date -d "$dat -1 days" +'%Y%m%d') -
date +%sHow can I generate Unix timestamps?
-
-
dd -
df -
diff- Delta is a command-line utility for text diffs. View split diffs in the browser with syntax highlighting (demo), or in the command-line using the --cli flag
- diff-so-fancy: Good-lookin' diffs. Actually… nah… The best-lookin' diffs
- graphtage: A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV
-
dirnameget directory name from path -
dmesg -
du- du 명령어
du -hs <directory>du -ckx | sort -n -r | head가장 용량이 큰 디렉토리 찾기 - df와 du의 용량차이 발생과 해결(아무리 지워도 디스크 사용량이 줄어들지 않을때)
- How to find the largest directories or largest files?
- 컴퓨터 vs 책: 5분 따라하기 리눅스에서 용량을 가장 많이 차지하는 파일/디렉토리 찾기
- du 명령어
-
echoecho -e "..."'echo' without newline in a shell script
-
findfind [directory] -iname "[file name or pattern]" -exec ls -alt {} \;find [directory] -name "[file name or pattern]" -exec ls -alt {} \;find ~/Downloads/*.pdf -mtime -10-atime = access / -ctime = creation, file 속성 / -mtime = modificationfind <dir> -not -newermt 2010-01-01Shell script to find files older than 1st Jan 2010find . -type d -exec zip -r {}.zip {} \;현재 directory의 sub directory들을 찾아 각각의 이름으로 압축- find 명령 정리
- Linux - Linux Command for finding files
- A shell one-liner to search directories
- fd: A simple, fast and user-friendly alternative to 'find'
-
fold- File character counts fold 응용
-
gcore How I recovered a lost email from my email client’s memory
-
grepgrep: Binary file <some file> matches>grep [-a|--text] <some file>grep '^[A-Z_]\+[ ]\+[0-9]\+' [file name]파일에서 영어 대문자와 _(underscore)로 시작하고 중간에 스페이스, 탭으로 이뤄진 공백이 있고 숫자로만 끝나는 line 찾기grep -c <something>How do I count the number of occurrences of a word in a text file with the command line?- Capturing Groups From a Grep RegEx
grep -Po 'query=\K[a-zA-Z]{16,}'log에서 query=...으로 되어 있는 부분에서 16자 이상의 영문자만 찾고 싶은 경우. -P는 perl regular expression, \K는 앞 부분은 결과에서 제외, GNU grep version 2.5 이상
- Deep Dive Grep
- 리눅스에서 Grep and , or , not 사용법
- Use long flags when scripting |> News and podcasts for developers |> Changelog
- (리눅스 업스킬 도전 #8) 문자열 탐색을 위한 grep
-
gzip -
nohup -
historyhistory -chistory -d <line number>리눅스 history 지우기- How To : 리눅스에서 명령 사용 요약하기 - ITWorld Korea HISTSIZE, HISTIGNORE
- (리눅스 업스킬 도전 #5) 탭/화살표 사용법과 숨겨진 파일
-
iconv- 파일 캐릭터셋(character set) 변경
iconv -f UTF-16LE -t UTF-8 <infile> > <outfile>infile 형식이Little-endian UTF-16 Unicode text, with CRLF, CR line terminators라 utf8로 바꾸는 경우
-
ipreplacement of ifconfig -
join -
kill -
less -
ln -
locate
-
ls -
mkdir -
monit 설정이 엄청나게 쉽다지만, 간단한 건 upstart가 더 쉬웠음
-
mv -
ncSERVER$ nc -l [port number] > [file name] CLIENT$ nc [server ip] [port number] < [file name] SERVER$ nc -l [port number] | tar xvfz - CLIENT$ tar cvfpz - [files] | nc [server ip] [port number] -
nm
-
nmap
-
nslookup -
ntp -
objdump/gobjdump(OS X) -
pastepaste [-s] [-d<delimiter>] <file 1> <file 2> ... <file n>-srow <-> column 회전- how to merge two files consistently line by line
- paste로 파일 두 개 join하기
-
pbcopy -
ping -
pipe
-
psps -T -p <process num>How to view threads of a process on Linuxdiff <(ps -aux) <(ps -ux)linux process substitution이 어떻게 동작하는지 간단하게 알아봅시다- ProcMon-for-Linux: Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system process monitor
-
pwd -
read -
redirection
-
rm -
rsyncrsync -avz --rsh="ssh -l [id]" [ip]:[src path] [dst path]- daemon / ssh 방식 두 가지가 있는데, ssh의 경우 ssh public key를 추가해야 접속이 가능
- ssh 를 이용한 rsync 및 스크립트
- rclone "rsync for cloud storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files https://rclone.org
-
sar- practice - 지난 30일간 average CPU load만 모아서 그 평균을 계산
- practice - 지난 14일간 average CPU load + memory usage 계산
- practice - cpu, memory, buffer, disk, pageout on CentOS 7
- Understanding Linux CPU Load - when should you be worried?
- CPU Load에 대해
- Linux capacity planning: 5 things you need to do
- Understanding the Load Average on Linux and Other Unix-like Systems
- 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring
- Linux - 시스템 관리 : 시스템 부하 체크
- sar sysstat 리눅스 지표 분석 도구
- Generate CPU, Memory and I/O report using SAR command
- How to Calculate Memory Usage in Linux using sar, ps, and free
- How to view past performance with sar in Linux
sar -A -f /var/log/sa/sa<num>num=01~29 How do I get sar to show for the previous day?- Linux/Android CPU Usage (사용량) 계산 방법 – MKBlog
- Is Your Linux Version Hiding Interrupt CPU Usage From You? | Tanel Poder Consulting /proc/stat perf
- 서버에 걸리는 부하, 추측하지 말고 계측하자 CPU, I/O bound
- Load Average에 대하여 :: Lunatine's Box — Lunatine's Box
- Network Monitoring using SAR. In this blog we will have a look at how… | by Malith Jayasinghe | Medium
-
sedfind . -iname "*.java" -exec sed -i '' 's/[[:space:]]*$//' {} +특정 확장자 파일의 trailing whitespace를 sed로 제거- Sed stream editor 가이드
- Bash Shell: Remove (Trim) White Spaces From String / Variable
sed -e 's/^[ \t]*//'remove tab & space at the start of the linesed -e 's/[ \t]*$//'remove tab & space at the end of the line
sed 's/\xEF\xBB\xBF//g'removesed -e "s/^M//" <infile> > <outfile>^M 제거cat test.json | sed s/\"/\\\\\"/g"를 "로 변경- Delete specific line number(s) from a text file using sed?
- bash 저장 SINGLE 줄에 따옴표로 묶인 파일 이름을 출력하는 방법은 무엇입니까? path에 space가 있어서 quotation을 추가하기 원할 때
- Sed One-Liners Explained, Part I: File Spacing, Numbering and Text Conversion and Substitution
- shell script 작성시 sed 치환패턴 문자열 escapse
- sed를 살펴보자! sed 명령어 사용법과 예시, 패턴 스페이스와 홀드 스페이스, 유용 표현
- sed-bin: sed to C translator written in sed
-
seq -f '%05g' [start number] [end number]format string %e, %g, %f- 리눅스 seq 명령어 사용법
- How To Shuffle and Sample on the Command-Line
-
shuf -
sortsort -u -t[delimiter] -k[column num],[column num] [file name]remove lines based on duplicates within one columnsort -t' ' -k9 -n -r [file name]tab 구분 시 9번째 column 기준으로 숫자 역순으로 정렬- Sort Files Like A Master With The Linux Sort Command (Bash)
sort -VSorting numbers inside text strings- Sort IP Addresses with GNU sort
-
split -
ssreplacement of netstat -
ssh- Getting Started with SSH
- ssh key 효율적인 관리 방법
- SSH known_host 메모 ssh-keyscan
ssh-keygen -R <ip>Host key verification failed 대처- A top-down introduction to SSH and how it enables secure data-sharing
- SSH Port Forwarding
ssh -L 15673:localhost:15672 <server>e.g. rabbitmq의 web interface를 보고 싶은데, server에서 정책상 허용을 안 하면 내 localhost로 port forwarding을 해서 localhost:15673로 접속 가능
- SSH Tunneling | The Linux Rain
- Visual guide to SSH tunnels
- SSH PORT
- SSH Handshake Explained
- SSH Tips & Tricks
- MAC에서 비밀번호 없이 ssh 접속하기(config) - On KimKevin's Dev Way
- SSH Emergency Access
- Private/Public 키 쉽게 다루기 - YouTube
- endlessh: SSH tarpit that slowly sends an endless banner
- lazyssh: A jump-host SSH server that starts machines on-demand
- ZeroSSL Introducing another free CA as an alternative to Let's Encrypt
-
ssh-copy-idssh-copy-id -i ~/.ssh/id_rsa.pub id@host -
stat[ 0 = ``stat --printf="%s" $f`` ] && rm $fremove file if size is 0stat -c%s <file>How to check size of a file?stat /proc/<PID>How to find uptime of a linux process
-
stracedebugging tool to trace system calls and signals -
strip -
sudo- sudo 패스워드 없이 사용하는 방법
- (리눅스 업스킬 도전 #3) 파일 접근 허가와 sudo 명령 그리고 시간대
- (리눅스 업스킬 도전 #14) sudo 권한 주기
- 우분투에서 sudo 명령어 없이 docker 사용하기
- 5 new sudo features you need to know in 2020 | Opensource.com
- Difference between “sudo” and “su” command in Linux, UNIX, or Mac OS | by Bryant Jimin Son | Feb, 2021 | Medium
- Exploring the differences between sudo and su commands in Linux | Enable Sysadmin
- Difference between "sudo" and "su" command in Linux - YouTube
-
systemd redhat 6.3에서는
configure가 안 됨- How to install, manage, start and autostart ssh service on RHEL 7 Linux
- 서버 프로세스를 관리하는 올바른 방법
- How To Install / Upgrade systemd on RHEL/CentOS 7.0
- Why I dislike systemd
- Systemd is the best example of Suck
- hastur is a tool for launching systemd-nspawn containers without need of manual configuration
- systemd 살펴보기
- systemd 서비스 unit파일 작성에서 했던 실수
- Creating a Linux service with systemd
- In search of a better job scheduler What if cron and systemd had a baby? Wouldn't it be beautiful?
- How to write startup script for systemd
- Operating Systems Without Systemd
- Working with systemd-networkd. All about using systemd-networkd as… | by Sahitya Maruvada | 100 Days of Linux | Medium
- Services in systemd: In-Depth Tutorial | by Michael Krasnov | Better Programming | Medium
- How to set environment variable in systemd service? - Server Fault
- 5 reasons sysadmins love systemd | Opensource.com
-
systemtap
-
tac -
tail- Stop using tail -f (mostly)
- delete first line of a file
tail -n +2 [file name]
-
tar -
taskset -
tcpdump -
telnet -
top- Can You Top This? 15 Practical Linux Top Command Examples
- catching top waits – domas mituzas
- Guider – A System Wide Linux Performance Analyzer
- iftop 설치, 실시간 트래픽 확인하기
- top 명령어
top -HHow to view threads of a process on Linuxtop -H -p <PID>How to get the number of threads in a Java process- bashtop - Awesome Linux resource monitor - nixCraft
- bpytop - Awesome Linux, macOS and FreeBSD resource monitor - nixCraft
- htop
-
tr- remove-all-white-spaces
tr -d [:blank:] - replace-whitespaces-with-tabs-in-linux
tr -d '^M'^M과 개행 문자를 같이 없애고 싶었는데, 원하는대로 잘 동작하지 않았고, ^M만 없앨 때는 이 방법이 가장 편했음- Different ways to delete ^M character in a file
- How to convert the ^M linebreak to 'normal' linebreak in a file opened in vim?
- How can I replace a newline (\n) using sed?
- How to add a carriage return before every newline?
- sed replace newline (or 5 ways to remove line breaks with sed, python, tr, perl, xargs) 1
- remove-all-white-spaces
-
trace -
truncate -
uname -
uptime -
watch -
wcwc -c <file>How to check size of a file?
-
xargs -
- 0, 1에 대한 bit format 출력
xxd -b (Filename) > BINARY.bin현재 디렉토리에 BINARY.bin 파일 생성xxd -r BINARY.bin > (Filename)변환된 바이너리 덤프 -> 원본 파일 형식- hex 값을 수정한 이후 이를 다시 원본 형태로 돌려놓아야 할 때 유용
- 꿀벌개발일지 :: 파일을 바이너리로 보기
- 0, 1에 대한 bit format 출력
-
zcatuncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output
- Linux mail command examples – send mails from command line
- Bash script to send email
- exchange server
- mail/mailx
- practice - mail command
- debugging message 보기 쉬움
- .eml file을 message body로 보낼 수 없고 attachment로만 보내짐
- 리눅스 시스템에서 간단히 메일 전송하기
- Sending a file as the body of an email
- Can "Mailx" Send An Email With The Contents of Another File? uuencode 사용에 대한 이야기가 있는데 필요가 없었음
- How do I send HTML email using linux 'mail' command?
- How do I send mail from linux command line so it appears as HTML to recipient?
- practice - mail command
- mutt - 사용 실패
- nc
- sendmail
- practice - sendmail command
- debugging message 보기가 힘들었음
- .eml file을 message body로 보낼 수 있었음
- localhost의 user에게도 메일이 같이 보내졌는데 이유는 모르겠음
- Disable local delivery in Sendmail
- Postfix Address Rewriting
- fatal: parameter inet_interfaces: no local interface found for ::1
- Basic Modes of sendmail
- Sendmail Attachment
- practice - sendmail command
- smtp-cli — command line SMTP client CentOS7에서 test 해봤지만 실패
- smtplib -> python
-
yum update -y && yum clean all && yum groupinstall "Development Tools" -yCentOS / RHEL 7: Install GCC (C and C++ Compiler) and Development Tools -
apt-get update && apt-get install -y build-essentialHow to Install Development Tools on Ubuntu, Debian & LinuxMint -
Ubuntu; Use specific version as default How to install gcc-4.4.6? Choose gcc and g++ version
apt-get install gcc-4.4 cpp-4.4 gcc-4.4 gcc-4.4-base -y update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 10
- 리눅스 방화벽과 NAT를 위한 ipTables
- The Complicated Firewall
- Using Multiple NICs on Linux ip iproute2
- Common interface for NIC statistics — Jakub Kicinski
- iptables: How Kubernetes Services Direct Traffic to Pods | Dustin Specker
- A Deep Dive into Iptables and Netfilter Architecture
- linux-insides - A little bit about a linux kernel
- Multitasking in the Linux Kernel. Workqueues
- Timers in the Linux kernel
- Writing a Simple Linux Kernel Module
- Initialization
- The Linux Kernel Module Programming Guide
- Kernel bypass
- Linux kernel development
- BPF / XDP 8월 세미나 KossLab
- TIL: eBPF is awesome
- Interactive map of Linux kernel
- Submitting your first patch to the Linux kernel - Cristian Henrique - Medium
- Getting started with Linux kernel development
- kkamagui의 작업실 :: 리눅스 커널 모듈(Linux kernel module) 설치 시 모듈 사이즈 줄이기
- kkamagui의 작업실 :: 리눅스 커널 다시 컴파일 후 그래픽 모드 전환 오류 해결 방법
- 리눅스 커널 모듈 작성 – Place Of 42Seoul Story
- Interrupts and Interrupt Handling
- SIGSEGV as control flow - How the JVM optimizes your null checks
- How the Linux kernel handles interrupts | Opensource.com
- Tutorials and tools for sysadmins and developers
- My Favorite CLI Tools
- fish shell, starship, z, fzf, fd, ripgrep, htop and glances, virtualenv and virtualfish, pyenv, nodenv, and rbenv, pipx, ctop and lazydocker, homebrew, asciinema, colordiff and diff-so-fancy, tree, bat, httpie, tldr, exa, litecli and pgcli, mas, ncdu
- Facebook open-sources new suite of Linux kernel components and tools bpf, btrfs, netconsd, cgroup2, psi, oomd
- X Server가 없이 사용이 가능한 리눅스용 콘솔(터미널용) 텍스트 모드 웹 브라우저
- Links, Lynx, w3m, Googler
- Linux Productivity Tools
- 20 productivity tools for the Linux terminal
- Linux Terminal Tools
- 4 Best Terminal Browsers for Linux Command Line W3M, Lynx, Links2, eLinks
- Getting better at Linux with 10 mini-projects
- AGREP - approximate GREP for fast fuzzy string searching
- alacritty - A cross-platform, GPU-accelerated terminal emulator
- BigGrep is a tool to index and search a large corpus of binary files that uses a probabalistic N-gram based approach to balance index size and search speed
- broot - Get an overview of a directory, even a big one
- Byobu - text-based window manager and terminal multiplexer
- cheat.sh - the only cheat sheet you need https://cheat.sh
- Cockpit Project — Cockpit Project
- Colorizing
cat - cronitor.io - Monitor cron jobs, microservices and almost anything else
- Crush - an attempt to make a command line shell that is also a powerful modern programming language
- csshX - Manage multiple servers like a boss with csshX!
- ctop - concise commandline monitoring for containers
- Darling | macOS translation layer for Linux
- desk - Lightweight workspace manager for the shell
- DH Box platform
- direnv -- Unclutter your .profile
- duf: Disk Usage/Free Utility
- entr - A utility for running arbitrary commands when files change
- FireHOL(firewall) and FireQOS(traffic shaping)
- fuck - thefuck: Magnificent app which corrects your previous console command
- fzf
- hello — helloSystem experimental documentation
- htop htop explained
- i3 - improved tiling wm
- ICgrep: The fastest way to search text to find the patterns
- Inotify
- ix: command line pastebin
- juicefs: JuiceFS is a distributed POSIX file system built on top of Redis and S3
- Keep : A personal shell command keeper
- kime: Korean IME
- Lightning is a tool designed to allow you to find and open files as fast as physically possible
- lima: Lima: Linux-on-Mac ("macOS subsystem for Linux", "containerd for Mac")
- Linuxbrew - a fork of Homebrew, the Mac OS package manager, for Linux
- loadlibrary - Porting Windows Dynamic Link Libraries to Linux
- LSD (LSDeluxe) The next gen ls command
- Lynis - an open source security auditing tool
- makeself - Make self-extractable archives on Unix
- Material Shell - A new desktop experience
- Mininet - An Instant Virtual Network on your Laptop
- MinIO Client - a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage. https://min.io/download
- Mosh: the mobile shell
- ngrok 외부 네트워크에서 localhost로 접속 - ngrok
- netmap - the fast packet I/O framework
- nextspace - NeXTSTEP-like desktop environment for Linux https://trunkmaster.github.io
- nnn - The fastest terminal file manager ever written
- noah - Bash on Ubuntu on macOS
- NsJail - A light-weight process isolation tool, making use of Linux namespaces and seccomp-bpf
- Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration
- Pass: The Standard Unix Password Manager
- πfs - the data-free filesystem!
- pig - A Linux packet crafting tool
- prm - A minimal project manager for the terminal
- pxi (pixie) - a small, fast, and magical command-line data processor similar to jq, mlr, and awk
- Qfc - Quick Command-line File Completion
- Radare2 Explore binaries using this full-featured Linux tool | Opensource.com binary analysis
- rdiff-backup
- rsyslog Monitoring Linux Logs with Kibana and Rsyslog | by Antoine Solnichkin | devconnected — DevOps, Sysadmins & Engineering | Medium
- RTail - Terminal output to the browser in seconds, using UNIX pipes
- SC-IM - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
- shed - the sh editor
- sift is a fast and powerful open source alternative to grep
- snappy-start: Tool for process startup snapshots
- spaceman-diff - Diffing Images on the Command Line
- sshync - Auto-sync files or directories over SSH using fs.watch()
- trash-cli - Command Line Interface to FreeDesktop.org Trash
- ugrep: 🔍NEW ugrep v3.1: ultra fast grep with interactive query UI and fuzzy search: search file systems, source code, text, binary files, archives (cpio/tar/pax/zip), compressed files (gz/Z/bz2/lzma/xz/lz4), documents and more. A faster, user-friendly and compatible grep replacement
- unetbootin.github.io - create bootable Live USB drives
- up: Ultimate Plumber is a tool for writing Linux pipes with instant live preview
- VTM | Text-based Desktop Environment, aka Monotty Desktop (desktopio)
- Wayland Think twice before abandoning Xorg. Wayland breaks everything!
- X2GO: Linux Remote Desktop & Terminal Server System With Support For Published Applications
- Xmobar updates from ZuriHac
- xrdp - an open source RDP server
- zindex - Create an index on a compressed text file
- Buffer and Cache
- Buffer; optimize for block IO. metadata, data stream such as moving Youtube slider. once used, can't use it again.
- Cache; optimize for disk IO. usually files. use it again and again unless evicted by algorithm such LRU
- What is the difference between a cache and a buffer?
- Linux memory: buffer vs cache
- Linux Kernel: What is the major difference between the buffer cache and the page cache?
- What is the difference between Buffers and Cached columns in /proc/meminfo output?
- 리눅스의 페이지 캐시와 버퍼 캐시
- hazelnut is an APACHE licensed library written in Python designed to provide a simple and pythonic way to parse the /proc/meminfo file on LINUX based systems
- Stack and Heap
- THE STACK AND THE HEAP java stack, stack frame, and heap
- Where the top of the stack is on x86 - Eli Bendersky's website
- linux 환경에서의 메모리 보호기법을 알아보자(1) ASLR : Address Space Layout Randomization
- 번역 Linux에서 메모리를 다 써버렸을 때 일어나는 일
- Out Of Memory Killer 회피하기
- Understanding memory usage on Linux
- How to determine CPU and memory consumption from inside a process?
- Limit total memory usage for multiple instances of systemd service
- Linux Check Memory Usage
- How to check memory usage per process in Linux
- 8 Commands to Check Memory Usage on Linux
- How to measure Linux Performance Avoiding Most Typical Mistakes: Memory
- How Much Memory Does the Process Really Take on Linux? - Percona Database Performance Blog
systemd-cgtopFind memory used by Services
- How to close a running process's socket call close
- Beej's Guide to Network Programming Using Internet Sockets
- 데이터 고속전송 가이드
- Bash Shortcuts Gem
- Full vim for readline (bash, gdb, python, etc)
- Code Inflation
- joinc
- Share your favourite bash/zsh aliases
- HyperJump - A Quicker Way to CD
- Stronger Shell
- Beyond Bash - Shell scripting in a typed, OO language
- Monadic i/o and UNIX shell programming
- An Asynchronous Shell Prompt
- 쉘 코드 골프 2회 - PATH 변수 내용이 중복되지 않도록 추가하기
- How to Christmassify your terminal and shell - How to add emojis, color, and font styles to your Bash prompt
set -uat the start of a script- treat unset variables and parameters as an error
- agnoster.zsh-theme
- ctypes.sh - A foreign function interface for bash
- ctypes.sh, a foreign function interface for bash
- Dcron - Job scheduling made easy, distributed and highly-available
- Edbrowse, a Command Line Editor Browser
- Es: a shell with higher-order functions
- fish shell - Finally, a command line shell for the 90s
- journal - A unix/linux command line utility that creates a new journal text file with today's date on your computer
journalctl -u <service name> > <file name>How to see full log from systemctl status service? system service를 시작할 수 없는 경우- journalctl 사용법 :: Sysops Notepad
- lolcat - Rainbows and unicorns!
- nixar - New shell commandsJoyable equivalents for existent linux commands
- Prezto - Instantly Awesome Zsh
- svsh - Take control of your supervisor
- vnstat - Track and Log a Linux Server's Bandwidth Use
-
Use different configuration file
$ tmux -L myapp -f myapp-tmux.conf new-session -d -s myapp # start another tmux server $ tmux -L myapp attach -t myapp # attach to myapp- 상황; 이미 실행하고 있는 tmux server가 있고, .tmux.conf에 있는 설정을 사용하고 싶지 않을 때
- 해결; tmux command에 -f option이 있지만, 이 option은 새로 server를 시작할 때만 동작하므로, 위와 같이 새로 server를 시작하고 attach 해야 함
-
tmux - The Desktop Environment for your Terminal - Lunduke Show
-
github.com/Zeta611/dotfiles tmux 설정 참조
-
tmux-git - Script for showing current Git branch in Tmux status bar
-
XClip
-
활성/비활성 pane 배경색 분리; tmux 1.8에서는 동작하지 않는 걸로 보임
set-window-option -g window-style 'bg=#181818' set-window-option -g window-active-style 'bg=black' -
Ctrl + B, and then:,:source-file ~/.tmux.conf
-
switch to the next layout e.g. horizontal pane <-> vertical pane
C-b space
-
How to increase scrollback buffer size in tmux?
set-option -g history-limit 3000
-
How do I reorder tmux windows?
swap-window -s [from-number] -t [to-number]orswap-window -t [to-number]
-
tmux protocol version mismatch (client N server M)
$ tmux attach protocol version mismatch (client 7, server 6) $ pgrep tmux 3429 $ /proc/3429/exe attach