Skip to content

Linux 命令分类

  1. 内部命令 :属于 Shell 解释器的一部分
  2. 外部命令 :独立于 Shell 解释器之外的程序
  3. type 命令 :查看命令是外部命令还是内部命令
bash
[root@localhost ~]# type cd
cd shell 内建
[root@localhost ~]# type ll
ll "ls -l --color=auto" 的别名
[root@localhost ~]# type ifconfig
ifconfig /usr/sbin/ifconfig
[root@localhost ~]#

Linux 命令格式

Linux 命令的通用格式:命令 [选项] [参数]

  • 选项:用于调节命令的具体功能
    • ​ “-” 引导短格式选项,例如“ls -a”
    • ​ “--”引导长格式选项,例如“ls --help”
  • 参数:命令的对象,如文件、目录名等

NOTE

注意:多个短格式选项可以合并,例如“ls -alh” 但是多个长格式选项,不能合并。

bash
[root@localhost ~]# ls -alh /etc  ls——命令字;-alh——选项;/etc——参数

Linux 帮助命令

help

help 内部命令帮助,查看 bash 内部命令的帮助

语法格式

bash
help 内部命令字 

# 即命令的“--help”选项,适用于大多数外部命令
命令字 --help

man

man 用来提供在线帮助,使用权限是所有用户。在 Linux 系统中存储着一部联机使用的 手册,以 供用户在终端上查找。使用 man 命令可以调阅其中的帮助信息,非常方便实用

语法格式

bash
man 命令字

man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-Mpath] [-P pager] [-S  section_list [section] name ...

选项

bash
-C config_file:指定设定文件 man.conf,缺省值是/etc/man.conf
# [root@www ~]# man 7 man

代号

  • 1 使用者在 shell 中可以操作的指令或可执行档
  • 2 系統核心可呼叫的函数与工具等
  • 3 一些常用的函数(function)与函数库(library),大部分是 C 的函数库(libc)
  • 4 装置档案的说明,通常在/dev 下的档案
  • 5 设定档或者是某些档案的格式
  • 6 游戏(games)
  • 7 惯例与协定等,例如 Linux 档案系统、网络协定、ASCII code 等等的說明
  • 8 系統管理員可用的管理指令
  • 9 跟 kernel 有关的文件

Linux 快捷键

  • 反斜杠“\”:转义符,转义符的含义是退去符号本身的意思
  • ctrl+U:快速删除光标之前所有字符(可视为剪切)
  • ctrl+K:快速删除光标之后所有字符(可视为剪切)
  • ctrl+Y:黏贴刚才所删除(剪切)的字符
  • ctrl+L:清屏
  • ctrl+C:取消当前命令行编辑;结束当前执行的命令
  • ctrl+D:从 shell 提示中注销关闭,类似输入 exit
  • ctrl+A:把光标移动到行首,类似于 Home 键
  • ctrl+E:把光标移动到行尾,类似于 End 键
  • ctrl+Z:转入后台运行 。(可用fg命令调出后台运行进程如fg ping
  • ctrl+R:在历史命令中查找(history代替)

Linux Tab补全机制

命令补全

  • 用法:输入命令的前几个字母后按 Tab

  • 示例

    bash
    # 输入 `ls` 后按 Tab,可能补全为 `lsb_release`
    ls<Tab>
  • 规则

    • 如果唯一匹配,自动补全。
    • 如果多匹配,按两次 Tab 显示所有候选。
    • 无匹配时无响应(需检查拼写)。

文件和目录补全

  • 用法:在命令参数中输入路径前缀后按 Tab

  • 示例

    bash
    # 补全 `/etc/ho` 为 `/etc/hosts`
    cat /etc/ho<Tab>
  • 规则

    • 补全时自动处理空格和特殊字符转义(如文件名含空格会变为 \ )。
    • 支持相对路径(如 ./fi<Tab>)。

Linux 转义符

转义符效果
\n换行
\t制表符(Tab)
\\输出反斜杠 \
\"输出双引号 "
\e转义字符(用于ANSI控制码,如颜色)
\a响铃(终端发出提示音)
\b退格(删除前一个字符)
\r回车(光标回到行首).

重定向(Redirection)

基本语法

符号作用
>覆盖输出文件(stdout
>>追加输出文件(stdout
2>覆盖输出错误(stderr
2>>追加输出错误(stderr
&>同时重定向 stdoutstderr
<从文件读取输入(stdin
<<内联输入(Here Document)
<<<内联字符串输入(Here String)

示例

bash
# 将命令输出保存到文件(覆盖)
ls > filelist.txt

# 追加输出到文件末尾
echo "New line" >> filelist.txt

# 将错误信息写入文件(如找不到文件时)
ls /nonexistent 2> error.log

# 同时保存输出和错误到同一文件
ls /existing /nonexistent &> output_and_error.log

# 从文件读取输入(如排序文件内容)
sort < unsorted.txt > sorted.txt

# 清空文件(快速清空内容)
> file.txt

# 将文件内容作为命令的输入
sort < unsorted.txt          # 对文件内容排序
grep "keyword" < input.log  # 在文件中搜索关键词

# 统计文件行数(等效于 `wc -l file.txt`)
wc -l < file.txt

# 将多行内容传递给命令(<< 指定结束标记)
cat << EOF
This is line 1.
This is line 2.
EOF  # 输入直到遇到 "EOF" 为止

# 直接传递字符串给命令(<<<)
grep "error" <<< "This is an error message"

输入 vs 输出重定向对比

场景输入重定向输出重定向
数据方向文件 → 命令命令 → 文件
常用符号<, <<, <<<>, >>, 2>, &>
典型用途提供文件内容作为输入保存输出或错误到文件
是否修改原文件否(只读)是(可能覆盖或追加)

注意事项

  • 符号方向:箭头方向表示数据流向(< 是文件流入命令,> 是命令流出到文件)。
  • 文件权限:输入重定向需要文件可读,输出重定向需要目标文件可写。
  • 覆盖风险> 会覆盖文件,用 >> 追加或 set -o noclobber 禁止覆盖。

管道(Pipe)

基本语法

符号作用
``将前一个命令的 stdout 传递给后一个命令的 stdin

示例

bash
# 统计文件行数
cat file.txt | wc -l

# 过滤含有关键词的行
grep "error" /var/log/syslog | less

# 排序并去重
sort duplicates.txt | uniq

# 查找进程并强制结束
ps aux | grep "nginx" | awk '{print $2}' | xargs kill -9

# 实时监控日志新增内容
tail -f /var/log/nginx/access.log | grep "404"