Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

이 작품의 헤드라인을 처음 읽었을 때 기술적으로 잘못된 부분이 있다고 생각하는 것을 용서받을 수 있습니다. 결국 Linux는 Windows 운영 체제의 일부가 아니잖아요? 완전히 다른 두 운영 체제입니다. 이전에는 과거에 Windows에서 Linux 스크립팅을 사용하는 유일한 방법은 Cygwin과 같은 것을 설치하는 것이었습니다. 또는 이중 부팅 Linux 시스템을 사용하거나 Samba와 같은 것을 설치하십시오.

Windows 10에서 변경된 모든 것! Microsoft Windows Store에서 사용할 수 있는 여러 Linux 배포판이 있습니다. Kali Linux에 대한 이 이전 Appuals 기사에서는 Windows 10 환경에서 특정 Linux 배포판을 얻는 방법 중 하나를 설명합니다.

Windows 시스템에서 Linux 스크립트를 사용하는 이점 중 하나는 특히 Powershell 또는 Dos 배치 파일보다 Linux 스크립팅에 더 익숙한 경우 강력한 Linux 스크립팅 언어를 사용하여 작업을 자동화할 수 있다는 것입니다. 이 기사에서는 일반적인 Windows 데스크탑을 정리하기 위해 Linux "bash" 스크립트를 작성하는 방법을 설명합니다. Linux를 처음 사용하는 경우 이 기사에서 기본 사항을 배우고 이 과정에서 유용한 유틸리티를 만들 수 있습니다.

우리는 bash, k ssh, git, apt 및 기타 많은 Linux 명령을 사용할 수 있는 기본 Ubuntu Linux 터미널(Windows 10 시스템의 Windows Store에서 사용 가능)을 사용할 것입니다. 아직 설치하지 않은 경우 설치해야 합니다. 방법은 여기에 설명되어 있습니다.

리눅스 명령줄

Ubuntu를 설치하고 실행하면 다음과 유사한 명령줄 창이 나타납니다. 이것은 bash Linux, 명령줄을 제공합니다:

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

이제 스크립트를 작성하겠습니다. 메모장과 같은 Windows 편집기 또는 사용에 자신이 있는 경우 vi와 같은 Linux 편집기를 포함한 모든 편집기로 파일을 편집할 수 있습니다.

Ubuntu 터미널을 열면 사용자의 위치는 Ubuntu 작업 공간의 홈 디렉토리가 됩니다. 이는 명령 프롬프트에 다음 명령을 입력하여 확인할 수 있습니다.

echo $HOME

그러면 다음 스크린샷과 같이 홈 디렉토리가 출력됩니다. Linux 형식은 "/"와 같은 디렉토리를 나타내는 슬래시를 사용합니다.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

편의를 위해 스크립트를 홈 디렉토리에 배치합니다.

다음 단계는 Linux 경로로 알려진 데스크탑의 위치를 ​​찾는 것입니다. 올바른 디렉토리에 있는 파일에 대한 작업을 수행하려면 이 정보가 필요합니다.

터미널에 "cd /"를 입력합니다. 그러면 Ubuntu 환경의 루트 영역으로 이동합니다.

그런 다음 "ls"를 입력하세요.

이것은 Linux의 모든 디렉토리를 나열합니다. Linux 터미널에 다음과 같은 내용이 표시됩니다.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

사용자 데스크톱을 찾아야 합니다. C 드라이브에 있다고 가정하고 "mnt" 디렉토리로 변경합니다. 여기에서 Windows 드라이브가 다음과 같이 식별됩니다.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

그런 다음 데스크탑이 있는 디렉토리를 알아야 합니다. 일반적으로 파일 탐색기의 "빠른 액세스" 목록에서와 같이 바탕 화면 아이콘을 "오른쪽 클릭"하여 Windows에서 이를 찾을 수 있습니다. 데스크탑 디렉토리 위치가 표시됩니다:

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

여기에서 터미널에서 Linux를 사용하여 디렉터리로 변경할 수 있습니다.

따라서 이 예에서는 Windows의 백슬래시가 Linux의 슬래시와 동일하다는 점을 기억하면서 터미널에 입력합니다. 제 경우에는 '디렉터리 변경' 명령에 필요한 경로는 다음과 같습니다.

cd /mnt/c/Users/gofor/OneDrive/Desktop

그런 다음 "ls"를 사용하여 바탕 화면의 모든 파일을 나열할 수 있습니다.

내 바탕 화면과 같은 경우 다음과 같은 긴 파일 목록이 표시됩니다.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

여기에서 Windows에서 내 바탕 화면이 얼마나 지저분한지 확인할 수 있습니다.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

다른 2대의 모니터에는 더 많은 아이콘이 있으므로 이 파일을 분류하고 구성해야 합니다! 제공된 스크립트는 각 파일 유형을 가져와 바탕 화면의 관련 이름이 지정된 폴더에 넣습니다.

예를 들어 바로 가기 파일은 *.lnk 파일이므로 "SHORTCUTS"라는 폴더로 이동합니다.
마찬가지로 .jpg, .png, .bmp, .bmp와 같은 이미지 파일도 마찬가지입니다. svg는 "IMAGES"라는 폴더로 이동됩니다.
워드 파일(예:.docx, .pdf, .xls)과 같은 문서 및 Office 문서는 "OFFICEDOCS"라는 폴더에 저장됩니다.

따라서 스크립트가 실행되면 해당 파일 범주에 대해 생성된 관련 디렉토리에서 모든 문서를 체계적으로 사용할 수 있습니다. 이렇게 하면 바탕 화면이 복잡해지지 않고 바탕 화면 파일이 더 정리됩니다. 원하는 만큼 폴더 유형을 만들고 파일 기준을 정의할 수 있습니다. 파일을 파일 형식으로 정리할 필요는 없으며 "HRFILES" 및 "PROJECTFILES"와 같은 범주 폴더를 원하는 대로 만들 수 있습니다. 이 예에서는 파일 유형별로 파일을 구성합니다.

카테고리 및 파일 목록 만들기

이 애플리케이션을 사용하려면 2개의 파일이 필요합니다:

A) 쉼표로 구분된 CSV 파일에 보관된 해당 범주로 이동할 범주 및 파일 형식 목록입니다. 각 범주 이름은 파일이 데스크탑에 배치될 디렉토리의 이름이 됩니다. 원하는 편집기를 사용하여 CSV 파일을 만들 수 있습니다. 이 예에서는 메모장을 사용합니다.
B) 카테고리 파일을 읽고 필요한 정리 기능을 처리하는 Linux 스크립트.

현재 디렉토리에 파일을 생성하려면 터미널 유형:

메모장 정리.csv

이 단계에서는 파일이 존재하지 않으므로 새 파일을 생성하도록 요청하므로 "예"를 누르십시오.

이제 각 범주에 대해 "category,filetype1,filetype2,filetype3,...,etc" 형식으로 다음 세부 정보를 입력합니다.

SHORTCUTS,lnk
IMAGES,jpg,png,svg
DOCUMENTS,txt,docx,doc,pdf

The first field will be the name of the directory on the desktop, where the remaining file types will be placed. The remaining fields are the file types you wish to move to the folder.

따라서 SHORTCUTS 폴더의 경우 모든 *.lnk 파일이 해당 폴더로 이동됩니다. IMAGES 폴더의 경우 *.jpg,*.png 및 *.svg가 있는 모든 파일이 IMAGES 폴더로 이동됩니다. 마지막으로 모든 *.txt,*.docx,*.doc 및 *.pdf 파일을 DOCUMENTS 폴더로 이동합니다. 이러한 방식으로 파일을 올바른 디렉토리로 구성하고 있습니다.

CSV 파일을 생성했으면 스크립트를 작성할 준비가 되었습니다. 스크립트를 cleanup.sh라고 부를 것입니다. 그건 그렇고, 이 스크립트는 최소한의 유효성 검사를 수행하므로 CSV 파일이 올바른 형식인지 확인해야 합니다. 그렇지 않으면 작동하지 않습니다! 이 스크립트에서 우리가 할 일은 최소한의 검사로 파일과 폴더가 존재하는지 확인하는 것입니다.

vi와 같은 Unix 유형 편집기를 알고 있는 경우 터미널에서 스크립트를 편집하거나 간단히 메모장을 사용할 수 있습니다.

notepad cleanup.sh

스크립트의 작업은 스크립트에서 읽고 있는 CSV 파일의 이름과 정리하려는 데스크톱 위치를 설정하는 것입니다. 정리 CSV 파일과 바탕 화면 위치에 변수를 설정합니다. 제 경우는 다음과 같습니다. 데스크탑 위치를 직접 교체해야 합니다. "<"와 ">" 사이의 모든 항목은 특정 정보를 입력해야 하는 자리 표시자입니다.

그래서. 스크립트의 처음 두 줄은 다음과 같습니다.

DESKTOP=/mnt/c/Users/<your windows location>/Desktop
CSV=cleanup.csv

전체 스크립트는 아래에서 볼 수 있습니다. 명령을 이해하려면 주석을 읽고 명령이 확실하지 않은 경우 Linux 명령줄에서 "man "을(를) 시도하여 명령 작동 방식에 대한 자세한 정보를 얻으십시오.

정리 스크립트를 실행 가능하게 만들고 실행

홈 명령줄에서 스크립트를 실행하려면 다음 명령을 사용하여 스크립트를 실행 가능하게 만들어야 합니다.

chmod +x cleanup.sh

스크립트를 실행하려면 현재 디렉토리에 있는 것처럼 다음을 입력해야 합니다.

./cleanup.sh

다음은 스크립트가 실행되기 전과 후의 데스크탑 모습입니다. 이제 이동된 파일이 포함된 폴더가 생성되었고 바탕 화면이 훨씬 덜 복잡해진 것을 볼 수 있습니다.

전에:Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법   이후:Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법  

및 모든 바로 가기가 바탕 화면에서 이동한 SHORTCUTS 디렉토리.

Linux 스크립트를 사용하여 Windows 10에서 데스크탑을 정리하는 방법

Windows용 전체 데스크톱 Tidy Linux 스크립트

스크립트 작동 방식을 설명하는 스크립트에서 "#" 접두어가 붙은 주석에 유의하십시오. # 로컬 데스크톱 또는 정리하려는 디렉터리의 위치와 CSV 파일 이름에 대한 변수를 설정합니다.

DESKTOP=/mnt/c/Users/gofor/OneDrive/Desktop
CSV=cleanup.csv

# Linux "test" 명령과 파일 존재 여부에 대해 "-f" 플래그를 사용하여 정리 csv 파일이 있는지 테스트합니다.
# 파일이 존재하지 않으면 에러 메시지를 출력하고 스크립트를 종료합니다.

if [ ! -f ${CSV} ]then
     echo The cleanup.csv file does not exist.
     exit -1
fi

# 캐리지 리턴 문자를 제거하여 도스 형식으로 저장된 CSV를 Unix 형식으로 변환합니다.
# 출력을 임시 파일에 저장한 다음 임시 파일의 이름을 다시 원래 이름으로 바꿉니다.

tr -d '\r' < $CSV > temp.csv
mv temp.csv $CSV

# 이제 CSV 파일을 한 줄씩 살펴보고 첫 번째 인수의 이름을 저장합니다. 이 이름은
# 카테고리/디렉토리 이름입니다. 여기서 나머지 모든 인수는
# 이 디렉토리에 배치됩니다.

while read csvline
do
   count=1
   for filetype in `echo "$csvline" | tr , '\n'`
   do
      if [ $count -eq 1 ]      then
         # As this is the first argument, check to see if the folder already exists, and if not, create it.
         if [ ! -d ${DESKTOP}/$filetype ]        then
           # The directory does not exist, so we will create it.
           mkdir ${DESKTOP}/$filetype
         fi
         CATEGORY=${filetype}
       else
          # Output a friendly message indicating what the script is doing.
          echo "moving *.${filetype} to ${CATEGORY}"
         # Don't display any error messages ( i.e. >2 /dev/null) when moving the files in case the files do not exist,
         # so the "mv" command is "silent". 
         mv ${DESKTOP}/*.${filetype} ${DESKTOP}/${CATEGORY} 2> /dev/null
      fi
      count=`expr $count + 1`
   done
done < cleanup.csv