[2]solaris下安装的带颜色的 ls

本文介绍如何在Solaris系统中实现ls命令的彩色显示。通过下载并安装coreutils软件包,用户可以获取带有彩色输出功能的ls命令。文章详细说明了安装步骤及如何设置系统级的彩色显示配置。
Solaris 下默认的ls后显示的目录或者文件等等是不带颜色的,如果要使其像 Linux 下,那么需要如下步骤
一、去www.sunfreeware.com
下载 coreutils-4.5.4-sol9-sparc-local.gz
二、以下分十步完成

1. 彩色输出是GUN版本ls命令的一个特征,所以你必须先得到这个版本,你可以在这里下载sunfreeware.com.

2. 使用下面的命令安装该包:

root@host /var/tmp> pkgadd -d coreutils-4.5.4-sol9-sparc-local

会提示你以下的包将会被用到:
1 SMCcoreu coreutils (sparc) 4.5.4

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 回车即可
--output ommitted--

3. 这个过程将安装和GUN ls以及其它有用的程序到 /usr/local/bin. 检查这个目录.

4. 这些命令的文档信息可以在 /usr/local/doc 和 /usr/local/man目录中找到,阅读这些文档来了解新的命令,例如,彩色显示:

user@host ~> man -M /usr/local/man dircolors

稍后, 确认 MANPATH variable 包含 /usr/local/man.

5. 可以给整个系统添加彩色显示设置, 如果那样的话,你需要在 /etc目录下建立一个DIR_COLORS文件。 大约是这样的:

user@host ~> cat /etc/DIR_COLORS

# Configuration file for the color ls utility
# This file goes in the /etc
Director y, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.

# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not
# pipes. 'all' adds color characters to all output. 'none' shuts colorization
# off.
COLOR tty

# Extra command line options for ls go here.
# Basically these ones are:
# -F = show '/' for dirs, '*' for executables, etc.
# -T 0 = don't trust tab spacing when formatting ls output.
OPTIONS -F -T 0

# Below, there should be one TERM entry for each termtype that is colorizable
TERM linux
TERM console
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM xterm
TERM rxvt
TERM xterm-color
TERM color-xterm
TERM vt100
TERM dtterm
TERM color_xterm

# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)
EIGHTBIT 1

# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
NORMAL 00 # global default, although everything should be something.
FILE 00 # normal file
DIR 01;34 # directory
LINK 01;36 # symbolic link
FIFO 40;33 # pipe
SOCK 01;35 # socket
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 01;05;37;41 # orphaned syminks
MISSING 01;05;37;41 # ... and the files they point to

# This is for files with execute permission:
EXEC 01;32

# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
.cmd 01;32 # executables (bright green)
.exe 01;32
.com 01;32
.btm 01;32
.bat 01;32
.sh 01;32
.csh 01;32
.tar 01;31 # archives or compressed (bright red)
.tgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.zip 01;31
.z 01;31
.Z 01;31
.gz 01;31
.bz2 01;31
.bz 01;31
.tz 01;31
.rpm 01;31
.cpio 01;31
.jpg 01;35 # image formats
.gif 01;35
.bmp 01;35
.xbm 01;35
.xpm 01;35
.png 01;35
.tif 01;35

6. 测试新的设置是否可用, 在几个文件夹下使用 /usr/local/bin/ls --color 命令.

如果你可以看到不同的颜色 , 进行下一步.

7. 现在我们不想每次都输入 /usr/local/bin/ls --color . 你可以改变PATH 变量来解决这问题 :

user@host ~> export PATH=/usr/local/bin:$PATH

这样, 当你输入ls, 将首先从 /usr/local/bin 路径下搜索ls命名,而不使用默认的 /usr/bin.

8. 现在我们已经可以调用这个命令了, 但是我们还是觉得麻烦,因为我们每次都要输入 --color 选项。所以你有可能会希望给它起一个别名:

user@host ~> alias ls='ls --color'

有可能这个别名不能在shell /sbin/sh下使用。你需要使用更高级的shell例如 bash 或者 ksh.

9. 当然, 当我们注销时, 所有的设置也消失了, 所以我们需要把这个设置写在你的shell配置文件中, 例如 ~/.bashrc:

user@host ~> echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
user@host ~> echo "alias ls='ls --color'" >> ~/.bashrc

10. 为了使这个命令对系统的所有用户都有效, 将这最后两行写入 echo "alias ls='ls --color'" >> /etc/profile;
<think>好的,我现在需要帮助用户解答关于Linux中ls命令显示的文件类型的问题。用户之前已经问过类似的问题,现在他们再次提问,可能希望得到更详细或更清晰的解释。首先,我要回顾之前的对话历史,确保这次回答保持一致,同时补充新的信息。 用户提到参考了站内的引用,其中有一段关于LS_COLORS的设置,这说明他们对颜色标识和如何自定义颜色可能感兴趣。但用户的主要问题还是关于ls显示的文件类型,所以需要先明确回答这个问题,再考虑是否需要涉及颜色配置的细节。 在之前的回答中,我已经介绍了通过颜色、-l参数的首字符和-F参数来识别文件类型。现在用户再次询问,可能需要更系统或更全面的总结。我需要确保覆盖所有常见的文件类型,并可能补充一些例子或使用场景。 首先,文件类型主要包括:普通文件、目录、符号链接、块设备、字符设备、套接字、管道文件等。使用ls -l时,每个文件条目的第一个字符表示类型,比如d表示目录,-表示普通文件,l表示链接等。此外,使用ls -F会在文件名后添加符号,如/表示目录,@表示链接,*表示可执行文件等。 用户提供的引用中提到了LS_COLORS的设置,其中di=00;35表示目录的颜色,这可能对应紫色,而之前的回答提到蓝色,这可能存在不一致。需要检查这一点,可能是用户自定义设置导致的不同,或者不同系统的默认设置不同。在回答中应该指出颜色可能因配置而异,但首字符和-F参数是更可靠的判断方式。 同时,用户可能对如何查看不可见文件类型(如设备文件)感兴趣,或者如何进一步自定义显示方式。但根据当前问题,重点还是列举所有可能的文件类型,并解释如何通过ls命令识别它们。 需要确保回答结构清晰,分点列出每种文件类型,说明对应的标识符(如首字符,-F参数后的符号),并给出示例。可能还需要提到特殊文件类型的位置,如设备文件通常在/dev目录下,套接字文件可能在运行中的程序使用的地方等。 此外,用户可能想知道为什么有些文件类型不常见,或者如何创建这些类型的文件,但根据问题,可能不需要深入这些细节,除非用户后续提问。 最后,相关问题部分需要与当前主题相关,比如如何显示隐藏文件、如何查看文件类型命令(如file命令),或者如何修改颜色配置,这些都可以作为相关问题推荐,帮助用户进一步学习。</think>在Linux系统中,`ls`命令可通过多种方式显示文件类型信息,以下是完整的分类与识别方法: --- ### 一、通过`ls -l`首字符标识文件类型(**最核心的标识方法**) 执行`ls -l`时,每行第一个字符表示文件类型: | 首字符 | 类型 | 示例/说明 | |--------|-----------------------|--------------------------------------------------------------------------| | `-` | 普通文件(Regular File) | 文本文件(`file.txt`)、二进制文件(`app`)、图片(`image.jpg`) | | `d` | 目录(Directory) | 文件夹(`Documents/`) | | `l` | 符号链接(Symbolic Link) | 快捷方式(`link_file -> target`) | | `b` | 块设备文件(Block Device) | 硬盘(`/dev/sda`) | | `c` | 字符设备文件(Character Device) | 终端(`/dev/tty`)、键盘输入设备 | | `s` | 套接字文件(Socket) | 进程间通信文件(`/run/systemd/private`) | | `p` | 管道文件(Pipe/FIFO) | 命名管道(`mkfifo mypipe`生成) | | `=` | 门(Door) | Solaris特有,Linux罕见[^1] | --- ### 二、通过`ls -F`附加符号增强可读性 使用`ls -F`时,文件名后追加类型标识符: ```bash ls -F # 输出示例: Documents/ script.sh* link@ mypipe| .hidden_file ``` | 符号 | 类型 | 说明 | |------|-----------------------|-----------------------------------------| | `/` | 目录 | 如`Documents/` | | `*` | 可执行文件 | 如`script.sh*` | | `@` | 符号链接 | 如`link@` | | `|` | 管道文件 | 如`mypipe|` | | 无符号 | 普通文件 | 如`file.txt` | --- ### 三、通过颜色标识文件类型(依赖`LS_COLORS`配置) 启用颜色显示(`ls --color`)时,颜色与类型对应关系如下[^1]: | 颜色 | 类型 | 典型示例 | |--------------|-----------------------|----------------------------------------| | **蓝色** | 目录 | `Documents/` | | **绿色** | 可执行文件 | `script.sh` | | **红色** | 压缩文件 | `file.zip`、`file.tar.gz` | | **浅蓝色** | 符号链接 | `link_file -> target` | | **黄色黑底** | 管道文件 | `mypipe|` | | **紫色** | 图片文件 | `image.jpg`、`photo.png` | > 🔍 **注意**:颜色方案可通过`LS_COLORS`环境变量自定义(如引用[1]中的配置),不同系统默认值可能略有差异。 --- ### 四、特殊文件类型说明 1. **设备文件** - 块设备(`b`):存储设备(如硬盘) - 字符设备(`c`):串行I/O设备(如键盘) - 查看方法:`ls -l /dev`(如`/dev/sda`, `/dev/tty1`) 2. **套接字与管道文件** - 套接字(`s`):用于网络或进程间通信 - 管道(`p`):单向数据流(通过`mkfifo`创建) --- ### 五、扩展工具:`file`命令精确识别 若需更精确的文件类型信息,可使用`file`命令: ```bash file myfile # 输出示例: myfile: ASCII text script.sh: Bourne-Again shell script, UTF-8 Unicode text executable ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值