没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux学习笔记:控制台技巧与RPM包管理
Linux学习笔记:控制台技巧与RPM包管理
需积分: 9 2 下载量 49 浏览量
更新于2024-07-17
收藏 492KB PDF 举报
"这是一份关于Linux系统的学习笔记,包含了多个实用且基础的Linux操作技巧和管理知识。首先,章节详细讲解了如何使用`stty`命令来控制终端的回显功能,如`stty -echoctl`用于关闭控制字符的回显,`stty -ctlecho`则用于开启。笔记中提到的`sysctl`命令被用来查看系统参数,例如`kernel.shmmni`、`kernel.msgmni`等进程限制参数,以及`kernel.sem`中的用户可同时打开的进程数。 接着,笔记涉及到了`locate`命令的用法,它是基于数据库快速定位文件的工具,但提到了它与正则表达式的结合。对于软件包管理,部分内容介绍了如何使用`rpm`命令进行包的查询、安装和依赖关系解决,如`rpm-ql`用于查看已安装包的信息,`yum`则是一个更高级的包管理器,如`yum clean all`用于清理缓存,而`yum install`用于安装软件包。 在包的制作方面,作者强调了从源代码`tar.gz`文件到最终创建RPM包的流程,包括使用`rpmbuild`命令和编写`.spec`文件,以及通过`rpm-qi`获取包信息、脚本、卸载和安装命令。此外,还介绍了`rpmdevtools`工具的作用,以及如何使用`vimsayhello.sh`创建并运行简单的脚本,通过`chmod +x`设置执行权限。 最后,笔记展示了如何使用`cat`命令查看文件内容,以及如何在`/usr/bin`目录下新建所需的目录和安装自定义软件包的过程。这份笔记不仅适合初学者巩固Linux基础知识,也对有一定经验的用户提供了实用的操作参考,是Linux系统管理和维护的宝贵参考资料。"
资源详情
资源推荐
File: /root/Desktop/linux笔记2
Page 16 of 121
19;test命令
[root@server001 work]# test -f aa01.txt
[root@server001 work]# echo $?
0
[root@server001 work]# [ -f aa01.txt ]
[root@server001 work]# echo $?
0
文件存在与否和类型的判断
-e 是否存在
-f 是否为文件
-d 是否为目录
-L 是否为链接文件
-p 是否为管道文件
-b block
-c character
-S socket
-s 是否为非空文件
文件权限的判断
-r 是否可读
-w 是否可写
-x 是否可执行
-u 是否有suid,就是前三位是否有s位
-g 是否有sgid
-k 是否有t位
两个文件的比较判断
-nt: file1 -nt file2 比较file1是否比file2新
-ot: file1 -ot file2 比较file1是否比file2旧
-ef: 比较是否为同一个文件,用于判断硬链接,指向的是同一个innode号
整数之间的判断
-eq 相等
-ne 不等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
字符串之间的判断和比较
-z 是否为空字符串
-n 是否为非空字符串
string1 = string2 是否相等
string1 != string2 是否不等
多重条件判断
-a 条件1 -a 条件2 两个条件都满足,才为true
-o 条件1 -o 条件2 两个条件满足其一,就为true
################################################################################################################
/opt/ule-shell/ula-scripts/shell -----------参考文档位置
File: /root/Desktop/linux笔记2
Page 17 of 121
case语句讲解;
*标准用法:*
::
case "$arg" in
arg1 | arg01) # | 或者
cmd
;;
arg2)
cmd
;;
\*)
cmd
;;
esac
**eg:**
::
case $1 in
start | begin)
echo "start"
;;
stop | end)
echo "stop"
;;
\*)
echo "Ignorant"
;;
esac
**eg:** 判断系统
case语句的匹配是从上往下的顺序, 因此我们编写的原则也是从上往下
case语句的模板支持匹配: * ? []
* 匹配以n开头的所有情况: n*
* 匹配yes的所有字母大小不同的情况: [yY][eE][sS]
* 但不支持{}匹配,因为可以使用 | 就可以达到目的。
显示红色的字体:ESC控制法;ctrl+v ctrl+ESC 31-39:颜色范围
echo "^ [[31mOK^[[0m"
echo -e z在脚本里识别
######################################################################################################
for语句:循环
标准用法:
::
for condition
do
command
done
File: /root/Desktop/linux笔记2
Page 18 of 121
for (( i=0 ; i<5 ; i++ )) # 定义一个变量,i<5 循环的退出条件,i++ 代表自加1
do
command;
command;
done
for (( i=30 ; i>0 ; i-- )) # 定义一个变量,i<5 循环的退出条件,i++ 代表自加1
do
command;
command;
done
##############################################################################################################
while语句:循环
实现如果不确定循环的次数,这时候就要用到while
标准用法:
::
while [ condition ] # 只要条件满足就继续循环
do
command
done
until循环
``````````````````````````````````````````````````````````````````````
当满足条件的时候,退出循环, 而while是不满足条件的时候才退出循环.
::
until [ condition ] ; do
command;
command;
...
command;
done
eg:
$ VAR=10
$ until [ "$VAR" -eq 0 ]; do
> echo $VAR;
> VAR=$(($VAR-1));
> done
eg:
rannum=`expr $RANDOM % 101`
small=0
big=100
read -p "Input you guest:" guest
until [ "$rannum" -eq "$guest" ] # $rannum = $guest 的时候就退出循环
do
[ ... ] && command
done
File: /root/Desktop/linux笔记2
Page 19 of 121
################################################################################################################
select语句:与for类似; 选择
``````````````````````````````````````````````````````````````````````
select 多用来快速的设计一个字符界面的用户交互选择的菜单, 也多与case一起使用.
语法和 for 循环非常相似:
::
select Key in List
do
Command;
done
eg:
#!/bin/sh
#
echo "请选择:"
list="Success Fail Exit"
select a in $list;do
if [ "$a" = "Success" ];then
echo Success
elif [ "$a" = "Fail" ];then
echo Fail
elif [ "$a" = "Exit" ];then
exit
else
echo "No the Choose"
fi
done
#######################################################################################################
定义函数;function
函数讲解:(function)
[root@chenjun work]# func > alias >cmd 优先级
[root@chenjun work]# usage() {
> echo 'Usage:xxxxx .....'
> }
[root@chenjun work]# usage
Usage:xxxxx .....
[root@chenjun work]# function usage {
> echo 'Usage:func .....'
> }
[root@chenjun work]# usage
Usage:func .....
[root@chenjun work]# function ls {
> echo 'i am func'
> }
[root@chenjun work]# ls
i am func
[root@chenjun work]# vim 7.sh
[root@chenjun work]# cat 7.sh
File: /root/Desktop/linux笔记2
Page 20 of 121
#!/bin/bash
# func
#
++++++++++++++++++++函数运用
echome () {
echo $1 $2
}
echome $1 $2
[root@chenjun work]# chmod +x 7.sh
[root@chenjun work]# ./7.sh
[root@chenjun work]# ./7.sh 11
11
[root@chenjun work]# ./7.sh 1144
1144
###########################################################################################################
2013.3.28
数组讲解;
[root@server001 shell]# ss=(aa bb cc)
[root@server001 shell]# echo $ss
aa
[root@server001 shell]# ss=(aa,bb,cc)
[root@server001 shell]# echo $ss
aa,bb,cc
[root@server001 shell]# echo ${ss[0]}
aa,bb,cc
[root@server001 shell]# echo ${ss[1]}
[root@server001 shell]# echo ${ss[2]}
2.
查看长度
[root@server001 shell]# a='uplookinguplooking'
[root@server001 shell]# echo $a
uplookinguplooking
[root@server001 shell]# echo ${#aa}
2
[root@server001 shell]# echo ${aa}
aa
[root@server001 shell]# echo ${aa[0]}
aa
[root@server001 shell]# echo ${aa[*]}
aa bb cc
[root@server001 shell]# echo ${#aa[@]}
3
[root@server001 shell]# echo ${#aa[*]}
3
3.
IFS=‘ :’ :单词于单词之间的分割符的设置;
"/etc/rc.d/rc.sysinit"
数组
-----------------------------------------------
数组的定义
连续数组的定义::
剩余120页未读,继续阅读
东东3477
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 贵州煤矿矿井水分类与处理策略:悬浮物、酸性与非酸性
- 醛固酮增多症肾上腺静脉采样对比:ACTH后LR-CAV的最优评估
- 开源云连接传感器监控平台:农业土壤湿度远程监测
- 母婴用品企业年度生产计划线性规划优化模型:实证与应用
- 井下智能变电站:Rogowski线圈电流检测系统的研发与性能验证
- 霍州矿区煤巷稳定性分析及支护策略
- ARM嵌入式系统远程软件更新方案:基于TFTP协议
- 煤炭选煤中汞分布规律与洗选脱汞效果
- 提升码垛机器人性能:拉格朗日动力学模型与滑模模糊控制的应用
- 增强现实技术提升学前手写教学:设计与开发案例
- 不规则工作面沉陷三角剖分算法提升与应用
- 卡尔曼滤波在瞬变电磁干扰压制中的应用研究
- 煤矿安全能力研究:理论与系统构建
- LonWorks总线技术在斜巷运输车辆定位与跑车防护中的应用
- 神东煤炭集团高效煤粉锅炉系统:节能环保新实践
- Ti/SnO2+Sb2Ox/PbO2电极分形维数与电催化性能研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功