[Linux] 명령어

JIWON·2025년 5월 15일

Linux

목록 보기
2/20
post-thumbnail

💻리눅스 Shell과 명령어 기본

1️⃣ Shell

  • 사용자가 입력한 명령을 해석해서 커널로 전달하거나 커널의 처리 결과를 사용자에게 전달하는 역할을 수행
  • GUI 에서는 터미널이라는 프로그램을 이용해서 사용할 수 있고, 외부에서 SSH로 접속을 하면 Shell에 접속한것

2️⃣ 프롬프트

  • 명령어를 입력할 때 보여지는 문자열
jiwon@kang:~$
  • jiwon : 사용자 이름
  • kang : 호스트 이름(컴퓨터 이름)
  • ~ 는 현재 디렉토리 경루인데, ~ : 사용자의 홈 디렉토리
  • $ 이면 일반 사용자, # 이면 슈퍼사용자

⌨️ 명령어 입력방식

  1. 대화형으로 명령어를 입력하고 바로 결과를 확인하는 방식

  2. 미리 파일에 명령어를 기록해두고 그 파일을 shell에 넘겨주는 스크립트 방식


3️⃣ 명령어 입력 시 발생하는 에러

  • 키보드 입력이 안되는 경우 : 화면을 잠그는 CTRL + s를 눌러지는 경우로, 이 경우에는 CTRL + q를 눌러서 화면 잠금 해제

  • 실행한 명령이 종료되지 않는 경우 : CTRL + c

  • 프롬프트의 문자가 깨지는 경우 : CTRL + l 을 눌러서 클리어


4️⃣ 명령어 구조

명령 형식

명령어 [옵션][인자]
  • 명령어 : 실제 사용되는 명령어
  • 옵션 : 명령의 세부기능으로 -또는 --로 시작
    • - 인 경우는 옵션이 한 글자
    • -- 인 경우는 옵션이 단어
    • 옵션은 여러 개 사용이 가능하다
    • 옵션은 대부분 순서가 없다
    • 옵션은 결합이 가능하다
  • 인자 : 명령에 전달하는 값
  • 각 요소는 공백으로 구분

명령 실습

  • ls : 명령만 사용
  • ls -a : a 옵션 사용
  • ls -al , ls -a -l : 여러 옵션 사용
  • ls /tmp : 명령과 인자 사용
  • ls -a /tmp : 명령, 옵션, 인자 사용

5️⃣ 명령어 자동완성

  • 현재 입력 중인 내용으로 시작하는 명령이 1개 밖에 없다면 입력하고 Tab 을 누르면 명령어 완성

    • eg 를 입력하고 Tab 키를 누르면 egerp
  • 명령이 여러 개 인 경우 Tab두 번 누르면 모든 명령을 출력

    • e를 누르고 Tab 키를 두 번 누르면 e로 시작하는 모든 명령을 조회

6️⃣ history

  • 상 하 화살표를 이용하면 이전 명령이나 다음 명령을 호출 할 수 있다

  • history 라고 명령을 내리면 명령어 수행 내용을 출력

    • !! : 직전 명령을 재실행

    • !번호 : 번호에 해당하는 명령을 재실행

    • !문자열 : 문자열로 시작하는 마지막 명령어 재실행

    • history -d 라인번호 : 라인번호에 해당하는 명령어 삭제

    • history -c : 명령어 전체 삭제


7️⃣ 명령어 도움말

  • --help : 이 옵션을 이용하면 도움말을 출력
cat --help
  • man [옵션][section] 명령어 : 도움말 출력
    • q 로 종료
man ls

8️⃣ 명령어 위치

echo $PATH

echo $PATH : shell이 명령어를 찾는 순서

jiwon@kang:~$ echo $PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

whereis

  • whereis [옵션] [명령] : 는 명령어의 실행 파일 위치, 소스 위치, man 페이지 파일의 위치를 찾아주는 명령어
  • 옵션
    • b : 바이너리 파일만 검색
    • m : 매뉴얼만 검색
    • s : 소스파일만 검색
jiwon@kang:~$ whereis find
> find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info-2.gz /usr/share/info/find.info.gz /usr/share/info/find.info-1.gz

which

  • which [옵션][명령어] : PATH에 기록된 디렉토리에서 명령어의 위치를 검색
  • 옵션
    • -a , --all : 모든 내용 출력

🧾 리눅스 명령어

기본 명령어

passwd : 비밀번호 변경

exit : 터미널 종료, 원격 접속인 경우는 접속 해제

clear : 현재 보이는 화면 삭제


별명 명령어

alias : 현재 설정된 별명 확인

alias 별명='실제값' : 별명 설정방법

unalias 별명 : 별명 삭제 가능

type 명령어 : 별명인지 아닌지 확인 가능

원본 명령어 실행

  • 전체 경로로 명령어를 실행 : /bin/ls /
  • command 명령어 : command ls /
  • \ 명령어 : \ls /

✍️ alias 실습

jiwon@kang:~$ ls -F/

jiwon@kang:~$ alias ls='ls -F'
jiwon@kang:~$ ls /

✍️ type 실습

jiwon@kang:~$ type ls

날짜와 시간 명령어

date : 현재 시간, 날짜 출력

timedatectl : 더 자세한 현재 시간, 날짜 출력


시스템 사용자 정보

logname : 현재 사용 중인 계정 확인

users : 접속한 사용자의 계정 확인

who : 로그인 한 모든 사용자 계정 확인, 언제 어떤 ip로 접속했는지 확인 가능 ✅

whoami : 현재 ubuntu 사용자 확인


시스템 정보

uname [옵션] : 시스템 정보

  • 옵션
    • a : 시스템의 모든 정보 확인
    • m : 시스템이 사용 중인 하드웨어 정보 확인
    • n : 호스트 네임 확인
    • r : 운영체제 릴리즈 번호
    • s : 운영체제 이름
    • v : 버전 출시 일자

hostname : 현재 사용 중인 호스트 네임

arch : CPU 정보

env : 환경 변수 확인 ✅


sudo 와 su

sudo : 관리자의 권한을 빌려서 명령을 실행하는 것으로 관리자 비밀번호를 입력해야 함

su 계정 : 현재 계정의 환경 변수들을 유지하면서 다른 계정으로 전환

su - 계정 : 새로운 계정의 환경변수를 가져오면서 다른 계정으로 전환

su : 계정을 입력하지 않으면 root로 전환


종료

  • shutdown

shutdown -P +시간 : 시간 분 후에 종료

shutdown -r 시간 : 시간에 종료

shutdown -c : 예약한 shotdown 취소

shutdown -k +분 : 분 후에 접속한 사용자들에게 종료된다는 메시지를 전송하지만 실제 종료는 안 됨


재부팅

  • reboot :
    가상머신에서만 사용 가능
    -> cmd에서의 접속이 끊김
    -> cmd에서 다시 연결해주어야 함

  • init 6

연습문제

  1. 다음 명령어의 기능을 작성

    • date : 현재 날짜
    • clear 화면 삿제
    • man : 도움말
    • passwd :비번변경
  2. date 명령의 도움말을 확인
    date --help

  3. 터미널을 종료하는 명령?
    exit

0개의 댓글