目录
1 下载相应的命令软件:
1.1 下载unzip,zip
1.2 下载rz,sz
1.3 下载安装网络工具(包括ifconfig、netstat等网络命令)
1.4 下载安装lsof
2 创建软链接,以直接使用命令
3 快捷命名相应的命令
4 tar命令,解压、压缩和打包
5 echo命令
6 创建sh执行文件
7 查看进程
8 用户命令
9 配置java环境变量
10 centos 7系统,防火墙端口开放
11 centos 7系统,防火墙以及其他工具命令
12 centos 7系统,开启远程访问
13 centos 7系统,ip查询
14 查看系统负载均衡
15 系统缓存的清理
16 centos 7系统开关机重启命令
17 du命令
apt-get install XXX(命令,如vim,make,gcc等等)
yum install XXX(命令,如vim,make,gcc等等)
yum install -y unzip zip
yum install -y lrzsz
yum install -y net-tools
#显示所有的占用端口
netstat -ntlp
#查看相应端口的进程
netstat -tunlp|grep 8000
参数说明如下
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
yum install -y lsof
lsof filename 显示打开指定文件的所有进程
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 –> IPv4 or IPv6
protocol –> TCP or UDP
hostname –> Internet host name
hostaddr –> IPv4地址
service –> /etc/service中的 service name (可以不只一个)
port –> 端口号 (可以不只一个)
常用的查找占用端口的线程
lsof -i :8080
只有在/usr/bin下的软件才可直接被使用,否则得到相应的目录下才能使用命令,故我们可以将软件在/usr/bin创建软链接,下面举个例子:
安装rz/sz命令时会将其默认安装到/usr/local/bin目录下,这时我们并不能直接使用rz或sz命令,故创建软链接并命名为rz/sz
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
在/etc/profile文件的最后输入:alias 命令别名="命令执行语句"。然后,保存文件并source /etc/profile就ok啦。这时你就可以直接用命令别名来代替命令执行语句了,举个例子:
想要用ll命令代替ls -l
vim /etc/profile
#Shift + g 可直接到文件尾行,i,输入以下代码
alias ll="ls -l"
#保存文件并退出
:wq
#刷新文件
source /etc/profile
打包压缩
#将当前目录里所有的jpg文件打包成jpg.tar文件
tar -cvf jpg.tar *.jpg
#将当前目录里所有的jpg文件打包成jpg.tar文件后,用gzip压缩生成为jpg.tar.gz文件
tar -czf jpg.tar.gz *.jpg
解压
#解压tar包
tar -xvf jpg.tar
#解压tar.gz包
tar -xzvf jpg.tar.gz
#解压zip包
unzip file.zip
用于在shell中打印shell变量的值或直接输出指定的字符串,如:
echo $JAVA_HOME 输出变量$JAVA_HOME的值
touch restart.sh #创建restart.sh文件
vim restart.sh #编辑restart.sh文件
chmod +x restart.sh #赋予restart.sh执行权限
#查看相应的进程
ps -ef|grep java
#查看相应进程的cpu和内存占用率
ps -aux|grep java
其中ps -aux命令展示的结果
USER 用户
PID 进程号
%CPU 执行命令时候进程占用的CPU
%MEM 执行命令时候进程占用的内存
VSZ 虚拟内存集
RSS 常住内存集
TTY 终端号
STAT 状态
R:runing 运行态
S:可中断睡眠态
D:不可中断睡眠态
T:停止态
Z:僵尸态
s:表示这个进程是个领导者进程
+:该进程为前台进程
l:该进程是多线程进程
N:低优先级进程
<:高优先级进程
[]:表示这个一个内核线程
START 启动日期
TIME 启动时间
COMMAND 执行的命令行
#切换为root用户
su root
#切换用户
su 用户名
#以管理员身份执行ll命令
sudo ls
#设置修改tomcat用户密码
passwd tomcat
#将data文件的所有者赋予mysql用户
chown -R mysql data
#将data文件的所有者赋予mysql用户,所属组别赋予my
chown -R mysql:my data
#将data文件的所属组别赋予mysql组别
chgrp -R mysql data
#添加用户组
groupadd mysql
#给用户组mysql,添加用户mysql
useradd -g mysql mysql
vim /etc/profile
#shift+g到文件尾行,输入以下代码
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
#保存文件并退出
:wq
#刷新文件
source /etc/profile
在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,
如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=
此举将启用端口和协议的组合。端口可以是一个单独的端口
实际命令如下:
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
第二种方法,传统的管理方式。
执行一下命令:
systemctl stop firewalld
systemctl mask firewalld
并且安装iptables-services:
yum install iptables-services
设置开机启动:
systemctl enable iptables
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables
保存设置:
service iptables save
这时再执行service iptables start/stop,发现没问题啦!
开放某个端口 在/etc/sysconfig/iptables里添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
(1)firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
(2)systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
(3)配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
以root权限执行
vi /etc/ssh/sshd_config
将
#PermitRootLogin yes
这一行的“#”去掉,修改为:
PermitRootLogin yes
#查看ip地址,方法一
ip addr
#查看ip地址,方法二
hostname -I
#发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。
#查看ens33网卡的配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#从配置清单中可以发现 CentOS 7 默认是不启动网卡的(ONBOOT=no)。
#将ONBOOT=no改为ONBOOT=yes,:wq保存退出
#重启网络服务(必须以root用户权限执行),若为非root用户,则需在命令前头加上sudo
service network restart
#实时查看系统负载均衡
top
#查看当前的系统内存使用情况(单位:KB),可加-m使单位为MB
free
#查看系统磁盘空间
df -lh
(1)释放网页缓存(To free pagecache):
sync; echo 1 > /proc/sys/vm/drop_caches
(2)释放目录项和索引(To free dentries and inodes):
sync; echo 2 > /proc/sys/vm/drop_caches
(3)释放网页缓存,目录项和索引(To free pagecache, dentries and inodes):
sync; echo 3 > /proc/sys/vm/drop_caches
下面实际测试一下:
[root@localhost apache-tomcat-8.5.32_2]# free -m #查看内存(单位:MB)
total used free shared buff/cache available
Mem: 974 368 81 7 524 406
Swap: 2047 0 2047
[root@localhost apache-tomcat-8.5.32_2]# sync; echo 3 > /proc/sys/vm/drop_caches
[root@localhost apache-tomcat-8.5.32_2]# free -m #再查看内存,从81到510,释放了429m的内存
total used free shared buff/cache available
Mem: 974 356 510 7 107 471
Swap: 2047 0 2047
shutdown -h 10 #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中
shutdown -h now #计算机会立刻关机
shutdown -h 22:22 #计算机会在这个时刻关机
shutdown -r now #计算机会立刻重启
shutdown -r +10 #计算机会将于10分钟后重启
reboot #重启
halt #关机
du命令用于查看某文件或目录占用磁盘空间的大小。
du常用选项:
-h:以人类可读的方式显示
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
--max-dept:与-a一起用,限制目录的深度
-l :统计硬链接占用磁盘空间的大小
-L:统计符号链接所指向的文件占用的磁盘空间大小
下面举个例子说明。
du -ah --max-depth=1
# a 表示显示目录下所有文件和文件夹
# h 表示以人类能看懂的方式展示
# max-depth 表示目录的深度
常用组合说明。
du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量
du -ah --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
待续更新。。。