小白学习Linux

一、Linux介绍

1、什么是Linux?

Linux是在Unix上开发而来的一套免费和自由传播的操作系统。

2、Linux的版本是什么?

Linux的版本分为两种

  1. 内核版本:Linux团队的内核小组开发和维护的系统内核版本号。
  2. 发行版本:一些组织和公司基于Linux内核自行发布的系统版本。
    常见的发行版本有:ubantu、redhat、centos等等

3、Linux和windows系统的区别?

  • windows系统:
    1)由比尔盖茨基于dos系统开发而来。
    2)以图形界面的交互为主,消耗的资源较多。
    3)上手简单易学,但系统内部构造复杂,深入学习比较困难。
    4)常用于家用办公电脑。
  • Linux系统:
    1)由Linux基于Unix系统开发而来。
    2)以命令行交互为主,消耗资源较小。
    3)上手较为难学,但系统内部构造相对简单稳定,升入学习相对容易。
    4)常用于企业服务器或网络设备等。

二、Linux常用命令

1、目录操作

1.1常用目录
  • /root:改目录为系统管理员目录。
  • /home:用户的主目录,每个用户都有自己的目录,一般都是以用户的账号命名的。
  • /etc:这个目录是来存放系统管理所需要的配置文件和子目录。
  • /user :存放系统用户共享资源。
1.2常用命令
  1. ls:用来显示当前目录下的内容。
    不同颜色文件代表的含义:
    蓝色:目录
    绿色:可执行文件
    红色:压缩文件
    浅蓝色:链接文件
    白色:普通文件
    黄色:设备文件
ls -a		显示所有文件或目录(包括隐藏的文件,在linux中以 . 开头的文件都是隐藏的文件)
ls -l		列出当前目录下的文件列表,以详细信息展示,可以缩写成ll
ls -l /		列出根目录下的文件列表,以详细信息展示
  1. cd :切换目录
cd app		切换到app目录下。
cd ..		切换到上一层目录
cd /		切换到系统根目录
cd ~		切换到用户主目录
cd -		切换到上一个所在目录
  1. mkdir:创建目录
mkdir app		在当前目录下创建app目录
mkdir -p app2/test		级联创建app2以及test目录
  1. rmdir:删除目录
rmdir app		删除app目录

2、文件操作

  1. cat:显示文件的所有内容
cat -n yum.conf		显示yum.conf所有内容并给所有行编号
  1. more:显示文件内容,可以做翻页翻行操作。
more yum.conf		显示yum.conf文件内容
快捷键:
空格:	翻页
确定:	下一行
q:	退出查看
  1. less:用法与more相似
less yum.conf		显示yum.conf文件内容
快捷键:
PgUp:	上一页
PgDn:	下一页
q:	退出查看
  1. grep:查找符合条件的字符串
    ctrl+c 可以退出grep模式。
    find -name 'zookeeper*'可以用来查找名字中带zookeeper的文件夹和文件目录
参数:
	-i 	忽略大小写
	-n  输出的同时打印行号
	-B  显示前N行的内容
	-A	显示后N行的内容
	--color 高亮展示查询关键字
常用:	
    grep headers install.log  在文件中查找headers
    grep  -B 10 headers  install.log   在文件中查找headers,显示前10行的内容
    grep  -A 10 headers  install.log   在文件中查找headers,显示后10行的内容
    grep  -A 10 --color headers  install.log  在文件中查找headers,高亮展示关键字
  1. touch:创建一个空文件
touch aa.txt		创建一个aa.txt文件
  1. rm:删除文件或目录
参数:
	-f  	强制删除。忽略不存在的文件,不提示确认
	-r		递归删除目录及其内容
常用:
    rm 	a.txt    	删除a.txt文件,输入y/n,y确认删除,n不删除
    rm -f   a.txt   不询问,直接删除
    rm -r   aa    	删除aa目录,每个目录及文件都提示
    rm -rf  aa    	不询问递归删除aa目录
    rm -rf  *      	删除当前目录下所有文件
    rm -rf  /*      删除根目录下所有文件(自杀)

3、通用文件或目录操作

  1. cp:将文件或文件夹复制到指定指定目录
参数:
	-r		递归复制目录及其子目录内的所有内容
常用:
    cp install.log install.log.bak   	将install.log复制为install.log.bak文件
    cp install.log aaa/   	 			将install.log文件复制到当前目录下的aaa目录下
    cp install.log bbb/install.log.bak  将install.log文件复制到当前目录下的bbb目录下,改名为install.log.bak
    cp aaa -r  bbb/  	  				递归复制aaa目录及子目录的所有内容到bbb目录下
    cp aaa -r  bbb/ccc                  递归复制aaa目录及子目录的所有内容到bbb目录下,改名为ccc
  1. mv:将文件或文件夹移动到指定目录
常用: 
    mv install.log install.log.bak   	将install.log重命名为install.log.bak
    mv install.log aaa/   	 			将install.log文件移动到当前目录下的aaa目录下
    mv install.log bbb/install.log.bak  将install.log文件移动到当前目录下的bbb目录下,改名为install.log.bak
    mv aaa  bbb/  	  					将aaa目录移动到bbb目录下
    mv aaa  bbb/ccc                     将aaa目录移动到bbb目录下,重命名为ccc
  1. tar:将指定文件或目录打包成一个文件,但不做压缩。
    一般Linux常用压缩方式是先用tar打包,然后用gzip压缩文件
参数:
    -c:	创建一个新tar文件
    -v:	显示运行过程的信息
    -f:	指定文件名
    -z:	调用gzip压缩命令进行压缩
    -x:	解开tar文件
    -C:	指定解压路径
常用:
	tar –cvf aaa.tar ./*		将当前目录下的所有文件打包为aaa.tar
    tar –zcvf aaa.tar.gz ./*	将当前目录下的所有文件打包压缩为aaa.tar.gz
    tar –xvf aaa.tar			将aaa.tar提取到当前目录
    tar -xvf aaa.tar.gz -C /usr/aaa		将aaa.tar.gz解压到/usr/aaa目录

4、资源权限命令

4.1权限介绍

在这里插入图片描述

4.2文件类型说明
普通文件(-)
目录(d)
符号链接(l)
字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。 
4.3修改资源权限
chmod 变更文件或目录的权限。

格式: chmod [参数] <文件>
参数:
	 -R  以递归方式更改所有的文件及子目录
常用:
    chmod 755 install.log
    chmod 000 install.log 
    chmod 777 install.log 
    chmod u=rwx,g=rx,o=rx install.log
    chmod -R 755 aaa
4.4组管理
  1. groupadd:创建一个用户组。一个用户组可以有多个用户
groupadd mysql  创建一个名为mysql的组
  1. groupdel:删除一个已存在的组,组中必须没有用户
groupdel mysql  删除名为mysql的组
4.5用户管理
  1. useradd:创建一个用户
参数:
	-d		指定用户目录,如果不指定在home目录下创建一个同名目录
	-g		指定用户所属组,如果没有指定组,那么会创建一个同名组
常用:
	useradd test 						添加test用户
	useradd test2 -d /home/test2  		指定用户home目录
	useradd mysql –g mysql          	创建一个mysql用户,指定组为mysql组
	
如果在创建用户时没有指定密码,那么新建用户需要设置密码才可以使用	

格式: passwd <用户>
常用:
	passwd  test  为test用户设置密码
  1. userdel:删除用户
参数:
	-r   使用者目录下的档案一并移除 。 在其他位置上档案也将一一找出并删除 。
常用: 
	userdel test 删除test用户(不会删除home目录)
	userdel –r test  删除用户以及home目录
  1. su:切换登录用户
常用:
    su u1  切换到u1用户
    su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)
    
root用作为超级管理员切换到其他用户不需要输入密码
其他用户切换到root用户需要输入密码
  1. chown:改变资源的所属用户和组
参数:
	-R 	递归处理所有的文件及子目录
常用:
	chown 	  u1:public  a.txt    	变更当前的目录或文件的所属用户和组
	chown -R  u1:public  aaa    	变更目录中的所有的子目录及文件的所属用户和组

5、资源权限命令

5.1网络命令
  1. ping:网络测试命令
ping 192.168.150.128
ping -c 3 www.baidu.com//测试三次连接到百度
  1. ifconfig:查看网络状态
  2. ifdown/ifup:关闭/开启网卡
  3. netstat:查看网络状态
参数:
    -t:列出TCP协议端口
    -u:列出UPD协议端口
    -n:不使用域名和服务名,而使用IP地址和端口号
    -a:列出所有的网络连接

常用:
	netstat -an 	查看当前计算机开放的所有的端口
	netstat -an | grep 3306		查看占用了3306端口的系统程序
5.2网络命令

开启或关闭防火墙

service iptables status		查看防火墙状态
service iptables start		启动防火墙
service iptables stop		关闭防火墙
service iptables restart	重启防火墙

三、软件安装

1.Linux下软件安装方式

Linux上的软件安装有以下几种常见方式

  1. 二进制发布包:软件已经针对具体平台编译打包发布,只要解压,修改配置即可。解压后安装

  2. RPM包:软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装。格式为RPM的文件,使用RPM命令进行安装

  3. Yum在线安装:软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题。类似windows软件商城的自动安装功能

  4. 源码编译安装:软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署。

2.通过FileZilla传输安装包

在这里插入图片描述
通过FileZilla可以将windows系统上的文件传输给Linux服务器

3.安装部署jdk

  1. 卸载CentOS自带的jdk
    利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
    rpm命令是RPM软件包的管理工具。
[root@localhost /]# java –version        		#查看当前系统jdk版本
[root@localhost /]# rpm -qa | grep java        	#查找jdk。rpm -qa查找所有安装的软件,grep java查找带java名称的软件。
java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
tzdata-java-2015e-1.el6.noarch
java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686

卸载自带的jdk

[root@localhost jdk]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
[root@localhost jdk]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686  
  1. 从windows系统上传jdk安装包
    在Linux系统上创建安装文件夹,使用FileZilla上传安装包。
[root@localhost /]# mkdir -p  /service/tools   #创建多级文件夹
  1. 解压jdk
    [root@localhost jdk1.7.0_71]# pwd #查询当前工作目录
[root@localhost jdk]# tar -xzvf jdk-7u71-linux-i586.tar.gz   #解压jdk
  1. 配置环境变量
1. 编辑`/etc/profile` 文件    
  	[root@localhost jdk]# vim /etc/profile

2. 按O在末尾行添加
    #set java environment
    JAVA_HOME=/service/tools/jdk/jdk1.8.0_191
     #自己解压的jdk的路径
    CLASSPATH=.:$JAVA_HOME/lib.tools.jar
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME CLASSPATH PATH

3. “:”进入底行模式,“wq”保存退出,通过source命令使更改的配置立即生效
    [root@localhost jdk]# source /etc/profile  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值