Set Default Editor to nano

Ubuntu 20.04

เมื่อสั่ง crontab -e บน Ubuntu เป็นครั้งแรก จะมีให้เลือกว่าจะเปิดด้วย editor อะไร (และจะกำหนดเป็น default editor)

ถ้าต้องการเปลี่ยน default editor ใหม่ใช้คำสั่ง

$ select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.tiny
  3. /bin/ed

Choose 1-3 [1]:

CentOS 7

เมื่อสั่ง crontab -e บน CentOS จะเปิดด้วย vi

ถ้าต้องการเปลี่ยน default editor (เฉพาะ user) ให้แก้ไขไฟล์ ~/.bash_profile

export EDITOR="nano"

จากนั้นใช้คำสั่ง source

$ source .bash_profile

สั่ง crontab -e ก็จะเปิดด้วย nano ละ

lsb_release

NAME
lsb_release – print distribution-specific information

SYNOPSIS
lsb_release [options]

DESCRIPTION
The lsb_release command provides certain LSB (Linux Standard Base) and distribution-
specific information.
If no options are given, the -v option is assumed.

~$ lsb_release -d
Description:    Ubuntu 20.04.4 LTS
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal
$ lsb_release -h
Usage: lsb_release [options]

Options:
  -h, --help         show this help message and exit
  -v, --version      show LSB modules this system supports
  -i, --id           show distributor ID
  -d, --description  show description of this distribution
  -r, --release      show release number of this distribution
  -c, --codename     show code name of this distribution
  -a, --all          show all of the above information
  -s, --short        show requested information in short format

CentOS 7

$ lsb_release
bash: lsb_release: command not found...

hostnamectl

NAME
hostnamectl – Control the system hostname

SYNOPSIS
hostnamectl [OPTIONS…] {COMMAND}

DESCRIPTION
hostnamectl may be used to query and change the system hostname and related settings.

CentOS 7

$ hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 4a4569389d534c75b42a67970a52946b
           Boot ID: 70e54525ec054d998fd7c76764860ae3
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.71.1.el7.x86_64
      Architecture: x86-64

Ubuntu 20.04

$ hostnamectl
   Static hostname: ubuntu
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 120a1da3bb7e48fa9a5c6cbf20d6dd1c
           Boot ID: 853400643e464d75a4122a22ca300450
    Virtualization: vmware
  Operating System: Ubuntu 20.04.4 LTS
            Kernel: Linux 5.13.0-52-generic
      Architecture: x86-64

WSL 2

$ hostnamectl
System has not been booted with systemd as init system (PID 1).
Can't operate.
Failed to create bus connection: Host is down

uptime

21.7 uptime: Print system uptime and load

uptime prints the current time, the system’s uptime, the number of logged-in users and the current load average.

$ uptime
 10:28:31 up 10 days, 20 min,  1 user,  load average: 0.40, 0.13, 0.46
$ uptime --help

Usage:
 uptime [options]

Options:
 -p, --pretty   show uptime in pretty format
 -h, --help     display this help and exit
 -s, --since    system up since
 -V, --version  output version information and exit

For more details see uptime(1).
$ uptime -p
up 1 weeks, 2 days, 19 minutes

$ uptime -s
2022-07-05 10:01:02

$ uptime -V
uptime from procps-ng 3.3.10

neofetch

Neofetch displays information about your system next to an image, your OS logo,
or any ASCII file of your choice.

การติดตั้ง

ติดตั้ง neofetch บน Ubuntu 20.04

$ sudo apt install neofetch

ติดตั้ง neofetch บน CentOS 7

$ sudo yum install dnf
$ sudo yum install dnf-plugins-core
$ sudo dnf copr enable konimex/neofetch
$ sudo dnf install neofetch

ดูเวอร์ชัน

$ neofetch --version
Neofetch 7.0.0

ดู help

$ neofetch --help
Usage: neofetch func_name --option "value" --option "value"

Neofetch is a CLI system information tool written in BASH. Neofetch
displays information about your system next to an image, your OS logo,
or any ASCII file of your choice.

NOTE: Every launch flag has a config option.

Options:

INFO:
    func_name                   Specify a function name (second part of info() from config) to
                                quickly display only that function's information.

                                Example: neofetch uptime --uptime_shorthand tiny

                                Example: neofetch uptime disk wm memory

                                This can be used in bars and scripts like so:

                                memory="$(neofetch memory)"; memory="${memory##*: }"

                                For multiple outputs at once (each line of info in an array):

                                IFS=$'\n' read -d "" -ra info < <(neofetch memory uptime wm)

                                info=("${info[@]##*: }")

    --disable infoname          Allows you to disable an info line from appearing
                                in the output. 'infoname' is the function name from the
                                'print_info()' function inside the config file.
                                For example: 'info "Memory" memory' would be '--disable memory'

                                NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu'

    --title_fqdn on/off         Hide/Show Fully Qualified Domain Name in title.
    --package_managers on/off   Hide/Show Package Manager names . (on, tiny, off)
    --os_arch on/off            Hide/Show OS architecture.
    --speed_type type           Change the type of cpu speed to display.
                                Possible values: current, min, max, bios,
                                scaling_current, scaling_min, scaling_max

                                NOTE: This only supports Linux with cpufreq.

    --speed_shorthand on/off    Whether or not to show decimals in CPU speed.

                                NOTE: This flag is not supported in systems with CPU speed less than
                                1 GHz.

    --cpu_brand on/off          Enable/Disable CPU brand in output.
    --cpu_cores type            Whether or not to display the number of CPU cores
                                Possible values: logical, physical, off

                                NOTE: 'physical' doesn't work on BSD.

    --cpu_speed on/off          Hide/Show cpu speed.
    --cpu_temp C/F/off          Hide/Show cpu temperature.

                                NOTE: This only works on Linux and BSD.

                                NOTE: For FreeBSD and NetBSD-based systems, you need to enable
                                coretemp kernel module. This only supports newer Intel processors.

    --distro_shorthand on/off   Shorten the output of distro (on, tiny, off)

                                NOTE: This option won't work in Windows (Cygwin)

    --kernel_shorthand on/off   Shorten the output of kernel

                                NOTE: This option won't work in BSDs (except PacBSD and PC-BSD)

    --uptime_shorthand on/off   Shorten the output of uptime (on, tiny, off)
    --refresh_rate on/off       Whether to display the refresh rate of each monitor
                                Unsupported on Windows
    --gpu_brand on/off          Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
    --gpu_type type             Which GPU to display. (all, dedicated, integrated)

                                NOTE: This only supports Linux.

    --de_version on/off         Show/Hide Desktop Environment version
    --gtk_shorthand on/off      Shorten output of gtk theme/icons
    --gtk2 on/off               Enable/Disable gtk2 theme/font/icons output
    --gtk3 on/off               Enable/Disable gtk3 theme/font/icons output
    --shell_path on/off         Enable/Disable showing $SHELL path
    --shell_version on/off      Enable/Disable showing $SHELL version
    --disk_show value           Which disks to display.
                                Possible values: '/', '/dev/sdXX', '/path/to/mount point'

                                NOTE: Multiple values can be given. (--disk_show '/' '/dev/sdc1')

    --disk_subtitle type        What information to append to the Disk subtitle.
                                Takes: name, mount, dir, none

                                'name' shows the disk's name (sda1, sda2, etc)

                                'mount' shows the disk's mount point (/, /mnt/Local Disk, etc)

                                'dir' shows the basename of the disks's path. (/, Local Disk, etc)

                                'none' shows only 'Disk' or the configured title.

    --disk_percent on/off       Hide/Show disk percent.

    --ip_host url               URL to query for public IP
    --ip_timeout int            Public IP timeout (in seconds).
    --song_format format        Print the song data in a specific format (see config file).
    --song_shorthand on/off     Print the Artist/Album/Title on separate lines.
    --memory_percent on/off     Display memory percentage.
    --music_player player-name  Manually specify a player to use.
                                Available values are listed in the config file

TEXT FORMATTING:
    --colors x x x x x x        Changes the text colors in this order:
                                title, @, underline, subtitle, colon, info
    --underline on/off          Enable/Disable the underline.
    --underline_char char       Character to use when underlining title
    --bold on/off               Enable/Disable bold text
    --separator string          Changes the default ':' separator to the specified string.

COLOR BLOCKS:
    --color_blocks on/off       Enable/Disable the color blocks
    --col_offset auto/num      Left-padding of color blocks
    --block_width num           Width of color blocks in spaces
    --block_height num          Height of color blocks in lines
    --block_range num num       Range of colors to print as blocks

BARS:
    --bar_char 'elapsed char' 'total char'
                                Characters to use when drawing bars.
    --bar_border on/off         Whether or not to surround the bar with '[]'
    --bar_length num            Length in spaces to make the bars.
    --bar_colors num num        Colors to make the bar.
                                Set in this order: elapsed, total
    --cpu_display mode          Bar mode.
                                Possible values: bar, infobar, barinfo, off
    --memory_display mode       Bar mode.
                                Possible values: bar, infobar, barinfo, off
    --battery_display mode      Bar mode.
                                Possible values: bar, infobar, barinfo, off
    --disk_display mode         Bar mode.
                                Possible values: bar, infobar, barinfo, off

IMAGE BACKEND:
    --backend backend           Which image backend to use.
                                Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2',
                                'off', 'sixel', 'tycat', 'w3m', 'kitty'
    --source source             Which image or ascii file to use.
                                Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img',
                                '/path/to/ascii', '/path/to/dir/', 'command output' [ascii]

    --ascii source              Shortcut to use 'ascii' backend.

                                NEW: neofetch --ascii "$(fortune | cowsay -W 30)"

    --caca source               Shortcut to use 'caca' backend.
    --chafa source              Shortcut to use 'chafa' backend.
    --iterm2 source             Shortcut to use 'iterm2' backend.
    --jp2a source               Shortcut to use 'jp2a' backend.
    --kitty source              Shortcut to use 'kitty' backend.
    --pixterm source            Shortcut to use 'pixterm' backend.
    --sixel source              Shortcut to use 'sixel' backend.
    --termpix source            Shortcut to use 'termpix' backend.
    --tycat source              Shortcut to use 'tycat' backend.
    --w3m source                Shortcut to use 'w3m' backend.
    --off                       Shortcut to use 'off' backend (Disable ascii art).

    NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img',
    '/path/to/ascii', '/path/to/dir/'

ASCII:
    --ascii_colors x x x x x x  Colors to print the ascii art
    --ascii_distro distro       Which Distro's ascii art to print

                                NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, AOSC,
                                Apricity, ArcoLinux, ArchBox, ARCHlabs, ArchStrike,
                                XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, Bitrig,
                                BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
                                BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
                                Chapeau, Chrom, Cleanjaro, ClearOS, Clear_Linux, Clover,
                                Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
                                DesaOS, Devuan, DracOS, DragonFly, Drauger, Elementary,
                                EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
                                FreeMiNT, Frugalware, Funtoo, GalliumOS, Gentoo, Pentoo,
                                gNewSense, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
                                Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
                                Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
                                LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
                                Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
                                Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
                                NuTyX, OBRevenge, OpenBSD, OpenIndiana, OpenMandriva,
                                OpenWrt, osmc, Oracle, PacBSD, Parabola, Pardus, Parrot,
                                Parsix, TrueOS, PCLinuxOS, Peppermint, popos, Porteus,
                                PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, Raspbian,
                                Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata,
                                Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor,
                                SharkLinux, Siduction, Slackware, SliTaz, SmartOS, Solus,
                                Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap,
                                openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
                                Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, Ubuntu,
                                Void, Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX
                                have ascii logos

                                NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.

                                NOTE: Use '{distro name}_old' to use the old logos.

                                NOTE: Ubuntu has flavor variants.

                                NOTE: Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
                                Ubuntu-Studio, Ubuntu-Mate  or Ubuntu-Budgie to use the flavors.

                                NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
                                CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
                                Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
                                Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
                                Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
                                postmarketOS, and Void have a smaller logo variant.

                                NOTE: Use '{distro name}_small' to use the small variants.

    --ascii_bold on/off         Whether or not to bold the ascii logo.
    -L, --logo                  Hide the info text and only show the ascii logo.

IMAGE:
    --loop                      Redraw the image constantly until Ctrl+C is used. This fixes issues
                                in some terminals emulators when using image mode.
    --size 00px | --size 00%    How to size the image.
                                Possible values: auto, 00px, 00%, none
    --crop_mode mode            Which crop mode to use
                                Takes the values: normal, fit, fill
    --crop_offset value         Change the crop offset for normal mode.
                                Possible values: northwest, north, northeast,
                                west, center, east, southwest, south, southeast

    --xoffset px                How close the image will be to the left edge of the
                                window. This only works with w3m.
    --yoffset px                How close the image will be to the top edge of the
                                window. This only works with w3m.
    --bg_color color            Background color to display behind transparent image.
                                This only works with w3m.
    --gap num                   Gap between image and text.

                                NOTE: --gap can take a negative value which will move the text
                                closer to the left side.

    --clean                     Delete cached files and thumbnails.

OTHER:
    --config /path/to/config    Specify a path to a custom config file
    --config none               Launch the script without a config file
    --no_config                 Don't create the user config file.
    --print_config              Print the default config file to stdout.
    --stdout                    Turn off all colors and disables any ASCII/image backend.
    --help                      Print this text and exit
    --version                   Show neofetch version
    -v                          Display error messages.
    -vv                         Display a verbose log for error reporting.

DEVELOPER:
    --gen-man                   Generate a manpage for Neofetch in your PWD. (Requires GNU help2man)


Report bugs to https://github.com/dylanaraps/neofetch/issues

ตัวอย่างการใช้งาน

$ neofetch

Link

jp2a – Convert files or URLs from JPEG format to ASCII

Convert files or URLs from JPEG format to ASCII.

jp2a is a simple JPEG/PNG to ASCII converter.

การติดตั้ง

ติดตั้ง jp2a

$ sudo apt install jp2a

ดูเวอร์ชัน

$ jp2a --version
jp2a 1.0.9
Copyright 2006-2016 Christian Stigen Larsen
and 2020 Christoph Raitzig
Distributed under the GNU General Public License (GPL) v2.

ดู help

$ jp2a --help
jp2a 1.0.9
Copyright 2006-2016 Christian Stigen Larsen
and 2020 Christoph Raitzig
Distributed under the GNU General Public License (GPL) v2.

Usage: jp2a [ options ] [ file(s) | URL(s) ]

Convert files or URLs from JPEG format to ASCII.

OPTIONS
  -                 Read images from standard input.
      --blue=N.N    Set RGB to grayscale conversion weight, default is 0.1145
  -b, --border      Print a border around the output image.
      --chars=...   Select character palette used to paint the image.
                    Leftmost character corresponds to black pixel, right-
                    most to white.  Minimum two characters must be specified.
      --clear       Clears screen before drawing each output image.
      --colors      Use true colors or, if true color is not supported, ANSI
                    in output.
      --color-depth=N   Use a specific color-depth for terminal output. Valid
                        values are: 4 (for ANSI), 8 (for 256 color palette)
                        and 24 (for truecolor or 24-bit color).
  -d, --debug       Print additional debug information.
      --fill        When used with --color and/or --html, color each character's
                    background color.
  -x, --flipx       Flip image in X direction.
  -y, --flipy       Flip image in Y direction.
  -f, --term-fit    Use the largest image dimension that fits in your terminal
                    display with correct aspect ratio.
      --term-height Use terminal display height.
      --term-width  Use terminal display width.
  -z, --term-zoom   Use terminal display dimension for output.
      --grayscale   Convert image to grayscale when using --html or --colors
      --green=N.N   Set RGB to grayscale conversion weight, default is 0.5866
      --height=N    Set output height, calculate width from aspect ratio.
  -h, --help        Print program help.
      --html        Produce strict XHTML 1.0 output.
      --html-fill   Same as --fill (will be phased out)
      --html-fontsize=N   Set fontsize to N pt, default is 4.
      --html-no-bold      Do not use bold characters with HTML output
      --html-raw    Output raw HTML codes, i.e. without the <head> section etc.
      --html-title=...  Set HTML output title
  -i, --invert      Invert output image.  Use if your display has a dark
                    background.
      --background=dark   These are just mnemonics whether to use --invert
      --background=light  or not.  If your console has light characters on
                    a dark background, use --background=dark.
      --output=...  Write output to file.
      --red=N.N     Set RGB to grayscale conversion weight, default 0.2989f.
      --size=WxH    Set output width and height.
  -v, --verbose     Verbose output.
  -V, --version     Print program version.
      --width=N     Set output width, calculate height from ratio.

  The default mode is `jp2a --term-fit --background=dark'.
  See the man-page for jp2a for more detailed help text.

Project homepage on https://github.com/Talinx/jp2a
Report bugs to <chris-r@posteo.net>

การใช้งาน

ตัวอย่างการใช้งาน

$ jp2a --output=ascii.txt --colors pic.jpg

Link

whoami

20.3 whoami: Print effective user name

whoami prints the user name associated with the current effective user ID. It is equivalent to the command ‘id -un’.

The only options are –help and –version. See Common options.

An exit status of zero indicates success, and a nonzero value indicates failure.

ตัวอย่างคำสั่ง

$ whoami
jack
$ sudo whoami
root

คำสั่ง whoami มี options แค่ --help และ --version

$ whoami --help
Usage: whoami [OPTION]...
Print the user name associated with the current effective user ID.
Same as id -un.

      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation at: <https://www.gnu.org/software/coreutils/whoami>
or available locally via: info '(coreutils) whoami invocation'
$ whoami --version
whoami (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard Mlynarik.

Note: คำสั่ง whoami จะได้ผลเหมือนกับคำสั่ง id -un

$ id -un
jack

Sed Command

รันแล้ว Error ว่า ^M: bad interpreter

$ ./scriptname.sh
-bash: ./scriptname.sh: /usr/local/bin/python3.7^M: bad interpreter: No such file or directory

ให้แก้ไขด้วย

sed -i -e 's/\r$//' scriptname.sh

พอรัน ./scriptname.sh อีกครั้งจะใช้ได้ปกติละ

tree

การติดตั้ง

ติดตั้ง tree

# yum install tree	 #RHEL/CentOS 7
# dnf install tree	 #Fedora 22+ and /RHEL/CentOS 8
$ sudo apt install tree	 #Ubuntu/Debian
# sudo zypper in tree 	 #openSUSE

ดูเวอร์ชันที่ติดตั้ง

# tree --version
tree v1.6.0 (c) 1996 - 2011 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro
$ tree --version
tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
$ tree --version
tree v1.8.0 (c) 1996 - 2018 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

ดู help

$ tree --help
usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-H baseHREF] [-T title ]
        [-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version]
        [--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst]
        [--charset charset] [--filelimit[=]#] [--si] [--timefmt[=]<f>]
        [--sort[=]<name>] [--matchdirs] [--ignore-case] [--fromfile] [--]
        [<directory list>]
  ------- Listing options -------
  -a            All files are listed.
  -d            List directories only.
  -l            Follow symbolic links like directories.
  -f            Print the full path prefix for each file.
  -x            Stay on current filesystem only.
  -L level      Descend only level directories deep.
  -R            Rerun tree when max dir level reached.
  -P pattern    List only those files that match the pattern given.
  -I pattern    Do not list files that match the given pattern.
  --ignore-case Ignore case when pattern matching.
  --matchdirs   Include directory names in -P pattern matching.
  --noreport    Turn off file/directory count at end of tree listing.
  --charset X   Use charset X for terminal/HTML and indentation line output.
  --filelimit # Do not descend dirs with more than # files in them.
  --timefmt <f> Print and format time according to the format <f>.
  -o filename   Output to file instead of stdout.
  ------- File options -------
  -q            Print non-printable characters as '?'.
  -N            Print non-printable characters as is.
  -Q            Quote filenames with double quotes.
  -p            Print the protections for each file.
  -u            Displays file owner or UID number.
  -g            Displays file group owner or GID number.
  -s            Print the size in bytes of each file.
  -h            Print the size in a more human readable way.
  --si          Like -h, but use in SI units (powers of 1000).
  -D            Print the date of last modification or (-c) status change.
  -F            Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
  --inodes      Print inode number of each file.
  --device      Print device ID number to which each file belongs.
  ------- Sorting options -------
  -v            Sort files alphanumerically by version.
  -t            Sort files by last modification time.
  -c            Sort files by last status change time.
  -U            Leave files unsorted.
  -r            Reverse the order of the sort.
  --dirsfirst   List directories before files (-U disables).
  --sort X      Select sort: name,version,size,mtime,ctime.
  ------- Graphics options -------
  -i            Don't print indentation lines.
  -A            Print ANSI lines graphic indentation lines.
  -S            Print with CP437 (console) graphics indentation lines.
  -n            Turn colorization off always (-C overrides).
  -C            Turn colorization on always.
  ------- XML/HTML/JSON options -------
  -X            Prints out an XML representation of the tree.
  -J            Prints out an JSON representation of the tree.
  -H baseHREF   Prints out HTML format with baseHREF as top directory.
  -T string     Replace the default HTML title and H1 header with string.
  --nolinks     Turn off hyperlinks in HTML output.
  ------- Input options -------
  --fromfile    Reads paths from files (.=stdin)
  ------- Miscellaneous options -------
  --version     Print version and exit.
  --help        Print usage and this help message and exit.
  --            Options processing terminator.

การใช้งาน

การใช้งาน tree แสดง file และ directory

$ tree
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── Templates
└── Videos

8 directories, 0 files

แสดงขนาดไฟล์ แบบอ่านง่ายๆ

$ tree -h
.
├── [4.0K]  Desktop
├── [4.0K]  Documents
├── [4.0K]  Downloads
├── [4.0K]  Music
├── [4.0K]  Pictures
├── [4.0K]  Public
├── [4.0K]  Templates
└── [4.0K]  Videos

8 directories, 0 files

แสดง hidden files 

$ tree -a

To list the directory contents with the full path prefix for each sub-directory and file

$ tree -f

แสดงเฉพาะ directory (ไม่แสดง file)

$ tree -d 

To display only those files that match the wild-card pattern (ใช้ค้นหาไฟล์ได้)

$ tree -P jack*

To prune empty directories from the output

$ tree --prune

To prints the file type and permissions 

$ tree -p

แสดง username และ group name

$ tree -pug
.
├── [drwxr-xr-x jack     jack    ]  Desktop
├── [drwxr-xr-x jack     jack    ]  Documents
├── [drwxr-xr-x jack     jack    ]  Downloads
├── [drwxr-xr-x jack     jack    ]  Music
├── [drwxr-xr-x jack     jack    ]  Pictures
├── [drwxr-xr-x jack     jack    ]  Public
├── [drwxr-xr-x jack     jack    ]  Templates
└── [drwxr-xr-x jack     jack    ]  Videos

8 directories, 0 files
$ tree -pugh
.
├── [drwxr-xr-x jack     jack     4.0K]  Desktop
├── [drwxr-xr-x jack     jack     4.0K]  Documents
├── [drwxr-xr-x jack     jack     4.0K]  Downloads
├── [drwxr-xr-x jack     jack     4.0K]  Music
├── [drwxr-xr-x jack     jack     4.0K]  Pictures
├── [drwxr-xr-x jack     jack     4.0K]  Public
├── [drwxr-xr-x jack     jack     4.0K]  Templates
└── [drwxr-xr-x jack     jack     4.0K]  Videos

8 directories, 0 files

To display the date of the last modification time for each sub-directory or file

$ tree -pughD
.
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Desktop
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Documents
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Downloads
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Music
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Pictures
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Public
├── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Templates
└── [drwxr-xr-x jack     jack     4.0K Jul  9 10:20]  Videos

8 directories, 0 files

To send or redirect the tree’s output to filename for later analysis 

$ sudo tree -o direc_tree.txt