728x90
ubuntu@ip-172-31-10-164:~$ sudo apt-get update
sudo apt-get -y install apache2 libapache2-mod-auth-mysql mysql-server mysql-client php5 libapache2-mod-php5 php5-mysql;
문서 만들기
[echo] 나열된 인자를 화면에 출력하는 명령어이다.
- [ubuntu@ip-... ~]$ echo Hello, World
- [ubuntu@ip-... ~]$ echo "Hello, World"
- [ubuntu@ip-... ~]$ echo Hello, World > hello.txt //출력된 내용을 hello.txt 파일로 생성
- [ubuntu@ip-... ~]$ echo Hello, World >> hello.txt //출력된 내용을 hello.txt 파일에 교체
- [ubuntu@ip-... ~]$ echo Good, Bye > bye.txt
- [ubuntu@ip-... ~]$ echo Good, Bye >> bye.txt //출력된 내용을 bye.txt 파일끝에 추가
- [ubuntu@ip-... ~]$ cat hello.txt
- [ubuntu@ip-... ~]$ cat bye.txt
[cat]
파일의 내용과 입력받은 내용을 화면에 출력하는 명령이다. 6
cat ...
- cat index.html // index.html 파일의 내용을 표시합니다.
- cat txtscr.txt // txtscr.txt 파일의 내용을 표시합니다.
- cat guide/readme //현재 디렉토리 밑에 있는 guide 디렉토리에 있는 readme 파일의 내용을 표시합니다.
> Hello!
> My job is student.
> Good bye.
> END
cat으로 입력받은 내용을 파일에 기록한다.
[ubuntu@ip-... ~]$ cat << END > file.txt //END가 입력될 때 까지의 내용을 file.txt파일에 저장하는데 파일이 없으면 생성하라.
> Hello!
> My job is student.
> Good bye.
> END
[ubuntu@ip-... ~]$ cat file.txt
CREATE TABLE topic(
id int(11) NOT NULL AUTO_INCREMENT,
[vi]
파일의 내용 편집 및 생성 실 행
- vi 또는 vi 파일명
- Esc -> : (Shift + ;)
- Esc -> h(좌문자)j(아래문장)k(위문장)l(우문자) //문장의 기준 Enter key
- Esc -> e(다음단어 끝으로) b (이전단어 처음으로)
- Esc -> H(화면에 보이는 첫번째 줄의 처음으로 이동)L("" 마지막 줄의 처음으로 이동)
- Esc -> G //Go 문서의 맨 끝으로 이동
- Esc -> nG //문서의 n번째 줄로 이동
- Esc -> 명령라인-> u //Undo
- Esc -> Ctrl + r //Redo
- Esc -> 명령라인-> /단어 ?단어
- Esc -> 명령라인-> nd //n번째 줄을 잘라내기 해서 클립보드에 저장한다
- Esc -> 명령라인 -> p //현재커서 다음줄 또는 다음행에 붙여넣기 P(대문자) 현재행에 붙여넣기
- sc -> : -> w 파일명 // 파일이 있을 경우 바로 저장 없을경우 생성후 저장
- Esc -> : -> wq // 저장하고 종료
- Esc -> : -> q! // 저장하지 않고 종료
rm
지운 파일은 복구가 불가능합니다.디렉토리를 지우는 명령어는 rmdir rm [옵션들] ... [옵션]- d : 'unlink' 디렉토리를 지웁니다. 수퍼 유저만 가능하며, 사용 후 fsck가 필요합니다.
- f : 존재하지 않은 파일일 경우에도 에러 메시지 출력을 하지 않습니다. 확인 과정 없이 강제로 지웁니다.
- i : 지우기 전에 확인합니다. 기본값이므로 따로 지정하지 않아도 됩니다.
- r : 서브 디렉토리를 포함하여 모두 지웁니다.
- v : 지워지는 파일명을 출력합니다.
- R : -r과 같습니다.
- rm 1.txt //현재 디렉토리에 있는 1.txt 파일을 지웁니다.
- rm *.txt //현재 디렉토리 있는 확장자가 txt인 파일을 모두 지웁니다.
- rm -i /home3/hangul/game /home3/hangul/guide // /home3/hangul/game 디렉토리와 /home3/hangul/guide 디렉토리를 지우며 지우기 전에 지울 것인지 물어봅니다.
- rm -rf ~/game //홈페이지 밑에 있는 game 디렉토리를 지우며, 서브 디렉토리를 포함하여 강제로 지웁니다.
cp
명령어는 파일이나 디렉토리를 복사할 때 사용합니다. cp [옵션] ... <타겟 경로> [옵션]- a : -dpR의 조합과 같습니다. 즉 링크 속성 유지, 파일과 디렉토리의 모든 속성 유지
- b : 덮어쓰거나 지울 때 백업 파일을 만듭니다.
- d : 심볼릭 링크 파일 그대로 복사합니다. (기본값은 연결된 원래 파일을 복사합니다.)
- f : 같은 파일명을 갖는 파일이 있을 경우, 지운 후 복사합니다. 즉 강제로 덮어쓰며 덮어쓸 때 확인하지 않습니다.
- i : 같은 파일명을 갖는 파일이 있을 경우, 덮어쓰기 전에 사용자에게 확인한 후 복사합니다. 기본값으로 지정되어 있습니다.
- l : 하드 링크를 만듭니다.
- p : 원시 파일의 소유자, 그룹, 허용 여부, 시간 등을 그대로 복사합니다.
- r : 서브 디렉토리를 포함한 모든 파일을 복사합니다.
- s : 심볼릭 링크를 만듭니다.
- u : 복사할 파일이 구 버전일 경우만 복사합니다.
- v : 복사하기 전에 각각의 파일명을 출력합니다.
- x : 파일 시스템이 같을 경우만 복사합니다.
- P : 원시 파일이 존재하는 디렉토리까지 포함하여 복사합니다.
- R : 디렉토리를 포함하여 복사합니다.
- S : 환경 변수 SIMPLE_BACKUP_SUFFIX에 의해 지정된 백업 꼬리말로 백업 파일을 만듭니다.
- cp index.html index2.html //현재 디렉토리에 있는 index.html 파일을 복사해 index2.html를 하나 더 만듭니다.
- cp ../game mygame //../game(모디렉토리 밑의 game) 디렉토리를현재 디렉토리 밑에 mygame 디렉토리로 복사합니다.
- cp guide/kjt.html kim.html //현재 디렉토리 밑에 있는 guide 디렉토리에 있는 kjt.html 파일을 현재 디렉토리에 kim.html 파이로 복사합니다.
- cp -rf ~/guide ~/guide2 //홈디렉토리 밑의 guide 디렉토리를 홈디렉토리 밑에 guide2로 복사합니다. 서브 디렉토리를 포함하며 같은 이름의 파일이 있을 경우에는 겹쳐씁니다.
mv
는 파일 이름을 바꾸거나 옮길 때 사용합니다. mv [옵션] ... <타겟 경로> [옵션]- b 지워지기 전에 백업본을 만듭니다.
- f 옮겨질 디렉토리에 존재하는 파일이 있으면 덮어씁니다. 물어보지 않고 강제로 옮기거나 rename 합니다.
- i 옮겨질 디렉토리에 존재하는 파일이 있으면 확인합니다. 기본값으로 지정되어 있습니다.
- u 옮겨질 디렉토리에 구 버전의 파일이 있을 경우만 옮깁니다.
- v 옮기기 전에 파일명을 출력합니다.
- mv test.txt test.html //kim.txt 파일 이름을 kim.html으로 바꿉니다.
- mv guide/kim.html kim.txt //현재 디렉토리 밑의 guide 디렉토리 있는 kim.html 파일을 현재 디렉토리로 옮기면서 이름을 kim.txt 으로 바꿉니다.
날짜 보기 date 화면 지우기 clear 한 화면씩 출력하는 more
touch
- 파일의 시간과 정보를 변경
- 빈 파일을 생성
- touch 파일명
파일과 디렉토리의 소유권과 소유그룹 설정
- sudo chown -R ubuntu . // 현재의 디렉토리 및 하위 까지 재귀적으로 소유자를 ubuntu로 지정
- chown ubuntu:root test.txt; // 특정파일(test.txt)의 소유자 및 소유그룹 변경
- chown ubuntu:root test; // 특정폴더(test)의 소유자 및 소유그룹 변경
- chown -R ubunru:root test // 특정 디렉토리(test)내의 모든 파일들의 소유자 및 소유그룹 변경
- chown -R ubuntu:root test --from=nobody:nobody // ... 특정파일들에 데해서만 소유자 및 소유그룹 변경
root user 획득과 실효
리눅스사용자-계정변경-root에서 유저로-유저에서 root로 sudo, su- su -l user; //user라는 사용자로 변경하며 해당 세션에 대해서만 superuser권한 소유.
- sudo su; //root세션에 대한 관리자 권한을 갖은 user에게 superuser권한을 부여.일반user는 부여블가능
- su -l user; //해당 세션에 대해서만 superuser 권한을 갖는 user로 다시 변경 root ->user
- su - user; //해당 세션에 대해서만 superuser 권한을 갖는 user로 다시 변경 root ->user
권한관리
-rwxr-xr-- 위 문자열은 각각 아래를 의미한다- rwx rwx rwx 파일타입 user 권한 group 권한 other 권한 파일 타입(file type)에는 아래와 같은 종류가 있다. (여기서는 - 와 d 만 알고 있어도 충분하다.) - : plain file. 일반 파일. 실행 파일도 포함한다. d : directory. 디렉토리 형식. l : link. 다른 파일을 가리키는 링크 파일. p : pipe. 두 개의 프로그램을 연결하는 파이프 파일. b : block device. 블럭 단위로 하드웨어와 반응하는 파일. c : character device. 스트림 단위로 하드웨어와 반응하는 파일. 매번 심볼을 사용하기 불편하다면 간편하게 숫자로 설정할 수도 있다. rwx 는 각각, 아래와 같은 숫자 값을 가진다. r = 4, w = 2, x = 1, - = 0. ex)각 그룹에 대한 권한을 숫자를 합한 값으로 한자리로 표현할 수 있다. rw- = 4 + 2 + 0 = 6, r-x = 4 + 0 + 1 = 5, rwx = 4 + 2 + 1 = 7
- chmod 777 test; //모든 사용자에게 test 폴더에 대해 읽기(r) 쓰기(w) 실행(x) 모두 가능하게 한다.
- chmod a+x test; //모든 사용자에게 test 폴더에 데해 실행을 가능하게 한다.
- chmod u=wrx test; //유저에게 test 폴더에 데해 읽기 쓰기 실행을 가능하게 한다.
- chmod go -w test; //그룹과 기타유저에게 test 폴더에 데해 읽기 기능을 불가능하게 한다.
aptana
- 실행 --> 기본 -->> project Explorer --> 마우스 오른쪽 클릭 -->NEW--> phpproject-->create project name -->phpproject --> project name -->blabla --> 확인 --> 생성된 project 선택 마우스 우 클릭 --> Publish ->> 선택 ->>Run...선택 --> FTP/sFTP...선택 --> next--> Site name --> Choice Protocol:SFTP - >..
- Server : 자신 네트웍 계정
- User Name : ubuntu
- Use Public Key selected : amazone p_Key.
- Remote Path : /var/www
- Test~
- Encoding : UTF-8
- Automatically : check!!
- sellected : default!
- Finish!!
php error log
설정- ubuntu@ip-172-31-10-164:/$ cd /etc/php5
- ls -al
- ubuntu@ip-172-31-10-164:/etc/php5$ cd apache2/
- ls -al
- ubuntu@ip-172-31-10-164:/etc/php5/apache2$ ls -al /usr/share/php5/
- 기본 : php.ini-production(배포판)
- ubuntu@ip-172-31-10-164:/etc/php5/apache2$ sudo cp /usr/share/php5/php.ini.development /etc/php5/apache2/php.ini
- ubuntu@ip-172-31-10-164:/etc/php5/apache2$ sudo service apache2 reload // 설정만 변경 접속유지
- ubuntu@ip-172-31-10-164:/etc/php5/apache2$ sudo service apache2 restart // 접속 끊김
root
(관리자 모드 SQL Login)- mysql -hlocalhost -u****** -p******
User database 생성
- CREATE DATABASE dbjoon CHARACTER SET utf8 COLLATE utf8_general_ci;
생성확인
- show databases;
나갔다가 다시 진입 확인하기
- exit
데이터배이스 사용하기
- use dbjoon
User 의 테이블 생성하기
CREATE TABLE topic( | my_t 라는 테이블 생성 하는데 |
> id int(11) NOT NULL AUTO_INCREMENT, | 아이디는 int자료형인데 11자리까지이며 반드시 입력해야하며 자동증가방식이다 |
> title varchar(255) NOT NULL, | 타이틀은 varchar인데 255자리까지이며 반드시 입력해야 한다 |
> description text NULL, | 설명은 text 자료형인데 입력 안해도 된다. |
> created datetime NOT NULL, | 문서 작성시간은 datetime자료형이며 반드시 입력해야 한다. |
> PRIMARY KEY (id) | 대표키는 id로 한다. |
> ); |
title varchar(255) NOT NULL,
description text NULL,
created datetime NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE memo(
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(20) NOT NULL,
email varchar(50) NOT NULL,
memo varchar(255) NOT NULL,
created datetime NOT NULL,
ip varchar(15) NOT NULL,
PRIMARY KEY (id)
);
빈 테이블 조회하기
- SELECT * FROM topic;
선별 조회하기
- SELECT id, title, created FROM topic;
데이터 추가하기.
- INSERT INTO `topic` (title,description,created) VALUES ('JavaScript','JavaScript ...',now());
- INSERT INTO `topic` (title,description,created) VALUES ('변수와 상수','변수와 상수 ...',now());
- INSERT INTO `topic` (title,description,created) VALUES ('연산자','연산자 ...',now());
- INSERT INTO `topic` (title,description,created) VALUES ('JSON','JSON ...',now());
정렬
- SELECT id, title, created FROM topic ORDER BY title DESC;
검색
- SELECT id, title, created FROM topic WHERE id = 2;
- SELECT id, title, created FROM topic WHERE id = 2 OR id = 1;
출력 튜플 제한
- SELECT id, title, created FROM topic LIMIT 2;
- SELECT id, title, created FROM topic LINIT 1,2; //배열[1]에 해당하는 튜플부터 2칸 출력하라!
'my_lesson > _Linux' 카테고리의 다른 글
Linux - Ubuntu Download _Korea mirroring (0) | 2015.11.26 |
---|---|
Linux - 유저생성(adduser, useradd) 그룹생성 sudo권한부여 (0) | 2014.12.29 |
Linux - nano(pico) editer 사용법 (0) | 2014.12.20 |
Linux - 기본명령어_2 (0) | 2014.12.20 |
Linux - 기본명령어_1 (0) | 2014.12.20 |
댓글