Centos7常用命令、操作、快捷键
常用快捷键
| 命令 | 描述 |
|---|---|
| tab | 自动补全 |
常用命令
| 命令 | 描述 |
|---|---|
| netstat -anp | grep 2181 | 查看zookeeper的2181端口是否在用,sudo yum install net-tools安装 |
| kill -9 pid | 杀掉进程 |
| ps pid | 查看进程信息 |
| find / -name filename | 在/目录查找文件 |
| find / -name dirname -path d | 查找目录 |
| > /var/log/yum.log | 清空文件内容 |
| cat 日志名称 | grep 关键字 --color=auto | 查看日志 |
查看日志
| 命令 | 描述 |
|---|---|
| tail -100f filename.log | 查看日志文件的最后100行 |
| cat filename.log | grep ‘关键字’ | 按关键字搜索文本 |
| grep -A 10 ‘keyword’ filename.log | 查看匹配keyword的行、及其后面10行。-B表示其前面10行 |
| cat java.out | tail -n +x | head -n +y | 先去掉前面x-1条日志,再只取前面y条机制,即x开始的y条日志 |
| 命令 | 描述 |
|---|---|
| cat java.out | head -n x/+x | 查看前面x条日志,相当于+10 |
| cat java.out | head -n -x | 查看除了最后x条以外的所有日志 |
| cat java.out | tail -n x/-x | 查看最后的x条日志,相当于-10 |
| cat java.out | tail -n +x | 查看除了前面x-1条以外的所有日志 |
- 对于head/tail -n x。对于x > 0且不带符号, 表示head/tail开始至第x条记录,x等价于+x/-x;相对应的-x/+x时表示,不要最后x条/不要最开始的x条。
- 即head永远优先前面的日志;tail优先后面的日志;
- head只用x,tail只用-x(默认-可以去掉)比较好理解:
cat java.out | head -n x | tail -n y|,即先取前面x记录,再取x条中后面y条记录,即第(x - y + 1) 至 x条的记录 ;
ps -ef | grep xxx
[root@localhost ~]# ps -ef | grep sentinel
root 8973 8856 0 21:12 pts/2 00:00:00 grep --color=auto sentinel
| UID | PID | PPID | C | STIME | TTY | TIME | CMD |
|---|---|---|---|---|---|---|---|
| 所有者 | PID | 上级ID | CPU百分比 | 系统启动时间 | 登入的终端位置 | 使用掉的CPU | 下达的指令 |
| root | 8973 | 8856 | 0 | 21:12 | pts/2 | 00:00:00 | grep --color=auto sentinel |
其他归类命令
文件命令
| 命令 | 描述 |
|---|---|
| rm -f 文件 | 忽略不存在文件,强制删除,无提示 |
| rm -rf 目录 | 递归删除目录及下面文件 |
| cp -b 旧文件 新文件 | 复制文件并重命名 |
| vi 文件名 | -------修改文件 |
| i: | 进入文件时,"i"可进入编辑状态 |
| esc + :q! | -------不保存强制退出 |
| esc + :wq | 保存强制退出 |
| touch filename | 创建空白文件 |
| mkdir -p 目录 | -p可以创建多级目录 |
系统命令
| 命令 | 描述 |
|---|---|
| ip addr | 可以查看ip信息(centos 7) |
| systemctl stop/start/status/ firewalld | 关闭/开始/状态 防火墙 |
| firewall-cmd —state | 查看火墙状态,比“systemctl status firewalld”更加易看; |
| systemctl enable/disable firewalld | 开启/关闭防火墙开机启动 |
| reboot | 重启 |
| chown -R root /var/ftp | 修改所有者 |
| chmod -R 666 /var/filename.txt | 修改权限 |
软件安装相关命令
查看是否安装
| 来源 | 命令 | 描述 |
|---|---|---|
| rpm | rpm -qa | grep 软件或者包的名字 | 查找某软件包是否安装 |
| yum | yum list installed | 软件或者包的名字 | 例如:yum list installed |
| 源码包 | root用户安装通常在/sbin:/usr/bin目录下 |
常用软件安装
| 命令 | 描述 |
|---|---|
| yum install zip unzip | 安装zip、unzip应用 |
| yum provides ifconfig、yum install net-tools | 安装后可以使用ifconfig,可以查看ip等 |
| yum install mlocate、updatedb | locate文件查找命令 |
解压缩
| 命令 | 描述 |
|---|---|
| yum install zip unzip | 安装zip、unzip应用 |
| unzip Xxx.zip -d 解压到的目录 | 解压zip文件 |
| tar -zxvf 文件名 | 解压tar.gz |
tar参数
| 参数 | 意义 |
|---|---|
| -z | 通过gzip方式压缩或解压,最后以.tar.gz 为后缀 |
| -x | 解压,-C + 解压目录 |
| -v | 黑框框输出解压或压缩的过程 |
| -f | 后面+解压缩的文件名 |
| -c | 新建压缩文档 |
cxt(查看)(末尾加文件)u(更新压缩包中文件)这几个参数只能有一个参数
修改环境变量
- vim /etc/profile
- 输入"i"进入编辑
- 文件末尾加入,下面是jdk和ignite的示例
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
export IGNITE_HOME=/usr/local/apache-ignite-fabric-2.6.0-bin
export CALSSPATH=$JAVA_HOME/lib/*.*
export PATH=$PATH:$JAVA_HOME/bin:$IGNITE_HOME
- source /etc/profile:使参数生效;
- 验证,如下
[root@localhost ~]# echo $IGNITE_HOME
/usr/local/apache-ignite-fabric-2.6.0-bin
防火墙开放端口策略
下面以数据库的3306为例
// 添加3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
// 删除3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
// 查看端口
firewall-cmd --list-ports
// 生效
firewall-cmd --reload
临时生效
// 查看3306是否开放
iptables -L -n|grep 3306;
// 临时生效
iptables -I INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT;
jar
// 启动jar
nohup java -jar image-process.jar &
// 关闭启动的jar
ps -ef | grep 'java -jar'
kill -8 pid
查看服务
systemctl list-unit --type | grep mysqld:查看服务
- list-units:运行中单元
- list-unit-files:可用单元
- –failed:列出失败单元
mysql用到相关命令
- systemctl status/start firewalld:查看/启动防火墙
- firewall-cmd --list-ports:查看防火墙放开的端口
- systemctl list-unit-files | grep enabled:查看启用的服务。注意某服务启动,但可能stop了!
- systemctl list-unit-files --type=service | grep mysql:列出所有可用单元,再grep筛选
mysqld.service enabled
mysqld@.service disabled
- 查看mysql是否安装
[root@VM_5_17_centos local]# rpm -qa|grep mysql
mysql-community-libs-5.7.27-1.el7.x86_64
mysql-community-common-5.7.27-1.el7.x86_64
mysql-community-client-5.7.27-1.el7.x86_64
mysql-community-server-5.7.27-1.el7.x86_64
- 查看安装位置,貌似有多个位置。貌似默认是/usr/lib64/mysql
[root@VM_5_17_centos local]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
[root@iZuf6agiqhn4s48doletzuZ bin]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/man/man1/mysql.1.gz
usr/bin/mysql 是指:mysql的运行路径
/usr/lib64/mysql 是指:mysql的安装路径
- 查看运行文件位置
[root@iZuf6agiqhn4s48doletzuZ ~]# which mysql
/usr/bin/mysql
- 1
- 2
- 启动时读取文件my.cnf,----------------不太明白,大概是/etc/my.cnf,相当于win下my.ini
[root@VM_5_17_centos mysql]# mysql --help | grep 'my.cnf'
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
[root@VM_5_17_centos mysql]# locate my.cnf
/etc/my.cnf
/etc/my.cnf.d
[root@VM_5_17_centos mysql]#
服务器常用命令
运行jar
// 查看哪些jar在运行
ps -ef | grep '.jar'
// 修改权限\用户
chmod -R 755 xxx.jar
chown -R root:root xxx.jar
// 修改jar
vim xxx.jar -> enter -> 箭头上下移动找到要修改的文件 -> 编辑后 :wq保存即可
// 运行jar
/usr/local/java/bin/java -Dserver.port=8082 -jar /var/clusters/application/node01/app.jar
// 终止jar包运行:
kill -9 进程号
后台运行:nohup /usr/local/java/bin/java -Dserver.port=8082 -jar /var/clusters/xxx/node01/xxx.jar >xxx.log &
post
// 向http://99.10.10.112:10008/xxx.json发起post请求,参数{"id":100}
curl -X POST http://99.10.10.112:10008/xxx.json -H 'Content-Type: application/json' -d '{"id":100}'
平时收集
- 查看文件的时间:ls -l --time=ctime
- 修改文件的修改时间:touch -m -d “2020-05-09 12:00:00” logger.log
浙公网安备 33010602011771号