Linux基础

avatar
作者
猴君
阅读量:0

一.Linux介绍

Linux是一种自由和开放源码的类UNIX操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位 和64位硬件。该操作系统的内核由林纳斯·托瓦兹于1991年10月5日首次发布。

Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统,现可运行在服务器和其他大型平台之上, 如大型计算机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑 (Tablet)、路由器(Router)、电视(TV)和电子游戏机等。

开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界 面(命令界面,图形界面等),出色的速度性能。

二.Linux目录结构

Linux的所有文件都存储在根目录/下,

根目录

根目录/,Linux中没有盘符,所以文件全部存放在根目录下,比如cd /etc/local就是从电脑的根目录中找etc这个文件夹,再从etc文件夹中找local文件夹这样一层一层的往下走

/bin:存放可执行的二进制文件,比如cd,ls,tar,mv等命令

/boot:存放的是系统启动时用到的一些文件,例如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub

/dev:存放设备文件,访问该目录下的某个文件就相当于访问某个设备

/etc:存放系统配置文件,不建议在此目录下存放可执行文件

/home:系统默认的家目录,新增用户时,文件存放在此目录

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

mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。

/root:是管理员root的家目录

用户目录

可以通过终端输入cd ~进入用户目录,也就是/home目录

如果当前是root管理员,在命令行前面会有#号

如果当前是普通用户,在命令行前面会有$号

三.Linux的常用命令

查看防火墙的状态:systemctl status firewalld

关闭防火墙:systemctl stop firewalld

开启防火墙:systemctl start firewalld

查看ssh运行状态:service sshd status

重启虚拟机:init 6

查看目录:ls

创建目录:mkdir

创建一个空白文件:touch

向文件中写内容:echo '内容' > 文件名 (如果是一个>号就是覆盖,两个>号就是追加)

vim编辑器中常用命令

撤销:u

复制:yy

粘贴:p

删除:dd

移动:G

如果针对多行,命令都是数字+命令

在写命令的过程中按TAB键可以补全代码

命令中的ctrl组合键

Ctrl+c 结束正在运行的程序

Ctrl+d 结束输入或退出shell

clear 清屏

四.文件访问权限

文件的访问权限分为:可读(r),可写(w),可执行(x),在Linux中有不一样的表达方式

可读权限:对于文件只有读取的权限,对于目录只有浏览的权限

可写权限:对于文件,具有修改文件内容的权限;对于目录,具有删除、移动目录内文件的权限

可执行权限: 对于文件,具有执行文件的权限;对于目录,该用户具有进入目录的权限

第一个字符代表是文件类型:

“d” 代表文件夹

“-” 代表普通文件

“c” 代表硬件字符设备

“b” 代表硬件块设备

“s”表示管道文件

“l” 代表软链接文件

从第二个字符开始,每三个为一组,分别表示文件所有者、用户组、其他用户拥有的权限

rwx表示可读可写可执行

r-x表示可读可写

修改用户权限

chown

格式:chown 参数 用户 用户组 文件路径

参数:

 -c 显示更改的部分信息

-f 强制执行

-v 显示详细的处理信息

-R 处理指定目录以及其子目录内容----->改变当前目录和目录下所有内容的所属用户和组

-h 修复符号连接

chmod

用于权限设置,权限同样可以用数字表示:

可写-->4

可读-->2

可执行-->

因此如果具有读写执行权限时合计7,也就是最高劝降,所以最高的权限为777

五.shell编程

shell脚本是由一些按照一定格式组合起来的shell命令,shell脚本不需要编译就可以直接执行,因此是边 解释边执行的 ----- 定义一个shell脚本其中命令就会一键执行,可以用shell执行一些定义操作

Linux系统提供了多种不同的Shell【解释器】供以选择,常用的有 Bourne Shell(简称sh),C-shell (简称csh),Korn Shell(简称ksh),Bourne Again Shell(简称 bash),可以通过“echo $SHELL”查看当shell默认解释器

centos默认的解释器是bash,linux系统版本众多,可能别的版本的linux系统默认解释器不是bash, 一般都是bash

        root:x:0:0:root:/root:/bin/bash

        nobody:x:65534:65534:nobody:/nonexistent:/bin/sh

        syslog:x:101:103::/home/syslog:/bin/false

        itcast:x:1000:1000:itcast,,,:/home/itcast:/bin/bash

        ftp:x:115:125:ftp daemon,,,:/srv/ftp:/bin/false

最后一列显示的就是shell的解释器

编写一个简单的脚本

创建一个文件,注意后缀名要是.sh

通过vim编辑器编辑创建的文件

要以#!/bin/bash开头,或者shall的编辑器

用sh 加shall的名称来执行

变量

变量是一个容器,用于存储数据的容器,其中存储的数据可以改变,因此称为变量

定义变量两边不能有空格

运行结果是

变量名和含义

$#:表示位置参数的数量

$*:表示所有位置参数的内容

$?:表示命令执行后返回的状态,用于检查上一个命令是否正确,linux中命令退出为0是正确,非0都是错误

$$:表示当前进程的进程号

$!:表示后台的最后一个进程

$0:表示当前执行的进程名

$数字:表示命令行的第几个参数

数组

数组也是一个容器,可以存储一组数组,数组存储的数据称为元素,每个元素会分配一个唯一标识称为 下标,下标都是从0开始依次+1

定义一个数组:

数组定义: 数组名【自定义】=(元素 元素 元素 元素.....)

获取某个元素:${数组名[下标]}

获取全部元素:

echo ${数组名[*]}

给数组赋值:

设置元素:数组名[下标]=值

for循环

循环就是重复执行既定的流程,比如输出10句hello,可以 echo ”hello“ 写10遍,也可让echo ”hello“ 执行 10次【循环】,因此循环就是重复,可以有效的提高代码的利用率,让代码可读性增强【代码少了自然 可读性就强】

for((起始值;条件;步长))

do

        --- 循环体

done

if分支语句

if语句称为条件分支,满足对应条件去执行对应的流程

if [ 条件1 ] ; then 代码1 --- >如果条件1成立执行代码1

elif [ 条件2 ]; then 代码2 --- >反之如果条件2成立执行代码2

elif [ 条件3 ] ;then 代码3 --- >反之如果条件3成立执行代码3 .... ....

else 代码4 ----> 反之 执行代码4 --- if结束 条件分支是从上到下依次过滤,先满足先执行,如果都不满足就走else

case语句

case分支只能用于判断是否等于某个值, 只有符合了才会执行后面代码

case 值 in

比较值1)

等于比较值1时候执行的代码

;;

比较值2)

等于比较值2时候执行的代码

;;

....

esac

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!