Linux 基础命令
一、命令行基础与语法
命令结构
Linux命令遵循特定的语法结构:
命令 [选项] [参数]命令:要执行的操作或程序名称
选项:修改命令行为的标志,通常以
-或--开头参数:命令操作的对象,如文件名、目录名等
示例:
ls -l /home/user # ls是命令,-l是选项,/home/user是参数选项类型
Linux命令支持两种主要类型的选项:
短选项:单字母选项,前面加一个连字符
-长选项:完整的单词选项,前面加两个连字符
--
获取帮助
Linux提供了多种获取命令帮助的方式:
--help 选项:大多数命令都支持此选项,提供简要用法说明
man 命令:查看命令的完整手册页(manual page)
info 命令:某些命令提供更详细的info文档
whatis 命令:显示命令的简短描述
apropos 命令:搜索与关键词相关的命令
二、Shell 特殊符号与元字符
数据流重定向
标准流概念
Linux系统为每个进程提供了三个标准流:
标准输入 (stdin, 文件描述符0):默认来自键盘的输入
标准输出 (stdout, 文件描述符1):默认输出到终端屏幕
标准错误 (stderr, 文件描述符2):默认输出错误信息到终端屏幕
输出重定向
重定向标准输出
重定向标准错误
同时重定向标准输出和标准错误
示例:
输入重定向
示例:
特殊重定向技巧
丢弃输出
示例:
重定向到标准错误
tee命令:同时输出到屏幕和文件
示例:
文件描述符操作
复制文件描述符
示例:
创建自定义文件描述符
重定向与管道的结合使用
重定向和管道可以结合使用,创建强大的命令组合:
示例:
管道(Pipe)
| 将一个命令的标准输出作为另一个命令的标准输入。
示例:
命令连接符(Command Operators)
&&:逻辑与。||:逻辑或。;:顺序执行。
后台执行(Background Execution)
&:将命令放入后台执行,立即释放当前终端。
示例:
进程管理相关移步->
三、文件与目录管理
ls - 列出目录内容
选项:
-l:详细信息(长格式显示)-a:显示所有文件,包括隐藏文件-d:查看目录本身的权限和大小信息-i:显示inode号码-r:反向排序(降序)-t:按修改时间排序-h:人性化显示文件大小(与-l一起使用)
示例:
cd - 切换目录
特殊路径:
cd ~或cd:返回用户家目录cd -:返回上一个工作目录cd ..:返回上级目录
pwd - 显示当前工作目录
mkdir - 创建目录
选项:
-p:创建多级目录(父目录不存在时一并创建)
示例:
rmdir - 删除空目录
cp - 复制文件和目录
选项:
-r:递归复制(用于目录)-i:交互模式(覆盖前提示)-v:显示复制过程
mv - 移动/重命名文件和目录
mv 默认是 mv -i 的别名。
选项:
-i:交互模式(覆盖前提示)-v:显示移动过程
rm - 删除文件和目录
rm 默认是 rm -i 的别名。
选项:
-r:递归删除(用于目录)-f:强制删除(不提示)-i:交互模式(删除前提示)
find - 查找文件
选项:
-type [文件类型]:按分类查找-name [文件名]:按文件名查找-iname [文件名]:忽略大小写按文件名查找-mtime [+/-天数]:modify,按修改时间查找,+[n] n 天前,-[n] n 天内-size [+/-大小]:按文件大小查询-and:选项之间的默认关系,省略-or:或-maxdepth:最大深度
示例:
find 命令的后续处理
方法 1 - xargs 参数传递:
常规单参数命令通过 xargs 直接传递(xargs 后的别名命令将失效)
find 命令结果交给 mv、cp 处理:
方法 2 - exec 执行命令:
方法 3 - 反引号或$()
stat - 文件状态信息{#stat}
三、文件内容查看与操作
cat - 查看文件内容
选项:
-n:显示行号-A:显示所有字符(包括特殊字符)
less - 分页查看文件内容
选项:
-N:显示行号
常用快捷键:
空格/f:下一页
b:上一页
/:搜索内容
n:下一个匹配项
N:上一个匹配项
g:跳到文件开头
G:跳到文件末尾
q:退出
head - 显示文件开头部分
选项:
-n 数字:显示前n行(可简写为-数字)
tail - 显示文件末尾部分
选项:
-n 数字:显示后n行(可简写为-数字)-f:实时追踪文件变化(常用于查看日志)-F:类似于-f,但会在文件被移动或重命名后继续追踪
diff - 比较文件差异
4.6 tr - 替换单个字符
四、文本处理
grep - 文本过滤{#grep}
选项:
-r:递归搜索目录中的文件(常用)-v:反向选择(常用,显示不匹配的行)-i:忽略大小写-n:显示行号-w:全字匹配-c:统计单词出现的个数-o:只显示匹配的具体内容-E:使用扩展正则,或者使用egrep命令-A:显示过滤到内容的后n行(包含过滤行)-B:显示过滤到内容的前n行-C:显示过滤到内容的前后各n行
wc - 统计文本
选项:
-l:统计行数-w:统计单词数-c:统计字节数-L:显示最长行的长度
sort - 排序文本
选项:
-r:反向排序(降序)-n:按数值排序-k:指定排序的列-u:去重(只输出唯一的行)
uniq - 去除重复行
选项:
-c:统计每行重复次数-d:只显示重复的行-u:只显示不重复的行
注意:uniq只能去除相邻的重复行,通常与sort配合使用
示例:
xargs - 参数传递
选项:
-n 数字:每次传递指定数量的参数-I {}:指定替换字符串
示例:
tac - 按行倒序
示例:
sed - 流编辑器{#sed}
选项:
-n:取消默认输出-i:直接对源文件操作,不输出到标准输出-r:扩展正则支持
模式(找谁):
n:指定数字,表示过滤指定第 n 行
n,m:区间过滤,过滤第 n 行至第 m 行
$:末尾行/Regex/:模糊过滤,找到指定内容的行/Regex1/,/Regex2/:区间过滤,过滤表达式1至表达式2之间的内容
动作:
p:print,打印,一般结合-n使用d:delete,删除i:在某一行的上一行插入新内容a:在某一行的下一行插入新内容c:替换某一行内容w:找到的行保存到文件s#Regex1#Regex2#g:全局替换,分隔符还可以用/
示例:
awk - 编程{#awk}
选项:
-F:指定分隔符
内置变量:
NR:存放着文件中每行的行号NF:最后一列的列号FILENAME:当前文件名FS:字段分隔符,默认是空格和制表符RS:行分隔符,用于分割每一行,默认是换行符OFS:输出字段的分隔符,用于打印时分割字段,默认为空格OFMT:数字输出的格式,默认为%.6gBEGIN{}:读取文件之前执行的动作END{}:读取文件之前执行的动作
示例:
五、系统信息与监控
df - 磁盘空间查看
选项:
-h:人性化显示大小(KB, MB, GB)-i:显示inode使用情况
du - 文件/目录大小查看
选项:
-h:人性化显示大小-s:只显示总大小(不显示子目录)--max-depth=N:指定显示深度
示例:
free - 内存使用情况
选项:
-h:人性化显示大小-s 秒数:持续监控(指定间隔秒数)
uptime - 系统运行时间{#uptime}
w - 在线用户信息
whoami - 当前用户名
lscpu - CPU信息
type - 命令类型检查
last - 登录日志(按次)
lastlog - 登录日志(按用户)
七、其他实用命令
which - 命令路径查找
dd - 数据转换与拷贝
选项:
bs=大小:设置块大小count=数量:设置拷贝块数
示例:
八、命令组合与管道
示例:
最后更新于