xargs, find 명령어

Linux/Common 2013. 5. 8. 01:58 |


xargs 

xargs 명령은 입력된 데이터를 라인 단위로 읽어서 argument화하는 명령이다.

find 명령을 사용하여 검색한 파일에 대한 처리를 위해 파이프로 연결하여 사용한다.


위의 명령은, which 명령에 의해 출력되는 bash 실행 파일의 경로가 /bin/bash인데, 이 결과 값이 파이트와 xargs에 의해 ls -l 아규먼트로 대입되어 결국 ls -l /bin/bash 명령을 수행한 결과를 출력하게 된다.



find

find 명령은 디렉토리 계층에서 파일을 검색하기 위한 명령이다. 

find 명령으로 검색한 결과 값은 하나의 라인에 하나의 파일명이 출력되는데, 이 결과 값을 파이프로 연결하여 여러가지 명령의 아규먼트로 전달하여 원하는 명령을 실행하고 그 결과 값을 얻어낸다.


형식

1) -exec를 사용하여 검색된 결과를 명령의 아규먼트 ({})로 사용한다.

# find ... -exec 명령 {} \;

2) xargs 명령을 사용하여 파이프로 전달된 결과를 표준 입력 아규먼트로 받아서 명령을 실행한다.

# find ... | xargs 명령


find 옵션


 find 옵션

의        미 

 -name 파일명 

 파일명으로 검색한다. 

 -user 유저명 

 유저명 또는 UID로 검색한다. 

 -group 그룹명 

 그룹명으로 검색한다. 

 -perm nnn 

 퍼미션이 nnn인 파일을 검색한다.

 예) -perm 755

 # find . -perm -100 -print

 실행 가능한 --x------ 파일을 찾는다.

 -perm 인자가 마이너스(-) 부호를 가지게 되면 setuid 설정 비트를 포함한 모든 퍼미션 비트들이 검사된다.

 -type x 

 파일 타입이 x인 파일을 검색한다.

 b(블럭 특수 파일), c(문자 특수 파일), d(디렉토리), p(파이프), f(정규표현 일반 파일), l(심볼릭 링크 파일), s(소켓) 

 -atime +n 

 접근 시간이 n일 이전인 파일을 검색한다. (access) 

 -atime -n 

 접근 시간이 n일 이내인 파일을 검색한다. (access) 

 -ctime +n 

 n일 이전에 변경된 파일을 검색한다.

  (change: 내용 수정이 아니라 모드 변경 또는 접근 시간 변경)

 -mtime +n 

 n일 이전에 내용이 수정된 파일을 검색한다. (modify) 

 -mtime -n 

 n일 이내에 내용이 수정된 파일을 검색한다. (modify) 

 -empty

 파일이 비어있고 (0 bytes) 일반 파일, 디렉토리를 검색한다. 

 -newer 파일명 

 파일명의 파일보다 최근에 수정된 파일을 검색한다. 

 -size n 

 파일 블록 크기가 n 이상인 파일을 검색한다.

 b(블럭 -기본값), c(bytes), k(kbytes), w(2바이트 단어) 

 -links n 

 링크된 개수가 n인 파일을 검색한다. 

 -print 

 표준 출력 

 -exec 명령

 검색된 파일을 찾으면 command 명령을 실행한다.

 명령 인자(검색된 파일)는 {}으로 사용하며, 이때 명령 끝은 \;(;이 아님)을 사용해야 한다.

 즉, 명령구분 문자인 ';'을 이스케이프(\) 시켜 주어야 한다.  

 -operator 

 -a: and 연산, -o: or  연산, !: not 연산 

 -path 패턴

 path가 패턴과 일치하는 path에 대해서 검색한다.  

 -regex 패턴 

 파일명이 패턴과 일치하는 정규 표현식에 대해서 검색한다. 



find 명령에서 사용하는 -atime, -ctime, -mtime 옵션에서의 시간들은 일(하루 24시간) 단위이다. 

부호 없는 숫자, 예를 들어 3은 정확하게 3일 전에 끝난 24시간을 의미한다. 다시 말하면 96시간과 72시간 이전 사이를 의미하는 것이다.


마이너스(-) 부호를 가진 숫자는 그 시간 이후에 기간을 가리킨다. 예를 들어, -3은 지금과 3일 전 사이의 모든 시간을 의미한다. 

다시 말하면 0시간 이전과 72시간 이전 사이를 의미하는 것이다.


플러스(+) 부호를 가진 숫자는 그 시간 이전의 기간을 가리킨다. 예를 들면, +3은 3일 이상된 시간을 의미한다.

다시 말하면 72시간 이상 지난 파일을 의미하는 것이다.



# find . -type f -exec file '{}' \;

쉘이 위치한 현재 디렉토리 아래에서 모든 파일을 검색하고 file 명령을 실행한다. 

'{}', 작은따옴표로 둘러싸인 브레이스는 쉘 스크립트에 의해 해석되지 않도록 하기 위한 것이며, find 명령으로 찾은 파일을 의미한다.

세미콜론(;)은 쉘에서 해석되지 않기 위해 백슬래시(\)를 사용하고 있다. 

만약 현재 디렉토리 아래의 grep 디렉토리에서 검색하려면 ./grep 를 지정하면 된다.


# find $HOMe -mtime 0

현재 쉘에 접속해 있는 자신의 홈디렉토리 아래에서 24시간(-mtime 0) 안에 수정된 파일들을 검색하여 출력한다.


# find . -name 'fi*'

현재 디렉토리부터 모든 하위 디렉토리까지 파일명이 fi로 시작하는 모든 파일을 검색하여 출력한다.


# find . -perm 755

현재 디렉토리부터 모든 하위 디렉토리까지 퍼미션이 755인 파일과 디렉토리를 검색한다.

위의 명령은 모든 파일과 디렉토리를 검색하였지만, -type f 옵션을 추가하면 일반 파일만 출력할 수 있다.

# find . -type f -perm 755


# find /home -newer here.sh

/home 디렉토리 아래에서 here.sh 파일보다 최근에 수정된 파일을 검색하여 출력한다.


# find /home -size +1024 -print

/home 디렉토리 아래에서 파일의 블록 크기가 1024 이상인 파일을 검색하여 출력한다.


# find ~/ -type d -print

홈 디렉토리 아래에서 디렉토리들만 검색하여 출력한다.


# find /home \( -name a.out -o -name '*.o' \) -atime +7 -exec rm '{}' \;

/home 디렉토리 아래에서 파일명이 a.out 또는 .o로 끝나는 파일을 검색하고, 7일 동안 사용하지 않은 파일(생성/변경 날짜가 7일 이상된 파일)이면 rm 명령을 사용하여 삭제하도록 하는 명령이다.


# find /tmp -name core -type f -print | xargs /bin/rm -f

/tmp 디렉토리 아래에서 파일명이 core인 파일을 검색하여 출력한다. 이때 검색된 파일 목록은 하나의 라인에 하나의 파일명이 출력되는데, 파이프로 연결된 xargs 명령에 의해 라인 단위로 /bin/rm -f 명령의 아규면트로 전달되어 검색된 모든 파일들을 삭제하게 된다.


# find . -type f -mtime +1 | xargs -n 100 rm -f

find 명령을 사용하여 현재 디렉토리 아래에서 현재 시간보다 하루(+) 전(24시간 내에 작성/수정된 파일만 제외) 에 작성/변경된 파일을 찾으면 라인 단위로 파일 리스트가 쉘에 출력된다.

이 파일 리스트는 하나의 라인당 하나의 파일명이 출력되기 때문에 각 라인의 파일명을 아규먼트화하기 위해 xargs 명령을 파이프로 연결한 다음 -n 100, 즉 100라인 (100개의 아규먼트) 을 한 번에 읽어서 rm -f [아규먼트] 로 치환하여 100개 단위로 검색된 파일들을 삭제하는 명령이다.


'Linux > Common' 카테고리의 다른 글

vim 업데이트 및 gvim 설치  (0) 2014.02.01
분할 압축  (0) 2013.05.26
Linux Theme  (0) 2013.04.28
Linux Theme Settings  (2) 2013.04.07
터미널에서 멀티태스킹하기  (0) 2013.02.02
Posted by scii
:

Linux Theme

Linux/Common 2013. 4. 28. 11:30 |


설치가 되어 있어야 할 것들

레드헷 계열: 

yum install gtk2-devel

데베안 계열 (우분투)

sudo apt-get install libgtk2.0-dev



※ 주의 사항:

우분투 13.04에서 libgtk2.0-dev 를 설치하니까 스크린 샷이나 바탕화면을 녹화했을 때, 검정색으로 나오는 에러가 발생함.

13.04에서는 설치하지 않아야 함.



Equinox Theme

http://gnome-look.org/content/show.php?content=121881&forumpage=1&PHPSESSID=ccac437ae6db2b803984fb3588d80cd8

tar xvfz 121881-equinox-1.50.tar.gz

cd equinox-1.50

./configure --prefix=/usr --enable-animation

./configure --prefix=/usr --libdir=/usr/lib64 --enable-animation

make

make install


faenza icon theme

https://code.google.com/p/faenza-icon-theme/downloads/detail?name=faenza-icon-theme_1.1.tar.gz&can=2&q=

yum, apt-get 으로 설치해도 되고, 압축 파일을 받아 압축을 풀고 /usr/share/icons 디렉토리에 옮겨 놓으면 된다.


equinox evolution themes

yum, apt-get 으로 설치해도 되고, 압축 파일을 받아 우분투 계열은 ~/.theme 에 넣으면 되고, 레드햇 계열은 system > preference > appearence 에서 압축 파일을 선택 후 설치를 누르면 된다.



'Linux > Common' 카테고리의 다른 글

분할 압축  (0) 2013.05.26
xargs, find 명령어  (0) 2013.05.08
Linux Theme Settings  (2) 2013.04.07
터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
Posted by scii
:

Linux Theme Settings

Linux/Common 2013. 4. 7. 00:24 |


equinox gtk engine

미리 설치가 되어있어야 할 것들

# yum install gtk2-devel (Redhat 계열)

# sudo apt-get install libgtk2.0-dev (Debian 계열)


Install

http://gnome-look.org/content/show.php?content=121881&forumpage=1&PHPSESSID=ccac437ae6db2b803984fb3588d80cd8

여기로 가서 엔진을 다운 받는다. 그 후 다음 명령들을 수행한다.

tar xvfz 121881-equinox-1.50.tar.gz

cd equinnox-1.50

./configure --prefix=/usr --enable-animation

./configure --prefix=/usr --libdir=/usr/lib64 --enable-animation

make

make install


Faenza Icon Theme

http://gnome-look.org/content/show.php?content=121881&forumpage=1&PHPSESSID=ccac437ae6db2b803984fb3588d80cd8

여기로가서 faenza-icon-theme_1.1.tar.gz 를 다운 받고 압축을 푼다. 그 후 /usr/share/icons 디렉토리로 옮겨 놓으면 된다.

ex) mv exam/* /usr/share/icons/


equinox evolution themes

http://gnome-look.org/content/show.php?content=121881&forumpage=1&PHPSESSID=ccac437ae6db2b803984fb3588d80cd8

여기로 가서 equinox-themes.tar.gz. 를 다운받는다. 그 후 "system > preference > appearence 에서 install 을 눌러 tar.gz 파일을 선택한다.

설치된 테마는 ~/.themes 디렉토리에 저장된다.



테마를 적용한 모습


'Linux > Common' 카테고리의 다른 글

xargs, find 명령어  (0) 2013.05.08
Linux Theme  (0) 2013.04.28
터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
Posted by scii
:

리눅스 터미널에서 멀티태스킹 하는 방법


터미널에서 vim을 이용해 작업을 하다가 터미널에서 다른 작업이 필요한 경우, ctrl + z 를 눌러 현재 작동 중인 포어그라운드(fore ground) 프로세스를 잠시 정지 시킬 수 있다. 


이렇게 포어그라운드 프로세스를 정지 시켰을 경우나오는 결과이다.


Stopped 앞에 나온 번호(여기서는 1)는 작업 번호이다. 이 작업 번호를 이용해서 터미널에서 'fg %작업번호' 라고 명령하면 정지된 작업을 다시 불러올 수 있다. 

예들 들어 'fg %1' 이라고 하면 1번 작업을 다시 불러오게 된다. 인수없이 fg를 실행하면 가장 최근에 중지된 작업을 불러온다. 



'Linux > Common' 카테고리의 다른 글

Linux Theme  (0) 2013.04.28
Linux Theme Settings  (2) 2013.04.07
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
리눅스 C++ 컴파일  (0) 2012.05.02
Posted by scii
:

우분투 12의 default gcc 버전은 4.6이다. 그런데 내가 필요한 gcc 버전은 4.4 버전이다. 

그래서 4.6을 지우고 4.4로 다시 설치하기 보다는 4.4버전을 추가로 설치하기로 하였다.

그에 대한 완벽하게 설명이 되어있는 웹페이지~!! Good

http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/


gcc 4.4는 bulild-essential이 기본적으로 설치가 되어있어야 한다. 

sudo apt-get install build-essential 로 설치한다.


which g++ gcc 명령으로 path를 검색할 수 있다.

gcc --version 으로 gcc의 버전을 확인할 수 있다.


그 후 내가 원하는 버전의 gcc를 설치한다. (밑의 명령으로 해도되고, 아니면 위의 웹페이지 방식으로 해도된다.)

sudo apt-get install gcc-4.4 gcc-4.4-multilib g++-4.4 g++-4.4-multilib

설치가 완료된 후에 설치된 gcc package 들을 다음과 같이 확인할 수 있다.

dpkg -l |grep gcc | awk '{print $2}'


ls -lh /usr/bin/g++* 명령으로 두개의 gcc가 공존하는지 볼 수 있다.


sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4


이렇게 alternatives 함수를 이용하여 사용자가 버전을 선택할 수 있게 설정할 수 있다.

그리고 선택은

sudo update-alternatives --config gcc

이 명령으로 할 수 있다.  이 명령으로 버전을 선택하고, g++ --version 을 확인하면 바뀐 것을 볼 수 있다.


'Linux > Common' 카테고리의 다른 글

Linux Theme Settings  (2) 2013.04.07
터미널에서 멀티태스킹하기  (0) 2013.02.02
리눅스 ps 명령 프로세스  (0) 2012.12.25
리눅스 C++ 컴파일  (0) 2012.05.02
쉘에서 간단한 명령내리는 프로그램  (0) 2012.05.02
Posted by scii
:

ps 명령어

- 현재 리눅스에서 돌아가고 있는 프로세서를 확인 하기 위해 사용하는 명령어

- 보통 ps -ef, ps -aux 를 많이 쓴다.

옵션

-a : 현재 실행중인 모든 프로세서 출력

-e : 모든 프로세서 정보

-f : 풀 포멧

-u : 사용한 사람과 사용 시간

-w : 작은 창이어도 한줄로 출력하게 하는 옵션

-x : 히든 프로세스



<ps -aux 구조>

# ps -aux | more


USER    PID    %CPU    %MEM    VSZ    RSS    TTY    STAT    START    TIME    COMMAND   


USER 

프로세스 실행 사용자 

PID 

프로세스 ID 

%CPU     %MEM 

최근 1분동안 프로세스가 사용한 CPU와 메모리 백분율(%) 

RSS 

사용하는 실제 메모리 크기 

TTY 

프로세스를 제어하고 있는 터미널 

STAT 

프로세스 상태 코드 


STAT 코드:

indisk wait (입력을 기다리는 상태) 

runable (실행 대기중인 상태) 

sleep (실행 상태에서 휴면) 

zombie (프로세스가 끝나도 안꺼진 상태) 


ps -auxw | more 이렇게 써도 되고 아니면, ps -auxwef | grep 사용자 | more

- 모든 프로세스, 히든 프로세스 포함, 사용중인 사용자 내용을 출력함.



'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 C++ 컴파일  (0) 2012.05.02
쉘에서 간단한 명령내리는 프로그램  (0) 2012.05.02
리눅스의 디렉토리 구조  (0) 2012.05.02
Posted by scii
:

리눅스에서 기본적인 C 또는 C++ 컴파일 하기


윈도우즈에서는 일반적으로 Visual C++로 소스 코드를 작성하고 컴파일을 한다. 그리고 무료 컴파일러를 안다면 Dev C++ 또는 Eclipse을 사용하기도 한다.

리눅스도 마찬가지로 이러한 IDE(Integrated Development Environment)를 가지고 있다. Eclipse는 윈도우즈 뿐만 아니라 리눅스도 지원하고 있으며, 다른 IDE로는 Code::Blocks, KDevelope 등이 있다.(추가적인 것은http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments 참조)

하지만 여기서는 이러한 잡다한(?) 기능이 많이 들어 있는 IDE보다는 콘솔 창에서 gcc를 이용하여 컴파일하는 방법에 대해서 소개하겠다.



그 전에, 소스를 코딩해야 하는데, 만약 윈도우즈를 포함하여 위 IDE들이 없다면 아주 단순한 텍스트 에디터에서 코딩을 해도 된다.

C 소스 또한 텍스트 문자로 되어 있는 텍스트 파일이기 때문이다. 즉, 윈도우즈에서 메모장을 열고 소스를 코딩한 다음 .c 파일로 저장을 해도 c 소스 파일이 된다. 다만, 메모장 같은 단순한 텍스트 에디터의 경우 코딩을 하는데 많이 불편하기 때문에 안쓰는 것 뿐이다.
(윈도우즈에서 추천하는 고급 텍스트 에디터로는 Notepad++ 나 UltraEdit 등을 사용하면 된다.)

리눅스 또한 마찬가지로 기본적으로 내장되어 있는 텍스트 에디터를 사용하면 된다. 거의 모든 리눅스 배포판에 있는 텍스트 에디터로는 Vi나 Emacs 가 있다.

그러나 이들 에디터는 예전부터 쓴 만큼 당연히 GUI 에디터가 아니다. 따라서 이들 에디터는 윈도우즈 메모장처럼 바로 쓰기에는 약간 불편하다.(하지만 익히고 나면 매우 편리하고, GUI가 아닌 환경에서도 매우 강력하게 쓸 수 있다는 장점이 있다.)

우분투(Gnome 계열)의 경우 Gedit 이라는 기본 에디터가 있고, 쿠분투(KDE 계열)의 경우 Kate 라는 기본 에디터가 존재한다.

이들 에디터들은 메모장보다는 더 많은 기능이 포함되어 있고, 프로그래밍을 도와줄 수 있도록 문법 강조 기능이나 들여쓰기 기능들이 존재한다.

Gedit이나 Kate 모두 메뉴 설정에 강조 기능이 존재해서, 적절한 언어를 선택해주면 문법 특징들을 강조해준다. Kate의 경우에는 더 기능이 강력하여 들여쓰기 및 정렬 기능까지 존재한다.

어쨌든, Vi나 Emacs를 쓰면 좋겠지만, 당장 코딩을 해야 하거나 앞의 에디터들이 불편하다면 Gedit이나 Kate를 사용해도 된다.



이제, 소스 코딩을 할 수 있는 에디터를 알았으므로 코딩을 완료하고 소스 파일을 저장하자.

그 다음 gcc를 이용해서 소스를 컴파일하면 되는데, 먼저, gcc가 있는지 확인해보자.

우분투의 경우 프로그램에서 터미널을 열고(쿠분투는 Konsole) gcc -v 를 입력하여 gcc의 버전이 출력되는지 확인해보자. 버전이 출력된다면 gcc가 있는 것이고 출력 되지 않는다면 gcc가 없다는 것이다.

우분투 10.10의 경우 기본적으로 내장되어 있지만 쿠분투의 경우 gcc가 설치되어 있지 않으므로 KPackageKit에서 gcc를 검색하여 설치를 해주자.

sudo apt-get install gcc    // c 컴파일러 설치

sudo apt-get install g++    // c++ 컴파일러 설치

이제 gcc 까지 준비가 되었으므로 컴파일을 해보자.

컴파일을 하려면 소스 파일이 있는 위치를 알려줘야 하는데, 파일이 있는 위치를 알려주기보다는 직접 이동한 후 그 위치에서 명령을 입력하는 것이 더 편하므로 폴더를 먼저 이동하자.

폴더를 이동하는 방법은 cd(change directory) 명령이다. "cd 폴더 경로"를 입력해주면 그 폴더로 이동이 된다.

예를 들어 cd /usr/share 라고 쳐주면 최상위 폴더인 / 폴더 내에 usr 내에 share 폴더로 이동한다.(참고로 윈도우즈는 최상위 폴더가 C 드라이브이지만 리눅스는 루트 폴더인 / 이다.)

또는, "cd 폴더" 만 입력해주어도 현재 위치에 있는 폴더로 이동하게 된다.

참고로 폴더 경로에서 ..은 상위 폴더를 의미하고, . 은 현재 폴더를 의미한다. 즉, /usr/..의 의미는 / 와 같다. 그리고 이후에 파일을 실행할 때 ./ 을 입력하게 되는데, 이것은 현재 폴더를 의미한다. 즉, ./file 은 현재 폴더에 있는 file을 의미하게 된다.



이제 폴더를 이동했으니, 진짜 컴파일을 해보자. 기본적인 gcc 컴파일 방법은 gcc file이다. 그러면 소스 파일을 컴파일하여 실행 파일 하나를 내놓는데, 기본 이름이 a.out으로 되어 있다.

만약, 이것을 실행하고자 한다면 ./a.out 을 입력해주면 된다.

간단하게 이렇게 컴파일하고 이름을 변경해도 되지만 좀 더 강력한 기능을 사용하기 위해 다음과 같이 컴파일할 수 있다.

gcc -W -Wall -O2 -o file src1.c src2.c


위 명령어는 src1.c 와 src2.c 파일을 컴파일 해서 file 이라는 이름으로 실행 파일을 만들으라는 것이다.

-W 와 -Wall 옵션은 경고를 출력하라는 의미인데, 이것을 붙이지 않으면 에러일 경우에만 gcc가 컴파일을 중단하고 출력을 해준다. 경고도 보기 위해서는 위 옵션을 적절하게 사용하면 된다.

그리고 -O2 는 최적화 옵션으로 2단계 최적화를 하겠다는 것이다. 옵션 종류로는 -O0, -O1, -O2, -O3, -Os 가 있다. 가장 많이 쓰는게 -O2이고, -O0 는 최적화 하지 않겠다는 것으로 기본값이다.

위와 같이 소수의 파일만 있을 때는 저러한 명령으로 컴파일 해도 되지만 c 파일이 많아 진다면 파일 명을 입력하는 것이 귀찮아질 것이다.

간단하게 src1.c src2.c 부분을 *.c 로 고쳐주면 현재 폴더 내의 모든 c 파일을 컴파일하게 된다.
(참고로, .h 파일은 추가해주지 않아도 링커가 알아서 연결해준다.)

그리고 gdb(디버거)를 사용하게 된다면 -g 옵션을 추가해서 디버깅 정보를 삽입하도록 명령을 내릴 수 있다.

이 정도만 알고 있어도 C를 공부하거나 간단하게 컴파일할 때 바로 적용하여 사용할 수 있다.

참고로 위 명령어를 계속 쓰다보면 당연히 지루하고 불편한 작업이 될 수 밖에 없다. 따라서 나같은 경우 위 명렁어를 하나의 별칭으로 지정해서 간단하게 사용한다.

홈 폴더(계정 폴더)에 .bash_aliases 파일(.을 반드시 붙여주자)을 생성한 다음 그곳에 다음 내용을 추가해주자.


alias fgcc='gcc -g -Wall -W -O0 -o ./file ./*.c'

그러면 fgcc 명령만 입력하더라도 현재 폴더 내에 있는 모든 C 파일을 컴파일 하여 실행 파일 file로 만들게 된다.


위 명령에서 필요한 부분을 적절하게 변경해서 사용하며 된다.

마지막으로 C++에서도 gcc와 똑같이 사용하면 되는데, gcc 대신 g++를 사용하면 된다.



이 외에 더 필요한 것들은 gcc 맨페이지(man gcc 명령)를 참고하여 사용하면 된다.

그리고 큰 프로젝트처럼 파일 종류가 많아지고, 폴더까지 필요해진다면 makefile을 작성하여 사용하면 된다.


출처 : http://blog.bluekyu.me/2011/03/c-c.html

'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
쉘에서 간단한 명령내리는 프로그램  (0) 2012.05.02
리눅스의 디렉토리 구조  (0) 2012.05.02
Posted by scii
:

#include <stdio.h>

main()
{
       int i;
       char gg[50];

       for(i=1; i<=5; i++)
       {
              sprintf(gg, "ping -c 1 211.117.26.%d | grep from",i);
              system(gg);
       }
 
       return 0;
}


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

#include<stdio.h>

int main(void)
{
       char tt[50];
       int i;

       for(i=0;i<5;i++)
       {
              sprintf(tt, "cp ~/Desktop/sun/lang.c ~/Desktop/sun/HaHa%d", i);
              system(tt);
       }
       return 0;
}

'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
리눅스 C++ 컴파일  (0) 2012.05.02
리눅스의 디렉토리 구조  (0) 2012.05.02
Posted by scii
: