LINUX 기반 운영 체제에서 파일 생성에 대해 알아야 할 모든 것

Linux 파일 시스템은 모든 것을 파일로 간주합니다. 텍스트/미디어/바이너리 파일 및 디렉토리에서 물리적으로 연결된 하드웨어 장치에 이르기까지 모든 것이 Linux의 파일입니다. 파일이 아닌 경우 프로세스여야 합니다. Linux에서 파일은 데이터를 관리하기 위해 트리 구조를 형성합니다. 리눅스에서 파일을 생성하는 방법은 매우 많기 때문에 이를 수행하는 몇 가지 일반적인 방법을 살펴보겠습니다.

파일이 Linux 파일 시스템에 존재하는 규칙
  • 파일은 *대소문자를 구분*합니다(Windows와 다름). 따라서 temp.txt , Temp.txtTEMP.txt 는 모두 다른 파일입니다.
  • 사용자에게 상위 폴더에 파일을 만들 수 있는 권한이 있어야 합니다.
  • ls -al 명령으로 권한을 확인하십시오.
  • 자신이 사용자인지 또는 그룹에 속하는지 확인하십시오.

  • 공백 등의 다른 특수문자를 사용할 수 있지만 사용하기 어려우므로 피하는 것이 좋습니다.
  • 파일 이름은 /를 제외한 모든 문자를 포함할 수 있습니다. 이 문자는 경로 이름에서 파일과 디렉토리 사이의 구분 기호로 예약되어 있습니다. null 문자는 사용할 수 없습니다.
  • 점 기반 파일 이름 확장자를 사용하여 파일을 식별합니다. 예를 들어:
  • .sh = 셸 파일
  • .tar.gz = 압축 아카이브

  • 대부분의 최신 Linux 및 UNIX는 파일 이름을 255자(255바이트)로 제한합니다. 그러나 일부 이전 버전의 UNIX 시스템에서는 파일 이름을 14자로 제한합니다.
  • 파일 이름은 디렉토리 내에서 고유해야 합니다. 예를 들어 /root 디렉토리 내에서 file.txt 파일 및 file.txt 디렉토리 이름
  • 을 만들 수 없습니다.
  • 파일 이름에 이러한 문자가 포함되지 않도록 하십시오/><|:&.
  • 파일 이름을 작은따옴표로 묶습니다'file.txt'.

  • Linux에서 파일을 생성하는 작은 실험 스니펫:

    root@aaf52077a089:/# cd /root
    root@aaf52077a089:~# touch '!@#$%^&*(()_+-{}[]":></?><'
    touch: cannot touch '!@#$%^&*(()_+-{}[]":></?><': No such file or directory
    root@aaf52077a089:~# touch '!@#$%^&*(()_+-'
    root@aaf52077a089:~# touch file.txt
    root@aaf52077a089:~# touch  File.txt
    root@aaf52077a089:~# mkdir file.txt
    mkdir: cannot create directory 'file.txt': File exists
    root@aaf52077a089:~# ls -al
    total 16
    -rw-r--r-- 1 root root    0 Jul 16 11:19 '!@#$%^&*(()_+-'
    drwx------ 1 root root 4096 Jul 16 11:20  .
    drwxr-xr-x 1 root root 4096 Jul 16 11:17  ..
    -rw-r--r-- 1 root root 3106 Oct 15  2021  .bashrc
    -rw-r--r-- 1 root root  161 Jul  9  2019  .profile
    -rw-r--r-- 1 root root    0 Jul 16 11:20  File.txt
    -rw-r--r-- 1 root root    0 Jul 16 11:20  file.txt
    


    Linux에서 파일을 생성하는 일반적인 방법

    기본 파일 관리자(GUI)로 파일을 쉽게 만들 수 있습니다. 그러나 거기에는 재미가 없습니다. 파일을 생성하는 몇 가지 흥미로운 명령줄 방법을 살펴보겠습니다.
  • touch - 전용 명령을 사용하여 파일을 만듭니다.
  • 모두의 방법 - touch file.txt .
  • 사전 사용.


  • # Create a new empty file(s) or 
    # change the times for existing file(s) to the current time:
    touch path/to/file
    
    # Set the times on a file to a specific date and time:
    touch -t YYYYMMDDHHMM.SS path/to/file
    
    # Set the time on a file to one hour in the past:
    touch -d "-1 hour" path/to/file
    
    # Use the times from a file to set the times on a second file:
    touch -r path/to/file1 path/to/file2
    
    # Create multiple files:
    touch path/to/file{1,2,3}.txt
    
    Credit: cheat.sh
    


  • 텍스트 편집기 - nano , vim , vi , neovim .
  • 현재 타임스탬프에서 파일을 생성합니다.
  • 구문: text_editor path/to/file.txt .

  • cat , echo 또는 > 또는 >> 연산자와 함께 다른 명령을 사용합니다. STDOUT을 사용하여 파일을 생성/추가할 수 있습니다.
  • 간단한 bash 트릭을 사용하여 cat/bat를 사용하여 파일을 만들 수 있습니다.
  • 구문: cat > file.txt , cat >> file.txt .


  • root@aaf52077a089:~/dir_test# cat file.txt
    cat: file.txt: No such file or directory
    root@aaf52077a089:~/dir_test# cat > file.txt
    Creating and writing a file with cat command is so cool.
    Writing on 2nd line    
    ^C
    root@aaf52077a089:~/dir_test# cat file.txt
    Creating and writing a file with cat command is so cool.
    Writing on 2nd line
    root@aaf52077a089:~/dir_test# cat >> file.txt
    Writing on 3rd line
    ^C
    root@aaf52077a089:~/dir_test# cat file.txt
    Creating and writing a file with cat command is so cool.
    Writing on 2nd line
    Writing on 3rd line
    root@aaf52077a089:~/dir_test# ls -al
    total 12
    drwxr-xr-x 2 root root 4096 Jul 16 11:55 .
    drwx------ 1 root root 4096 Jul 16 11:55 ..
    -rw-r--r-- 1 root root   97 Jul 16 11:57 file.txt
    


    멋진 비실용적 방법
  • Linux 장치에 하드웨어 장치를 삽입합니다. 파일을 생성합니다.
  • 고정 크기의 파일을 만듭니다. (10MB)

  • fallocate -l $((10*1024*1024)) file.txt
    # This option doesn't use input/output overhead, the space will be allocated immediately.
    
    truncate -s 10M file.txt
    # This creates a file full of null bytes.
    
    dd if=/dev/urandom of=ostechnix.txt bs=10MB count=1
    # This command will create a non-sparse file full of null bytes.
    
    head -c 10MB /dev/urandom > file.txt
    # This command will create a non-sparse file full of null bytes.
    


    이 기사를 읽어 주셔서 감사합니다. 더 많은 것을 위해 저를 따르십시오!

    좋은 웹페이지 즐겨찾기