Linux 系统
2020-12-28 11:18:52 2 举报
AI智能生成
Linux系统入门教程
作者其他创作
大纲/内容
基础篇
Linux 方向
Linux 运维工程师
Linux 嵌入式工程师
在Linux 下做各种程序开发(Java ,PHP...)
Linux 应用领域
个人桌面应用领域
<font color="#c41230">服务器应用领域</font>
嵌入式应用领域
CentOS 网络连接三种形式
桥连接
好处: 通讯比较畅通
坏处: 可能会造成ip冲突
<font color="#c41230"><b>NAT模式</b></font>
网络地址转换方式 好处: Linux系统可以访问外网,不会造成ip冲突
主机模式
你的Linux是一个独立的主机不能访问外网
vmtools安装
介绍
可以直接粘贴命令 在 windows 和 centos 系统之间 ,可以设置 windows 和 centos的共享文件
<font color="#f15a23">Linux 目录结构</font>
介绍
经典的一句话 <font color="#c41230"><b>在Linux 世界里,一切皆文件</b></font>
linux的文件系统是采用层式的树状目录结构,在此结构中的最上层是根目录 / 然后在此根目录下在创建其它目录
具体结构
<font color="#c41230"><b>bin</b></font>
是 Binary 的缩写,这个目录存放着<font color="#c41230">最重经常用的命令</font>
<b><font color="#c41230">sbin</font></b>
s 就是Super User的意思,这里存放的是<font color="#c41230">系统管理员使用的系统管理程序</font>。
<b><font color="#c41230">home</font></b>
存放<font color="#c41230">普通用户的主目录</font>,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
<font color="#c41230"><b>root</b></font>
该目录为<font color="#c41230">系统管理员</font>,也称作超级权限者的用户目录
lib
系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里面的Dll文件 几乎所有的应用程序都需要用到这些共享库
<b><font color="#c41230">etc</font></b>
<font color="#c41230">所有的系统管理所需要的配置文件和子目录</font>
<b><font color="#c41230">user</font></b>
用户的很多应用程序和文件都放在这个目录下,<font color="#c41230">类似于Window的 program files目录</font>
<b><font color="#c41230">boot</font></b>
存放<font color="#c41230">启动Linux 时使用一些核心文件</font>,包括一些连接文件以及镜像文件
proc
这是一个虚拟的目录,它是系统内存的映射,访问这个目录获取系统信息
srv
service的缩写,目录存放一些服务启动之后需要提取的数据
sys
目录下安装了2.6内核中新出现的一个文件系统
tmp
该目录存放一些临时文件
dev
类似于windows 的设备管理器,把所有的硬件用文件的形式进行存储
<b><font color="#c41230">media</font></b>
<font color="#c41230">linux 系统会自动识别一些设备</font>,例如 U盘,光驱等,当识别后,linux会把识别的设备挂载到这个目录下
<b><font color="#c41230">mnt</font></b>
系统提供该目录是为了<font color="#c41230">让用户临时挂载别的文件系统的</font>,我们可以将外部的存储挂载在 mnt上,然后进入该目录就可以查看里面的内容
opt
给主机<font color="#c41230">安装软件</font>所摆放的目录
<b><font color="#c41230">user/local</font></b>
这是另一个<font color="#c41230">给主机额外安装软件所安装的目录</font>,一般通过编译源码方式安装程序
<b><font color="#c41230">var</font></b>
该目录<font color="#c41230">存放不断扩充着的东西</font>,习惯将经常被修改的目录放在这个目录下,包括各种日志文件
selinux
一种安全子系统,它能控制程序只访问特定文件
总结
linux 目录中有且只有一个根目录
linux 的各个目录存放的内容是预先规划好的,不要乱放
linux是以文件的形式管理我们的设备,因此linux一切皆为文件
linux 那个文件存放什么东西,大家必须有一个认识
学习完,脑海中应该有一颗linux 目录树
实操作篇
vi 和 vim 编辑器
介绍
所有的linux 系统都会内建 vi文本编辑器
vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计
三种常见模式
正常模式
可以使用[上下左右]按键来移动光标,可以使用 [删除字符] 或 [删除整行]来处理档案内容,也可以使用 [复制粘贴]来处理你的文件数据
插入模式
按下 <b><font color="#c41230">i</font></b>,l,o,0,a,A,r,R 等任何一个字母之后进行编辑模式
命令行模式
可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行数等的动作在此模式达成的
常见快捷键命令
拷贝当前行 <font color="#c41230">yy</font> 然后<font color="#c41230">p</font>粘贴
删除当前行 <font color="#c41230">dd </font>(如果删除n行 ndd)
查找某个字符串 <font color="#c41230">/</font>查找的字符串 通过<font color="#c41230">n</font>下一个字符串
查看文件行数 <font color="#c41230">set nu</font> 取消行数 <font color="#c41230">set nonu</font>
到文档最末行直接输入[<font color="#c41230">G</font>] 到最首行[<font color="#c41230">gg</font>]
修改文件然后又撤销这个动作,在正常模式输入 <font color="#c41230">u</font>
将光标移动到指定的行数 shift +g
开机,重启和用户注销
重启/关机
shutdown -h now 立即关机
shutdown -h 1 一分钟后关机
shutdown -r now 立即重启
reboot 重启
sync 把内存的数据同步到磁盘上,防止数据丢失(<b><font color="#c41230">建议关机之前执行sync</font></b>)
用户注销
logout 注销这个指令在图形运行级别是无效的
<font color="#0076b3">用户相关</font>
用户管理
创建用户
useradd tom
指定hom/具体文件夹如何指定呢
user add -d /home/target xm
修改用户密码
passwd tom
删除用户
userdel tom
userdel -r tom
查询用户信息
id tom(tom为用户名)
切换用户
<font color="#c41230">su - tom</font>(用户名)
细节: 1),从权限高的用户到权限低的用户不需要输入密码,反之需要 2),当需要返回原来的用户时使用 <font color="#c41230">exit </font>指令
用户组
查看当前登录用户的用户组
whoami
增加组
groupadd wudang
删除组
groupdel wudang
用户与用户组
增加用户的时候指定用户组
创建用户组 groupadd wudang
<font color="#c41230">useradd -g </font>wudang zwj
修改用户的用户组
创建少林组 groupadd shaolin
<font color="#c41230"> usermod -g</font> shaolin zwj
<font color="#c41230">用户和组的相关配置文件</font>
<b><font color="#c41230">/etc/passwd</font></b>
用户(User) 的配置文件,记录用户的各种信息
<font color="#c41230">zwj</font>:x:<font color="#c41230">1001</font>:<font color="#c41230">1003</font>::<font color="#c41230">/home/zwj</font>:<font color="#c41230">/bin/bash</font>
zwj
用户名
1001
用户id
1003
组id
/home/zwj
家目录
/bin/bash
shell
/etc/shadow
口令(密码)配置文件
<b><font color="#c41230">/etc/group</font></b>
组(Group) 的配置文件,记录Linux包含的组信息
wudang:x:1002:
wudang
组名称
1002
组id
<font color="#c41230">常用指令</font>
linux 指令运行级别
0
关机
1
单用户(找回丢失密码)
2
多用户无网络服务
<font color="#f15a23">3</font>
<font color="#c41230">多用户有多网络服务</font>
4
保留
5
图形界面
6
重启
面试题: 如果忘记了root密码,怎么进行找回呢?
虚拟开机按e -> 然后在utf8后面添加 init=/bin/sh -> ctrl+x 执行 -> passwd -> 执行 exec /sbin/init
帮助指令
man
man ls
help
help cd
<font color="#c41230">文件目录类指令</font>
显示当前工作路径的绝对路径 - pwd
显示当前目录的文件和目录 - ls
切换目录 - cd
目录的创建 - mkdir [-p创建多级目录] 文件名
删除目录 - rmdir
创建一个空文件 - touch
拷贝文件到指定目录 - <font color="#c41230"><b>cp</b></font>
移除文件或目录 - rm 指令
移动文件与目录或重命名 - mv
查看文件内容 - cat
以全屏的方式按页显示(小型)文本文件的内容 - more
分屏查看大型文件内容(如日志) - less
<font color="#c41230">> </font>输出重定向 和 <font color="#c41230">>></font>追加
ls -l > 文件
列表的内容写入文件 a.txt (<font color="#c41230">覆盖写</font>)
ls -al >> 文件
列表的内容追加到文件 的末尾(<font color="#c41230">不会覆盖</font>)
cat 文件1 > 文件2
查看文件1的内容写入 文件中
echo 内容 >> 文件
指定内容到文件的末尾
输出内容到控制台 - echo
输出环境变量 echo $PATH
输出指定内容 echo 字符串
显示文件的开头信息 - head
head -n 5 文件
显示(日志)文件尾部内容 - tail
<font color="#c41230">tail -f 文件</font>
软链接也叫符号连接,类似于<font color="#c41230">windows里面的快捷方式</font>,存放了链接其他文件的路径 - ln
栗子, 在/home目录下创建一个软连接,linkToRoot,连接到 /root 目录
创建软连接
ln -s /root/ linkToRoot
删除软连接
rm -rf linkToRoot
查看已经执行过历史命令,也可以是执行历史指令 - history
显示全部历史指令
history
显示最近10个
history 10
执行某个查询出来命令
!行号
<font color="#0076b3">时间日期类指令</font>
显示当前时间 - date
查看日历信息 - cal
<font color="#0076b3">搜索查找指令</font>
find指令
find /home/ <font color="#c41230">-name</font> [hello.txt]
find /opt/ <font color="#c41230">-user</font> root
find / <font color="#c41230">-size</font> +20M
locate指令
grep 指令和管道符号<font color="#c41230"> | </font>
cat a.txt | grep -ni yes
<font color="#c41230">压缩和解压指令</font>
gzip /gunzip
gzip hello.txt
gunzip hello.txt.gz
zip / unzip
zip -r mypackage.zip /home/
unzip -d /opt/tmp/ mypackage.zip
<font color="#c41230">tar 指令</font>
解压到指定目录(指定目录必须存在)
tar -zxvf myhome.tar.gz -C /opt/
压缩文件
tar -zcvf a.tar.gz a.txt a1.txt
压缩指定目录下面的文件
tar -zcvf myhome.tar.gz /home/
<font color="#c41230">组管理和权限管理</font>
Linux 组基本介绍
在Linux 的每个用户必须属于一个组,不能独立于组外,在Linux 中每个文件有所有这,所在组,其它组的概念 <font color="#c41230">1,所有者 2,所在组 3,其他组 4,改变用户所在组</font>
文件/目录 所有者
查看文件所有者 - ls -ahl
修改<font color="#c41230">文件的所有者</font>
<font color="#c41230">chown </font>用户名 文件名
组的创建
groupadd 组名称
groupadd monster
useradd -g monster fox
id fox
查看文件/目录所在组
ls -ahl 查看文件所在组
修改<font color="#c41230">文件所在组</font>
<font color="#c41230">chgrp </font>组名 文件名
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
改变用户所在组
usermod -g 组名 用户名
usermod -d 目录名 改变该用户登录的初始目录
<font color="#c41230">权限</font>
<font color="#c41230">-</font><font color="#0076b3">rw-</font><font color="#924517">r--</font><font color="#16884a">r--</font>. <font color="#f384ae">1</font> tom1 bandit <font color="#f68b1f">0</font> <font color="#381e11">12月 12 15:06</font> ok.txt
<font color="#c41230"> - </font>
表示普通文件
<font color="#c41230">d </font>
表示目录
l
表示软连接
c
表示字符设备[鼠标,键盘]
b
表示块文件[硬盘]
<font color="#0076b3">rw-</font>
表示文件所有者拥有的权限 (r 读权限 w写权限 -没有权限)
<font color="#c41230">rwx</font>
作用到 文件
x代表可执行(execute)可以被执行
作用到 目录
x 代表可执行(execute)可以进入该目录
<font color="#924517">r--</font>
表示 文件所在组的用户只拥有读的权限
<font color="#16884a">r--</font>
表示文件其它组拥有的读权限
<font color="#f384ae">1</font>
如果是文件表示硬链接个数
如果是目录,则代表目录下面的子目录有多少个
tom1
属于那个用户
bandit
属于那个组
<font color="#9f8759">0</font>
表示文件的大小 0个字节
如果是目录显示 4096
<font color="#381e11">12月 12 15:06</font>
文件最后的修改时间
修改权限 - chmod
1), + , - , = 变更权限
chmod u=rwx,g=rx,o=x
chmod o+w
chmod a-x
2),通过数字变更权限
栗子
修改文件所有者 - chown
chown tom1 abc (将abc文件用户修改为 tom1)
<font color="#c41230">chown -R</font> tom1 kkk/ (将kkk文件夹里面的所有文件都修改为 tom1)
修改文件所在的组 - chgrp
chgrp shaolin a.txt (把a.txt 的组修改为 shaolin)
<font color="#c41230">chgrp -R</font> shaolin kkk/ (将kkk文件夹内所有的组都修改为 shaolin)
<font color="#0076b3">定时任务调度 - crontab</font>
每小时每1分钟执行都会自动调用 ls -l /etc
① crontab -e
② <font color="#c41230"><b>*/1 * * * *</b></font> ls -l /etc >> /tmp/tp.txt
参数说明
第1个 *
一小时当中的第几分钟 范围 0-59
第2个 *
一天当中的第几小时 范围 0-23
第3个 *
一个月当中的第几天 范围 1-31
第4个 *
一年当中的第几个月 范围 1-12
第5个 *
一周当中的星期几 范围 0-7(0和7都代表星期日)
特殊符号说明
*
代表任何时间,比如第一个* 代表一小时中每分钟都执行一次的意思
,
代表不连续的时间。比如 0 8,12,16 * * 命令,代表每天的8点0分,12点0分,16点0分都执行一次命令
-
代表连续的时间范围。比如 0 5 * * 1-6 代表在周一到周六的凌晨5点0分执行命令
*/n
代表没隔多久执行一次,比如 */10 * * * * 代表每隔10分钟执行一次命令
Linux 磁盘分区,挂载
1), mbr 分组
最多支持四个主分区
系统只能安装在主分区
拓展分区要占一个主分区
mbr 最大只支持2TB 但拥有最好兼容性
2), gtp分区
支持无限多个主分区(但操作系统可能限制,比如windows 下最多128个分区)
最大支持18EB的大容量 (EB = 1024PB, PB=1024TB)
windows 7 64位支持gtp
如何查看系统分区和挂载情况
lsblk [-f](老师不离开)
字段解释
NAME
分区情况
FSTYPE
分区类型
LABEL
UUID
唯一标识分区的40位不重复的字符串
MOUNTPOINT
挂载点
如何添加一块硬盘
1),虚拟机添加硬盘
vmware 设置硬盘添加硬盘 ...
2), 分区
fdisk /dev/sdb
3), 格式化
mkfs -t ext4 /dev/sdb1
4), 挂载
mount /dev/sdb1 /home/newdisk
5_, 设置可以自动挂载
编辑 /etc/fstab
/dev/sdb1 /home/newdisk xfs defaults 0 0
刷新使其生效 - mount -a
卸载已经存在分区
umount /dev/sdb1
<font color="#c41230">磁盘情况查询</font>
df -lh
du -h
<font color="#c41230">工作中常用命令</font>
统计/home 文件夹下文件的个数
ls -l /home | grep "^-" | wc -l
统计/home下面目录的个数
ls -l /home | grep "^-" | wc -l
统计/home 文件夹下文件个数,包括自文件夹里的
ls -lR /home/ | grep "^-" | wc -l
统计文件夹下目录的个数,包括子文件夹里的
ls -lR /home/ | grep "^d" | wc -l
以树状显示目录结构
yum install tree
<font color="#c41230">网络配置</font>
自动获取
<font color="#c41230">指定固定的ip</font>
修改配置文件
ONBOOT="yes"
BOOTPROTO=static
IPADDR=<font color="#c41230">192.168.73</font>.110(后面的范围在 0-255之间)
GATEWAY=<font color="#c41230">192.168.72.2(虚拟网络编辑器 -> Nat设置 -> 网关ip地址)</font>
DNS1=114.114.114.114
重启服务
service network restart
问题
如果Windows无法ping 同linux 则需修改
本地网络 -> 网络连接 -> VMware Network Adapter VMnet8
如果Linux 无法ping 通 windows 或者无法ping通 www.baidu.com
1),vi /etc/resolv.conf
nameserver 114.114.114.114<br>nameserver 114.114.114.115
2),service network restart
<font color="#c41230">进程管理</font>
进程的基本介绍
1), 在Linux 中,每个执行的程序(代码)都称为一个<font color="#c41230">进程</font>,每一个进程都分配一个ID号
2), 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www服务器
3), 每个进程都可能以俩种方式存在 <font color="#c41230"><b>前台和后台</b></font> 所谓<font color="#c41230">前台进程</font>就是用户目前的屏幕上可以进行操作的,<font color="#c41230">后台进程</font>则是实际上可以进行操作,由于屏幕上无法看到的进程,通常以后台方式执行
4), 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束
显示系统执行的进程 - ps
ps -aux | more (more 分页)
USER : 用户名
PID : 进程号
<font color="#c41230">%CPU : 进程占用cpu的%比</font>
<font color="#c41230">%MEM : 占用内存的%比</font>
<font color="#c41230">VSZ : 占用虚拟内存的情况</font>
<font color="#c41230">RSS : 使用物理内存的情况</font>
TTY : 使用的终端是哪一个
STAT : 指当前进程的状态,S 代表休眠 r表示正在运行
START : 系统启动时间
TIME : 占用cpu的总时间
COMMAND :线程启动命令行是怎么运行的
查询系统执行的父进程 - ps
ps -ef | more
<font color="#c41230">PID : 进程ID</font>
<font color="#c41230">PPID : 父进程ID</font>
终止进程 - kill / killall
-9 : 表示强迫进程立即停止
查看进程树 - pstree
yum -y install psmisc
<font color="#c41230">服务管理</font>
systemctl | start| restart| reload | status | stop [服务名]
如查看防火墙状态
systemctl status firewalld
细节讨论
关闭或者启用防火墙后,立即生效 ( 可以使用 [telnet ip 端口] 来查看是否生效端口)
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置
如果希望设置某个服务自启动或者关闭<font color="#c41230">永久生效</font>,要使用 <font color="#c41230">chkconfig指令</font>
查看全部服务名及状态
systemctl list-unit-files
sudo systemctl list-unit-files
如查看 防火墙服务状态
systemctl list-unit-files | grep firewalld
<font color="#c41230">监控网络状态</font>
动态监控进程 - top
-d 秒数
指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i
使top不显示任何闲置或者僵死的进程
-p
通知指定监控进程id 来仅仅监控某个进程的状态
top - 交互操作说明
P
以cpu的使用频率进行排序
M
以内存的使用率排序
N
以pid排序
q
退出app
<font color="#c41230">查看系统网络情况 - netstat </font>
安装 netstat : yum install net-tools
查看所有的网络服务
<font color="#c41230">netstat -anp | more</font>
<font color="#0076b3">RPM 和 YUM 远程包管理</font>
RPM
简单查询指令 -rpm -qa | grep xx
查看软件包版本信息 -rpm -qi 软件包名
查询软件安装到什么地方 - rpm -ql 软件名
查询当前文件属于那个软件的 - rpm -qf file路径
卸载指令
rpm -e rpm包的名称
安装指令
rpm -ivh rpm包路径 (i 是install v是提示 h进度条)
<font color="#c41230">YUM</font>
查看安装软件是否存在 -yum list | grep xx
安装指定的包
yum -install xxx
查看
把图形化界面切换成命令行模式
下载图形化
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
获取当前模式
multi-user.target
切换成图形化界面
systemctl set-default graphical.target
重启
reboot
Linux 之JavaEE 定制篇
JDK
上传到 /opt目录下
配置环境变量
/etc/profile
export JAVA_HOME=<font color="#c41230">/usr/local/java/jdk1.8.0_231</font><br>export JRE_HOME=${JAVA_HOME}/jre<br>export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib<br>export PATH=${JAVA_HOME}/bin:$PATH<br>
注销用户,环境变量才能生效
source /etc/profile
问题 ?
如果修改配置文件错误可能使linux命令失效
/bin/vi /etc/profile
tomcat
上传tomcat到/opt目录下
在 /bin目录下 启动tomcat
开放防火墙的 8080 端口
查看防火墙状态
systemctl status firewalld
查看防火墙开放的端口
firewall-cmd --list-all
开放 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙
firewall-cmd --reload
外网可以访问了
idea
直接去官网下载 idea的linux版本,然后上传至opt/目录下
把linux的命令行模式切换成图形化模式
在 bin/idea.sh 启动idea
mysql
nginx
http://nginx.org/en/download.html 官网下载 tar包 放在 opt目录下面
在解压的目录中 ./configure
大数据-Shell编程篇
Shell 是什么?
Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统程序,用户可以用Shell 来启动,挂起,停止甚至是编写一些程序。
Shell 的快速入门
编写一个脚本输出 hello word
创建一个文件并添加内容
vim myshell.sh (.sh标识为 shell脚本)
给当前用户添加创建ehll的可执行权限
chmod u+x myshell.sh
执行的俩种方式
绝对路径
./myshell.sh
相对路径
/root/myshell.sh
如果不给可执行权限可以通过
sh ./myshell.sh
Shell 变量
系统变量
$HOME , $PWD , $ SHELL , $USER 等等
用户自定义变量
定义变量
变量 = 值
销毁变量
unset 变量
声明静态变量
redonly 变量,<font color="#c41230">注意静态变量不能 unset</font>
可把一个变量提升为全局环境变量,供其它shell使用
子主题
Shell变量定义的规则
变量名称可以由字母,数字和下划线组成,但是不能以数字开头
等号俩侧不能有空格
变量名称一般习惯为大写
将命令的返回值赋给变量
A = `ls -la` 反引号,运行里面的命令,并把结果返回给变量A
A=$(ls -la) 等价于反引号
Shell 设置环境变量
基本语法
export 变量名=变量值(将shell变量输出位环境变量)
source 配置文件(让修改的配置信息立即生效)
echo $变量明 (查询环境变量值)
全局环境变量
定义全部环境变量 /etc/profile
export 变量名=值
获取全局环境变量
$变量名
位置参数变量
基本语法
$n
n为数字,$0代表命令本身,$1-$9代表第一个到第九个参数,室以上的参数,室以上的参数需要用大括号包含 ${10}
$*
这个变量代表命令行中所有的参数,$*把所有的参数都看成<font color="#c41230">一个整体</font>
$@
这个变量代表着命令行中所有的参数,不过$@把每个参数都<font color="#c41230">区分对待</font><br>
$#
这个变量代表着命令行中所有参数的个数
Shell 多行注释
:<<! 内容 !
预定义变量
基本语法
$$
当前进程的进程号 PID
$!
后台运行的最后一个进程的进程号PID
$?
最后一次执行的命令的返回状态,如果这个变量的值为0,证明上个命令正确执行,如果为非0 ,则证明上一个命令不正确
运算符
$((运算式)) 或者 <font color="#c41230">$[运算式]</font>
expr m+n
判断语句
常用判断条件
俩个整数的比较
= 字符串比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
按照文件类型进行判断
-f 文件存在并且设计一个常规的文件
-e 文件存在
-d 文件存在并是一个目录
流程控制
if判断
案例
case 语句
应用案例
for循环
$*
<font color="#c41230">$@ 推荐使用</font>
使用方式2
while 循环
read 读取控制台输入
基本语法
read(选项)(参数)
-p : 指定读取时的提示符
-t : 指定读取时等待时间,如果没有在指定时间内输入就不在等待了
变量 : 指定读取的变量名
应用实例
读取控制台输入一个num值
读取控制台输入一个num值,在10s内输入
函数
系统函数
basename基本语法
basename /root/shell/fortest.sh
basename /root/shell/fortest.sh .sh
dirname基本语法
dirname /root/shell/fortest.sh
自定义函数
编写一个自定义函数计算俩个函数的和
#!/bin/bash<br><br>function getsum(){<br> SUM=$[$n+$t]<br>}<br><br>read -p "请输入第一个数" n<br>read -p "请输入第二个数" t<br><br>#调用getsum<br><br>getsum $n $t<br>echo "结果为 $SUM"
综合案例
自定义shell脚本.sh
每日凌晨2点备份数据库
crontab -e
* 2 * * * /usr/sbin/mysql_db_backup.sh
Python 定制篇
无法为立即文档创建临时文件: 设备上没有空间
df -h
cd / && du -h -x --max-depth=1
0 条评论
下一页