본문 바로가기
임시 글

[리눅스] CLI 명령어 CheatSheet

by cogito21_cpp 2024. 8. 24.
반응형

- 유닉스 계열인 리눅스에서는 대소문자를 구분

 

1. 현재 위치 출력(print work directory): pwd

pwd

2. 현재 디렉터리 내의 파일과 디렉터리 목록 출력: ls

ls -l    // 파일의 상세 정보 확인
ls -a    // 숨김 파일 표시
ls -t    // 최신 파일부터 표시
ls -rt   // 오래된 파일부터 표시
ls -F    // 파일의 타입 표시
ls -R    // 하위 디렉터리까지 표시

3. 디렉터리 생성: mkdir

mkdir <diretory_name>                      // 현재 디렉터리에 폴더 생성
mkdir -p <directory_name>/<sub_directory>  // 현재 디렉터리에에 하위 디렉터리까지 생성

4. 디렉터리 이동: cd

cd ~                // 홈 디렉터리로 이동
cd ..               // 상위 디렉터리로 이동
cd <absolute_path>  // 절대경로 이동
cd -                // 이전 디렉터리로 이동

5. 파일/디렉터리 복사: cp

cp <source> <target>              // source를 target으로 복사
cp -f <source> <target>           // source를 target으로 덮어쓰기
cp -R <source_dir> <target_dir>   // 디렉터리 복사시 하위 디렉터리까지 모두 복사

6. 파일/디렉터리 이동: mv

mv <target> <change>       // 파일명 변경
mv <target> ../            // 상위 디렉터리로 파일 이동
mv <target> /<dir_name>/   // 디렉터리로 파일 이동

7. 파일/디렉터리 삭제: rm

rm <target>       // 파일 혹은 디렉터리 삭제
rm -r <target>    // 하위 디렉터리까지 모두 삭제. 삭제시 확인
rm -rf <target>   // 강제 삭제
rm -i *.txt.      // 모든 파일(.txt) 삭제시 하나씩 확인하면서 삭제

8. 파일/디렉터리 찾기: find

find <dir> -name <pattern>                             // 디렉터리 내에서 패턴에 맞는 파일 또는 디렉터리 탐색
find <dir> -path '**/dir_name/**.*.js'                 // 디렉터리를 지정하여 찾기
find <dir> -name '*pattern'                            // 파일명을 패턴으로 찾기
find <dir> -name <pattern> -not -path '*/dir_name/*'   // 특정 경로 제외하고 탐색
find <dir> -name '*.ext' -exec wc -l {} \;             // 파일 찾은 후 다음 명령어 실행
find <dir> -daystart -mtime -7 -delete                 // 7일간 수정된 파일 찾아 삭제
find <dir> -type f -empty -delete                      // 0바이트인 파일 찾아 삭제

9. 파일 생성: touch

touch <file>              // 파일 생성
touch -c <file>           // 파일의 시간을 현재 시간으로 갱신
touch -r <afile> <bfile>  // bfile의 날짜 정보를 afile의 날짜 정보와 동일하게 변경

10. 파일 내용 확인: cat/head/tail

cat <file>                           // 파일 내용 확인
head <file>                          // 파일 앞부분 확인
tail -n <숫자> <file>                 // 파일의 마지막 라인부터 숫자만큼 라인 보여주기
tail -n +<숫자> <file>                // 숫자로 지장한 라인부터 보여주기
tail -c <숫자> <file>                 // 마지막 라인부터 숫자로 지정한 바이트 수만큼 보여주기
tail -f <file> :                     // Ctrl + C로 중단하기 전까지 지정한 파일의 마지막에 라인이 추가되면 계속 출력
tail -n <숫자> -s <second> -f <file>  // 초로 지정한 시간이 지날 때마다 refresh

11. 문자열 화면 표시: echo

echo <문자열>              // 문자열 화면에 출력
echo <변수>               // 변수를 출력
echo -e <문자열>           // 이스케이프 문자열을 해석
echo -e "hello\nline\n"  // 개행 표시 가능
echo *                   // 현재 디렉터리의 파일과 폴더 출력
echo hello > test.txt    // hello 문자열을 test.txt 파일을 생성하여 기록
echo hello2 >> test.txt  // hello2 문자열을 기존의 test.txt 파일에 추가

12. IP 정보 확인: ip addr/ifconfig

ip addr
ifconfig

13. 네트워크 상태 확인(socket statistics): netstat/ss

ss -a  // 모든 포트 확인
ss -t  // TCP 포트 확인
ss -u  // UDP 포트 확인
ss -l  // LISTEN 포트 확인
ss -p  // 프로세스 표시
ss -n  // 호스트, 포트, 사용자명을 숫자로 표시

14. 서버의 포트(netcat) 확인: nc/telnet

nc <ip_addr> <port>      // 포트 오픈 여부 확인
nc -v <ip_addr> <port>   // 상세 정보 확인
nc -l <port>             // 현재 서버의 포트를 오픈(방화벽에 해당 포트 번호 설정)

15. 명령어 위치 확인: which/whereis/locate

which <cmd>     // 특정 명령어 위치 찾기
which -a <cmd>  // 모든 경로에서 명령어 찾기
where <cmd>     // which -a와 동일
whereis <cmd>   // 실행 파일, 소스, man 페이지의 파일 탐색
locate <pattern>    // 파일명을 패턴으로 탐색

16. 실행 중인 프로세스 목록과 상태 확인: ps

ps aux                   // 실행 중인 모든 프로세스 확인
ps auxw                  // 실행 중인 모든 프로세스 커맨드 포함 확인
ps aus | grep <pattern>  // 특정 패턴과 매칭되는 프로세스 목록
ps --sort size           // 메모리 사용량 기준 정렬

17. 프로세스 종료: kill

kill -l                      // 시그널 표시
kill <process_id>            // 프로세서 종료(SIGTERM)
kill <job_id>                // 백그라운드 잡 종료
kill -9 | kill <process_id>  // 프로세스 강제 종료

18. 주어진 입력값에서 패턴에 맞는 값 출력: grep

grep <pattern> <file>                                // 패턴을 만족하는 파일 찾기
grep --with-filename --line-number <pattern> <file>  // 파일명과 라인을 함께 표시
grep --invert-match <pattern>                        // 매칭하지 않는 부분 표시
cat <file> | grep <pattern>                          // 내용에서 패턴과 일치하는 부분 찾기

19. 명령어 별칭 만들기: alias

alias               // 모든 alias 표시
alias <word="cmd">  // alias 제작
unalias <word>      // alias 삭제

20. 편집기: vi/vim/nano

vi <target>    // 문서 편집기 집입
a, i(편집모드) esc(명령모드), :wq(저장후 종료), h,j,k,l(방향키)
vim <target>
반응형

'임시 글' 카테고리의 다른 글

[분야별 기본기] 컴퓨터 공학  (0) 2024.08.29