商务服务
linux学习总结
2024-11-14 21:41

命令格式: 命令 [-选项] [参数]

linux学习总结

​ 例: ls -la /etc

说明

  1. 个别命令使用不遵循此格式
  2. 当有多个选项时,可以写在一起
  3. 简化选项与完整选项

1. ls(list) 显示目录文件

语法: ls [选项]

​ -a 显示所有文件,包括隐藏文件

​ -l 显示详细信息,可简化为ll

​ -d 查看目录属性

​ -i 查看目录节点

​ 例: ls -a

2. mkdir(make directories) 创建新目录

语法:mkdir [选项] [目录名]

​ -p 递归创建 (创建多重目录,如果目录不存在时,自动创建目录

​ 例: mkdir -p /tmp/test/linux

​ mkdir /tmp/test/linux (如果test不存在是会报错)

3. cd(change directory) 切换目录

语法:cd [目录]

​ 例:cd /tmp/test/linux 切换到指定目录

​ cd … 回到上一级目录

4. pwd(Print Working Directory) 显示当前目录位置

5. rmdir(remove empty directories) 删除空目录

语法: rmdir [目录名]

​ 例:rmdir /tmp/test/linux

6. cp(copy) 复制文件或目录

语法:cp [选项] [原文件目录] [目标目录]

​ -r 复制目录

​ -p 保留文件属性

​ 例:cp -r /tmp/test/linux /root 将目录/tmp/test/linux复制到目录/root下

​ cp -rp /tmp/test/linux /root 将目录/tmp/test/linux复制到目录/root下,保持目录属性

7. mv(move) 剪切文件、改名

语法:mv [原文件或目录] [目标目录]

​ 例:mv /tmp/test/linux /root 将/tmp/test/linux剪切到/root

​ mv /tmp/test/linux /root/unix 将/tmp/test/linux剪切到/root,并改名unix

8. rm(remove) 删除文件

语法:rm [选项] [文件或目录]

​ -r 删除目录

​ -f 强制执行

​ 例: rm /tmp/test/test.sh 删除文件test.sh,系统会询问是否删除

​ rm -r /tmp/test/linux 删除目录

​ rm -rf /tmp/test/linux 强制删除目录,不用询问

​ rm -rf / 跑路

1. touch 创建空文件

语法:touch [文件名]

​ 例: touch linux.list 可同时创建多个文件

2. cat 显示文件内容

语法:cat [选项] 文件

​ -p 显示行号

​ 例:cat /etc/issue

​ cat -n /etc/service

3. more 分页显示文件内容

语法:more [文件名]

​ (空格) 或f 翻页

​ (Enter) 换行

​ q或Q 退出

​ 例:more /etc/services

4. vi/vim 创建文件

语法:vi/vim 文件

​ 例:vim test.sh

5. ln(link) 生成链接文件

语法:ln -s [原文件] [目标文件]

​ -s 创建软链接文件

软链接特征:类似Window快捷方式,文件大小只是符号大小,箭头指向原文件

硬链接特征:除了文件路径,其它都一样

​ 例:ln -s /etc/issue /tmp/issue.soft 创建文件/etc/issue的软链接/tmp/issue.soft

​ ln /etc/issue /tmp/issue.hard 创建文件/etc/issue的硬链接/tmp/issue.hard

文件权限:-rw-r–r--

第一个字符:‘-’ 文件类型 (- 二进制文件,d 目录, l 软链接文件

rw-r–r–ugou代表所有者g代表所属组o代表其他人
rwx读权限写权限执行权限可以查看文件内容可以修改文件内容可以执行文件数字表示:4数字表示:2数字表示:1

rwxrw-r–

764

1. chomd 改变文件或目录权限

语法: chmod [{ugoa} {±=} {rwx}] [文件或目录]

​ [mode=421] [文件目录]

​ -R 递归修改

​ 例:chmod u+x 文件名 给所有者添加执行的权限

​ chmod g+w,o-r 文件名 给所属组添加写的权限,去掉其他人读的权限

​ chmod g=rwx 文件名 给所有者添加读写执行的权限

​ chmod 640 文件名 依照数字来赋予权限

说明:对目录有写权限才可删除文件

2. chown 改变文件或目录的所有者

语法:chown [用户] [文件或目录]

​ 例:chown king test.sh 改变文件test.sh的所有者为king

说明:只有root可操作,所有者不可操作

3. chgrp 改变文件或目录的所属组

语法:chgrp [用户组] [文件或目录]

​ 例:chgrp lampbrother test.sh 改变tesh.sh的所属组为lampbrother

4. umask 显示、设置文件的缺省权限

语法:umask [-S]

​ -S 以rwx的形式显示新建文件缺省权限

​ 例:umask -S

1. find 文件搜索

语法:find [搜索范围] [匹配条件] (配合通配符使用

​ 例: find /etc -name init 在目录/etc中查找文件init -iname不区分大小写

​ find / -size +204800 在根目录下查找大于100MB的文件 +n大于 -n小于 n等于

​ find /home -user king 在根目录下查找所有者为king的文件 -group 根据所属组查找

​ find /etc -cmin -5 在/etc下查找5分钟内被修改过属性的文件和目录

(-amin 访问时间access,-cmin 文件属性change,-mmin 文件内容modify

​ find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件

(-a 两个条件同时满足,-o 两个条件满足任意一个即可

​ find /etc -name inittab -exec ls -l {} 在/etc下查找inittab文件并显示其详细信息

​ (-exex/-ok 命令{}; 对搜索结果执行操作)

-type 根据文件类型查找

-inum 根据i节点查找

2. locate 在文件资料库中查找文件

语法:locate 文件名

​ 例: locate inittab 新建文件要先更新资料库updatedb才可查找

3. which 搜索命令所在目录及别名信息

语法:which [命令名称]

​ 例:which ls

4. grep 在文件中搜寻字符串匹配的行并输出

语法:grep -iv [指定字串] [文件]

​ -i 不区分大小写

​ -v 排除指定字串

​ 例:grep mysql /root/install.log

5. man 获得帮助信息

语法:man [命令或配置文件]

​ 例:man ls 查看ls命令的帮助信息

​ man services 查看配置文件services的帮助信息

6. help 获得Shell内置命令的帮助信息

语法:help 命令

​ 例:help umask 查看umask命令的帮助信息

1. useradd 添加新用户

语法:useradd 用户名

 

2. passwd 设置用户密码

语法:passwd 用户名

​ 例:passwd jjj

3. who 查看登录用户信息

语法:who

(tty:本地终端,pts:远程终端

4. w 查看用户详细登录信息

1. gzip 压缩文件

语法:gzip [文件]

压缩后文件格式:.gz

2. gunzip 解压缩.gz的压缩文件

语法:gunzip [压缩文件]

​ 例:gunzip test.gz

3. tar 打包目录

语法:tar [选项] [压缩后文件名] [目录]

​ -c 打包

​ -v 显示详细信息

​ -f 指定文件名

​ -z 打包同时压缩

压缩后文件格式:.tar.gz

tar命令解压缩语法

​ -x 解包

​ -v 显示详细信息

​ -f 指定解压文件

​ -z 解压缩

​ 例:tar -zxvf test.tar.gz

4. zip 压缩文件或目录

语法:zip 选项[-r] [压缩后文件名] [文件或目录]

​ -r 压缩目录

压缩后文件格式:.zip

5. unzip 解压.zip的压缩文件

解压:unzip [压缩文件]

​ 例:unzip test.zip

6. bzip2 压缩文件

语法:bzip2 选项[-k] [文件]

​ -k 产生压缩文件后保留原文件

压缩后文件格式:.bz2

​ 例:bzip2 -k test

​ tar -cjf Test.tar.bz2 Test

7. bunzip2 解压缩

语法:bunzip2 选项[-k] [压缩文件]

​ -k 解压缩后保留原文件

​ 例:bunzip2 -k test.bz2

​ tar -xjf Test.tar.bz2

1. write 给用户发信息,以Ctrl+D保存结束

语法:write <用户名>

​ 例:write king

2. wall 发广播信息

语法:wall [message]

​ 例:wall ni shi bu shi sha

3. ping 测试网络连通性

语法:ping 选项 IP地址

​ -c 指定发送次数

​ 例:ping 192.168.1.156

1. shutdown 关机

语法:shutdown [选项] 时间

​ -c 取消前一个关机命令

​ -h 关机

​ -r 重启

​ 例:shutdown -h now 立即关机

2. 其它关机命令

  1. halt
  2. poweroff
  3. init 0

3. 其它重启命令

  1. reboot
  2. init 6

4. 系统运行级别init

  1. 关机
  2. 单用户
  3. 不完全多用户,不含NFS服务
  4. 完全多用户
  5. 未分配
  6. 图形界面
  7. 重启

5. logot 退出登录命令

Vim是一个功能强大的全屏幕文本编辑器

是Linux/UNIX上最常用的文本编辑器

它的作用是建立、编辑、显示文本文件

Vim没有菜单,只有命令。

命令作用a在光标所在字符后插入A在光标所在行尾插入i在光标所在字符前插入I在光标所在行行首插入o在光标下插入新行O在光标上插入新行:set nu设置行号:set nonu取消行号gg到第一行G到最后一行nG到第n行:n到第n行$移至行尾0移至行首x删除光标所在处字符nx删除光标所在处后n个字符dd删除光标所在行,ndd删除n行dG删除光标所在行到文件末尾内容D删除光标所在处到行尾内容:n1,n2d删除指定范围的行/string搜索指定字符串 搜索时忽略大小写:set icn搜索指定字符串的下一个出现位置:%s/old/new/g全文替换指定字符串:n1,n2s/old/new/g在一定范围内替换指定字符串:w保存修改:w new_filename另存为指定文件:wq保存修改并退出ZZ快捷键,保存修改并退出:q!不保存修改退出:wq!保存修改并退出(文件所有者及root可使用

导入名令执行结果:r !命令

定义快捷键:map 快捷键 触发命令

​ 例: :map ^p I#

​ :map ^B 0x

grep是行过滤工具;用于根据关键字进行过滤

语法和选项

语法

 

常见选项:

 

cut是列截取工具,用于列的截取

语法和选项

语法

 

常见选项

 

举例说明

 

课堂练习

用小工具列出你当前的系统运行级别

  1. 如何查看系统运行级别
    • 命令runlevel
    • 文件/etc/inittab
  2. 如何过滤运行级别
 

sort工具用于排序;它将文件的每一行作为一个单位,从首字符向后,依次按ASCII码

进行比较,最后将他们按升序输出。

语法和选项

 
举例说明
 

uniq用于去除连续的重复行

 

Tab只能补全命令和文件 (RHEL6/Centos6

 
 
  • 双引号" " : 会把引号的内容当成整体来看待,允许通过$符号引用其它变量值
  • 单引号’ ’ : 会把引号的内容当成整体来看待,禁止引用其它变量值,shell中特殊符号都被视为普通字符
  • 反撇号`` : 反撇号和$()一样,引号或括号里的命令会优先执行,如果存在嵌套,反撇号不能用
 
  • ① Shell的基本语法结构

    :变量的定义、条件判断、循环语句(for、until、while)、分支语句、函数和数组等

    ② 基本的正则表达式的运用

    ③ 文件处理三剑客: grep、sed、awk工具的使用

    ④ 使用shell脚本完成一些复杂的任务,如:服务器搭建、批量处理等。

  • 目标

    • 熟练掌握shell变量的定义和获取(重点
    • 能够进行shell简单的四则运算

shell介于内核与用户之间,负责命令的解释

1. 什么是shell脚本

​ 简单来说就是将需要执行的命令保存到文本中,按照顺序执行。

​ 它是解释型的,意味着不需要编译。

若干命令 + 脚本的基本格式 + 脚本的特定语法 + 思想 = shell脚本

2. 什么时候用到脚本

重复化、复杂化的工作,通过把工作的命令写成脚本

​ 以后仅仅需要执行脚本就能完成这些工作。

3. shell脚本能干啥

自动化软件部署LAMP/LNMP/Tomcat自动化管理系统初始化脚本,批量更改主机密码…自动化分析处理统计网站访问量自动化备份数据库备份,日志转储…

4. 如何学习shell脚本

  1. 尽可能记忆更多的命令
  2. 掌握脚本的标准格式(指定魔法字节、使用标准的执行方式运行脚本
  3. 必须熟悉掌握脚本的基本语法(重点

总结

  • shell就是人机交互的一个桥梁
  • shell的种类
 

思考:终端和shell有什么关系

打开终端默认打开一个shell,终端是一个程序,shell解析命令。

脚本第一行,魔法字符#!指定解释器【必写】

#!/bin/bash 表示以下内容使用bash解释器解析

注意

如果直接将解释器路径写死在脚本里,可能在某些系统就会存在找不到解释器的兼容性问题

所以可以使用

脚本的第二部分,注释(#号)说明,对脚本的基本信息进行描述【可选】

 

脚本的第三部分,脚本要实现的具体代码内容

  • 标准脚本执行方法 (建议

     
  • 非标准的执行方法(不建议

    1. 直接在命令行指定解释器执行

       

编写一个没有灵魂的脚本

  1. 删除//tmp/目录下的所有文件 rm -rf /tmp/*
  2. 然后在/tmp目录里创建3个目录,分别是dir1-dir3 mkdir /tmp/dir{1…3}
  3. 拷贝/etc/hosts文件到刚创建的dir1目录里 cp /etc/hosts /tmp/dir1
  4. 最后打印“任务已于2020-09-16 时间完成”内容
 

变量是用来临时保存数据的,该数据是可以变化的数据。

  • 如果某个内容需要多次使用,并且在代码中重复出现,那么可以用变量代表该内容。

    这样在修改内容的时候,仅仅需要改变变量的值。

  • 在代码运作的过程中,可能会把某些命令的执行结果保存起来,后续代码需要使用这些结果

    就可以直接使用这个变量。

变量名=变量值

变量名:用来临时保存数据的

变量值:就是临时的可变化的数据

 
  • 变量名区分大小写

     
  • 变量名不能有特殊符号

     
  • 变量名不能以数字开头

     
  • 等号两边不能有任何空格

     
  • 变量尽量做到见名知意

     

㈠ 基本方式

直接赋值给一个变量

 

㈡ 命令行结果赋值给变量

 

㈢ 交互式定义变量(read

目的:让用户自己给变量赋值,比较灵活

语法

常见选项

选项释意-p定义用户的信息-n定义字符数(限制变量的长度)-s不显示(不显示用户输入的内容)-t定义超时时间,默认单位为秒(限制用户输入变量的超时时间

举例说明

 

㈣ 定义有类型的变量(declare

**目的:**给变量一些限制,比如整数、只读。

用法

常用选项

选项释意举例-i将变量看成整数declare -i A=123-r定义只读变量declare -r B=hello-a定义普通数组;查看普通数组-A定义关联数组;查看关联数组-x将变量通过环境到处declare -x AAA=123456等于export AAA=123456

㈠ 本地变量

  • 本地变量:当前用户自定义的变量。当前进程中有效,其他进程及当前进程的子进程无效。

㈡ 环境变量

  • 环境变量:当前进程有效,并且能够被子进程调用
    • 查看当前用户的环境变量
    • 查询当前用户的所有变量(临时变量与环境变量
    • 变量名=变量值 或者 变量名=变量值;export 变量名
 

㈢ 全局变量

  • 全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用

  • 解读相关配置文件

文件名说明备注$HOME/.bashrc当前用户的bash信息,用户登录时读取定义别名、umask、函数等$HOME/.bash_profile当前用户的环境变量,用户登录时读取$HOME/.bash_logout当前用户退出当前shell时最后读取定义用户退出时执行的程序等/etc/bashrc全局的bash信息,所有用户都生效/etc/profile全局环境变量信息系统和所有用户都生效

说明:以上文件修改后,都需要重新source让其生效或者退出重新登录。

㈣ 系统变量【重要】

  • 系统变量(内置bash中变量:shell本身已经固定好了它的名字和作用。
内置变量含义$?上一条命令执行后返回的状态;状态值为0表示执行正常,非0表示执行异常或错误$0当前执行的程序或脚本名$#脚本后面接的参数的个数$*脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开$@脚本后面所有参数,参数是独立的,也是全部输出$1-$9脚本后面的位置参数,$1表示第一个位置参数,依次类推{n}扩展位置参数,第10个位置变量必须用{}大括号括起来(2位数字以上括起来)$$当前所在进程的进程号,如echo $$$!后台运行的最后一个进程号(当前终端)!$调用左后一条命令历史中的参数
  • 进一步了解位置参数{n}
 

算数运算:默认情况下,shell就只能支持简单的整数运算

运算内容:加(+)、减(-)、乘(*)、除(/)、求余数(%)

表达式举例$(( ))echo $((1+1))$[ ]echo $[10-5]exprexpr 10 / 5letn=1;let n+=1 等价于 let n=n+1
  • 对变量的值的影响
 
  • 对表达式的值的影响
 
  • 熟悉条件判断语句,如判断整数、判断字符串等
  • 熟悉流程控制语句基本语法,如if…else…

㈠条件判断语法格式

  • 格式1:test条件表达式
  • 格式2:[ 条件表达式 ]
  • 格式3:[[ 条件表达式 ]] 支持正则 =-

特别说明

1)[ 两边都有空格 ]

2)[[ 两边都有空格 ]]

3)更多判断,man test去查看,很多的参数都用来进行条件判断

㈡条件判断相关参数

:你要判断什么

:我要判断文件类型,判断文件新旧,判断字符串是否相等,判断权限等等…

①判断文件类型
判断参数含义-e判断文件是否存在(任何类型文件)-f判断文件是否存在并且是一个普通文件-d判断文件是否存在并且是一个目录-L判断文件是否存在并且是一个软链接文件-b判断文件是否存在并且是一个块设备文件-S判断文件是否存在并且是一个套接字文件-c判断文件是否存在并且是一个字符设备文件-p判断文件是否存在并且是一个命名管道文件

举例说明

 
②判断文件权限
判断参数含义-r当前用户对其是否可读-w当前用户对其是否可写-x当前用户对其是否可执行-u是否有suid,高级权限冒险位-g是否sgid,高级权限强制位-k是否有t位,高级权限粘滞位
③判断文件新旧

说明:这里的新旧是指

判断参数含义file1 -nt file2判断file1是否比file2新file1 -ot file2判断file1是否比file2旧file1 -ef file2比较是否为同一个文件,或者用于判断硬链接,是否指向同一个inode
④判断整数
判断参数含义-eq相等-ne不等-gt大于-lt小于-ge大于等于-le小于等于
⑤判断字符串
判断参数含义-z判断是否为空字符串,字符串长度为0则成立-n判断是否为非空字符串,字符串长度不为0则成立string = string判断字符串是否相等string != string判断字符串是否不相等
⑥多重条件判断
判断符号含义举例-a 和 &&逻辑与[ 1 -eq 1 -a 1-ne 0 ] [ 1 -eq 1 ] && [ 1 -ne 0 ]-o 和 ||逻辑或[ 1 -eq 1 -o 1 -ne 1 ] [ 1 -eq 1 ]

特别说明

&& 前面的表达式,才会执行后面的代码

|| 前面的表达式,才会执行后面的代码

; 只用于命令或表达式

举例说明

  • 数值比较
 
  • 类C风格的数值比较
 

关键词:选择

㈠基本语法结构

①if结构

F:表示false,为假

T:表示true,为真

 
②if…else结构
 

随堂练习

让用户自己输入字符串,如果用户输入的还hello,请打印world,否则打印“请输入hello”

  1. read定义变量
  2. if…else…
 
③if…elif…else结构
 
④层层嵌套结构
 

㈡应用案例

①判断两台主机是否ping通

需求:判断当前主机是否和远程主机ping通

思路

  1. 使用哪个命令实现

  2. 根据命令的执行结果状态来判断是否通

  3. 根据逻辑和语法结构来编写脚本(条件判断或者流程控制

落地实现

 
②判断一个进程是否存在

**需求:**判断web服务器中httpd进程是否存在

思路

  1. 查看进程的相关命令 ps pgrep
  2. 根据命令的返回状态值来判断进程是否存在
  3. 根据逻辑用脚本语言实现

落地实现

 
③判断一个服务是否正常

**需求:**判断门户网站是否能够正常访问

思路

  1. 可以判断进程是否存在,用/etc/init.d/httpd status判断状态等方法
  2. 最好的方法是直接访问一下,通过访问成功和失败的返回值来判断
    • Linux环境,wget,curl ,elinks -dump

落地实现

 

㈢课堂练习

①判断用户是否存在

**需求1:**输入一个用户,用脚本判断该用户是否存在

 

㈠列表循环

列表for循环:用于将一组命令执行已知的次数

  • 基本语法格式
 
  • 举例说明
 

㈡不带列表循环

不带列表的for循环执行时由用户指定参数和参数的个数

  • 基本语法格式
 
  • 举例说明
 

㈢类C风格的for循环

  • 基本语法结构
 

㈠脚本计算1-100奇数和

①思路

  1. 定义一个变量来保存奇数的和
  2. 找出1-100的奇数,保存到另一个变量里
  3. 从1-100中找出奇数后,再相加,然后将和赋值给变量
  4. 遍历完毕后,将sum的值打印出来

②落地实现

 

③循环控制语句

循环体之间的内容

  • continue:继续;表示内下面的代码不执行,重新开始下一次循环
  • break:打断;马上停止执行本次循环,执行后面的代码
  • exit:表示直接跳出程序
 

㈡判断所输整数是否为质数

**质数(素数:**只能被1和它本身整除的数叫质数。

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

①思路

  1. 让用户输入一个数,保存到一个变量里
  2. 如果能被其它整其它数整除就不是质数——>i是否等于0 num-1
  3. 如果输入的数是1或者2取模根据上面判断又不符合,所以排除1和2
  4. 测试序列从2开始,输入的数是4——>得出结果i相等,并且i

②落地实现

 

㈢批量创建用户

需求:批量加5个新用户,从u1到u5命名,并统一加一个新组,组名为class,统一改密码为123

①思路

  1. 添加用户的命令
  2. 判断class组是否存在
  3. 根据题意,判断该脚本循环5次来添加用户
  4. 给用户设置密码,应该放到循环体里面

②落地实现

 

㈠批量创建用户

**需求1:**批量新建5个用户stu1-stu5,要求这几个用户的家目录都在/rhome.

 

㈡局域网内脚本检查主机网络通讯

需求2:写一个脚本,局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里。

 

**特点:**条件为真就进入循环;条件为假就退出循环

 

㈠脚本计算1-50偶数和

 

㈡脚本同步系统时间

①具体需求

  1. 写一个脚本,30秒同步一次系统时间,时间同步服务器192.168.88.253
  2. 如果同步失败,则进行邮件报警,每次失败都报警
  3. 如果同步成功,也进行邮件通知,但是才通知

②思路

  1. 每个30s同步一次时间,该脚本是一个死循环 while
    1. 同步失败发送邮件
  2. 同步成功100次发送邮件

③落地实现

 

**特点:**条件为假就进入循环;条件为真就退出循环

 

打印1-5数字

 

㈠具体需求

  1. 使用until语句批量创建10个用户,要求stu1-stu5用户的UID分别为1001—1005
  2. stu6-stu10用户的家目录分别在/rhome/stu6—/rhome/stu10

㈡思路

  1. 创建用户语句
  2. 使用循环语句(until)批量创建用户
  3. 判断用户前5个和后5个

㈢落地实现

 

系统变量: RANDOM,默认会产生0—32767的随机整数

**前言:**要想调用变量,不管你是什么变量都要给钱,而且是美元$

 

㈠随机产生以139开头的电话号码

具体需求1

写一个脚本,产生一个phonenum.txt,随机产生以139开头的手机号100个,每个一行。

①思路

  1. 产生1000个电话号码,脚本需要循环1000次
  2. 139+8位,后8位随机产生,可以让每一位数字都随机产生
  3. 将随机产生的数字分别保存在变量里,然后加上139保存到文件里

②落地实现

 

㈡随机抽取5位幸运观众

具体需求

  1. 在上面的1000个手机里抽奖5个幸运观众,显示出5个幸运观众
  2. 但只显示头3个数和尾号的4个数,中间的都用*代替

①思路

  1. 确定幸运观众所在的行
  2. 将电话号码提取出来
  3. 显示前3个和后4个数到屏幕

②落地实现

 

㈢批量创建用户(密码随机产生)

**需求:**批量创建5个用户,每个用户的密码为一个随机数

①思路

  1. 循环5次创建用户
  2. 产生一个密码文件来保存用户的随机密码
  3. 从密码文件中取出随机密码赋值给用户

②落地实现

 
  1. 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套
  2. 每次外部循环都会触发内部循环,直至内部循环完成,才接着执行下一次外部循环
  3. for循环、while循环和until循环可以相互嵌套。

㈠打印指定图案

 
 
 

expect 自动应答 tcl语言

需求1:A远程登录到server上什么都不做

 

㈠ 数组分类

  • 普通数组:只能使用整数作为数组索引(元素的下标)
  • 关联数组:可以使用字符串作为数组索引(元素的下标)

㈡ 普通数组定义

  • 一次赋予一个值
 
  • 一次赋予多个值
 

㈢ 数组的获取

 

㈣ 关联数组定义

① 首先声明关联数组

 

② 数组赋值

  • 一次赋一个值
 
  • 一次赋多个值
    以上就是本篇文章【linux学习总结】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/news/434.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多   
最新文章
家庭医生签约服务健康知识库(一)
第一部分 科学健康观素养一、基本知识和理念(15条)1.【健康的定义】健康是指身体、心理和社会状态的完好状态,而不仅仅是没有
华为新款折叠屏手机开售后“秒光” 产业渗透率有望快速提升 媒体报道,12月6日,华为在南山全球旗舰店正式发售折叠屏手机MateX6,售价12999元起,此前已有超过116万人预约...
来源:雪球App,作者: 科创板日报,(https://xueqiu.com/9252950692/315917278)媒体报道,12月6日,华为在南山全球旗舰店正式
中信银行信用卡欠两万逾期两年多没还上该如何处理?
中信银行信用卡欠两万逾期两年多没还上怎么办小编导语随着信用卡的普及,越来越多的人选择使用信用卡进行消费。信用卡欠款逾期的
AI生成3D模型工具都有哪些?2023年AI生成器大盘点!
由于人工智能 (AI) 的快速发展3D 内容创作的未来也逐渐变得清晰AI 驱动的工具正在逐渐改变我们创建、交互和体验 3D 内容的方式,
如何利用2024年十大免费网站推广入口提升网站流量和品牌知名度?
在互联网时代,推广一个网站或业务需要通过多种渠道和入口来提高曝光度,增加流量。尤其是对于初创企业和小型网站来说,寻找合适
dwg用什么软件可以查看?dwg浏览器下载
本教程操作环境:windows7系统、DELL G3电脑。 6款可以打开dwg文件的软件看图纸DwgSeePlus是一款dwg文件浏览器,是专门为工程设
五大全站推广优化策略,助您网站流量激增秘诀大公开
全站推广标题优化五大秘诀,助您网站流量猛增。策略包括:精准关键词布局、吸引力标题设计、标题与内容一致性、多平台推广同步、
【学习教程系列】最通俗的 Python3 网络爬虫入门
很多朋友学习Python都是先从爬虫开始,其原因不外两方面: 其一Python对爬虫支持度较好,类库众多,其
工业富联涨0.86%,成交额20.91亿元,人气排名41位!后市是否有机会?附走势预测
12月11日,涨0.86%,成交额20.91亿元,换手率0.47%,总市值4436.50亿元。工业富联目前在新浪财经客户端A股市场人气排名第41名。