终端 shell和bash
shell(壳):一类是处理用户请求的工具或接口 bash:默认的shell软件
终端:与shell交互的程序
ubuntu系统
基础指令
ls (list)
ls :list的缩写 列出当前文件夹中的所有文件(不包括隐藏文件)
ls -a :list -all 列出包括隐藏文件在内的所有文件
ls -l: list -list 用列表输出每个文件的详细属性
这些参数可以叠加使用
claer
claer:清理终端信息
pwd (print working directory)
pwd:打印工作目录
cd (change directory)
cd :change_directory 在之后添加参数(目录名)来改变目录
cd .. :返回上级目录
cd :不加参数默认返回主目录
cd ../.. :通过斜杠来简化操作 例如次行开头示例表示返回到上级目录两次
cd – :返回前一个目录
mkdir(make direcoty)
mkdir :创建目录新建文件夹
mkdir -p dir1/dir2 : -p 表示递归 使用递归的方式创建多级目录
注:不能直接使用 mkdir dir1/dir2·创建多级文件夹 此指令表示在已有的dir目录下创建
rm(remove)
rm :remove 删除文件 注:不能用该指令直接删除一个文件夹可以换用以下方法 rm -r dir:传入参数 -r rmdir :删除目录
cp (copy)
cp :copy 复制
mv (move)
mv :move 移动文件,类似windows的剪切操作
mkdir (make direcory )
mkdir 创建目录
sudo (super do)
sudo : 给终端授予管理与权限,可以写在其他指令之前
常用指令
<br>
#更新软件源
sudo apt update
#下载和安装更新
sudo apt upgrade
#鱼香ros一键安装(感谢大佬)
wget http://fishros.com/install -O fishros && bash fishros
#使用 .deb 格式的安装包
udo apt install <path_to_deb_file>
lunix脚本编写(施工中)
可以写一个脚本来按需求来一次性执行多条指令
创建脚本文件
nano是一个ubuntu预装的的文本编辑程序,我们用它来编辑脚本
nano <自己起的脚本名>.sh
这个指令将打开一个和ubuntu原版风格相似的编辑器
脚本内容
排头
#!/bin/bash
这行代码必须位于脚本的第一行,他的作用是告诉电脑,应该用 bin目录下的bash解释器来运行脚本
之后就能输入你想执行的指令
例如
#!/bin/bash
echo "Hello, World!"
内容
你可以在排头下依次输入你想要执行的指令,还可以用以下代码让你的脚本拥有更强大的功能
read
read -p "提示信息" 变量名
read :这是一个 Bash 内置命令,用于从用户那里读取输入,并将输入的内容存储到指定的变量中。-p :这是 read 命令的一个选项,用于在提示用户输入时显示一条提示信息
if
if [ 条件 ]; then
# 条件为真时执行的代码
elif [ 条件 ]; then
# 条件为真时执行的代码
else
# 所有条件都不为真时执行的代码
fi
同样的在bash脚本中也有 case ,while ,for,until 等语句他们除了格式上的细微差别外和主流编程语言中的相似语句基本没有差异,在此不过多讲解。
在 if 语句中,条件通常是一个测试表达式,可以使用以下测试操作符:
文件操作符号
-d 文件名 :检查文件是否存在且是一个目录。-f 文件名 :检查文件是否存在且是一个普通文件。-e 文件名 :检查文件是否存在(无论是什么类型的文件)。-r 文件名 :检查文件是否存在且可读。-w 文件名 :检查文件是否存在且可写。-x 文件名 :检查文件是否存在且可执行。-s 文件名 :检查文件是否存在且大小大于零-L 文件名 :检查文件是否存在且是一个符号链接。
字符串测试操作符
-z 字符串 :检查字符串是否为空。
-n 字符串 :检查字符串是否非空。
字符串1 = 字符串2 :检查两个字符串是否相等。
字符串1 != 字符串2 :检查两个字符串是否不相等。
字符串 :检查字符串是否非空(等价于 -n 字符串 )。
gnome-terminal
GNOME是ubuntu使用的桌面环境,支持使用terminal终端程序
可以在脚本中输入
gnome-terminal -- bash -c "<指定的指令>; bash"
来创建一个新的终端并执行指定的指令
赋予权限并执行
在编写完脚本后还需要赋予脚本文件权限才能执行
#赋予脚本权限
chmod +x your_script_name.sh
#运行脚本
bash <自己起的脚本名字>.sh