Linux 파일 시작 부분 표시

LinuxBeginner
지금 연습하기

소개

넥서스 퓨처 테크 랩 (Nexus Future Tech Lab) 에 오신 것을 환영합니다. 이곳은 과학과 기술의 경계를 넓히기 위해 가장 뛰어난 인재들이 모이는 아방가르드 과학 허브입니다. 랩의 존경받는 과학자 중 한 명으로서, 여러분은 현재 양자 컴퓨팅 효율성에서 획기적인 발전을 이끌어낼 수 있는 패턴을 발견하기 위해 방대한 데이터 세트를 분석하는 중요한 프로젝트에 참여하고 있습니다.

오늘의 목표는 대용량 파일의 시작 부분을 빠르게 검사하는 데 필수적인 Linux 명령어 head를 숙달하는 것입니다. 이 기능을 통해 전체 데이터 세트를 메모리에 로드하지 않고도 초기 데이터 패턴을 검토할 수 있으므로, 빠르게 진행되는 실험 환경에서 귀중한 시간과 컴퓨팅 리소스를 절약할 수 있습니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 97%의 긍정적인 리뷰율을 받았습니다.

head 명령어 기본 사용법

Linux 의 head 명령어를 사용하면 텍스트 파일의 시작 부분을 볼 수 있습니다. 이는 초기 내용만 검사해야 하는 대용량 데이터 파일 작업 시 특히 유용합니다.

작업할 샘플 데이터 파일을 만들어 보겠습니다. 이 파일은 프로젝트 디렉토리에 생성합니다.

  1. 먼저, 프로젝트 디렉토리에 있는지 확인합니다.
cd ~/project
  1. 이제 quantum_data.txt라는 이름의 파일을 샘플 데이터와 함께 생성해 보겠습니다.
echo -e "Qubit1,Qubit2,Probability\n00,01,0.25\n01,10,0.5\n11,00,0.75\n10,11,0.35\n00,00,0.15\n11,11,0.85\n01,01,0.45\n10,10,0.65\n10,01,0.55\n01,11,0.95" > ~/project/quantum_data.txt
  1. 기본적으로, 옵션 없이 head 명령어를 사용하면 파일의 처음 10 줄을 표시합니다. 시도해 보겠습니다.
head ~/project/quantum_data.txt

다음과 같은 출력을 볼 수 있습니다.

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5
11,00,0.75
10,11,0.35
00,00,0.15
11,11,0.85
01,01,0.45
10,10,0.65
10,01,0.55

head 명령어가 파일에서 정확히 10 줄을 표시했음을 알 수 있습니다. 이것이 기본 동작입니다. 사용한 명령어 형식은 단순히 head 다음에 파일 경로를 입력하는 것이었습니다.

-n 옵션을 사용하여 줄 수 사용자 정의

head의 기본 동작은 처음 10 줄을 표시하는 것이지만, -n 옵션과 함께 보고 싶은 줄 수를 지정하여 다른 줄 수를 지정할 수 있습니다.

  1. quantum_data.txt 파일의 처음 5 줄만 보겠습니다.
head -n 5 ~/project/quantum_data.txt

출력은 다음과 같아야 합니다.

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5
11,00,0.75
10,11,0.35
  1. - 다음에 줄 수를 사용하여 명령어를 더 짧게 사용할 수도 있습니다.
head -3 ~/project/quantum_data.txt

이렇게 하면 처음 3 줄만 표시됩니다.

Qubit1,Qubit2,Probability
00,01,0.25
01,10,0.5

-n 옵션은 필요한 정확한 줄 수를 볼 수 있는 유연성을 제공하여 초기 데이터 탐색을 위한 강력한 도구로 만들어줍니다.

여러 파일 작업

head 명령어를 사용하면 여러 파일의 시작 부분을 한 번에 볼 수도 있습니다. 이는 여러 데이터 파일의 헤더 또는 초기 내용을 빠르게 비교해야 할 때 특히 유용합니다.

  1. 프로젝트 디렉토리에 두 번째 데이터 파일을 만들어 보겠습니다.
echo -e "Time,Energy,Temperature\n0,100,25.5\n1,95,25.7\n2,90,26.0\n3,85,26.2\n4,80,26.5\n5,75,26.8\n6,70,27.0\n7,65,27.3\n8,60,27.5\n9,55,27.8" > ~/project/temperature_data.txt
  1. 이제 다른 내용의 세 번째 파일을 만들어 보겠습니다.
echo -e "ID,Name,Score\n1,Alice,95\n2,Bob,87\n3,Charlie,92\n4,David,78\n5,Eve,89" > ~/project/score_data.txt
  1. 두 파일의 처음 2 줄을 한 번에 보려면 다음을 실행합니다.
head -n 2 ~/project/quantum_data.txt ~/project/temperature_data.txt

이렇게 하면 각 파일을 나타내는 헤더와 함께 출력이 생성됩니다.

==> /home/labex/project/quantum_data.txt <==
Qubit1,Qubit2,Probability
00,01,0.25

==> /home/labex/project/temperature_data.txt <==
Time,Energy,Temperature
0,100,25.5
  1. 와일드카드 (wildcards) 를 사용하여 현재 디렉토리의 모든 텍스트 파일의 헤드를 볼 수도 있습니다.
head -n 1 ~/project/*.txt

이렇게 하면 프로젝트 디렉토리의 각 텍스트 파일의 첫 번째 줄 (일반적으로 헤더) 이 표시됩니다.

==> /home/labex/project/quantum_data.txt <==
Qubit1,Qubit2,Probability

==> /home/labex/project/score_data.txt <==
ID,Name,Score

==> /home/labex/project/temperature_data.txt <==
Time,Energy,Temperature

여러 파일을 동시에 검사할 수 있는 기능은 head 명령어를 데이터 세트를 관리하고 비교하는 효율적인 도구로 만들어줍니다.

데이터 분석 실용 적용

이제 head 명령어를 사용하는 방법을 이해했으므로, 좀 더 현실적인 데이터 분석 시나리오에 적용해 보겠습니다. 이 단계에서는 더 큰 데이터 세트를 만들고 head를 사용하여 초기 데이터 검사를 수행합니다.

  1. 먼저, 데이터 세트를 위한 디렉토리를 만들어 보겠습니다.
mkdir -p ~/project/data
  1. 이제 100 줄의 시뮬레이션된 실험 데이터 세트를 생성해 보겠습니다.
echo "Timestamp,Voltage,Current,Temperature,Efficiency" > ~/project/data/experiment_results.csv
for i in {1..100}; do
  timestamp=$(date -d "2023-01-01 +$i hours" "+%Y-%m-%d %H:00:00")
  voltage=$(echo "scale=2; 220 + (RANDOM % 10) - 5" | bc)
  current=$(echo "scale=3; 0.5 + (RANDOM % 100) / 1000" | bc)
  temp=$(echo "scale=1; 25 + (RANDOM % 50) / 10" | bc)
  efficiency=$(echo "scale=2; 0.85 + (RANDOM % 10) / 100" | bc)
  echo "$timestamp,$voltage,$current,$temp,$efficiency" >> ~/project/data/experiment_results.csv
done
  1. 이 데이터 세트에 대한 초기 검사를 수행하려면 head 명령어를 사용합니다.
head ~/project/data/experiment_results.csv

헤더 행과 처음 9 개의 레코드가 표시되어야 합니다.

Timestamp,Voltage,Current,Temperature,Efficiency
2023-01-01 01:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 02:00:00,220.xx,0.xxx,xx.x,0.xx
...
  1. 데이터 구조를 이해하기 위해 헤더에만 집중하려면:
head -n 1 ~/project/data/experiment_results.csv

이렇게 하면 다음이 표시됩니다.

Timestamp,Voltage,Current,Temperature,Efficiency
  1. 데이터 형식을 이해하기 위해 헤더 다음 몇 개의 레코드만 확인하려면:
head -n 4 ~/project/data/experiment_results.csv

이것은 압도되지 않으면서 형식을 이해하기에 충분한 데이터를 제공합니다.

Timestamp,Voltage,Current,Temperature,Efficiency
2023-01-01 01:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 02:00:00,220.xx,0.xxx,xx.x,0.xx
2023-01-01 03:00:00,220.xx,0.xxx,xx.x,0.xx

head 명령어는 초기 데이터 탐색에 매우 유용합니다. 파일 구조를 빠르게 검사하고, 데이터 형식을 확인하며, 전체 파일을 메모리에 로드하거나 대용량 파일이 완전히 표시될 때까지 기다리지 않고도 데이터 세트에 대한 감을 얻을 수 있습니다.

요약

이 랩에서는 텍스트 파일의 시작 부분을 미리 볼 수 있는 강력한 도구인 Linux head 명령어를 사용하는 방법을 배웠습니다. 다음은 수행한 작업에 대한 요약입니다.

  1. 파일의 기본 처음 10 줄을 표시하는 head 명령어의 기본 사용법을 배웠습니다.

  2. -n 옵션을 사용하여 표시되는 줄 수를 사용자 정의하는 방법을 알아내어 필요한 데이터의 양을 정확하게 볼 수 있었습니다.

  3. 여러 파일에서 데이터를 비교하기 쉽게 해주는, 여러 파일과 함께 head를 사용하는 방법을 탐구했습니다.

  4. 이러한 기술을 실제 데이터 분석 시나리오에 적용하여 시뮬레이션된 실험 데이터 세트를 생성하고 검사했습니다.

head 명령어는 데이터 과학자의 도구 상자에 필수적인 도구이며, 특히 전체 파일을 로드하는 것이 비효율적이거나 불필요한 대규모 데이터 세트로 작업할 때 유용합니다. 이 명령어를 마스터함으로써 이제 파일을 빠르게 미리 보고, 데이터 구조를 확인하고, 초기 데이터 탐색을 효율적으로 수행할 수 있습니다.

Linux 기술을 계속 개발하면서 head와 같은 명령어는 tail, grep, awk와 같은 다른 텍스트 처리 도구를 포함하는 더 광범위한 도구 상자의 일부임을 기억하십시오. 이 모든 도구는 강력한 데이터 분석 파이프라인을 만드는 데 결합될 수 있습니다.