OS&기타/Linux: 67개의 글

[Linux] VI에디터 이동방법 (일부)

Posted by nkjok
2024. 4. 5. 15:40 OS&기타/Linux
반응형

VI 이동방법
$ 그줄 맨끝
^ 그줄 맨앞
A 그줄 맨끝 입력
I  그줄 맨앞 입력

반응형

[Linux] SMARTCTL 설치/사용법

Posted by nkjok
2024. 4. 5. 15:34 OS&기타/Linux
반응형

SMARTCTL 사용법
설치 : yum -y install smartmontools
# 명령어 사용 중 smart 기능이 잠겨있을 때에는 -s on(?smart=VALUE) 옵션을 사용합니다.
(ex. smartctl -s on /dev/sda)

smartctl -s on /dev/sda  풀어주고 아래 입력
smartctl -A /dev/sda      

반응형

[Linux] 셸 프롬프트에 "시간", "날짜" 삽입 방법

Posted by nkjok
2024. 4. 5. 15:33 OS&기타/Linux
반응형

셸 프롬프트에 "시간", "날짜" 삽입 방법 ["[root@localhost ~]#" 부분의 삽입] CentOS-6.9
PS1="[\u@\t\W]\$"     ->    [root@09:51:42~]$ 
PS1="[\u@\t\W]\$"     ->    [root@금 10월 12~]$

반응형

[Linux] mysqldump: got errer : 1146 : table '테이블명' doesn't exist when using LOCK TABLES 해결방법

Posted by nkjok
2024. 4. 5. 15:32 OS&기타/Linux
반응형

Mysql - mysqldump시 LOCK TABLES 오류
mysqldump로 DB 백업시 아래와 같은 오류 메세지가 발생하며 중단되는 경우가 있습니다.
- mysqldump: got errer : 1146 : table '테이블명' doesn't exist when using LOCK TABLES
원인 : 해당 table에 lock이 걸려 있어 덤프가 안되는 문제 입니다.
조치 : mysqldump에 --lock-all-table 옵션을 추가 하여 진행 하면 정상적으로 백업 됩니다.
Ex) mysqldump -u [User] -p --lock-all-tables [DBName] > [dump file name].sql

반응형

[Linux] 모니터로 cli 모드 tui 모드 에서 상하로 움직이는법

Posted by nkjok
2024. 4. 5. 15:31 OS&기타/Linux
반응형

cli 모드 tui 모드 에서 상하로 움직이는법
- Shift + Fn + 방향키(위아래)

반응형

[Linux] 리눅스에서 파일안에 텍스트(문자열) 검색해서 특정파일찾기

Posted by nkjok
2024. 4. 5. 15:30 OS&기타/Linux
반응형

리눅스에서 파일안에 텍스트(문자열) 검색해서 특정파일찾기
전체파일을 검색시
find . -name "*.*" | xargs grep "특정문자"

php파일 검색시
find . -name "*.php" | xargs grep "특정문자"

반응형

[Linux-MariaDB] 마리아DB 설치방법/사용방법

Posted by nkjok
2024. 4. 3. 17:44 OS&기타/Linux
반응형

설치, 서비스활성화, 서비스재부팅이후에도활성화, 방화벽허용

yum -y install mariadb-server 
systemctl restart mariadb
systemctl enable mariadb
firewall-cmd --permanent --add-service=mysql




show databases;

use mysql;

show tables;

select * from user;

select user, host from user where user NOT LIKE '';
유저이름이 공백이아니면 출력을 해라



외부에서 접근가능하게 설정
MariaDB [mysql]>  여기서 아래 명령어 입력
GRANT ALL PRIVILEGES ON *.* TO winuser@'192.168.101.%' IDENTIFIED BY '1234'; 
-win유저만들면서 이대역으로 들어올수 있도록 추가
GRANT ALL PRIVILEGES ON *.* TO root@'192.168.101.%' IDENTIFIED BY '1234'; 
-루트가유저가 설정한 대역으로 들어올수 있도록 추가




create database mqtt;

show databases;

use mqtt;

(삭제 : drop database mqtt;)


두개의 테이블 생성
아래 명령어 한줄로 쭉 적으면 됨
create table cu(
 id varchar(10) not null primary key,
 name nvarchar(5),
 age int,
 address nvarchar(5));


create table pu(
 no int not null primary key auto_increment,
 cust_id varchar(10),
 data char(8),
 product nvarchar(5));
---------------




테이블확인 (주키, 정수, 문자 등의정보나옴)
desc cu;
desc pu;


테이블 컬럼타입 변경
ALTER TABLE 테이블명MODIFY 컬럼명 변경할컬럼타입;
alter table cu modify product varchar(10);


테이블내용확인
select * from cu;
select * from pu;



------------------------------------------------------------------
mariadb (mysql) 한글 안될 때 해결방법


1. vi /etc/my.cnf  파일 열어서 아래 내용 최하단에 복붙
[mysqld]
character-set-server = utf8

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8


2. systemctl restart mariadb


3. mysql 접속해서 status 확인하면 Server, Db, Client, Conn 총 4개가 utf8로 변경되어있음
-----------------------------------------------------------------


테이블 내용 삽입
insert into cu values ('hong','홍길동',22,'경기');
insert into cu values ('dong','당탕이',23,'충북');
insert into cu values ('ppuni','이뿌니',30,'서울');
insert into cu values ('john','존밴이',28,'강원');
insert into cu values ('rey','레이나',29,'서울');
insert into cu values ('kazu','카즈야',34,'서울');


insert into pu values (null, 'hong','20160122','TV');
insert into pu values (null, 'ppuni','20160211','TV');
insert into pu values (null, 'john','20160211','냉장고');
insert into pu values (null, 'hong','20160222','세탁기');
insert into pu values (null, 'john','20160311','비디오');
insert into pu values (null, 'rey','20220430','청소기');
insert into pu values (null, 'kazu','20220430','자격증');




컬럼삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;


검색

select * from cu where address ='서울';
테이블에서 서울로 되있는 사람 출력

select * from cu where age > 25;
나이가 25보다 많은 사람

select data, product from purchase where cust_id = 'john';
위에 프로덕트에서 id가 존인 사람
-----------------------------------

-----------------------------------

----- 아래 true 연산자
1) select * from cu,pu where address = '서울' and name = '카즈야' and product = 'TV'; (서울, 카즈야, TV 출력)
+------+-----------+------+---------+----+---------+----------+---------+
| id   | name      | age  | address | no | cust_id | data     | product |
+------+-----------+------+---------+----+---------+----------+---------+
| kazu | 카즈야    |   33 | 서울    |  1 | hong    | 20160122 | TV      |
| kazu | 카즈야    |   33 | 서울    |  2 | ppuni   | 20160211 | TV      |
+------+-----------+------+---------+----+---------+----------+---------+
2 rows in set (0.00 sec)
2) select * from cu,pu where address = '서울' and no >=5; (서울이고 5보다 크거나 같거나)
3) select * from cu where id = 'kazu' or id = 'rey'; (kazu 이거나 rey 이거나)
4) select * from cu,pu where age >= 30 or product = 'TV'; (서른이 넘거나 TV이거나)
5) select * from cu,pu where (address = '서울' or product = 'TV') and name = '카즈야'; 
= 5)는 가로없이 쿼리하면 마지막 and 카즈야이 제대로 조건적용 안되므로 가로 ()를 사용함
6) 같은 칼럼 안 or 조건이라면 in 옵션이 유용, order by data 는 data 칼럼 내용의 오름차순으로 정렬함
select * from cu,pu where name = '카즈야' or name= '레이나' order by data;
select * from cu,pu where name in ('카즈야','레이나') order by data;
----- 아래 not true 연산자
7) 아래는 다 같은 결과값임, not, !, <> 동일한 연산자임, 주의할점은 !, <>는 배제대상을 or로 하면안됨
select * from cu,pu where not name in ('카즈야','레이나') order by data; (in 쓰면 베스트)
select * from cu,pu where not name = '카즈야' or name= '레이나' order by data; (필터 안됨) 
select * from cu,pu where name != '카즈야' and name <> '레이나' order by data; (정상적으로 필터됨)
select * from cu,pu where name != '카즈야' or name <> '레이나' order by data; (!랑 <> 쓸때 or 쓰면 필터안됨)
select * from cu,pu where name != '카즈야' and name != '레이나' order by data;  (베스트)
select * from cu,pu where name <> '카즈야' and name <> '레이나' order by data; (베스트)
효율적 예시)) 
select * from cu,pu where name != '카즈야' and name != '레이나'; 
select * from cu,pu where not name in ('카즈야','레이나','임지영');


show variables like 'c%';
인코딩설정확인

반응형

[OS&기타-Linux] 리눅스 find / 파인드 응용

Posted by nkjok
2024. 3. 28. 09:43 OS&기타/Linux
반응형

find / 파인드 응용 



1

find / -size +10M -exec ls -lh {} \;

/ 경로에서 10M 이상인 파일 출력



2

find . -empty

현위치에서

find / -empty

/ 경로에서 빈파일 찾기



​3​

find /etc -maxdepth 2 -name 'x*'

-maxdepth 옵션으로 서브 디렉토리 검색 깊이를 지정한다.



4

find . -newer game.py

-newer 옵션 뒤에 적힌 파일보다 최근에 변경된 파일을 검색한다.​



5

find /var -name "ex*" 2>/dev/null​

퍼미션 디나인 된거 제거해줌

find: ‘/var/spool/postfix/trace’: Permission denied​

​​

6  bak 파일을 찾아내서 삭제

find / -type f -name "*".bak"*" -exec rm -rf {} \;





ex) 현재 디렉토리 하위에서 확장자가 "txt" 인 파일 모두 삭제

[root@peterdev test]# find . -type f -name "*.txt" -exec rm {} \;

 

ex) 현재 디렉토리 하위에서 확장자가 "test"로 시작하는 모든 파일 삭제

[root@peterdev test]# find . -type f -name "test*" -exec rm {} \;

 

 

ex) 현재 디렉토리 하위에서 생성된지 30일 이상 된 파일만 삭제

[root@peterdev test]# find . -ctime +30 -type f -exec rm {} \;


 

 

ex) 현재 디렉토리 하위에서 크기가 500 kbyte 이상인 파일만 출력

[root@peterdev test]# find . -size +500k -type f -exec rm {} \;


 ​







- 아래는 작동안함

(참고해서 재설계필요함)







파일 생성 날짜가 3일이 지난 파일을 삭제하는 명령어


find ./ -ctime +2 -exec rm {} \ ;


find /home -name '*.txt' -ctime +2 -exec rm {} \;


*  일정기간 지난 파일 삭제 명령 - 1일 지난 파일 삭제 예 

find [디렉토리] -ctime +0 -exec rm -f {} \;


*  일정기간 지난 파일 삭제 명령 - 7일 지난 파일 삭제 예 

find [디렉토리] -ctime +7 -exec rm -f {} \;


* 수정한지 3일 이내 ( -mtime -3 ) 의 파일만 ( 백업할 때 유용 )

find . -mtime -3 -type f -ls


* 수정한지 30분 이내 ( -mmin -30 ) 의 파일만

find . -mmin -30 -type -f -ls

 

* 특정용량 이상되는 파일 찾기 - 10MB 이상 되는 파일 찾기 예

find [디렉토리] -size +1000k -exec ls -al {} \;


*  생산된지 30일 이상 된 파일만 삭제

find [디렉토리] -type f -ctime +30 -exec rm -rf {} \;


*  생산된지 30일 이상 된 비어있는 디렉토리만 삭제

find [디렉토리] -empty -type d -ctime +30 -exec rmdir {} \;


* 파일크기가 300KB 이상 ( -size +300k ) 인 파일만 (호스팅 되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)

find . -size +300k -ls


* 파일크기가 500bytes 이하 ( -size -500c )인 파일만

find . -size -500c -ls


* 수정한지 20일 이상 ( -mtime +20 ) 된 파일과 디렉토리

find . -mtime +20 -ls


* 수정한지 20일 이상된 파일만

find . -mtime +20 -type f -ls


* 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; ) ( 정기적으로 20일지 지난 파일을 삭제할 때 유용 )

find . -mtime +20 -type f -ls -exec rm {} \;

반응형