小编Ste*_*ski的帖子

为您的终端和 shell 环境着色?

我大部分时间都在 Unix 环境中工作并使用终端模拟器。我尝试在命令行上使用颜色,因为颜色使输出更加有用和直观。

有哪些选项可以为我的终端环境添加颜色?你用什么技巧?你遇到过哪些陷阱?

不幸的是,对颜色的支持因终端类型、操作系统、TERM 设置、实用程序、错误实现等而异。

经过大量实验,以下是我的设置中的一些提示:

  1. 我倾向于设置TERM=xterm-color,大多数主机(但不是全部)都支持。
  2. 我在许多不同的主机、不同的操作系统版本等上工作。我使用 macOS?X、Ubuntu Linux、RHEL/CentOS/Scientific Linux 和 FreeBSD 中的所有内容。如果可能的话,我试图让事情保持简单和通用。
  3. 我使用 GNU 做了很多工作screen,这增加了另一层乐趣。
  4. 许多操作系统dircolors默认设置类似和,我不想在一百个不同的主机上修改它。所以我尝试坚持使用默认值。相反,我调整了终端的颜色配置。
  5. 对某些Unix 命令ls, grep, less, vim)和Bash 提示符使用颜色。这些命令似乎使用标准的“ ANSI 转义序列”。例如:

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'
    
    Run Code Online (Sandbox Code Playgroud)

我会发布我的.bashrc并回答我自己的问题 Jeopardy Style。

shell colors bash prompt

284
推荐指数
9
解决办法
81万
查看次数

linux:如何查看系统上所有可用磁盘的所有 UUID?

我的/etc/fstab包含这个:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1
Run Code Online (Sandbox Code Playgroud)

此系统上还有其他几个磁盘,并非所有磁盘都安装到正确位置(例如,/dev/sda1 和 /dev/sdb1 有时会颠倒)。

如何查看系统上所有磁盘的 UUID?我可以在这个系统上看到第三个磁盘的 UUID 吗?

storage linux

213
推荐指数
6
解决办法
54万
查看次数

如何用随机数据填充文件?

如何创建一个新文件并用 1 GB 的随机数据填充它?我需要这个来测试一些软件。

我更喜欢使用/dev/randomor /dev/urandom

random

193
推荐指数
4
解决办法
20万
查看次数

Yum:如何查看 $releasever、$basearch 和 $YUM0 等变量?

我正在设置一个 yum 存储库,并且需要调试 yum.conf 文件中的一些 URL。我需要知道为什么 Scientific Linux 试图抓取这个 URL,而我期望它抓取另一个 URL:

# yum install package 
http://192.168.1.100/pub/scientific/6.1/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: sl. Please verify its path and try again
Run Code Online (Sandbox Code Playgroud)

的yum.conf(5)手册页提供了有关这些变量的一些信息:

变量

您可以使用许多变量来简化 yum 配置文件的维护。它们在几个选项的值中可用,包括 name、baseurl 和 commands。

$releasever 这将替换为 distroverpkg 中列出的软件包版本的值。这默认为 'redhat-release' 包的版本。

$arch 这将被替换为您在 Python 中由 os.uname()[4] 列出的架构。

$basearch 这将替换为您在 yum 中的基础架构。例如,如果您的 $arch 是 i686,您的 $basearch 将是 i386。

$YUM0-$YUM9 …

yum scientific-linux repository dnf

86
推荐指数
5
解决办法
13万
查看次数

相当于“tail -f”的“less”命令行

我想使用less打开一个文件,并让它自动滚动类似于tail -f.

我知道我可以做到less file,然后Shift-F永远向前冲;喜欢tail -f

我需要,less因为它提供了--raw-control-chars标志,这是必要的,因为我的输入是丰富多彩的。

shell less tail

68
推荐指数
2
解决办法
4万
查看次数

在 Mac 上打开 RPM?

我在运行 Apple Leopard (Mac OS X 10.5.8) 的 MacBook Pro 上。

我想解压RPM 并查看wget-1.11.4-2.el5_4.1.src.rpm 中包含的文件。我不需要将文件安装到特定位置或运行任何 %postinstall 脚本或任何东西。我只是想解压这个 RPM 以便我可以查看下面的源文件。

是否可以在非 RedHat/CentOS 系统上解包 RPM 文件?

osx rpm rhel

59
推荐指数
4
解决办法
7万
查看次数

bash 中的 CLICOLOR 和 LS_COLORS

我在 .bashrc 中有以下设置用于为列表着色。

出口 CLICOLOR=1
出口 LS_COLORS='no=00:fi=00:di=00;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01: cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.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:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35: *.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*。 xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg= 01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01; 35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:';

该站点显示了颜色代码,我想将目录颜色更改为“浅色”。但是如下制作 di 不会影响它。

di=04;94

有趣的是,即使在我注释掉 LS_COLORS 之后,只要我有 CLICOLOR=1,我就可以看到彩色输出。

  • 我应该怎么做才能使目录颜色为浅蓝色 (94)?
  • CLICOLOR 和 LS_COLORS 是什么?为什么在没有 LS_COLORS 的情况下着色有效?

colors bash settings display-settings

55
推荐指数
3
解决办法
6万
查看次数

CentOS:按安装/更新日期列出已安装的 RPM?

我在 CentOS 机器上。几周前我更新并安装了一些软件包,但我不记得每个软件包的名称或每个依赖项的名称。我用过yum

我可以按上次安装或更新的日期列出系统上的软件包吗?

rpm centos package-management

52
推荐指数
2
解决办法
7万
查看次数

如何确定某人的 SSH 密钥是否包含空密码?

我的一些 Linux 和 FreeBSD 系统有几十个用户。工作人员将使用这些“ssh 网关”节点通过 SSH 连接到其他内部服务器。

我们担心其中一些人使用未加密的私人 SSH 密钥(没有密码的密钥这很糟糕,因为如果破解者在这台机器上获得了对他们帐户的访问权限,他们可以窃取私钥,现在可以访问到任何使用相同密钥的机器。出于安全原因,我们要求所有用户使用密码来加密他们的私有 SSH 密钥。

如何判断私钥是否未加密(例如,不包含密码)?是否有不同的方法可以在 ASCII 装甲钥匙和非 ASCII 装甲钥匙上执行此操作?

更新:

澄清一下,假设我在机器上拥有超级用户访问权限,并且我可以读取每个人的私钥。

security users ssh

44
推荐指数
3
解决办法
3万
查看次数

如何使用 DD 将数据从旧驱动器迁移到新驱动器?

我正在将笔记本电脑上的内置 SATA 硬盘从 40G 驱动器升级到 160G 驱动器。我有一个带有 SATA 卡的 Linux/Ubuntu 桌面。我实际上想为工作中的几个 CentOS 和 FreeBSD 机器做同样的事情,而且这似乎有相同的解决方案。

听说可以用DD把40G的分区镜像到160G的驱动器,也可以把40G的分区作为镜像保存在本地系统上,然后把那个40G的镜像复制到160G的驱动器上。

谁能描述我如何做到这一点?我是否需要任何其他实用程序,例如gparted

storage linux freebsd partition cloning

33
推荐指数
3
解决办法
3万
查看次数