당신이 시스템에서 작업하고 있는데 누군가 실수로
ls
명령(/bin/ls
)을 삭제했다고 상상해 보십시오. 현재 디렉토리의 파일 목록을 얻는 방법은 무엇입니까? 시도 해봐.
나는 많은 것을 시도하고 온라인으로 검색했지만 아무 소용이 없었습니다. ls
명령 이외의 모든 파일을 나열하는 데 어떤 명령을 사용할 수 있는지 묻고 싶습니다 .
답변1
echo *
...Bourne 호환 셸에서 파일 글로빙을 통해 현재 폴더의 파일을 표시합니다.
다음 레벨의 모든 파일이 나열됩니다.
echo */*
Bash에서 globstar가 설정된 경우( set 에 사용 shopt -s globstar
, unset 에 사용 shopt -u globstar
) 모든 파일을 재귀적으로 나열합니다.
echo **
답변2
find -maxdepth 1
find -maxdepth 1 -ls
더 적은 TAB TAB
-ls 스위치는 /bin/ls와 독립적이며 자세한 정보가 포함된 자체 형식을 가지고 있습니다.
127432 0 drwxr-xr-x 2 stefan stefan 48 Apr 8 22:51 ./temp/falsch/.hiddenfalsch
127447 0 lrwxrwxrwx 1 stefan stefan 9 Apr 8 22:51 ./temp/falsch/linkfalsch -> subfalsch
127427 0 drwxr-xr-x 2 stefan stefan 48 Apr 8 22:51 ./temp/.hiddenmusik
가능성을 보여주는 또 다른 세부 사항은stat
stat *
File: `halx0o'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 807h/2055d Inode: 102701 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ stefan) Gid: ( 1000/ stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2009-07-23 03:16:15.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200
File: `ho ho ho'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 807h/2055d Inode: 115835 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ stefan) Gid: ( 1000/ stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2010-07-24 14:12:48.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200
답변3
처럼 보이도록 하려면 ls
Bash 루프를 사용합니다 for
.
for i in *; do echo $i; done
그래도 작동하지 않으면 Python을 사용해 보겠습니다 ;)
.
python -c "import glob; print '\n'.join(glob.glob('/home/*'))"
답변4
find .
필요한 제한 매개변수를 입력할 수도 있습니다.