LINUX
gcc 编译器
gcc [options] [filenames]
-c只编译不连接,生成目标文件“.o”
-S:只编译汇编,生成汇编代码
-E:只进行预编译,不做其他处理
-g:在可执行程序中包含标准试调信息
-o file:指定输出文件
-v:打印出编译器内部编译各过程的命令行信息和编译器的版本
-std=name:指定C语言的标准(如C89 C90 C99等)
-l dir:在头文件的搜索路径列表中添加dir目录
-ansi:支持符合ANSI标准的C程序
-pedantic:允许发出ANSI C标准所列的全部错误信息
-w:关闭所有警告
-Wall:允许发出gcc所提供的所有用的报警信息
-L dir:在库文件的搜索路径列表中添加dir目录
-static:链接静态库
-lname:链接名为name的库文件
-shared:表明是使用共享库
-On:程序优化,O,O2,O3
Ubuntu 18.04 LTS 软件源
默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
预发布软件源,不建议启用
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
sudo apt-get update
sudo apt-get upgrade
根目录执行脚本
/home/./tomcat/bin/startup.sh
用户管理
sudo passwd root
adduser [用户名] : 新增用户
passwd [用户名] : 修改用户密码
userdel -r [用户名]: 删除用户
su [用户名]: 切换用户
文件管理
在home下新建一个test.sh脚本
vi /home/test.sh
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
#-r是递归的删除参数表中的目录及其子目录。 目录将被清空并且删除。 当删除目录包含的具有写保护的文件时用户通常是被提示的。
#-f是不提示用户,删除目录下的所有文件。请注意检查路径,输成别的目录就悲剧了。
#-i是交互模式。使用这个选项,rm命令在删除任何文件前提示用户确认。
删除文件或文件夹
rm 源文件或目录 目标文件或目录
移动文件或文件夹
mv 源文件或目录 目标文件或目录
复制文件或文件夹
cp 源文件或目录 目标文件或目录
重命名文件或文件夹
mv 文件名或文件夹名 修改后的文件名或文件夹名
压缩包(解)压缩常用命令
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
.gz
解压 1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2 或tar –bzip xvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
压缩一个目录使用 -r 参数,-r 递归。例: $ zip -r FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
配置JAVA环境
vi /etc/profile
export JAVA_HOME=/home/jdk-12
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
JDK 8
export JRE_HOME=$JAVA_HOME/jre
防火墙管理
启用区域端口和协议组合
firewall-cmd [–zone=
添加端口
firewall-cmd –permanent –add-port=8080/tcp
删除端口
firewall-cmd –permanent –remove-port=8080/tcp
执行完毕会看到 success 这样的输出
重启服务才会生效:
firewall-cmd –reload
查看端口是否开启
firewall-cmd –permanent –query-port=8080/tcp
查看开放的端口:
firewall-cmd –list-ports
1、开启80端口命令:/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
2、保存配置 命令:/etc/rc.d/init.d/iptables save
3、重启服务命令 :/etc/rc.d/init.d/iptables restart
4、查看已经开放的端口: /etc/init.d/iptables status
关闭防火墙
systemctl stop firewalld.service
Tomcat配置
<!-- Authorization setting for SSL -->
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
[ Http Protocol Auto To Https Security Protocol ]
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"/>
<Connector port="443" protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
keystoreFile="conf/bydengjie.com.pfx"
keystorePass="SSi5jx47"
clientAuth="false"
sslProtocol="TLS"/>
安装MySQL
使用root登录
1.确保服务器系统处于最新状态
[root@localhost ~]# yum -y update
如果显示以下内容说明已经更新完成
Replaced:
grub2.x86_64 1:2.02-0.64.el7.centos grub2-tools.x86_64 1:2.02-0.64.el7.centos
Complete!
2.重启服务器
[root@localhost ~]# reboot
3.下载MySql安装包
[root@localhost ~]# rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
4.安装MySql
[root@localhost ~]# yum install -y mysql-community-server
如果显示以下内容说明安装成功
Complete!
5.设置开机启动Mysql
[root@localhost ~]# systemctl enable mysqld.service
6.检查是否已经安装了开机自动启动
[root@localhost ~]# systemctl list-unit-files | grep mysqld
如果显示以下内容说明已经完成自动启动安装
mysqld.service enabled
7.设置开启服务
[root@localhost ~]# systemctl start mysqld.service
8.查看MySql默认密码
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
9.登录MySql,输入用户名和密码
[root@localhost ~]# mysql -u root -p
10.修改当前用户密码
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXX';
11.开启远程登录,授权root远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XXX' WITH GRANT OPTION;
13.命令立即执行生效
mysql>flush privileges;
—— 其他功能:
#配置MySQL安全策略
[root@localhost ~]# mysql_secure_installation
# 检查并且显示MySQL相关安装包
[root@localhost ~]# rpm -qa | grep mysql
# 删除MySql
[root@localhost ~]# yum remove -y mysql mysql mysql-server mysql-libs compat-mysql80
或
[root@localhost ~]# rpm -e mysql-community-libs-5.7.20-1.el7.x86_64 --nodeps
或
[root@localhost ~]# yum -y remove mysql-community-libs-5.7.20-1.el7.x86_64
# 查看MySql相关文件
[root@localhost ~]# find / -name mysql
# 重启MySql服务
[root@localhost ~]# service mysqld restart
# 查看MySql版本
[root@localhost ~]# yum repolist all | grep mysql
# 查看当前的启动的 MySQL 版本
[root@localhost ~]# yum repolist enabled | grep mysql
# 通过Yum来安装MySQL,会自动处理MySQL与其他组件的依赖关系
[root@localhost ~]# yum install mysql-community-server
# 查看MySQL安装目录
[root@localhost ~]# whereis mysql
# 测试MySQL是否安装成功
[root@localhost ~]# mysql
# 查看所有数据库用户
mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
#修改用户密码
mysql>alter user 'root'@'localhost' identified by 'XXX';
—— vi /etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
安装Nginx
—— Windows
启动
直接点击Nginx目录下的nginx.exe 或者 cmd运行start nginx
关闭
nginx -s stop 或者 nginx -s quit
stop表示立即停止nginx,不保存相关信息
quit表示正常退出nginx,并保存相关信息
重启(因为改变了配置,需要重启)
nginx -s reload
一、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
二、首先要安装 PCRE
[root@bogon src]# cd /usr/local/src/
[root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
编译安装
[root@bogon pcre-8.35]# ./configure
[root@bogon pcre-8.35]# make && make install
—— 获取Nginx
下载
[root@bogon src]# cd /usr/local/src/
[root@bogon src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
进入安装包目录编译安装
[root@bogon nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@bogon nginx-1.6.2]# make
[root@bogon nginx-1.6.2]# make install
Nginx 配置
创建 Nginx 运行使用的用户 www:
[root@bogon conf]# /usr/sbin/groupadd www
[root@bogon conf]# /usr/sbin/useradd -g www www
修改配置文件:
[root@bogon conf]# /usr/local/webserver/nginx/conf/nginx.conf
检查配置文件nginx.conf的正确性命令:
[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx -t
启动 Nginx
Nginx 启动命令如下:
[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx
Nginx 其他命令
以下包含了 Nginx 常用的几个命令:
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
配置PHP运行环境
获得php tar.gz 压缩包
wget http://cn2.php.net/distributions/php-7.3.3.tar.gz
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum -y install php72w
yum -y install php72w-cli php72w-common php72w-devel php72w-mysql
对于wordpress应用,可能还需安装如下包:
sudo yum -y install php72w-gd php72w-imap php72w-ldap php72w-odbc php72w-pear php72w-xml php72w-xmlrpc
php -v
yum -y install php-mysql
安装php连接MySQL依赖项
卸载PHP
yum remove php
查看全部软件包
rpm -qa|grep php
优先卸载没有依赖项的文件
rpm -e
安装SQLServer
1、下载 Microsoft SQL Server Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
2、sudo yum install -y mssql-server
3、sudo /opt/mssql/bin/mssql-conf setup
4、systemctl status mssql-server
注:
如果需要授予远程登录,则开放1433端口
安装 SQL Server 命令行工具
1、下载 Microsoft Red Hat 存储库配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
2、sudo yum install -y mssql-tools unixODBC-devel
3、echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
WINDOWS
7-Zip
解压:
7z x {fileName} -o{outputDirectory}
a 将文件添加到压缩档案中
b 测试压缩或解压算法执行时的 CPU 占用
d 从压缩档案中删除文件
e 将压缩档案中的所有文件解压到指定路径,所有文件将输出到同一个目录中
h 计算文件的哈希值
i 显示有关支持格式的信息
l 列出压缩档案的内容
rn 重命名压缩档案中的文件
t 测试压缩档案的完整性
u 更新要进入压缩档案中的文件
x 将压缩档案中的所有文件解压到指定路径,并包含所有文件的完整路径
压缩:
7z a Images.7z C:\Users\Pisces\Desktop\Images* -mx9
压缩率:
-mx0 仅存储不压缩(速度最快,无压缩,zip大小等同原始文件夹)
-mx1 极速压缩
-mx3 快速压缩
-mx5 标准压缩
-mx7 最大压缩
-mx9 极限压缩
虚拟主机
ftp地址:dengjie9934.ftp-gz01.bcehost.com
182.61.12.199
ftp端口:8010
mysql -hb-0csmyvhyfumy6b.bch.rds.gz.baidubce.com -ub_0csmyvhyfumy6b -p
地址:b-0csmyvhyfumy6b.bch.rds.gz.baidubce.com
端口:3306
用户名:b_0csmyvhyfumy6b
密码:a93f764068eb4a0e9f77c434b8a64308
数据库名:b_0csmyvhyfumy6b
#文件名带有空格使用""包含文件名即可
#重置
ssh-keygen -R xxx.xxx.xxx.xxx
#创建新的文件
echo. 文本内容> 1.txt
#重命名
ren old_name new_name
支持使用通配符
#合并文件
copy *.txt 合并文件.txt
#移动文件或文件夹
move 文件/文件夹 新路径
dir 显示目录和文件
cd 进入目录
del 删除文件
rd 删除空目录(目录中不能有子目录和文件)
deltree 删除目录并同时删除目录中的子目录以及文件
rmdir 删除整个目录
好比说我要删除 222 这个目录下的所有目录和档案,这语法就是:
rmdir /s/q 222
其中:
/s 是代表删除所有子目录跟其中的档案。
/q 是不要它在删除档案或目录时,不再问我 Yes or No 的动作。
—— sftp常用命令
ls 查看当前目录下文件
help 查看sftp支持哪些命令
cd 指定目录
pwd 查看当前目录
get xxx.txt 下载xxx文件
put xxx.txt 上传xxx文件
mput 文件原名.tar.gz 上传到到服务器的文件名.tar.gz
quit / bye / exit 退出sftp
sftp xxx.xxx.xxx.xxx 登录root用户
sftp zygf@xxx.xxx.xxx.xxx 进行登录zygf用户
put -r [文件夹名称]/. 上传文件夹下子文件夹以及子文件夹下的所有文件
—— 常用的FTP命令
open:与服务器相连接
send(put):上传文件
get:下载文件
mget:下载多个文件
cd:切换目录
dir(ls):查看当前目录下的文件;
del:删除文件
bye(quit):中断与服务器的连接