入门命令合集
\# 基础命令
ls:列出目录的内容及其内容属性信息。
cd:切换当前工作目录对应的目录
cp:复制文件或目录。
find:用来在指定目录及目录下查找文件。
mkdir:创建目录。
mv:移动或重命名文件。
pwd:显示当前工作目录的绝对路径。
rename:可用字符串替换的方式批量改变文件名。
rm:删除一个或多个文件或目录。必须格外小心地使用该命令。
rmdir:删除空目录。
touch:建立一个新的文件。
tree:以树状图列出目录的内容
basename:显示文件名
dirname:显示给定路径的目录部分。
chattr:改变文件的扩展属性。
lsattr:显示文件扩展属性。
file:用来识别文件类型。
md5sum:用于生成和校验文件的md5值。它会逐位对文件的内容进行校验,它常用于检查文件的完整性。
# 查看文件及内容处理命令
cat:用于连接多个文件并且打印到屏幕输出或重定向到指定文件中,可查看文件内容。
tac:文件内容的最后一行先显示,第一行最后显示。
more:一页一页的形式显示文件内容
less:可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
head:显示文件的开头的内容。
tail:查看文件尾部内容,有一个常用的参数 \-f 常用于查阅正在改变的文件。可以看到最新的文件内容。
cut:将文件的每一行按指定分隔符分割并输出。
split:分割文件为不同的小片段。
paste:用于合并文件的列。paste指令会把每个文件以列对列的方式,一列列地加以合并。
sort:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
uniq:用于检查及删除文本文件中重复出现的行列。
wc:统计文件的行数、单词数或字节数等。
iconv:转换文件的编码格式。
diff:diff以逐行的方式比较文件的差异。
vimdiff:命令行可视化文件比较工具,常用于文本文件。
rev:将文件中的每行内容以字符为单位反序输出
grep/egrep:可以通过使用指定的通配符/正则表达式来实现文本搜索功能。
join:用于将两个文件中,指定栏位内容相同的行连接起来
tr:tr命令用于转换或删除文件中的字符
vi/vim:vi编辑器是所有Unix及Linux系统下标准的编辑器
\# 文件压缩及解压缩命令
tar:建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
unzip:用于解压缩zip文件。
gzip:用于压缩文件
zip:用来将文件压缩成为常用的zip格式。
# 信息显示命令
dmesg:用于显示开机信息,诊断系统故障
uptime:显示系统运行时间及负载。
stat:用于显示文件和文件系统状态属性。
du:显示指定的目录或文件所占用的磁盘空间。
df:显示目前在Linux系统上的文件系统的磁盘使用情况统计。
free:显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。
date:显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
cal:显示公历日历。
\# 搜索文件命令
which:查找文件
find:从磁盘遍历查找文件或目录。
whereis:该指令会在特定目录环境变量PATH路径查找符合条件的文件
locate:locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录,locate与find 不同: find 是去硬盘找,locate 只在资料库中找。locate的速度比find快,它并不是真的查找,而是查数据库
\# 用户管理命令
useradd:建立用户帐号。
usermod:修改系统已经存在的用户属性。
userdel:userdel命令用于删除用户帐号
groupadd:用于创建一个新的用户工作组。
passwd:更改使用者的密码。
chage:修改帐号和密码的有效期限。
id:显示用户以及所属群组的实际与有效ID。
su:变更为其他使用者的身份,除 root 外,需要输入该使用者的密码。
visudo:visudo编辑/etc/sudoers文件的专属命令
sudo:可以把某些超级用户权限分类有针对性授权给指定的普通用户,并且普通用户不需要知道root密码就可以使用得到的授权
\# 基础网络操作命令
telnet:监测端口是否连通
ssh:使用SSH加密协议远程登录。
scp:用于不同主机之间复制文件。
wget:用来从指定的URL下载文件。
ping:测试主机之间网络的连通性。
route:显示和设置linux系统的路由表。
ifconfig:通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具
ifup:启动网卡。
ifdown:关闭网卡。
netstat:显示网络状态。
ss:显示和netstat类似的内容
\# 深入网络操作命令
nmap:Linux下的网络扫描和嗅探工具包
lsof:列出当前系统打开文件的工具
mail:电子邮件发送和接收工具。
mutt:邮件管理命令。
nslookup:交互式查询互联网DNS服务器的命令。
dig:用来测试域名系统工作是否正常。
host:用来测试域名系统工作是否正常。
traceroute:显示数据包到主机间的路径
tcpdump:免费的网络分析工具
\# 有关磁盘与文件系统的命令
mount:用于挂载Linux系统外的文件。
umount:用于卸除文件系统。
fsck:用来检查和维护不一致的文件系统
parted:磁盘分区命令,没有磁盘大小限制。针对大于2TB的硬盘,需要采用GPT分区,使用parted命令进行操作 。
mkfs:格式化创建Linux文件系统。常见的文件系统有ext2,ext3, ext4 , vfat等。
partprobe:从kernel重新读取分区信息。
e2fsck:检查ext2/ext3/ext4类型文件系统。
mkswap:用于设置交换区(swap area)。mkswap可将磁盘分区或文件设为Linux的交换区。
swapon:启用交换分区。
swapoff:关闭交换分区。
sync:在 linux/unix 系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率
resize2fs:调整ext2/ext3/ext4文件系统大小
\# 系统权限及用户授权相关命令
chmod:控制文件如何被他人所调用
chown:指定文件的拥有者改为指定的用户或组
chgrp:变更文件或目录的所属群组。
umask:显示或设置权限掩码
\# 查看系统用户登陆信息的命令
whoami:显示当前有效的用户名称。
who:显示目前登录系统的用户信息。
lastlog:显示系统中所有用户最近一次登录信息。
users:显示当前登录系统的所有用户的用户列表。
finger:显示本地主机现在所有的用户的登陆信息。
\# 内置命令及其它
echo:打印变量,或直接输出指定的字符串。
printf:将结果格式化输出到标准输出。
rpm:管理rpm包的命令。
yum:提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
watch:周期性的执行给定的命令,并将命令的输出以全屏方式显示。
alias:用于设置指令的别名
unalias:用于删除别名
date:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式。
clear:清除屏幕。
history:显示历史记录和执行过的指令命令。
eject:弹出光驱。
time:用于测量一个命令的运行时间。
nc:探测端口,作为客户端连接服务
xargs:给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
exec:用于调用并执行指令的命令
export:设置或者显示环境变量。
unset:删除变量或函数。
type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
bc:任意精度计算器语言
\# 系统管理与性能监视命令
chkconfig:用于检查,设置系统的各种服务
vmstat显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态
mpstat:实时系统监控工具
iostat:用于输出CPU和磁盘I/O相关的统计信息。
sar:系统性能分析工具之一,可以从多方面对系统的活动进行报告。
ipcs:报告linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。
ipcrm:删除一个或更多的消息队列、信号量集或者共享内存标识。
strace:用于诊断、调试Linux用户空间跟踪器
ltrace:用来跟踪进程调用库函数的情况
\# 关机/重启/注销和查看系统信息的命令
shutdown:用来进行关机程序
halt:用来关闭正在运行的Linux操作系统。halt命令会先检测系统runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
poweroff:用来关闭计算机操作系统并且切断系统电源
logout:退出当前登录的Shell。
exit:退出当前登录的Shell。
\# 进程管理相关命令
bg:将一个在后台暂停的命令,变成继续执行。
fg:将后台中的命令调至前台继续运行。
jobs:查看当前有多少在后台运行的命令。
kill:用于删除执行中的程序或工作。
killall:用于终止某个指定名称的服务所对应的全部进程。
pkill:通过进程名终止进程。
crontab:用来定期执行程序的命令。
ps:列出系统中当前运行的那些进程
pstree:将所有行程以树状图显示
nice/renice:为未运行命令指定运行时调度优先级的,如果是已运行的命令则需要renice命令。
nohup:让后台工作在离开操作终端时,也能够正确地在后台执行。
pgrep:用来判断程序是否正在运行。
runlevel:查看系统当前运行级别。
init:用于切换到指定的运行级别。
service:可以启动、停止、重新启动和关闭系统服务
cpu 大小
cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为单核
内存大小
cat /proc/meminfo |grep MemTotal
硬盘大小
\[root@k8s-master-node1 ~\]\# fdisk -l |grep Disk
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk label type: dos
Disk identifier: 0x000a5b7e
Disk /dev/sdb: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Disk label type: dos
Disk identifier: 0x9987fe16
\[root@k8s-master-node1 ~\]#
查看内核/操作系统/CPU信息的linux系统信息命令
\[root@k8s-master-node1 ~\]\# uname -a
Linux k8s-master-node1 3.10.0-1160.90.1.el7.x86\_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86\_64 x86\_64 x86\_64 GNU/Linux
\[root@k8s-master-node1 ~\]#
查看操作系统主机名
\[root@k8s-master-node1 ~\]\# hostname
k8s-master-node1
\[root@k8s-master-node1 ~\]#
列出所有pci设备
\[root@k8s-master-node1 ~\]\# lspci -tv
列出加载的内核模块
\[root@k8s-master-node1 ~\]\# lsmod
查看环境变量
\# env
查看内存使用量和交换区使用量
\[root@k8s-master-node1 ~\]\# free -h
total used free shared buff/cache available
Mem: 94G 22G 66G 718M 5.4G 70G
Swap: 0B 0B 0B
\[root@k8s-master-node1 ~\]#
查看各分区使用情况
\[root@k8s-master-node1 ~\]\# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 48G 0 48G 0% /dev
tmpfs tmpfs 48G 0 48G 0% /dev/shm
tmpfs tmpfs 48G 719M 47G 2% /run
tmpfs tmpfs 48G 0 48G 0% /sys/fs/cgroup
/dev/sda1 ext4 48G 28G 18G 62% /
/dev/sdb1 ext4 493G 377G 91G 81% /data
查看指定目录的大小
\[root@k8s-master-node1 ~\]\# du -lsh ./\*
4.0K./1.sh
4.0K./2.sh
4.0K./anaconda-ks.cfg
4.0K./application.yaml
2.2M./core.14557
2.6M./gmsm4encriptor\_linux
2.4M./gmsm4encriptor\_mac
19G./ivc-full-v2.9.0.tar.gz
13M./mysql-1.0-SNAPSHOT.jar
2.1G./mysql\_backup\_20230619
227M./mysql\_backup\_20230619.tar.gz
100K./nohup.out
176K./out.txt
4.0K./Sm4Util.java
4.0K./sql.sh
8.3M./test
8.0K./tmp.json
\[root@k8s-master-node1 ~\]#
查看内存总量
\[root@k8s-master-node1 ~\]\# grep MemTotal /proc/meminfo
MemTotal: 98817580 kB
\[root@k8s-master-node1 ~\]#
查看内存余量
\[root@k8s-master-node1 ~\]\# grep MemFree /proc/meminfo
MemFree: 69755204 kB
\[root@k8s-master-node1 ~\]#
查看系统运行时间、用户数、负载
\[root@k8s-master-node1 ~\]\# uptime
10:16:33 up 54 days, 16:49, 1 user, load average: 0.56, 0.75, 1.22
\[root@k8s-master-node1 ~\]#
查看系统负载磁盘和分区
\[root@k8s-master-node1 ~\]\# cat /proc/loadavg
0.55 0.74 1.20 12/3934 55075
\[root@k8s-master-node1 ~\]#
查看挂接的分区状态
\[root@k8s-master-node1 ~\]\# mount | column -t
查看所有分区
\[root@k8s-master-node1 ~\]\# fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
...
Disk identifier: 0x000a5b7e
Device Boot Start End Blocks Id System
/dev/sda1 \* 2048 100665343 50331648 83 Linux
/dev/sda2 100665344 104857599 2096128 82 Linux swap / Solaris
...
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1048575999 524286976 83 Linux
\[root@k8s-master-node1 ~\]#
查看所有交换分区
\[root@k8s-master-node1 ~\]\# swapon -s
查看磁盘参数(仅适用于IDE设备
\# hdparm -i /dev/hda
查看启动时IDE设备检测状况
\[root@k8s-master-node1 ~\]\# dmesg |grep IDE
\[ 2.093243\] pci 0000:00:07.1: legacy IDE quirk: reg 0x10: \[io 0x01f0-0x01f7\]
\[ 2.093245\] pci 0000:00:07.1: legacy IDE quirk: reg 0x14: \[io 0x03f6\]
\[ 2.093246\] pci 0000:00:07.1: legacy IDE quirk: reg 0x18: \[io 0x0170-0x0177\]
\[ 2.093248\] pci 0000:00:07.1: legacy IDE quirk: reg 0x1c: \[io 0x0376\]
\[root@k8s-master-node1 ~\]#
查看所有网络接口属性
\# ifconfig
查看所有网络接口的属性
\# iptables -L
查看路由表
\[root@k8s-master-node1 ~\]\# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.20.254 0.0.0.0 UG 100 0 0 eth0
10.48.0.0 0.0.0.0 255.255.255.0 U 0 0 0 cni0
10.48.1.0 10.48.1.0 255.255.255.0 UG 0 0 0 flannel.1
10.48.2.0 10.48.2.0 255.255.255.0 UG 0 0 0 flannel.1
10.126.1.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0
172.16.20.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-abb9352b219e
\[root@k8s-master-node1 ~\]#
查看所有监听端口
\# netstat -tnlp
查看所有已经建立的连接
\# netstat -antp
查看网络统计信息进程
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-ejAHtqph-1713051633864)]