菜鸟科技网

Linux常用命令有哪些?

Linux作为一款开源的操作系统,凭借其稳定性、安全性和灵活性,在服务器、嵌入式系统以及开发者领域得到了广泛应用,熟练掌握Linux常用命令是高效操作Linux系统的基础,以下将详细介绍一些核心且常用的命令,涵盖文件管理、文本处理、系统监控、网络配置等多个方面。

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

文件和目录管理命令

文件和目录操作是Linux中最基本的操作,ls命令用于列出目录内容,通过选项可以控制显示方式,例如ls -l以长格式显示,包含权限、所有者、大小、修改时间等信息;ls -a会显示隐藏文件(以点开头的文件)。cd命令用于切换目录,cd ..返回上一级目录,cd ~切换到当前用户的主目录,cd -在最近两次工作的目录之间切换。pwd命令用于显示当前所在的工作目录的完整路径。

创建目录使用mkdir命令,例如mkdir newdir创建一个新目录,mkdir -p parentdir/newdir可以递归创建多级目录,即使父目录不存在也不会报错,创建文件可以使用touch命令,如touch file.txt,如果文件不存在则创建,存在则更新其修改时间,复制文件或目录使用cp命令,cp source.txt dest.txt复制文件,cp -r sourcedir destdir递归复制目录(包含目录下的所有内容),移动或重命名文件/目录使用mv命令,mv oldname newname重命名,mv file.txt /path/to/dest/移动文件到指定目录,删除文件使用rm命令,rm file.txt删除文件,rm -r dir递归删除目录及其内容,rm -f file.txt强制删除,不提示确认,查看文件内容时,cat命令适用于查看短文件,cat file.txt输出到终端;moreless命令适用于查看长文件,支持分页和上下滚动,less的功能更强大,支持搜索等操作。headtail命令用于查看文件的开头和结尾部分,head -n 5 file.txt查看前5行,tail -n 10 file.txt查看后10行,tail -f file.txt可以实时跟踪文件内容的更新(常用于日志监控)。

文本处理命令

Linux文本处理能力非常强大,grep命令是文本搜索工具,grep "pattern" file.txt在文件中搜索包含模式的行,-i选项忽略大小写,-r选项递归搜索目录,-v选项反转匹配(输出不包含模式的行)。sed(流编辑器)用于对文本进行编辑,例如sed 's/old/new/g' file.txt将文件中所有的"old"替换为"new"(注意这默认输出到终端,不修改原文件,使用-i选项可直接修改原文件)。awk是强大的文本分析工具,awk '{print $1}' file.txt打印每行的第一个字段(以空格或制表符分隔),-F选项可以指定分隔符,如awk -F, '{print $1}' file.csv处理CSV文件。

系统监控和管理命令

了解系统状态是系统管理的重要部分,top命令动态显示系统中运行的进程,包括CPU使用率、内存占用、进程ID等信息,按q退出。htoptop的增强版,界面更友好,支持鼠标操作和更多交互功能(部分系统可能需要安装)。ps命令查看当前进程,ps aux显示所有进程的详细信息,ps -ef也是常用的查看所有进程的命令。kill命令用于终止进程,kill pid发送终止信号给指定进程ID的进程,kill -9 pid强制终止(不推荐轻易使用,可能导致数据丢失)。df命令查看磁盘空间使用情况,df -h以人类可读的格式显示(如KB、MB、GB),du命令查看目录或文件的大小,du -sh /path/to/dir显示指定目录的总大小(-s只显示总计,-h以人类可读格式)。

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

free命令查看内存使用情况,free -h以人类可读格式显示内存和交换分区的使用量。uname命令显示系统信息,uname -a显示所有可用的系统信息,包括内核名称、主机名、内核版本等。uptime命令显示系统运行时间以及负载平均值(过去1分钟、5分钟、15分钟的系统负载)。date命令用于显示和设置系统时间,date显示当前时间,date "+%Y-%m-%d %H:%M:%S"自定义时间格式。

网络配置和调试命令

Linux提供了丰富的网络命令,ifconfig(传统命令)或ip addr(现代推荐命令)用于查看和配置网络接口信息,ip addr show显示所有网络接口的IP地址、子网掩码等。ping命令测试网络连通性,ping www.baidu.com向指定主机发送ICMP回显请求,-c选项指定发送次数,如ping -c 4 www.baidu.comnetstat命令显示网络连接、路由表、接口统计等信息,netstat -tuln显示所有监听的TCP和UDP端口及对应的进程ID(-tTCP,-uUDP,-l只显示监听端口,-n以数字形式显示地址和端口)。ssnetstat的替代品,功能更强大,速度更快,ss -tuln同样显示监听的TCP/UDP端口。wgetcurl命令用于从网络下载文件,wget http://example.com/file.zip下载文件,curl -O http://example.com/file.zip也可以下载文件,curl还支持更多复杂的网络请求。ssh命令用于远程登录到其他Linux系统,ssh username@remotehost,输入密码后即可远程操作。

软件安装和管理命令

不同Linux发行版的软件包管理器不同,以Debian/Ubuntu为例,apt是常用的包管理工具,sudo apt update更新软件包列表,sudo apt install package_name安装软件包,sudo apt remove package_name卸载软件包,sudo apt upgrade升级已安装的软件包,以CentOS/RHEL为例,yumdnf是包管理工具,sudo yum install package_name安装,sudo yum remove package_name卸载,sudo yum update升级。tar命令用于打包和解包文件,tar -czf archive.tar.gz /path/to/dir将目录打包并压缩为gzip格式的tar包,tar -xzf archive.tar.gz解压gzip格式的tar包,-c创建包,-x解包,-z处理gzip压缩,-f指定文件名。

相关问答FAQs

问:如何快速查找包含特定关键词的所有文件?
答:可以使用find命令结合grep来实现,在当前目录及其子目录中查找所有包含"error"关键词的.txt文件,可以使用命令:find . -type f -name "*.txt" -exec grep -l "error" {} \;,解释:find .表示从当前目录开始搜索;-type f表示只搜索文件;-name "*.txt"表示文件名以.txt结尾;-exec grep -l "error" {} \;对每个找到的文件执行grep -l "error"-l表示输出包含匹配项的文件名),\;表示命令结束。

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

问:如何查看一个系统服务的运行状态并设置开机自启?
答:对于使用systemd的系统(如现代Ubuntu、CentOS 7+),可以使用systemctl命令,查看服务状态命令为:systemctl status 服务名(例如systemctl status nginx),设置开机自启命令为:systemctl enable 服务名(例如systemctl enable nginx),如果需要取消开机自启,则使用systemctl disable 服务名,启动服务使用systemctl start 服务名,停止服务使用systemctl stop 服务名,重启服务使用systemctl restart 服务名

分享:
扫描分享到社交APP
上一篇
下一篇