首页 > 系统相关 >Shell个性化

Shell个性化

时间:2023-11-30 19:55:49浏览次数:47  
标签:bin Shell 命令 fedora32 PATH root 个性化

创建个人的shell环境有助于我们更有效地工作。

配置Shell

Shell的行为方式由多个配置文件所支持。默认均为Bash Shell,以下列出Bash Shell的配置文件:

文件

描述

/etc/profile

为每个用户设置用户环境信息,首次登陆时执行此文件。对于设置的环境变量还会提高路径值。

/etc/bashrc

每次打开一个Bash Shell时都会执行此文件,该文件设置默认提示符。

~/.bash_profile

通常被每个用户用来输入shell具体用法的信息。该文件是添加环境变量的绝佳位置

~/.bashrc

包含了特定于Bash Shell的信息,添加修改别名

~/.bash_logout

每次注销时(即退出最后一个Bash Shell)执行文件,并且在默认情况下清除屏幕。

对于想要编辑纯文本文件,可以使用nano简单编辑器。

[root@fedora32 ~]# yum install nano -y

[root@fedora32 ~]# nano .bashrc

#进入编辑页面,使光标到底部,输入命令语句,若保存文件单击Ctrl+O,之后单击Enter,退出文件单击Ctrl+X。

alias dt='date +%D'

[root@fedora32 ~]# source .bashrc #使修改后的文件生效

[root@fedora32 ~]# dt

11/29/23

设置提示符

提示符通常不仅包含一个美元符号或英镑符号,提示符设置应包含以下信息:用户名、主机名以及当前工作目录,这些信息用方括号括起来,之后紧跟一个美元符号(针对普通用户)或者一个英镑符号(针对root用户)。

在提示符中,可以使用多个特殊字符(通过在各种字母前添加一个反斜杠来表示)来包含不同信息。(Bash Shell相关网址:https://tldp.org/

若临时设置提示符,应将PS1值放在引号中,例如:

[root@fedora32 ~]# export PS1="[\t\w]\$"

[11:40:25~]$

若要永久化更改提示符,需要向主目录中的.bashrc添加PS1值(适用于Bash Shell)。

添加环境变量

有时需要向.bashrc文件添加一些环境变量,有助于使用shell。

  • TMOUT——设置在Bash自动退出之前shell可以处于非活动状态多长时间,以秒为单位计算shell没有接收输入的时间。
  • PATH——设置了对所使用的命令进行搜索的目录。若需要使用不在路径中的命令目录,可以永久性地添加。例如:

[root@fedora32 ~]# $PATH

-bash: /root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin

[root@fedora32 ~]# PATH=$PATH:/getstuff/bin ; export PATH

#首先将所有当前的路径目录读取到新PATH变量中($PATH),然后添加/getstuff/bin目录,最后导出新的PATH变量

[root@fedora32 ~]# $PATH

-bash: /root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin:/getstuff/bin

  • WHATEVER——可以创建自己的环境变量,为工作提高快捷方式,可以为这些变量选择未被使用的任何名称,并赋予一个有用的值。

[root@fedora32 ~]# M=/work/time/memos ; export M

通过 cd $M 可以进入以上目录;

通过 $M/hggh 执行该目录下的hggh程序;

通过 vi $M/tesn 编辑该目录中的文件。

获取相关命令信息

  • 检查PATH。输入 echo $PATH,可以看到一个目录列表,这些目录包含了可以使用的命令,其中大部分都是标准的Linux命令。

[root@fedora32 ~]# ls /bin

  • 使用help命令。Help命令可以显示这些内置shell的命令以及这条命令可用的选项(输入commond --help | less,查看该列表)

[root@fedora32 ~]# date --help | less

  • 使用info命令。Info命令是shell中另一种用来显示关于命令的信息的工具。Info可以在节点间移动,找到关于命令以及其他项目的信息。
  • 使用man命令。使用man commond会显示该命令的描述及其选项。

[root@fedora32 ~]# man cat

[root@fedora32 ~]# man -k passwd

#若man -k没有显示任何输出,可能是因为手册页数据库还有初始化,以root身份键入mandb来初始化手册页数据库。

chgpasswd (8) - update group passwords in batch mode

chpasswd (8) - update passwords in batch mode

gpasswd (1) - administer /etc/group and /etc/gshadow

grub2-mkpasswd-pbkdf2 (1) - Generate a PBKDF2 password hash.

[root@fedora32 ~]# man 1 passwd

[root@fedora32 ~]# man -k mount | grep ^mount

mount (8) - mount a filesystem

mountpoint (1) - see if a directory or file is a mountpoint

[root@fedora32 ~]# man 8 mount

Shell中使用man中使用-k选项,可以对安装到系统中所有手册页的名称和概要部分进行搜索。

当正在显示一个手册页时,可以使用Page Down和Page Up键浏览文件的不同部分(每次移动一页)。也可以使用Enter键或者向上向下箭头每次移动一行。若想要搜索文档,可以按下正斜杠(/)并输入想要搜索的项目,按n,重复向前搜索;而按N则重复向后搜索,输入q退出手册页。

Linux Shell的手册页

手册页是获取命令及其Linux系统中其他基本组件相关信息的最常用方法,每一个手册页都属于下表所列出的某一个类别。

节数

节名称

描述

适用者

1

用户命令(Standard commands,标准命令)

由普通用户通过shell运行的命令(一般不需要管理特权)

普通用户

2

系统调用(System calls)

某一应用程序中用来调试系统内核的编程函数

程序开发人员

3

C库函数 (Library functions)

为特定编程库提供接口的编程函数(例如针对图形接口或其他库的函数)

程序开发人员

4

设备和特殊文件(Special devices)

表示硬件设备(终端设备或CD驱动器)或者软件设备(如随机生成器)的文件系统节点

系统管理员

5

文件格式和约定(File formats)

文件类型(如图形或字处理文件)或者特定的配置文件(如passwd或者group文件)

系统管理员

6

游戏(Games and toys)

系统中可玩的游戏

 

7

杂项(Miscellaneous)

对相关主题(如协议、文件系统、字符集标准等)的概述

 

8

系统管理工具和守护进程(Administrative Commands)

需要root或其他管理特权的命令

系统管理员

标签:bin,Shell,命令,fedora32,PATH,root,个性化
From: https://www.cnblogs.com/sijiu/p/17868116.html

相关文章

  • Shell封装日志函数
       使用echo打印输出日志严重影响观瞻,想打印时间戳就得每次都得把date命令加上,想自动加点别的东西真是好麻烦,封装一个日志函数,方便脚本在运行的时候输出日志,超级方便1、简单定义一个log函数function_log(){echo-e"${@}"}_log"helo"用的时候直接把想打印的信......
  • MySQL Shell如何接管手动搭建(含仲裁节点)MGR集群
    MySQLShell如何接管手动搭建(含仲裁节点)MGR集群本文源自GreatSQL社区用户的一次提问:Q:一个包含仲裁节点(ARBITRATOR)的GreatSQLMGR集群,一开始是用手动方式构建,后来想用MySQLShell接管,可以吗?A:是可以的,不过也有一定局限性具体的操作如下检查当前MGR集群情况greatsql>selec......
  • Shell信号发送与捕捉
    信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。linux通过信号来在运行在系统上的进程之间通信,也可以通过信号来控制shell脚本的运行进程可以通过三种方式来响应一个信号:1)忽略信号,即对信号不做任何处理,其中有两个信号不能忽略:S......
  • shell脚本5---信号处理
    信号的类别信号值描述1SIGHUP挂起进程2SIGINT终止进程3SIGQUIT停止进程9SIGKILL无条件终止进程15SIGTERM优雅的终止进程17SIGSTOP无条件停止进程,但不是终止进程18SIGTSTP停止或暂停进程,但不是终止进程19SIGCONT继续运行停止的进......
  • MySQL Shell连接数据库报MySQL Error 1045 (28000)错误浅析
    这里简单总结一下mysqlshell访问数据库时报MySQLError1045(28000):Accessdeniedforuser'root'@'::1'(usingpassword:YES)的原因以及如何解决这个问题这里测试的环境为MySQL8.0.35,我们先来看看报错案例:$mysqlsh-hlocalhost-P7306-uroot-pPleaseprovidethep......
  • Odoo16_Odoo Shell
    OdooShell浅尝-CSDN博客1.启动命令python3odoo-binshell-codoo.conf-ddb0012.内置变量变量类型envodoo.api.Environment 对象odooodoo 模块openerpodoo 模块selfres.users(1,) 记录3.内置方法方法必要参数......
  • 【Azure Web Job】Azure Web Job执行Powershell脚本报错 The term 'Select-Az
    问题描述AzureWebJob执行Powershell脚本报错 Select-AzContext:Theterm'Select-AzContext'isnotrecognizedasthenameofacmdlet,function,scriptfile,oroperableprogram.Checkthespellingofthename,orifapathwasincluded,verifythatthepa......
  • Linux shell简介
    Linuxshell简介一、什么是shell?shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。为什么要学习和使用shell?Shell属于......
  • 关于 xshell 连不上远程 CentOS7 云服务器的问题
    前情提要:今天收到腾讯云发来短信提示我的云服务器在17:23分时异地登录,我震惊,因为今天貌似根本没登过云服务器于是我赶紧上腾讯云控制台查看,先修改密码,然后重启,最后关机在接近19点时我重新开机,再次修改了密码,然后按照网上的教程关闭定时任务,查找有没有守护进程或者挖矿病毒,无果......
  • 4. Shell 循环语句
     重点:条件测试。read。Shell环境配置。case。for。find。xargs。gzip,bzip2,xz。tar。sed。1)循环1.1)循环执行介绍将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件。 重复运行次数循环次数事先已知循环次数事先未知 常见的循环的命令for......