Linux

Linux

文章目录

  • Linux
    • 一 Linux常见命令
      • 1.查看当前的目录
      • 2.切换目录
      • 3.查看目录内容
      • 4.清屏
      • 5.新建文件夹
      • 6.删除文件夹
      • 7.修改文件夹(会将源文件移除掉)
      • 8.安装命令
      • 9.查看目录的树状结构
      • 10.文件操作(新建文件)
      • 11.拷贝文件
      • 12.解压文件
      • 13.查看文件的内容
      • 14.文件上传
      • 15.删除空目录
      • 16.文件夹的权限操作
      • 17.输出信息
      • 18.使文件生效
    • 二 用户和组账号管理
      • 1.用户
      • 2.组
    • 三 vim编辑器
      • 1.用法
      • 2.模式
      • 3.部分底行模式命令
      • 4.安装大数据平台
      • 5.安装 mysql 数据库
    • 四 常见命令汇总
    • 五 Linux 的 shell 编程
      • 1.shell 介绍
      • 2.shell 变量
      • 3. shell 程序逻辑
        • 1. shell 运算符
        • 2. 分支结构
        • 3. 循环结构

一 Linux常见命令

1.查看当前的目录

pwd

2.切换目录

cd   目录名
cd   .
cd   ..(上一级目录)

3.查看目录内容

ls
ll(可以查看详情)

4.清屏

ctrl + l

5.新建文件夹

mkdir   文件夹名
mkdir   -p   多级目录

6.删除文件夹

rm   -rf   文件夹名/文件名
	-r   同时删除该目录下的所有文件
	-f   强制删除文件或目录
   慎用 rm   -rf   /

7.修改文件夹(会将源文件移除掉)

mv   源文件夹   目标文件夹
mv   :删除源文件

8.安装命令

yum   install   需要下载的包名(例如 tree )

9.查看目录的树状结构

tree

10.文件操作(新建文件)

touch   文件名

11.拷贝文件

cp   源文件   目标文件
cp   -R/-r   源目录   目标目录

12.解压文件

Linux中压缩文件的格式是 xxx.tar.gz,不是 windows 中的 .rar,.zip
tar -zxvf 压缩文件名

13.查看文件的内容

cat   文件名
more,less   分页显示文本文件内容
head,tail   查看文本中开头或结尾部分的内容
	head -n a.log   查看 a.log 文件的前5行
	tail -F b.log   循环读取

14.文件上传

yum   -y   install   lrzsz
rz

15.删除空目录

rmdir  

16.文件夹的权限操作

r:读(4)
w:写(2)
x:执行(1)  
  
7:rwx
6:rw
5:rx
1:x
0:-(什么也没有)  
  
a:所有(用户,组,其他用户)
u:用户
g:组
o:其他用户  
  
chmod   -R   777   文件夹名称( -R 是对文件夹及其子文件夹赋予同样的权限)  

17.输出信息

echo   "需要输出的字符串"
echo   $某个变量(该操作为输出某个变量所存储的值)  

18.使文件生效

source   文件名

二 用户和组账号管理

1.用户

useradd   用户名
userdel   用户名

2.组

groupadd   组名
groupdel   组名

三 vim编辑器

1.用法

vi/vim   文件名

2.模式

有三种模式,一般模式、插入模式( i a o 进入)、底行模式

3.部分底行模式命令

:set nu   显示行号
:set nonu   取消显示行号
:n   到文本的第 n 行

4.安装大数据平台

  1. hadoop安装及部署.txt
  2. 所需软件
    • hadoop-2.7.3.exe
    • jdk1.8.0_111.exe
      • jdk 中的 ct.sym 需要替换为 ct.sym

5.安装 mysql 数据库

资料
Linux下安装使用mysql数据库.docx

四 常见命令汇总

资料
Linux常见命令汇总.pdf
Linux常用命令回顾.pdf
Linux使用指南.docx
shell编程.pptx

五 Linux 的 shell 编程

1.shell 介绍

  • shell 的基本概念
    • shell 也是一门编程语言,即 shell 脚本, shell 是解释执行的脚本语言,可直接调用 Linux 命令。
  • shell 的使用场景
    • 我们安装软件的时候,需要很多的步骤,在一台电脑上操作需要10分钟,直接手工操作是不具备可复制性的。
      我们可以将这些安装操作编写成为一段脚本,以后只要执行这一段代码,就可以完成安装操作。

2.shell 变量

  1. shell 程序的开发:
    • 编写 xx.sh 文件
    • 执行这个文件
  2. 执行方式
    • 方式一
      输入 .sh 文件的绝对路径或相对路径
      
      绝对路径
      /xx/xx.sh
      
      相对路径
      ./xx.sh
      
      需要有执行权限
      chmod   +x   xx.sh
      
      执行时会新开一个 bash
      
    • 方式二
      sh   文件名
      
      不需要执行权限
      
      执行时会新开一个 bash
      
    • 方式三
      在脚本的路径前再加“..空格   目录
      
      不需要执行权限
      
      执行时不会新开一个 bash
      
  3. 用户自定义变量
    • 直接写变量名就 OK ,不需要数据类型
    • 命名规则
      1. 变量名称可以有字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写,便于区分。
      2. 默认类型都是字符串,可用’'定义,也可用""定义。
      3. 变量用等号连接值,等号左右两侧不能有空格。
      4. 变量的值如果有空格,需要使用单引号或者双引号包括。
    • 字符串变量的定义区别
      Linux_第1张图片
      总结:单引号不会解析变量
  4. 环境变量
    • 用户自定义的变量在 sh 结束的时候,变量就消失了。为了做到全局配置,我们可以将变量做成全局的。
    • 全局的变量也称为环境变量,环境变量必须存储在一个地方,以供其他的用户来使用。
      1. /etc/profile
      2. /home/用户名/.bash_profile   (相当于 ~/bash_profile )
  5. 位置参数变量
    Linux_第2张图片
    Linux_第3张图片
  6. 预定义变量

3. shell 程序逻辑

1. shell 运算符

  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符
  1. 算数运算符
    expr 是一款表达式计算工具,使用它能完成表达式的求值操作。(注意使用的是反引号 ` ,而不是单引号 ’ )
    案例:编写一个计算器,用户传入两个值,我们做加法,输出结果

    #!/bin/bash
    result=`expr $1 + $2`
    echo "sum=$result"
    
  2. 关系运算符
    关系运算符只支持数字,不支持字符串,除非字符串的值是数字
    假定变量 a 为 10 ,变量 b 为 20

    运算符 说明 举例
    -eq 检测两个数是否相等,相等返回true [ $a -eq $b ] 返回false
    -ne 检测两个数是否相等,不相等返回true [ $a -ne $b ] 返回true
    -gt 检测左边的数是否大于右边的,如果是,则返回true [ $a -gt $b ] 返回false
    -lt 检测左边的数是否小于右边的,如果是,则返回true [ $a -lt $b ] 返回true
    -ge 检测左边的数是否大于等于右边的,如果是,则返回true [ $a -ge $b ] 返回false
    -le 检测左边的数是否小于等于右边的,如果是,则返回true [ $a -le $b ] 返回true
  3. 布尔运算符
    假定变量 a 为 10 ,变量 b 为 20

    运算符 说明 举例
    -a 与运算,两个表达式都为 true 才返回 true [ $a -lt 20 -a $b -gt 100 ] 返回true
    -o 或运算,有一个表达式为 true 则返回 true [ $a -lt 20 -o $b -gt 100 ] 返回true
    ! 非运算,表达式为 true 则返回 false ,否则返回 true [ ! false] 返回true
  4. 逻辑运算符
    假定变量 a 为 10 ,变量 b 为 20

    运算符 说明 举例
    && 逻辑的 AND [[ $a -lt 100 && $b -gt 100 ]] 返回false
    |\ 逻辑的 OR
  5. 字符串运算符
    假定变量 a 为 “abc” ,变量 b 为 “efg”

    运算符 说明 举例
    = 检测两个字符串是否相等,相等返回true [ $a = $b ] 返回false
    != 检测两个字符串是否相等,不相等返回true [ $a != $b ] 返回true
    -z 或 -Z 检测字符串长度是否为 0 ,为 0 返回true [ -Z $a ] 返回false
    -n 检测字符串长度是否为 0 ,不为 0 返回true [ -n $a ] 返回true
    str 检测字符串是否为空( null ) ,不为空返回true [ $a ] 返回true
  6. 文件测试符
    文件测试运算符用于检测文件的各种属性

运算符 说明 举例
-d file 检测文件是否是目录,如果是,则返回true [ -d $file ] 返回false
-f file 检测文件是否是普通文件如果是,则返回true [ -f $file ] 返回true
-r file 检测文件是否可读,如果是,则返回true [ -r $file ] 返回true
-w file 检测文件是否可写 ,如果是,则返回true [ -w $file ] 返回true

2. 分支结构

  1. test 命令用于检查某个条件是否成立

    • 案例:从入口输入一个用户名字符串参数,用来做登录,admin 提示登录成功,否则登录失败
      #!/bin/bash
      name=$1
      name2="admin"
      if test $name = $name2
      then
      	echo "登录成功"
      else
      	echo "登录失败"
      fi
      
  2. 常规的 if 分支语句

     if 语句
     
     语法格式:
    
     if [判断条件]
     then
    
     	输出结果1
     	输出结果2
     	......
     fi
    
    #!/bin/bash
    score=$1
    if [ $score -lt 60 ]
    then
    	echo "不及格"
    elif [ $score -lt 70 ]
    then
    	echo "及格"
    elif [ $score -lt 80 ]
    then
    	echo "良好"
    else
    	echo "优秀"
    fi
    
  3. 菜单样式的分支语句 case

     格式为:
     case $变量名 in
     "第一个变量内容")
     程序段
     ;; "第二个变量内容")
     程序段
     ;;
     *)
     不包含第一个变量内容与第二个变量内容的其他程序执行段
     ;;
     esac
    
     注意:
     (1) case 语句最后必须以 esac 为结尾
     (2) 每一个变量内容的程序段最后都需要两个分号来表示该程序段的结束
     (3) 最后的 "*" 作用表示默认的意思
    
    • 案例一

      #!/bin/bash
      # 输入标识
      read -p "输入标识:" tag
      # 判断
      case "$tag" in
      	# 单个选项
      	1)
      		echo "tag = 1";;
      	# 多个选项
      	2|3)
      		echo "tag = 2 or tag = 3";;
      	# 通配符,任意内容都行
      	*)
      		echo "default";;
      esac
      
    • 案例二

      #!/bin/bash
      # echo "请输入菜品 ID (1:吃鸡 2:吃鸭 3:吃鱼):"
      # read menu
      read -p "请输入菜品 ID (1:吃鸡 2:吃鸭 3:吃鱼):" menu
      
      echo "你输入的是:$menu"
      case $menu in
      	"1")
      		echo "吃鸡";;
      	"2")
      		echo "吃鸭";;
      	"3")
      		echo "吃鱼";;
      	*)
      		echo "吃土";;
      esac
      
  4. 注意
    在 shll 脚本中,有单等号 “=” 、双等号 “==" 和 “-eq” 共3种相等判断符。
    在 shel 脚本中,单等号和双等号属于算数运算符; “-eq” 属于关系运算符。
    其使用场景限制:
    (1) 单等号和双等号能用于字符 string 类型和整型 integer 的相等判断
    (2) 相等关系运算符 “-eq" 仅能用于整型 integer 的相等比较
    (3) 相等关系运算符 "-eq” 不能在算数运算表达式 “(())” 中
    (4) 在条件表达式 “[]” 中,单等号和双等号等价。都是相等算数运算符
    (5) 在算数运算表达式 “(())” 中,单等号是赋值算数运算符,双等号为相等算数运算符
    总结:在进行相等判断时,最通用的方法是使用双等号 “==” 相等判断符

3. 循环结构

作业1:
  1.分别使用 while/for 输出1~20
  2.计算1~100的和并输出
  3.输出1~50之间的所有的偶数
  4.批量为某个文件夹下的所有文件修改扩展名

你可能感兴趣的:(后端,linux,centos,1024程序员节,运维)