자주 쓰는 ROS2 CLI 명령어 정리

ROS2(Humble / Iron / Jazzy 등) 기반 로봇 애플리케이션 개발, 디버깅 및 시뮬레이션 시 자주 쓰이는 필수 터미널 CLI 명령어 모음집입니다. 1. 워크스페이스 빌드 및 환경 설정 (Colcon & Environment) 빌드 및 의존성 관리 # 의존성 패키지 자동 설치 rosdep update rosdep install --from-paths src --ignore-src -y # 워크스페이스 전체 빌드 (소스 변경 사항 즉시 반영을 위한 심링크 빌드 권장) colcon build --symlink-install # 특정 패키지만 선택 지정 빌드 colcon build --packages-select <package_name> --symlink-install # 빌드 결과 환경변수 소싱 source install/setup.bash 2. 노드 관리 (ros2 node) 실행 중인 ROS2 노드(Node)의 상태를 점검합니다. ...

August 6, 2026 · 3 min

리눅스 자주 쓰는 Bash 커맨드 명령어 정리

리눅스(Linux) 터미널 및 Bash 환경에서 자주 사용되는 필수 명령어와 옵션, 실무 활용 예시를 카테고리별로 정리한 문서입니다. 1. 파일 및 디렉토리 관리 디렉토리 이동 및 위치 확인 pwd (Print Working Directory): 현재 위치한 디렉토리의 절대 경로 출력 pwd cd (Change Directory): 디렉토리 이동 cd /var/log # 특정 경로로 이동 cd ~ # 홈 디렉토리로 이동 cd .. # 상위 디렉토리로 이동 cd - # 이전 작업 디렉토리로 이동 파일 및 디렉토리 목록 조회 ls (List): 파일 및 디렉토리 목록 출력 ls -l # 상세 정보(권한, 소유자, 크기, 수정일 등) 포함 출력 ls -a # 숨김 파일(.)을 포함한 모든 파일 출력 ls -lh # 파일 크기를 사람이 읽기 쉬운 단위(KB, MB, GB)로 출력 ls -lt # 수정 시간순(최신순) 정렬 출력 디렉토리 및 파일 생성 / 삭제 / 복사 / 이동 mkdir (Make Directory): 디렉토리 생성 mkdir my_dir mkdir -p path/to/deep/dir # 하위 디렉토리까지 한 번에 생성 touch: 빈 파일 생성 또는 기존 파일의 수정 시간 업데이트 touch test.txt cp (Copy): 파일 및 디렉토리 복사 cp file1.txt file2.txt # 파일 복사 cp -r dir1 dir2 # 디렉토리 전체 복사 (재귀적) mv (Move): 파일/디렉토리 이동 또는 이름 변경 mv old_name.txt new_name.txt # 이름 변경 mv file.txt /path/to/target/ # 이동 rm (Remove): 파일 및 디렉토리 삭제 rm file.txt # 파일 삭제 rm -r dir_name # 디렉토리 및 하위 내용 삭제 rm -rf dir_name # 경고 없이 강제 삭제 (주의!) 탐색 및 용량 확인 find: 지정한 조건으로 파일 탐색 find . -name "*.log" # 현재 디렉토리에서 .log 파일 탐색 find /var/log -type f -mtime -7 # 최근 7일 이내 수정된 일반 파일 탐색 find . -type f -size +100M # 100MB 이상 크기의 파일 탐색 df (Disk Free): 전체 디스크 공간 사용량 확인 df -h # 사람이 읽기 쉬운 형식(GB, MB 등)으로 디스크 용량 확인 du (Disk Usage): 디렉토리별 용량 확인 du -sh * # 현재 디렉토리 하위 항목들의 용량 요약 출력 du -sh /var/log # 특정 디렉토리의 전체 용량 출력 2. 파일 내용 조회 및 편집 파일 내용 읽기 cat (Concatenate): 파일 내용 전체 출력 cat filename.txt cat -n filename.txt # 줄 번호와 함께 출력 less: 대용량 파일 내용을 페이지 단위로 조회 (q로 종료, /keyword로 검색) less /var/log/syslog head: 파일의 상단 일부 출력 head -n 20 filename.txt # 상단 20줄 출력 tail: 파일의 하단 일부 출력 (로그 모니터링에 매우 유용) tail -n 50 filename.txt # 하단 50줄 출력 tail -f /var/log/syslog # 실시간으로 추기되는 로그 모니터링 3. 텍스트 검색 및 데이터 처리 텍스트 검색 grep (Global Regular Expression Print): 패턴 검색 grep "ERROR" app.log # app.log에서 ERROR 문자열 포함 라인 검색 grep -i "error" app.log # 대소문자 구분 없이 검색 grep -rn "ERROR" ./src # 하위 디렉토리까지 재귀 검색(-r) 및 줄 번호 표시(-n) grep -v "INFO" app.log # INFO가 포함되지 않은 라인만 출력 (반전) 리다이렉션 & 파이프라인 | (Pipe): 앞 명령어의 표준 출력을 뒤 명령어의 표준 입력으로 전달 ps aux | grep python > & >> (Redirection): 파일에 결과 저장/추가 echo "Hello World" > output.txt # 덮어쓰기 (Overwriting) echo "New Line" >> output.txt # 이어쓰기 (Appending) 고급 텍스트 처리 awk: 필드 단위 데이터 추출 및 텍스트 처리 ls -l | awk '{print $5, $9}' # 파일 크기($5)와 파일명($9)만 출력 sed: 스트림 에디터 (문자열 치환 등) sed 's/foo/bar/g' input.txt # foo를 bar로 치환하여 출력 sed -i 's/foo/bar/g' input.txt # 파일 내용을 직접 치환하여 수정 wc (Word Count): 줄, 단어, 바이트 수 카운트 wc -l filename.txt # 전체 줄 수 출력 sort & uniq: 정렬 및 중복 제거 sort data.txt | uniq -c # 정렬 후 각 라인별 등장 횟수 카운트 4. 프로세스 및 시스템 모니터링 프로세스 확인 및 관리 ps (Process Status): 실행 중인 프로세스 조회 ps aux # 시스템 전체 프로세스 상세 목록 조회 ps -ef | grep java # 특정 프로세스(java) 검색 top / htop: 실시간 시스템 자원(CPU, 메모리) 및 프로세스 상태 모니터링 top # 기본 리눅스 성능 모니터링툴 htop # 컬러 UI 지원 향상된 모니터링툴 (설치 필요: apt install htop) kill / killall: 프로세스 종료 kill <PID> # 일반 종료 요청 (SIGTERM) kill -9 <PID> # 강제 종료 (SIGKILL) killall nginx # 지정한 이름의 모든 프로세스 종료 시스템 상태 및 서비스 관리 free: 시스템 메모리(RAM, Swap) 사용량 확인 free -h # 읽기 쉬운 단위(MB, GB)로 표시 uptime: 시스템 가동 시간 및 Load Average 확인 uptime systemctl: systemd 서비스 관리 sudo systemctl status nginx # 서비스 상태 확인 sudo systemctl start nginx # 서비스 시작 sudo systemctl stop nginx # 서비스 중지 sudo systemctl restart nginx # 서비스 재시작 sudo systemctl enable nginx # 부팅 시 자동 시작 설정 5. 권한 및 소유권 관리 chmod (Change Mode): 파일/디렉토리 접근 권한 변경 chmod 755 script.sh # 소유자: 읽기/쓰기/실행(7), 그룹: 읽기/실행(5), 기타: 읽기/실행(5) chmod +x script.sh # 실행 권한 부여 chmod -R 644 /path/to/dir # 하위 항목 전체 권한 변경 chown (Change Owner): 파일/디렉터리의 소유자 및 그룹 변경 sudo chown ubuntu:ubuntu file.txt # 소유자 및 그룹 변경 sudo chown -R ubuntu:ubuntu /var/www # 하위 항목 전체 소유자 변경 sudo (Superuser Do): 관리자(root) 권한으로 명령어 실행 sudo apt update 6. 네트워크 및 데이터 전송 네트워크 확인 ping: 네트워크 연결 상태 확인 ping 8.8.8.8 netstat / ss: 네트워크 포트 및 소켓 상태 확인 ss -tuln # 열려있는 TCP/UDP 포트 목록 조회 sudo ss -tulpn | grep 8080 # 8080 포트를 사용하는 프로세스 확인 ip / ifconfig: 네트워크 인터페이스 IP 확인 ip a # IP 주소 및 네트워크 인터페이스 정보 확인 파일 다운로드 및 전송 curl: HTTP/HTTPS 요청 보내기 및 데이터 수신 curl -I https://example.com # 응답 헤더 확인 curl -O https://example.com/file.zip # 파일 다운로드 wget: 웹에서 파일 다운로드 wget https://example.com/file.zip ssh: 원격 서버 접속 ssh user@remote_ip ssh -i key.pem user@remote_ip # SSH 키 파일로 접속 scp & rsync: 원격 파일 복사 및 동기화 scp file.txt user@remote_ip:/path/to/target/ # SCP로 파일 전송 rsync -avz ./src/ user@remote_ip:/path/to/target/ # rsync로 증분 동기화 7. 압축 및 아카이브 tar: 파일 묶기 및 압축 # tar.gz 압축하기 tar -czvf archive.tar.gz /path/to/dir # tar.gz 압축 해제하기 tar -xzvf archive.tar.gz zip / unzip: ZIP 압축 및 해제 zip -r archive.zip /path/to/dir unzip archive.zip 8. 유용한 Bash 팁 및 단축키 단축어 (Alias) & 환경 변수 alias: 자주 쓰는 긴 명령어를 짧은 별칭으로 등록 alias ll='ls -alF' export: 환경 변수 설정 export PATH=$PATH:/custom/bin history: 실행했던 명령어 히스토리 조회 history | grep docker # 이전에 실행한 docker 관련 명령어 검색 백그라운드 실행 &: 명령어를 백그라운드에서 실행 python3 app.py & nohup: 터미널이 종료되어도 프로세스가 지속되도록 실행 nohup python3 app.py > app.log 2>&1 & 주요 터미널 단축키 단축키 기능 설명 Ctrl + C 현재 실행 중인 프로세스 즉시 중단 Ctrl + Z 현재 실행 중인 프로세스 일시 정지 (배경 전환) Ctrl + R 과거 명령 히스토리 실시간 역검색 Ctrl + L 터미널 화면 깨끗하게 지우기 (clear 동일) Ctrl + A 커서를 줄의 맨 앞(시작)으로 이동 Ctrl + E 커서를 줄의 맨 뒤(끝)으로 이동 Tab 파일명/경로/명령어 자동 완성 마무리 위 명령어들은 리눅스 시스템 관리, 서버 운영, DevOps 및 로봇/소프트웨어 개발 환경에서 일상적으로 사용되는 핵심 커맨드입니다. 필요할 때 시트처럼 빠르게 참고하세요! ...

August 6, 2026 · 6 min