一、什么是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

更新中……