728x90
  1. jenkins 설치
    // jenkins repository 설치(https://pkg.jenkins.io/redhat-stable/jenkins.io.key)
  2. //jenkins 설치
  3. rpm --import [https://pkg.jenkins.io/redhat-stable/jenkins.io.key]
  4. yum install jenkins
  5. wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  6. jenkins 설정
    jenkins는 기본 포트로 톰캣과 같은 8080으로 쓰기 때문에 8082로 포트 변경
    vi /etc/sysconfig/jenkins
    // 하단 내용 입력
    #JENKINS_PORT="8080"
    JENKINS_PORT="9090"
  7. etc/sysconfig/jenkins 에는 JENKINS_HOME 이나 JENKINS_USER와 같은 jenkins 관련 설정을 할 수 있다.
    JENKINS_HOME="/var/lib/jenkins"
    JENKINS_USER="root"
    vi etc/passwd 를 통해 jenkins가 생성된 것 확인 할 수 있다.
    jenkins:x:997:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false
    jenkins 사용자는 쉘 권한이 없기 때문에 terminal이나 command로 로그인을 할 수 없습니다.
    오로지 jenkins 웹을 통한 작업만 가능하다.
  8. jenkins 시작
    실행
  9. systemctl start jenkins

 

http://호스트주소:9090으로 접속  
  1. Maven plugin 설치, Subversion plugin 설치
  2. http://호스트주소:9090으로 접속
  3. CENTOS 기준
    1) jenkins 계정을 root 그룹으로 추가
  4. 쉘 추가
    cd /usr/local/W03/bin/ sudo ./shutdown.sh sudo rm -rf /home/whitestar/www/app/W03/webapps/ROOT sudo rm -rf /home/whitestar/www/templatesudo mv /var/lib/jenkins/workspace/Admin1/src/main/resources/properties/real/logback.xml /var/lib/jenkins/workspace/Admin1/target/ROOT/WEB-INF/classes/logback.xml
    sudo mv /var/lib/jenkins/workspace/Admin1/src/main/resources/properties/real/system-config.properties /var/lib/jenkins/workspace/Admin1/target/ROOT/WEB-INF/classes/properties/system-config.propertiesWAS_HOME="/usr/local/W03"
  5. sudo cp -R /var/lib/jenkins/workspace/Admin1/target/ROOT /home/whitestar/www/app/W03/webapps/ROOT
    sudo cp -R /var/lib/jenkins/workspace/Admin1/src/main/webroot/* /home/whitestar/www/web/W03/
    sudo cp -R /var/lib/jenkins/workspace/Admin1/target/ROOT/WEB-INF/template /home/whitestar/www/
  6. sudo rm /var/lib/jenkins/workspace/Admin1/target/ROOT/WEB-INF/classes/logback.xml
    sudo rm /var/lib/jenkins/workspace/Admin1/target/ROOT/WEB-INF/classes/properties/system-config.properties
  7. WAS 재구동if [ -z "${TomcatPID}" ]
    then echo "Empty"
    else
    echo "${TomcatPID}"
    kill ps -ef | grep "W03 " | grep -v grep | awk '{ print $2 }'
    fi
    sleep 1
  8. ${WAS_HOME}/bin/shutdown.sh
    ${WAS_HOME}/bin/startup.sh
  9. TomcatPID=ps -ef | grep "W03 " | grep -v grep | awk '{ print $2 }'
728x90

'프로그래밍 > 웹서버' 카테고리의 다른 글

mysql 백업 및 복원 방법  (0) 2022.07.13
728x90

# 폴더는 그대로 유지한 상태에서 파일만 삭제하도록 하는 도스 명령어입니다.

C:\>del /s /f /q D:\TEST

또는 삭제하려는 폴더가 위치한 경로로 들어가서

C:\>del /s /f /q *.*

# 지정한 폴더를 포함한 모든 하위 디렉토리 및 파일을 삭제하도록 하는 도스 명령어입니다.

C:\>rmdir /s /q D:\TEST

# 옵션설명

/S            모든 하위 디렉터리에서 삭제.

/F            읽기 전용 파일을 삭제.

/Q           삭제할 것인지 묻는 메시지를 표시하지 않음.

 

728x90
728x90

1. 도커 정의
도커는 리눅스 상에서 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있도록 도와주며, 
계층화된 파일 시스템에 기반해 효율적으로 이미지(프로세스 실행 환경)을 구축할 수 있도록 해줍니다. 
도커를 사용하면 이 이미지를 기반으로 컨테이너를 실행할 수 있으며, 다시 특정 컨테이너의 상태를 변경해 이미지로 만들 수 있습니다. 
이렇게 만들어진 이미지는 파일로 보관하거나 원격 저장소를 사용해 쉽게 공유할 수 있으며, 
도커만 설치되어 있다면 필요할 때 언제 어디서나 컨테이너로 실행하는 것이 가능합니다.

# 컨테이너는 프로세스의 실행 환경을 격리한다.
  가상머신의 역할을 넘어서 어느 플랫폼에서나 특정한 상태를 그대로 재현가능한 애플리케이션 컨테이너를 관리하는 도구
  운영체제 상에서 지원하는 방법을 통해서 하나의 프로세스(컨테이너)를 실행하기 위한 별도의 환경을 구축하는 일을 지원함.
<프로세스를 격리시켜 실행해주는 도구>

2. 도커 실행 예제
$ docker run -it --rm centos:latest bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
8d30e94188e7: Pull complete
Digest: sha256:2ae0d2c881c7123870114fb9cc7afabd1e31f9888dac8286884f6cf59373ed9b
Status: Downloaded newer image for centos:latest

[root@881189373f8b /]# 
[root@881189373f8b /]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

3. 도커 설치하기
개발환경에서는 도커 포 맥과 도커 포 윈도우를 사용한다.

리눅스 환경에서는 각 배포판에서 제공하는 패키지 관리자를 사용해서 도커를 설치할 수 있다.

* curl이 없다면 sudo apt-get curl로 설치한다.
$ curl -s https://get.docker.com | sudo sh

패키지 관리자에서 도커에서 관리하는 저장소를 추가하고 docker-engine 패키지를 설치한다.

https://get.docker.com을 직접 열어서 스크립트 파일 내용을 확인한다.

*버전 확인

$docker -v

$ cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

$ dpkg --get-selections | grep docker
docker-ce                                       install
docker-ce-cli                                   install

* docker 엔진 및 클라이언트
docker-ce , docker-ce-cli

* 현재 실행중인 모든 컨테이너 목록을 출력한다.
$ docker ps 
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied

* 관리자 권한으로 실행
$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

* docker 그룹에 사용자를 추가한다.
$ sudo usermod -aG docker $USER
$ sudo su - $USER

* sudo 명령 없이도 도커 명령어를 사로 사용할 수 있다.
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

4. 도커 이미지 기초 (docker image)
이미지는 가상머신에서 사용하는 이미지와 비슷한 역할을 한다.

[중요] 이미지는 어떤 어플리케이션을 실행하기 위한 환경이다.
이 환경은 파일들의 집합이다.

도커에서는 애플리케이션을 실행하기 위한 파일들을 모아놓고, 애플리케이션과 함께 이미지로 만들 수 있다.
이 이미지를 기반으로 애플리케이션을 배포한다.

1) 도커 레지스트리에서 centos 이미지를 PULL 받는다.
2) 이 이미지를 통해 컨테이너를 실행한다.

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

도커에서는 docker pull <IMAGE_NAME> 명령어로 이미지를 풀 받을 수 있다.

$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
8a29a15cefae: Pull complete
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

이미지 이름은 :을 구분자로 이미지 이름과 태그로 구분한다.
centos는 centos:latest와 같다.
도커는 먼저 이 이미지를 로컬에서 찾아보고 찾을 수 없으면 토커 공식 저장소에서 찾는다.
저장소에 해당하는 이미지가 존재하면 이미지 pull을 받아온다.
Downloaded newer image for centos:latest centos:latest  이미지가 다운로드 된 것을 알 수 있다.
(별다른 설정 없이 공식 저장소를 통해 이미지를 받아올 수 있다)
예를 들면 리눅스에서 apt, yum이고,
프로그래밍 언어에서는 gem, cpan, pip 같은 패키지다.

* 도커에서는 이미지를 다운 받을 때 install 혹은 download 같은 명령 대신 pull을 사용함.
  이미지를 업로드 할때는  push 명령어를 사용하고,
  새로운 이미지를 생성할 때는 commit을 쓰며,
  이미지의 차이를 확인 할 때는 diff 명령을 사용한다.

* 다운로드 받아온 이미지를 확인한다.
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              470671670cac        8 weeks ago         237MB

* 윈도 10에서 받아온 이미지를 확인한다.
C:\Users\sangrok>docker images
REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE
centos                        latest    5d0da3dc9764   8 months ago    231MB
ghdudwkd4/docker101tutorial   latest    8e5d9e04fe5f   9 months ago    28.2MB
docker101tutorial             latest    8e5d9e04fe5f   9 months ago    28.2MB
alpine/git                    latest    b8f176fa3f0d   12 months ago   25.1MB
jaspeen/oracle-xe-11g         latest    52fbd1fe2d7a   6 years ago     792MB

가. 도커에서는 하나의 이미지를 저장소(repository)라 함.
나. tag는 임의로 붙여진 추가적인 이름이다.(이미지의 version을 확인하기 위해 사용함)
    도커 명령어에서 이미지를 지정할 때 태그를 생략하면 latest가 사용된다.
다. image id는 이미지를 가리키는 고유한 해시 값
라. created는 이미지가 생성된 시간
마. size는 이미지의 용량을 나타냄.

5. 도커 허브(Docker Hub) - 공식 이미지 레지스트리
도커에서 제공하는 이미지 호스팅 서비스 도커 허브D

* docker info를 통해서 클라이언트에 지정된 기본 레지스트리의 주소를 확인할 수 있다.
$ docker info | grep Registry
 Registry: https://index.docker.io/v1

 index.docker.io는 도커 허브의 과거 도메인, 이미지와 관련된 정보는 도커 허브에서 확인함

* 도커사에서 기본 제공하는 이미지
https://index.docker.io/search?q=&type=image

* 도커사에서 공식적으로 제공하는 이미지와 사용자들이 직접 만들어서 올린 이미지로 나눠진다.
우분투, 센트OS, mySql, Redis, wordpress와 같은 공식 이미지를 제공한다.

6. 컨테이너(Container) 이해하기 - 격리된 환경에서 실행되는 프로세스

1) 도커 레지스트리에서 centos 이미지를 풀 받아서 로컬로 다운로드 받는다.
2) 이 이미지를 통해서 컨테이너를 실행한다.

이미지는 어떤 환경이 구성되어 있는 상태를 저장해 놓은 파일 집합.
이미지의 환경 위에서 특정한 프로세스를 격리시켜 실행한 것을 컨테이너라 부른다.

[요점] 이미지는 파일들의 집합이고, 컨테이너는 이 파일들의 집합 위에서 실행된 특별한 프로세스이다.

* 컨테이너는 docker run을 통해 실행한다.
-it 쉘을 실행하기 위해 붙임.
docker run -it <이미지이름:태그> <명령어>
$ docker run -it centos:latest bash
[root@d3fef9c0f9e9 /]#

=>호스트OS와 격리된 환경에서 bash 프로그램을 실행했다고 이해하는 것이 더 정확하다.

실행중인 컨테이너 목록을 확인 하는 명령
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d3fef9c0f9e9        centos:latest       "bash"              3 minutes ago       Up 3 minutes                            sweet_keldysh

1) centos:latest이미지로 컨테이너를 생성
2) 이 격리된 환경에서 /bin/bash라는 명령어로 컨테이너를 실행함.
3) 도커를 실행하기 위해서 container id와 names를 사용함.
4) container id로 컨테이너를 조작할 수 있다.

[root@localhost.localdomain /]# docker ps
CONTAINER ID   IMAGE                         COMMAND                  CREATED         STATUS        PORTS                                                                NAMES
274194ed058c   romeoz/docker-nginx-php:7.0   "/usr/bin/supervisord"   13 months ago   Up 7 months   443/tcp, 9000/tcp, 0.0.0.0:55000->80/tcp                             test5_php_1
bbceaf0f6c49   romeoz/docker-nginx-php:5.6   "/usr/bin/supervisord"   13 months ago   Up 7 months   443/tcp, 9000/tcp, 0.0.0.0:11211->11211/tcp, 0.0.0.0:50000->80/tcp   crezone_php_1
5752d6e2f0ae   mysql:5.6                     "docker-entrypoint.s…"   13 months ago   Up 7 months   3306/tcp                                                             crezone_db_1
88608838407f   adminer                       "entrypoint.sh docke…"   13 months ago   Up 7 months   0.0.0.0:50001->8080/tcp                                              crezone_adminer_1

13개월 전에 컨테이너가 실행되고 있다는 것을 확인함.
 
* 죽은 컨테이너 목록까지 확인
$ docker ps -a

* 종료된 컨테이너 재시작 하기
$ docker restart d3fef9c0f9e9
d3fef9c0f9e9
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d3fef9c0f9e9        centos:latest       "bash"              14 minutes ago      Up 8 seconds                            compassionate_turing
$

* 쉘과 입출력을 주고 받으려면, attach 명령어를 이용한다.
$ docker attach d3fef9c0f9e9
[root@d3fef9c0f9e9 /]#

* 실행된 컨테이너 강제 종료 : stop
* 종료된 컨테이너를 삭제 : rm , --rm 플래그는 컨테이너가 종료 상태가 되면 컨테이너를 자동 삭제한다.
* 가상머신은 컴퓨터라면, 컨테이너는 격리된 프로세스이다.
* 컨테이너는 가상머신이라기 보다는 프로세스이다.

7. 도커와 버전 관리 시스템

1) 도커에서 이미지는 불변(immutable)한 저장 매체이다.
2) 이 이미지 위에 무언가를 더해서 새로운 이미지를 만들어내는 일이 가능하다.
3) 저장소(repository), 풀(pull), 푸시(push), 커밋(commit), 차분(diff) 사용가능함.

* 도커에서 새로운 이미지를 생성하는 과정
$ docker pull ubuntu:bionic
...
$ docker run -it ubuntu:bionic bash
root@65d60d3dd306:/#

이 컨테이너에 Git을 설치한다.
root@65d60d3dd306:/# git --version
bash: git: command not found

어떤 컨테이너와 이 컨테이너의 부모 이미지 간의 파일 변경사항을 확인할 수 있는 명령어를 제공
git diff명령어로 프로젝트의 변경사항을 확인하듯, docker diff명령어로 부모 이미지와 여기서 파생된 컨테이너의 파일 시스템간의 변경사항을 확인.

$ dockre ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
65d60d3dd306        ubuntu:bionic       "bash"              About a minute ago   Up About a minute                       distracted_ardinghelli

$ dokcker diff 65d60d3dd306

아무것도 출력되지 않는다.

* 공식 우분투 이미지는 사용자가 루트로 설정되어 있음
sudo 명령 없이 apt를 직접 사용해 패키지를 설치할 수 있다.
root@65d60d3dd306:/# apt update
...
root@65d60d3dd306:/# apt install -y git
...
root@65d60d3dd306:/# git --version
git version 2.17.1

$ docker diff 65d60d3dd306 | head
C /usr
C /usr/lib
A /usr/lib/ssl
A /usr/lib/ssl/certs
A /usr/lib/ssl/misc
A /usr/lib/ssl/misc/CA.pl
A /usr/lib/ssl/misc/tsget
A /usr/lib/ssl/misc/tsget.pl
A /usr/lib/ssl/openssl.cnf
A /usr/lib/ssl/private

결과가 많으므로 head 앞쪽 부분만 출력 함.
[의미]
A : ADD
C : CHANGE
D : DELETE

$ docker run -it --rm ubuntu:bionic bash
root@33f6039322df:/# git --version
bash: git: command not found
root@33f6039322df:/# exit

* 우분투 이미지에 GIT을 설치함.
$ docker commit 65d60d3dd306 ubuntu:git
sha256:12924460218feb38da74e9a64c95acd55d16297346b2698f47f396936636c93d
$ REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              git                 12924460218f        4 seconds ago       186MB
ubuntu              bionic              4e5021d210f6        8 hours ago         64.2MB
centos              latest              470671670cac        2 months ago        237MB

$ docker run -i -t ubuntu:git bash
root@2a00b9b2b7cc:/# git --version
git version 2.17.1
root@2a00b9b2b7cc:/# exit

* docker rm은 컨테이너를 삭제하는 명령
* docker rmi는 이미지를 삭제하는 명령
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
2a00b9b2b7cc        ubuntu:git          "bash"              2 minutes ago       Exited (130) 3 seconds ago                        cranky_franklin
$ docker rm 2a00b9b2b7cc
2a00b9b2b7cc
$ docker rmi ubuntu:git
Untagged: ubuntu:git
Deleted: sha256:487a3619305e68483059caa21eb54d1d812ced4282df9e2ba05ec46ed9a2b8f4
Deleted: sha256:9b6621e819f094c16ea9f63af90f7cb564a48133c05504fad0f28563865f957d

728x90
728x90

1. 롬복 설치하기

롬복 다운로드로 이동해서 롬복을 다운로드해 주세요.

버전은 2018-03-07일 기준으로 1.18.12 버전입니다.

"jar 파일은 다운로드 중에 컴퓨터를 손상시킬 수도 있다."라는 경고 메시지가 나오는데요,

무시하고 계속을 클릭해서 진행해 주시면 되겠습니다.

728x90
728x90

@Resource @Autowired @Inject 의 공통점은 의존 주입 이다.

또한 특정 Bean 기능을 수행하기 위해 기능에 필요한 특정 Bean을 참조 해야 하는 경우가 많이 발생한다

그럴때 사용하는것이 @Resource @Autowired @Inject 의 어노테이션이다

그럼 이 어노테이션의 차이점과 사용법을 알아보도록 하자.

 

 

@Resource

@Autowired

@Inject

설명

Java 에서 지원하는 어노테이션

Spring Framework 에서 지원하는 Dependency 정의 용도의 어노테이션 자동주입이며 종속적이다

Java 에서 지원하는 어노테이션

사용하는 위치

필드 , 한개의 파라미터인 빈 프로퍼티 setter 메소드

필드 , 생성자 , 여러개인 파라미터 메소드

필드 , 생성자 , 메소드

연결 또는 검색 방식

이름으로 연결 안되면 타입

타입으로 연결 안되면 이름

타입으로 연결 안되면 이름

특이사항

 

스프링프레임워크 종속적이다

 

강제 연결 하기

@Resource(name="title")

@Qualifier("title")

 

 

 

간단한 설명은 이렇게 자세한 설명을 이어가겠다.

 

@Resource

name 으로 DI 를 가능케한다. 자바에서 지원하는 어노테이션 이며 프레임워크에 종속적이지 않아 많이 사용한다. 이걸 추천한다.

다 똑같지만 필요로 하는 자원을 쓰기 위해 어노테이션을 추가해 DI를 한다.

Bean을 생성해주며 싱글톤 패턴이 자동으로 적용이 된다고 생각하면 된다.

 

@Autowired

type으로 DI 를 가능케한다. 스프링 프레임워크에서 지원 하는 어노테이션이면 프레임워크에 종속적이다.

그래서 추천하지는 않는다 왜냐하면 스프링 프레임워크를 쓰다 다른 프레임워크로 수정할 경우에 많은 리소스가 발생한다

다 바꿔줘야하는 부분이... 양이 방대하다면 답이 없고

그래서 나는 Resource를 추천한다 어느 프레임워크에 종속적이지 않기 때문에

이것또한 Bean를 생성하며 싱글톤 패턴이 자동으로 적용이 된다. 타입으로 연결 하기 때문에 같은 타입인 여러개의 필드는 오류가 날것이다

강제 연결 할경우에는 @Qualifier를 사용하면 된다 네임을 붙혀서

 

@Inject

name으로 DI를 가능케한다. 자바에서 지원하는 어노테이션 이며 프레임 워크에 종속적이지 않아 사용해도 좋다

이것은 @Resource 랑 다를게 없지만 다른점이라하면 자바에서 지원하는건데 타입으로 연결한다는 점이다

Autowired 를 사용할거라면 차라리 Inject를 사용하는 걸 추천하는 편이기는 한다

다만 오토와이어는 확실한 의존성이 보장이 되기때문에 이거는 어느걸 추천한다고는 확실히 답변 못주겠다.

알아서 리소스와 코드의 맞게 써라

728x90

'프로그래밍 > java' 카테고리의 다른 글

롬복 설치  (0) 2022.05.19
SVN 락 풀기  (0) 2020.03.12
인터넷이 끊겼을 때 spring xsd 관려  (0) 2020.01.14
String, StringBuffer, StringBuilder의 장단점 및 차이점  (0) 2019.10.11
poi cell Number 포맷 문자로 읽기  (0) 2016.11.04
728x90

형상관리 프로그램 SVN을 사용하다 보면...

lock 걸려서 update도 안되고 commit 도 안되고...

그래서 cleanup을 해서 풀려고 해도 안되고...

 

참으로 짜증날 때가 있다.

 

lock 이 걸리는 부분에 대해서 아직도 정확히 어느시점에 왜?! 걸리는지 모르겠다는...

update 받고 commit 하는데 갑자기 lock 걸려버림...

내가 무슨잘못을 한건지....

 

찾아보면 다들 cleanup 시키라는데

해봤자 lock 이 걸려서 cleanup 자체가 되지 않음

 

 

이래 될때 마다 매번 새로 받을 수도 없는 노릇이고 해서 SVN db를 까봄

 

.svn 폴더를 들어가보면 wc.db 파일이 존재함.

요녀석을 sqlite3 으로 열어봄

 

 

SQLite Browser 다운로드 링크

http://sqlitebrowser.org/

DB Browser for SQLite

News 2016-12-17 - The v3.9.1 binary for OSX has been rebuilt using Qt 5.7.1, to fix an important colour display problem on macOS Sierra. 2016-12-15 - An initial DBHub.io server is online , running our latest development code. Testing and feedback is encouraged . Note - The data on this server will p...

sqlitebrowser.org

 

wc.db 내부 테이블 중에

WC_LOCK, WORK_QUEUE 테이블이 존재함.

 

물론 SVN이 이상없을 시에는 이곳에 데이터가 쌓여있지 않음.

LOCK이 걸려서 이러지도 저러지도 못할때 조회해보면 그 해당 에러났던 파일들이 들어있음.

 

과감하게

DELETE FROM WC_LOCK

DELETE FROM WORK_QUEUE

 

SQL 실행 후 변경사항을 저장시키고 LOCK 걸린곳에서 cleanup을 한 후

update 실행하면 lock이 해제되어 있는것을 볼 수 있다.

728x90
728x90

1. 리눅스 파일명으로 검색하는법.

 

사용법

find [찾을위치] -name [파일명]

 

예) 최상위 폴더부터 하위로 'apache'로 시작하는 파일 찾기.

find / -name 'apache*'

 

예) usr 폴더부터 하위로 'apa'로 시작하는 파일 찾기.

find /usr/ -name 'apa*'

 

 

2. 리눅스 파일 내부 문자열 검색하는법.

 

grep 을 이럴때 유용하게 쓸 수 있습니다.

 

사용법

grep -r [찾을 문자열] [대상파일들]

 

예) 현재 폴더에 있는 test.log 파일내부에 'apache' 라는 문자열 찾기.

grep -r 'apache' ./test.log

 

예) 'var' 폴더부터 하위 모든 파일내부에서 'apache' 라는 문자열 찾기.

grep -r 'apache' /var/* [--include '*.conf'] (include 옵션으로 특정 확장자에서만 검색도 가능하다)

 

 

3. 파일 내부 문자열 검색 다른 방법 (Feat. 강조색)

 

find . -type f -print | xargs grep -i "phpMyAdmin" /dev/null

현재위치부터 하위폴더의 모든 파일중에서 'phpMyAdmin' 이라는 문자열을 검색한다.

 

find . -name '*.conf' | xargs grep -r --color=auto -n 2>dev/null 'phpMyAdmin'

현재 부터 하위 모두를 검색하되,

conf 라는 확장자를 가진 파일중에서 'phpMyAdmin' 이라는 문자열을 검색한다.

그리고 일치 문자열은 강조색으로 표시!

 

 

이상으로 리눅스 파일명으로 찾기, 파일속 문자열 검색까지 알아보았습니다.

728x90

'프로그래밍 > 리눅스' 카테고리의 다른 글

리눅스 특정 폴더 용량 확인하기  (0) 2022.07.27
도커 개념 정리  (0) 2022.05.24
특정 IP만 ssh 접속 허용하기  (0) 2019.05.21
GREP 활용  (0) 2019.04.24
리눅스 파티션 관리  (0) 2016.01.14
728x90
$(document).ready(function(){
  // code
});

-> 브라우저에서 DOM 트리를 생성하고난 후에 실행되게 되는 코드입니다.(DOM is ready)

$(window).load(function(){
  // code
}); 

-> 모든 include 되는 프레임들과 object들, 이미지까지 로드된 이후에 실행됩니다.

출처: https://creator1022.tistory.com/156 [우물안에만 살지말자]
728x90

'프로그래밍 > 자바스크립트' 카테고리의 다른 글

jqGrid 이벤트 설명  (0) 2022.08.09
jQuery 선택자 정리  (0) 2022.07.19
jquery 화면 상단으로 이동  (0) 2019.12.19
자바스크립트 event.keyCode  (0) 2016.04.26
jQuery selectBox 제어  (0) 2016.04.14

+ Recent posts