菜鸟科技网

Linux经典命令有哪些必备技巧?

Linux作为一款开源的类Unix操作系统,凭借其稳定性、安全性和灵活性在服务器、嵌入式系统以及开发领域占据重要地位,熟练掌握Linux经典命令是高效使用Linux系统的基础,这些命令涵盖了文件管理、权限控制、进程管理、网络配置等多个方面,下面将详细介绍常用的Linux经典命令及其使用场景。

Linux经典命令有哪些必备技巧?-图1
(图片来源网络,侵删)

在文件和目录管理方面,ls命令是最基础的命令之一,用于列出目录中的文件和子目录,通过添加不同选项,可以实现多样化的显示效果,例如ls -l以长格式显示文件详细信息(包括权限、所有者、大小、修改时间等),ls -a显示所有文件(包括隐藏文件),ls -h以人类可读的格式显示文件大小(如K、M、G)。cd命令用于切换当前工作目录,cd ..返回上级目录,cd ~切换到当前用户的主目录,cd -在最近两次工作目录之间切换。pwd命令用于显示当前工作目录的完整路径。mkdir用于创建新目录,mkdir -p可以递归创建多级目录(例如mkdir -p a/b/c会自动创建不存在的父目录)。rm命令用于删除文件或目录,rm -f强制删除而不提示,rm -r递归删除目录及其内容,需谨慎使用。cp命令用于复制文件或目录,cp -r复制目录,cp -p保留文件属性(如权限、时间戳)。mv命令用于移动文件或目录,也可用于重命名(例如mv oldname newname)。touch命令用于创建空文件或更新文件的时间戳。 查看命令中,cat用于查看文件内容并输出到终端,适合查看小文件。moreless用于分页查看大文件,more只能向前翻页,less支持前后翻页、搜索等功能(使用搜索关键词,n跳转到下一个匹配项)。headtail用于查看文件开头或末尾的内容,head -n 10 file显示文件前10行,tail -n 10 file显示文件末尾10行,tail -f可用于实时监控文件内容变化(如日志文件)。grep是强大的文本搜索命令,grep "keyword" file在文件中搜索包含关键词的行,grep -i忽略大小写,grep -v反向匹配(显示不包含关键词的行),grep -r递归搜索目录中的所有文件。

权限管理命令涉及Linux系统的安全机制。chmod用于修改文件或目录的权限,权限分为读(r)、写(w)、执行(x),分别对应数字4、2、1,例如chmod 755 file设置所有者权限为rwx(7),所属组和其他用户权限为r-x(5)。chown用于修改文件或目录的所有者,chown user:group file同时修改所有者和所属组,chown -R递归修改目录及其内容的所有者。chgrp用于修改文件的所属组,例如chgrp group file

系统信息和管理命令中,tophtop用于实时监控系统进程和资源占用,top按CPU使用率排序,htop以彩色界面提供更直观的交互操作(支持鼠标操作、进程树显示等)。ps命令用于查看当前进程状态,ps aux显示所有进程的详细信息,ps -ef以全格式显示进程。killkillall用于终止进程,kill PID通过进程ID终止进程,killall process_name通过进程名终止所有相关进程。df用于查看磁盘空间使用情况,df -h以人类可读格式显示,du用于查看目录或文件大小,du -sh *显示当前目录下各文件和目录的总大小。free用于查看内存使用情况,free -h以人类可读格式显示。uname显示系统信息,uname -a显示所有信息(内核版本、系统架构等)。

网络配置命令中,ifconfigip用于查看和配置网络接口,ifconfig显示网络接口信息,ip addr show显示更详细的IP地址信息。ping用于测试网络连通性,ping www.baidu.com向目标主机发送ICMP请求包。netstatss用于查看网络连接状态,netstat -tuln显示所有监听端口,ss -tulnnetstat的替代工具,显示速度更快。wgetcurl用于下载文件,wget www.example.com/file.zip下载文件,curl -O www.example.com/file.zip同样支持下载,curl还可用于发送HTTP请求(如API测试)。ssh用于远程登录服务器,ssh username@hostname通过用户名和主机名建立安全连接。

Linux经典命令有哪些必备技巧?-图2
(图片来源网络,侵删)

文本处理命令中,sort用于对文件内容进行排序,sort -n按数字排序,sort -r反向排序,sort -k 2按第二列排序。uniq用于去除重复行,需配合sort使用(sort file | uniq)。cut用于提取文本列,cut -d ":" -f 1 /etc/passwd以冒号为分隔符提取第一列(用户名)。sed是流编辑器,用于文本替换,sed 's/old/new/g' file将文件中所有"old"替换为"new"。awk是强大的文本分析工具,awk -F ":" '{print $1}' /etc/passwd以冒号为分隔符打印第一列。

以下是一些常用命令的快速参考表格:

命令 功能描述 常用选项
ls 列出目录内容 -l(长格式)、-a(显示隐藏文件)
cd 切换目录 ..(上级目录)、~(主目录)
cp 复制文件或目录 -r(递归)、-p(保留属性)
mv 移动/重命名文件或目录
rm 删除文件或目录 -f(强制)、-r(递归)
grep 文本搜索 -i(忽略大小写)、-v(反向匹配)
chmod 修改权限 755(rwxr-xr-x)、644(rw-r--r--)
ps 查看进程 aux(所有进程)、-ef(全格式)
ping 测试网络连通性 -c(次数)、-i(间隔)
ssh 远程登录 -p(端口)、-i(密钥文件)

相关问答FAQs

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

Q2: 如何查看系统运行的端口及对应的进程?
A2: 可以使用netstatss命令,使用netstat -tulnp可以查看所有监听的TCP和UDP端口及其对应的PID和进程名;使用ss -tulnp效果相同,但显示速度更快,如果需要查看特定端口(如80端口),可添加过滤条件:netstat -tulnp | grep :80

Linux经典命令有哪些必备技巧?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇