首页 > 系统相关 >Linux基础

Linux基础

时间:2024-07-25 21:00:05浏览次数:11  
标签:文件 执行 基础 shell Linux 权限 目录

一.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

标签:文件,执行,基础,shell,Linux,权限,目录
From: https://blog.csdn.net/m0_70862775/article/details/140548170

相关文章

  • Python--Pandas基础------2
    目录一、导入Excel文件1.导入xlsx文件2.导入csv文件3.head()与tail()4.info()6.shape二、修改变量列1.columns2.rename()三、筛选变量列四、删除变量列五、添加变量列一、导入Excel文件在Pandas中导入Excel文件是一个常见的操作,可以使用read_excel()函数来......
  • 01、基础语法
    基础语法01、Python基础信息  02、Python保留字符保留字符的查看(共36个)importkeyword#获取所有的Python保留字reserved_words=keyword.kwlistprint(reserved_words)FalseNoneTrue__peg_parser__andasassertasyncawaitbreakclasscontinuedef......
  • Java SE核心技术——2 Java基础语法
    一、关键字和保留字1.关键字关键字的定义和特点定义:被[java语言]赋予了特殊含义,用作专门用途的字符串。特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。2.保留字定义:现在java尚未使用,但以后版本可能会作为关键字使用。自己使用时应避免使用。-......
  • 02 Python基础
    变量名的本质就是内存地址i=1b1=2.34b2=Truelist1=[]dic1={}tuple1=()str1=""print(id(i))print(id(b1))print(id(b2))print(id(list1))print(id(dic1))print(id(tuple1))print(id(str1))20860943075682086095348080140707394149224208609......
  • Java基础语法
    变量一、定义变量就是在程序运行过程中其值会发生改变的量。变量就是一个可以存储数据的容器。在Java语言中,所有的变量在使用前必须声明。变量存储在内存中开辟的存储空间中,根据数据类型的不同,存储空间的大小也会有所不同。变量的使用......
  • JavaScript基础
    代码作业1:1.运用所学知识完成加法器a)用户输入第一个数b)用户输入第二个数c)最后以“最终的结果为xx”输出<script>    vara=prompt('number1'),    b=prompt('number2');    varc=Number(a)+Number(b); ......
  • Linux工作原理8深入了解进程和资源利用率
    8深入了解进程和资源利用率本章将带你深入了解进程、内核和系统资源之间的关系。有三种基本的硬件资源:CPU、内存和I/O。进程会争夺这些资源,而内核的工作就是公平地分配资源。内核本身也是一种资源--进程用来执行创建新进程和与其他进程通信等任务的软件资源。本章中的许多工......
  • switch分支结构(基础语法)
    语法:switch(表达式){case常量1:语句块1;break;case常量2;语句块2;break;.......//可重复多个default:default语句块;break;}注:switch的case中一个判断正确则跳过后面的case(没有缺少break),以运行switch以后的代码。case全部不对应则执行default语句。案例练习要求:用......
  • 【模拟电子技术基础】差分放大电路——学生实验报告
        自己(大学生)在校做的实验报告,可借鉴使用,下载资源后可自行增删内容,或按照个人喜好优化排版。内容包括差分放大电路相关的实验目的、实验原理、实验过程及数据记录与处理分析、实验结论等。一、实验目的1.加深对差分放大电路性能及特点的理解2.学习差分放大电路主......
  • 《Python 基础方法的奇妙回顾之旅》
    1.学习内容1.1本篇博客主要是学过的方法进行总结:1.1.1 print()方法print方法是Python中最常用到的方法,print() 方法用于将指定的对象输出到控制台。语法:print(*objects,sep='',end='\n',file=sys.stdout,flush=False)objects:要输出的一个或多个对象,可以是字符串、......