Linux基本命令使用技巧:新手必备的60个实用命令详解
Orion K Lv6

Linux基本命令使用技巧:新手必备的60个实用命令详解

前言

Linux作为服务器和开发环境的主流操作系统,掌握基本命令是每个技术人员的必备技能。本文整理了60个最常用的Linux命令,涵盖文件操作、系统管理、进程控制、网络工具等各个方面,帮助新手快速上手Linux系统操作。

一、文件和目录操作命令

1. ls - 列出目录内容

1
2
3
4
5
6
7
# 基本用法
ls # 列出当前目录文件
ls -l # 详细信息列表
ls -la # 包含隐藏文件的详细列表
ls -lh # 人性化显示文件大小
ls -lt # 按修改时间排序
ls -lS # 按文件大小排序

2. cd - 切换目录

1
2
3
4
5
cd /path/to/directory  # 切换到指定目录
cd ~ # 切换到用户主目录
cd - # 切换到上次访问的目录
cd .. # 切换到上级目录
cd ../.. # 切换到上两级目录

3. pwd - 显示当前目录

1
pwd                    # 显示当前工作目录的完整路径

4. mkdir - 创建目录

1
2
3
mkdir dirname          # 创建单个目录
mkdir -p dir1/dir2/dir3 # 递归创建多级目录
mkdir dir1 dir2 dir3 # 同时创建多个目录

5. rmdir - 删除空目录

1
2
rmdir dirname          # 删除空目录
rmdir -p dir1/dir2 # 递归删除空目录

6. rm - 删除文件和目录

1
2
3
4
5
rm filename            # 删除文件
rm -f filename # 强制删除文件(不询问)
rm -r dirname # 递归删除目录
rm -rf dirname # 强制递归删除目录
rm -i filename # 交互式删除(询问确认)

7. cp - 复制文件和目录

1
2
3
4
cp source dest         # 复制文件
cp -r source_dir dest_dir # 递归复制目录
cp -p source dest # 保持文件属性复制
cp -u source dest # 只复制更新的文件

8. mv - 移动/重命名文件

1
2
3
mv oldname newname     # 重命名文件
mv file /path/to/dest # 移动文件到指定目录
mv dir1 dir2 # 重命名目录

二、文件内容查看和编辑

9. cat - 显示文件内容

1
2
3
cat filename           # 显示文件全部内容
cat -n filename # 显示内容并加行号
cat file1 file2 # 连接显示多个文件

10. less/more - 分页查看文件

1
2
3
4
5
6
7
less filename          # 分页查看文件(推荐)
more filename # 分页查看文件
# less中的快捷键:
# 空格键:下一页
# b:上一页
# q:退出
# /pattern:搜索

11. head - 查看文件开头

1
2
3
head filename          # 显示前10行
head -n 20 filename # 显示前20行
head -c 100 filename # 显示前100个字符

12. tail - 查看文件结尾

1
2
3
4
tail filename          # 显示后10行
tail -n 20 filename # 显示后20行
tail -f filename # 实时监控文件变化
tail -F filename # 实时监控,文件被删除重建后继续监控

13. grep - 文本搜索

1
2
3
4
5
6
grep "pattern" filename    # 搜索包含模式的行
grep -i "pattern" filename # 忽略大小写搜索
grep -r "pattern" dir # 递归搜索目录
grep -n "pattern" filename # 显示行号
grep -v "pattern" filename # 显示不匹配的行
grep -c "pattern" filename # 统计匹配行数

14. find - 查找文件

1
2
3
4
5
6
find /path -name "filename"     # 按名称查找
find /path -type f # 查找文件
find /path -type d # 查找目录
find /path -size +100M # 查找大于100M的文件
find /path -mtime -7 # 查找7天内修改的文件
find /path -name "*.txt" -exec rm {} \; # 查找并删除

三、文件权限和属性

15. chmod - 修改文件权限

1
2
3
4
5
6
chmod 755 filename     # 设置权限为rwxr-xr-x
chmod +x filename # 添加执行权限
chmod -w filename # 移除写权限
chmod u+x filename # 给用户添加执行权限
chmod g-w filename # 移除组写权限
chmod o=r filename # 设置其他用户只读权限

16. chown - 修改文件所有者

1
2
3
chown user filename         # 修改文件所有者
chown user:group filename # 修改所有者和组
chown -R user:group dir # 递归修改目录

17. chgrp - 修改文件组

1
2
chgrp group filename        # 修改文件所属组
chgrp -R group dirname # 递归修改目录组

四、进程管理

18. ps - 查看进程

1
2
3
4
5
ps                     # 显示当前终端进程
ps aux # 显示所有进程详细信息
ps -ef # 显示所有进程
ps -u username # 显示指定用户进程
ps -C processname # 显示指定进程名的进程

19. top - 实时查看进程

1
2
3
4
5
6
top                    # 实时显示进程信息
# top中的快捷键:
# q:退出
# k:杀死进程
# M:按内存使用排序
# P:按CPU使用排序

20. htop - 增强版进程查看器

1
2
htop                   # 彩色交互式进程查看器
# 需要安装:sudo apt install htop

21. kill - 终止进程

1
2
3
4
kill PID               # 终止指定PID的进程
kill -9 PID # 强制终止进程
kill -15 PID # 优雅终止进程(默认)
killall processname # 终止所有同名进程

22. jobs - 查看后台任务

1
2
3
4
jobs                   # 显示当前后台任务
jobs -l # 显示任务PID
fg %1 # 将后台任务1调到前台
bg %1 # 将暂停的任务1放到后台运行

23. nohup - 后台运行命令

1
2
nohup command &        # 后台运行命令,忽略挂起信号
nohup python script.py > output.log 2>&1 & # 后台运行并重定向输出

五、系统信息查看

24. uname - 系统信息

1
2
3
uname -a               # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示机器架构

25. whoami - 当前用户

1
whoami                 # 显示当前用户名

26. who - 登录用户

1
2
who                    # 显示当前登录用户
w # 显示用户及其活动

27. uptime - 系统运行时间

1
uptime                 # 显示系统运行时间和负载

28. free - 内存使用情况

1
2
3
free                   # 显示内存使用情况
free -h # 人性化显示内存信息
free -m # 以MB为单位显示

29. df - 磁盘使用情况

1
2
3
df                     # 显示磁盘使用情况
df -h # 人性化显示磁盘使用
df -T # 显示文件系统类型

30. du - 目录大小

1
2
3
4
du dirname             # 显示目录大小
du -h dirname # 人性化显示目录大小
du -s dirname # 只显示总大小
du -sh * # 显示当前目录下所有文件/目录大小

六、网络相关命令

31. ping - 测试网络连通性

1
2
3
ping hostname          # 测试与主机的连通性
ping -c 4 hostname # 发送4个包后停止
ping -i 2 hostname # 每2秒发送一个包

32. wget - 下载文件

1
2
3
4
wget URL               # 下载文件
wget -O filename URL # 下载并指定文件名
wget -c URL # 断点续传
wget -r URL # 递归下载

33. curl - 数据传输工具

1
2
3
4
curl URL               # 获取网页内容
curl -O URL # 下载文件
curl -L URL # 跟随重定向
curl -H "Header: value" URL # 添加HTTP头

34. netstat - 网络连接状态

1
2
3
4
5
netstat -a             # 显示所有连接
netstat -l # 显示监听端口
netstat -t # 显示TCP连接
netstat -u # 显示UDP连接
netstat -p # 显示进程信息

35. ss - 现代网络统计工具

1
2
3
4
5
ss -a                  # 显示所有连接
ss -l # 显示监听端口
ss -t # 显示TCP连接
ss -u # 显示UDP连接
ss -p # 显示进程信息

七、压缩和解压

36. tar - 打包和解包

1
2
3
4
5
tar -czf archive.tar.gz files  # 创建gzip压缩包
tar -xzf archive.tar.gz # 解压gzip压缩包
tar -cjf archive.tar.bz2 files # 创建bzip2压缩包
tar -xjf archive.tar.bz2 # 解压bzip2压缩包
tar -tf archive.tar.gz # 查看压缩包内容

37. zip/unzip - ZIP压缩

1
2
3
4
zip archive.zip files          # 创建ZIP压缩包
zip -r archive.zip directory # 递归压缩目录
unzip archive.zip # 解压ZIP文件
unzip -l archive.zip # 查看ZIP内容

38. gzip/gunzip - GZIP压缩

1
2
3
gzip filename          # 压缩文件
gunzip filename.gz # 解压文件
gzip -d filename.gz # 解压文件

八、文本处理工具

39. sort - 排序

1
2
3
4
sort filename          # 按字母顺序排序
sort -n filename # 按数字排序
sort -r filename # 逆序排序
sort -u filename # 排序并去重

40. uniq - 去重

1
2
3
uniq filename          # 去除相邻重复行
uniq -c filename # 统计重复次数
uniq -d filename # 只显示重复行

41. wc - 统计

1
2
3
4
wc filename            # 统计行数、单词数、字符数
wc -l filename # 只统计行数
wc -w filename # 只统计单词数
wc -c filename # 只统计字符数

42. cut - 提取列

1
2
cut -d':' -f1 /etc/passwd      # 提取第一列(以:分隔)
cut -c1-10 filename # 提取每行前10个字符

43. awk - 文本处理

1
2
3
4
awk '{print $1}' filename      # 打印第一列
awk -F':' '{print $1}' /etc/passwd # 指定分隔符
awk 'NR==1' filename # 打印第一行
awk 'length($0) > 80' filename # 打印长度超过80的行

44. sed - 流编辑器

1
2
3
4
sed 's/old/new/' filename      # 替换每行第一个匹配
sed 's/old/new/g' filename # 替换所有匹配
sed -n '1,5p' filename # 打印1-5行
sed '1d' filename # 删除第一行

九、系统管理命令

45. sudo - 以管理员权限执行

1
2
3
sudo command           # 以root权限执行命令
sudo -u user command # 以指定用户权限执行
sudo -l # 查看当前用户sudo权限

46. su - 切换用户

1
2
3
su                     # 切换到root用户
su username # 切换到指定用户
su - username # 切换用户并加载环境

47. passwd - 修改密码

1
2
passwd                 # 修改当前用户密码
sudo passwd username # 修改指定用户密码

48. useradd - 添加用户

1
2
3
sudo useradd username          # 添加用户
sudo useradd -m username # 添加用户并创建主目录
sudo useradd -s /bin/bash username # 指定shell

49. usermod - 修改用户

1
2
sudo usermod -aG group username    # 将用户添加到组
sudo usermod -s /bin/zsh username # 修改用户shell

50. userdel - 删除用户

1
2
sudo userdel username          # 删除用户
sudo userdel -r username # 删除用户及主目录

十、其他实用命令

51. history - 命令历史

1
2
3
4
history                # 显示命令历史
history | grep command # 搜索历史命令
!n # 执行历史中第n条命令
!! # 执行上一条命令

52. alias - 命令别名

1
2
3
alias                  # 显示所有别名
alias ll='ls -l' # 创建别名
unalias ll # 删除别名

53. which - 查找命令位置

1
which command          # 显示命令的完整路径

54. whereis - 查找文件位置

1
whereis command        # 查找命令、源码、手册位置

55. locate - 快速查找文件

1
2
locate filename        # 快速查找文件
sudo updatedb # 更新locate数据库

56. date - 日期时间

1
2
3
date                   # 显示当前日期时间
date +"%Y-%m-%d %H:%M:%S" # 格式化显示
date -s "2023-01-01 12:00:00" # 设置时间

57. cal - 日历

1
2
3
cal                    # 显示当月日历
cal 2023 # 显示2023年日历
cal 12 2023 # 显示2023年12月日历

58. echo - 输出文本

1
2
3
4
echo "Hello World"     # 输出文本
echo $PATH # 输出环境变量
echo "text" > file # 重定向到文件
echo "text" >> file # 追加到文件

59. env - 环境变量

1
2
env                    # 显示所有环境变量
env | grep PATH # 查找特定环境变量

60. crontab - 定时任务

1
2
3
4
5
crontab -l             # 查看当前用户的定时任务
crontab -e # 编辑定时任务
crontab -r # 删除所有定时任务
# 格式:分 时 日 月 周 命令
# 例如:0 2 * * * /path/to/script.sh

实用技巧和最佳实践

1. 命令组合使用

1
2
3
4
5
6
7
8
9
# 管道操作
ps aux | grep process_name # 查找特定进程
ls -la | grep "^d" # 只显示目录
cat file | sort | uniq # 排序并去重

# 命令连接
command1 && command2 # command1成功后执行command2
command1 || command2 # command1失败后执行command2
command1 ; command2 # 顺序执行两个命令

2. 输入输出重定向

1
2
3
4
5
command > file                 # 重定向输出到文件
command >> file # 追加输出到文件
command < file # 从文件读取输入
command 2> error.log # 重定向错误输出
command > output.log 2>&1 # 重定向所有输出

3. 通配符使用

1
2
3
4
*.txt                          # 匹配所有.txt文件
file?.txt # 匹配file1.txt, fileA.txt等
file[1-3].txt # 匹配file1.txt到file3.txt
{file1,file2}.txt # 匹配file1.txt和file2.txt

4. 快捷键

1
2
3
4
5
6
Ctrl+C                         # 终止当前命令
Ctrl+Z # 暂停当前命令
Ctrl+D # 退出当前shell
Ctrl+L # 清屏
Ctrl+R # 搜索历史命令
Tab # 自动补全

总结

掌握这60个Linux基本命令,可以帮助你高效地进行日常系统管理和开发工作。建议按照以下步骤学习:

  1. 先掌握基础:文件操作、目录导航等基本命令
  2. 逐步深入:进程管理、系统监控等中级命令
  3. 实践应用:在实际工作中多使用,形成肌肉记忆
  4. 组合使用:学会用管道、重定向等组合命令
  5. 持续学习:Linux命令丰富,要保持学习新命令的习惯

记住,熟练使用Linux命令的关键在于多练习、多实践。建议在安全的测试环境中尝试这些命令,避免在生产环境中进行危险操作。


本文总结了Linux系统中最常用的60个命令,涵盖了日常工作中的大部分场景。如果你是Linux新手,建议收藏本文并在实践中逐步掌握这些命令。

本站由 提供部署服务