< 파일 이동 or 이름 변경 >
# mv [출발지] [목적지]
mv ReadMe.txt /home/test/
ReadMe.txt 파일을 /home/test 디렉토리로 이동시킨다.
이름을 바꿀 때도 사용된다.
mv ReadMe.txt WriteMe.txt
원본의 이름이 WriteMe.txt로 바뀐다.
< 리눅스 버전 확인하기 >
# cat /etc/*release
=====================
CentOS Linux release 7.2.1511 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.2.1511 (Core)
=====================
< 설치 명령어 >
설치하고자 하는 유틸리티는 *net-tools*라고 가정한다.
* net-tools : 네트워크와 관련된 명령어모음 패키지 - ifconfig & netstat etc...
<레드햇계열>
yum -y install net-tools
rpm -Uvh http://....
rpm 옵션
U : 패키지 설치 /업그레이드
v : 설치과정 확인
h : 설치진행과정을 화면에 출력
yum은 rpm과는 다르게 의존성있는 파일까지 모두 다운한다.
<데비안계열>
apt-get update - 패키지 최신화
apt-get -y install net-tools
<페도라> (페도라22부터는 yum 대신 dnf를 씁니다)
dnf -y install net-tools
< 방화벽 명령어 >
<< 방화벽 규칙 추가 >>
firewall-cmd --permanent --zone=public --add-port=80/tcp
80/tcp 포트를 개방한다.
<< 방화벽 규칙 제거 >>
firewall-cmd --permanent --zone=public --remove-port=80/tcp
<< 방화벽 재시작 >>
firewall-cmd --reload 또는 systemctl restart firewalld
firewall-cmd --state
현재 방화벽의 상태
(동작중인지 확인)
firewall-cmd --zone=public --list-all
(방화벽에 설정된 규칙을 확인)
< 사용했던 명령어 기록 보기 >
history
< 터미널 폰트 크기 바꾸기 >
기본 폰트로 바꾸기 - setfont
특정 폰트로 바꾸기 - setfont 폰트명-규격
ex ) setfont sun12x22
< gcc 컴파일 >
gcc -o 실행파일 소스
ex ) gcc -o test test.c
< 마운트 >
마운트를 할 디렉토리를 만들어준다(/mycdrom/)
mount /dev/cdrom /mycdrom/
/dev/cdrom은 시디롬정보를 담고있는 파일이다.마운트를 할 때 아래와 같은 문구가 뜰 수도 있다.mount : block device /dev/cdrom is write-protected, mounting read-only
마운트 시키면 읽기 권한이 발생한다는 내용이다.저 오류가 발생하지 않게 하려면 -o ro( read-only ) 옵션을 사용한다.마운트해제는umount /mycdrom/CD 꺼내기는 eject - cd 잘 안나올 때 이거 쓰면 열리기도 함..HW적으로는 CD ROM 고무링 문제이므로 옆에 조그마한 구멍같은거 쑤시면 열림.※ 주의마운트가 된 디렉토리에서 마운트 해제 작업을 하면 사용중이기 때문에해제 되지않아서 오류메시지가 뜬다.
< tar >
tar : 아카이브를 만들거나 풀 때 사용하는 명령어
<< 옵션 >>-c --create새로운 아카이브를 생성한다.-x --extract아카이브에 묶인 파일이나 디렉토리를 풀어준다.-f --file아카이브 파일의 이름을 지정해 주는 옵션.-v --verbose아카이브에 추가되거나 풀리고 있는 파일의 이름을 화면에 보여준다."ls -l" 과 같은 형식으로 파일을 보려면 v를 두번 써준다.-t --list아카이브의 내용(묶인 파일이름)을 보여준다.<< 묶기 ( create ) >>$ tar cvf 생성 파일명.tar 대상 파일명(또는 대상 디렉토리)
※ tar 명령으로 파일을 묶을 때는 디렉토리 단위로 묶습니다.
<< 풀기 ( extract ) >>
$ tar xvf 생성 파일명.tar
> test.tar.gz 풀기
tar zxvf test
< ftp >
ftp 서버ip
만약 서버의 포트를 입력하려고 할 때
ftp를 실행한 후
ftp) open ip port
[예시]
ftp) open 123.123.123.123 3000
< wget , curl >
wget http://url...
해당 url로부터 파일을 다운받는다.
> wget을 통해 ftp(id/pw 존재) 서버에 있는자료를 가져올 때
# wget --ftp-user=USERID --ftp-password=PASSWORD
ftp://123.123.123.123:3000/read.txt
> wget을 전체 웹 사이트 긁어오기
-r(recursive) - 하위디렉토리에 있는 것들을 모두 긁어온다.
--adjust-extension - 내용 유형에 따라 파일 이름 (html 또는 css)에 적절한 확장자를
추가한다.
# wget -r --adjust-extension http://url...
WGET 완벽정리 - http://swstyle.tistory.com/23
cURL은 url을 전송하는 명령으로 wget과 유사한 기능을 가지고 있다.
wget은 대용량인 파일 다운로드를 지원하는 반면
curl은 단일 파일 전송에 적합하게 설계되었다.
> curl을 통해 공인ip사이트에서 ip얻어오기
# curl http://ipinfo.io/ip
123.123.123.123
<옵션>(L : 해당 사이트 주소가 바뀌어서 redirect 되면 추적해서 다운로드한다.O : 파일 다운로드, [없으면 html 파일이 다운로드 된다])
< SElinux(리눅스에 적용된 보안 시스템) on/off >
setenforce 0 (selinux 끄기)
setenforce 1 (selinux 켜기)
<<영구적으로 끄기>>
# vi /etc/selinux/config
SELINUX=disabled
< 데몬설정 - systemctl >
# systemctl stop : 데몬 종료
# systemctl start : 데몬 시작
# systemctl restart : 데몬 재시작
# systemctl status : 데몬 상태 확인
# systemctl enable : 부팅시 자동 시작
# systemctl disable : 부팅시 .. X
# systemctl is-enabled : enabled 동작 확인
# systemctl is-active : 현재 동작상태인지확인
# systemctl list-units : 등록된 서비스 확인
< crontab - 예약작업(일정 시간 마다 명령 실행) >
<< 옵션 >>
-e [ cron 편집창 ]
-l [ cron 리스트 ]-r [ cron 스케줄 삭제 ]-편집창-* * * * * [실행할 명령어]첫 번째 필드 : 분(0-59)두 번째 필드 : 시(0-23)세 번째 필드 : 일(1-31)네 번째 필드 : 월(1-12)다섯번째 필드: 요일(0-6) [sunday = 0]
ex)1. 5분마다 date 기록*/5 * * * * * date >> date.log 2>&12. 30분, 새벽 1시와 낮 12시, 모든 일, 모든 월, 모든 요일/var/www/html에 존재하는 모든 log 파일 삭제30 1,12 * * * rm -f /var/www/html/*.log
< rsync - 서버간 동기화(백업) >
<< 옵션 >>
-a 아카이브 모드
-v 백업진행과정 보기
-z 압축해서 전송
-P 전송과정 보기
rsync(remote
synchronization)는증분백업 기능을 제공한다.
증분백업이란 전체 백업 또는 변경된 사항을 선택적으로 백업하는 방식이다.
ex)
1. orign 디렉토리에 있는 파일들을 backup 디렉토리로 동기화한다.
# rsync -av /orign/ /backup
만약 orign 디렉토리안에 파일이 수정되거나 삭제가 일어나면
변경된 부분만 동기화 시켜준다.
2. A와 B 서버간의 동기화.
(B서버의 /rsync/ 디렉토리를 A서버의 /orign/ 디렉토리로 동기화 )
B서버 IP : 192.168.0.61
계정 : jim0316
# rsync -azP /orign/ jim0316@192.168.0.61:~/rsync/
A서버의 orign 디렉토리 변경사항이 원격지에 있는 상대 서버에 rsync 디렉토리에 적용된다.
< chown - 파일 소유주 변경 >
사용법 chown [ -옵션 ] [ 소유자 ] : [ 그룹 ] [ 파일명 ]
<< 옵션 >>
-R 하위폴더에 모든 파일들도 적용한다.
ex) file1을 user1 소유주의 group1로 변경
# chown user1:group1 file1
< awk - 필드 단위 패턴 검색 >
사용법 awk [-f 프로그램파일] [-F 필드구분자] ["패턴{액션}"] [처리할 파일명]
ex) awk -F: '{print $1,$2,$4}' ./text.txt
text.txt
a:b:c:d
e:f:g:h
i:j:k:l
출력값
a b d
e f h
i j l
< 비프음 제거 >
1. Bash Shell 사용 시 명령어 오입력 비프음 제거
setterm -blength 0
setterm은 터미널의 속성을 설정하는 명령어로써
blength [0-2000] : 마이크로 초 단위로 벨 시간을 지정한다. 기본값은 0이다.
대신 위 방법은 리눅스를 종료할 때와 로그인 화면에서는 비프음이 난다.
2. 스피커 드라이버 제거
modprobe -r pcspkr
위 명령을 치면 PC 스피커 드라이버를 막아서 리눅스 사용하는 내내 소리가 나지 않는다.
< 화면 지우기 >
1. clear
2. ctrl + l (명령어 history에 안남음)
< 로그 보기 >
https://blog.naver.com/tkdldjs35/221113470421
< 리눅스 비트 확인 >
uname -m
< 파일 특정 행 지우기 >
1. 제거
sed '/1.2.3.4/d' ip.txt > tmp_ip.txt
ip.txt 파일에서 1.2.3.4 텍스트를 찾은 행을 모두 삭제하고 나머지 결과값을 tmp_ip.txt에 저장
2. 적용
cat tmp_ip.txt > ip.txt
< 자동 업데이트 끄기 >
백그라운드로 새로운 패키지를 자동 업데이트하는 기능을 끄는 법.
systemctl disable dnf-makecache.service
systemctl disable dnf-makecache.timer
< 런레벨 관리 >
● Single Mode (Run-Level 1)
응급 부팅 및 시스템 복구 시에 사용됨.
# systemctl rescue
● Multi-user Mode (Run-Level 3)
TUI(Text User Interface) 환경을 제공함.
# systemctl isolate multi-user.target
# systemctl isolate runlevel3.target
● Graphical Mode (Run-Level 5)
GUI(Graphic User Interface) 환경을 제공함.
# systemctl isolate graphical.target
# systemctl isolate runlevel5.target
● Run-Level 기본값 설정
set-default 옵션을 사용하여 Run-Level 기본값을 설정한다.
get-default 명령어로 현재의 Run-Level을 확인한다.
# systemctl set-default multi-user.target
# systemctl get-default
multi-user.target
< 파일 시스템 만들고 레이드 구성 >
● 리눅스 파일 시스템 만들기
◎ 파티션 초기화
fdisk /dev/sdb
u - 파티션 생성
그 후 계속 엔터 - 기본 값으로 다 설정.
w로 저장.
◎ 파일 시스템 만들기
mkfs -t ext4 /dev/sdb1
◎ 마운트 포인트 지정
mkdir /data1
mount /dev/sdb1 /data1
◎ 자동 마운트
vi /etc/fstab에 들어가서
맨 끝에다가 아래 내용을 추가한다.
/dev/sdb1 /data1 ext4 defaults 0 0
● 리눅스 레이드 구성
fdisk로 일일이 파티션을 지정 해줄 필요 없다.
파티션 정보를 덤프파일로 뜨고 덮어씌우는 sfdisk 명령어를 입력하면 된다.
레이드를 구성하기 위해서
첫 번째 드라이브는 fdisk에서 t옵션을 주고
id(hex) 값을 fd로 설정헌다.
◎ sfdisk(디스크 파티션 테이블을 백업하거나 복사한다)
sfdisk -d /dev/sdc > /tmp/sdc.dmp
$ sudo sfdisk -d /dev/sda > sda-table
파티션 테이블을 파일로 복사
$ sudo sfdisk /dev/sda < sda-table
파일로부터 파티션 테이블을 복구
$ sudo sfdisk -d /dev/sda | sfdisk /dev/sdb
디스크에서 다른 디스크로 파티션 테이블 복사
◎ 레이드 구성
$ mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
mkfs ext4 /dev/md0
mdadm --detail /dev/md0
// sdb와 sdc를 레이드(md0)로 구성하고 장치 내역을 출력한다.
< CUI 환경에 텍스트기반 웹브라우저 설치하기 >
yum -y install lynx
lynx google.com
< nslookup 설치 >
yum -y install bind-utils
< 화면 보호기 끄기 >
▷ 일시적인 꺼짐 방지 - 재부팅하면 초기화됨.
$ sudo xset s off
$ sudo xset -dpms
$ sudo xset s noblank
▷ 영구 적용
$ sudo vi /etc/lightdm/lightdm.conf
[SeatDefaults]
xserver-command=X -s 0 -dpms
< 파일 찾기 >
updatedb
locate sample.txt
updatedb를 통해서 파일 색인.
그 후 locate 명령을 통해 이름만으로 파일 찾기.
< root 로그인 허용 >
auth.log는 사용자 로그인이나 사용된 인증방법 같은 시스템 인증 정보가 기록되어
root 로그인 실패 이유를 가늠해볼 수 있다.
# tail -f /var/log/auth.log
※ root 접속 허용
# vi /etc/ssh/sshd_config
# PermitRootLogin probibit-password
PermitRootLogin yes
# service ssh restart
# service ssh status
# ssh localhost
root 권한으로 ssh 서비스에 로그인 가능 여부 확인.
< alias(명령어 별칭) >
특정 명령어를 다른 명령어의 이름으로 대채하여 사용할 수 있는 유용한 기능이다.
명령어가 너무 길다면 alias를 사용하는 것이 좋다.
# alias [별칭]=[적용할 대상 명령어]
1. vi가 열릴 때 자동으로 set nu가 설정되도록 한다.
# alias vi="vi -c \"set nu\""
2. 바탕화면 이동하는 별칭 d를 만든다.
# alias d="cd /root/Desktop"
d를 실행하면 바탕화면으로 이동된다.
< 실행중인 서비스 목록 조회 >
service --status-all
ex) service --status-all | grep "apache"
+로 조회되면 해당 서비스는 on인 상태이다.
< 특정 텍스트가 존재하는 파일 검색 >
해당 디렉토리에서 "hi everyone" 텍스트가 존재하는 모든 파일 검색하기
ls -al | grep -R "hi everyone"
< 명령어 반복 실행 >
2초마다 특정 명령을 수행한다.
watch ls -al
'OS-서버 > 리눅스-유닉스' 카테고리의 다른 글
[리눅스] DNS(네임서버) 구축 (0) | 2017.07.03 |
---|---|
[리눅스] 아파치 웹서버 구축 - 포트포워딩 (0) | 2017.06.21 |
하드링크 & 심볼릭링크 (0) | 2017.05.31 |
Centos7 네트워크 장치 이름 변경 (0) | 2017.05.23 |
리눅스 패스워드 초기화 (0) | 2017.05.19 |