위로 아래

단축키

컨트롤 + c : 하던 거 취소
탭 두 번 누르면 지금 선택할 수 있는 명령어 다 나온다
드래그하고 마우스 우클릭하면 복사 붙여넣기 된다
 
명령줄 명령어
Ctrl + a : 맨 앞으로 이동
Ctrl + e : 맨 뒤로 이동
Ctrl + d : 뒤에 한 글자 지우기
Ctrl + f : 커서 뒤로 한  이동
Ctrl + c : 하던 거 취소
Ctrl + w : 현재 커서 앞에 있는 글씨 전부 삭제
Ctrl + Ins : 복사
Shift + Ins : 붙여넣기
 
 
 


vi 편집기

i  인설트 모드
a 이어쓰기 (현재 커서 위치에서 인설트 모드)
G 맨 뒤로 가기
esc  인설트 모드 나가기
:  편집기 도구 쓰기
wq!  저장하고 나가기
/ 아래로 검색
? 위로 검색
N 검색 중 다음 내용
n 검색 중 이전 내용
set nu 숫자 표시
dd : 한 줄 삭제
 
 
 


주소

절대 주소
/bin/bash/khw
 
상대주소
./ 현재 경로
../ 이전 경로 
.../ 이전 이전 경로
 
 
 
 
 


시스템 명령어

 
reboot
init 6
리부팅
 
shutdown [옵션] [시간] [메시지]
-t 3 : 경고 메시지 전송하고 3초 후에 kill 시그널을 보낸다
-h : 종료할 때 halt 명령어를 수행
-r : 시스템 재부팅
-f : 다음 부팅 시 파일시스템 검사 수행 안 함
 
halt [옵션]
시스템 종료할 때 사용 (옵션 없이 사용하면 사용자들에게 종료 메시지가 전송되고 wtmp 파일에 로그가 기록된다)
-n : sync하지 않고 종료
-w : 실제로 종료하지 않지만 /var/log/wtmp 파일에 기록을 남김
-d : wtmp 파일에 기록 남기지 않고 종료
-f : 강제 종료
 
init [런레벨]
0 : 종료
1 : 단일 사용자 모드 (시스템 복구 시 사용)
2 : 다중 사용자 텍스트 모드 (NFS 사용 불가)
3 : 다중 사용자 텍스트 모드
4 : 사용 안 함
5 : 다중 사용자 그래픽 모드
6 : 재부팅 모드
 
exit
로그아웃
Ctrl + D 도 로그아웃이다
 
iostat
io 상태 체크
옵션
-c : cpu 상태 체크
-d : disk device 상태 체크
-p : device 하나 선택
-x : 확장된 통계
-z : 사용량이 0인 정보는 제외
 
폰트 크기 키우기
setfont sun12x22
setfont latarcyrheb-sun32


권한 명령어

chmod <권한 u +- rwx><파일명> : 파일 권한 변경
chown <변경 사용자><파일명>: 파일 소유자 변경 
chgrp <변경그룹><파일명> : 파일 그룹 변경
 
sudo -i
root 권한 가져오기
 
 


기본 명령어

ls : 리스트 보기
ls -d */  : 디렉토리만 출력
-a : 숨겨진 파일까지 모두 포함한 리스트
-l : 자세히 출력
-h : 파일 크기를 보기 좋게 출력 (바이트를 GB나 KB로 출력)
--full-time : 전체시간 표시
-p : 파일 형태 지시자 추가
-A : 목록에서 .과 .. 제거
-S : 크기 순으로 정렬
-t : 최근에 수정된 파일 순으로 정렬
-r : 순서 뒤집어서 출력
-R : 하위 디렉토리 파일까지 모두 출력
-1 : 한 줄에 하나씩만 출력

 
cat file1 | grep text | sort | uniq > file2
file1 중에 text가 들어 있는 텍스트를 중복제거하여 file2에 저장


pwd
현재 경로
 
history
이때까지 친 명령어 보기

history > text
history를 text라는 파일로 빼서 저장하기
 
mv 
파일 이동 (잘라내기나 마찬가지)
 
리눅스 버전 확인
cat /etc/*release
rpm -qa *-release
cat /etc/issue*
hostnamectl
cat /proc/version
 
 
cp
복사
-r : 하위 디렉토리까지 복사
-a : 설정 내용까지 전부 같이 복사
절대경로 예시
cp /bin/bash/khw /etc (bin/bash 디렉토리의 khw 파일을 /etc 디렉토리로 복사)
cp /bin/bash/khw /etc/ysm (bin/bash 디렉토리의 khw 파일을 /etc 디렉토리로 복사하고 ysm 으로 이름 바꾸기)
상대경로 예시 (지금 bin/bash 디렉토리에 있다고 가정)
cp ./khw /etc/ysm
cp ./khw ../ (khw 파일을 한 부모 디렉토리 밖에 파일 복사)
 
mkdir ./ a 
현재 경로에 a라는 디렉토리 만들기
 
mkdir -p /test1/test2
여러 층의 디렉토리 한 번에 만들기
 
vi ./ a
현재 경로에 a라는 빈 문서 만들기
 
touch ./test
현재 경로에 test라는 빈 파일 만들기
 
echo hello > test.txt
hello라는 내용을 가진 test.txt 파일 생성
 
echo World >> test.txt
test.txt 파일 뒤에 World 텍스트 추가
 
 
find <경로><옵션><동작>
-name 파일명
-type 파일종류
-print : 파일 경로 출력
-ls : 검색 결과 목록 출력
-exec : 검색된 결과에 명령 실행
 
du
특정 파일과 디렉토리의 용량 표시
-s : 합계 표시
-h : 읽기 쉬운 형태로 표시
 
df 
디스크와 파일 시스템의 전체 용량 및 여유 공간 표시
-k : KB 단위 표시
-h : KB, MB, GB 단위 표시
 
rm
삭제
-r : 하위 파일까지 모두 삭제
-f : 물어보지 않고 그냥 삭제 (강제 삭제)
 
tar 
파일이나 디렉터리 압축 또는 그룹화
옵션 없이 사용하면 그냥 그룹화로 용량이 압축되지는 않음. (gizp이나 bzip 압축을 해야 용량도 압축됨)
-z : gzip 압축
-j : bzip 압축
-c : 파일 생성, 묶기
-f : 대상 지정
-x : 압축 풀기
tar -cvf <이름><압축 경로> : 해당 이름으로 압축
tar -xvf <이름> : 현재 디렉토리에 압축 해제
tar -tf <이름> : 압축 풀지 않고 내용 확인
tar -cvg test.tar ./test* : test로 시작하는 모든 파일 및 디렉토리를 묶어서 test.tar이라는 압축 파일 생성
 
cat
파일 내용 보기
-b : 줄번호 출력 (공백 미포함)
-n : 줄번호 출력 (공백 포함)
-v : 제어문자를 ^ 형태로 출력
-e : 제어문자를 ^ 형태로 출력 (각 행의 끝에 $ 추가)
 
more 
cat을 화면단위로 끊어서 출력
-n : 출력 윈도우의 행수 지정
-d : 스페이스바나 q를 누르라는 프롬프트가 뜬다
-p : 스크롤하지 않고 화면을 지우고 출력한다
Space bar : 한 화면씩 넘기기
Enter : 한 줄씩 넘기기
 
less
-? : 도움말 출력
-a : 
 
free
스왑 영역의 용량 및 메모리의 상태 확인
 
lspci | grep -I vga
그래픽카드 확인
 
 
 


심화 명령어

ps
실행중인 프로세스 확인
-e : 실행중인 모든 프로세스의 정보 출력
-f : 프로세스에 대한 자세한 정보 출력 (PPID 등)
 
diff -rq 디렉토리1 디렉토리2
다른 점 비교하기
 
명령어 | grep 검색어
앞의 명령어 실행 결과 중 검색어가 포함된 결과만 출력
-i : 대소문자 구별 X
-v : 해당 검색어만 빼고 출력
-c : 행의 개수 출력

nohub ./file &
(no hang up)
세션과 연결을 종료해도 해당 프로세스를 끄지 않게 하는 명령어
(파일이 755 커미션을 가지고 있어야 한다)
뒤에 &을 써주면 백그라운드 데몬으로 전환하여 더욱 확실하게 끊기지 않도록 할 수 있다

 
selinux 끄기 (Enforce)
sestatus : selinux 상태 확인
getenforce : selinux 상태 확인 (Enforcing : 켜짐 / Permission : 경고 / Disabled : 꺼짐)
setenforce 0 : selinux 끄기
setenforce 1 : selinux 켜기
 
| wc
실행 결과의 개수를 출력
-l : 줄 수 출력 (개수 셀 때 사용)
-m : 문자 수 출력
-w : 단어 수 출력
test.txt | wc -c : 파일의 바이트 수 출력
 
mount
usb 마운트하기
윈도우에서 usb를 FAT32로 포맷 (FAT32는 리눅스에서 패키지 설치 없이 사용 가능)
fdisk -l 맨 밑에서 마운트할 디렉토리 찾기 (/dev/sdb1)
mnt 또는 tmp에 사용할 디렉토리 만들기
mount -t vfat /dev/sdb1 /mnt/usb
umount /mnt/usb 언마운트
 
zcat
압축 파일 내용 보기
 
df
disk free (디스크 용량 남은 공간 확인)
 
du
disk usage (디스크 용량 사용량 확인)
 
rpm
패키지
- i : 패키지 설치
-ivh : 패키지 설치하면서 상세 내역 출력하고 프로그레스는 #으로
--nodeps : 의존성 무시하고 설치
 
-U : 패키지 업그레이드
-Uvh --oldpackage : 다운 그레이드 가능
 
-e : 패키지 삭제
-evh --test : 실제로 삭제하진 않고 삭제 시 문제 생기는지 확인
 
-q : 패키지 정보 확인
-qa : 시스템에 설치된 전체 패키지 목록 확인 ( rpm -qa | grep lgto)
-ql : 설치된 패키지의 경로 확인
rpm -qi 파일명 : 설치된 패키지의 상세 정보 출력
rpm -qip 파일명 : 설치되지 않은 패키지의 상세 정보 출력
 
 
echo
echo 문자열 출력

 
echo 문자열 파일 저장

 
echo 파일 찾기

 
리눅스 reboot 없이 드라이브 rescan하도록 하기
 
set -o vi
밖에서도 vi 편집기 기능 사용 가능
esc 누르고 /검색어 치면 내가 이때까지 친 command 검색할 수 있다
n : 이전 검색어 / N : 다음 검색어
 
ethtool <옵션> <NIC 드바이스 이름>
NIC 정보 확인 (ifconfig로 확인한 디바이스 이름 같이 넣어주어야 한다)
-i : 드라이버, 인터페이스 정보 확인
-S : 인터페이스 통계
-k : 네트워크 디바이스 offload 정보
-p : NIC 후면 LED 켜기
 
ln <원본 파일> <링크된 새로운 파일>
옵션 없음 : 하드 링크
-s : symbolic 링크
 
방화벽 특정 포트 뚫기
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload


네트워크 명령어

vi /etc/sysconfig/network-script/ifcfg-eth0
파일 수정
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.222
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 
 
 
systemctl restart network.service
/etc/init.d/networking restart
네트워크 서비스 재시작
 
ifdown ifcfg-eth0
네트워크 해당 인터페이스 비활성화
ifup ifcfg-eth0
네트워크 해당 인터페이스 활성
 
ifconfig
현재 활성화된 네트워크 인터페이스 정보를 확인할 수 있다. IP주소, 서브넷, 게이트웨이, MTU 크기, 송수신되는 패킷 수, 에러 패킷 등의 정보를 볼 수 있다.
 
ip addr show
ifconfig가 들어있는 net-tools 패키지가 깔려있지 않은 경우 이 명렬어를 통해 네트워크 인터페이스 정보를 확인할 수 있다.
 
telnet IP port : 포트 연결 확인 (ex. telnet 192.168.1.59 7937)
curl -v telnet://192.168.1.59:7937 (telnet 안 될 경우 curl 사용)
 
netstat : open 되어 있는 모든 포트 확인
-l : 모든 수신 소켓을 표시
-t : 모든 tcp 연결 표시
-u : 모든 udp 연결 표시
-p : 포트에서 수신하는 어플리케이션/데몬 이름 표시
-n : 서비스 이름 대신 포트 번호 표시
 
nmcli
네트워크 매니저 (CLI)
nmcli con show
모든 connection 확인
--active : 활성화된 걸로만 확인
 
nmcli con add type bond-slave ifname em3 master bond0
nmcli con add type bond-slave ifname em4 master bond0
nmcli con mod bond0 mode 802.3ad miimon 100
nmcli con down bond0 && nmcli con up bond0
 
 
nmtui
네트워크 매니저 (GUI)
 
 


기타

명령어 --help
명령어 관련 안내
 
명령어 | 명령어 (파이프라인)
명령어 1을 출력하는 화면 중에 명령어 2를 출력.
 
 
/usr/libexec/java_home : 자바 폴더 위치 찾기 (MAC)
readlink -f $(which javac) : 자바컴파일러 위치 찾기