活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Manjaro KDE系统命令行使用指南 从基础命令到高级技巧的全面学习路径

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-28 20:20:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Manjaro Linux是一款基于Arch Linux的发行版,以其用户友好性和滚动更新模式而闻名。KDE Plasma作为其桌面环境,提供了美观且功能丰富的图形界面。然而,掌握命令行操作是提高Linux使用效率的关键。本指南将带你从基础命令逐步过渡到高级技巧,帮助你在Manjaro KDE系统中充分利用命令行的强大功能。

基础命令

文件和目录操作

在Linux系统中,理解文件系统结构是使用命令行的第一步。Manjaro遵循Linux文件系统层次标准(FHS),以下是一些基本导航命令:
  1. # 显示当前工作目录
  2. pwd
  3. # 列出当前目录内容(基本形式)
  4. ls
  5. # 列出所有文件,包括隐藏文件
  6. ls -a
  7. # 使用长格式列出文件,显示权限、所有者、大小等信息
  8. ls -l
  9. # 列出文件并按修改时间排序
  10. ls -lt
  11. # 切换到主目录
  12. cd ~
  13. # 切换到上一级目录
  14. cd ..
  15. # 切换到之前的工作目录
  16. cd -
复制代码

文件和目录的基本操作包括创建、复制、移动和删除:
  1. # 创建新文件
  2. touch filename.txt
  3. # 创建目录
  4. mkdir directory_name
  5. # 创建多级目录
  6. mkdir -p parent_directory/child_directory
  7. # 复制文件
  8. cp source_file destination_file
  9. # 复制目录及其内容
  10. cp -r source_directory destination_directory
  11. # 移动/重命名文件或目录
  12. mv old_name new_name
  13. # 删除文件
  14. rm filename.txt
  15. # 删除目录及其内容(谨慎使用)
  16. rm -r directory_name
  17. # 强制删除而不提示
  18. rm -f filename.txt
  19. # 强制删除目录及其内容(非常谨慎使用)
  20. rm -rf directory_name
复制代码

查看和编辑文件是日常操作的重要部分:
  1. # 查看文件内容
  2. cat filename.txt
  3. # 分页查看文件内容
  4. less filename.txt
  5. # 查看文件开头部分
  6. head filename.txt
  7. # 查看文件开头10行
  8. head -n 10 filename.txt
  9. # 查看文件结尾部分
  10. tail filename.txt
  11. # 查看文件结尾10行
  12. tail -n 10 filename.txt
  13. # 实时查看文件更新(常用于日志)
  14. tail -f filename.txt
  15. # 使用nano编辑器打开文件
  16. nano filename.txt
  17. # 使用vim编辑器打开文件
  18. vim filename.txt
复制代码

系统信息查看

了解系统信息对于诊断问题和优化性能至关重要:
  1. # 显示系统信息
  2. uname -a
  3. # 显示Manjaro版本信息
  4. cat /etc/manjaro-version
  5. # 显示内核版本
  6. uname -r
  7. # 显示CPU信息
  8. cat /proc/cpuinfo
  9. # 显示内存使用情况
  10. free -h
  11. # 显示磁盘使用情况
  12. df -h
  13. # 显示磁盘空间使用详情
  14. du -sh directory_name
  15. # 显示系统启动时间和运行时间
  16. uptime
  17. # 显示系统负载
  18. top
  19. # 显示更友好的系统监控
  20. htop
复制代码

软件包管理

Manjaro使用Pacman作为其包管理器,以下是基本命令:
  1. # 同步软件包数据库
  2. sudo pacman -Sy
  3. # 更新系统
  4. sudo pacman -Syu
  5. # 安装软件包
  6. sudo pacman -S package_name
  7. # 删除软件包
  8. sudo pacman -R package_name
  9. # 删除软件包及其配置
  10. sudo pacman -Rns package_name
  11. # 搜索软件包
  12. pacman -Ss search_term
  13. # 显示已安装软件包的信息
  14. pacman -Qi package_name
  15. # 列出所有已安装的软件包
  16. pacman -Q
  17. # 清理包缓存
  18. sudo pacman -Scc
  19. # 使用AUR助手(如yay)安装AUR软件包
  20. yay -S aur_package_name
复制代码

用户和权限管理

用户和权限管理对于系统安全至关重要:
  1. # 切换到root用户
  2. su
  3. # 以root权限执行命令
  4. sudo command
  5. # 添加新用户
  6. sudo useradd -m username
  7. # 设置用户密码
  8. sudo passwd username
  9. # 删除用户
  10. sudo userdel username
  11. # 删除用户及其主目录
  12. sudo userdel -r username
  13. # 修改文件权限
  14. chmod permissions filename
  15. # 修改文件所有者
  16. chown owner:group filename
  17. # 将用户添加到组
  18. sudo usermod -aG groupname username
  19. # 显示当前用户所属组
  20. groups
复制代码

中级命令

进程管理

进程管理是系统维护的重要部分:
  1. # 显示所有运行中的进程
  2. ps aux
  3. # 显示特定用户的进程
  4. ps -u username
  5. # 显示进程树
  6. pstree
  7. # 实时监控进程
  8. top
  9. # 更友好的进程监控工具
  10. htop
  11. # 终止进程(通过PID)
  12. kill PID
  13. # 强制终止进程
  14. kill -9 PID
  15. # 终止进程(通过名称)
  16. pkill process_name
  17. # 后台运行命令
  18. command &
  19. # 将前台进程移到后台
  20. Ctrl+Z
  21. # 查看后台任务
  22. jobs
  23. # 将后台任务移到前台
  24. fg %jobnumber
  25. # 在后台继续运行任务
  26. bg %jobnumber
  27. # 调整进程优先级
  28. renice priority PID
复制代码

网络工具

网络工具对于诊断连接问题和配置网络非常重要:
  1. # 显示网络接口信息
  2. ip addr
  3. # 显示路由表
  4. ip route
  5. # 测试网络连接
  6. ping host_or_ip
  7. # 跟踪网络路径
  8. traceroute host_or_ip
  9. # 显示网络连接
  10. netstat -tuln
  11. # 显示更详细的网络连接
  12. ss -tuln
  13. # 下载文件
  14. wget URL
  15. # 下载文件(更高级的工具)
  16. curl -O URL
  17. # 显示网络带宽使用
  18. iftop
  19. # 显示网络套接字信息
  20. lsof -i
  21. # 扫描网络端口
  22. nmap host_or_ip
  23. # 显示DNS信息
  24. nslookup domain
  25. # 显示更详细的DNS信息
  26. dig domain
复制代码

系统日志和故障排除

查看和分析系统日志对于故障排除至关重要:
  1. # 显示系统日志
  2. journalctl
  3. # 显示内核日志
  4. dmesg
  5. # 显示实时系统日志
  6. journalctl -f
  7. # 显示特定服务的日志
  8. journalctl -u service_name
  9. # 显示自上次启动以来的日志
  10. journalctl -b
  11. # 显示特定时间段的日志
  12. journalctl --since "2023-01-01" --until "2023-01-02"
  13. # 显示系统错误日志
  14. journalctl -p err
  15. # 显示Xorg日志
  16. cat /var/log/Xorg.0.log
  17. # 显示包管理器日志
  18. cat /var/log/pacman.log
  19. # 显示引导日志
  20. journalctl -b -1
复制代码

磁盘和文件系统管理

管理磁盘和文件系统是系统维护的重要部分:
  1. # 显示磁盘分区
  2. fdisk -l
  3. # 显示文件系统信息
  4. df -h
  5. # 显示目录大小
  6. du -sh directory_name
  7. # 检查文件系统错误
  8. sudo fsck /dev/sdX
  9. # 挂载文件系统
  10. sudo mount /dev/sdX /mount/point
  11. # 卸载文件系统
  12. sudo umount /mount/point
  13. # 显示挂载的文件系统
  14. mount | column -t
  15. # 创建文件系统
  16. sudo mkfs.ext4 /dev/sdX
  17. # 调整文件系统大小
  18. sudo resize2fs /dev/sdX
  19. # 显示磁盘I/O统计
  20. iostat
  21. # 显示磁盘使用情况
  22. df -i
复制代码

高级技巧

Shell脚本编程

Shell脚本可以自动化日常任务:
  1. #!/bin/bash
  2. # 这是一个简单的Shell脚本示例
  3. # 变量定义
  4. NAME="Manjaro User"
  5. VERSION=$(uname -r)
  6. # 输出信息
  7. echo "Hello, $NAME!"
  8. echo "Your kernel version is: $VERSION"
  9. # 条件语句
  10. if [ "$VERSION" > "5.0" ]; then
  11.     echo "You have a modern kernel."
  12. else
  13.     echo "Consider updating your kernel."
  14. fi
  15. # 循环
  16. for i in {1..5}; do
  17.     echo "Count: $i"
  18. done
  19. # 函数
  20. greet() {
  21.     echo "Welcome to Manjaro KDE, $1!"
  22. }
  23. # 调用函数
  24. greet "$NAME"
  25. # 检查命令是否存在
  26. if command -v pacman >/dev/null 2>&1; then
  27.     echo "Pacman package manager is installed."
  28. fi
  29. # 读取用户输入
  30. read -p "Enter your favorite package manager: " PM
  31. echo "Your favorite package manager is: $PM"
  32. # 退出状态
  33. exit 0
复制代码

系统服务管理

使用systemd管理系统服务:
  1. # 启动服务
  2. sudo systemctl start service_name
  3. # 停止服务
  4. sudo systemctl stop service_name
  5. # 重启服务
  6. sudo systemctl restart service_name
  7. # 重新加载服务配置
  8. sudo systemctl reload service_name
  9. # 启用服务(开机自启)
  10. sudo systemctl enable service_name
  11. # 禁用服务
  12. sudo systemctl disable service_name
  13. # 查看服务状态
  14. systemctl status service_name
  15. # 检查服务是否启用
  16. systemctl is-enabled service_name
  17. # 列出所有运行中的服务
  18. systemctl list-units --type=service --state=running
  19. # 列出所有失败的单元
  20. systemctl --failed
  21. # 查看服务日志
  22. journalctl -u service_name
  23. # 编辑服务配置
  24. sudo systemctl edit service_name
  25. # 重载systemd配置
  26. sudo systemctl daemon-reload
复制代码

网络配置和高级工具

高级网络配置和工具:
  1. # 显示网络接口详细信息
  2. ip -d addr show
  3. # 添加IP地址
  4. sudo ip addr add 192.168.1.100/24 dev eth0
  5. # 删除IP地址
  6. sudo ip addr del 192.168.1.100/24 dev eth0
  7. # 启用网络接口
  8. sudo ip link set eth0 up
  9. # 禁用网络接口
  10. sudo ip link set eth0 down
  11. # 添加默认路由
  12. sudo ip route add default via 192.168.1.1
  13. # 显示网络连接统计
  14. netstat -s
  15. # 显示网络套接字详细信息
  16. ss -tulpn
  17. # 配置网络连接(NetworkManager命令行工具)
  18. nmcli connection show
  19. # 激活网络连接
  20. nmcli connection up connection_name
  21. # 创建网络连接
  22. nmcli connection add type ethernet con-name connection_name ifname eth0
  23. # 配置防火墙(ufw)
  24. sudo ufw enable
  25. sudo ufw allow 22/tcp
  26. sudo ufw status
  27. # 端口转发
  28. sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
  29. # 设置静态IP(通过netplan)
  30. sudo nano /etc/netplan/01-netcfg.yaml
复制代码

系统性能优化

优化系统性能的高级技巧:
  1. # 显示CPU信息
  2. lscpu
  3. # 显示内存详细信息
  4. cat /proc/meminfo
  5. # 显示系统启动时间
  6. systemd-analyze
  7. # 显示启动过程中的时间详情
  8. systemd-analyze blame
  9. # 显示CPU使用率
  10. mpstat 1 5
  11. # 显示内存使用情况
  12. vmstat 1 5
  13. # 显示磁盘I/O统计
  14. iostat -xz 1 5
  15. # 显示网络统计
  16. sar -n DEV 1 5
  17. # 显示进程和资源使用
  18. glances
  19. # 监控磁盘I/O
  20. iotop
  21. # 调整CPU调度器
  22. echo cfq | sudo tee /sys/block/sdX/queue/scheduler
  23. # 调整swappiness值(值越小,越少使用交换分区)
  24. echo 10 | sudo tee /proc/sys/vm/swappiness
  25. # 显示系统限制
  26. ulimit -a
  27. # 调整文件描述符限制
  28. ulimit -n 65536
  29. # 显示内核参数
  30. sysctl -a
  31. # 临时修改内核参数
  32. sudo sysctl -w parameter=value
  33. # 永久修改内核参数
  34. echo "parameter=value" | sudo tee -a /etc/sysctl.conf
  35. # 清理内存缓存
  36. sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
复制代码

实用案例

自定义KDE Plasma通过命令行

Manjaro KDE的强大之处在于可以通过命令行深度定制桌面环境:
  1. # 安装KDE Plasma组件
  2. sudo pacman -S plasma-desktop plasma-nm plasma-pa
  3. # 安装额外的KDE应用
  4. sudo pacman -S kde-applications
  5. # 配置KDE Plasma通过命令行
  6. # 修改Plasma配置文件
  7. kwriteconfig5 --file plasmarc --group Containments --group 1 --group General --key formfactor 2
  8. # 更改壁纸
  9. kwriteconfig5 --file plasmarc --group Containments --group 1 --group Wallpaper --group org.kde.image --group General --key Image "file:///path/to/wallpaper.jpg"
  10. # 添加桌面小部件
  11. dbus-send --dest=org.kde.plasmashell --type=method_call /PlasmaShell org.kde.PlasmaShell.evaluateScript 'string:
  12. var Desktops = desktops();
  13. for (i=0;i<Desktops.length;i++) {
  14.     d = Desktops[i];
  15.     d.wallpaperPlugin = "org.kde.image";
  16.     d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General");
  17.     d.writeConfig("Image", "file:///path/to/wallpaper.jpg");
  18. }'
  19. # 更改主题
  20. lookandfeeltool -a org.kde.breeze.desktop
  21. # 更改图标主题
  22. kwriteconfig5 --file kdeglobals --group Icons --key Theme breeze-dark
  23. # 更改窗口装饰
  24. kwriteconfig5 --file kwinrc --group org.kde.kdecoration2 --group org.kde.breeze --key library org.kde.breeze
  25. # 重启KDE Plasma
  26. kquitapp5 plasmashell && kstart5 plasmashell
复制代码

系统备份和恢复

使用命令行进行系统备份和恢复:
  1. # 使用rsync备份系统
  2. sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/backup/folder
  3. # 使用tar创建完整系统备份
  4. sudo tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys /
  5. # 使用timeshift创建系统快照
  6. sudo timeshift --create --comments "Manual backup"
  7. # 列出timeshift快照
  8. sudo timeshift --list
  9. # 恢复timeshift快照
  10. sudo timeshift --restore --snapshot '2023-01-01_12-00-00'
  11. # 使用borg创建增量备份
  12. borg init --encryption=repokey /path/to/repo
  13. borg create /path/to/repo::archive-1 /path/to/backup
  14. # 使用clonezilla进行磁盘克隆
  15. sudo clonezilla
复制代码

自动化系统维护

创建自动化脚本进行系统维护:
  1. #!/bin/bash
  2. # 系统维护脚本
  3. # 更新系统
  4. echo "正在更新系统..."
  5. sudo pacman -Syu --noconfirm
  6. # 清理包缓存
  7. echo "正在清理包缓存..."
  8. sudo pacman -Scc --noconfirm
  9. # 清理孤立的包
  10. echo "正在清理孤立的包..."
  11. sudo pacman -Rns $(pacman -Qtdq) --noconfirm
  12. # 清理日志
  13. echo "正在清理日志..."
  14. sudo journalctl --vacuum-time=2weeks
  15. # 清理临时文件
  16. echo "正在清理临时文件..."
  17. sudo rm -rf /tmp/*
  18. # 检查文件系统
  19. echo "正在检查文件系统..."
  20. sudo fsck -t ext4 /dev/sda1
  21. # 备份系统
  22. echo "正在创建系统备份..."
  23. sudo timeshift --create --comments "Automated backup"
  24. # 发送通知
  25. notify-send "系统维护完成" "所有维护任务已成功完成"
  26. echo "系统维护完成!"
复制代码

学习资源

官方文档和社区资源

• Manjaro官方文档
• Arch Linux Wiki(Manjaro基于Arch,大部分内容适用)
• KDE文档
• Manjaro论坛

推荐书籍

• “The Linux Command Line” by William Shotts
• “How Linux Works” by Brian Ward
• “Linux Bible” by Christopher Negus
• “Shell Scripting: Expert Recipes for Linux, Bash and more” by Steve Parker

在线课程和教程

• Linux Journey
• OverTheWire: Bandit(命令行安全游戏)
• LinuxCommand.org
• Arch Linux Wiki的中文页面

实践项目

• 搭建个人服务器(Web、FTP、SSH等)
• 创建自动化备份系统
• 开发自定义Shell脚本工具集
• 配置系统监控和警报
• 建立个人Wiki或博客

结语

掌握Manjaro KDE系统的命令行操作是一个循序渐进的过程。从基础命令开始,逐步学习中级和高级技巧,你会发现命令行不仅高效,而且强大。通过本指南提供的学习路径,你可以系统地提升自己的Linux技能,充分利用Manjaro KDE系统的潜力。记住,实践是最好的老师,不断尝试和探索将帮助你成为命令行大师。祝你在Manjaro KDE的命令行之旅中取得成功!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则