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

01.Linux小技巧

Linux小技巧

  • Linux小技巧
    • 1. 命令提示符 prompt
    • 2. 登录前提示
    • 3. 登录后提示
    • 4. 修改语言环境为中文
    • 5. 查看ascii表
    • 6. 括号扩展:{}
    • 7. Shell 设置与状态查看
    • 9. tab键自动补全
    • 10. 绝对和相对路径
    • 11. 基名 & 目录名
    • 12. windows的文本格式和Linux的文本格式有区别
    • 13. 转换文件字符集编码
    • 14. /dev/zero 和 /dev/null
    • 15. 硬链接与软连接
    • 16. 审计的登录日志
    • 软件

Linux小技巧

1. 命令提示符 prompt

登录Linux后,默认的系统命令提示符毫无没有个性,无法明显辨别生产和测试环境,而导致误操作。可以通过修改PS1变量实现个性的提示符格式,避免这种低级错误

# 管理员
$ 普通用户

修改提示符

# 修改提示符
Rocky
[root@rocky8 ~]# echo 'PS1="\[\e[1;40;36m\][\u@\h \W]\\$\[\e[0m\]"' > /etc/profile.d/env.sh[root@rocky8 ~]#vim /etc/profile.d/env.shPS1="\[\e[1;40;36m\][\u@\h \W]\\$\[\e[0m\]"[root@rocky8 ~]#source /etc/profile.d/env.shUbuntu
root@zzz:~# echo "PS1='\[\e[1;35m\][\u@\h \W]\\$\[\e[0m\]'" >> .bashrc
root@zzz:~# . ~/.bashrc   ( source ~/.bashrc )如里需要永久有效,则要写配置文件:仅对当前用户:  ~/.bashrc对所有用户有效: /etc/bashrc编辑配置文件新加的别名不会立即生效,要退出重新登录或在当前进程中重新读取配置文件
source /path/to/config_file
.     /path/to/config_file# 显示提示符格式
[root@ubuntu2204 ~]#echo $PS1
\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]# 提示符格式说明:
\e 控制符\033
\u 当前用户
\h 主机名简称
\H 主机名
\w 当前工作目录
\W 当前工作目录基名
\t 24小时时间格式
\T 12小时时间格式
!命令历史数
# 开机后命令历史数

2. 登录前提示

/etc/issue

3. 登录后提示

创建登录提示文件 /etc/motd
参考网站: https://www.bootschool.net/ascii-art

登录后提示  /etc/motd
[root@localhost etc]#vim motd_oo0oo_08888888088" . "88(| -_- |)0\ = /0___/'---'\___.' \\\\| |//// './ \\\\|||:|||//// \/_ ||||| -:- ||||| _\|   | \\\\\-///// |   || \_|  ''\---/''  |_/ |\  .-\__  '-'  __/-.  /___'. .'  /--.--\  '. .'___."" '<  '.___\_<|>_/___.' >'  "".| | : '-  \'.;'\ _ /';.'/ - ' : | |\  \ '_.   \_ __\ /__ _/   ._' /  /
====='-.____'.___ \_____/___.-'____.-'=====^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑    iii    永不死机

4. 修改语言环境为中文

# CentOS 		
yum -y install langpacks-zh_CN.noarch# Ubuntu 		
apt install language-pack-zh-hans -ylocalectl set-locale LANG=zh_CN.utf8# 临时修改LANG变量实现中文语言提示
LANG=zh_CN.utf8

5. 查看ascii表

软件名:man-pages
# 查看ascii表
man ascii

6. 括号扩展:{}

{} 可以实现打印重复字符串的简化形式

{元素1,元素2,元素3}
{元素1..元素2}# 比较 “ ” ,‘ ’, ` `|$() 三者区别1. 单引号:强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻"  2. 双引号:弱引用,不能识别命令,可以识别变量,"半傻不精"  3. 反向单引号:里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内容当成命令进行执行后,再交给                调用反向单引号的命令继续,"最聪明"

7. Shell 设置与状态查看

# 查看当前 Shell 状态:
echo $-h	hashall,跟踪函数调用
i	interactive,交互式 shell
m	job control,作业控制
B	brace expansion,大括号扩展开启
H	history expansion,历史替换开启# 设置 Shell 行为:set 命令
set -B # 启用大括号扩展
set +B # 禁用大括号扩展

9. tab键自动补全

# 子命令补全
[root@Rocky89 ~]#yum -y install bash-completion
[root@Rocky89 ~]#source /etc/profile.d/bash_completion.sh

10. 绝对和相对路径

# 描述一个文件位置有两种方式# 绝对路径
1. 以正斜杠/ 即根目录开始
2. 描述完整的文件的位置路径
3. 可用于任何想指定一个文件名的时候# 相对路径
1. 不以斜线开始,而是以当前所在的位置开始
2. 一般情况下,是指相对于当前工作目录的路径,特殊场景下,是相对于某目录的位置 
3. 可以作为一个简短的形式指定一个文件名

11. 基名 & 目录名

基名:basename,只取文件名而不要路径
目录名:dirname,只取路径,不要文件名

12. windows的文本格式和Linux的文本格式有区别

13. 转换文件字符集编码

14. /dev/zero 和 /dev/null

1. /dev/null - "数据黑洞"这是一个只写的设备。写入它的任何数据都会被立即丢弃,如同掉进一个无底洞。从它读取立即得到文件结束符  (EOF),没有任何数据返回。2. /dev/zero - "零字节源"这是一个可读可写的设备。从它读取时,它会无限地提供空字符(ASCII NUL, 数值为 0x00 的字节)。写入它的数  据会被丢弃(类似 /dev/null,但这不是它的主要用途)。

15. 硬链接与软连接

# 硬链接
ln filename linkname# 软连接
ln -s filename linkname

16. 审计的登录日志

# ubuntu
/var/log/auth.log# centos
/var/log/secure

软件

中文帮助:man-pages-zh-CN
转换工具:dos2unix	# 将Windows的文本格式转换成的Linux文本格式
转换工具:unix2dos	# 将Linux的文本格式转换成Windows的文本格式
http://www.xdnf.cn/news/18298.html

相关文章:

  • 「Flink」业务搭建方法总结
  • Chromium base 库中的 Observer 模式实现:ObserverList 与 ObserverListThreadSafe 深度解析
  • 《Python学习之第三方库:开启无限可能》
  • 【K8s】harbor安装与推送镜像
  • 104、【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(上)
  • 【笔记】位错的定义和分类
  • K8s的命名空间需要创建吗
  • HAProxy使用方法以及和LVS区别
  • InfluxDB 开发工具链:IDE 插件与调试技巧(二)
  • 【DDIA】第十章:解析Reduce端连接与分组技术
  • 基于C语言实现的HRV分析方法 —— 与Kubios和MATLAB对比
  • Django 请求生命周期
  • 2025北京世界机器人大会 ​要点总结
  • 检索增强生成(RAG) 缓存增强生成(CAG) 生成中检索(RICHES) 知识库增强语言模型(KBLAM)
  • PPT生成视频的AI大模型应用技巧
  • 第4.3节:awk正则表达式详解-特殊字符
  • apisix负载均衡测试
  • Webrtc在项目中承担的角色
  • 决策树-信息增益(第二十三节课内容总结)
  • 第2章:进阶篇——第2节:索引
  • 从决策树基础到熵与信息增益
  • PYTHON让繁琐的工作自动化-函数
  • 【DL学习笔记】交叉熵损失函数详解
  • 人工智能包括哪些方面内容?
  • minio安装和配置
  • 大数据时代时序数据库选型指南:深度解析与 Apache IoTDB 实践
  • 国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V核间通信开发案例
  • MiniMax Agent 上线 Market Place ,AI一键复制克隆网站
  • 如何解决IDEA/Datagrip无法连接数据库的问题:解决方法为添加参数-Djava.net.preferIPv4Stack=true
  • MySQL的锁: