一、Linux的目录结构
etc: (etcetera) 存放系统配置文件--(在etc下有profile文件是配置环境变量)
user: (unix shared resource) 用于存放共享的系统资源--(放一些资源)
home: 存放用户文件的根目录--home下创建每个用户的根目录
bin: (binaries) 存放二进制可执行文件
sbin: (super user binaries) 存放二进制可执行文件,只有root才能访问
root: 超级用户目录
dev: (devices)用于存放设备文件
lib: (library)存放跟文件系统中的程序所允许所需要的共享库及内核模块
mnt: (mount)系统管理员安装临时文件系统的安装点
boot: 存放用于系统引导时使用的各种文件
tmp: (remporary)用于存放各种临时文件
var: (variable)用于存放运行时需要改变数据的文件
二、Linux的基本命令
帮助命令
man:
语法: man 命令名
使用: man chmod
help:
语法: 命令名 --help
使用: chmod --help
操作目录和文件
clear : 清屏
ls: 列出 FILE 的信息(默认为当前目录)。
语法: ls [选项]... [文件]...
选项:
-a 不隐藏任何以. 开始的项目
-l 使用较长格式列出信息
-t 按修改时间排序
使用:
ls -alt
ls -l = ll
pwd: 显示当前工作空间
mkdir: 若指定目录不存在则创建目录
语法: mkdir [选项]... 目录...
选项:
-p 需要时创建目标目录的上层目录
使用:
mkdir aa
mkdir -p aa/bb
touch: 将每个文件的访问时间和修改时间改为当前时间(将每个文件的访问时间和修改时间改为当前时间)
语法: touch [选项]... 文件...
用法:
touch a.txt
touch
mv: 将源文件重命名为目标文件,或将源文件移动至指定目录
语法: mv [选项]... 源文件... 目录
选项:
-f 覆盖前不询问
用法:
mv a ./b (b目录下文件不存在,为移动.存在,就是重命名)
cp: 将源文件复制至目标文件,或将多个源文件复制至目标目录
语法: cp [选项]... 源文件... 目录
选项:
-r 递归复制目录及其子目录内的所有内容
用法:
cp -rf file/* a
rm : 删除 (unlink) 文件。
语法:rm [选项]... 文件...
选项:
-f 强制删除。忽略不存在的文件,不提示确认
-r 递归删除目录及其内容
用法:
rm -rf /
find & locate
find : 搜索文件
基本语法1:find 搜索位置 -name "文件名称"
选项:
-name 文件名称表达式
-iname 不区分大小写
*表示 通配任意的字符
[ ] 表示 通配括号里面的任意一个字符
?表示 通配任意的单个字符
用法:
find / -name "*.log"
find /etc -name "rc?.d"
# find /etc -name "rc[123].d"
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
find / -name "[0-9][a-z].log"
基本语法2: find 搜索位置 -perm 文件权限
用法:
find /etc -perm "755" 查询/etc目录下,权限是755的文件
基本语法3: find 搜索位置 -size (用+-表示大于小于)
用法:
find /etc -size "+1M" 查询/etc目录下,大小1M的文件
基本语法4:
find 搜索位置 -mtime n
选项: -mmin n: 查找n分钟以前文件内容被修改过的所有文件。
-mtime n: 查找n天以前文件内容被修改过的所有文件。
用法:
find / -mtime -5 –print 更改时间在5天之内的
find / -mtime +5 –print 更改时间在5天之前的
locate : 用户模糊查找,速度较快。直接去数据库里面查。若是更新数据库之后创建的文件,则需要更新数据库之后才可以重新查找到(输入updatedb即可)
find 是直接在文件目录里查,速度们,要求提供的文件名的精确度较高
tar 解压和压缩
打包:把多个文件打包归档到一起,形成一个新文件,但并没有进行压缩。打包文件后缀名通常是:.tar
压缩:压缩文件。后缀名通常是:.gz
打包并压缩:把多个文件打包归档并压缩。后缀名通常是:.tar.gz
tar压缩:
语法: tar -zcvf 压缩包名 要压缩的文件1 要压缩的文件2
选项:
-z 调用压缩命令进行压缩
-c 要创建压缩包文件,必须
-v 详细地列出处理的文件
-f 指定要创建的压缩包文件名称,必须
用法:
tar -zcvf log.tar.gz install.log install.log.syslog
tar解压:
语法: tar -xvf 压缩包名 -C 解压位置
选项:
-x:extract,表示提取文件
-v:显示解压过程,非必须
-f:压缩包的名称,必须
-C:解压到哪个位置,非必须。注意:解压位置的文件夹必须是已经创建好的,或者是已经存在的
如果不指定C参数,表示解压到当前文件夹里
查看文件内容 cat/more/less/tail
cat : 查看文件内容,不能翻页
选项:
-n:显示行号(包括空行)
-b:显示行号(不包括空行)
-s:将两个及以上空行合并为一个空行
用法:
1. >>
cat -nb a.txt b.txt >> c.txt (把a.txt,b.txt的数据加上行号,追加到c.txt中
more : 查看文件内容,空格键往后翻页;但只能往后看,不能往回看。按Q退出查看
less : 查看文件内容,空格键往后翻页,或者翻页键往前、往后翻页看,也可以↑↓向前向后一行行看. 按Q退出查看
tail : 显示每个指定文件的最后10 行到标准输出。,通常用于查看日志文件
语法: tail [选项]... [文件]...
选项:
-f 即时输出文件变化后追加的数据。
用法:
tail -f a.log
vi编辑器
普通模式:使用vi/vim默认进入普通模式
编辑模式:i/a/o"进入编辑模式, 对文件内容进行编辑修改
命令模式:按":"进入命令模式,执行保存、退出等操作
"wq"保存并退出编辑器
"q!"强制退出不保存
- 显示行号
输入命令: set nu 或 set number
取消行号: set nonu 或 set nonumber
- 跳到指定行
命令模式下:
1. ngg/nG
2. :n
3. vim +n filename (打开文件后,跳转到指定行)
注意:crtl+s是冻结,ctrl+q解冻
grep 查找文件内容
grep : 在指定文件里搜索符合表达式的内容
语法: grep [选项]... 表达式 [FILE]...
用法: grep "java" install.log --color 高亮显示
ps 进程
ps: 查看进程
基本语法:ps -ef
选项:
-e:显示所有程序
-f:显示进程详细信息,包括(了解):
查询结果:
uid:哪个用户的进程
pid:进程id
ppid:父进程的id
c:进程占用CPU的百分比
stime:系统启动时间
time:CPU使用时间
cmd:是哪个命令的进程
kill: 结束进程
基本语法:
kill -9 pid (强制结束进程)
管道命令|
管道命令|: 可以使用|来把多个命令连接起来。表示把前边命令执行的结果交给后边的命令来处理。
用法:
ps -ef | less
ps -ef | "ssh" --color
网络通信命令
ifconfig: 查看网络配置信息
ping: 测试网络
netstat: 查看网络连接情况
选项:
a:显示所有网络连接
n:显示ip地址
p:显示程序的pid
用法:
netstat -anp | grep ":22" --color (查看端口被谁使用)
权限管理 chmod
1.
语法: chmod 权限 文件
用法:
chmod u=rwx,g=rx,o= a.txt (-rwxr-x---)
2. 增量设置模式:+表示增加授权,-表示取消授权
用法:
chmod u+rwx,g+rx,0-rwx a.txt (rwxr-x---)
3. 二进制模式
用法:
chmod 751 a.txt (rwxr-x--x)
关机
halt 关机
reboot 重启
其他
alias : --查看别名信息(自己的用户下和root下别名信息不同)
#alias
$alias
--自定义别名信息
-- alias 自定义命令 = 原命令
#alias ipconfig = ifconfig
--带有参数的命令,需要加单引号
#alias drm = 'rm -rf'
--删除别名
#unalias drm
whereis :只能查询命令的执行文件、帮助文件、源文件三种格式,其他不支持。
-name:按文件名搜索,支持通配符 * 和 ?
-iname:不区分大小写
[ ] 表示 通配符括号里面的任意一个字符
** 表示 通配任意的字符
? 表示通配任意的单个字符
三、远程连接工具
用来发送命令到Linux,接收Linux的执行结果。
Linux里远程连接工具很多,xshell,putty,secureCRT等等
四、软件安装
rpm 命令
rpm: Redhat Package Manager,红帽软件包管理套件
安装: rpm -ivh 安装包
参数:
-i: install 安装
-v: 显示执行过程
-h: 安装时列出标记
查询: rpm -qa
参数:
-q: 使用查询模式 query
-a: 查询所有的软件
使用:
rpm -qa|grep "jdk" –color
卸载: rpm -e --nodeps 软件包名
参数:
-e: erase 删除软件
--nodeps: 忽略软件之间的关联性
yum 命令
yellow dog updater、modifier,是Redhat的软件包管理器。它基于rpm命令,但是比rpm功能更强:它能自动处理多个软件包之间的依赖关系,能够从指定服务器上自动下载RPM包并安装。不需要人工一次次下载安装依赖软件。
使用yum命令,必须要联网。
安装: yum install 软件名
卸载: yum remove 软件名
配置环境变量
环境变量:
在/etc/profile文件中配置
让环境变量立即生效:
source /etc/profile
防火墙
查看防火墙状态
service iptables status
开放3306端口:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
或: vim /etc/sysconfig/iptables
防火墙设置永久保存:
/etc/rc.d/init.d/iptables save
JavaEE环境配置
安装JDK
1. 卸载Linux自带的openjdk
a. 查询自带的openjdk软件包名
# rpm -qa | grep "jdk" --color
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
b. 卸载自带的openjdk:
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i68
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
c. 查询是否卸载成功:
# rpm -qa | grep "jdk" --color
2. 安装JDK
a. 准备好安装包:jdk-8u181-linux-i586.tar.gz
b. 解压到 /usr/local 目录下
tar -xvf jdk-8u181-linux-i586.tar.gz -C /usr/local
(Linux版JDK是免安装的,解压到指定位置,然后配置环境变量即可)
3. 配置环境变量:
vim /etc/profile
配置java的环境变量,在文件末尾增加如下内容以后
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_181
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
4. 让环境变量立即生效
source /etc/profile
5. 查看是否配置成功
# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) Client VM (build 25.181-b13, mixed mode)
安装Mysql
1. 卸载自带的mysql安装包
#rpm -qa | grep "mysql" --color
mysql-libs-5.1.71-1.el6.i686
# rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686
2. 准备Mysql安装包
MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
3. 解压
a. 创建 /usr/local/mysql 目录
mkdir /usr/local/mysql
b. 解压
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
4. 安装
a. 切换到 /usr/local/mysql 目录
b. 安装mysql服务端:
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
c. 安装mysql客户端:
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
注意: 安装时会生成一个随机密码,在'/root/.mysql_secret'目录下
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
5. 上传配置文件my.cnf到/etc目录下 ,让mysql支持中文
(mysqlMySql默认使用的字符集是latin1,即:iso-8859-1,是不支持中文的.通过配置文件,设置指定Mysql使用utf-8)
6. 启动mysql服务
# service mysql start
Starting MySQL.
7. 把MySql添加到系统服务:
chkconfig --add mysql
设置MySql服务为开机自启动:
chkconfig mysql on
8. 查看 mysql root 的初始密码
# cat /root/.mysql_secret
# The random password set for the root user at Sat Aug 11 20:53:49 2018 (local time): jKx5rkGAMv8zDab0
9. 登录和修改密码
登录: mysql -uroot -pjKx5rkGAMv8zDab0
修改密码: mysql>set password=password("root");
10. 给root用户设置可以远程登录的权限:
mysql> grant all on *.* to 'root'@'%' identified by 'root';
让权限变更立即生效:
mysql> flush privileges;
11. 设置防火墙开放3306端口:
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
防火墙设置永久保存:
# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:
搞定,可以远程连接Mysql了
安装Tomcat
1. 准备tomcat安装包
apache-tomcat-8.5.27.tar.gz
2. 解压到 /usr/local 目录下
tar -xvf apache-tomcat-8.5.27.tar.gz -C /usr/local/
3. 设置防火墙开放8080端口
# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
4. 启动Tomcat
切换到解压目录:
cd /usr/local/apache-tomcat-8.5.27/bin
启动Tomcat:
./startup.sh
搞定,Windows浏览器,访问Linux里的Tomcat成功.
安装 Nginx
Nginx是C/C++编写的,需要使用gcc环境编译后才可以安装使用。
Nginx软件本身也有一些依赖需要安装。
1. 准备Nginx安装包:
nginx-1.14.0.tar.gz
2. 安装gcc命令:
yum -y install gcc-c++ (需要联网)
3. 安装Nginx的依赖环境
# yum install pcre pcre-devel
# yum install zlib zlib-devel
# yum install openssl openssl-devel
4. 安装Nginx:
a. 解压到 /usr/local 目录下
tar -xvf nginx-1.14.0.tar.gz -C /usr/local
b. 编译安装
cd /usr/local/nginx-1.14.0/
./configure (配置Nginx编译安装环境)
make (执行编译)
make install (执行安装,安装到了/usr/local/nginx目录)
5. 开放80端口:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
防火墙设置永久保存:/etc/rc.d/init.d/iptables save
6. 启动Nginx:
进入Nginx的sbin目录:cd /usr/local/nginx/sbin/
启动命令:./nginx
搞定,Windows中访问Nginx: http://服务器ip:80 ,验证Nginx是否成功开启
7. 其他命令
停止Nginx:./nginx -s stop
重新加载Nginx:./nginx -s reload
安装 Redis
Redis是C编写的
1. 安装gcc 编译环境
安装nginx已经安装好了
2. 准备 Redis 的安装包
redis-3.0.0.tar.gz
3. 安装:
解压: tar -xvf redis-3.0.0.tar.gz -C /usr/local/
切换到解压目录:cd /usr/local/redis-3.0.0
编译 Redis: make
安装redis:make PREFIX=/usr/local/redis install
4. 配置Redis:
解压目录中有一个配置文件redis.conf,拷贝到Redis的安装目录的bin文件夹下:
cp redis.conf /usr/local/redis/bin/
修改配置文件,让Redis可以在后台运行:
vim修改redis.conf配置文件,把daemonize的值设置为yes,保存并退出
5. 配置Linux的防火墙
开放6379端口:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
防火墙设置永久保存:/etc/rc.d/init.d/iptables save
6. Redis服务管理
1.启动Redis服务
切换目录:cd /usr/local/redis/bin
启动Redis服务:./redis-server redis.conf
2.使用客户端连接Redis服务
命令:./redis-cli [-h Redis的ip地址 -p Redis的端口]
3.退出客户端
在Redis界面,输入命令:exit
4.关闭Redis服务
输入Linux命令:./redis-cli shutdown
安装时出现的问题解决
1. yum 运行时提示被锁住了
Another app is currently holding the yum lock; waiting for it to exit...
解决:
1. rm -r /var/run/yum.pid
2. /sbin/service yum-updatesd restart
网友评论