Linux常用操作命令大全
文章目录
前言
Linux是一种开源的操作系统,广泛应用于服务器和个人计算机中。它提供了丰富的命令行工具,用于管理文件系统、网络、用户等各个方面。本文将介绍一些常用的Linux命令,帮助您更好地理解和使用Linux系统。
一、Linux是什么?
Linux是一种开源的操作系统内核,最初由芬兰计算机科学家Linus Torvalds在1991年创建。Linux内核主要基于UNIX操作系统,并受到了UNIX的设计和理念的影响。Linux内核由一群自愿的开发者共同维护和改进,其源代码在GNU通用公共许可证(GPL)下发布,使其成为一个自由、开放的操作系统。
Linux操作系统具有以下特点:
- 开源性: Linux内核及其相关软件完全开放源代码,任何人都可以查看、修改和分发源代码。
- 多用户、多任务: Linux支持多用户同时登录,并且能够同时运行多个程序,实现多任务处理。
- 多平台支持: Linux内核被移植到许多不同的计算机体系结构上,如x86、ARM、PowerPC等,因此可以运行在各种硬件平台上。
- 稳定性和安全性: Linux操作系统通常被认为是稳定和安全的。由于其开放源代码的特性,许多开发者可以审查代码,及时修复bug和安全漏洞。
- 灵活性和可定制性: Linux系统可以根据用户的需求进行定制和配置,用户可以根据自己的偏好选择不同的桌面环境、软件包和配置选项。
- 强大的命令行界面: Linux操作系统提供了丰富的命令行工具,使用户能够通过命令行界面完成各种任务,具有很高的灵活性和效率。
二、Linux常用操作命令大全
1. 文件和目录操作
#ls: 列出目录中的文件和子目录
ls
ls -l # 以长格式显示
ls -a # 显示所有文件,包括隐藏文件
#cd: 切换当前工作目录
cd /path/to/directory
cd .. # 切换到上级目录
cd ~ # 切换到当前用户的主目录
#pwd: 显示当前工作目录的路径
pwd
#mkdir: 创建新目录
mkdir directory_name
#rm: 删除文件或目录
rm file_name
rm -r directory_name # 递归删除目录及其内容
2. 文件内容操作
#cat: 查看文件内容
cat file_name
#less/more: 逐页查看文件内容
less file_name
more file_name
#head/tail: 显示文件的开头或结尾部分
head file_name
tail file_name
#grep: 在文件中搜索指定的模式
grep pattern file_name
3. 文件权限管理
#chmod: 修改文件或目录的权限
chmod permissions file_name
#chown: 修改文件或目录的所有者
chown user:group file_name
#chgrp: 修改文件或目录的所属组
chgrp group_name file_name
4. 用户和组管理
#useradd: 添加新用户
useradd username
#userdel: 删除用户
userdel username
#passwd: 修改用户密码
passwd username
#groupadd: 添加新组
groupadd groupname
#groupdel: 删除组
groupdel groupname
5. 网络操作
#ping: 测试网络连接
ping hostname
#ifconfig/ip: 查看网络接口信息
ifconfig
ip addr show
#netstat: 显示网络连接、路由表等信息
netstat -tuln # 显示所有监听端口
#ssh: 远程登录到另一台主机
ssh username@hostname
6. 进程管理
#ps: 显示当前进程的状态
ps
ps aux # 显示所有进程及其详细信息
#kill: 终止指定的进程
kill process_id
#top/htop: 实时显示系统资源占用情况和运行进程
top
htop
7. 压缩和解压缩
#tar: 打包和解压缩文件
tar -cvf archive.tar file1 file2 # 打包文件
tar -xvf archive.tar # 解包文件
#gzip/gunzip: 压缩和解压缩文件
gzip file_name
gunzip file_name.gz
8.文件搜索和查找
#find: 在文件系统中搜索文件和目录
find /path/to/search -name "filename"
#locate: 快速定位文件
locate filename
#which: 查找可执行文件的路径
which command_name
9.系统信息查看
#uname: 显示系统信息
uname -a # 显示全部信息
#df: 显示磁盘空间使用情况
df -h # 以人类可读格式显示
#du: 显示目录或文件的磁盘使用情况
du -sh directory_name # 显示
10.系统管理
#shutdown: 关闭或重启系统
shutdown -h now # 立即关机
shutdown -r now # 立即重启
#reboot: 重启系统
reboot
date: 显示或设置系统日期和时间
date
11.包管理
#apt/apt-get: Debian/Ubuntu系统的包管理工具
apt-get install package_name
#yum/dnf: CentOS/RHEL系统的包管理工具
yum install package_name
#Debian系统的低级包管理工具
dpkg -i package.deb # 安装.deb格式的软件包
12.日志管理
#tail: 查看日志文件的末尾内容
tail -f /var/log/syslog # 实时查看日志内容
#grep: 在日志文件中搜索关键字
grep "keyword" /var/log/syslog
#journalctl: 查看系统日志
journalctl -xe # 显示所有日志信息
#logger: 将消息写入系统日志。
logger "Your message here
13.帮助和文档
#man: 查看命令的手册页
man command_name
info: 查看命令的详细信息
info command_name
--help: 查看命令的简要帮助
command_name --help
14.Shell 编程
bash: 默认的 Shell 解释器,也是大多数 Linux 系统默认使用的 Shell。
#!/bin/bash
#变量: 在 Shell 脚本中使用变量存储数据
myvar="Hello, World!"
echo $myvar
#条件语句: 根据条件执行不同的操作
if [ condition ]; then
command
fi
#循环语句: 执行重复操作
for item in list; do
command
done
15.Shell 命令替换
#反引号: 执行命令并将结果赋值给变量
result=`command`
#$(): 与反引号类似,执行命令并将结果赋值给变量
result=$(command)
16.管道和重定向
#管道: 将一个命令的输出传递给另一个命令进行处理
command1 | command2
#重定向: 将命令的输出重定向到文件或设备
command > output_file # 输出重定向到文件
command >> output_file # 追加输出到文件
command < input_file # 输入重定向自文件
17.定时任务
#cron: 定时执行任务
crontab -e # 编辑定时任务
#at: 单次性执行任务
at now + 1 hour # 在1小时后执行任务
18.环境变量
#export: 设置环境变量
export MYVAR="value"
~/.bashrc: 用户登录时自动执行的 Shell 脚本文件,用于设置环境变量和别名等
vi ~/.bashrc
19.系统日志管理
#rsyslog: 系统日志服务,负责收集和处理系统日志
vi /etc/rsyslog.conf # 配置rsyslog
#logrotate: 日志轮转工具,用于管理日志文件的大小和数量
vi /etc/logrotate.conf # 配置logrotate
20.系统安全
#passwd: 修改用户密码
passwd username
#sudo: 以超级用户权限执行命令
sudo command_name
#firewall-cmd/ufw: 配置防火墙规则
firewall-cmd --zone=public --add-port=80/tcp --permanent # 允许80端口的TCP流量
ufw allow 22/tcp # 允许22端口的TCP流量
#fail2ban: 防止恶意登录和暴力破解
fail2ban-client status # 查看fail2ban状态
21.系统监控和优化
#free: 显示系统内存使用情况
free -h # 显示
#vmstat: 显示系统虚拟内存统计
vmstat 1 # 每秒更新一次虚拟内存信息
#iostat: 显示系统磁盘I/O统计
iostat -d 1 # 每秒更新一次磁盘I/O信息
#top/htop: 实时显示系统资源占用情况和运行进程
top
htop
sysctl: 动态调整内核参数
sysctl -a # 显示所有内核参数
22.文件传输和远程连接
#scp: 在本地和远程主机之间安全地复制文件
scp /path/to/local/file username@remote_host:/path/to/remote/directory
#rsync: 同步本地和远程文件或目录
rsync -avz /path/to/local/file username@remote_host:/path/to/remote/directory
#sftp: 通过SSH协议进行安全的文件传输
sftp username@remote_host
#sshfs: 将远程文件系统挂载到本地
sshfs username@remote_host:/path/to/remote/directory /local/mount/point
23.系统备份和恢复
#tar: 打包和解压缩文件
tar -cvf archive.tar file1 file2 # 打包文件
tar -xvf archive.tar # 解包文件
#rsync: 同步文件和目录
rsync -avz /source/directory /destination/directory
#dd: 备份和复制文件系统。
dd if=/dev/sda of=/path/to/backup.img # 备份整个磁盘
dd if=/path/to/backup.img of=/dev/sda # 恢复备份的磁盘
#dump/restore: 备份和恢复文件系统。
dump -0u /path/to/filesystem | gzip > /path/to/backup.dump.gz # 备份文件系统
restore -rf /path/to/backup.dump.gz /path/to/restore/directory # 恢复备份
24.硬件信息查看
#lshw: 显示硬件信息。
lshw
#lsblk: 显示块设备信息。
lsblk
#lspci: 显示PCI设备信息。
lspci
#lscpu: 显示CPU信息。
lscpu
25.网络配置
#ifconfig/ip: 查看和配置网络接口信息。
ifconfig eth0 # 查看eth0网络接口信息
ip addr show # 显示所有网络接口信息
#route: 显示和配置网络路由表。
route -n # 显示数字化的路由表
#iptables: 配置防火墙规则。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH连接
26.数据库管理
#mysql: 连接和管理MySQL数据库。
mysql -u username -p # 连接到MySQL数据库
#psql: 连接和管理PostgreSQL数据库。
psql -U username -d database_name # 连接到PostgreSQL数据库
#mongo: 连接和管理MongoDB数据库。
mongo # 连接到MongoDB数据库
27.系统服务管理
#systemctl: 管理系统服务
systemctl start service_name # 启动服务
systemctl stop service_name # 停止服务
systemctl restart service_name # 重启服务
systemctl status service_name # 查看服务状态
#service: 管理系统服务(老式方式)。
service service_name start # 启动服务
service service_name stop # 停止服务
service service_name restart # 重启服务
service service_name status # 查看服务状态
28.Docker容器管理
#docker: 管理Docker容器
docker ps # 列出所有运行中的容器
docker images # 列出所有镜像
docker pull image_name # 拉取镜像
docker run image_name # 运行容器
docker-compose: 管理多容器Docker应用。
docker-compose up # 启动所有容器
docker-compose down # 关闭所有容器
29. SELinux
#sestatus: 显示SELinux状态。
sestatus
#setenforce: 修改SELinux模式。
setenforce enforcing # 启用SELinux强制模式
#semanage: SELinux策略管理工具。
semanage port -a -t http_port_t -p tcp 8080 # 允许端口8080的访问
30. 系统调试和故障排除
#dmesg: 显示系统启动信息和内核日志。
dmesg
#strace: 跟踪系统调用和信号。
strace command_name
#lsof: 列出打开的文件和进程。
lsof
#tcpdump: 捕获网络数据包。
tcpdump -i eth0
原文地址:https://blog.csdn.net/qq_34697930/article/details/136559109
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!