답변:
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
원하는만큼 printf 형식으로 재생할 수 있습니다. 이를 통해 필요한 방식으로 형식을 지정할 수있는 좋은 기회를 얻을 수 있으며 다른 응용 프로그램에서 출력을 사용하는 경우 매우 유용합니다.
더 : http://linux.about.com/od/commands/l/blcmdl1_find.htm
가독성을 column
높이 려면 명령을 통해 모든 것을 파이프 하면 자동으로 크기가 조정되어 정렬됩니다.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
Oli가 대답했듯이 find
전체 디렉토리 트리를 검색 할 수 있습니다.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
# Where %TY will display the mod. time year as 4 digits
# %Tm will display the mod. time month as 2 digits
# %Td will display the mod. time day as 2 digits
# %s displays the file size in bytes
# %p displays the full path name of the file
-type f
옵션 을 사용 하여 결과를 파일로만 제한 할 수도 있습니다. 파일 패턴을 일치 -name
시키 려면 또는 -iname
옵션 (대소 문자 구분 및 대소 문자 구분 안함)이 필요합니다. find
의 매뉴얼 페이지를 읽어보십시오 . 검색 범위를 좁히거나 구체화하는 데 사용할 수있는 옵션이 많이 있습니다.
또한 제쳐두고, 여러 화면 데이터가 다시 발생할 것으로 예상되는 경우 결과를로 전달해야합니다 less
.
@Oli : +1 방금 새로운 것을 배웠습니다 column
. 전에는 사용하지 않았습니다.
ls
Ubuntu 및 기타 Linux 및 Unix 운영 체제에서 파일을 나열하는 표준 명령입니다. ls
여러분이 만나는 모든 유닉스 시스템에 설치되어 있기 때문에 배우는 데 특히 유용합니다. 기본적으로이 옵션을 실행하면 현재 디렉토리의 파일 만 표시됩니다.
그러나 -R
'플래그'는 모든 하위 디렉토리를 보여주는 재귀 옵션 ( r이 아닌 대문자 R 참고 )입니다.
"세부 사항"도 요청했습니다.이를 위해서는 -l
플래그가 필요합니다 (1이 아닌 소문자 L 임). 파일 크기, 시간 / 날짜 정보 및 파일 이름뿐만 아니라 파일 권한 정보도 제공합니다.
숨겨진 파일 / 폴더 ( 노틸러스 의 Ctrl+ H에 해당)도 표시 하려면 -a
'all'플래그 를 추가하십시오 .
플래그를 함께 병합하여 다음과 같은 것을 제공 할 수 있습니다.
ls -lR
적당한 크기의 폴더에서 이것을 실행하면 화면이 매우 빠르게 스크롤되는 큰 긴 출력이 생성됩니다. 이 문제를 해결하기 위해 ls
호출 된 프로그램 을 통해 결과를 '파이프'할 수 있습니다 less
(이름은 유사하지만 패러디는 유사 more
하지만 더 많은 기능이 있습니다).
ls -lR | less
이렇게하면 PageUp / Down과 함께 위쪽 / 아래쪽 화살표 키를 사용하여보다 편안한 속도로 출력을 진행할 수 있습니다.
방법에 대한 노틸러스 스크립트 ?
#!/bin/bash
#
# AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372)
# NAME: DirTree 0.1
# DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree)
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
#
# DESCRIPTION: Creates a directory tree at the current location. If you want you
# can filter the output by a pattern (e.g. *.avi to only include avi
# files).
TITLE=DirTree
# Get working directory
WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`"
# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")
# Filter pattern
zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?"
if [ "$?" = "1" ]
then
customtree="tree"
else
PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)")
if [ -z "$PATTERN" ]
then
exit
else
customtree="tree -P $PATTERN"
fi
fi
# Directory tree
$customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"
설치 지침 : 노틸러스 스크립트는 어떻게 설치합니까?
이 디렉토리 전용 스냅 샷 프로그램을 만들었습니다 .
디렉토리를 반복적으로 반복하고 발견되는 모든 파일과 폴더의 이름과 크기를 깔끔하게 구조화 된 HTML 파일에 저장합니다.이 파일은 입력 디렉토리와 유사한 구조를 갖습니다.
다시 말해 이것은 하이퍼 링크 버전의 dir /s
or tree /f
명령 으로 생각할 수 있습니다 .
dir
과 tree
내가 우분투, 윌이 일을 물어 그래서, DOS 스타일 옵션?
이것을 .bashrc 파일에 넣을 수 있습니다
function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; };
alias get_tree='_get_tree'
이제 모든 디렉토리에서 get_tree 명령을 사용할 수 있으며 전체 계층 구조가 표시됩니다.
통사론:
$ get_tree
샘플 출력 :
.
..test.sh
|-2
..123.log
|---3
|-----4
|-5
|---6
도움이 되었기를 바랍니다 !!