当前位置: 首页 > news >正文

linux 系统cshrc 资料

linux 系统cshrc 资料

1.简介

.cshrc 文件是 C Shell(csh)  的配置文件,用于在用户启动交互式 Shell 时自动设置环境变量、别名(aliases)、路径(PATH)和其他自定义功能。

2.文件位置

  • 通常位于用户的家目录下:~/.cshrc
  • 系统级配置可能位于 /etc/csh.cshrc(影响所有用户)。

3.常见配置示例

路径设置

将 /usr/local/bin 添加到 PATH 环境变量开头:

setenv PATH "/usr/local/bin:$PATH"

常用命令别名

alias rm "rm -i"  #每次删除前询问确认(防止误删)。
alias mv "mv -i"  #移动文件前询问确认(覆盖时提示)。
alias cp "cp -i --reflink=auto --sparse=auto"
alias cp "cp -i --reflink=auto --sparse=auto"
#
#-i:覆盖前询问。
#
#--reflink=auto:支持写时复制(节省空间,需文件系统支持如 Btrfs)。
#
#--sparse=auto:优化稀疏文件(如虚拟机磁盘)的拷贝效率。
alias l "ls -ltr"  #按时间倒序列出文件(最新文件在最后)。
alias ll "ls -l"  #显示详细文件列表(权限、大小、时间等)。

终端提示符

set prompt = "%n@%m:%~ %# "  # 显示用户名@主机名:当前目录

编辑器设置

setenv EDITOR vim  # 设置默认编辑器为vim

4.自定义 Shell 行为和用户偏好。

set autologout off
umask 022
setenv TERM xterm
setenv EDITOR vi
setenv PAGER less
limit coredumpsize 0
limit stacksize unlimited
alias rm "rm -i"
alias mv "mv -i"
alias cp "cp -i --reflink=auto --sparse=auto"
alias l "ls -ltr"
alias ll "ls -l"

1.set autologout off

  • 作用:禁用 Shell 的自动注销(超时退出)功能。
  • 默认情况下,如果长时间无操作,C Shell 可能会自动断开会话(autologout=30 表示 30 分钟后退出)。
  • off 表示关闭此功能,保持会话一直活跃。

2.umask 022

  • 作用:设置新建文件的默认权限掩码。
  • umask 022 表示:
    • 文件权限默认为 644rw-r--r--)。
    • 目录权限默认为 755rwxr-xr-x)。
  • 目的是限制其他用户的写权限(防止误修改)

3.setenv TERM xterm

  • 作用:设置终端类型为 xterm
  • TERM 是环境变量,告诉程序如何控制终端显示(如颜色、光标移动等)。
  • xterm 是常见的终端仿真器类型,兼容大多数命令行工具。

4.setenv EDITOR vi

  • 作用:设置默认文本编辑器为 vi
  • 当程序需要调用编辑器时(如 crontab -egit commit),会自动使用 vi

5.setenv PAGER less

  • 作用:设置默认分页器为 less
  • 当输出内容过长时(如 mangit log),会用 less 分页显示,支持上下滚动。

6.配置系统限制

limit coredumpsize 0
limit stacksize unlimited

limit coredumpsize 0

  • 作用:禁止生成核心转储文件(core dump)。
  • 程序崩溃时,默认会生成 core 文件用于调试。
  • 0 表示禁用此功能,节省磁盘空间。

limit stacksize unlimited

  • 作用:设置程序的栈大小为无限制。
  • 避免某些程序(如递归调用深的程序)因栈空间不足而崩溃。

5.终端样式设置

5.1终端样式设置

set n="%b%{\e[00m%}"
set b="%{\e[34m%}%B"
set r="%{\e[31m%}%B"
set rev="%{\e[7m%}%B"
set prompt="[${r}%n@%m${n}: ${b}%/${n}]\n${rev}[Num=%h]${n} "
unset n b r rev

变量:

set n="%b%{\e[00m%}"    # n = Normal(重置所有样式)
set b="%{\e[34m%}%B"    # b = Blue(蓝色 + 加粗)
set r="%{\e[31m%}%B"    # r = Red(红色 + 加粗)
set rev="%{\e[7m%}%B"   # rev = Reverse(反色 + 加粗)

1.ANSI 转义码说明

  • %{\e[...m%}用于设置终端颜色/样式
  • \e[00m → 重置样式(对应变量 n
  • \e[34m → 蓝色(对应变量 b
  • \e[31m → 红色(对应变量 r
  • \e[7m → 反色显示(对应变量 rev
  • %B 表示加粗(Bold)
  • %b 表示取消加粗

2.设置 prompt

  • %n → 当前用户名。
  • %m → 主机名(短格式)。
  • %h → 当前命令的历史编号(即 !%h 可以重新执行这条命令)。
  • %/ → 当前工作目录(完整路径)。
  • n → 换行,使提示符分成两行。
  • %n@%m(用户名@主机名)显示为 红色加粗${r})。
  • : 和空格是普通文本。
  • %/(当前目录)显示为 蓝色加粗${b})。
  • 最后用 ${n} 重置颜色。

  • [Num=%h](历史编号)显示为 反色加粗${rev})。

3.unset n  b r rev

  • 删除临时变量 nbrrev,避免污染 Shell 环境。

4.修改或调试

  • 如果想调整颜色,可以修改 e[34m(蓝色)等 ANSI 颜色代码:
    • e[30m 黑色
    • e[31m 红色
    • e[32m 绿色
    • e[33m 黄色
    • e[34m 蓝色
    • e[35m 紫色
    • e[36m 青色
    • e[37m 白色

5.2终端样式设置

set prompt="%B%n@%m[%/] ->"

1.解析:

  • %B加粗(Bold)
  • %n当前用户名
  • @ → 普通字符
  • %m主机名(短格式)
  • [%/]当前工作目录(完整路径),放在方括号内
  • -> → 普通字符

2.示例输出:

6.检测平台和版本的语句:

setenv OSPLATFORM `/bin/uname`
if (-f /etc/os-release) thenset OSVERSION = `grep -oP '(?<=VERSION_ID=").*?(?=")' /etc/os-release | cut -d '.' -f 1`
else if (-f /etc/redhat-release) thenset OSVERSION = `grep -oP '(?<=release ).*' /etc/redhat-release | cut -d '.' -f 1`
elseset OSVERSION = 7  # Default value
endif

1.最终变量示例

echo $OSPLATFORM  # 显示当前操作系统平台(如Linux)
echo $OSVERSION   # 显示操作系统版本号(如7)

7.设置 PATH 环境变量加载用户自定义配置文件

set path = (. /sbin /usr/sbin /usr/local/sbin /bin /usr/bin /usr/local/bin $path)
if (-r ${HOME}/.my_cshrc) thensource ${HOME}/.my_cshrc
endif
if (-r ${HOME}/.my_alias) thensource ${HOME}/.my_alias
endif

1.set path = (... $path)

set path = (/sbin /usr/sbin /usr/local/sbin /bin /usr/bin /usr/local/bin $path .)
  • 作用
    • 重新定义 PATH 环境变量,决定 Shell 在哪些目录下查找可执行程序。
    • 按照从左到右的顺序搜索(优先级由高到低)。
  • 包含的目录
    • /sbin(系统管理员命令)
    • /usr/sbin(系统管理员命令)
    • /usr/local/sbin(本地安装的系统管理员命令)
    • /bin(基本命令)
    • /usr/bin(用户命令)
    • /usr/local/bin(本地安装的用户命令)
    • $path(保留原有的 PATH,避免覆盖)
    • .(当前目录)
  • echo $path # 输出类似: . /sbin /usr/sbin /usr/local/sbin /bin /usr/bin /usr/local/bin /usr/local/sbin ...

2.if ( -r ${HOME}/.my_cshrc ) then ...

if (-r ${HOME}/.my_cshrc) thensource ${HOME}/.my_cshrc
endif
  • 作用
    • 检查用户主目录下是否存在可读的 .my_cshrc 文件。
    • 如果存在,用 source 加载该文件(通常包含自定义的 Shell 配置)。
  • 用途
    • 允许用户自定义 csh/tcsh 环境变量、别名、函数等。

http://www.hskmm.com/?act=detail&tid=21919

相关文章:

  • 2025 年西安品质楼盘住宅推荐排行榜权威发布,精选优质楼盘推荐
  • 某商业银行项目管理建设演进报告 - 指南
  • 题解:P14073 [GESP202509 五级] 数字选取
  • 2025西安新房住宅推荐排行榜发布,房屋品质、周边配套、交通便利性多维度选择指南!
  • 华为造车“内战”!徐直军下场做“启境”,会比余承东五界更强?
  • 余承东的新职位传递了华为重大信息
  • 张雪峰的事儿,大有文章
  • 词(持续更新)语言的边界就是
  • 财务分析怎么做 - 智慧园区
  • Maven的安装与配置
  • 2025包装机厂家推荐榜单出炉:拉伸膜真空包装机,全自动真空包装机,滚动式真空包装机,食品真空包装机,气调包装机公司推荐!
  • 2025年真空机厂家推荐榜:平台式真空封口机,拉伸膜真空覆膜机,全自动拉伸膜真空包装机,滚动连续式真空包装机,双面拉伸真空包装机公司实力甄选指南
  • 【半导体器件 | 笔记】金属氧化物半导体场效应晶体管(MOSFET)
  • 元人文AI场域:在有限与无限的纠缠中走向智慧文明
  • 【半导体器件 | 笔记】双极晶体管(BJT)
  • Luogu P3863 序列 题解 [ 紫 ] [ 分块 ] [ 扫描线 ]
  • [HCTF 2018]WarmUp
  • Day2:Linux文件目录移到拷贝与vim编辑器使用指南
  • 【半导体物理 | 笔记】第八章 半导体表面与MIS结构
  • 【半导体物理 | 笔记】第七章 金属和半导体的接触
  • 【半导体物理 | 笔记】第四章 半导体的导电性
  • 【半导体物理 | 笔记】第五章 非平衡载流子
  • 【AHK】暗黑3助手,加强版鼠标宏
  • 【当前赛季】第36赛季:地狱魔王9月12日开启
  • 第36赛季:地狱魔王9月12日开启
  • 2025年9月 增值税进项税额,不可抵扣VS可抵扣全解析
  • 【Rust GUI开发入门】编写一个本地音乐播放器(14. 应用打包-制作安装程序) - Jordan
  • 【黑马python】2.Python基础语法-注释 数据类型 运算符 字符串等
  • Visual Studio Code + Clangd 设置语法检查针对 C++的版本。
  • 示波器地、大地、电源地!地线着火?