1:> 覆盖 echo 'hello' > a.log // 覆盖a.log日志内内容,a文件不存在自动创建
2:>> 追加 echo 'hello' >> a.log // 追加到a.log日志内内容
示例:cat a.log b.log > c.log // a+b文件合并到c文件
3:wc -l 统计内容多少行 wc -l c.log // 计算c.log文件有多少行
4:tar 文件归档
示例:tar -cvf test.tar a.log b.log -C // 将a.log,b.log归档到test.tar文件内,c=create创建,x=解包,v=view显示过程,f=file文件,z=gzip压缩,t=查看,C=解压的目录
5:gzip和bzip2 文件压缩 // gzip a.log 压缩a.log文件,生成a.log.gz文件,gunzip=解压,bzip2同理
6:history 查看历史命令
7:vim命令
dd 删除光标所在的那一行
yy 复制光标所在的那一行
ndd n为数字,删除光标所在的向下n行,例如10dd,删除光标的10行
nyy n为数字,复制光标所在的向下n行,例如10yy,复制光标的10行
d2w 删除前两个单词
y2w 复制前两个单词
u 撤销上一步操作
ctrl+r 恢复上一步操作
p 将已复制的数据在光标下一行黏贴
P 将已复制的数据在光标上一行黏贴
1000p 黏贴1000次复制的内容
0 跳到行首
shift+4 跳到行尾
G 跳到最后一行
gg 跳到第一行
mG 跳到第m行
H 跳到屏幕最上方第一个字符
M 跳到屏幕中央第一个字符
L 跳到屏幕最下方第一个字符
:wq! w=保存,q=退出,!强制
/郭嘉 搜索郭嘉关键字(按小写n查看下一个,大写N上一个)
set nu 显示行号
8:doc命令模式时候,ctrl+a跳到最前面,ctrl+e跳到最后面
9:free 查看系统运行内存情况,-m=M单位,-h=G单位
10:top 查看系统进程使用情况
11:ps aux 查看系统进程使用情况
12:grep 过滤命令 ps aux | grep ngxin 查找包含nginx进程,-v过滤掉包含的值 ps aux | grep nginx | grep -v 'grep',-r=查询子目录的文件,-n=查询的数据显示行号,示例:grep -rn 'php' /www/admin/*
13:kill 杀死进程,-9=强制杀死进程 kill -9 PID值
14:基础命令
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# free -m # 查看内存使用量和交换区使用量
资源
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminf # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
进程
# ps -ef # 查看所有进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
15:crontab操作
crontab -u //设定某个用户的cron服务
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
crontab -i //打印提示,输入yes等确认信息
16:git pull的时候发生冲突的解决方法之 error: Your local changes to the following files would be overwritten by merge:
1 git stash
2 git pull
3 git stash pop
17:certbot
# 自动生成并配置nginx,某个域名https证书
certbot --nginx-server-root=/usr/local/tengine-2.1.0/conf/ -d www.test.cn
# 每月1号更新ssl证书(免费证书只有一个月)
0 0 1 * * /usr/bin/certbot renew --force-renewal
# nginx 添加缓存dns配置
resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s; # 添加resolver解析OSCP响应服务器的主机名,valid表示缓存。
18:ip设置
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
将BOOTPROTO改为static(获取IP的方式静态)
# 添加
IPADDR=192.168.1.177
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
# 系统启动时启动此设置
ONBOOT=yes
# 重启网卡
service network restart
19:mysql某个字段内容正则替换
table_name —— 表的名字
field_name —— 字段名
from_str —— 需要替换的字符串
to_str —— 替换成的字符串
UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%'
20:mysql去除某个字段重复数据
# 表:z_zodiac_article;字段:title;
DELETE FROM z_zodiac_article WHERE 1=1 AND title IN (SELECT * FROM ( (SELECT title FROM z_zodiac_article GROUP BY title HAVING COUNT(title)>1) ) a) AND id NOT IN (SELECT * FROM ( (SELECT MIN(id) ids FROM z_zodiac_article GROUP BY title HAVING COUNT(title)>1) ) b);
21:安装ssh连接
sudo apt-get install openssh-server
# 查看ssh开启情况
ps -ef | grep ssh
# 开启ssh
service ssh start
22:端口
# 安装端口查看工具
yum install net-tools
查看已开放的端口
firewall-cmd --list-ports
开放端口(开放后需要要重启防火墙才生效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
关闭端口(关闭后需要要重启防火墙才生效)
firewall-cmd --zone=public --remove-port=3338/tcp --permanent
开机启动防火墙
systemctl enable firewalld
开启防火墙
systemctl start firewalld
禁止防火墙开机启动
systemctl disable firewalld
停止防火墙
systemctl stop firewalld
23:history 命令历史记录
24:日志查找
cat -n 文件名 | grep 关键字
25:文件的一些操作
一、创建文件夹
1、创建本目录下文件夹
mkdir dir
2、创建其他目录下文件夹
mkdir dir/file
3、创建多级目录文件夹
mkdir -p tmp/dir
4、创建file.txt文件
mkdir dir/file.txt
二、修改文件夹名
1、文件夹重命名
mv dir dir1
2、文件重命名
mv dir/file.txt dir/files.txt
三、查看文件夹/文件
1、cd dir
2、cd dir/dir1
3、回到主目录 cd ~
4、查看目录下内容 ll (或者ls)
5、返回上一级 cd ..
6 cd dir/dir1/dir2
四、删除文件夹/文件
1、删除本目录下文件夹及文件
rm -rf dir1 (强制删除,不提示)
2、强制删除文件,不提示
rm -f file
3、递归删除其文件和文件夹
rm -r dir
五、查询软件、查询文件内容
1、通过rpm查看
查看软件是否安装。首先我们需要查看软件是否已经安装,或者说查看安装的软件包名称。如查找是否安装mysql
rpm -qa | grep mysql
2、接着根据 rpm -ql 列出软件包安装的文件
rpm -ql 软件名
3、综合上述以上的问题,可以直接使用 rpm -qal |grep mysql 查看mysql所有安装包的文件存储位置
4、yum查找,除了rpm 查询还可以通过yum search 查找对应可以安装的软件包
5、find查找
find / -name 'filename' // 查找文件
find / -name 'path' -type d // 查找文件夹
find . | xargs grep -ri 'content' // 查找内容
find . | xargs grep -ril 'content' // 只显示文件名称
待更新~~~