삶 가운데 남긴 기록 AACII.TISTORY.COM
리눅스 명령어 요약 본문
시스템 종료
- poweroff
- shutdown -P now 즉시 Power off
- shutdown -r 22:00 오후 10시 rebooting
- shutdown -P +10 10분 뒤 종료
- shutdown -c 예약된 종료 cancel
- shutdown -k +15 15분 동안 시스템 종료 메시지를 띄우지만 실제 종료는 안됨
- halt -p
- init 0 런레벨 0번으로 시스템을 전환
시스템 재시작
- shutdown -r now 즉시 재시작
- reboot
- init 6 런레벨 6번으로 시스템을 전환
로그아웃
- logout
- exit
도스 키
이전에 입력한 명령어를 화살표 위아래 키로 다시 나타나게 하는 기능
- history 사용했던 명령어 모두 보기
- history -c 저장된 명령어 모두 삭제
자동완성 기능
탭키를 이용해 자동으로 단어를 완성, 중복된 파일이 있는 경우 탭키를 한번 더 누르면 자동완성 파일 이름 후보 목록을 표시합니다.
이 기능을 사용하면 오타를 많이 줄일 수 있습니다
VIM(vi) 에디터
- esc 명령모드로 전환
- :q 종료
- :wq 저장하고 종료
- i insert
- a append
- :w test2.txt text2.txt으로 저장하고 종료
- :q! 변경내용을 무시하고 종료
- :숫자 해당 숫자 행으로 이동
- dd 현재 커서의 행을 삭제
- yy 현재 커서가 있는 행을 복사
- p 복사한 내용을 현재 행 이후에 붙여 넣기
- /문자열 현재 커서 이후 해당 문자열을 찾음
- n 찾은 문자 중에서 다음 문자로 이동
도움말
- man 명령어 해당 명령어의 도움말
mount
- mount 기존 마운트 정보 확인
- unmount /dev/cdrom cd/dvd 장치 마운트 해제 바로가기
- mount /dev/sdb1 /media/usb sdb1 장치를 /media/usb 폴더로 마운트
기본 명령어
- ls -a 숨김 파일 포함(파일 제일 앞에 . 을 붙이면 자동으로 숨겨짐) 현재 디렉터리 목록
- ls -l 디렉토리 목록을 자세하게 보여줌
- pwd 현재 디렉터리 위치 point working directory
- cd 디렉토리 변경 change directory
- rm -i 파일이름 파일 삭제(확인 메시지) remove
- rm -f 파일이름 파일 삭제(확인 없음) force
- rm -r 디렉토리이름 디렉터리 삭제 recursive
- rm -rf 디렉토리이름 하위 디렉터리 포함 모두 삭제
- cp 원본파일이름 복사할파일이름 파일 복사
- cp -r 원본디렉토리이름 복사할디렉토리이름 디렉터리 복사
- touch 파일이름 빈파일 생성, 기존에 같은 파일이 존재하면 최종 수정시간을 현재 시각으로 변경
- mv 파일이름1 파일이름2 파일이름3 디렉토리경로 파일1,2,3을 해당 디렉터리로 이동
- mkdir 디렉토리이름 디렉터리 생성(make directory)
- rmdir 디렉토리이름 디렉터리 삭제(remove directory)
- cat 파일이름 파일내용을 화면에 보여줌(concatenate)
사용자와 그룹관리
- useradd newuser newuser라는 이름의 사용자 생성
- useradd -u 1111 newuser newuser라는 사용자를 생성하면서 사용자 ID를 1111으로 지정
- useradd -g mygroup newuser newuser라는 사용자를 생성하고 mygroup 에 포함시킴(mygroup은 미리 만들어져있어야 합니다.)
- useradd -d /newhome newuser newuser라는 사용자를 생성하고 홈 데렉토리를 /newhome으로 지정
- useradd -s /bin/csh newuser newuser라는 사용자를 생성하고 기본 셸을 /bin/csh 으로 지정
- passwd newuser newuser사용자의 비밀번호를 지정
- usermod 사용자의 속성을 변경한다. 옵션은 useradd와 동일합니다
- userdel newuser newuser 사용자를 삭제합니다.
- userdel -r newuser newuser 사용자를 홈 디렉토리까지 포함해서 삭제합니다.
- chage -l newuser newuser에 설정된 암호 주기 확인
- chage -m 2 newuser newuser는 설정한 암호를 최소 2일 사용
- chage -M 30 newuser newuser는 암호를 변경후 최대 30일까지 사용할 수 있음
- chage -E 2019/12/12 newuser newuser의 설정된 암호의 만료 일자 설정
- chage -W 10 newuser newuser의 설정된 암호의 만료일로부터 10일 전부터 메시지가 나감
- groups 현재 사용자가 소속된 그룹
- groups newuser newuser가 소속된 그룹을 보여줌
- groupadd newgroup newgroup 라는 그룹을 생성
- groupadd -g 2222 newgroup newgroup 라는 그룹을 2222라는 그룹 ID로 생성
- groupmod -n newgroup mygroup newgroup 라는 그룹의 이름을 mygroup으로 변경
- groupdel newgroup newgroup 그룹을 삭제. 단, 해당 그룹을 주요 그룹으로 지정한 사용자가 없어야 함
- gpasswd newgroup newgroup 그룹의 암호를 지정
- gpasswd -A newuser newgroup newuser 사용자를 newgroup 그룹의 관리자로 지정
- gpasswd -a user1 newgroup user1 사용자를 newgroup 그룹의 사용자로 추가
- gpasswd -d newuser newgroup user1을 newgroup 그룹의 사용자에서 제거
홈디렉토리
- 새로운 사용자(user1)를 생성하면 /home/user1의 디렉터리에 /etc/skel 디렉토리의 내용을 복사하는 작업이 발생합니다. 그래서 생성하는 사용자에게 특정 파일을 배포하고 싶으면 /etc/skel 디렉토리에 넣어두면 됩니다.
- yum -y install system-config-users :X윈도우 환경에서 사용자 관리 system-config-users 라는 명령어 설치
파일의 소유권(ownership)와 허가권(permission)
- 소유권과 허가권은 root 권한만이 할 수 있습니다.
- ls -l 을 수행하면 나오는 정보들
- - : 파일
- d : 디렉터리
- b : 블록 디바이스(하드디스크 등의 저장장치 등)
- c : 문자 디바이스(마우스, 키보드 등의 입출력 장치 등)
- l : 링크(바로가기와 유사한 개념)
- permission: 3자리씩 user/group/other 에 각각 read, write, excute 권한을 부여한다. 가중치 코드처럼 각 3자리 별로 2진수의 가중치로 표현하면 r의 가중치는 4 w의 가중치는 2 x의 가중치는 1 으로 모두 더하면 7입니다. 그래서 파일에 모든 권한 부여는 777이 되는 것입니다.
- chmod 숫자 파일이름 해당 파일의 퍼미션(허가권)을 변경하는 명령
- chmod 숫자 -R 디렉토리경로 하위 폴더 포함 퍼미션을 변경하는 명령
- chown 사용자 파일이름 해당 파일의 소유권을 해당사용자로 변경하는 명령
- chgrp 그룹이름 파일이름 해당 파일의 그룹을 해당 그룹이름으로 변경하는 명령
파일 링크
- 하드링크: 원본데이터와 index(inode) 영역을 공유해 실제 데이터에 접근 함, 원본 파일이 위치를 변경해도 연결 유지
- ln 원본파일 하드링크이름
- 심볼릭링크(소프트링크): 원본 파일의 포인터(위치)를 연결 inode는 원본 파일과 다름, 원본파일이 위치를 변경하면 연결이 끊어짐
- ln -s 원본파일(폴더) 심볼릭링크이름
- ls -il inode 번호를 제일 왼쪽에 출력
RPM(레드햇 패키지 메니저)
- 패키지이름-버전-릴리즈번호.OS버전.아키텍처.rpm
- rpm은 다른패키지의 의존성이 있는 경우 설치가 되지 않습니다.
- 설치
- rpm -Uvh 패키지이름.rpm
- U 옵션: 기존 패키지가 설치 되어있지 않으면 설치하고 설치되어 있다면 업그레이드 합니다.
- v 옵션: 설치과정을 보여줍니다.
- h 옵션: 설치 진행 과정을 #기호로 화면에 출력합니다.
- 삭제
- rpm -e 패키지이름
- e 옵션: erase 의 약자
- 조회
- rpm -qa 패키지이름 설치 확인
- rpm -qf 파일의절대경로 이미 설치된 파일이 어느 패키지에 포함 된 것인지 확인
- rpm -ql 패키지이름 특정 패키지에 어떤 파일들이 포함되어있는지 확인
- rpm -qi 패키지이름 설치된 패키지의 상세정보
- rpm -qlp 패키지이름.rpm 아직 설치되지 않은 패키지 파일에 어떤 파일이 포함되었는지 확인
- rpm -qip 패키지파일이름.rpm 아직 설치되지 않은 패키지 파일의 상세정보
YUM(Yellowdog Updater Modifed)
- 인터넷을 통해 의존성이 있는 패키지들을 자동으로 다운받아 설치합니다.
- /etc/yum.repos.d/ 인터넷에서 해당 패키지를 검색하는 네트워크 주소가 들어있습니다.
- yes/no를 묻는 부분에 자동으로 yes를 입력하며 설치
- yum -y install 패키지이름
- 로컬에 있는 패키지를 설치
- yum localinstall rpm파일이름.rpm
- 업데이트 가능한 목록보기
- yum check-update
- 업데이트
- yum update 패키지이름
- 삭제
- yum remove 패키지이름
- 정보확인
- yum info 패키지이름
- 패키지 그룹 설치
- yum groupinstall "패키지그룹이름"
- 패키지 리스트 확인
- yum list 패키지이름
- 특정 파일이 속한 패키지 이름 확인
- yum provides 파일이름
- 기존 저장소 목록 지우기
- yum clean all
# RPM 과 YUM 의 가장 큰 차이점은 YUM 은 의존성 패키지까지 자동 설치 되는 차이입니다.
MariaDB 패키지 그룹 설치하기(패키지 그룹은 "" 으로 묶어줘야 합니다.)
- yum -y groupinstall "MariaDB Database Server"
파일압축
- xz 파일이름 파일이름.xz 으로 압축파일을 만든다. 기존 파일은 삭제됨
- xz -d 파일이름.xz 압축해제
- xz -l 파일이름.xz 파일이름.xz 압축파일에 포함된 파일 목록과 압축률 등을 출력
- xz -k 파일이름 압축 후에 기존 파일을 삭제 하지 않고 그대로 둠
- bzip2 파일이름 파일이름.bz2 으로 압축파일을 만듦
- bzip2 -d 파일이름.bz2 압축해제
- gzip 파일이름 파일이름.gz 으로 압축파일을 만듦
- gzip -d 파일이름.gz 압축해제
- zip 생성할파일이름.zip 압축할파일이름 생성할파일이름.zip 으로 압축 파일을 만듦
- unzip 압축파일이름.zip 압축해제
파일 묶기(tar)
- c 새로운 묶음을 만듦
- x 묶인 파일 해제
- t 묶음을 풀기전에 묶인 경로를 보여줌
- C 묶음을 풀 때 지정된 디렉토리에 압축을 해제, 지정하지 않으면 묶을 때와 동일한 디렉토리에 풀림
- f 옵션(필수) 묶음 파일 이름 지정
- v 파일이 묶이거나 풀리는 과정을 보여줌
- J tar + xz
- z tar + gzip
- j tar + bzip
- 사용 예제
- 묶기: tar cvf my.tar /etc/sysconfig/
- 묶기+xz 압축: tar cvfJ my.tar.xz /etc/sysconfig/
- 묶기+gzip 압축: tar cvfz my.tar.gz /etc/sysconfig/
- 묶기+bzip2 압축: tar cvfj my.tar.bz2 /etc/sysconfig/
- 파일확인: tar tvf my.tar
- tar 해제: tar xvf my.tar
- newdir에 tar 해제: tar Cxvf newdir my.tar
- xz 압축 해제 + tar 풀기: tar xfJ my.tar.xz
- gzip 압축 해제 + tar 풀기: tar xfz my.tar.gz
- bzip 압축 해제 + tar 풀기: tar xfj my.tar.bz2
파일 검색
- find /etc -name "*.conf" /etc 디렉토리 하위에 확장자가 conf 인 파일 검색
- find /home -user root /home 디록토리 하위에 소유자가 root 인 파일 검색
- find ~ -perm 777 /현재 사용자의 홈디렉토리의 하위에 퍼미션이 777 인 파일 검색
- find /usr -size +10k -size -100k /usr 디렉토리 하위에 파일 크기가 10kb~100kb 인 파일 검색
- which 실행파일이름 path에 설정된 디렉토리만 검색
- whereis 실행파일이름 실행파일,소스, man 페이지 파일까지 검색
- locate 파일이름
리다이렉션
표준 입출력은 키보드와 모니터지만 파일로 입출력을 할 때 redirection을 사용 할 수 있습니다.
화면 출력을 파일로 리다이렉션 하는 예제
ls -l > list.txt
파일을 화면으로 리다이렉션 하는 예제
sort < list.txt
728x90
'DEV&OPS > Linux & Cloud' 카테고리의 다른 글
CentOS 7 SSH, SFTP 설치 및 포트 변경 (0) | 2022.07.05 |
---|---|
CentOS 7 firewall 와 SELinux 기본 사용법 (0) | 2022.07.04 |
CentOS 7 설치 (0) | 2022.06.29 |
CentOS 7에서 tomcat 8의 로그 파일 catalina.out 를 날짜별 생성 (0) | 2022.06.28 |
리눅스 alias 를 등록해서 단축 명령어를 사용 (0) | 2022.06.28 |