[unix] Linux-파일을 나열하는 명령 (ls 제외)

시스템에서 작업 중이고 누군가 실수로 ls명령을 삭제했다고 상상해보십시오
( /bin/ls). 현재 디렉토리에있는 파일 목록을 어떻게 얻을 수 있습니까? 시도 해봐.

나는 많은 방법을 시도하고 인터넷에서도 검색했지만 아무것도 찾지 못했습니다. ls명령 옆에 모든 파일을 나열하는 데 사용할 수 있는 명령 을 묻고 싶습니다 .



답변

echo *

… Bourne 호환 쉘에서 파일 글 로빙을 통해 현재 폴더의 파일을 표시합니다.

모든 파일이 한 레벨 아래로 나열됩니다.

echo */*

Bash에서 globstar가 설정되면 (로 설정 shopt -s globstar,로 설정되지 않음 shopt -u globstar) 모든 파일이 재귀 적으로 나열됩니다.

echo **


답변

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


답변

처럼 보이게하려면 lsBash의 for루프를 사용 합니다.

for i in *; do echo $i; done

그래도 작동하지 않으면 Python을 사용해보십시오 ;).

python -c "import glob; print '\n'.join(glob.glob('/home/*'))"


답변

좋은 ol ‘vim;) (정렬, 탐색 등)

vim .


답변

find .

필요한 제한 매개 변수를 입력하고 싶을 수도 있습니다.


답변

lsattr ./*

getfacl ./* 권한도 표시합니다

grep -l '.*' ./*

awk 'FNR==1 {print FILENAME}' ./* GNU awk와 함께 작동

debugfs /dev/sdX sdX를 ls를 원하는 파티션으로 바꾸면 debugfs 안에서 ls를 할 수 있습니다

debugfs:  cd /
debugfs:  ls -l
      2   40755 (2)      0      0    4096  6-Apr-2011 01:01 .
      2   40755 (2)      0      0    4096  6-Apr-2011 01:01 ..
     11   40700 (2)      0      0   16384  5-Jul-2010 09:59 lost+found
 2392065   40755 (2)      0      0    4096  5-Jul-2010 09:59 boot
 2228225   40755 (2)      0      0    4096  5-Jul-2010 09:59 sys
 1376257   40755 (2)      0      0    4096  5-Jul-2010 09:59 proc
 4915201   40755 (2)      0      0    4096  5-Jul-2010 09:59 dev
 3473409   40755 (2)      0      0   12288 10-Apr-2011 22:05 etc
  98305  100644 (1)      0      0       0  6-Jul-2010 12:05 .autofsck
 3342337   40755 (2)      0      0    4096  5-Apr-2011 15:05 var
 3932161   41777 (2)      0      0    4096 10-Apr-2011 22:11 tmp
  ..........
debugfs:  

lynx ./

mc 자정 사령관이 설치되어 있다고 가정


답변

받는 유사 echo버전하지만, 더 읽기 쉽도록 한 줄에 하나의 항목 아웃이 인쇄 :

printf %s\\n ./*

또는

printf '%s\n' ./*

재귀 적으로 (bash 4+의 경우; 다른 쉘은 그것을 설정하기 위해 다른 옵션이 필요하거나 기본적으로 globstar가 활성화되어 있습니다) :

shopt -s globstar
printf %s\\n ./**/*