Linux 基础上

Shell简介

shell通常被称为“壳”,是为用户提供操作界面的软件(命令解析器)。它类似于dos下的command.com和后来的cmd.exe,接受用户命令并调用相应的应用程序。

常见的Shell有两种类型:图形界面(GUI)和命令行终端(CLI)。

常用的GUI包括:

常用的CLI包括:

  • bash
  • sh
  • csh
  • zsh
  • ksh
  • tcsh

redhat和centos系统使用的默认Shell是Bourne-Again Shell(bash)。Bash是Bourne shell(sh)的改进版本,是类unix系统中最成功的Shell之一。

当Shell以交互方式使用时,它会在等待用户输入命令时显示一个字符串,这就是所谓的Shell提示符。普通用户启动Shell时,默认提示符以$字符结束。

Linux 基础上

linux基础命令的格式通常为:

命令 [选项] [参数]

选项可以有零个或多个,包括:

  • 短选项:以-开头,多个选项可以组合,如-a -b可以写成-ab
  • 长选项:以–开头,通常不能组合

参数是命令的作用对象,可以有零个或多个。

Shell命令分为内部命令和外部命令:

  • 内部命令:Shell内置的命令
  • 外部命令:在文件系统的某个路径下有与命令名称对应的可执行文件

使用type命令可以显示命令的类型,例如:

[root@C20230104840383 ~]# type cd cd 是 shell 内嵌

目录管理命令

常用的目录管理命令包括:

// 目录管理 ls      // 列出目录内容     -l      // 长格式显示     // 长格式显示的第一段含义:         第一个字符:文件类型             -   // 普通文件(f)             d   // 目录文件             b   // 块设备文件(block)             c   // 字符设备文件(character)             l   // 符号链接文件(symbolic link file)             p   // 命令管道(pipe)             s   // 套接字文件(socket)         后面九位字符:文件权限             9位,每3位一组,每一组:rwx(读,写,执行)     // 长格式显示的第二段含义:         文件硬链接的次数     // 长格式显示的第三段含义:         文件的属主(owner)     // 长格式显示的第四段含义:         文件的属组(group)     // 长格式显示的第五段含义:         文件大小(size),单位是字节     // 长格式显示的第六,七,八段含义:         时间戳(timestamp),最近一次被修改的时间             访问      // Access,访问的时间             修改      // modify,文件内容被修改的时间             改变      // change,metadata(元数据)变化的时间     -h     // 做单位转换     -a     // 显示以.开头的隐藏文件         .       // 表示当前目录         ..      // 表示父目录     -d     // 显示目录自身属性     -i     // 显示文件的inode(index node)     -r     // 逆序显示     -R     // 递归(recursive)显示 cd      // 切换目录 pwd     // 查看当前所在目录路径 tree    // 查看目录树     -d          // 只显示目录     -L level    // 指定显示的层级数目     -P 字符串    // 显示指定字符串匹配到的文件

文件管理

常用的文件管理命令包括:

// 文件管理 mkdir   // 创建目录     -p      // 创建目录时若父目录不存在则自动创建     -v      // 显示目录创建过程 rmdir   // 删除目录,只能删除空目录 touch   // 创建一个空文件,touch一个已经创建的文件修改时间戳 stat    // 显示文件或文件系统的状态 rm      // 删除文件,删除命令默认会提示是否需要删除。     -r      // 递归删除,删除目录时必须使用此选项     -f      // 强制删除,不询问 cp      // 复制文件,一个文件到一个文件,多个文件到一个目录,可同时移动多个,最后必须为目的地     -r      // 递归拷贝,拷贝目录时必须使用此选项     -p      // 拷贝时保留原权限     -a      // 相当于-rp mv      // 移动文件,可同时移动多个,最后必须为目的地     // 特殊用法:改名,在当前目录进行 mv 123 321 install // 复制文件并且设置属性     -m MODE // 复制时修改权限     -o OWNER // 复制时修改文件属主     -g GROUP // 复制时修改属组

主机管理

常用的主机管理命令包括:

// 主机名管理 hostname    // 查看或临时修改主机名,重开终端生效,重启失效     hostname uquq   // 临时修改主机名 hostnamectl // 查看或永久修改主机名,重开终端生效,重启依然有效     hostnamectl set-hostname uquq  // 永久修改主机名     或者直接编辑配置文件 vim 后续会继续说到     vim /etc/hostname    // 按i进行编辑光标在前一位进行输入或者按a进行编辑光标会自动往后移一位,一般用a方便插入     按之后最下面会显示 -- INSERT --     可移动光标删除写入主机名,按ESC退出编辑,输入:wq保存退出 // 其它 time        // 显示命令的执行时间,例如time ls /etc clear       // 清屏 whoami      // 显示当前登录用户 who         // 查看当前在线用户 w           // 显示当前在线用户并显示其在运行的命令 which       // 显示指定命令的绝对路径 date        // 显示或设置日期与时间     // 不带参数的date用于显示当前系统日期与时间     // 格式化输出时间:+         %Y      // 年         %m      // 月         %d      // 日         %F      // 年-月-日         %H      // 时         %M      // 分         %S      // 秒     如date "+%Y-%m-%d"     -s      // 以字符串方式设置时间,如 date -s "+%Y-%m-%d" cal     // 打印日历     cal -3 // 打印三个月,上下一个月     cal -y // 打印一年 bc      // Linux中的计算器     -l      // 使用标准数学库     echo 'scale=3;20/2'|bc -l    // scale=3表示保留两位小数 ldd     // 查看指定程序有哪些依赖库文件 程序组成:     二进制程序     库文件     配置文件     帮助文件

获取命令帮助

获取命令帮助的方式包括:

// 内部命令 help COMMAND // 外部命令 COMMAND --help // 在线文档 info COMMAND // 命令手册 manual man COMMAND // 文档 /usr/share/doc whatis COMMAND      // 用于查看COMMAND出现在man的哪一章节中。 // 查询man帮助中此命令的作用 // man是分章节的,以下是每一章节的内容介绍:     1   用户命令(/bin,/usr/bin,/usr/local/bin);     2   系统调用;     3   库调用;     4   特殊文件(设备文件);     5   文件格式(配置文件 的语法);     6   游戏;     7   杂项(Miscellaneous);     8   管理命令(/sbin,/usr/sbin,/usr/local/sbin) // man手册注意事项:     []              // 可选     <>              // 必选     ...             // 可以出现多次     |               // 多选一     {}              // 分组     NAME            // 命令名称及功能简要说明     SYNOPSIS        // 用法说明,包括可用的选项     DESCRIPTION     // 命令功能的详尽说明,可能包括每一个选项的意义     OPTIONS         // 说明每一个选项的意义     FILES           // 此命令相关的配置文件     BUGS            // 报告bug     EXAMPLES        // 使用示例     SEE ALSO        // 另外参照 // man翻屏     SPACE    // 向后翻一屏     b    // 向前翻一屏     enter    // 向后翻一行     k    // 向前翻一行 // 查找     /text    // 向后     ?text           // 向前     n               // 下一个     N               // 前一个     q               // 退出

Bash特性

Bash支持以下特性:

  • 支持命令历史、命令补全
  • 支持管道、重定向
  • 支持命令别名
  • 支持命令行编辑
  • 支持命令行展开
  • 支持文件名通配
  • 支持变量
  • 支持编程

Bash支持的引号包括:

""    // 双引号,弱引用,可以实现变量替换 ''    // 单引号,强引用,不完成变量替换 ``    // 反引号,键盘左上角Esc下面的键,用于命令替换 $()    // 与反引号用法相同,用于命令替换

常用操作

常用的操作命令包括:

// 光标跳转 Ctrl+a    // 跳到命令行首 Ctrl+e    // 跳到命令行尾 Ctrl+u    // 剪切光标至命令行首的内容 Ctrl+k    // 剪切光标至命令行尾的内容 Ctrl+    // 剪切光标所在位置到下一行的内容

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享