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

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 行为和用户偏好。

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%}"    # 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
endifif (-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.dtcms.com/a/419908.html

相关文章:

  • 【网络安全】一、入门篇:读懂 HTTP 协议
  • 建设在线教育网站国外做的好的医疗网站设计
  • 酒店网站建设案例策划书怎么写网站设计是什么专业
  • java-字符集,编码解码
  • 使用 SQLAlchemy 和 Alembic 处理 FastAPI 中的模型变更
  • 怎么搭建属于自己的网站超详细wordpress常用函数
  • 【Java初学基础10】一文讲清反射
  • 深圳外贸营销型网站建设网站优化和提升网站排名怎么做
  • 可以做电算化的网站鄂州网站推广
  • 驻马店哪家做网站好专业展馆展厅设计
  • 20250928的学习笔记
  • seo网站推广策略福州短视频seo程序
  • Tsinghua OJ 工作分配(Workload)C++ 数组指针实现
  • 免费网站知乎网页打不开但是qq能上是怎么回事
  • 宁波网站设计制作公司wordpress免费简约模板
  • 乐山 做网站WordPress工作发布
  • 3.6 局域网 (答案见原书 P110)
  • C++基础:(五)类和对象(下)—— static、友元和内部类
  • 【二至九位数个位起符合递减限制求和】2022-11-19
  • eclipse jsp 网站开发登录中国沈阳网站
  • 【连载1】《假装自己是个小白 —— 重新认识 MySQL》实践指南
  • 智能客服机器人推动客服岗位角色转型
  • 商丘建设网站网站图片怎么做白色背景
  • 网站优化如何提高排名根据百度地图做网站
  • VC++ 使用OpenSSL创建RSA密钥PEM文件
  • 测试覆盖率:从度量到优化的完整工程实践指南
  • 贵阳网站设计哪家好无锡手机网站开发
  • SpringBoot中StringUtils工具类的使用
  • 阿里云网站方案建设书模板wordpress评论编辑器
  • SpringBoot核心注解、自动配置原理和配置文件