1.在Linux输出通过设置颜色来标记区分,常见的三种方法如下:
可以通过使用ANSI转义序列、tput命令以及修改.bashrc文件来实现命令输出的颜色设置
方法一:使用ANSI转义序列
ANSI转义序列是一种可以控制输出文本的特殊字符序列,可以实现设置文字颜色、背景色、样式等功能。在Linux终端中,可以通过使用ANSI转义序列来设置输出命令的颜色。
例如,要将命令输出文字的颜色设置为红色,可以使用如下的ANSI转义序列:
echo -e "\033[32m This is red color.\e[0m"
这条命令输出的文字将会显示为红色。
\033[0m:重置所有属性
\033[1m:设置粗体
\033[3m:设置斜体
\033[4m:设置下划线
\033[30m 到 \033[37m:设置前景色(黑色到白色)
\033[40m 到 \033[47m:设置背景色(黑色到白色)
方法二:修改.bashrc文件
在Linux中,可以通过修改用户的.bashrc文件来设置默认的命令输出颜色。
打开终端,并输入以下命令:
vi ~/.bashrc
在该文件中可以设置一些环境变量,可以添加如下的代码来设置输出文字的颜色:
export PS1=’[\033[01;36m][\u@\h \W]$[\033[00m] ‘
保存并退出文件,然后重启终端即可看到效果。
2.取消vim高亮显示
使用vim未进入编辑模式,导致写的代码出现了棕黄色的阴影显示,解决方法:
进入vim,进入编辑模式,进输入:nohl,回车,即可取消高亮显示
3.基础命令整理
[sort 排序]
[root@VM-8-3-centos ~]# sort -t ':' -n -k2 file.txt
d:1
c:2
b:3
a:4
e:5
f:11
[uniq 去重]
[root@VM-8-3-centos lianxi]# cat >> file1.txt <<EOF
> abc
> 123
> abc
> 123
> EOF
[root@VM-8-3-centos lianxi]# sort file1.txt | uniq -c
2 123
2 abc
4.linux中echo常用的技巧
\b 删除前一个字符
\n 换行
\t 水平制表符(tab)
\v 垂直制表符(tab)
\c \c后面的字符将不会输出,输出完毕后也不会换行
\r 光标移动到首行,换行
\f 换行,光标停在原处
\e 删除后一个字符
\ 输出\
\0nnn 输出八进制nnn代表的ASCII字符
\xHH 输出十六进制数HH代表的ASCII字符
\a 输出一个警告的声音
(1)输出变量
[root@VM-8-3-centos shell]# name="Alice"
[root@VM-8-3-centos shell]# echo "my name is $name"
my name is Alice
(2) -e启用转义 , \n 换行
[root@VM-8-3-centos shell]# echo -e "Line 1\nLine 2"
Line 1
Line 2
(3) 输出带颜色文本
[root@VM-8-3-centos shell]# echo -e "\033[31mThis is red text\033[0m"
This is red text #red
(4)使用命令替换
[root@VM-8-3-centos shell]# echo "Current date: $(date)"
Current date: Wed Oct 16 15:51:46 CST 2024
(5)使用制表符分隔
[root@VM-8-3-centos shell]# echo -e "item1\titem2\titem3"
item1 item2 item3
(6)统计变量长度
截图字符
[root@VM-8-3-centos shell]# var=123456789
[root@VM-8-3-centos shell]# echo ${#var} #统计变量长度
9
[root@VM-8-3-centos shell]# echo ${var}
123456789
[root@VM-8-3-centos shell]# echo ${var:0:3} #截取前3个字符
123
[root@VM-8-3-centos shell]# echo ${var:3:3} #从第4个字符截取
456
5.linux中rsync命令使用
cp、scp 和rsync都是用于文件复制的工具,但它们有不同的用途和特点:
1.cp:
- 用途:在本地文件系统中复制文件和目录。
- 特点:简单快速,但不支持网络传输。
2.scp:
- 用途:通过SSH在不同主机之间安全地复制文件。
- 特点:加密传输,但速度较慢,不支持增量传输。
3.rsync:
- 用途:本地或远程同步文件和目录。
- 特点:支持增量传输、压缩和断点续传,效率高,常用于备份。
简而言之:cp用于本地复制,scp用于安全网络传输,rsync用于高效同步。
# cp,scp -r 递归
rsync
-a参数可以替代-r 递归+元信息(原属性)
-v参数是将结果输出到终端
rsync -av source destination
rsync 会同步以"点"开头的隐藏文件,如果要排除隐藏文件,可以加上--exclude=".*"
#连接自定义ssh端口
scp -P 8022 a.txt root@server:/home/me/
#-e参数, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
rsync -e 'ssh -p 8022' a.txt root@server:/home/me/
rsync 也会使用你的 ssh 配置。在 ~/.ssh/config定义 Port 就不需要再为 rsync 或 scp 命令指定端口了。
rsync://协议默认端口为873
#--exclude参数(使用前可以测试一下,注意目录)
rsync -av --exclude='dir/es/' /data/ host:/data/dir/
6.磁盘容量检查
[root@VM-8-3-centos ~]# du -hd 1 /
[root@VM-8-3-centos ~]#du -h -x --max-depth=1
检查当前journalctl使用磁盘量
[root@VM-8-3-centos ~]# journalctl --disk-usage
Archived and active journals take up 1.8G on disk.
清理,保存2天,最大500M
[root@VM-8-3-centos ~]# journalctl --vacuum-time=2d --vacuum-size=500M
#实际环境采用不保留
[root@VM-8-3-centos ~]# journalctl --vacuum-time=1s --vacuum-size=0