linux 的版本
- 内核版本
- 发行版本
- ubuntu
- CentOS
linux 的基本命令
linux 查看ip地址 ifconfig
ifconfig
有了虚拟机的ip地址后,使用SecureCRT来连接虚拟机
连接成功
查看当前所在目录 pwd
pwd
查看当前目录下的文件 ls
- 查看当前目录下的全部文件(.xx 表示隐藏文件)
ls -a
- 查看当前目录下文件的详细信息,以下两个命令都可以
ls -l
ll
进入对应目录,以及回退目录 cd
cd 文档 进入到文档目录
cd .. 回退到上级目录
cd / 打开跟目录
cd ~ 打开当前用户的目录
cd - 回到上一次的目录位置
创建/删除目录 mkdir/rmdir
mkdir aaa 创建aaa文件夹
rmdir aaa 删除aaa文件夹
mkdir -p aaa/bbb 一次创建aaa/bbb多级文件夹
查看文件 tail
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容
cat xx.txt 查看当前文件的全部内容
more xx.txt 分页显示当前文件的内容,按空格键显示下一个画面。回车显示下一行内容。按 q 键退出查看。
less xx.txt 同上,不同的是可以用上下箭头控制
tail -10 xx.txt 查看文件后10行数据
tail -f catalina.log 动态查看日志(*****) ctrl+c 结束查看
复制文件 cp
cp xx.txt bb.txt 把xx.txt 复制并改名成bb.txt
cp xx.txt 文件夹路径 把xx.txt复制到指定文件夹路径下
剪切文件 mv
mv a.txt ../ 将a.txt文件移动到上一层目录中
mv a.txt b.txt 将a.txt文件重命名为b.txt
删除文件 rm
rm a.txt 删除文件,删之前会询问
rm -f a.txt 不询问删除文件
rm -r 文件夹 递归删除文件夹的内容,会询问
rm -rf 文件夹 递归删除文件夹的内容,不询问
rm -rf /* 删除根目录下的全部文件 自杀
打包压缩文件 tar -zcvf
tar -cvf a.tar aaa (要打包的文件夹) 把aaa文件夹打包成a.tar文件
tar -zcvf ab.tar.gz aaa 把aaa文件夹打包并压缩成ab.tar.gz文件
解压文件 tar -zxvf
tar -zxvf ab.tar.gz 把压缩文件解压到当前文件夹下
tar -zxvf ab.tar.gz -C aa 把压缩文件解压到指定文件夹aa下
查找文件 find
一般用于在服务器查找日志文件
find / -name abc 在跟目录下查找abc文件
find / -name abc* 在跟目录下查找abc开头的文件
find / –user xuan –ls 查找用户xuan的文件
find / –user xuan –type d –ls 查找用户xuan的目录
find /-perm -777 –type d-ls 查找权限是777的文件
查找文件内容 grep
grep xuan /home/xuan/abc/abc/aaa/aa.txt --color 在指定的文件中寻找 xuan关键字并且高亮显示
grep xuan /home/xuan/abc/abc/aaa/aa.txt --color -A1 -B1 在指定的文件中寻找 xuan关键字并且高亮显示,并且显示前后1行。
Vim编辑器 vim
vim 编辑器可以用于查看文件与编辑文件。
分3种模式:
- 命令行模式
vim 打开一个文件,一进来就是命令行模式,从插入模式切换到命令行模式按ESC键就可以切换 - 插入模式
输入i 就可以进入到插入模式 - 底行模式
一般用于文件编辑后保存退出,只要按**?*键就可以进入到底行模式
打开文件:vim file
退出:esc :q
修改文件:输入i进入插入模式
保存并退出:esc:wq
不保存退出:esc:q!
/xuan 在文件中查找xuan,找到会高亮显示
重定向输出 > >>
> 把输出的内容覆盖到指定文件上
cat x.txt > x1.txt
>> 把输出的内容追加到指定文件上
cat x.txt >> x1.txt
管理进程 ps kill
ps -ef 查看所有进程
ps -ef | grep java 查找带有java的进程
kill 1203 杀死1203进程
kill -9 1203 强制杀死1203进程
文件权限 - — --- —
- linux文件权限的认识
前面十个字符代表了该文件的权限
细说这10个字符:
可以分成4个部分
drwxxr-r-x
d rwx xr- r-x
- --- --- ---
1 2 3 4
1:文件类型
2:当前用户具有该文件的权限
3.当前组内其它用户具有该文件的权限
4.其它组的用户具有该文件的权限
linux文件权限的修改 chmod
chmod u=rwx,g=rwx,o=rwx aa.txt 通过u,g,o修改该文件对应组的权限
chmod 777 aa.txt 把aa.txt文件权限修改为最高 7=4+2+1(可读,可写,可执行) 可以根据实际情况修改数字来变更权限(666,421,433等)
linux网络配置
linux 主机名配置 /etc/sysconfig/network
hostname 查看主机名
hostname xxx 修改主机名 重启后无效
如果想要永久生效,可以VIM修改/etc/sysconfig/network文件中hostname字段
linux IP地址配置 /etc/sysconfig/network-scripts/ifcfg-eth0
ifconfig 查看(修改)ip地址(重启后无效)
ifconfig eth0 192.168.12.22 修改ip地址
如果想要永久生效
vim修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件
DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp(动态)/bootp/none)
HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=12.168.177.129 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
ONBOOT=yes # 系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。
域名映射 /etc/hosts
/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能
网络服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status–all 查看系统中所有后台服务
netstat –nltp 查看系统中网络进程的端口监听情况
防火墙设置 /etc/sysconfig/iptables
防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙
service iptables start 启动防火墙
chkconfig iptables off 禁止防火墙自启
Linux 上安装软件
Linux上安装软件常见方式
Linux上的软件安装有以下几种常见方式介绍
- 二进制发布包
软件已经针对具体平台编译打包发布,只要解压,修改配置即可 - RPM包
软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装 - Yum在线安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题 - 源码编译安装
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署
Linux 与windows,mac 间互传(上传,下载)文件
安装FileZilla软件 (windows)
通过拖拉就可以进行windows与Linux间文件上传下载
在Linux上安装 lrzsz (max,windows)
yum install lrzsz 安装lrzsz
rz 上传
sz aa.txt 下载aa.txt
使用sftp(windows)
使用alt + p 组合键打开sftp窗口
put C:xx/xxx/xx 上传指定文件路径的文件
get xx.txt 下载文件到windows的文档文件夹下
Linux上安装JDK
- 下载后对应的LinuxJDK
- 查看自己linux的位数,安装对应的jdk
getconf LONG_BIT
- 上传对应的jdk到/usr/local 下自己建的JDK文件夹中
- 删除Linux 自带的open_JDK
rpm -qa | grep java 查看已经安装的JDK
rpm -e --nodeps java.xxx 删除对应java.xxxx版本
- 解压上传的JDK,相当于安装JDK
tar -zxvf jdk.xxx
- 配置JAVA_HOME环境变量
vim /etc/profile
在文件尾部加入
#set java environment
JAVA_HOME=/usr/local/JDK/jdk1.8/jdk1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
- 使更改的配置立即生效
source /etc/profile
- 查看jdk是否安装成功
java -version
Linux 安装MySQL
-
上传到/usr/local下自己建的mysql文件夹下
-
删除系统自带的mysql
rpm -qa | grep mysql 查看自带mysql
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.i686 删除自带mysql
- 解压mysql
看文件后缀,有gz是压缩过的,需要用-zxvf 没的话用-xvf就可以
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
- 安装mysql服务器端
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装成功后,会为root用户生成随机密码
查看密码 初始密码9UTPzOpJkthb6HOe
cat /root/.mysql_secret
- 安装mysql客户端
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
- 启动mysql服务
service mysql start
- 使用初始密码登录mysql
mysql -uroot -p9UTPzOpJkthb6HOe
- 第一次使用,需要设置登录密码
否则会报错,提示你必须先设置密码才能使用
设置密码为root
set password = password('root');
设置成功后,show database;成功
- 使用新密码重新登录mysql
- 开启mysql远程服务权限并刷新
在生产环境中,设置防火墙,放行mysql端口
在开发过程,或者学习中,可以禁掉防火墙
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
exit 退出mysql
service iptables stop 关闭防火墙
在linux中很多软件的端口都被”防火墙”限止,我们需要将防火墙关闭
(百度如何打开linux防火墙3306端口)
防火墙打开3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status
- 使用SQLyog 连接mysql
连接成功
如果没有做第10步,会连接失败
Linux 安装tomcat
上传解压就可以了
- rz 上传tomcat到/usr/local/tomcat下
- tar -zxvf 解压tomcat
- cd 到解压目录中的bin
- 开启tomcat 在当前目录下执行 ./startup.sh
- 浏览器访问 Linux的主机地址的8080端口
- 关闭 tomcat ./shutdown.sh
关闭后无法访问
linux 安装redis
由于redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。
- 安装gcc-c++
yum install gcc-c++
- 下载redis
wget http://download.redis.io/releases/redis-3.0.4.tar.gz
3. tar -zxvf 解压redis
4. 进入到解压后的文件(redis源码),进行编译 make
5. 安装redis
make PREFIX=/usr/local/redisApp install
6. 配置redis
把redis-3.0.4文件夹下的redis.conf 配置文件复制到安装目录的bin目录下。
7. 启动redis
在安装目录的bin目录下启动redis-server服务器
./redis-server redis.conf
8.克隆窗口,打开redis-cli客户端,访问redis
./redis-cli