一、什么是Shell?
C语言开发的程序,Shell是用户和系统之间的桥梁。
Linux的黑窗体叫做【字符终端】,操作系统通过shell这个软件,把字符终端输入的指令,翻译给Linux内核。Shell并把内核执行、运行的结果,显到字符终端,反馈给用户。
同时,Shell也是一种程序设计的语言。
二、Shell的使用场景
用户和系统交互:修改系统变量,执行系统脚本,修改服务器IP地址,执行自动化运维任务等。
三、为什么使用Shell
- 用户和系统之间的桥梁
- 命令解释器
- 语法简单,运行高效,
- 批量管理服务器时,可以自动化运维
四、如何使用Shell
1、交互式:输入命令,系统返回命令执行结果
可以分为命令行模式 CLI Shell 与图形交互界面 GUI Shell【嵌入式开发】两种。
2、非交互式:Shell脚本 .sh
3、命令行模式
- 命令行模式的登录:username password
- 命令行模式的退出:exit logout ctrl+d
4、快捷件
- ctrl + a 光标移动到行首
- ctrl + e 光标移动到行尾
- ctrl + f 光标向右移动一个字符
- ctrl + b 光标向左移动一个字符
- ctrl + c 中断正在执行的命令
- ctrl + l 清屏 相当于clear
- ctrl + d 退出终端
- ctrl + insert 复制
- shift + insert 粘贴
5.帮助文档 man
man + 命令
q 退出
五、文件和目录操作
0、特殊目录
/ 根目录
~ 主目录 家目录 HOME目录
. 当前目录
.. 当前目录上级目录
1、cd命令:改变当前工作目录
解析:
- [root@localhost ~] #
- [root@localhost ~] $
- root 当前用户
- @localhost 工作在哪个主机上,localhost表示就是主机名
- ~ 当前工作目录名称
- / Unix或Linux 根目录
- # 表示管理员用户
- $ 表示普通用户
cd / # 根目录
cd ~ # 家目录,默认进入到当前用户的家目录
cd . # 当前目录
cd .. # 上级目录
cd - # 切换到上一次的目录
2、ls命令:显示当前目录下的内容
ls # 显示当前目录的可见内容
ls -l # 详细信息显示目录可见内容
ls -a # 显示当前目录的所有内容 可见 + 不可见
# 隐藏文件以点开通 .bashrc .cshrc
ls -al # 详细信息显示当前目录的所有内容
3、pwd命令:显示当前用户所在目录 配合使用cd ls
4、mkdir命令:新建目录
mkdir 新建目录名称 # 创建目录一个,或多个
mkdir Day01
mkdir Day01 Day02 Day03 Day04 Day05
mkdir -p # 创建多层目录
mkdir -p Day01/Homework
5、rmdir命令:删除一个空目录
rmdir Homework # 删除空目录
6、copy命令:复制/拷贝一个目录或文件
cp -r # 复制、拷贝一个目录或文件
cp -r day05 day06 # 拷贝day05 为day06
7、rm命令:删除一个文件或目录 【慎用】
rm -r # 目录及目录一下内容,递归删除
rm -f # 强制删除,无需确认 慎用
rm -rf Day06 # 删除非空目录 不建议
rm -i # info 信息确认
8、mv命令:移动一个文件或目录
mv day06 day06_AM # 同级目录下,则为重名名
mv day06 ../ # 移动文件到上级目录
六、基础运维命令
关机:
- shutdown -h
- poweroff 关机 / 关闭电源 / 断电
- halt 关机 / Cpu停止工作
- halt -p 关机 / 关闭电源
重启:
- shutdown -r restart
- reboot
七、文件管理命令
1、touch 创建一个或多个文件或隐藏文件
touch hello.sh
touch a.txt b.txt c.txt d.java
touch .hide.txt
2、ls区分目录和文件
[root@localhost SEC]# ls -al
total 0
drwxr-xr-x. 5 root root 72 Sep 2 12:52 .
dr-xr-x---. 3 root root 175 Sep 2 12:48 ..
-rw-r--r--. 1 root root 0 Sep 2 12:52 a.txt
-rw-r--r--. 1 root root 0 Sep 2 12:52 b.java
drwxr-xr-x. 2 root root 6 Sep 2 12:44 day01
drwxr-xr-x. 2 root root 6 Sep 2 12:44 day02
drwxr-xr-x. 2 root root 6 Sep 2 12:44 day03
d 开头的是文件夹
- 开头的是文件
3、echo命令 输出重定向
- > 输出重定向覆盖方式写入
- >> 输出重定向追加方式写入
- 2>> 错误信息追加
- &>> 正确和错误信息均写入同一个文件
echo "Hello">1.txt
cat 1.txt
4、cat高级用法
touch a.txt