Linux命令简单学习

linux常用命令

命令 功能说明 应用场景 示例
ls 列出指定目录中的文件和目录。 查看目录内容 ls -lh 显示当前目录内容,并以人类可读格式显示文件大小。
cd 更改当前工作目录。 文件系统导航 cd /home/user 切换到 /home/user 目录。
pwd 显示当前工作目录的完整路径。 确认当前位置 pwd 输出当前目录路径。
mkdir 创建一个新目录。 创建新文件夹 mkdir new_folder 创建名为 new_folder 的目录。
rmdir 删除空目录。 删除不再需要的空目录 rmdir old_folder 删除 old_folder 目录。
touch 创建新文件或更新文件时间戳。 快速创建空文件 touch new_file.txt 创建空文件 new_file.txt
rm 删除文件或目录。 移除不需要的文件或目录 rm file.txt 删除 file.txt 文件。
cp 复制文件或目录。 复制文件或目录到新位置 cp source.txt destination.txt 复制文件。
mv 移动或重命名文件或目录。 整理文件或更改文件名 mv old_name.txt new_name.txt 重命名文件。
grep 搜索符合条件的文本行。 查找包含特定文本的文件 grep "search_term" file.txt 在文件中搜索文本。
find 在目录树中搜索文件。 查找符合条件的文件 find /home -name "*.txt" 查找 .txt 文件。
cat 查看文件内容或连接多个文件内容。 查看或合并文件内容 cat file1.txt file2.txt 查看两个文件内容。
echo 在标准输出显示一行文本或变量。 显示消息或变量值 echo "Hello World" 显示 “Hello World”。
tail 显示文件的最后几行。 查看日志或文件的最新内容 tail -f /var/log/syslog 实时查看系统日志。
head 显示文件的前几行。 快速查看文件开头部分 head -n 5 file.txt 显示文件前 5 行。
sort 对文件内容按顺序排序。 对文件进行排序或合并 sort file.txt 排序文件内容。
uniq 从输入中删除重复的连续行。 删除或统计重复行 `sort file.txt
cut 按列提取文件内容。 提取指定列内容 cut -d':' -f 1 /etc/passwd 提取第一列内容。
awk 强大的文本处理工具,适合复杂文本处理。 复杂文本分析与报告 awk '{print $2, $1}' file.txt 交换每行字段。
sed 执行文本替换、插入、删除等操作。 替换文件内容 sed 's/old/new/g' file.txt 全部替换指定文本。
chmod 更改文件或目录的访问权限。 设置文件读、写、执行权限 chmod 755 script.sh 设置文件权限。
chown 更改文件或目录的所有者和组。 管理文件所有权 chown user:group file.txt 设置文件所有者。
df 显示文件系统的磁盘空间使用情况。 监控磁盘空间 df -h 显示人类可读的磁盘空间。
du 显示文件或目录占用的磁盘空间。 查找占用大量磁盘空间的文件 du -sh /path/to/dir 显示目录占用空间。
ps 显示当前系统的活动进程。 监控和管理进程 ps aux 显示系统所有进程。
top 实时显示进程及系统资源的使用情况。 实时监控系统和进程状态 直接运行 top 查看动态资源使用情况。
kill 终止进程。 终止挂起的或无响应的进程 kill -9 1234 强制终止指定进程。
tar 打包和解压文件。 文件备份和压缩 tar -czvf archive.tar.gz /path/to/dir 打包压缩目录。
crontab 安排定时任务。 自动执行周期性任务 crontab -e 编辑定时任务。
wget 从网络下载文件。 命令行下载网页、文件等 wget http://example.com/file.zip 下载指定文件。
curl 与服务器交换数据。 API 测试、上传、下载 curl http://example.com 显示URL内容。
ssh 安全地远程登录另一台计算机。 远程管理服务器 ssh user@example.com 连接到服务器。
scp 通过 SSH 安全地传输文件。 在不同计算机间安全地复制文件 scp file.txt user@example.com:/path 传输文件。
iptables 配置 Linux 防火墙。 设置网络访问控制规则 iptables -L 列出防火墙规则。
man 显示命令手册页(帮助文档)。 学习特定命令的用法 man ls 显示 ls 命令的手册页。
history 显示用户命令历史。 回顾或重用之前的命令 history 显示命令历史列表。
ping 检查网络连接。 诊断网络连接问题 ping google.com 测试与目标网络的连接。
traceroute 显示数据包到达主机所经过的路由。 网络路径分析 traceroute google.com 跟踪到目标的网络路径。
hostname 显示或设置系统的主机名。 系统主机名管理 hostname 显示当前系统主机名。
useradd 添加系统用户。 用户账户管理 useradd newuser 添加新用户。
groupadd 添加系统用户组。 用户组管理 groupadd newgroup 添加新组。
passwd 更新用户密码。 修改用户账户密码 passwd username 修改指定用户的密码。

以上是部分常用Shell命令的示例说明,可以在命令行使用man查看详细的手册信息。

shell脚本

命令/结构 用法
#!/bin/bash 指定脚本使用的解释器,通常放在脚本的第一行。
read 从用户获取输入,例如 read name
variable=value 定义变量,例如 name="Alice"
$variable 引用变量值,例如 echo $name
$(command) 命令替换,例如 files=$(ls),将 ls 命令结果存入变量。
expr 计算表达式,例如 expr 5 + 3
let 进行整数运算,例如 let "a = 5 + 3"
test / [ ] 进行条件测试,例如 [ $a -lt $b ]
ifthenfi 条件判断语句,例如 if [ $a -gt $b ]; then echo "a is greater"; fi
else 否则条件,例如 if [ $a -gt $b ]; then echo "a"; else echo "b"; fi
elif 多条件判断,例如 if [ $a -gt $b ]; then ... elif [ $a -lt $b ]; then ... fi
forindodone 循环结构,例如 for i in {1..5}; do echo $i; done
whiledodone while 循环,例如 while [ $a -lt 10 ]; do echo $a; let "a++"; done
caseinesac 条件分支,例如 case $variable in pattern1) ... ;; pattern2) ... ;; esac
function 定义函数,例如 function my_func { echo "Hello"; }
$? 获取上一个命令的退出状态。0 表示成功,非 0 表示失败。
exit 退出脚本并返回状态码,例如 exit 1
&& / || 逻辑操作符。例如,command1 && command2 表示 command1 成功时才执行 command2
> / >> 输出重定向。例如 echo "Hello" > file 覆盖写入,echo "Hello" >> file 追加写入。
< / << 输入重定向。例如 command < file 从文件读取输入,command << EOF ... EOF 用作多行输入。
"' 引号。双引号允许变量替换,单引号原样输出内容。
$(<filename) 读取文件内容到变量,例如 content=$(<file)
trap 捕获信号,例如 trap "echo 'Signal received'" SIGINT
shift 移动命令行参数位置,例如 shift 2 会使 $3 成为 $1
$@ / $* 获取所有参数。$@ 把每个参数视作单独的字符串,$* 把所有参数当成一个字符串。
"$#" 获取参数数量,例如 echo "Number of parameters: $#"。
basename 获取文件名,不包括路径,例如 basename /path/to/file
dirname 获取文件路径,不包括文件名,例如 dirname /path/to/file

Linux命令简单学习
https://blog.phlin.top/2024/10/29/Linux-command-study/
作者
phlin
发布于
2024年10月29日
许可协议