shell常用命令与脚本编写

操作系统基础

操作系统:管理硬件资源、控制程序运行、提供用户交互接口的系统软件

Linux组成:内核(硬件管理、系统调度)、Shell(用户与内核交互、解析命令)、库函数(为应用提供预编译接口,简化开发)

Shell常用命令

基本命令

ls:列出目录下文件/目录

cd:切换工作目录

mkdir:创建新目录

rmdir:删除空目录

touch:创建空文件/修改文件时间戳

rm:删除文件/目录

pwd:显示当前目录绝对路径

cp:复制文件/目录

mv:移动/重命名文件/目录 

文件查看

cat filename:查看文件全部内容

head -n 数字 filename:查看文件前n行

tail -n 数字 filename:查看文件后n行

管道 |

前一命令输出作为后一命令输入,实现多命令联动

查看搜索

grep "字符串" 文件名:在文件中搜索包含指定字符串的内容

重定向 

command > 文件名:覆盖写入命令输出到文件

command >> 文件名:追加命令输出到文件末尾

通配符

*:匹配任意长度任意字符

?:匹配单个任意字符

[]:匹配括号内指定单个字符

文件权限与归属

chmod 0777 filename:设置文件所有用户可读、写、执行

chmod +/-r/w/x filename:添加/移除文件读、写、执行权限

chgrp 用户名 filename:修改文件所属用户组

chown 用户名 filename:修改文件所属用户

压缩解压

tar -jcvf 文件名.tar.bz2 目录:打包并bz2压缩

tar -zcvf 文件名.tar.gz 目录:打包并gz压缩

tar -jxvf 文件名.tar.bz2:解压bz2格式压缩包

tar -zxvf 文件名.tar.gz:解压gz格式压缩包

文件查找

find 目录 -name "文件名":在指定目录递归查找文件

其他常用命令

echo 内容:终端输出指定内容

du -m 文件名:以MB为单位统计文件大小

du -k 文件名:以KB为单位统计文件大小

fdisk -l:查看系统磁盘分区信息

sudo 命令:以管理员权限执行命令

date:查看系统当前日期时间

whoami:查看当前登录用户名

ps -ef:查看系统所有进程详细信息

top:实时查看进程CPU等资源占用

ifconfig:查看网卡配置与网络信息

ping IP/域名:测试网络连通性

软件安装与配置

dpkg(Debian/Ubuntu本地包管理)

sudo dpkg -i 文件名.deb:安装本地deb软件包

sudo dpkg -l 软件名:查看软件是否安装

sudo dpkg -P 软件名:彻底卸载软件及配置文件

apt-get(在线包管理,自动处理依赖)

sudo apt-get autoclean:清理过期软件包缓存

sudo apt-get update:更新软件源索引

sudo apt-get install -f:修复软件依赖问题

sudo apt-get install 软件名:在线安装软件

sudo apt-get remove 软件名 --purge:彻底卸载软件及配置

网络配置

sudo vim /etc/network/interfaces:编辑网络配置文件

配置语句:设置本地回环、网卡DHCP自动获取IP

sudo shutdown -r now:重启系统使配置生效

Shell编程

语言类型

解释型:边翻译边执行,开发高效,适合运维(Shell、Python)

编译型:先编译后执行,运行高效,适合开发(C/C++、Java、C#)

脚本开发流程

vim 文件名.sh:创建/编辑Shell脚本

chmod +x 文件名.sh:添加脚本执行权限

./文件名.sh:运行当前目录下脚本

引号

"字符串":解析变量,变量替换为实际值

'字符串':纯字符串,不解析变量

 命令 :执行命令并返回结果

变量

$PWD:当前目录绝对路径

$HOME:当前用户家目录

$PATH:系统查找可执行文件的路径

$0:脚本文件名

$1/$2:脚本传入第1/2个参数

$#:传入参数总个数

$?:上一条命令执行状态(0成功,非0失败)

$$:当前脚本进程ID

自定义变量:直接赋值,无需声明类型

分支结构

if/elif/else/fi:多条件判断执行不同逻辑

test:辅助判断文件状态、数值大小

case/esac:多值匹配分支判断

循环结构

for:按指定范围/列表循环执行

while:条件满足时循环

until:条件不满足时循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值