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客户端

常用命令

命令格式:命令  -选项  参数
如:ls -la /usr
ls:显示文件和目录列表(list)
常用参数:
-l (long)
-a (all) 注意隐藏文件、特殊目录.和..
-t (time)
pwd 显示当前工作目录(print working directory)
touch或者> 创建空文件
mkdir 创建目录(make directoriy)
-p 父目录不存在情况下先生成父目录 (parents)
cp 复制文件或目录(copy)
-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)
mv 移动文件或目录、文件或目录改名(move)
rm 删除文件(remove)
-r 同时删除该目录下的所有文件(recursive)
-f 强制删除文件或目录(force)
rmdir 删除空目录(remove directoriy)
cat显示文本文件内容 (catenate)
more、less 分页显示文本文件内容
head、tail查看文本中开头或结尾部分的内容
haed -n 5 a.log 查看a.log文件的前5行
tail -f b.log 循环读取(fellow)
创建隐藏文件  mkdir .文件名称

改名 mv itmayiedu_a/ itmayiedu_c

删除文件 rm -r itmayiedu_a/    ----会提示
强制删除文件 rm -r itmayiedu_a/ ----不提示
echo "this is java" > book 写入并且创建book文件 mkdir itmayiedu ---创建文件夹
cd itmayiedu ---进入该目录文件夹
mkdir itmayiedu-a itmayiedu-b itmayiedu-b ---创建多个目录
mv itmayiedu-c itmayiedu_newc ---移动文件夹
cd itmayiedu_newc-------进入到itmayiedu_newc目录中
touch itmayiedu_txt001-----创建一个空间
cp itmayiedu_text002 itmayiedu_newc----拷贝文件
find itmayiedu_newc/ itmayiedu_text002 ----查找文件
echo "this is itmayiedu" >>itmayiedu_text002 ---写入值
wc itmayiedu_text002 ---统计文本的行数、字数、字符数
grep 'itmayiedu' itmayiedu_text002 ---在指定的文本文件查找指定的字符串
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.    上传安装包
2. 查找是否安装
rpm -qa | grep 'mysql-server-5.1.73-3.el6_5.i686' ----检查是否安装
rpm -ivh mysql-server-5.1.73-3.el6_5.i686.rpm ---安装软件
rpm -Uvh openssl-1.0.1e-16.el6_5.14.i686.rpm----升级库
rpm -Uvh mysql-libs-5.1.73-3.el6_5.i686.rpm ---升级软件
rpm -ivh mysql-5.1.73-3.el6_5.i686.rpm ---安装软件
rpm -ivh perl-DBI-1.609-4.el6.i686.rpm --安装软件
rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm ---安装软件
service mysqld start ----启动服务
mysqladmin -u root password 'root' ---设置mysql密码
select user,Password from user; -- 查询表
3. 连接MySQL
mysql -u root –p ----连接 mysql 输入密码
show databases; ----查询所有数据库

linux网络设置

设置成静态IP

方式1:

方式2:

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

linux安装软件

java环境

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

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

#刷新 profile

source /etc/profile

java –version

安装tomcat

解压tomcat

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

启动

cd bin
./startup.sh

设置防火墙端口

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

修改tomcat端口号为80

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

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

修改Tomcat的端口号:

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

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

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

<Connector port="" protocol="HTTP/1.1" 

               maxThreads="" connectionTimeout="" 

               redirectPort="" />

也有可能是这样的:

<Connector port="" maxThreads="" minSpareThreads="" maxSpareThreads="" enableLookups="false" redirectPort="" acceptCount="" debug="" connectionTimeout="" 

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个修改,应该就可以了。

开启或者关闭所有防火墙

开启: service iptables start
关闭: service iptables stop

克隆虚拟机

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

杀死进程

ps -ef |grep tomcat
ps aux | grep '' --- 查询端口
kill -15 9886 --- 杀死重置
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. C# 读写App.config 配置文件

    先要添加引用:System.Configuration //using System.Configuration; if (System.IO.File.Exists(AppDomain.Curren ...

  2. SOUI中对象的生命周期管理

    C++程序员最难的一环就是处理内存泄漏. 很多情况下,一个对象在一个模块里分配了内存,忘记了释放,或者在另一个模块里释放都会导致内存相关的问题. SOUI中大部分暴露在应用层的对象都使用类似COM的引 ...

  3. 学习Linux的基础网站

    http://c.biancheng.net/view/726.html

  4. vue--综合组件间的通信

    二.综合组件之间的通信 实现一个ToDoList. ①完成所有的组件的创建和使用 ②add点击add按钮时候,将用户输入的内容(todoinput),显示在(todolist) 核心代码:兄弟组件间通 ...

  5. Java ——扩展:内部类 匿名内部类 IO file 设计模式

    内部类的拓展 定义类or方法内部的类 最外层的类只能使用public和默认修饰 class Demo { class A { } public static void main(String[] ar ...

  6. lsb-realse

    [root@localhost ~]# lsb_release -a -bash: lsb_release: command not found 解决方法:yum install redhat-lsb ...

  7. 【转载】PHP中foreach的用法

    http://www.php.cn/php-weizijiaocheng-399438.html 很好用的PHP中foreach的用法详解,收藏!

  8. 【Linux-驱动】驱动策略----信号量

    访问共享资源的代码区块叫“临界区”,临界区需要以某种互斥机制加以保护:自旋锁.信号量等.互斥访问:一个执行单元在访问共享资源的时候,其他的执行单元被禁止访问. 信号量:在Liunx中的信号量是一种睡眠 ...

  9. [转帖]探秘华为(二):华为和H3C(华三)的分道扬镳

    探秘华为(二):华为和H3C(华三)的分道扬镳 https://baijiahao.baidu.com/s?id=1620781715767053734&wfr=spider&for= ...

  10. Kubernetes服务部署解决方案

    学习了K8S的基础知识,我们的目的就是解决我们服务的迁移,那么接下去通过几个案例来感受一下K8s部署带来的便捷与效率. 环境准备: 3个节点,然后我这边也安装了 Ingress. 部署wordpres ...