Linux基本命令及JavaEE环境配置

一、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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354