본문 바로가기

반응형

전체 글

파일개수 및 디렉토리 개수 구하기 (wc 명령 이용) * 현재 디렉토리 하부에서 개수를 구하려면, 아래의 "{directory}" 를 삭제하거나, "./" 로 변경해서 실행 * 특정 디렉토리 하부에서 개수를 구하려면, 아래의 "{directory}"를 해당 경로로 변경해서 실행 ○ 현재 디렉토리의 파일 개수 $ ls -l {directory} | grep ^- | wc -l ○ 현재 디렉토리와 하부 디렉토리를 포함한 파일 개수 $ ls -Rl {directory} | grep ^- | wc -l ○ 현재 디렉토리의 하부 디렉토리 개수 $ ls -l {directory} | grep ^d | wc -l ○ 응용 count=`ls -l {directory} | grep ^- | wc -l` if test $count -gt 0; then echo "direct.. 더보기
확장자에 따른 파일 목록 작성 리눅스 쉘에서 사용 # with a bash for loop for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done # or with printf printf "file '%s'\\n" ./*.wav > mylist.txt 윈도우즈 cmd line(dos, powershell) 에서 사용 (for %i in (*.wav) do @echo file '%i') > mylist.txt 윈도우즈 배치파일(.bat)에서 사용 (for %%i in (*.wav) do @echo file '%%i') > mylist.txt 더보기
Docker로 Hadoop 클러스터 구축 (기본 구성) Hadoop base 이미지 생성 기본 centos 이미지 위에서 hadoop 클러스터 구축을 위한 이미지를 만들어보자 centos 컨테이너 생성 및 접속 $ docker run -it --name hadoop-base centos7 필요 디렉토리 생성 $ mkdir -p /home/hadoop 하둡 홈 디렉토리 $ mkdir -p /home/hadoop/tmp 하둡 환경에서 발생하는 로그 등의 파일 저장 필요 패키지 설치 $ yum install -y net-tools $ yum install -y vim-enhanced $ yum install -y wget $ yum install -y openssh-server openssh-clients openssh-askpass $ yum update -y .. 더보기
AIX의 TCP/IP 문제 진단시 필요한 정보들 오래된 내용이므로 현 상황과 맞지 않을 수 있다. 유닉스및 AIX에서는 그 통신방법으로 TCP/IP를 사용하는 것이 매우 보편화 되어 있다. 하지만, 이의 적용및 운용에 대한 자세한 정보가 알려져 있지 않으며, 최근 TCP/IP의 사용이 더욱 일반화되면서, 많은 문제들이 TCP/IP상에서 발생하는 경우가 많은데, 이러한 경우 어떻게 문제를 진단하여야 하는 방법에 대하여 그리 익숙하지 않은 경우가 많다. 다음의 내용은 TCP/IP에 관련한 문제를 해결하기 위하여 아이비엠의 협조를 받고자 하는 경우에 필요한 관련 정보를 수집하는 절차이며, 이를 참조로 하면 어떤 절차를 걸쳐 문제를 해결하는가에 대한 힌트를 얻을 수가 있으리라 여겨진다. Note: 다음의 내용에서 ”파일 이름”과 REDIRECTION(">>".. 더보기
리눅스 기본 보안 설정(RedHat Linux 7.3) 오래된 버전의 내용이므로 현재의 상황과 다를 수 있다. 일반 접속자 관련 유틸리티 아래의 명령어들은 사용자의 로그인 정보에 대한 것을 알 수 있는 것들이다. who : 현재 로그인 된 사용자의 목록을 보여준다. /var/log/utmp 파일을 참고한다. w : 로그인 되어 있는 사용자가 현재 무슨 작업을 하고 있는지 보여준다. last : 최근에 로그인 한 사용자의 목록과, 로그인 및 로그아웃 시간, 접속한 곳의 IP등을 보여준다. /var/log/wtmp 파일을 참고한다. lastb : /var/log/btmp 파일을 참고하는 것과, 모든 접속 시도에 대해서 보여준다는 것을 제외하고는 last 명령과 같다. lastlog : 사용자가 마지막으로 로그인한 시간을 보여준다. /var/log/lastlog .. 더보기
C99, C11에서 변경된 점 C99에 추가되거나 변경된 기능C99는 다음과 같은 기능들을 포함하고 있다. 이들 중 일부는 이미 일부 컴파일러에 확장 기능으로서 포함된 적이 있다. 인라인 함수의 도입변수의 선언은 더 이상 파일 범위나 복합 명령어의 시작에서만 할 필요가 없다.long long int, 선택적인 확장 정수형, 명시적 불린 자료형, 그리고 복소수를 나타내기 위한 complex 자료형 등 새로운 자료형 도입가변 길이 배열(VLA: variable-length array)float read_and_process(int n){ float vals[n]; for (int i = 0; i < n; i++) vals[i] = read_val(); return process(vals, n);}BCPL이나 C++와 같은 //로 시작하는.. 더보기
ssize_t, size_t 그리고 pid_t ssize_t, size_t, pid_t 는 고전적인(primitive) 자료형이라 한다. 일반적으로 헤더에 선언되어 있는데, 사실 C의 typedef 선언을 통해서 정의되어 있다. 즉 새롭게 등장한 것이 아니라, 잘 알고 있는 int, float, long과 같은 기본 자료형을 가지고, 이름만 바꾸어 정의해 놓은 것이다. 이러한 자료형들은 꽤 오래 전부터 존재하고 있엇다. 그렇다면 도대체 왜 이러한 것을 정의해 놓고 사용하는 것일까?? int, short, float 라고 하면 사용하기 편할 텐데... 지금은 int가 32비트라고 한다. 보편적으로 사용되는 운영체제와 컴퓨터가 32비트이기 때문이다. 과거 16비트 시설에는 int가 16비트였고 곧 64비트 시대가 도래 할 것이다. 즉, 시스템에 따라서 .. 더보기
C 와 C++에서 구조체 정의의 차이점 C 와 C++에서 구조체 정의의 차이점 typedef struct { int data; int text;} S1;// S1을 자료구조(typedef) 구조체로 정의한다. C와 C++에서 사용가능하다. struct S2 { int data; int text;};// S2를 자료구조(typedef) 구조체로 정의한다. 이것은 C++에서만 사용하며, C에서는 에러가 발생한다. 위의 S1, S2의 방식으로 자료구조형으로 구조체를 정의한 경우 다음과 같이 변수를 선언해 줘야 한다. struct S1 AAA;struct S1 BBB, CCC;struct { int data; int text;} S3;// 구조체 변수 S3를 선언한다.// S3는 위의 S1, S2와는 완전히 다르다.// S3는 자료구조(typedef.. 더보기

반응형