2010-03-15 15 views
5

Làm cách nào để tạo một cái cây với tất cả mọi thứ bằng bash? Lệnh là gì?Làm cách nào để hiển thị một cây sự vật trong Bash?

+1

Tất cả mọi thứ? Nó có thể rất khó. 'tree' có thể được sử dụng cho hệ thống tập tin và' pstree' cho các tiến trình. Có thể có các công cụ '* tree' khác. Google có thể vô giá ở đây. – przemoc

Trả lời

8
tree/

hoặc

find/

Cập nhật: @OP, kể từ khi bạn có quá nhiều rắc rối với nó, làm thế nào về sự thay thế này. Trên ubuntu 9.10, bạn nên có bash 4.0? vì vậy hãy thử này

#!/bin/bash 
shopt -s globstar 
for rdir in /*/ 
do 
    for file in $rdir/** 
    do 
     echo "$file" 
    done 
done 
+0

không ai trong số họ làm việc ... Tôi đang sử dụng máy ảo, có thể là như vậy? cây/nói rằng chưa được cài đặt – pedro

+2

Nếu cây không được cài đặt trên máy sử dụng Ubuntu của bạn: 'sudo aptitude install tree' –

+0

bạn thậm chí không tìm thấy ?? – ghostdog74

2

tree -R /

và sau đó khóc vì nó rất lớn.

Trên một lưu ý liên quan, để ngăn chặn các lệnh, nhấn tổ hợp phím CTRL + C

+0

nói rằng cây không được cài đặt – pedro

+0

Giống như tôi đã nhận xét câu trả lời của ghostdog74, hãy cài đặt nó bằng lệnh này:' sudo aptitude install tree' –

+0

tôi đã cố gắng cài đặt ... sau khi tôi viết cây và nói không được cài đặt – pedro

1

bạn nên có lẽ bí danh này :)

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

(Cảnh báo: sản lượng lớn)

0

Giả sử bạn muốn tìm một thứ gì đó từ cây, hãy làm

tree/> tree.txt 

Sau đó, nhấn Ctrl + F.

2
$ find . -print | sed -e 's;/*/;|;g;s;|; |;g' 

Thêm bí danh để ~/.bash_profile

alias tree="find . -print | sed -e 's;/*/;|;g;s;|; |;g'" 
Các vấn đề liên quan