Linux 命令大全

Linux 命令大全

作为程序员,我们在日常的工作中或多或少都会接触 Linux ,掌握其基本命令也是必不可少的。网上很多人都会推荐去看《鸟哥的私房菜—基础篇》,作为 Linux 编程的爱好者的我,还是不建议初学者一上来就看这本书,感觉对初学者不太友好,当手册去查还是可以的。

为了让更多想学习 Linux 的朋友快速入门,我这里专门给大家提供一个系统性学习 Linux 命令的详细指南,该指南主要是介绍要掌握的 Linux 基本命令有哪些,以及提供一些基础的示例,更加详细的命令参数大家可以在这个网站上查询,很方便的。https://man.niaoge.com/

先来大致浏览下我们本篇文章要讲解的命令

文件和目录操作命令

ls:列出目录内容,想看看当前目录下有什么?简单!

ls

cd:更改当前目录
想跳转到桌面目录?试试这个:

cd ~/Desktop

touch: 创建新文件
快速创建一个新文件 note.txt:

touch note.txt

pwd:显示当前目录的完整路径
确认你现在在哪个目录?只需一条命令:

pwd

mkdir:创建新目录
需要一个新的项目目录 project?轻松搞定:

mkdir project

rm:删除文件或目录
要小心使用!彻底删除一个目录 project:

# -f 或 --force 选项强制删除文件或目录
# -r 或 -R 或 --recursive 选项告诉rm命令递归地删除目标目录以及目录内的所有内容(文件和子目录)
rmdir -fr  project  

cp:复制文件或目录
将文件 example.txt 复制到目录 backup 中:

cp example.txt backup/

mv:移动或重命名文件或目录
更改文件名 old_name.txt 为 new_name.txt:

mv old_name.txt new_name.txt

将文件 report.txt 移动到另一个目录:

mv report.txt ~/Documents/

tree : 树形结构显示目录,首先确保已安装 tree

# 安装 tree
sudo apt-get install tree  # Debian/Ubuntu

然后运行:
tree

ln : 创建链接文件
创建 source.txt 的硬链接 hard_link.txt:

ln source.txt hard_link.txt

或者创建符号链接(软链接):

ln -s source.txt soft_link.txt

权限管理命令

chown:更改文件或目录的所有者和群组
文件归谁?chown说了算:

chown newowner filename

chmod:更改文件或目录权限
谁能看?谁能改?chmod让你决定:

chmod 755 filename

chgrp:专门用于更改文件或目录的群组归属
改变文件或文件夹的所属群组,轻松管理访问权限:

chgrp newgroup filename

软件包管理命令

Debian/Ubuntu系统

apt-get:一键管理软件。安装、更新或删除软件包

装软件、升级都不是问题,apt-get帮你忙:

sudo apt-get install packagename

CentOS/RHEL系统

yum:包管理器,包管理器让软件安装更简单,安装、更新或删除软件包

yum install packagename

压缩和解压命令

tar:文件打包工具
把一堆文件或文件夹打包成一个文件,超方便的备份方式:

tar -cvf myfiles.tar /path/to/directory

gzip:压缩文件
想让文件小一点,传输快一点?gzip来帮忙:

gzip filename

bzip2:另一压缩选择
寻找比gzip还要压得更紧的?试试 bzip2:

bzip2 filename

文本处理命令

cat:查看和合并文件
想快速查看文件内容或把几个文件拼成一个?用 cat:

# 查看文件内容
cat file1.txt
# 合并文件
cat file1.txt file2.txt > combined.txt

more/less:分页浏览文本
文件太长,一屏看不完?试试 more 和 less:

more longfile.txt
less longfile.txt

grep:文本中的搜寻高手
在文本文件中查找某个字符串,如:找出文件中包含"error"的所有行:

grep 'error' logfile.txt

sed:流编辑器
把文本中的"old"全部替换成"new":

sed 's/old/new/g' file.txt

awk:文本处理小能手
打印文件的第一列:

awk '{print $1}' file.txt

sort:给你的文本排排队
对文件的内容按行排序:

sort file.txt

uniq:重复行不见了
过滤掉重复行,记得先sort:

sort file.txt | uniq
# | 符号被称为管道符(pipe)。管道是一种将一个命令的输出作为另一个命令输入的机制,在这个例子中,管道的作用是将 sort file.txt 的输出直接传输给 uniq 命令。

cut:文本的"剪刀手" ,
只看每行的前5个字符:

cut -c1-5 file.txt

wc:数数大师
数一数文件里有多少行、词、字符:

wc file.txt

find:文件搜查官
搜索某文件,在目录中搜索所有.txt文件:

find /path/to/search -name "*.txt"

head/tail:文件的头和尾
看文件的开头10行或结尾10行:

head file.txt
tail file.txt 

系统管理命令

top:实时监控系统状态
想知道你的电脑现在在忙什么?top就像电脑的健康监测器:

top

ps:查看运行中的进程
想找出所有正在运行的程序?ps 给你全视角:

ps aux 

#一般这样使用:
ps -ef | grep processName

kill:结束进程
有个进程不听话,要“礼貌地”让它停止?用 kill:

kill PID

useradd/userdel:用户账号管理
新来了个同事,需要账号?或者有人离开了?

useradd newuser
userdel olduser

df:检查磁盘空间
硬盘还有空间吗?df一目了然:

df -h

du:分析文件夹大小
这个文件夹占了多少空间?du告诉你答案:

du -sh /path/to/directory

hostname:查看或设置主机名
这台机器叫什么?或者想给它起个新名字?

# 查看主机名
hostname
# 设置主机名
hostname newname

uname:获取系统信息
这台机器上跑的是什么操作系统?

uname -a

man:手册页
忘记了某个命令的参数?man命令是你的救星:

man command

比如:man ls

passwd:更改密码
需要更改密码或重置别人的密码?

passwd username

su:切换用户
需要临时变身为另一个用户?

su  username

fdisk/gdisk:分区大师
用于管理磁盘分区的工具,硬盘需要新分区或调整?

fdisk /dev/sdx
gdisk /dev/sdx

mount/unmount:挂载与卸载文件系统
把新的硬盘或USB挂载上去,或者安全地移除它:

mount /dev/sdx /mnt
umount /mnt

网络操作命令

ping:检查网络连接
想确认你的电脑能不能访问互联网上的某个地址?ping是你的朋友:

ping google.com

ifconfig:配置和显示网络接口
查看或设置网络接口的 IP 地址等信息:

ifconfig

ssh:安全地远程登录
远程登录到另一台电脑上,安全又方便:

ssh username@remotehost

scp:安全地远程复制文件
从一台电脑安全地传输文件到另一台电脑:

scp localfile.txt username@remotehost:/remote/directory

wget:从网上下载文件
需要下载网上的文件?wget就搞定:

wget http://example.com/file.zip

curl:与网站交互
发送请求到网站,可以用来下载文件或测试API:

curl http://example.com

netstat/ss:查看网络连接
查看你的机器上的网络连接信息:

netstat

一般这样使用:
netstat -anpt | grep "80" # 输出涉及端口号为80的连接

-a:显示所有的套接字(sockets)
-n :以数字形式显示地址和端口号
-p :显示每个连接所对应的进程标识符(PID)和进程名
-t :只显示TCP连接

或者使用ss,一个更现代的替代:

ss
ss -anpt | grep "80" # 输出涉及端口号为80的连接

traceroute:追踪数据包的路径
查看数据包从你的电脑到目标地址经过了哪些路由器:

traceroute example.com

dig:DNS查询
查找域名的IP地址等DNS信息:

dig example.com

tcpdump:网络抓包工具
监听并打印想要的数据包:例如,如果你想要捕获从特定IP地址和端口443的数据包,可以使用:

tcpdump -i eth0 src host 192.168.1.1 and port 443 -w https_traffic_from_192.168.1.1.pcap

telnet:远程访问工具
测试远程服务的连接性,虽然现在多用ssh替代:

telnet remotehost port

lsof:查看打开的文件和套接字
列出哪些进程正在使用网络套接字:

lsof -i

nc:网络连接小工具
建立TCP/UDP连接,进行数据监听和传输:

nc -l 1234 # 监听端口1234

其他常用命令

echo:输出文字到终端,也能写入文件

echo "This is a test." > test.txt

history:显示历史命令
看看你都敲过什么:

history

crontab:定时运行命令,自动化管理

# crontab -e 命令用于编辑当前用户的cron作业列表。
crontab -e

cron 是 Linux 和 Unix 系统中用来定时执行任务的工具。
通过crontab -e命令,你可以为当前用户添加、编辑或删除计划任务。

总结:

至此,你已经系统地学习了 Linux 常见的基本命令,覆盖了文件和目录的操作、权限管理、软件包处理、压缩与解压、文本处理、系统管理以及网络操作等多个方面。这些命令是Linux 开发必须掌握的。

通过本篇文章的指南,希望初学者能够对 Linux 命令有了清晰的认识和实际操作的能力。记住,掌握这些命令只是开始,真正的精通还需要你在实践中不断探索和应用。遇到问题时,不要忘记利用 man 命令或在线资源寻求帮助,持续地学习和实践,你才能更加自如地驾驭 Linux 系统。

最后:

掌握了基本的 Linux 命令,接下来就是如何在 Linux 环境下进行编程,想要深入学习 Linux 编程的朋友们可以先关注我的公众号「跟着小康学编程」,这里不仅有持续更新的计算机基础相关的文章,还有如何系统学习 C、C++,Linux 系统编程以及网络编程的文章等。后续也会持续新增关于 Go微服务 、docker、k8s等云原生领域的内容。

感兴趣的朋友可以关注我的公众号,具体可访问:关注小康微信公众号

另外大家在阅读这篇文章的时候,如果觉得有问题的或者有不理解的知识点,欢迎大家评论区询问。我看到就会回复大家的。大家也可以加我的微信:jkfwdkf ,有任何不理解得都可以咨询我。

如果大家觉得我写的对你有所帮助的话,也希望大家能够帮忙点个赞,非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值