달력

1

« 2025/1 »

  • 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
2016. 2. 9. 21:24

파일 및 폴더 이동 명령어 - cp , mv Lilux2016. 2. 9. 21:24

cp

파일이나 폴더를 다른 디렉터리에 복사시키는 명령어

cp    [옵션]    [복사할 대상]    [목적지의 위치 및 이름]


[복사할 대상]에는 복사하고자 하는 파일이나 폴더를 입력한다. 이때 복사대상은 절대주소든 상대주소든 상관없이 주소를 적어줘야 한다.

[목지지의 위치 및 이름]에는 붙여쓰기 할 위치를 적거나 복사를 할 때 바꿀 이름을 적는다. 

최종 목적지의 이름이 존재하지 않으면 그 이름으로 복사 대상의 이름을 바꿔서 저장한다.

폴더를 복사할 경우 [옵션]에 -r 넣어준다.

cp    test    ../folder2/copy_test

- /folder2 폴더가 없으면 오류.

- /folder2/copy_test 폴더가 없으면 test파일을 folder2폴더 아래에 copy_test라는 이름으로 복사. => /folder2/copy_test

- /folder2/copy_test 폴더가 있으면 test파일을 folder2폴더 아래로 복사. => /folder2/copy_test/test



예)

위의 예제에서 folder2는 비어있는 폴더이다.

folder1에는 test라는 파일이 있으며 파일의 내용은 "hello / world" 이다.

이제 folder1에 있는 test라는 파일을 forder2에 복사해보자.


 맨 윗줄의 명령어는 파일 test를 folder2에 copy_test라는 이름으로 복사한 것이다.

확인하기 위해서 folder2로 이동하면 copy_test라는 파일이 생긴것을 알 수 있고 그 내용이 folder1에 있던 test와 같음을 확인하였다. 



mv

파일이나 폴더를 다른 디렉토리로 옮기는 명령어.

mv    [옵션]    [원본 파일이나 폴더]    [목적지 폴더 및 이름]


사용 원리는 cp와 똑같다. 

다만 차이점은 cp를 쓰면 원본 파일이 원래 있는 디렉터리에 그대로 있지만 mv를 쓰면 원래 파일은 없어진다.


예)

위의 cp 예제에 이어서 바로 mv명령어를 써보았다. 

    

현재 folder1에는 test라는 파일이 있다.

mv명령어로 folder2로 파일을 origin_test라는 이름으로 바꿔서 옮긴다음에는 folder1에 test파일이 없는 것을 확인할 수 있다.






'Lilux' 카테고리의 다른 글

부트로고 변경하기  (0) 2016.02.12
api 천국  (0) 2016.02.12
system() 함수  (0) 2016.02.11
vi 에디터 꾸미기  (0) 2016.02.09
리눅스 기본 명령어  (0) 2016.01.31
:
Posted by youjin.A
2016. 2. 9. 19:20

vi 에디터 꾸미기 Lilux2016. 2. 9. 19:20

/ect/vim 폴더에 vimrc라는 파일이 있는데 이것이 vi의 설정 파일이다.

여기에 있는 내용들을 모두 지우고 다음의 명령문들을 복붙하면 vi 에디타에 각 줄의 넘버와 들여쓰기 등등의 기능을 쓸 수 있다.


  set autoindent " 자동으로 들여쓰기를 한다.

  set cindent " C 프로그래밍을 할때 자동으로 들여쓰기를 한다.

  set smartindent " 좀더 똑똑한 들여쓰기를 위한 옵션이다.

  set nowrapscan " 검색할 때 문서의 끝에서 다시 처음으로 돌아가지 않는다.

  set nobackup " 백업 파일을 만들지 않는다.

  set visualbell " 키를 잘못눌렀을 때 삑 소리를 내는 대신 번쩍이게 한다.

  set ruler " 화면 우측 하단에 현재 커서의 위치(줄,칸)를 보여준다.

  set tabstop=4 " Tab을 눌렀을 때 8칸 대신 4칸 이동하도록 한다.

  set shiftwidth=4 " 자동 들여쓰기를 할때 4칸 들여쓰도록 한다.

  set number

  set bs=2

  set nocp

  colorscheme evening

  syntax on

  if $LANG[0] == 'k' && $LANG1 == 'o'

  set fileencoding=korea

  endif


다음은 위의 설정들을 적용한 다음 vi에티터를 쓴 화면이다.



'Lilux' 카테고리의 다른 글

부트로고 변경하기  (0) 2016.02.12
api 천국  (0) 2016.02.12
system() 함수  (0) 2016.02.11
파일 및 폴더 이동 명령어 - cp , mv  (0) 2016.02.09
리눅스 기본 명령어  (0) 2016.01.31
:
Posted by youjin.A
2016. 2. 8. 22:56

74HC595 hello world! 아두이노/출력2016. 2. 8. 22:56

우노는 I/O핀이 총 20개인데 74HC595를 사용하면 핀 3개를 이용해서 사용할 포트를 거의 무한대로 늘릴 수 있다!!!

74HC595는 시프트 레지스터 중 하나인 직렬 입력/병렬 출력 시프트 레지스터에여.

칩 하나당 데이터 핀1에 8개의 출력을 병렬로 낼 수 있다는 것이죠!

그 원리는 테블렛을 산 기념으로 동영상으로 설명 ㅋㅋ

회로:

 

ST_CP에 1uF 커패시터가 GND와 연결되어 있는데, 이게 없으면 업로드 할 때, LED가 다 꺼진다.

즉, 업로드 전 LED상태 -> LED다 꺼짐-> 업로드한 LED상태로 ...

별 문제는 아니지만 왜 이런 현상이 일어나는지는 잘 모르겠다.

1uF을 붙여주면 업로드 전 LED상태 -> 업로드한 LED상태로 정상적으로 넘어간다.

 

 

이미지 뽑기:

http://www.georgegardner.info/electronics/arduino/easy-font-creation-for-led-matrix-from-truetype-system-fonts.html

이 사이트에서 글 읽다가 엄청난 프로그램 발견!!
http://www.mikroe.com/glcd-font-creator/#/ GLCD font creator라는 무료 프로그램이다.
이 프로그램은 이용하면 원하는 이미지를 내가 그리면 자동으로 16진수로 나온다.
원래는 노가다로 해야됨... ㅋㅋ
예를 들어 파일->뉴폰트->뉴를 클릿해서 내가 다음과 같은 이미지를 그리면~

 

 

그리고 파일->뉴폰트->임폴트를 누르고 mikro C를 누르면 아래와 같이 16진수가 나옴

 

 

 

코드:

위에서 설명한 595의 원리를 이용해서 다음 이미지를 순차적으로 한줄로 나오게 해봤다.

그러므로 만든 것을 좌우로 빠르게 흔들면 다음과 같은 이미지를 볼 수 있을 것이다.

이것은 POV 즉, 잔상효과의 기본 원리가 되죵

 

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
32
33
34
35
36
37
const int DS = 2;
const int SH_CP = 3;
const int ST_CP = 4;
int image[]={0x08, 0x18, 0x3C, 0x7E, 0xFF, 0x7E, 0x3C, 0x18};
 
void setup()
{
  pinMode(DS, OUTPUT);
  pinMode(SH_CP, OUTPUT);
  pinMode(ST_CP, OUTPUT);
}
 
void loop()
{
  for(int i=0; i<8; i++){
  update74595(image[i]);
  delay(500);
  }
}
 
void update74595(int data)
{
  digitalWrite(ST_CP, LOW);
  shiftData(DS, SH_CP, data);
  digitalWrite(ST_CP, HIGH);//rising edge on storage register
}
 
void shiftData(int DS, int SH_CP, int data)
{
  for(int i=7; i>=0; i--)
  {
    digitalWrite(SH_CP, LOW);
    boolean oneBit = bitRead(data, i);
    digitalWrite(DS, oneBit);
    digitalWrite(SH_CP, HIGH);//rising edge on shift register
  }
}

 

 

 

:
Posted by youjin.A