Linux作为开源操作系统的代表,凭借其稳定性、安全性和灵活性,广泛应用于服务器、开发环境、嵌入式系统等领域,掌握Linux的基本操作和高级技巧,能显著提升工作效率,本文将围绕“Linux如何”展开,详细介绍文件管理、进程控制、网络配置、软件安装及Shell脚本等核心操作,并通过表格对比关键命令,帮助读者快速上手。
如何进行文件与目录管理
文件和目录是Linux操作的基础,熟练掌握其管理命令是高效使用Linux的前提。
基本操作命令
- 查看目录内容:
ls
命令用于列出目录中的文件和子目录,常用选项包括-l
(显示详细信息,如权限、所有者、大小)、-a
(显示隐藏文件,以开头)、-h
(以人类可读格式显示大小,如KB、MB)。 - 切换目录:
cd
命令用于切换当前工作目录,cd ~
切换到用户主目录,cd ..
返回上级目录,cd -
在最近两次目录间切换。 - 创建与删除:
mkdir
创建目录(-p
可递归创建多级目录,如mkdir -p /tmp/test/sub
);rm
删除文件(-r
递归删除目录,-f
强制删除不提示)。 - 复制与移动:
cp
复制文件(-r
复制目录,-p
保留权限和时间戳);mv
移动文件或重命名(-i
覆盖前提示,-v
显示操作过程)。
文件权限管理
Linux通过权限位控制文件访问,分为用户(u)、组(g)、其他(o)三级,每级包含读(r)、写(w)、执行(x)权限。
- 查看权限:
ls -l
显示文件权限,如-rw-r--r--
表示用户可读写,组和其他用户只读。 - 修改权限:
chmod
命令可调整权限,数字表示法中r=4
、w=2
、x=1
,如chmod 755 file
(用户7=rwx,组5=r-x,其他5=r-x);符号表示法如chmod u+x file
(给用户添加执行权限)。 - 修改所有者:
chown
命令更改文件所有者(chown user:group file
,同时修改用户和组)。
查看
cat
:查看整个文件内容(适合小文件);more
/less
:分页查看文件(less
支持上下滚动、搜索);head
/tail
:查看文件开头(head -n 10 file
)或结尾(tail -n 10 file
),tail -f
可实时追踪文件更新(如日志文件)。
如何管理进程
进程是程序执行的实例,Linux通过进程管理确保系统稳定运行。
查看进程
ps
:静态查看当前进程,ps aux
显示所有进程的详细信息(包括PID、CPU占用、内存使用);ps -ef
以全格式显示进程树。top
:动态实时监控进程,按CPU
、MEM
排序,按k
终止进程,按q
退出。pgrep
:根据名称查找进程ID(如pgrep -f "nginx"
查找包含nginx的进程)。
控制进程
- 终止进程:
kill
命令通过PID终止进程(kill 1234
),kill -9
强制终止(不可中断信号);pkill
通过进程名终止(pkill nginx
)。 - 调整优先级:
nice
设置进程初始优先级(nice -n 10 command
,值越大优先级越低);renice
调整运行中进程的优先级(renice -5 1234
)。
进程调度
nohup
命令让进程在后台运行且忽略挂断信号(nohup command &
),适合长时间任务;screen
/tmux
可创建会话,即使断开SSH连接,进程仍可运行。
如何配置网络
网络配置是Linux服务器运维的核心,涉及IP、DNS、路由等参数设置。
查看网络信息
ip addr
:显示网络接口IP地址(替代ifconfig
);ping
:测试网络连通性(ping www.baidu.com
);netstat
/ss
:查看端口监听状态(netstat -tuln
显示TCP/UDP监听端口,ss -tuln
更高效)。
配置静态IP
以Ubuntu为例,编辑/etc/netplan/01-netcfg.yaml
(文件名可能因版本不同),添加以下配置:
network: version: 2 ethernets: ens33: # 网卡名称 dhcp4: no addresses: [192.168.1.100/24] # IP地址/子网掩码 gateway4: 192.168.1.1 # 网关 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS
执行sudo netplan apply
生效。
网络故障排查
traceroute
:追踪数据包路径(traceroute www.baidu.com
);nslookup
/dig
:查询域名解析(nslookup www.baidu.com
);iptables
/firewalld
:管理防火墙规则(如firewall-cmd --add-port=80/tcp --permanent
开放80端口)。
如何安装与管理软件
Linux通过包管理器简化软件安装,不同发行版使用不同工具。
包管理器分类
发行版 | 包管理器 | 示例命令 |
---|---|---|
Debian/Ubuntu | apt | sudo apt update 更新源,sudo apt install nginx 安装 |
CentOS/RHEL | yum/dnf | sudo yum install httpd ,sudo dnf install vim |
Arch Linux | pacman | sudo pacman -S firefox 安装,sudo pacman -Rns 卸载 |
源配置
- Ubuntu:编辑
/etc/apt/sources.list
,替换为国内源(如阿里云、清华源)加速下载; - CentOS:替换
/etc/yum.repos.d/CentOS-Base.repo
为国内源(如阿里云镜像)。
源码编译安装
对于无包管理器的软件,可通过源码编译安装:
wget https://nginx.org/download/nginx-1.23.3.tar.gz # 下载源码 tar -zxvf nginx-1.23.3.tar.gz && cd nginx-1.23.3 ./configure --prefix=/usr/local/nginx # 配置安装路径 make && sudo make install # 编译并安装
如何编写简单Shell脚本
Shell脚本通过命令组合实现自动化任务,是Linux高效工作的利器。
基本语法
- 变量定义:
name="Linux"
(无空格),echo $name
引用变量; - 条件判断:
if [ $age -gt 18 ]; then echo "成年"; fi
(-gt
大于,-eq
等于,-ne
不等于); - 循环:
for i in {1..5}; do echo $i; done
(输出1-5),while [ $i -lt 10 ]; do echo $i; i=$((i+1)); done
(i小于10时循环)。
示例:备份脚本
#!/bin/bash # 备份文件脚本 BACKUP_DIR="/backup/$(date +%Y%m%d)" SOURCE_DIR="/home/user/docs" mkdir -p $BACKUP_DIR cp -r $SOURCE_DIR $BACKUP_DIR echo "备份完成:$BACKUP_DIR/docs"
保存为backup.sh
,执行chmod +x backup.sh
添加执行权限,运行./backup.sh
即可备份。
相关FAQs
Q1:如何忘记root密码时重置Linux系统密码?
A:
- 重启系统,在GRUB启动菜单按
e
进入编辑模式; - 找到以
linux
或linux16
开头的行,末尾添加rd.break
,按Ctrl+X
启动; - 系统进入紧急模式,执行
mount -o remount,rw /sysroot
重新挂载根目录; - 执行
chroot /sysroot
切换到根环境,使用passwd root
修改密码; - 执行
touch /.autorelabel
(可选,修复SELinux上下文),输入exit
重启系统。
Q2:如何查看Linux系统的CPU和内存使用情况?
A:
- CPU使用:
top
命令按1
显示所有CPU核心使用率,mpstat
(需安装sysstat)显示详细CPU统计; - 内存使用:
free -h
以人类可读格式显示内存总量、已用、空闲、缓存等信息;vmstat
显示虚拟内存统计,如vmstat 1
每秒刷新一次数据。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19490.html