리눅스에서 날짜 출력

리눅스에서 날짜의 출력

  • 실행형식
    date +“포맷인자”
  • 예시
    date +”%G%m%e%H%M” => 201104111526
    • 날짜가 들어간 파일명으로 파일 생성 예시
      vi aaa_date +"%G%m%e%H%M".txt
  • 포맷인자
%% % 자체를 표시한다.
%a 요일이름을 표시한다. (일..토)
%A 완전한요일이름을 표시한다. (일요일..토요일)
%b 월이름을 표시한다. (1월..12월)
%B 완전한월 이름을 표시한다. (1월..12월)
%c 날짜와 시간을 표시한다. (2007년 11월 14일 (수) 오전 12시 50분 16초)
%C 세기를 나타낸다. (년을 100으로 나눈 몫)
%d 월일 (01..31)
%D 월일 (mm/dd/yy)
%e 월일 (1..31)
%F %Y-%m-%d 와 같다.
%g 년도로 마지막 두자리만 표시
%G 년도로 모든자리 표시
%h %b 와 같다.
%H 시간 (00..23)
%I 시간 (01..12)
%j 년일(001..366)
%k 시간 (0..23)
%l 시간 (1..12)
%m 월 (01..12)
%M 분 (00..59)
%n 개행문자
%N 나노초 (000000000..999999999)
%P 오전 오후
%p 오전 오후
%r 시간 (오전/오후 hh시 mm분 ss초)
%R 시간 (hh시 mm분)
%s UTC 기준 1970-01-01 부터 지금까지 흐른 초
%S 초 (00..60)
%t 탭문자
%T 24시간 (hh:mm:ss)
%u 주중 요일 (1..7), 1이 월요일이다
%U 1년중 몇번째 주인지, 일요일 기준 (00..53)
%V 1년중 몇번째 주인지, 월요일 기준 (00..53)
%w 주중 요일 (0..6), 0은 일요일
%W 1년중 주 번호 (00..53), (월요일이 한주의 시작)
%x mm/dd/yy
%X %H:%M:%S 와 동일
%y 2자리 년도 (00..99)
%Y 4자리 년도 (1970..)
%z +hhmm 숫자형식의 타임존 (-0400)
%:z +hh:mm 숫자형식의 타임존 (-04:00)
%::z +hh:mm:ss숫자형식의 타임존 (-04:00:00)
%::z +hhmm 정확한 형식의 타임존 (-04, +05:30)
%Z 타임존 대한민국은 KST

우분투(ubuntu)에서 타임존 변경하기

우분투에서 현재 시간 및 날짜 확인하기

  • 명령어에 date라고 입력하면 됩니다.
$ date

우분투에서 Timezone 변경하기 #1

타임존(Timezone) 선택

아래에 나오는 /usr/share/zoneinfo/ 에 보면 대륙과 대륙에 해당하는 국가들이 나와 있습니다.
원하시는 국가를 선택해서 경로를 기억합니다.

타임존(Timezone) 변경

아래는 Asia/Seoul 로 변경하는 예제입니다.

$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

우분투에서 Timezone 변경하기 #2

tzselect

다음과 같이 tzselect 명령어를 통해서 CUI를 통해 세팅이 가능합니다.

$ tzselect

시놀로지 역방향 프록시로 PhotoStation 사용하는 법

SSH 접속이 필수입니다. SSH 사용및 접속할수 있다는 가정하에 설명합니다.

1. 패키지 센터에서 Photo Station을 설치합니다.

2. SSH에 접속해 Root 권한을 가져옵니다.

$ sudo -i 
 password: ***** 
 root# _ 

3. 아래 디렉토리로 이동

 root# cd /usr/syno/etc/www/app.d 

4. 아래 내용을 복사해 파일 2개를 생성.

root# vi PhotoStation.json 
{
   "application": "Photo Station",
   "id": "SYNO.SDS.PhotoStation.Instance",
   "alias": "photo",
   "fqdn": "photo.example.com",
   "https": {
       "hsts": false,
       "http2": false
   },
   "alternatePort": {
     "http": 9130,
     "https": 9131
   },
   "injectable": false,
   "index": "index.php",
   "root": "/var/packages/PhotoStation/target",
   "version": 2
}

root# vi PhotoStation.mustache 
{{#server}}
   location = /index.php {
      return 302 /;
   }
   location / {
      rewrite ^/$ /photo/index.php last;
      rewrite ^/~([^\/]+)$ /photo/index.php last;
      rewrite ^/blog/(.+)$ /blog/$1 last;
      rewrite ^/(.+)$ /photo/$1 last;
   }
   {{> /var/packages/PhotoStation/target/etc/SYNO.SDS.PhotoStation/www.PhotoStation.conf}}
{{/server}}

5. 제어판 -> 응용 프로그램 포털에 들어갑니다.

설정에 없던 Photo Station 항목이 새로 생겼습니다.

6. Photo Station 설정

7. 접속해봅니다. 화면이 잘 뜨면 OK

https://photo.mydomain.com
https://photo.mydomain.com/photo
https://photo.mydomain.com/~userid
https://photo.mydomain.com/~userid/photo 

포토스테이션은 뒤에 무조건 /photo가 붙는데, 상기처럼 그것도 떼고 쓸 수 있게 됩니다.

8. 포토스테이션을 완전 삭제할 때는 역순으로 삭제해주세요.

root# cd /usr/syno/etc/www/app.d 
root# rm PhotoStation.json 
root# rm PhotoStation.mustache 

그리고 NAS를 재시작해주세요.

9. 주의사항

SSH에서 ROOT권한으로 작업하니 주의하면서 명령어 입력해주세요.

다른 파일 삭제하면 재설치해야할수도 있습니다.

MakeFile 만드는법

컴파일 예제

파일 개요

a.c (a.h), b.c (b.h), main.c 파일 생성

파일 코드 내용

a.c, a.h, b.c, b.h, main.c 파일 내용은 아래와 같다.

// a.c
#include 

void foo()
{
    printf("foo\n");
}
// a.h
void foo();
// b.c
#include 

void bar()
{
    printf("bar\n");
}
// b.h
void bar();
// main.c
#include "a.h"
#include "b.h"

int main()
{
    foo();
    bar();

    return 0;
}

컴파일 하기

object 파일 생성

$ gcc -c -o a.o a.c
$ gcc -c -o b.o b.c
$ gcc -c -o main.o main.c

→ -c 는 컴파일, 어셈블 수행, -o 는 파일명을 정하는 옵션임

Makefile 만들기

Makefile 구조

Makefile 은 목표(Target), 의존 관계(Dependency), 명령(command)의 세가지로 이뤄짐

target ... : dependency ...
(tab)command1
(tab)command2

Makefile 작성

exefile : a.o b.o main.o
    gcc -o exefile a.o b.o main.o

a.o : a.c
    gcc -c -o a.o a.c

b.o : b.c
    gcc -c -o b.o b.c

main.o : main.c
    gcc -c -o main.o main.c

clean:
    rm *.o exefile

→ vi Makefile 후 위 내용을 입력

Makefile 실행

$ ls
a.c  a.h  b.c  b.h  main.c  Makefile
$ make
gcc -c -o a.o a.c
gcc -c -o b.o b.c
gcc -c -o main.o main.c
gcc -o exefile a.o b.o main.o
$ ls
a.c  a.h  a.o  b.c  b.h  b.o  exefile  main.c  main.o  Makefile

→ 실행 파일인 exefile 이 make 명령을 통해 새로 생성된 것을 알 수 있다.

실행

$ ./exefile
foo
bar

make clean

$ make clean
rm *.o exefile
$ ls
a.c  a.h  b.c  b.h  main.c  Makefile

→ make clean 명령으로 확장자가 o 인 파일과 exefile 이 삭제된 것을 확인 할 수 있다.

Makefile 간단히 만들기

CC=gcc
TARGET=exefile
OBJECT=a.o b.o main.o

$(TARGET) : $(OBJECT)
    $(CC) -o $(TARGET) a.o b.o main.o

a.o : a.c
    $(CC) -c -o a.o a.c

b.o : b.c
    $(CC) -c -o b.o b.c

main.o : main.c
    $(CC) -c -o main.o main.c

clean:
    rm $(OBJECT) $(TARGET)

윈도우 작업표시줄 아이콘 깨짐현상

윈도우를 사용하다 갑자기 특정 프로그램의 아이콘이 깨져서 보인다.

프로그램 사용상에 그리 불편함은 없으니 아이콘이 없으니 어떤게 어떤 프로그램인지 햇갈린다.

아래 첨부파일을 실행시키면 해결된다.

“아이콘깨짐복구.cmd”

@echo off
taskkill /f /im explorer.exe
attrib "%userprofile%\appdata\local\iconcache.db" -s -r -h
del /q "%userprofile%\appdata\local\iconcache.db"
start explorer.exe
exit