리눅스 필수 기본 명령어

Seong Woong Kim·2023년 1월 5일
0

Linux / Ubuntu

목록 보기
2/14

💡 이 문서는 한빛미디어 - 이것이 우분투/리눅스다를 기반으로 공부하면서 체화를 위해 정리하는 글입니다. 💡



ls

해당 디렉터리(폴더)에 있는 파일의 목록을 나열

ls                          # 현재 디렉터리의 파일 목록
ls /home/ksw                # /home/ksw 디렉터리의 목록
ls -a                       # 현재 디렉터리의 목록 (숨김 파일 포함)
ls -l                       # 현재 디렉터리의 목록을 자세히 보여줌
ls *.txt                    # 확장자가 txt인 목록을 보여줌
ls -l /home/ksw/D*          # /home/ksw 디렉터리에 있는 목록 중 앞 글자가 'D'인 것의 목록을 자세히 보여줌



cd

  • Change Directory의 약자로 디렉터리를 이동
cd                          # 현재 사용자의 홈 디렉터리로 이동.
cd ~{username}              # {username} 사용자의 홈 디렉터리로 이동 / ex: cd ~ksw
cd ..                       # 바로 상위의 디렉터리로 이동 / '..'은 현 디렉터리의 부모 디렉터리를 의미
cd /home/ksw/snap           # /home/ksw/snap 디렉터리로 이동 (절대 경로)
cd ../ksw/snap              # 상대 경로로 이동 / 현재 디렉터리의 상위 디렉터리(..)로 이동한 후, 다시 ksw/snap로 이동



man

  • 명령어 도움말

man {명령어}



pwd

  • Pring Working Directory의 약자로 현재 디렉터리의 전체 경로를 화면에 출력
pwd                         # 현재 작업 중인 디렉터리의 경로 출력



rm

  • ReMove의 약자로 파일이나 디렉터리를 삭제
  • 삭제할 때는 현재 사용자가 파일이나 디렉터리를 삭제할 권한이 있어야 한다.
    • root 사용자는 모든 권한이 있으므로 이 명령에 제약이 없다.
rm test.txt                 # 해당 파일 삭제 (내부적으로 'rm -f'로 연결됨)
rm -i test.txt              # 삭제 시 정말 삭제할지 확인하는 메세지가 나옴
rm -f abc.txt               # 삭제 시 확인하지 않고 바로 삭제(f는 Force의 약자)
rm -rf test                 # test 디렉터리와 그 아래에 있는 하위 디렉터리를 강제로 전부 삭제 (r은 Recursive의 약자)



cp

  • CoPy의 약자로, 파일이나 디렉터리를 복사
  • 새로 복사한 파일은 복사한 사용자의 소유가 된다.
    • 그러므로 명령을 실행하는 사용자는 해당 파일의 읽기 권한이 필요하다.
cp test1.txt test2.txt      # test1.txt 파일을 test2.txt 이름으로 바꿔서 복사
cp -r abc cba               # 디렉터리 복사 / abc 디렉터리를 cba 디렉터리로 복사



touch

  • 크기가 0인 새 파일을 생성하거나, 이미 파일이 존재한다면 파일의 최종 수정 시간을 현재 시간으로 변경
touch test.txt              # 파일이 없을 경우, test.txt라는 빈 파일을 생성하고, 있을 경우 파일의 최종 수정 시간을 현재 시간으로 변경



mv

  • MoVe의 약자로, 파일이나 디렉터리의 이름을 변경하거나 다른 디렉터리로 옮길 때 사용
mv abc.txt /home/ksw/       # abc.txt을 /home/ksw/ 디렉터리로 이동
mv a.txt b.txt /home/ksw    # a.txt, b.txt 파일을 '/home/ksw' 디렉터리로 이동
mv abc.txt www.txt          # abc.txt의 이름을 www.txt로 변경해서 이동



mkdir

  • MaKe DIRectory의 약자로, 새로운 디렉터리 생성
  • 생성된 디렉터리는 명령을 실행한 사용자의 소유가 된다.
mkdir abc                   # 현재 디렉터리 아래에 '/abc'라는 디렉터리 생성
mkdir -p /sky/blue          # /sky/blue 디렉터리를 생성하는데, 만약 '/blue'의 부모 디렉터리인 '/sky' 디렉터리가 없다면 자동 생성 (p는 Parents의 약자)



rmdir

  • ReMove DIRectory의 약자로, 디렉터리를 삭제
  • 해당 디렉터리의 삭제 권한이 있어야 하며 디렉터리는 비어있어야 한다.
  • 파일이 들어 있는 디렉터리를 삭제하려면 ‘rm -r’을 실행해야 한다.
rmdir abc                   # abc 디렉터리 삭제
rmdir -r bcd                # 파일이 들어있는 bcd 디렉터리 삭제



cat

  • conCATenate의 약자로, 파일 내용을 화면에 표시
  • 여러 개의 파일을 나열하면 파일을 연결해서 보여준다.
cat a.txt                   # a.txt의 내용을 화면에 보여줌.
cat a.txt b.txt             # a.txt와 b.txt를 연결해서 파일의 내용을 화면에 보여줌



head / tail

  • 텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력한다.
  • 여러 개의 파일을 나열하면 파일을 연결해서 보여준다.
head numbers.txt            # numbers.txt의 내용 중 앞 10행 출력
tail numbers.txt            # numbers.txt의 내용 중 마지막 10행 출력
head -3 numbers.txt         # 앞 3행만 화면에 출력
tail -5 numbers.txt         # 마지막 5행만 화면에 출력



more

  • 텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력
  • SPACE BAR를 누르면 다음 페이지로 이동하며 B를 누르면 앞 페이지로 이동한다.
  • Q를 누르면 종료한다.
more ./numbers.txt    
more +10 ./numbers.txt      # 10행부터 출력



less

  • more 명령어와 용도가 비슷하지만 기능이 더 확장되어 있다.
  • more 명령에서 사용하는 키도 사용할 수 있으며 추가로 화살표 키나 PAGE UP, PAGE DOWN도 사용할 수 있다.
less /home/ksw/numbers.txt
less +10 /home/ksw/numbers.txt # 10행부터 출력



file

  • 해당 파일이 어떤 종류의 파일인지 표시
file {filename.extenstion}



clear

  • 현재 사용 중인 터미널 화면을 깨끗하게 지워줌
clear



who / whoami

  • 각각 호스트에 로그인한 사용자 정보 / 내 접속 정보 를 출력
who
whoami



env

  • 환경 변수를 출력
    env



grep

  • 특정 문자열을 검색
grep {문자열} {파일}           # 파일에서 문자열을 검색



| (Pipeline)

  • 명령의 결과를 다음 결과로 넘김
env | grep user                # 환경 변수 목록이 결과로 출력되면 그 중에서 'user'가 포함된 문자열 검색



ps (Process Status)

  • 프로세스의 상태를 확인하는 명령
ps
ps -e                           # 현재 수행하고 있는 프로세스에 관한 정보 확인
ps -f                           # 프로세스 ID와 모 프로세스ID를 포함한 전체 리스트 표시
ps -ef | grep {프로세스 이름}    # 찾고자 하는 프로세스만 확인 



free

  • 메모리 상태를 확인하는 명령
  • -h (Human Readable) 옵션과 함께 사용함
free
free -h 



systemctl

  • 서비스를 관리하는 명령어
systemctl status {서비스명}       # 특정 서비스의 상태 확인
systemctl start mariadb          # mariadb 서비스 구동
systemctl stop mariadb           # 서비스 종료
systemctl enable mariadb         # 부팅시 자동 시작되도록 등록

업로드중..




📚 REFRENCE 📚

  1. 이것이 우분투/리눅스다 - 한빛미디어
  2. https://shanepark.tistory.com/196
  3. https://hinweis.tistory.com/62
  4. https://shanepark.tistory.com/196
profile
성장과 연구하는 자세를 추구하는 AI 연구개발자

0개의 댓글