Linux学习笔记之Shell

项目2 初试Shell

2.1 Shell概述

1.Shell是介于使用者和操作系统核心程序(Kernel)间的一个接口;是Linux的命令行
2.Shell

  • Bourne Shell(/bin/sh,/bin/bash)
  • C Shell(/bin/csh,/bin/tcsh)
  • Korn Shell

3.Bash:包括早期的Bourne Shell和Korn Shell的所有功能,并且加入了C Shell的某些功能(它是各种Linux操作系统的默认Shell
4.使用Shell方法

  • 图形界面

    • 终端窗口
    • 虚拟终端(打开:Ctrl+Alt+F2或Ctrl+Alt+F6,返回:Ctrl+Alt+F1)
  • 文字界面

5.终端前面的内容-- [root@sjh-com ~]#

  • 当前登录用户名为root
  • 主机名为sjh-com
  • 当前目录为~(为主目录
  • #为提示符(超级用户,如果是 $提示符,则为普通用户

6.切换账户的命令:su
命令格式:su [-] [用户名]
su 等价于 su root
su sjh
扩展部分: - 选项的作用


**彩蛋1**

2.2 文件及目录管理命令

命令列表

  • 拷贝文件:cp

    • 命令格式:cp [-f i r] 源文件 目标文件
    • -f 表示直接覆盖
    • -i 表示征求用户意见(y/n)
      cp /etc/password /tmp
      cp -r /etc/yum /tmp
  • 移动文件:mv

    • 命令格式:mv [-f i] 源文件 目标文件
      mv /tmp/yum /etc
      mv *.c /home/sjh
      mv test.txt test2.txt
  • 删除文件或目录:rm

    • 命令格式:rm [-f -i -r] 文件名或目录名
      rm /tmp/*
      rm -rf /tmp/*
  • 列出文件和目录:ls

    • 命令格式:ls [-l i d a] [文件名或目录名]
      ls
      ls -l
      ls -a /root
      ls -dil /root
  • 创建目录:mkdir

    • 命令格式:mkdir [-p] 目录名
      mkdir ~/tools
      mkdir -p zzti/cs/wl15
  • 删除空目录:rmdir

    • 命令格式:rmdir [-p] 目录名
      rmdir -p zzti/cs/wl15
  • 查看当前工作目录:pwd

  • 切换目录:cd

    • 命令格式:cd [路径名]
      cd等价于cd ~ //进入当前用户的主目录
      cd .. //进入当前目录的上一级目录,即父目录
      cd - //返回刚才的工作目录
      cd / //进入根目录
      cd /root //进入/root
      cd /boot/grub
  • 查看文件和目录:find、locate

    • find是最常见和最强大的查找命令,你可以使用它找到任何你想要的文件
      + 使用格式:find <指定目录> <指定条件> <指定动作>
      -<指定目录>:所要搜索的目录及其所有子目录,默认为当前目录
      -<指定条件>:所要搜索的文件的特征
      -<指定动作>:对搜索结果进行特定的处理
      如果什么参数都不加,find默认搜索当前目录及其子目录,并且不过滤任何结果
      + locate命令其实是“find -name”的另一种写法,但是要比后者快很多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/mlocate/mlocate.db),这个数据库含有本地所有文件信息。Linux自动创建该数据库,并每日自动更新一次,所以使用locate查不到最新变动过的文件。为避免,可以在使用locate前,先使用updatedb命令手动更新数据库
  • 寻找“执行文件”--which [-a] command
    根据PATH这个环境变量所规范的路径去查询“执行文件”的文件名(注意:which后面接的是完整的文件名)

  • 寻找特定文件--whereis [-bmsu] 文件或目录名
    -b:只找二进制格式的文件
    -m:只找在说明文件manual路径下的文件
    -s:只找source源文件
    -u:查找不在上述三个选项中的其他类型文件

  • 查询命令的作用--whatis(相当于man -f)

  • 查看文件类型:file

    • 命令格式:file 文件名
      file /bin/ls
      file /etc/passwd

**彩蛋2**

2.3 Linux的运行级别

1.运行级别(runlevel):操作系统当前正在运行的功能级别,定义在/etc/inittab文件中
2.Linux的7种运行级别

0 halt 关机、代表系统停机状态
1 Single user mode 单用户模式,只支持root账户
2 Multiuser,without NFS 不支持网络文件系统的多用户模式
3 Full Multiuser mode 完全多用户模式
4 unused 系统未使用,用作保留
5 X11 图形界面的多用户模式
6 Reboot 重启

3.不同运行级别可以相互切换,本质上并没有级别功能差异

补:如果丢失了root账户的口令,可以让机器启动进入单用户模式,然后使用passwd命令来重置root的密码

4.运行级别原理

在目录/ect/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service
在/etc/rc.d下有7个名为rcN.d(N的取值为0~6)的目录,对应系统的7个运行级别
rcN.d目录下都是一些符号链接文件,这些文件都指向init.d目录下的service脚本文件,这些链接文件命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字
系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K(Kill)开头的文件,系统将终止对应的服务;对于以S(Start)开头的文件,系统将启动对应的服务

5.运行级别相关操作

  • 查看运行级别:runlevel
  • 进入其他运行级别:init N(N的取值为0 1 2 3 4 5 6

6.CentOS7.3中设置运行级别的命令

  • 查看运行级别:systemctl get-default
  • 修改为运行级别3:systemctl set-default multi-user.target
  • 修改为运行级别5:systemctl set-default graphical.target

2.4 Linux下常用的快捷键

具体见下表

命令 功能
Tab 命令补全
文件名或路径补全
连续按2次Tab键,显示已输入字符开头的所有命令、文件名或路径
Ctrl+D 退出终端
如处于编辑状态,则直接退出编辑状态
从光标处向右删除
Ctrl+C 结束当前执行的命令
取消当前命令行的编辑
Ctrl+L 终端清屏
Ctrl+Z 将正在运行的程序送到后台
Ctrl+R 搜索历史命令
Ctrl+A 移动光标到所在行的行首
Ctrl+E 移动光标到所在行的行尾
Ctrl+U 输入了错误的命令,使用该快捷键会擦除从当前光标位置到行首的全部内容
Ctrl+K 输入了错误的命令,使用该快捷键会擦除从当前光标位置到行尾的全部内容
Ctrl+W 擦除光标位置前的单词;如果光标在一个单词本身上,它将擦除从光标位置到该单词词首的全部字母
Ctrl+Y 粘贴使用Ctrl+W、Ctrl+U和Ctrl+K快捷键擦除的文本

**彩蛋3**

彩蛋--附件

未完,待续 ~

posted @ 2020-03-10 23:45  废材师弟  阅读(186)  评论(0编辑  收藏  举报