일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 레드햇 버전확인
- 부자의 그릇 요약
- AIX 버전확인
- 메타버스 용어
- javascript redirection code
- 롤오버 기간을 설정한 비밀번호 마이그레이션 방법
- AIX NAS NFS
- 무료 이미지 제공 사이트
- 잘라내기 단축키
- 윈도우 10 프리징 해결하기
- 엑셀에서 콤마를 제외한 숫자 개수 세기
- 오라클DB팁
- 삼성멀티캠퍼스SQL
- 윈도우 10 슬라이드 종료 단축키 만들기
- OpenSSL 업데이트
- 한글 기호 자동변환 해제
- 업무에 바로 쓰는 SQL
- AIX NFS
- 복사 단축키
- 오라클팁
- 작업표시줄 먹통현상 해결하기
- net user 사용법
- 붙여넣기 단축키
- 스타워즈 영화 감상 순서
- 헤드퍼스트SQL
- 금리와 물가와의 상관관계
- 윈도우10 먹통현상 해결하기
- ie모드 해제
- 바탕화면에 원격 데스크톱 연결 바로가기 만들기
- POP폰트
- Today
- Total
Today is Present.
01 리눅스 시스템관리 기초실무 본문
# 로그인 공지사항 관리하기
/etc/issue : 콘솔 접속 시도시 보여줄 메시지 파일 (로그인 전)
/etc/issue.net : 원격접속시 보여줄 메시지 파일 (로그인 전)
/etc/motd : 로컬접속, 원격접속 로그인 후 보여줄 메시지 (로그인 후)
# 커널 버전 및 배포판버전 확인하는 방법
[root@localhost ~]# uname -a
[root@localhost ~]# uname -r
[root@localhost ~]# cat /proc/version
[root@localhost ~]# cat /proc/sys/kernel/osrelease
[root@localhost ~]# rpm -qa | grep kernel
# 설치된 전체 패키지를 확인하는 방법
[root@localhost ~]# rpm -qa | grep kernel
[root@localhost ~]# rpm -qa | wc -l # wc 명령어는 단어, 문자, 행의 개수를 반환하는 명령어
# 특정 패키지가 설치되어있는가 확인하는 방법
[root@localhost ~]# rpm -qa | grep samba
# 특정 패키지에 의해서 어떤 파일들이 설치되었는가를 확인하는 방법
[root@localhost ~]# rpm -ql vsftpd-2.0.7-1.fc10.i386
# 특정파일이 어떤 패키지에 의해 생성되었는가를 확인하는 방법
[root@localhost ~]# rpm -qf /bin/ps
# 각각의 패키지 설명과 함께 설치된 전체 패키지리스트 확인하는 방법
[root@localhost ~]# rpm -qa --queryformat "%{NAME} : %{Summary}\n"
[root@localhost ~]# rpm -qa --queryformat "%{NAME} : %{Summary}\n" | more
[root@localhost ~]# rpm -qa --queryformat "%{NAME} : %{Summary}\n" > rpm_list.txt
# 쉘프롬프트 모양을 바꿔보자
[root@localhost ~]# env # 환경변수 확인하는 명령어
[root@localhost ~]# echo $PS1 # PS1 변수의 값을 확인한다.
[\u@\h \\]\\$
# PS1 변수의 값
[ : "[" 자체를 그대로 나타냄
\u : 현재 사용자를 의미함
@ : "@" 기호 자체를 나타냄
\h : 현재 시스템의 호스트명을 의미함
\H : 현재 시스템의 도메인명 표시함
\W : 현재 위치의 절대경로가운데 현재 디렉토리명만 나타냄
\w : 현재 디렉토리의 전체 절대경로를 모두 표시함
] : "]" 자체를 그대로 나타냄
\\$ : root(UID가 0이면) 이면 #을 표기하고 일반사용자라면 $을 표시함
# PS1 변수에 사용되는 기호들
\t : 24시간제로 현재시간을 표시함, 즉 "HH:MM:SS"
\T : 12시간제
\@ : 12시간제로 현재시간을 "오전/오후" 형식으로 표시함
\d : 현재 날짜를 나타냄
\s : 현재 사용중인 쉘의 이름을 나타냄
\v : 사용중인 bash 의 버전
\V : 사용중인 bash의 배포, 버전+패치수준으로 버전을 상세히 표시함
\# : 접속한 순간부터 사용한 명령어의 번호를 1번부터 차례대로 표시함
# PS1 변수를 변경하는 방법
[root@localhost ~]# echo $PS1
[\u@\h \W]\\$
[root@localhost ~]# export PS1 = "[\y@\h \w]\\$
# 쉘프롬프트 모양을 한번 바꿔서 지속적으로 계속 사용하기
[root@localhost ~]# cat /home/morphys/.bashrc
[root@localhost ~]# vi /home/morphys/.bashrc
편집하여 맨 끝에 다음을 추가한다.
PS1 = "[\y@\h \W]\\$
# 리눅스 시스템이 외부의 ping 에 응답하지 않도록 설정하는 방법
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@localhost ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=1
[root@localhost ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@localhost ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=0
# 특정프로세스 확인과 동시에 죽이기
[root@localhost ~]# ps -ef | grep vsftpd
[root@localhost ~]# kill -9 2389
[root@localhost ~]# ps -ef | grep vsftpd
방법 1 : killall "프로세스명"
방법 2 : ps -ef | grep "프로세스명" | awk '{print $2}' | xargs kill -9
# 리눅스 시스템 제어판 디렉토리 : /etc/sysconfig
# 리눅스 콘솔에서 한글사용하는 법
[root@localhost ~]# cat /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.ITF-8:ko_KR:ko"
# 기본적인 시스템 정보 확인하기
[root@localhost ~]# uname -a
[root@localhost ~]# uname -s // 운영체제 이름만 확인
[root@localhost ~]# uname -n // 호스트네임 정보만 확인
[root@localhost ~]# uname -r // 커널 버전 확인
[root@localhost ~]# arch // 현재 시스템 HW 아키텍처
[root@localhost ~]# uname -m // 현재 시스템 HW 아키텍처
[root@localhost ~]# cat /proc/version
# ls -al 중 디렉토리 리스트만 확인하기
[root@localhost ~]# ls -al | grep "^d"
# 설정된 별칭명령어 해제하기
[root@localhost ~]# unalias 별칭명
[root@localhost ~]# unalias -a
# 원격접속하는 ssh 명령어 별칭 설정하여 사용하기
[root@localhost ~]# alias server251='ssh -l morphys 192.168.0.251'
[root@localhost ~]# alias ncftp251='ncftp -u morphys 192.168.0.251'
[root@localhost ~]# server251
[root@localhost ~]# cat /root/.bashrc
[root@localhost ~]# vi /root/.bashrc 편집 후 alias 추가하기
# 특정문자열에 가장 가까운 명령어 재사용하기
[root@localhost ~]# history 10
[root@localhost ~]# !find // !문자열
find / -name system-config*
# 전문가들이 사용하는 명령어 재사용 방법
"1-n" : 현재 명령행에서 n개수를 뺀 행의 명령어를 가리킨다.
"!?문자열[?]" : "문자열"을 가리키는 가장 최근의 명령어를 가리킨다.
"^문자열 1^문자열 2" : 최근 사용명령어 가운데 "문자열 1" 이 들어가는 명령어를 찾아서 "문자열 1"을 "문자열 2"로 치환하여 재실행한다.
# 명령어히스토리와 시스템보안 중 현재 서버에 존재하는 모든 .bash_history 파일 찾기
.bash_history 파일에는 그 사용자가 최근 사용했던 1,000개의 명령어들이 저장되어 있다.
[root@localhost ~]# find / -name .bash_history -exec ls -l {} \;
[root@localhost ~]#
# 명령어리스트 다른 파일에 저장하기
[root@localhost ~]# history -w morphys_command.txt
# 명령어 재사용하는 가장 쉬운 방법
[root@localhost ~]# ls -l morphys_command.txt
[root@localhost ~]#
[root@localhost ~]# !!
# 최근 사용했던 8개의 명령어만 확인하기
[root@localhost ~]# history 8
# 저장된 명령어 탐색하여 재사용하는 방법
[root@localhost ~]# history | grep find
80 find / -name system-config-
105 find/ -name system-config*
965 find / -name system-config*
[root@localhost ~]#
[root@localhost ~]# !105
# 호스트네임 확인하는 여러가지 방법
[root@localhost ~]# hostid
[root@localhost ~]# hostname
[root@localhost ~]# echo $HOSTNAME
[root@localhost ~]# hostname
centos.net
[root@localhost ~]#
[root@localhost ~]# hostname www.linux.ac.kr
[root@localhost ~]#
[root@localhost ~]# hostname
[root@localhost ~]#
# 재부팅시 원상 복귀가 된다. 따라서 /etc/sysconfig/network 파일의 HOSTNAME 부분을 변경해야 한다.
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=www.linux.ac.kr
GATEWAY=192.168.42.103
[root@localhost ~]#
# 누가 언제 접속했는가 ? 사용자 접속정보 확인하기
[root@localhost ~]# last // var/log/wtmp 파일에는 모든 계정사용자들의 접속정보와 부팅정보 있다.
[root@localhost ~]# last 사용자명
[root@localhost ~]# last -t YYYYMMDDHHMMSS
[root@localhost ~]# last -t 20140101123031
[root@localhost ~]# last reboot // 시스템 재시작했던 기록만 보여준다.
[root@localhost ~]# last -a // last 결과 중 IP 주소를 해당 행의 마지막열에 표시
[root@localhost ~]# last -d // 외부 접속 정보만 확인
# 시스템 사용자들에 대한 최근 접속정보를 확인
[root@localhost ~]# lastlog // lastlog 는 /var/log/lastlog 파일의 정보에 저장된다.
// /var/log/wtmp 파일은 last 명령어로 확인하고 /var/log/lastlog 파일은 lastlog 명령어로 확인
[root@localhost ~]# lastlog -u 사용자ID
[root@localhost ~]# lastlog -b N // 지정한 N일 이전에 접속한 마지막 접속정보만 확인
[root@localhost ~]# lastlog -t 일자 // 최근 명일 전부터 현재까지의 마지막 접속정보 확인
[root@localhost ~]# lastlog -u 사용자ID -b N
[root@localhost ~]# lastlog -u morphys -b 5 // morphys 사용자의 최근 5일 이전부터 현재까지
[root@localhost ~]# lastlog -t 10 // 최근 10일 전부터 현재까지의 접속한 기록
# 시스템 관리 작업내용을 모두 텍스트 파일로 자동저장하기 : script and exit
[root@localhost ~]# script
... 작업 ...
[root@localhost ~]# exit
[root@localhost ~]# cat typescrypt
# 스크립트 파일명 지정
[root@localhost ~]# script command.txt
... 작업 ...
[root@localhost ~]# exit
[root@localhost ~]# ls -l command.txt
[root@localhost ~]# cat command.txt
# 기존 파일에 추가하여 스크립트 기록하기
[root@localhost ~]# script -a command.txt
... 추가 작업 ...
[root@localhost ~]# exit
# 로그인 후 작업내용을 자동으로 저장하기 : .bashrc 파일의 마지막에
script /tmp/./../../working_note.txt 와 같은 형식으로 저장해둔다.
그리고 .bash_logout 파일에는 exit 를 넣어둔다.
# 실행파일 또는 바이너리 파일에서 문자열 검색 : strings
[root@localhost ~]# file /etc/mail/access.db
[root@localhost ~]# strings /etc/mail/access.db
[root@localhost ~]# file /etc/mail/virtusertable.db
[root@localhost ~]# strings /etc/mail/virtusertable.db | grep .co.kr
[root@localhost ~]# strings /etc/mail/virtusertable.db | grep .net
[root@localhost ~]#
[root@localhost ~]# file /var/log/wtmp
/var/log/wtmp: data
[root@localhost ~]#
[root@localhost ~]# strings /var/log/wtmp | grep 192.168.0.251
192.168.0.251
[root@localhost ~]#
# sync 작업을 하지 않고 시스템을 종료하려면
[root@localhost ~]# poweroff -n
# 시스템 부팅메시지 확인하는 방법
[root@localhost ~]# vi /var/log/dmesg
[root@localhost ~]# grep CPU /var/log/dmesg
[root@localhost ~]# /bin/dmesg
[root@localhost ~]# dmesg | grep Memory
'리눅스 학습' 카테고리의 다른 글
05 파일검색과 명령어검색 실무 (0) | 2020.11.30 |
---|---|
04 파일과 디렉토리 관리실무 (0) | 2020.11.30 |
03 리눅스 시스템 날짜와 시간관리 실무 (0) | 2020.11.30 |
02 리눅스 네트워크 관리 실무 (0) | 2020.11.30 |
00 이것이 리눅스다(Red Hat CentOS 7) (0) | 2020.11.25 |