linux可以这样玩 之 杂乱无章的随笔(不定期更新) 1

简介: linux可以这样玩 之 杂乱无章的随笔(不定期更新)

快速重命名

Linux:~ # cp /etc/vimrc{,.bak.`date +%F`}              # mv 也有同等的效果,不只是文件,目录也可以这样操作
Linux:~ # ll /etc/vimrc*
-rw-r--r--. 1 root root 1982 Dec 16 00:44 /etc/vimrc
-rw-r--r--  1 root root 1982 Mar  2 20:44 /etc/vimrc.bak.2021-03-02

vim的进化

  • 记得备份一份vimrc的文件,万一哪里没修改好,还有得救
Linux:~ # vim /etc/vimrc
set nu
set ts=4
set sw=4
set noeb
syntax on
  • set nuvim内自动显示行数
  • set ts=4vim内tab的宽度
  • set sw=4vim内统一缩进为4
  • set noebvim内去掉输入错误的提示声音
  • syntax onvim语法高亮显示

vim高亮当前行

Linux:~ # vim /etc/vimrc
set cursorline
hi CursorLine   cterm=bold ctermbg=DarkGrey ctermfg=NONE
  • set cursorline 高亮当前行
  • cterm 三种终端 term(黑白终端)cterm(彩色终端)gui(Gvim终端)
  • ctermbgcterm 终端背景色
  • ctermfgcterm 终端前景色
  • 终端安全色(默认不开启256色)
  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • Brown, DarkYellow
  • LightGray, LightGrey, Gray, Grey
  • DarkGray, DarkGrey
  • Blue, LightBlue
  • Green, LightGreen
  • Cyan, LightCyan
  • Red, LightRed
  • Magenta, LightMagenta
  • Yellow, LightYellow
  • White

vim列编辑

  1. ctrl+v 选中列数 选中一列
  2. shift +i
  3. #
  4. esc 退出,加随意方向键即可(这样就可以批量的添加注释)(ctrl+v 选中一列#,再按d,就可以快速去除注释了)

vim块编辑

在命令行模式下,按v(小写)

vim行编辑

在命令行模式下,按V(大写)


vim 中替换内容

  • 将文本中的6379全局(g)替换成6380
:%s/6379/6380/g

vim保留当前已经编辑的内容,切换到其他用户继续编辑

:w !sudo tee %

:w !{cmd} 让vim执行一个外部命令{cmd},然后把当前缓冲区的内容从stdin 传入

  • tee 是一个把stdin保存到文件的小工具
  • % 是vim当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径
  • 所以执行这个命令,就相当于从vim外部修改了当前编辑的文件

修改服务的进程限制

# vim /etc/systemd/system/xxx.service
TasksMax=infinity
  • infinity表示不限制

CentOS查看某个命令的安装包名称

Linux:~ # yum provides /*bin/killall
psmisc-22.20-17.el7.x86_64 : Utilities for managing processes on your system          # killall 命令需要安装psmisc
Repo        : base
Matched from:
Filename    : /usr/bin/killall
Linux:~ # yum provides /*bin/pip
python2-pip-8.1.2-14.el7.noarch : A tool for installing and managing Python 2 packages  # pip 命令需要安装python2-pip
Repo        : epel             # pip 安装需要 epel 源
Matched from:
Filename    : /usr/bin/pip

bash命令自动补全

Linux:~ # yum -y install bash-completion-extras.noarch
  • 安装完成后,需要重新连接终端才会生效

ifconfig获取本机ip

Linux:~ # ifconfig eth0 |sed -n 's#.*inet \(.*\)netmask.*#\1#p'
Linux:~ # ifconfig eth0 | grep -w inet | awk '{print $2}'
  • 两种方法都可以,ifconfig命令需要安装 net-tools 这个包(如果回显 command not found

树形展示目录结构

Linux:~ # yum -y install tree
Linux:~ # tree
.
├── 99.sh
├── anaconda-ks.cfg
└── test.txt
0 directories, 3 files
Linux:~ # tree /tmp/
/tmp/
├── systemd-private-2405e366cfa34321a6396335f84c79c9-chronyd.service-j3XkZ0
│   └── tmp
└── vmware-root_850-2689209357
3 directories, 0 files

快速创建目录结构

Linux:~ # mkdir -p /usr/local/nginx/html/CentOS-YUM/{CentOS,Aliyun}/version{_6.6,_7.0}/64bit
Linux:~ # tree /usr/local/nginx/
/usr/local/nginx/
└── html
    └── CentOS-YUM
        ├── Aliyun
        │   ├── version_6.6
        │   │   └── 64bit
        │   └── version_7.0
        │       └── 64bit
        └── CentOS
            ├── version_6.6
            │   └── 64bit
            └── version_7.0
                └── 64bit
12 directories, 0 files

awk 行切割

Linux:~ # cat test
192.168.1.1 123 22
192.168.1.2 456 9022
192.168.1.3 789 1022
192.168.1.4 012 2022
Linux:~ # awk 'NR == 1' test
192.168.1.1 123 22
Linux:~ # awk 'NR == 2' test
192.168.1.2 456 9022
Linux:~ # awk 'NR == 3' test
192.168.1.3 789 1022
Linux:~ # awk 'NR == 4' test
192.168.1.4 012 2022

统计目录下的文件大小(包含隐藏文件)

Linux:~ # du -sh * .[^.]*

软连接的删除和取消

  • 软连接的源路径是文件占用磁盘的路径,目标路径是相当于快捷方式所在的路径
  • 无论是源路径还是目标路径内增删文件,两个路径内的文件永远一致
  • 一旦删除源路径或者目标路径,则两个路径的文件全部消失不见(让我哭一会)
Linux:~ # ll
total 8
-rw-r--r-- 1 root root 82 Feb 24 13:30 test
drwxr-xr-x 2 root root 4096 Feb 24 13:51 test2
Linux:~ # ll /tmp/ | grep test
lrwxrwxrwx 1 root root   10 Feb 24 13:49 test -> /root/test
lrwxrwxrwx 1 root root   12 Feb 24 13:52 test2 -> /root/test2/
# 删除软连接
Linux:~ # rm -f /tmp/test2          # 如果是目录,后面不能带上'/' 否则源文件目录也会被删除,如果文件的话,不影响
Linux:~ # ll /tmp/ | grep test
lrwxrwxrwx 1 root root   10 Feb 24 13:49 test -> /root/test
Linux:~ # ll
total 8
-rw-r--r-- 1 root root   82 Feb 24 13:30 test
drwxr-xr-x 2 root root 4096 Feb 24 13:54 test2
# 取消软连接
Linux:~ # unlink /tmp/test
Linux:~ # ll /tmp/ | grep test
Linux:~ # ll
total 8
-rw-r--r-- 1 root root   82 Feb 24 13:30 test
drwxr-xr-x 2 root root 4096 Feb 24 13:54 test2

动态监测命令运行结果

Linux:~ # watch -n 1 date
  • 1秒钟输出一次date命令的运行结果
  • 当需要查看某个路径的大小变化,就不需要自己一直重复执行命令
  • watch 命令会占用当前终端,所以,需要动态监测的时候,需要另起一个终端

终端动态读出内容

Linux:~ # yum -y install pv.x86_64
Linux:~ # printf "\e[1;32m好看的皮囊嫌你丑,有趣的灵魂厌你俗\e[0m\n" | pv -qL 10

由ASCII字符组成艺术字

Linux:~ # yum -y install figlet.x86_64
Linux:~ # figlet Made in China
 __  __           _        _          ____ _     _
|  \/  | __ _  __| | ___  (_)_ __    / ___| |__ (_)_ __   __ _
| |\/| |/ _` |/ _` |/ _ \ | | '_ \  | |   | '_ \| | '_ \ / _` |
| |  | | (_| | (_| |  __/ | | | | | | |___| | | | | | | | (_| |
|_|  |_|\__,_|\__,_|\___| |_|_| |_|  \____|_| |_|_|_| |_|\__,_|


目录
相关文章
|
Linux Shell 网络安全
linux可以这样玩 之 杂乱无章的随笔(不定期更新)2
linux可以这样玩 之 杂乱无章的随笔(不定期更新)
121 0
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
138 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
555 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
104 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
88 2
|
29天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
53 14
Linux 10 个“who”命令示例
|
9天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
32 8
|
18天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
104 20
|
19天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
47 7
|
2月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
37 9