Linux入门

什么是Linux

Linux简介

Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机

Linux特点

多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能,开源

CentOS

主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS

免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本

更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!

CentOS 6.4

CentOS官网:http://www.centos.org/

CentOS搜狐镜像:http://mirrors.sohu.com/centos/

CentOS网易镜像:http://mirrors.163.com/centos/

CentOS 6.4下载地址:

http://mirrors.sohu.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso

http://mirrors.sohu.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD2.iso

Linux安装

环境:

1:Windows7

2:VMware Workstation9

3: CentOS6.4

安装步骤:见CentOS6.4详细安装文档.doc

Root yushengjun

Linux目录

l    bin  (binaries)存放二进制可执行文件

l    sbin  (super user binaries)存放二进制可执行文件,只有root才能访问

l    etc (etcetera)存放系统配置文件

l    usr  (unix shared resources)用于存放共享的系统资源

l    home 存放用户文件的根目录

l    root  超级用户目录

l    dev (devices)用于存放设备文件

l    lib  (library)存放跟文件系统中的程序运行所需要的共享库及内核模块

l    mnt  (mount)系统管理员安装临时文件系统的安装点

l    boot 存放用于系统引导时使用的各种文件

l    tmp  (temporary)用于存放各种临时文件

l    var  (variable)用于存放运行时需要改变数据的文件

Linux客户端

常用命令

  1. 命令格式:命令 -选项 参数
  2. 如:ls -la /usr
  3. ls:显示文件和目录列表(list)
  4. 常用参数:
  5. -l (long)
  6. -a (all) 注意隐藏文件、特殊目录.和..
  7. -t (time)
  8. pwd 显示当前工作目录(print working directory
  9. touch或者> 创建空文件
  10. mkdir 创建目录(make directoriy
  11. -p 父目录不存在情况下先生成父目录 parents
  12. cp 复制文件或目录(copy
  13. -r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive
  14. mv 移动文件或目录、文件或目录改名(move
  15. rm 删除文件(remove
  16. -r 同时删除该目录下的所有文件(recursive
  17. -f 强制删除文件或目录(force
  18. rmdir 删除空目录(remove directoriy
  19. cat显示文本文件内容 catenate
  20. moreless 分页显示文本文件内容
  21. headtail查看文本中开头或结尾部分的内容
  22. haed -n 5 a.log 查看a.log文件的前5
  23. tail -f b.log 循环读取(fellow
  1. 创建隐藏文件 mkdir .文件名称
  2.  
  3. 改名 mv itmayiedu_a/ itmayiedu_c
  4.  
  5. 删除文件 rm -r itmayiedu_a/ ----会提示
  6. 强制删除文件 rm -r itmayiedu_a/ ----不提示
  7. echo "this is java" > book 写入并且创建book文件
  8.  
  9. mkdir itmayiedu ---创建文件夹
  10. cd itmayiedu ---进入该目录文件夹
  11. mkdir itmayiedu-a itmayiedu-b itmayiedu-b ---创建多个目录
  12. mv itmayiedu-c itmayiedu_newc ---移动文件夹
  13. cd itmayiedu_newc-------进入到itmayiedu_newc目录中
  14. touch itmayiedu_txt001-----创建一个空间
  15. cp itmayiedu_text002 itmayiedu_newc----拷贝文件
  16. find itmayiedu_newc/ itmayiedu_text002 ----查找文件
  17. echo "this is itmayiedu" >>itmayiedu_text002 ---写入值
  18. wc itmayiedu_text002 ---统计文本的行数、字数、字符数
  19. grep 'itmayiedu' itmayiedu_text002 ---在指定的文本文件查找指定的字符串
  20. ln -s itmayiedu_newc/ ---为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

Linux 输出重定向>和>>的区别是什么?

>    这个是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>  这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

VIM编辑器

vi / vim  这个是Unix / Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单。

VIM工作模式

VIM插入命令

i

在光标前插入

I

在光标当前行开始插入

a

在光标后插入

A

在光标当前行末尾插入

o

在光标当前行的下一行插入新行

O

在光标当前行的上一行插入新行

VIM定位命令

:set nu

显示行号

:set nonu

取消行号

gg

到文本的第一行

G

到文本的最后一行

:n

到文本的第n行

Q!   不保存

Wq  保存

l Rpm

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便

Rpm命令使用

rpm的常用参数

i:安装应用程序(install)

e:卸载应用程序(erase)

vh:显示安装进度;(verbose   hash)

U:升级软件包;(update)

qa: 显示所有已安装软件包(query all)

结合grep命令使用

例子:rpm  -ivh  gcc-c++-4.4.7-3.el6.x86_64.rpm

安装MySQL

  1. 1. 上传安装包
  2. 2. 查找是否安装
  3. rpm -qa | grep 'mysql-server-5.1.73-3.el6_5.i686' ----检查是否安装
  4. rpm -ivh mysql-server-5.1.73-3.el6_5.i686.rpm ---安装软件
  5. rpm -Uvh openssl-1.0.1e-16.el6_5.14.i686.rpm----升级库
  6. rpm -Uvh mysql-libs-5.1.73-3.el6_5.i686.rpm ---升级软件
  7. rpm -ivh mysql-5.1.73-3.el6_5.i686.rpm ---安装软件
  8. rpm -ivh perl-DBI-1.609-4.el6.i686.rpm --安装软件
  9. rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm ---安装软件
  10. service mysqld start ----启动服务
  11. mysqladmin -u root password 'root' ---设置mysql密码
  12. select user,Password from user; -- 查询表
  13. 3. 连接MySQL
  14. mysql -u root p ----连接 mysql 输入密码
  15. show databases; ----查询所有数据库

linux网络设置

设置成静态IP

方式1:

方式2:

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE="eth0"
  3. BOOTPROTO=“static"
  4. HWADDR="00:0C:29:62:4C:2B"
  5. IPV6INIT="yes"
  6. NM_CONTROLLED="yes"
  7. ONBOOT="yes"
  8. TYPE="Ethernet"
  9. UUID="1acc3359-b1fd-4ac8-b044-58b5fe5a16ce
  10. IPADDR="192.168.24.20"
  11. NETMASK="255.255.255.0"
  12. GATEWAY="192.168.24.1"
  13. DNS1="8.8.8.8"
  14. DNS2="8.8.4.4"

linux安装软件

java环境

vim /etc/profile  末尾添加jdk环境

  1. export JAVA_HOME=/usr/java/jdk1.7.0_55
  2. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$JAVA_HOME/bin:$PATH

#刷新 profile

source /etc/profile

java –version

安装tomcat

解压tomcat

  1. tar -zxvf apache-tomcat-7.0.47.tar.gz

启动

  1. cd bin
  2. ./startup.sh

设置防火墙端口

  1. 打开防火墙对端口限制的方法:
  2. /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #开启8011端口
  3. /etc/rc.d/init.d/iptables save #保存配置
  4. /etc/rc.d/init.d/iptables restart #重启服务
  5. #查看端口是否已经开放
  6. /etc/init.d/iptables status

修改tomcat端口号为80

以前只知道当tomcat端口号冲突了如何修改tomcat默认的8080端口号

今天遇到个情况,装了个BO,自带个tomcat,这时就需要修改三个地方

修改Tomcat的端口号:

在默认情况下,tomcat的端口是8080,如果出现8080端口号冲突,用如下方法可以修改Tomcat的端口号:

首先: 在Tomcat的根(安装)目录下,有一个conf文件夹,双击进入conf文件夹,在里面找到Server.xml文件,打开该文件。

其次:在文件中找到如下文本:

  1. <Connector port="" protocol="HTTP/1.1"
  2.  
  3. maxThreads="" connectionTimeout=""
  4.  
  5. redirectPort="" />

也有可能是这样的:

  1. <Connector port="" maxThreads="" minSpareThreads="" maxSpareThreads="" enableLookups="false" redirectPort="" acceptCount="" debug="" connectionTimeout=""
  2.  
  3. disableUploadTimeout="true" />

等等;

最后:将port="8080"改为其它的就可以了。如port="8081"等。保存server.xml文件,重新启动Tomcat服务器,Tomcat就可以使用8081端口了。

注意:有的时候要使用两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作。

修改了上面的以后,还要修改两处:

(1)将 <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />的8009改为其它的端口。

(2) 继续将<Server port="8005" shutdown="SHUTDOWN" debug="0">的8005改为其它的端口。

经过以上3个修改,应该就可以了。

开启或者关闭所有防火墙

  1. 开启: service iptables start
  2. 关闭: service iptables stop

克隆虚拟机

注意:要重新生成新的ma地址

杀死进程

  1. ps -ef |grep tomcat
  2. ps aux | grep '' --- 查询端口
  3. kill -15 9886 --- 杀死重置
  4. kill -9 9886 --- 强制杀死

【学习】 015 Linux相关的更多相关文章

  1. 学习嵌入式Linux有没有一个最佳的顺序(持续更新)

    作为一个嵌入式Linux的初学者,我知道我可能将长期处于初学者阶段,因为我至今仍然没有能够摸索出一条很好的道路让我由初学者进入到更高级阶段.但是我始终没有放弃,本篇文章就是用来记录我学习嵌入式Linu ...

  2. 作为一个新人,怎样学习嵌入式Linux,(韦东山)

    很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学到什 ...

  3. 作为一个新人,如何学习嵌入式Linux?

    作为一个新人.如何学习嵌入式Linux?我一直在问太多次,特写文章来回答这个问题. 在学习嵌入式Linux之前.肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要 ...

  4. 作为一个新人,怎样学习嵌入式Linux

    作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学 ...

  5. Linux 学习 (一) Linux简介

    Linux达人养成计划 I 学习笔记 Linux 内核官网:www.kernel.org 内核版本说明:主版本.次版本.末版本,如2.6.18 Linux 主要发行版本 RedHat: 服务器领域,部 ...

  6. 每天学习一个Linux命令-目录

    在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...

  7. 学习Kali Linux必须知道的几点

    Kali Linux 在渗透测试和白帽子方面是业界领先的 Linux 发行版.默认情况下,该发行版附带了大量入侵和渗透的工具和软件,并且在全世界都得到了广泛认可.即使在那些甚至可能不知道 Linux ...

  8. (转)作为一个新人,怎样学习嵌入式Linux?(韦东山)

    被问过太多次,特写这篇文章来回答一下.   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也 ...

  9. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

随机推荐

  1. ES6中let和var的区别

    通过var定义的变量,作用域是整个封闭函数,是全域的 .通过let定义的变量,作用域是在块级或是子块中. 变量提升现象:浏览器在运行代码之前会进行预解析 -不论var声明的变量处于当前作用域的第几行, ...

  2. 自定义配置节点configSections的使用

    //App.config <?xml version="1.0" encoding="utf-8" ?><configuration>  ...

  3. WPF在资源内嵌入字体

    比如需要有这种电子表的字体风格--这种样式叫 :longzhoufeng 字体 在微软的字体有 Quartz MS.TTF或者Quartz Regular.TTF字体.下面以Quartz Regula ...

  4. kafka 通信报文格式

    1. 序列化一条消息 消息有 key 和 value kafka 提供了基础数据类型的序列化工具,对于业务的自定义类需要自行实现序列化 ProducerRecord 是对象,含 KV 和 header ...

  5. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_8 Mybatis中的返回值深入-调整实体类属性解决增和改方法的报错

    如果实体类和数据库表内的字段没有保持一致 修改了属性子弹. 重新生成getter和setter还有toString方法 测试类里面,相关set的方法就都会报错. 只需要修改为最新的set方法就可以了. ...

  6. Python学习之==>网络编程

    一.什么是网络编程 使用Python进行网络编程,就是通过Python打开一个网站,或者请求一个http接口.可以通过标准模块urllib实现,也可以通过更简单易用的第三方模块requests实现. ...

  7. DOM4J解析文件

    转发一篇好文 DOM4J解析文件 Dom4j和Xpath

  8. 手把手教你搭建一个 Elasticsearch 集群

    为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? 高可用性 Elasticsearch 作为一个搜索引擎, ...

  9. python每日一练:0014题

    第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { "1":["张三",150,120,100], &q ...

  10. oracle中与mysql中的命令 show databases, show tables, desc table类似的命令集

    1 怎样执行一个sql脚本文件,这个脚本文件写了一系列的sql语句集,比如sql.sql 放在D:\MyEclipse 8.6\Workspaces\OASystem\WebRoot\sql.sql下 ...