Linux的安装

一、Shell的基础的命令

  1. Cd;在虚拟目录里切换目录
  2. Ls:列出目录中的文件与子目录
  3. Touch:创建文件和变更已有文件的访问时间或修改时间
  4. Cp:将已有文件复制到其他位置
  5. Mv:重命名文件
  6. Rm:删除文件
  7. Cat ,more,less,tail ,head查看文件中内容
  8. man man:访问linux系统的手册相关命令

  • 理解shell
  1. 在用户登录到某个虚拟控制台终端或在GUI中启动终端仿真器,默认的shell程序就会开始运行。
  2. 输入命令/bin/dash启动dash shell;输入exit退出dash shell
  3. 用于登录某个虚拟控制器终端或在GUI中运行终端仿真器时所启动的默认的交互shell,是一个父shell。在CLI提示符后输入/bin/bash命令或其他等效的bash命令时,会创建一个新的shell程序。这个shell程序被称为子shell(child shell)。
  4. Ps -forst命令展示这些子shell间的嵌套结构
  5. man bash或bash --help可以获取相关命令的更多帮助信息
  6. 命令列表:分号(;)指定可依次运行的一系列命令
  7. 进程列表:将命令列表包含在括号里,生成一个子shell来执行对应的命令。使用了环境变量的命令echo $BASH_SUBSHELL知道是否生成了子shell。如果该命令返回0,就表明没有子shell。如果返回1或者其他更大的数字,就表明存在子shell
  8. 后台模式:运行命令可以在处理命令的同时让出CLI,以供他用。要想将命令置入后台模式,可以在命令末尾加上字符&
  9. 非内建(外部)命令:有时候也被称为文件系统命令,是存在于bash shell之外的程序。

10.内建命令:已经和shell编译成了一体,作为shell工具的组

成部分存在。cd和exit命令都内建于bash shell。echo和pwd既有内建命令也有外部命令。使用type -a。which命令只显示出了外部命令文件

11.输入!!,然后按回车键就能够唤出刚刚用过的那条命令来使用。输入!命令编号,然后按回车键就能够唤出history中对应编号的命令

12.命令别名alias允许你为常用的命令(及其参数)创建另一个名称,从而将输入量减少到最低。

  • 环境变量
  1. 全局变量全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量局部变量则只对创建它们的shell可见
  2. 查看全局变量可用env或printenv(个别环境变量)
  3. 也可以使用echo显示变量的值。在这种情况下引用某个环境变量的时候,必须在变量前面加上一个美元符($)在echo命令中,在变量名前加上$可不仅仅是要显示变量当前的值。它能够让变量作为命令行参数
  4. 用bash命令生成一个子shell后,echo $HOME显示环境变量的当前值,与父shell中的相同
  5. 局部环境变量只能在定义它们的进程中可见
  6. 可以通过等号给环境变量赋值,值可以是数值或字符串。如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾。变量名区分大小写
  7. 设置全局环境变量方法:先创建一个局部环境变量,再通过export命令把它导出到全局环境中。修改子shell中环境变量并不会影响到父shell中该变量的值
  8. unset命令+变量名可删除已经存在的环境变量。在unset命令中引用环境变量时,记住不要使用$
  9. 在shell命令行界面中输入一个外部命令时,shell必须搜索系统来找到对应的程序。PATH中的目录使用冒号分隔

10.当你登录linux系统启动bash shell时,默认情况下bash会在启动文件中查找命令

11.数组变量:数组是能够存储多个值的变量。要引用一个单独的数组元素,就必须用它在数组中位置的数值索引值。索引值要用方括号括起来。用=改变某个索引值位置的值;unset命令删除数组中的某个值或整个数组,但若删除索引上的值会保留索引位置。

四、linux文件权限

1.linux沿用了Unix文件权限的方法,允许用户和组根据每个文件和目录的安全性设置来访问,安全系统的核心为用户账户用户

2.系统账户:Linux系统会为各种各样的功能创建不同的用户账户,是系统上运行的各种服务进程访问资源用的特殊账户。

3.普通用户创建账户时,大多数linux系统从500开始/etc/passwd文件包含了登陆用户名,用户密码,账户的UID,组ID,文本描述,用户HOME目录的位置,用户默认shell

4.只有root用户才能访问/etc/shadow文件。

5.添加新用户:useradd命令使用系统的默认值以及命令行参数来设置用户账户。可以一次性创建新用户账户及设置用户HOME目录结构。系统默认值被设置在/etc/default/useradd文件中。

6.useradd-m username 能自动在每个新用户的HOME目录里放置默认的系统文件

7.删除用户userdel:userdel默认只删除/etc/passwd文件中用户信息,-r参数,userdel会删除用户的HOME目录以及邮件目录。然而,系统上仍可能存有已删除用户的其他文件

8.usermod可以从系统中删除用户。chpasswd命令能从标准输入自动读取登录名和密码对(由冒号分割)列表,给密码加密,然后为用户账户设置。

9.chsh、chfn和chage工具专门用来修改特定的账户信息。chsh命令用来快速修改默认的用户登录shell。

10.chfn命令提供了在/etc/passwd文件的备注字段中存储信息的标准方法。chage命令用来帮助管理用户账户的有效期:YYYY-MM-DD格式的日期;从1970年1月1日起到该日期天数的数值。

11.组/etc/group文件包含系统上用到的每个组的信息。可以使用grep USERNAME /etc/group或tail /etc/group查看用户组信息

12.创建组:groupadd命令可在系统上创建新组,默认没有用户被分配到该组。

13.修改组:groupmod–g 命令可以修改已有组的GID;groupmod–n命令可以修改已有组的组名。

14.理解文件权限:ls –l 命令可以用来查看Linux系统上的文件、目录和设备的权限。第一字段的第一个字符代表了对象的类型:-代表文件;d代表目录;l代表链接;c代表字符型设备;b代表块设备;n代表网络设备。之后有3组三字符的编码。每一组定义了3种访问权限:r代表对象是可读的;w代表对象是可写的;x代表对象是可执行的;-代表没有某种权限这3组权限。分别对应对象的3个安全级别:对象的属主;对象的属组;系统其他用户

  • 使用编辑器
  1. vi编辑器(包括vim)是Unix系统最初的编辑器。 vi编辑器是Unix系统最初的编辑器。
  2. 普通模式当你刚打开要编辑的文件时(或新建一个文件时),vim编辑器会进入普通模式。在普通模式中,vim编辑器会将按键解释成命令
  3. 插入模式在插入模式下,vim会将你在当前光标位置输入的每个键都插入到缓冲区。按下i键就可以进入插入模式。
  4. 进入命令行模式,在普通模式下按下冒号键。q:如果未修改缓冲区数据,退出。q!:取消所有对缓冲区数据的修改并强制退出。w filename:将文件保存到另一个文件中。wq:将缓冲区数据保存到文件中并退出。wq! :将缓冲区数据保存到文件中并强制退出
  5. vim和nano作为控制台模式文本编辑器无法提供图形化编辑功能。emacs编辑器一开始也是作为控制台编辑器,但如今已经迁移到了图形化世界

  • 构建基本脚本
  1. 使用多个命令(可用;将其分开)

例子:date    

还可尝试(date;who)

  1. 创建shell脚本

使用文件编辑器来创建一个文件,然后将命令输入到文件中。

我使用的是vim

例如:

创建一个文件

添加执行限权

必要格式和输入命令

查看运行命令

  1. 显示消息

使用echo

  1. 使用变量

$加环境变量,若要显示$,则在前面加上\

例如:

$HOME $UID

  1. 重定向输入和输出

>会覆盖已有的文件

>>用来追加数据

<将文件内容重定向到命令

<<内联输入重定向

  1. 管道

将命令产生的大量输出通过管道传送给more命令

  1. 执行数学运算

三种方式:expr  方括号  bc

expr

方括号

bc

  1. 退出脚本

使用echo $ ?

0

则成功

七、使用结构化命令

1.使用if-then语句

结构化命令:程序要求对shell脚本中的命令施加一些逻辑流程控制或根据条件脚本跳过某些脚本。

格式如下:

If  if-then

格式如下:If-then-else

使用 ./else.sh

2.嵌套if语句

3.Test命令

输入 ./test.sh

test命令可以判断三类条件: 数值比较;字符串比较;文件比较

  • 数值比较

输入./numeric_test.sh

  • 字符串比较

输入:./string_test.sh

  • 文件比较

4.复合条件测试

布尔逻辑:是一种能够将可能的返回值简化为TRUE或者FALSE的方法。有两种方法:

5.使用双括号或者双方括号

双括号命令允许你在比较过程中使用高级数学表达式

输入:./more.sh

6.case命令

case命令采用列表格式来检查单个变量的多个值。需要再写出所有的elif语句来不 停地检查同一个变量的值了

练习题:

输入./class schedule.sh

今天是周末,没有课程安排

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值