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

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.dtcms.com/a/336963.html

相关文章:

  • 从 UI 角度剖析蔬菜批发小程序的设计之道——仙盟创梦IDE
  • STRIDE威胁模型
  • IDE开发系列(1)基于QT的简易IDE框架设计
  • 【P38 6】OpenCV Python——图片的运算(算术运算、逻辑运算)加法add、subtract减法、乘法multiply、除法divide
  • 实践笔记-VSCode与IDE同步问题解决指南;程序总是进入中断服务程序。
  • 面试 TOP101 二叉树专题题解汇总Java版(BM23 —— BM41)
  • 深入解析StatefulSet与K8s服务管理
  • 集成电路学习:什么是Face Detection人脸检测
  • 多线程初阶-线程安全 (面试和工作的重点!!!)
  • Vue2篇——第六章 Vue 路由(VueRouter)全解析
  • Linux系统网络排查工具总结
  • org.apache.kafka.clients 和 org.springframework.kafka 的区别
  • kafka 发送消息有哪些模式?各自的应用场景是什么?
  • Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成
  • AI编程工具对决:Kilo vs Augment 开发Flutter俄罗斯方块游戏实战对比
  • 【AI论文】UI-Venus技术报告:借助强化微调(RFT)打造高性能用户界面(UI)代理
  • 手写Spring容器核心原理
  • 加密资产投资的六种策略:稳定币合规后的 Web3 投资和 RWA
  • 杂记 05
  • ARM 架构简明教程学习笔记
  • 微信原生小程序的一次gulp构建
  • DevExtreme Angular UI控件更新:引入全新严格类型配置组件
  • Kafka的ISR、OSR、AR详解
  • Rust学习笔记(六)|Rust 中的常用集合(Vector、String、HashMap)
  • Linux网络服务(一)——计算机网络参考模型与子网划分
  • 计算机网络:2、TCP和UDP
  • Golang context
  • CentOS 7 LAMP快速部署WordPress指南
  • 云原生Ansible渗透场景(⾃动化的运维⼯具)
  • Ansible企业及实战