自学内容网 自学内容网

Linux常用操作命令大全


前言

Linux是一种开源的操作系统,广泛应用于服务器和个人计算机中。它提供了丰富的命令行工具,用于管理文件系统、网络、用户等各个方面。本文将介绍一些常用的Linux命令,帮助您更好地理解和使用Linux系统。


一、Linux是什么?

Linux是一种开源的操作系统内核,最初由芬兰计算机科学家Linus Torvalds在1991年创建。Linux内核主要基于UNIX操作系统,并受到了UNIX的设计和理念的影响。Linux内核由一群自愿的开发者共同维护和改进,其源代码在GNU通用公共许可证(GPL)下发布,使其成为一个自由、开放的操作系统。

Linux操作系统具有以下特点:

  1. 开源性: Linux内核及其相关软件完全开放源代码,任何人都可以查看、修改和分发源代码。
  2. 多用户、多任务: Linux支持多用户同时登录,并且能够同时运行多个程序,实现多任务处理。
  3. 多平台支持: Linux内核被移植到许多不同的计算机体系结构上,如x86、ARM、PowerPC等,因此可以运行在各种硬件平台上。
  4. 稳定性和安全性: Linux操作系统通常被认为是稳定和安全的。由于其开放源代码的特性,许多开发者可以审查代码,及时修复bug和安全漏洞。
  5. 灵活性和可定制性: Linux系统可以根据用户的需求进行定制和配置,用户可以根据自己的偏好选择不同的桌面环境、软件包和配置选项。
  6. 强大的命令行界面: 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)!