LINUX 명령어
- 기본 명령어
- 사용자 관련
- System 관련
- File 관련
- Network 관련
파일권한-중요
리눅스 파일권한 상식
리눅스 터미널 접속해서 ls –al 사용시 가장 왼쪽의 -rwxrwxrwx 형식의 문자는 현재파일의 권한 설정된 것
참고 : 맨 앞에 문자가 - 일 경우 파일, d 이면 디렉토리, l 이면 링크를 나타냄
r : 읽기권한 = 4
w : 쓰기권한 = 2
x : 실행권한 = 1
- rwxrwxrwx ( 777 )
-r--r--r-- ( 444 )
-rwx--x--x ( 711 )
2~4필드 : 소유주 ( User ) 권한
5~7필드 : 그룹 ( Group ) 권한
8~10필드 : 나머지 ( Others ) 권한
1. 기본 명령어
history - 내가 터미널에서 사용한 명령어 목록 보기
man - 각 명령어에 대한 옵션기능 설명
clear – 청소
! - 명령어는 지정한 명령어의 마지막 명령을 재실행
•문법 예시
![사용했던명령어]
pwd - 현재 내가 머물러있는 경로를 절대경로로 보여준다
ls - 현재 내가있는 디렉토리의 있는 파일 또는 디렉토리 보기
•문법 예시
ls [옵션] [경로]
•옵션
-a 숨김 파일을 포함 모든 파일 디렉토리 출력
-l 지정한 디렉토리의 내용 자세히 출력
-R 하위 경로와 그 안에 있는 파일도 출력
cd - 디렉토리 경로 이동할 때 사용
•문법 예시
cd [이동할 디렉토리 명 또는 경로]
•옵션
cd .. 상위 디렉토리로 이동
cd 또는 cd ~ 어느 곳에서든 자기 홈 디렉토리로 바로 이동
cat - 파일의 내용 전체를 한번에 보여준다.
•문법 예시
cat [파일명]
※ 파일 내부의 내용이 적을 때 cat 내용이 많으면 more사용
more - 내가 현재 터미널을 켠 화면만큼 페이지를 나누어 보여준다.
•문법 예시
more [파일명]
tail - 문서 끝부분 출력하기
•끝을 기준으로 출력 모니터링 가능한 기능
•옵션
tail [n값] 사용자가 n값(+10)을 입력하면 값(+10줄)만큼 출력
-f 실시간으로 로그 확인
head - (파일의 앞부분 출력하기) 윗 부분을 기준으로 출력
•Tail과 동일하나 헤드는 위에서부터 출력
•주로 tail을 자주사용
alias – 명령어 문법 간소화하기 (바로가기)
EX) rm -r 을->rm으로 단축해서 명령어를 보다 편리하게 사용
2. 사용자 관련
useradd - (사용자 계정 만들기)최상위 권한을 가진 계정만 사용
•PW는 root계정에서 생성된 계정으로 접근해 바꾸거나, 타겟으로 지정해 변경가능
•문법예시
useradd [계정명] 또는 Useradd [계정명] –p [패스워드]
•옵션
-u: uid를 지정
-g gid그룹 지정
-s 쉘지정
userdel - (계정 삭제하기)
•문법예시
userdel [옵션] [계정명]
•옵션
-f 삭제중 나는 에러를 무시하고 강제로 삭제
passwd - (암호 변경/입력하기)
•문법예시
passwd -S [계정명]
계정명 특정계정의 패스워드 정보를 보여준다. 단 루트만이 사용할 수 있다.
passwd -d 계정명
유저계정으로 로그인 할 경우 이 역시 패스워드 없이 로그인이 가능해진다
id - (계정 정보 확인)현재 터미널에 Access한 계정 확인
su - (계정 바꾸기)
•문법예시
su [계정명]
•옵션
su – 일반계정에서 루트 계정으로 변환
su – user 이 같이 하면 user의 환경변수를 가져와 사용자 전환 –을 빼면 사용자의 환경변수를 유지하고 user로 전환
3. System 관련
date - (날짜 보기) EX) 2015년 08월 13일 목 오전 xx:xx:xx
cal - 달력 보기
env – PATH(환경변수)목록 출력
help - 도움말 보여주기
df - 파일 시스템의 사용량 보기
•옵션
-k kbyte 남은 용량 출력
-h보기 좋게 출력
time – 명령어 실행시간에 대해 출력
•real은 걸린 총시간 user는 유저의 걸린시간 sys는 시스템에서 걸린시간
•문법 예시
time [옵션] [수행할 값]
exit - 종료하기
•터미널에서 user명을 open -> simi -> ter 이렇게 접근했다 가정하면 exit를 입력 시 ter에서 simi로 전 단계로 내려감 전부 내려가면 프로그램종료
ps - 프로세스 상태 알기
•비슷한 문법으로 ps –e | grep 파일명 파일을 포함한 프로세스를 검색할 수 있다.
•문법예시
ps [옵션]
•옵션
-e 모든 프로세스 출력
-f 프로세스의 상세정보
kill - 프로세스 죽이기
•현재 리눅스 내의 작동하는 프로세스를 종료시킨다.
•문법 예시
kill [옵션] [시그널번호or 시그널이름]
•옵션
-9 강제종료
-15 작업종료
top - 시스템 상태 확인)cpu상태 등 상세한 상태확인 가능
•원하는 프로세스만 보기
•top | grep “프로세스명”
4.File 관련
ln - 링크하기 alias는 명령어 함축, ln은 경로에 대한 함축으로 혼동X
•문법예시
ln [옵션] [디렉토리경로] [링크명]
•옵션
-s 심볼릭 링크(바로가기 기능과 비슷)본문내용을지우면 링크는 의미가 없어짐
옵션 선언 안하면 하드링크
하드링크 = 링크 파일에 대한 파일 내용과 동일하게 복사
mkdir - 디렉토리 만들기
•문법예시
mkdir [옵션] [디렉토리명]
•옵션
-p 디렉토리 생성시 하위 디렉토리까지 함께생성
rmdir - 디렉토리 지우기
•디렉토리만 지우는데 내부에 파일이 존재할 시 지우지 못함
•문법예시
rmdir [디렉토리명]
rm - (파일 지우기) 파일을 삭제할 시 y/n으로 구분해서 지움
•EX) rm [옵션] [파일명, 디렉토리 위치]
•옵션
-r 일반 파일이면 삭제 디렉토리면 디렉토리 포함한 하위 경로와 파일을 모두 삭제
-f 삭제 하겠냐는 y/n 문구가 없이 바로삭제
mv - 파일이동 또는 이름변경
• 문법예시
mv [옵션] [파일원본] [이동할위치] =동일디렉토리경우 파일명변경
mv [옵션] [파일원본] [디렉토리] = 다른 디렉토리 지정 시 이동
mv [옵션] [디렉토리] [디렉토리] = 다른 디렉토리 지정 시 이동
mv [옵션] [디렉토리] [디렉토리] = 동일 디렉토리 경우 디렉토리명 변경
• 옵션
-b 백업 파일 만들기
-f 대상 파일 있어도 강제 삭제
touch - 사이즈가 0인 파일 생성
•문법예시
touch [옵션] [생성할 파일명]
•옵션
-c 시스템의 현재시간으로 파일시간을 변경
-t 특정 파일의 시간정보변경
-r A파일의 시간정보를 B파일에 동일하게 적용
vi - 파일 내용 수정 및 파일 생성
•문법 예시
vi [파일명]을 입력하면 파일의 내용을 확인할 수 있는 설정 창이 뜸
unalias - 명령어 간소화 삭제하기
•alias로 설정했던 명령어를 삭제한다.
•문법 예시
Unalias [설정했던 명령어]
tar - (파일 묶기)
•문법예시
tar [옵션] [압축할이름.tar] [압축할파일] [압축할파일]복수선택가능
•옵션
-c 파일을 tar로 묶음
-v 묶거나 풀 때 과정을 출력
-f 파일이름지정
-t 압축파일의 목록을 보여줌
-x tar압축풀기
cp - 파일 복사하기
•문법예시
cp [옵션] [복사할 대상] [복사할 위치]
•옵션
-r 디렉토리 복사경우 하위 디렉토리 및 파일을 모두 복사
-p 원본파일의 모든항목(소유주,그룹,권한,시간정보)그대로복사
-a 원본파일의 속성, 링크정보를 유지 복사
wc - 문자, 단어, 라인 수 세기 현재 디렉터리내 개수 카운트(자주사용옵션-l)
•문법예시
wc [옵션] 파일명
•옵션
-c 문자개수만 파악
-w 단어의 개수 파악
-l 행의 숫자를 알고 싶을 때 사용 혹은 개행문자의 개수를 알고자 할 때 사용
find - (파일 찾기)
•문법예시
find [옵션] [‘찾을값’] [옵션]
find / -name ‘.bash*’ -ls =전체 하드에서 파일명 .bash로 시작하는 모든 파일 찾기
find –name ‘.bash*’현재 디렉토리에서 bash파일로 시작하는 모든 파일 출력
| - (Pipe) 구분자
•명령어와 명령어 사이를 구분해준다. 복수의 명령어를 합쳐 쓸 수 있는 구분자
grep - (특정 문자(열) 검색하기) 사용자가 지정한 문자에 한해서만 결과 출력
•문법예시
grep [찾을 문자] [특정 파일명]
•옵션
-n 문자열이있는 라인과 문장 앞에 라인번호 출력
grep ‘^b’ [찾을값] 찾을 데이터에서 b로 시작하는 줄을 보여준다.
chmod - (파일 권한 바꾸기) 위의 참조내역 숙지 후 사용
•상단의 파일권한을 참조하여 해당파일의 권한을 설정할 수 있다.
•문법예시
chmod [옵션] [권한설정해줄값] [파일또는디렉토리]
•옵션
-R : 하위 폴더까지 권한을 바꿈
chown - (파일 주인 바꾸기)
•변경이 되려면 파일에 대한 소유권이 있어야만 가능
•문법예시
chown [변경될 소유주명] [파일명]
diff - (두파일에 대해 비교하여 틀린부분만 출력 라인위치도 보여준다.
•문법예시
diff [비교할 파일] [비교할 파일]
5.Network 관련
ifconfig - (IP 주소 확인 및 할당)
netstat - (현재 네트웍 상황 보기)
(해결사례)컨테이너가 조회가 되지 않는 상황에서 네트워크로 추적하여 해결한 사례
- 넷스테이트는 해당 프로세스의 소유주가 아닐경우 조회가 불가능함.
- 프로세스목록으로 추적가능 -> 해당 Pid값을 알아내
- 해당 pid로 history 검색하여 명령어 추적하여 기동실행가능
- 인수인계 누락 터득한 방법
-재기동 랜덤포트 점유 지정포트만쓰자..
ping - (네트웍 확인하기)
•문법예시
ping [옵션] [IP주소]
ctrl + c하면 탈출
hostname - 현재 접근한 서버명 출력
telnet - (서버 원격 접속)
•문법예시
•telnet [ IP주소]
•접속후 로그인계정 패스워드 입력해서 원격접속
ftp - (서버 원격 파일 전송)
• 문법예시
• ftp [IP주소,도메인주소] ->접속후 계정과 패스워드를 입력
• get은 원격접속한 서버의 파일을 다운로드
• put은 원격접속서버에 파일을 업로드
리눅스 내 base64 인코딩 디코딩옵션 인코딩 시 csv 또는 각종확장자로 컨버팅가능
스크립트 구성방법 chmod -755 권한 부여하고 .sh 스크립트 구성
Comments