코인데일리넷

가상화폐 / NFT / 경제

기타/1432

[DAY7] 리눅스 명령어 기본 1

코인데일리넷 매니저 2021. 9. 28. 21:16

리눅스는 영문 대 소 문자를 구분 한다.

시작과 종료
1. 종료하는 방법
- 바탕화면의 오른쪽 위 -> 전원 -> 컴퓨터 끄기 -> 컴퓨터 끄기 
- 명령어 
  halt -p
  shutdown -P now
  init 0
  poweroff

shutdown 명령
shutdown -P now    : 지금 즉시 종료
shutdown -P +10    : 10분뒤에 시스템 종료
shutdown -P 16:00    : 10분뒤에 시스템 종료
shutdown -r 22:00   : 저녁 10시에 재부팅 
shutdown -c          :  cancel - 예약되어 있는 종료/재부팅 취소
shutdown -k +15    : 현재 접속한 사용자에게 15분뒤에 종료 된다는 메시지 보내는 것
                            실제로는 시스템이 종료 되지 않는다.

2. 시스템 재부팅
- 바탕화면의 오른쪽 위 -> 전원 -> 컴퓨터 끄기 -> 다시 시작
- 명령어
  shutdown -r now
  reboot
  init 6

3. 로그아웃
- 바탕화면의 오른쪽 위 -> 전원 -> 사용자 이름 -> 로그아웃
- 명령어
  logout 
  exit        <- tui 버전 : server(b)

4. 가상콘솔 - TUI 버전
CENTOS - 6개의 가상 콘솔     
1번째 가상콘솔 - 부팅했을 때
2번째 ~ 6번째 가상콘솔 : TUI로 제공
가상콘솔 전환 : Ctrl키 + Alt키 + F1~F6

Ctrl + Alt + F2 : GUI : root
Ctrl + Alt + F3 : TUI : root
Ctrl + Alt + F4 : TUI : centos

런레벨
init 0 ~ 6
0 : 시스템 종료
1 : 시스템 복구모드
2~4 : 멀티유저 : 텍스트모드
5 : 그래픽 모드
6 : 시스템 재부팅

cd /lib/systemd/system
ls -l runlevel?.target

GUI : 그래픽 유저 인터페이스 : Graphic User Interface
TUI : 텍스터 유저 인터페이스 : Text User Interface

기업 환경 : GUI로 리눅스 설치가 X        <- 고사양
               TUI로 리눅스 설치가 되어있음.
WHY ? : GUI가 되면 비용 증가 

 

--------------------------
실습
시스템의 런레벌을 변경
---------------------------
현재 시스템 설정의 런레벨 확인
ls -l /etc/systemd/system/default.target
현재 런레벨 링크가 그래픽 되어 있음
그래픽 -> TUI 변경
ln <- 링크 설정 명령어
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
ls -l /etc/systemd/system/default.target   <- 멀티로 바뀐것 확인
reboot     <- TUI 모드로 부팅

root 다시 로그인
startx     <- X 윈도우(GUI) 실행

keep old names 선택

원래 GUI 버전으로 부팅이 되게 변경
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
reboot

poweroff
-----------------------------------------------------------------------
자동 완성 
탭을 이용하여 명령어를 완성
히스토리 - 입력한 명령어를 확인   화살표 위/아래
history   <- 전체 히스토리 목록 보기
history -c   <- 히스토리 명령어 삭제

----------------------------------------------------------------------
마운트 - mount
----------------------------------------------------------------------
mount    <- 장치 마운트 상태 전체 보기

실습
dvd 내용을 /root/cdrom에 넣어 보기
cd ~     <- root 홈 디렉토리 이동
mkdir cdrom        <- /root/cdrom 디렉토리 생성
DVD 장치에 DVD 이미지를 넣기 
mount /dev/cdrom /root/cdrom         <- DVD를 /root/cdrom에 넣어라
ls -l /root/cdrom 
mount

마운트 해제
umount    <- 해제
umount 장치명
umount 마운트 디렉토리 지정
umount /dev/cdrom

USB 마운트  <- USB 포멧 형식 : FAT32 만 우선 사용가능     
NTFS : 4G 이상의 용량을 확인 : 리눅스에서 바로 인식이 불가능

 

----------------------------------------------
리눅스 기본 명령어
-----------------------------------------------
ls : LIST 약자 - Windows의 dir 명령과 같다. 
사용법
ls                       <- 현재 디렉토리 파일 목록
ls /etc/sysconfig    <- /etc/sysconfig 디렉토리의 목록
ls -a                   <- 현재 디렉토리 파일 목록(히든파일, 숨김파일 포함)
ls -l                    <- 현재 디렉토리 목록을 자세히 보기
ls *.cfg                 <- 확장자가 cfg 인 목록을 보기
ls -l /etc/sysconfig/a*   <- /etc/sysconfig 디렉토리의 목록중 a로 시작하는 파일을 자세히 보기
ls -al                     <- 현재 디렉토리를 자세히 보기(히든파일, 숨김파일 포함)

cd : Change Directory 약자, 디렉토리 이동
사용법
cd                       <- 현재 사용자의 홈 디렉토리로 이동    : cd ~
cd ~centos            <- centos 사용자의 홈 디렉토리로 이동
cd ..                     <- 현재 디렉토리의 부모(상위) 디렉토리로 이동
cd /etc/sysconfig     <- /etc/sysconfig 디렉토리로 이동(절대경로)
cd ../etc/sysconfig    <- 상대 경로 이동, 현재 디렉토리의 상위로 이동하여 그부분에서 /etc/sysconfig 디렉토리로 이동

절대 경로 : 시작점은 /  (루트 디렉토리)
상대 경로 : 시작점은 현재 디렉토리

pwd : Print Working Directory 약자, 현재 디렉토리의 전체 경로 표시
pwd

rm : ReMove 약자, 파일이나 디렉토리를 삭제 : root 권한이 있어야지 명령에 제약 없다.
사용법
rm abc.txt              <- 해당 파일 삭제 (내부적으로 rm -i abc.txt 와 같음)
rm -i abc.txt           <- 삭제 시 확인 메시지 나옴
rm -f abc.txt           <- 삭제시 확인 메시지 없이 바로 삭제
rm -r abc               <- 해당 디렉토리 삭제
rm -rf abc              <- r 옵션과 f 옵션을 합침, abc 디렉토리 그 아래의 하위 디렉토리까지 강제 삭제(주의)

* : 0글자이상 모든 문자를 매칭(빈공백에서 여러숫자의 문자: 모든 것)
? : 한글자 매칭 (공백이나 한글자의 영문자, 숫자, 특수문자:모든문자)
?? : 두글자 매칭
??? : 세 글자 매칭

cp : CoPy 약자 파일이나 디렉토리 복사
사용법
cp abc.txt cba.txt       <- abc.txt 파일을 cba.txt 파일로 이름을 바꾸어서 복사
cp abc.txt /root/cdrom <- abc.txt 파일을 /root/cdrom 디렉토리에 abc.txt를 복사
cp /root/abc.txt cba.txt 
cp -r abc cba             <- abc 디렉토리를 cba 디렉토리로 이름을 바꾸어서 복사


./abc.txt : 현재 디렉토리에 abc.txt
.abc.txt : 히든(숨김) abc.txt 


touch : 크기가 0 인 새 파일을 생성, 이미 파일이 존재한다면 파일의 최종 수정 시간을 변경
touch abc.txt

mv : MoVe의 약자 : 파일이나 디렉토리의 이름 변경을 하거나 다른 디렉토리에 이동
사용법
mv abc.txt /etc/sysconfig    <- abc.txt 파일을 /etc/sysconfig 디렉토리에 이동
mv aaa bbb ccc ddd         <- aaa bbb ccc 디렉토리를 ddd 디렉토리에 이동
mv abc.txt www.txt           <- abc.txt의 이름을 www.txt로 변경

mkdir : MaKe DIRectory 약자 : 새로운 디렉토리 생성
mkdir abc                 : 현재 디렉토리에 abc 디렉토리 생성
mkdir def/fgh           : 현재 디렉토리에서 def 디렉토리 밑에 fgh 생성 (def 디렉토리가 미리 생성)
mkdir -p def/fgh       : 현재 디렉토리에서 def 디렉토리 밑에 fgh 생성


rmdir : ReMove DIRectory 약자 : 디렉토리 삭제
rmdir abc             : abc 디렉토리 삭제(주의점:디렉토리안에 파일이나 디렉토리가 존재하면 안됨) 

cat : conCATenate , 파일의 내용을 화면에 보여준다.
cat abc.txt

head : 파일의 내용을 화면에 출력
head anaconda-ks.cfg      <- 첫행에서 10번째 행까지 출력
head -5 anaconda-ks.cfg  <- 첫행에서 옵션 행까지 출력 됩니다.


tail : 파일의 내용을 화면에 출력
tail anaconda-ks.cfg       <- 끝행에서 위로 10번째 행까지 출력
tail -5 anaconda-ks.cfg    <- 끝행에서 위로 옵션 행까지 출력


more : 텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력 
         스페이스바 다음페이지, B 앞 페이지, Q 종료
사용법
more anaconda-ks.cfg
more +10 anaconda-ks.cfg          <- 10행부터 출력

less : more 명령어 용도가 비슷 하지만 기능이 더 확장
       page up, page down 
사용법
less anaconda-ks.cfg
less +10 anaconda-ks.cfg          <- 10행부터 출력


file : 해당 파일이 어떤 종류의 파일인지 표시
사용법
file anaconda-ks.cfg
file /dev/sr0         


clear : 화면을 깨끗하게 지우는
clear