菜鸟科技网

Linux命令大全有哪些常用命令?

Linux命令大全涵盖了从基础文件操作到系统管理、网络配置、进程控制等多个方面的命令,熟练掌握这些命令能够高效地管理和操作Linux系统,以下将详细介绍常用命令及其使用方法,包括文件和目录操作、文本处理、系统信息查看、用户管理、网络配置、进程管理、软件安装与压缩等类别,并辅以示例说明。

Linux命令大全有哪些常用命令?-图1
(图片来源网络,侵删)

文件和目录操作命令

文件和目录是Linux系统中最基本的元素,相关命令是日常操作中最常用的。

  • ls:列出目录内容,常用选项包括-l(显示详细信息)、-a(显示隐藏文件)、-h(以人类可读格式显示文件大小,如K、M)。ls -lah会以详细、隐藏文件和人性化格式列出当前目录内容。
  • cd:切换目录。cd ..返回上一级目录,cd ~切换到用户主目录,cd -在最近两次工作目录间切换。
  • pwd:显示当前所在工作目录的完整路径。
  • mkdir:创建目录。-p选项可递归创建多级目录,如mkdir -p /tmp/test/a/b会创建不存在的父目录。
  • rm:删除文件或目录。-r递归删除目录,-f强制删除不提示,例如rm -rf /tmp/oldfiles会强制删除整个目录。
  • cp:复制文件或目录。-r复制目录,-p保留文件属性(如权限、时间戳),-i覆盖前提示,如cp -r source_dir target_dir复制整个目录。
  • mv:移动或重命名文件/目录。mv old_name new_name重命名文件,mv file.txt /tmp/将文件移动到/tmp目录。
  • touch:创建空文件或更新文件时间戳。touch newfile.txt会创建一个空文件,若文件已存在则更新其访问和修改时间。
  • ln:创建链接文件。-s创建符号链接(软链接),如ln -s /usr/bin/python3 /usr/bin/python,使python命令指向python3

文本处理命令

Linux擅长文本处理,以下命令能高效处理文本内容。

  • cat:查看文件内容,cat file.txt显示文件全部内容,适合小文件。
  • more/less:分页查看文件内容。less功能更强大,支持上下翻页、搜索()、退出(q)。
  • head/tail:查看文件开头或结尾部分。head -n 10 file.txt显示前10行,tail -f file.txt实时跟踪文件末尾内容(常用于日志监控)。
  • grep:文本搜索。-i忽略大小写,-r递归搜索目录,-n显示行号,如grep -rn "error" /var/log/在日志目录中搜索包含"error"的行。
  • sed:流编辑器,用于文本替换、删除等。sed 's/old/new/g' file.txt将文件中所有"old"替换为"new",sed -i 'd' file.txt删除所有行(慎用)。
  • awk:文本分析工具,按列处理文本。awk '{print $1, $3}' file.txt打印每行的第1和第3列,-F可指定分隔符,如awk -F: '{print $1}' /etc/passwd以冒号为分隔符打印/etc/passwd的用户名列。
  • sort:排序文本。-n按数字排序,-r降序,-k指定列,如sort -n -k 2 data.txt按第2列数字升序排序。
  • uniq:去重。-c显示重复次数,需配合sort使用,如sort file.txt | uniq -c统计每行重复次数。

系统信息查看命令

了解系统状态是管理和维护的基础。

  • uname:显示系统信息。uname -a显示所有信息(内核版本、主机名等)。
  • top/htop:动态查看进程资源占用。top按CPU占用排序,htop更直观(需安装),可交互式操作(如按k结束进程)。
  • df/du:查看磁盘使用情况。df -h按人类可读格式显示各分区使用量,du -sh *显示当前目录下各文件/目录总大小。
  • free:查看内存使用情况。-h以GB/MB显示,-m以MB显示。
  • ps:查看当前进程。aux显示所有进程详细信息,ps -ef | grep nginx查看与nginx相关的进程。
  • lsof:列出打开的文件。lsof -i :80查看占用80端口的进程,lsof /var/log/syslog查看打开系统日志的进程。
  • uptime:显示系统运行时间和负载,例如14:30:25 up 10 days, 2:15, 2 users, load average: 0.10, 0.15, 0.08

用户和权限管理命令

Linux是多用户系统,用户和权限管理至关重要。

Linux命令大全有哪些常用命令?-图2
(图片来源网络,侵删)
  • useradd/userdel:添加/删除用户。sudo useradd -m -s /bin/bash newuser创建用户并创建家目录,sudo userdel -r olduser删除用户及家目录。
  • passwd:修改用户密码。sudo passwd username修改指定用户密码,普通用户只能修改自己的密码。
  • chmod:修改文件权限。chmod 755 file.txt设置所有者可读写执行、组和其他用户可读执行;chmod u+x script.sh为所有者添加执行权限。
  • chown:修改文件所有者。sudo chown user:group file.txt将文件所有者改为user,组改为group,-R递归修改目录。
  • su/sudo:切换用户。su - username切换到指定用户并加载其环境变量,sudo command以管理员权限执行命令(需配置sudoers文件)。

网络配置命令

网络管理是Linux运维的核心技能之一。

  • ifconfig/ip:查看和配置网络接口。ifconfig显示所有网络接口信息(传统命令),ip addr show显示更详细的IP地址信息(推荐),sudo ip addr add 192.168.1.100/24 dev eth0添加IP地址。
  • ping:测试网络连通性。ping -c 4 www.baidu.com发送4个包测试与百度服务器的连通性。
  • netstat/ss:查看网络连接状态。netstat -tuln显示所有监听端口,ss -tuln更高效(推荐),ss -t | grep ESTAB查看已建立的TCP连接。
  • curl/wget:下载网络资源。curl -O http://example.com/file.zip下载文件并保持原名,wget -r -np http://example.com/dir/递归下载目录内容。
  • ssh:远程登录。ssh user@192.168.1.100以user身份登录远程主机,-p 2222指定非默认端口,scp file.txt user@remote:/path/to/通过SSH传输文件。
  • iptables:防火墙配置。sudo iptables -L -n列出所有规则,sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许22端口访问(SSH)。

进程管理命令

进程管理是系统性能优化的关键。

  • jobs:查看后台任务。Ctrl+Z将前台任务放入后台,jobs -l显示任务ID和进程ID。
  • bg/fg:后台/前台切换。bg %1将任务ID为1的任务切换到后台,fg %1切回前台。
  • kill/pkill:结束进程。kill -9 1234强制结束进程ID为1234的进程,pkill -f "nginx"结束所有包含"nginx"的进程。
  • nohup:让进程在后台持续运行。nohup command > output.log 2>&1 &忽略挂断信号,输出重定向到文件,适合长时间运行的任务(如服务器程序)。

软件安装与压缩命令

  • apt/yum/dnf:包管理器(不同发行版),Ubuntu/Debian用sudo apt update && sudo apt install package_name,CentOS/RHEL 7用sudo yum install package_name,Fedora/CentOS 8+用sudo dnf install package_name
  • tar:压缩/解压文件。tar -czvf archive.tar.gz dir/将目录压缩为tar.gz,tar -xzvf archive.tar.gz解压,-c创建、-x解压、-v显示过程、-f指定文件名、-z处理gzip格式。
  • unzip:解压zip文件。unzip archive.zip解压到当前目录,-d /path/to指定解压路径。

相关问答FAQs

Q1: 如何查找包含特定关键词的文件?
A1: 可使用find命令结合grep实现,在当前目录及其子目录中查找包含"error"的.log文件,命令为:find . -type f -name "*.log" -exec grep -l "error" {} \;find . -type f -name "*.log"查找所有.log文件,-exec grep -l "error" {} \;对每个文件执行grep搜索并输出包含关键词的文件名。

Q2: 如何查看系统负载和CPU使用率详情?
A2: 使用tophtop命令可实时查看CPU使用率,top1可查看各核心CPU使用情况;查看系统负载可通过uptimecat /proc/loadavg,负载值表示1分钟、5分钟、15分钟内的平均进程数,超过CPU核心数可能表示系统过载;vmstat 1每秒更新一次系统状态,包括CPU、内存、IO等信息,可帮助分析性能瓶颈。

Linux命令大全有哪些常用命令?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇