“주의”

이전 명령어 목록 보기

$ history
# 음수일 경우 맨 마지막 기록부터 n번째 까지
# 양수일 경우 n번의 기록부터 마지막 기록까지
# 내용 출력
$ history 숫자

현재 디렉터리의 파일 개수 확인

# 파일이 많은 경우 "인수 명단이 너무 김" 이 뜰 수 있음 
# 그 때는 아래 명령어로 실행 
$ find . -type f | wc -l
$ ls -l | wc -l

특정 리스트에 있는 파일을 다른 폴더로 이동하는 방법

#!/bin/bash

# 이동할 디렉토리 경로
target_directory="/path/to/target/directory"

# 이동할 PDF 파일 리스트
pdf_files=("file1.pdf" "file2.pdf" "file3.pdf")

# PDF 파일들을 순회하며 이동
for pdf_file in "${pdf_files[@]}"; do
    # 현재 디렉토리에서 PDF 파일을 찾음
    file_path=$(find . -type f -name "$pdf_file")

    if [ -z "$file_path" ]; then
        echo "파일을 찾을 수 없습니다: $pdf_file"
    else
        # 파일을 대상 디렉토리로 이동
				# rm 으로 수정시 해당 파일 삭제
        mv "$file_path" "$target_directory" 
        echo "파일 이동 완료: $pdf_file"
    fi
done
# 권한 변경
chmod +x /path/to/your/file.sh
# 터미널 실행
./move_pdf.sh

여러 개의 파일을 특정 개수로 나누어 폴더로 저장하는 방법

#!/bin/bash

# 원본 파일이 있는 디렉토리
source_directory="/path/to/source_directory"

# 나눠질 디렉토리의 베이스 경로
output_base_directory="/path/to/output_directory"

# 나눌 파일 수
batch_size=n

# 원본 디렉토리로 이동
cd "$source_directory"

# 파일 목록 가져오기
file_list=(*)

# 파일을 batch_size만큼 나누기
for ((i=0; i<${#file_list[@]}; i+=batch_size)); do
  # 새로운 서브디렉토리 생성
  output_directory="$output_base_directory/batch_0$((i/batch_size))"
  mkdir -p "$output_directory"
  
  # 파일 이동
  for ((j=0; j<batch_size && i+j<${#file_list[@]}; j++)); do
    mv "${file_list[i+j]}" "$output_directory/"
  done
done
  1. 스크립트를 저장하고 실행 가능하도록 만들어야 합니다. 터미널에서 다음 명령을 사용하여 스크립쇼ㅔ트 파일을 생성하고 실행 가능하게 만듭니다.
touch file_name.sh
chmod +x file_name.sh
  1. 스크립트를 실행합니다.
./file_name.sh
# 만약 위 명령어로 실행이 안되면
/bin/bash file_name.sh

특정 폴더의 하위 파일 전부 삭제

rm -r /folder_path/*
# -i : 해당 파일의 삭제여부를 사용자에게 물어봄