GNU/Linux是由GNU项目开发的自由软件工具集与Linux内核结合而成的操作系统,其核心优势在于开放性、稳定性和强大的命令行工具集,掌握GNU/Linux的使用,需要从基础概念、核心工具操作到系统管理逐步深入,以下为详细使用指南。
GNU/Linux基础概念与系统安装
GNU/Linux系统由内核(Linux)、GNU工具集(如bash、coreutils等)和应用程序组成,用户首次使用时,需先选择发行版(如Ubuntu、Debian、Fedora等),不同发行版包管理器和默认软件略有差异,但核心工具一致,安装时需注意分区规划(建议/、/home、swap分区)、用户设置(建议创建非root用户)和系统更新(安装后执行sudo apt update && sudo apt upgrade
或sudo dnf upgrade
)。
核心GNU工具使用
GNU工具是用户与系统交互的桥梁,以下为最常用工具的操作方法:
文件与目录操作
- 查看目录内容:
ls
命令列出文件,-l
显示详细信息(权限、所有者、大小),-a
隐藏文件,如ls -la /home
。 - 切换目录:
cd
命令,如cd /var/log
进入系统日志目录,cd ~
返回用户主目录,cd ..
返回上级目录。 - 复制/移动/删除:
cp
复制(-r
递归复制目录),mv
移动/重命名,rm
删除(-r
递归删除,-f
强制删除),如cp -r source_dir target_dir
,mv old_name new_name
,rm -rf temp_dir
(谨慎使用)。
文本处理
- 查看文件内容:
cat
显示全部内容(适合小文件),less
分页查看(支持上下滚动、搜索),如less /etc/passwd
。 - 过滤与搜索:
grep
搜索文本,-i
忽略大小写,-n
显示行号,如grep "error" /var/log/syslog -n
;sed
流编辑器,用于替换文本(如sed 's/old/new/g' file.txt
),awk
按列处理文本(如awk '{print $1, $3}' file.txt
)。
进程与权限管理
- 查看进程:
ps
查看当前进程(-ef
显示所有进程),top
/htop
动态监控进程资源占用(htop
需安装,交互更友好)。 - 终止进程:
kill
终止进程(需PID,通过ps
获取),killall
通过进程名终止,如kill -9 1234
(强制终止)。 - 权限管理:Linux权限分为读(r)、写(w)、执行(x),通过
chmod
修改权限(数字表示:r=4、w=2、x=1),如chmod 755 script.sh
(所有者rwx,组用户r-x,其他用户r-x);chown
修改文件所有者,如chown user:group file.txt
。
网络与软件管理
- 网络工具:
ifconfig
/ip addr
查看IP地址,ping
测试网络连通性(如ping baidu.com
),ssh
远程登录(如ssh user@192.168.1.100
)。 - 软件管理:Debian/Ubuntu用
apt
(sudo apt install package
安装,sudo apt remove package
卸载);Fedora用dnf
(sudo dnf install package
);Arch用pacman
(sudo pacman -S package
)。
以下为常用GNU命令速查表:
| 命令 | 功能 | 常用选项 | 示例 |
|——-|——————–|———————————–|————————–|
| ls
| 列出文件/目录 | -l
(详细信息), -a
(隐藏文件) | ls -la /etc
|
| grep
| 文本搜索 | -i
(忽略大小写), -n
(显示行号) | grep "root" /etc/passwd
|
| chmod
| 修改权限 | -R
(递归), 数字模式(如755) | chmod 644 file.txt
|
| ssh
| 远程登录 | -p
(指定端口), -i
(密钥文件) | ssh -p 22 user@host
|
Shell脚本基础
Shell脚本通过将命令组合为文件实现自动化,以bash为例:
#!/bin/bash # 这是一个简单脚本:备份指定目录 backup_dir="/home/user/backup" source_dir="/home/user/documents" timestamp=$(date +%Y%m%d) tar -czf "$backup_dir/backup_$timestamp.tar.gz" "$source_dir" echo "备份完成:backup_$timestamp.tar.gz"
执行前需添加可执行权限(chmod +x backup.sh
),然后通过./backup.sh
运行,脚本支持变量(var="value"
)、条件判断(if [ -f file ]; then ... fi
)和循环(for file in *; do ... done
)。
常见问题与解决技巧
- 命令未找到:检查命令是否已安装(
which command
),或添加PATH环境变量(export PATH=$PATH:/new/path
)。 - 权限不足:使用
sudo
获取管理员权限(如sudo apt update
),或修改文件权限(chmod u+w file.txt
)。
FAQs
Q1: GNU/Linux和Windows操作系统的核心区别是什么?
A1: 核心区别包括:① 开放性:GNU/Linux为开源系统,Windows闭源;② 内核:Linux用单内核,Windows用混合内核;③ 文件系统:Linux用ext4/xfs等,Windows用NTFS;④ 命令行:Linux以命令行为核心,Windows图形化界面更友好。
Q2: 如何解决命令行中常见的“command not found”错误?
A2: 首先检查命令是否安装(如which gcc
),若未安装则用包管理器安装(如sudo apt install build-essential
);若已安装,可能是PATH变量未包含该命令路径,可通过echo $PATH
查看当前路径,或编辑~/.bashrc
添加路径(export PATH=$PATH:/usr/local/bin
),然后执行source ~/.bashrc
使配置生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34452.html