赞
踩
:q 退出
:q! 强制退出
:wq 保存并退出
:set num 显示行号
:set nonumber 隐藏行号
全部复制粘贴键方法:
ggVG 全部选中
gg 到文件头
V 行visual模式
G 到文件尾
yyp 复制光标所在行,并粘贴
v+ 移动光标可以选中文本。
y 可以复制已经选中的文本
p 可以粘贴
yy 复制一行则
y$ 复制当前光标所在的位置到行尾
y^ 复制当前光标所在的位置到行首
3yy 复制三行则:即从当前光标+下两行
剪切文本:
用v选中文本之后可以按y进行复制,如果按d就表示剪切,之后按p进行粘贴
dd 剪切一行
d$ 剪切当前行光标所在的位置到行尾
d^ 剪切当前行光标所在的位置到行首
3dd 前切三行:即从当前行+下两行被剪切了
全在vim中查找方法:
选按 /输入 关键字(如: /fooher.com) 在文档中查找字符fooher.com,按n跳到下一个,shift+n上一个
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
1,10s/^/#/g 在1行到10行前加#号
1,10s/#/^/g 在1行到10前取消#号
1,10>> 把10行向右移动两个tab
1,10<< 把10行向左移动两个tab
1,10d 把1到10行删除
4,8s/#g 把4到8行#替换成 //
定位命令-vim移动到指定字符
h、 方向左键 左移一个字符
j、 方向下键 下移一行字符
k、 方向上键 上移一行字符
l、 方向右键 右移一个字符
$ 移至行尾
0 移至行首
10h 向左 移动 10
10j 向下 移动 10
10k 向上 移动 10
10l 向右 移动 10
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端
( (左小括号)移动到上一个句子首
) (右小括号)移动到下一个句子首
{ (左大括号)移动到上一个段落首
} (右大括号)移动到下一个段落首
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
# 连接到另一台服务器
root@master tmp]# sftp root@192.168.100.22
# 直接使用命令会操作远程服务器,可以使用l+命令的方式操作本地文件,如lcd,lls等
分卷压缩
# 1. 先把源文件压缩成zip
zip -r b.zip a.html
# 2. 根据情况分卷 --4g
zip -s 4g b.zip --out c.zip
---
# 分卷解压
# 3. 合并文件
cat c.zip.* > d.zip
# 4. 解压
unzip d.zip
中文乱码问题
unzip -O GBK *.zip
批量解压缩
find . -name '*.zip' -exec unzip -O GBK {} \;
# 同理对文件执行批量命令,如tar
find . -name '*.tar.gz' -exec tar -zxvf {} \;
vim /etc/sysconfig/network-scripts/ifcfg-eno1
BOOTROTO=static # 配置静态ip
ONBOOT=yes # 使用此网卡
IPADDR="10.25.11.11"
PREFIX="24"
GATEWAY="10.25.11.1"
# 重启网卡服务
service network restart
hostnamectl set-hostname your-names
# 重启hostname 生效
systemctl restart systemd-hostnamed.service
# 新增用户
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
vim /etc/sudoer
rpm -ivh xxx.rpm //安装rpm
rpm -Uvh xxx.rpm //升级rpm
rpm -e xxx.rpm //删除rpm
rpm -qi xxx.rpm //查看安装包的信息
rpm -ql xxx.rpm //查看安装包内文件的绝对路径
rpm -qf xxx.rpm //查看文件属于哪一个rpm安装包
rpm -qa xxx.rpm //显示所有安装的rpm包
rpm -qilp xxx.rpm //列出一个未被安装进系统的RPM包文件中包含有哪些文件
#特殊参数
--force //即使覆盖属于其它包的文件也强迫安装
--nodeps //如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
# yum安装nginx,先添加ngixnyum资源库
[root@VM-4-16-centos ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 查看yum仓库可用nginx版本
[root@VM-4-16-centos ~]# yum --showduplicates list nginx
# 执行安装
[root@VM-4-16-centos ~]# yum install -y nginx
# 卸载
[root@VM-4-16-centos ~]# yum remove -y nginx
yumdownloader下载离线资源
# 安装yum-utils
[root@VM-4-16-centos ~]# yum install -y yum-utils
# 执行下载,--destdir指定下载包存放位置
[root@VM-4-16-centos ~]# yumdownloader --resolve --destdir /data nginx
top:
实时查看进程的状态,可以看到总体的系统运行状态cpu、内存等
top - 10:56:15 up 11 days, 15:01, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 391 total, 1 running, 390 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 65787000 total, 63921300 free, 935568 used, 930132 buff/cache
KiB Swap: 8257532 total, 8257532 free, 0 used. 64088748 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 193308 6292 2544 S 0.3 0.0 4:40.39 systemd
1055 root 20 0 115816 1396 684 S 0.3 0.0 0:31.70 ksmtuned
2178 gdm 20 0 725616 18192 8920 S 0.3 0.0 16:23.20 gsd-color
146222 root 20 0 162236 2540 1528 R 0.3 0.0 0:00.05 top
2 root 20 0 0 0 0 S 0.0 0.0 0:00.40 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/0
查看磁盘空间
[root@k8s-main1 /]# fdisk -l 磁盘 /dev/vda:536.9 GB, 536870912000 字节,1048576000 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000b803a 设备 Boot Start End Blocks Id System /dev/vda1 * 2048 2099199 1048576 83 Linux /dev/vda2 2099200 209715199 103808000 8e Linux LVM 磁盘 /dev/vdb:2199.0 GB, 2199023255552 字节,4294967296 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
使用parted 设置分区
[root@k8s-main1 /]# parted /dev/vdb GNU Parted 3.1 使用 /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel gpt (parted) mkpart primary xfs 0% 100% (parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 2199GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志 1 1049kB 2199GB 2199GB primary (parted) quit [root@k8s-main1 /]# fdisk -l 磁盘 /dev/vda:536.9 GB, 536870912000 字节,1048576000 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000b803a 设备 Boot Start End Blocks Id System /dev/vda1 * 2048 2099199 1048576 83 Linux /dev/vda2 2099200 209715199 103808000 8e Linux LVM WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 磁盘 /dev/vdb:2199.0 GB, 2199023255552 字节,4294967296 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt Disk identifier: 7FE01718-24DD-4B1A-B3A5-D507BF55BBE2 # Start End Size Type Name 1 2048 4294965247 2T Microsoft basic primary
格式化磁盘
[root@k8s-main1 /]# mkfs.ext4 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 134217728 inodes, 536870400 blocks 26843520 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2684354560 16384 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成
挂载磁盘
[root@k8s-main1 /]# mkdir /data
[root@k8s-main1 /]# mount /dev/vdb1 /data
设置自动挂载
[root@k8s-main1 /]# vim /etc/fstab
# 追加挂载点
/dev/vdb1 /data ext4 defaults 0 0
编写测试脚本
[root@localhost iportal_bak]# vim back_db.sh # 本脚本以supermap iportal文件型数据库备份脚本为例 DATA=$(date +%F_%H-%M-%S) BACK_UP_DIR=/data/iportal_bak BACK_DIR=/data/supermap-iportal-10.2.1-linux64/webapps/iportal/WEB-INF # 按时间创建文件夹 DATE_DIR=$BACK_UP_DIR/$DATA mkdir -p $DATE_DIR # 对需要 备份的文件进行备份 cp $BACK_DIR/iserver-security.db $DATE_DIR cp -r $BACK_DIR/iportaldata $DATE_DIR # 删除一个月前的数据, +30 表示删除30天以前的数据 find $BACK_UP_DIR -mtime +30 -type d | xargs rm -rf {} \
赋予脚本权限
[root@localhost iportal_bak]# chmod 777 back_db.sh
编写crontab规则
# 使用crontab -e 命令修改定时规则 [root@localhost iportal_bak]# crontab -e # 增加定时规则,该规则表示每天0时0分执行一次备份脚本 0 0 * * * /data/iportal_bak/back_db.sh # 编写规则解释如下: # minute: 表示分钟,可以是从0到59之间的任何整数。 # hour:表示小时,可以是从0到23之间的任何整数。 # day:表示日期,可以是从1到31之间的任何整数。 # month:表示月份,可以是从1到12之间的任何整数。 # week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 # command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。 # 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作 # 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” # 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” # 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
查看定时任务已有规则
[root@localhost iportal_bak]# crontab -l
*/5 * * * * bash /root/usage/get_usage.sh
0 0 * * * /data/iportal_bak/back_db.sh
查看定时任务执行日志
# crontab日志存储在/var/log/cron 文件下
[root@localhost iportal_bak]# tail -f /var/log/cron
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 7 root rt 0 0 0 0 S 0.0 0.0 0:40.81 [migratio+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [rcu_bh])
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 9 root 20 0 0 0 0 S 0.0 0.0 25:11.81 [rcu_sche+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [lru-add-+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 11 root rt 0 0 0 0 S 0.0 0.0 0:16.58 [watchdog+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 12 root rt 0 0 0 0 S 0.0 0.0 0:20.72 [watchdog+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 13 root rt 0 0 0 0 S 0.0 0.0 0:55.11 [migratio+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT ( 14 root 20 0 0 0 0 S 0.0 0.0 0:00.97 [ksoftirq+)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT (20230423-17:20:39 99.3)
Apr 23 17:20:39 localhost CROND[73388]: (root) CMDOUT (20230423-17:20:39 32759044 560624
使用xshell终端操作linux系统时,对于长时间运行的命令或者网络波动比较大的情况,终端会收到HUP(hangup)信号而关闭所有子进程。因此需要忽略HUP信号或者让进程在后台运行。
nohup命令可以让提交的命令忽略 hangup 信号,命令形式为:
# nohup command
nohup tar -zcvf test.tar.gz ./*
如果已经在终端执行了命令,可以先挂起命令然后后端运行,再使用 disown命令使进程运行在新的会话里
# ctrl + z 挂起命令 ^Z [1]+ Stopped tar -zcvf data.tar.gz ./* # 使用bg %n命令后台运行 root@gis:/data# bg %1 [1]+ tar -zcvf data.tar.gz ./* & # 查看任务 root@gis:/data# jobs [1]+ Running tar -zcvf data.tar.gz ./* & # 使用 disown命令使进程运行在新的会话里 root@gis:/data# disown -h %1 # 退出终端 root@gis:/data# exit # 检查任务是否执行 root@gis:/data# top 38860 root 20 0 50552 24524 2884 D 1.7 0.1 9:08.52 tar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。