Linux入门基础

Linux简介

Linux概述

Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。
Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。尤其在这里提及一下,我们熟知是Android程序最底层就是运行在linux系统上的。

Linux分类

Linux根据市场需求不同,基本分为两个方向

  • 图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够
  • 服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们假设服务器的最佳选择

Linux根据原生程度,又分为两种:

  • 内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号
  • 发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本

Linux发行版本不同,又可以分为n多种:

  • ubuntu
  • centOS
  • redhat
  • ...

目录结构

                /     根目录
                  
bin boot dev etc home lib sbin usr var ...
  • bin 存放二进制可执行文件
  • boot 存放系统引导时使用的各种文件
  • dev 存放设备文件
  • etc 存放系统配置文件
  • home 存放用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • sbin 存放二进制可执行文件只有root才能访问
  • usr 用于存放共享的系统资源
  • var 用户存放运行时需要改变数据的文件

目录切换命令

  • cd usr 切换到该目录下usr目录
  • cd ../ 切换到上一层目录
  • cd ./ 切换到当前目录
  • cd / 切换到系统根目录
  • cd ~ 切换到用户主目录
  • cd - 切换到上一个所在目录

目录操作命令

  • mkdir 目录名称
  • mkdir -p 目录名称 父目录不存在则会创建父目录
  • ls 查看目录
  • ls -a 查看目录所有内容(包含隐藏文件)
  • ls -l 查看目录并显示权限
  • ls -all 查看目录所有内容并显示权限
  • find 目录 参数 例如 find /root -name 'test*' 查找root目录下与test相关的目录
  • mv 目录名称 新目录名称(重命名)
  • mv 目录名称 目录的新位置(剪切)
  • cp -r 目录名称 目录拷贝的目标位置 -r 递归
  • rm -rf 目录名称 删除目录 -rf 递归强制删除

文件操作命令

  • touch 文件名称 创建新文件
  • cat 文件名称 查看文件
  • tail -10 文件名称 查看文件的后10行
  • tail -f 文件名称 动态监控文件
  • vim 文件名称 进入文件的命令模式,按下i键进入编辑模式,编辑完成后,按下esc键进入底行模式,输入:wq 保存退出,输入:q!退出
  • rm -rf 文件名称 删除文件

文件压缩/解压缩命令

  • tar -zcvf 打包压缩后的文件名 要打包的文件 例如 tar -zcvf test.tar.gz a.txt b.txt c.txt
  • tar -xvf 要解压的文件 例如 tar -xvf test.tar.gz 解压test.tar.gz文件到当前目录。
  • tar -xvf 要解压的文件 -C 解压的位置 例如tar -xvf test.tar.gz /aaa解压test.tar.gz文件到aaa目录

权限操作

-rwxrwxr-- 文件类型、属主权限、属组权限、其他用户权限
文件类型 d:目录 -文件 l链接(理解为window的快捷方式)

  • r可读 数字4表示
  • w可写 数字2表示
  • x可执行 数字1表示
  • -无权限
  • chmod u=rwx,g=rw,o=r aaa.txt 表示修改aaa.txt文件属主有全部权限,属主有读写权限,其他用户只有读权限 还可以用chmod 764 aaa.txt 表示

其他命令

  • pwd 显示当前目录路径
  • grep 搜索命令 例如 grep to test.txt 搜索test.txt文件中包含to的行
  • | 管道命令 将前一个命令的输出作为本次目录的输入,示例:查看当前系统中所有的进程中包括system字符串的进程 ps -ef | grep system
  • ps -ef 查看进程
  • kill -9 进程的pid 杀死进程
  • ifconfig 查看当前系统的网卡信息
  • ping ip 查看与某台机器的连接情况
    netstat -an 查看当前系统的端口使用

远程工具连接

实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty、secureCRT、SSH Secure等
SSH Secure工具进行远程连接,该工具是免费的图形化界面及命令行窗口集一身的远程工具

软件安装

JDk安装

(1) 查看当前Linux系统是否已经安装java 命令 rpm -qa | grep java

(2) 卸载两个openJDK 命令 rpm -e --nodeps 要卸载的软件

(3) 上传JDK到Linux系统中

(4) 解压到指定文件夹

(5) profile文件中配置环境变量

#set java environment
JAVA_HOME=/usr/local/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

(6) 重新加载/etc/profile配置文件 source /etc/profile

MySQL安装

(1) 查看CentOS自带的mysql 命令: rpm -qa | grep mysql

(2) 卸载自带的mysql 命令: rpm -e --nodeps 要卸载的软件

(3) 上传mysql到linux中

(4) 解压至usr/lcoal/mysql中 (在local中新建一个mysql文件夹)

(5) 安装服务端 例如: rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm

(6) 安装客户端 例如: rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

(7) 将mysql加到系统服务中并设置开机启动

加入到系统服务:chkconfig --add mysql
自动启动:chkconfig mysql on

(8) 启动mysql 命令: service mysql start

(9) 登录mysql 命令: mysql -u root -p
mysql安装好后会生成一个临时随机密码,存储位置在/root/.mysql_secret(安装完成第一次登录用此密码)

(10) 修改mysql密码 命令: set password = password('root');

(11) 开启mysql远程登录
赋予权限: grant all privileges on . to 'root' @'%' identified by 'root';(密码可以随意指定,外部登录此密码登录,这里例如为root)
刷新: flush privileges;

(12) 开放linux的对外访问的端口3306
开放端口: /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
修改永久保存至防火墙: /etc/rc.d/init.d/iptables save

Tomcat安装

(1) 上传Tomcat到linux上

(2) 解压Tomcat到/usr/local/tomcat (没有tomcat文件夹则新建一个)

(3) 开放linux的对外访问的端口8080

(4) 开放端口: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

(5) 修改永久保存至防火墙: /etc/rc.d/init.d/iptables save

(6) 启动关闭tomcat
进入tomcat的bin下启动:./startup.sh

(7) 关闭tomcat
进入tomcat的bin下关闭:./shutdown.sh

你可能感兴趣的:(Linux入门基础)