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的文本格式