일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- php 시큐어코딩
- 폼메일
- chart.js
- mysql
- 자바스크립트
- dovecot
- Mail Server
- 설치
- 안드로이드
- WebView
- 안드로이드 푸쉬
- not working
- C#
- PHP
- roundcube
- xe
- C# IO
- soundpool
- javascript
- curl
- 안드로이드 gcm
- 우분투
- FCM
- html5
- php 취약점
- 자동 생성
- 안드로이드 푸시
- android 효과음
- UML
- Today
- Total
그러냐
리눅스 기본명령어 본문
http://blog.naver.com/rosekingdom/60001405631
기본적인 명령어
#ls (-l,-a):각 루트상에서 디렉토리 및 파일을 출력한다. 도스의 dir과 같은 명령..
#pwd 현재 디렉토리경로
#df :리눅스파티션을 보고자할 때 사용.
#cd ..상위디렉토리로 이동
#cd 폴더/해당디렉토리로 이동
#vi 편집명령어
#cat 내용출력
#du -sh 남은 용량확인법
#chmod 권한설정
#tar :압축명령(옵션)
#gzip :이중압축명령(옵션)
디렉토리 이동명령
일반적으로 디렉토리나 파일이 많을 경우 자신이 어디에 위치에 있는지 그리고 직접적으로 디렉토리로 다이렉트로 이동해야 하는경우가 많아진다... 디렉토리 이동명령을 통해 바로이동할수있는 것이 숙제
예) # cd /home 홈디렉토리로 바로이동하기.....
# ls -l 홈디렉토리 내용살피기
# cd master1 마스터1의 디렉토리안으로 이동하기...
목록보기
목록보기에는 대부분 ls를 사용하는데 여기에도 다양한 옵션으로 다양한 결과물을 볼수가 있다....가장많이 쓰는 명령이니만큼 다양한 특징을 안다면 작업하는데 굉장히 편리할 것이다.
#ls -l 세로배열로 결과물을 출력해준다....
#ls -al 가능모든 파일을 결과물로 통해 세로배열로 보여준다.
#ls -al |more:파일의 내용이 많을 때 한단계씩 보여준다(dos:dir/p)와 같은 효과이다.
스페이스바를 누르면 다음결과물을 보여주고 Q를 누르면 빠져나간다.
#ls -l /etc/group:특정파일을 다음과 같은 명령으로 찾아볼 수 있다.
#ls -F :이명령은 실일파일여부를 확인하는 명령이다. 실행파일일 경우 *이붙어서 나온다
그밖에 많은 옵션이 있지만 생략한다.(#ls --help)를 보면 여러 가지 옵션을 볼 수 있다.
디렉토리생성과 삭제
디렉토리를 생성과 또 삭제하는데 필요한 명령을 알아보자
대체적으로 생성하는 명령은 mkdir명령을 쓴다.
특정디렉토리에서 #mkdir kkk라치면 그특정디렉토리하위에 kkk라는 디렉토리가 생성이 된다. ls로 확인을 하여보자.
또한 특정한 곳에 디렉토리를 생성하고싶은면 이렇게 하면된다.
#mkdir /home/webmaster/kkk라치면 홈밑에 웹마스터란 방밑에 kkk를 생성한다는 뜻이다.
디렉토리를 삭제하는 명령또한 동일하다.
홈디렉토리밑에 kkk란 디렉토리가 있다면 이디렉토리를 삭제하는 방법이다.
#rmdir kkk라치면 kkk란 디렉토리가 삭제된다.
#rmdir /home/webmaster/kkk라치면 홈밑에 웹마스터란 방밑에 kkk를 삭제한다는 뜻이다.
하지만 하위디렉토리에 내용이나 또다른 디렉토리가 있다면 삭제가 되질않는다...
이때는 rm이란 명령으로 삭제를 한다....옵션 또한 여러 가지가 있지만....
가장많이 쓰는 명령만 간단히 소개한다.
#rm -r kkk라치면 먼저 하위디렉토리로 들어가서 지울지여부를 물어본다....삭제하고자한다면 y(yes)를치면 그해당파일은 삭제가 된다.
하지만 이과정을 모두 생략하기를 원한다면 다음과 같이 입력하면 삭제가 된다.
#rm -rf kkk이렇게 치면 깨끗이 삭제가 된다....
하지만 지우면 복귀할수 없으므로 정말 신중에 신중을 기하여 삭제하길 바란다.
복사명령과 이동명령
리눅스에서 도 파일을 복사하는 명령이 있다.....통상적으로 도스에서는 copy,diskcopy명령으로 복사를 했지만 리눅스에서는 cp로 사용한다...별반 다를게 없으므로 작업을 해보면 쉽게 이해할수 있다...
임의의 디렉토리를 하나 생성한다. 여기서는 webmaster밑에 webm01이란 디렉토리를 예로 한다.
#cd ~webm01이라 입력을 하면 바로 특정디렉토리로 이동을 할 수 있다.
만약 이동을 하지않는다면 webm01이란 방이 없거나 경로가 잘못되어서 그러므로 경로를 바꾸어주면 된다.... 경로바꾸는 것은 위에서 설명하였으므로 생략한다.
#cd _webm01로 이동
#touch test1:테스트1이란 빈파일을 만든다는 뜻이다(touch:빈파일만들기)
#vi test1:vi 편집기를 통해 test1에 임의의 내용을 입력하고 저장하고 나온다.
#cp test1 test2:test1을 test2란 파일로 복사한다는 뜻이다.
#vi test2:이파일을 열어 test1안에 적힌 내용과 같은지 확인한다.(같다면 성공이다.)
이번엔 test란 디렉토리를 만들어 방법만든 test1,2파일을 디렉토리에 복사하여 넣어보자..
#mkdir test란 디렉토리생성한다.
#cp test1 test2 test/라 입력하면 test1,test2파일이 test디렉토리에 복사된다.확인하여보자(ls)
다음은 하위디렉토리에서 특정디렉토리로 복사하는 법을 알아보자
여기서는 하위디렉토리에서 홈디렉토리로 복사하는법을 설명한다.
#cp -r test /home:여기서 -r은 디렉토리째로 복사한다는 뜻이다. test란 디렉토리를 home에 복사를 한다. 확인하여보자.....
다음은 동시에 여러개의 빈파일을 만드는 방법이다.
#touch aaa bbb ccc ddd eee fff:여기서 나온 파일을 동시에 만든다는뜻이다. 당연히 더많이도 생성가능하다..... 파일이 만들어졌는지 확인하여보자.
다음은 특정파일만 삭제
#rm -r a*:이말은 a로 시작하는 모든 파일을 삭제한다는 뜻이다.
다음은 이동명령 mv를 알아보자 이명령은 디렉토리나 파일을 이동할때사용하면 파일의이름을 변경할때는 적용이된다.
#mv test test2:이말은 옮긴다는 뜻이아니라 test test2로 명명한다는 뜻이다.
#mv test /home/webmster:이말은 test란 디렉토리를 홈밑에 웹마스터방밑에 이동한다는 뜻이다. 자 한번 실습해보기 바란다.
일정한 자료찾기 명령
#find / -name skell -> 일정한 자료찾기를 할 수 있다.
간단한 vi편집기명령알기 (cat)동일
cat의 경우 수정,변경,저장할 수는 없다 단지출력명령.
vi 명령을 쓰면 일정텍스트상의 내용을 수정 변경 저장할 수 있다.
일반적인 명령을 예로 들어보자
예)
#vi /etc/group ->etc밑에 그룹의 내용을 보거나 수정한다는 내용이다.
텍스트가 출력이 되면 수정하고자하는 부분이 있을 경우 insert키를 눌려 수정하고자하는 셀로 이동을 한다.... 만약수정하였으면 esc키를 눌려 insert키를 해제시키고 콜론이누른다.(shift+:)그러면 하위에 콜론이 생성이되는데....저장하고자 한다면 qw(종료저장),저장하지않고 그냥종료시킨다면, q!를 누르면 된다...자 이제 활용을 해보자.
리눅스 설치에서 파티션나누기...
리눅스는 일반 윈도우와는 달리 각각에 대한 루트계정을 만들어 주어야 한다.
윈도우즈의 경우는 포맷과 운영체제설치와 동시에 모든 디렉토리생성 및 응용프로그램설치를 아무곳에서나 가능하나 리눅스는 이와는 다른다....
/:최상위 디렉토리로 운영자가 직접관리 및 운용할수있는공간
/boot:
/usr : 현재 시스템에서 사용하는 응용프로그램을 이곳에 설치를 한다.윈도우즈의 경우 programs files디렉토리에 설치를 하듯이곳에 리눅스 패키지가 설치된다.
/home : 이곳엔 일반인에게 계정을 부여하고 일정의 공간을 할당해주는 역할을 한다.
웹호스팅을 사용해본 유저라면 쉽게 이해하리라 생각이 든다.
/swap : 일반적으로 swap이란 가상메모리를 뜻하는데 리눅스에서 이렇게 램이 아닌 가상메모리지원해 줌으로써 램이 적더라도 swap메모리를 할당해주어 램과 같은 역할을 하여준다.
swap메모리를 활용을 하면 최상의 시스템구축이 가능하다. 일반적으로 자신의 램의 2배를 지정해주는 것이 좋다고 한다.
가상콘솔(ctrl+alt_f1) x-window에 들어가지 않고 바로 가상콘솔로접속
[root@note/root}#:#를 bash sell이라 함...
콘솔과 터미널:콘솔 :서버앞에서 직접작업을 하는 것을 콘솔이라하며, 터미널이란 멀리서 원격으로 접속을 하여 작업을 하는 것. 또한 가상콘솔작업은 root계정으로 작업을 하면 이것은 보안문제 때문에 다른계정으로 작업을 많이한다. 터미널의 경우 root작업은 치명적인 보안문제 때문에 일반계정으로 접속하여 작업을 많이함.....
단축키명령
(ctrl+alt_f1):가상콘솔 작업
(ctrl+alt_f2)
(ctrl+alt_f3):초기화 로그인
(ctrl+alt_f7):x-windows로 들어가기
콘솔상의 작업종료:exit,logout명령이 있으면 shutdown의 경우 시스템을 종료할 때 사용한다.
옵션명령 : -r 재부팅 -h 시스템종료 -c shutdown명령을 취소
시간타임 : now지금 즉시 지정된 shutdown명령실행
+m m분후에 지정된 shutdown명령을 실행
hh:mm hh시 mm분에 지정된 shutdown명령을 실행
메세지 :현재 접속되어 있는 로그인 사용자들에게 언제쯤 종료를 한다고 알리는 메시지 기능을 제공(중요사항)
예)shutdown -r now지금 즉시종료시행 shutdown +5 now 5분후 종료....
새로운 사용자를 추가(계정)을 부여하기 위해 사용한다.
일반적으로 adduser/useradd 명령을 사용한다.(사용법은 완전히 동일하다.)
예)# adduser master1
# passwd master1
# 패스워드 입력
# 재입력.......
(패스워드의 경우 숫자와 일반글자를 조합하는 것이 좋으며 나쁜패스는 시스템에서 받아 들이지 않는다....)
등록을 성공하면 successfully메세지가 나온다....이메세지가 나오면 성공....
자 /home디렉토리로 이동을 하면 새롭게 추가된 계정을 확인할수 있다. 자 (ls -l)
(사용자이름을 생략하고 passwd를 실행하면 현재 로그인한 사용자의 패스워드를 변경할 수 있다.
패스
#vi /etc/passwd를 실행하면 리스트가 출력이 된다.
리스트중에 다음의 글이있을 것이다.
root : x : 0 : 0 : root: /root: /bin /bash(bash)란쉘을 뜻함.
root:사용자명
x:비밀번호
0:uid
0:gid(그룹아디)
root:선명(전화)comment
root:홈디렉토리
shadow :특정계정을 추가한후 패스파일을 암호화한 파일을 말한다.
#useradd mask1
#passwd mask1
암호를 준후
#vi /etc/passwd확인
#vi /etc/passwd확인후 암호화(shadow)를 확인.
일반계정부여와 함께 자동 홈페이지방 만들기...
리눅스상에서 방을 부여하면 홈페이지를 만들수 있는 방이 필요하다...
이것이 public_html이란것인데 이것을 계정부여와 동시에 만드는 방법을 배워본다.
#cd /etc/skel
#ls -l
#pwd
#mkdir mail
#mkdir public_html
#ls -l
이렇게해주면 계정부여와 동시에 자동으로 sand mail과 public_html이 자동으로 만들어진다.
그룹생성명령(group)
그룹이란 일정한 시스템에서 여러사람이 그사용자성격상 비슷한사람들이 그룹으로 나우어 관리를 하는 경우 사용한다. 그룹을 잘이용하면 여러모로 전문적성격을 지닌 시스템으로 활용을 할 수 있다.
예) 그룹생성과 일반계정으로 그룹에 등록시키는 내용
#groupadd wm --->그룹명을 wm으로 지정을 하였다.
#vi /etc/group --->vi편집기를 통해 group내용을 확인변경할수 있다.
#useradd --help -->옵션을 활용할 때 이렇게하면 옵션사항을 출력하여 볼 수 있다.
그룹에 등록시키는법
#useradd -g wm web1 : web1이란 아이디를 wm이란 그룹에 등록한다는 내용이다
#useradd -g wm web1 : web2역시 wm이란 그룹에 등록
#vi /etc/passwd --> 등록이 잘되었는지 확인할 수 있다.
모드설정변경
리눅스에서 모드설정이란 text모드 x-windows등등 이있는데 이기본모드를 수정할 때 사용한다.
먼저 #cat /etc/inittab : $more를 출력하면 리스트가 출력이 되는데...
출력에 보면 id (숫자):initdefault란곳에 숫자를 바꾸어주면 된다.
x-windows:5번
single :1번
text : 3번으로 구성이 되어있다.
특정그룹추가하기
일반계정을 그룹화하여 같은 폴더에서 관리하면 관리하기도 좋고 여러모로 편하다.
그러나 그룹추가는 추상적이기 때문에 폴더개념과는 다르다.
이점을 유의하기바란다. 그룹명을 지정해주고 그룹명과 같은 폴더를 만들어줄 때
비로서 그룹화 된다고 보면된다.
#groupadd (그룹명) :그룹은 만들어지었으나 폴더는 만들어지지않았다.
#mkdir 폴더(일반적으로 그룹명과 동일하면 좋다):그룹과 폴더가 모두만들어지었다
자 일반계정을 추가하여 방금만들어진 그룹에 추가하여보자
#useradd -D -b /home/wm:초기 디렉토리의 경로를 지정해준다.
#useradd -g wm wm01:-g는 그룹에 추가한다는 옵션명이고,wm은 그룹명이다
그리고 wm01은 일반계정자이다..즉 wm01은 wm에소속되도록 -g(그룹화)하여 준다는 뜻이다.
#passwd wm01 :이제 wm01의 패스워드를 추가하면 된다.
userdel(유저삭제명령)
일반계정을 추가하고 나면 나중에 삭제또한 하게 된다. 싶게 하위디렉토리까지 삭제하는법을 알아보자.
#userdel (지울계정명):이렇게 지정하면 모두삭제된다.
하위에 디렉토리가 없을 경우
#rm -rf 계정명:으로 깨끗이 삭제할 수가 있다.
usermod(일반생성 계정에 대한 편집명령),groupmod(그룹에 대한 편집명령)
적용예(uid,향,comment,home,shell)
#usermod -c bbb web02: (web02를 bbb로 바꾼다는 것이다. (단 폴더가 바뀌는 것이 아니라 .comment가 바뀐다는 것이다. 명령에 -c는 comment란 뜻이다.
확인할려면, vi /etc/passwd로 확인을 해보라....
#usermod -d /home/wm
#vi /etc/passwd
#usermod -n webm web:(web이란 그룹을 webm으로 변경하라...
#vi /etc/group:이곳으로 가면 바뀐내용을 확인할수 있다.
su명령의 아름다운반란(사용자 대체)
su란 여러 계정을 오고가며 작업을 하는 것이다.
리눅스의 묘미를 맛볼수 있는 것이기도 하다...또한 root가 어느정도로 막강한지를 쉽게 알수가 있다... 자 이제 실행하여보자
보통 터미널로 작업을 할때에는 root로 로그인이 불가능하는 하지만 su를 통해 가능하여진다 먼저 일반계정으로 접속을 하여 #su root로 변환하여주면 가능하다...
하지만 일반계정에서#su root를 실행하면 root의 패스워드를 묻게된다.패스를 모르면 끝장이다. 그냥 집에가야 될듯......흐흐흐
패스를알고있다면 입력. 성공메세지가 출력되고 root로 작업환경이 변환된다.
이번엔 root권한으로 일반계정으로 변환하여 작업을해보자
#su webm01이렇게 하면 패스워드를 묻지않고 바로작업에 들어갈수가 있다....요것이 root만의 권한.....
이번엔 일반계정에서 일반계정으로 변경작업하여보자
#su webm02라실행하면 역시 패스워드를 묻는다....모르면 찌그러지고 알면 들어가서 작업하면된다.
즉 정의하자면 root는 su명령을 통해 어떠 계정에도 접속하여 작업을 할수있으나 일반작업자의 경우 root로 작업을변환할 때 패스워드를 알아야 하며,역쉬 일반계정끼리의 작업또한 패스워드를 알아야 작업이 가능하다는 것이다. 이권한을 chmod로 뚫을수있을까...
에러발생시 대책법
윈도우즈의 경우 에러가 발생하면 강제종료를 시키면 scandisk가 바로잡아준다.
리눅스의 경우도 그러하지만 이건 바람직하지가 않다. 에러가 발생하면 나름대로 에러를
잡는 법을 알아보자.
먼저 에러가 발생을 하면 read읽기 기능만으로 자동으로 변환이 된다.
이를 바꾸기위해선 다음과 같은 명령을 수행하면 된다.
먼저 readolny가 나오면 이건 읽기기능만이 수행된다는 뜻이다.
lilo에서 ctrl+x로 text모드로 들어간다. 아이디와 패스를 입력하고
#mount -n -0 remount , rw(읽고쓰기로 변환한다는 뜻이다.) /dev/hda5(리눅스가 깔린장치명)입력하면된다.
초기부팅화면 설정변경
멀티부팅시 dos모드나 linux모드중 어느것을 먼저택할건지 지정해주는 것이다.
역시 명령어는 다음과 같다.
#cat /etc/lilo.conf 엔터를 치면 리스트출력 하면 수정부분이 눈에 들어온다.
단 cat명령어는 출력명령어 이므로 vi로 바꾸어 출력을 하면된다. 역시 수정하고 저장하고 나오면 된다.)
로그인 패스워드변경법
lilo화면에서 ctrl+x키로 누르면 된다.
먼저 linux 1이나 single로 입력을 한후
passwd를 입력한다...암호를 임의로지정을 하고 반복암포를 누르고 빠져나온다.
자한번 테스트해보자.
한템창에서의 멀티작업시 에러메세지....
통상적으로 리눅스에서는 여러개의 한텀창을 띄어놓고 작업을한다.
하지만 열어본작업을 닫지않고 다른창에서 또같은 작업을 병행하면 swap메모리를 먹기 때문에 좋지않다...또한 여러 가지 메시지를 동반하므로 귀찮기 짝이없다.
한번쯤 이런 경험을 해보셨을거라 믿는다.....
참고로 편집도중 ctrl+z를 사용하면 꼬옥 창이 닫힌것처럼 결과가 나오는데...
이건 창이 완전히 닫힌게 아니라 잠시 숨겨두는 것이다.
ctrl+z를 누른후 #jobs라 쳐보자 그러면 작업중인게 한 개가 있다는 메시지가 나온다.
완전히 해제시킬려면 #kill %1이라 치면 완전 종료된다.
아니면 첨부터 윈도창에서 닫임단추를 누르면 종료된다.
'Linux' 카테고리의 다른 글
우분투 설치 직후 APM (Apache2, PHP, MySQL) 바로 설치 (0) | 2016.08.22 |
---|---|
아파치 디렉토리 리스트 보이게 하기 (0) | 2016.01.28 |
리눅스 OS버젼 확인 명령어 (0) | 2016.01.28 |
[Linux] MySQL 시작/정지/재시작 방법 (0) | 2016.01.28 |
리눅스 압축에러 (0) | 2016.01.28 |