【玩转Linux】史上最详细的Linux命令大全和线上问题排查手册(1)

  • 6、进程操作

  • 7、远程拷贝

  • 8、共享挂载

一、基本命令


1、重启

shutdown -r now 或 reboot 或 init 6

2、关机

shutdown -h now 或 init 0

3、清屏

ctrl+l 或 clear

4、显示当前的工作目录

pwd

5、帮助命令

man #查找内容

whatis #查找内容

whereis #查找位置

6、显示目录下的文件和子目录(ls)

ls -a #显示所有文件和目录(包括隐藏文件和隐藏目录)

ls -i #显示每个文件或目录的inode

ls -m #以“,”作为分隔

ls -R #递归显示所有子目录

ls -l #使用长格式显示文件内容(可以简化为“ll”)

ll -t #以时间降序排列

ll -t|tac #以升序排列

二、文件操作


1、新建文件

touch 文件名

2、新建文件夹

mkdir 目录名

mkdir -p a/b/c

mkdir -m 755 目录名

3、复制文件或目录

cp 源文件 目标文件

cp -R 目录 目标位置

4、删除文件或目录

rm -r 目录

rm -f 文件

rm -rf 文件或目录

5、移动文件

mv 源文件 目标文件

6、查看文件内容

cat file.log | grep “test”

more -c -10 +100 file.log #显示文件file的内容,每10行显示一次,而且在显示之前先清屏。从100行开始

less file.log

7、文件权限

这里写图片描述

user:该文件的拥有者对文件的操作权限

group:跟拥有者同组的其他用户对该文件的操作权限

other:其他用户对该文件的操作权限

a)对于文件而言:

r:可读 w:可写 x:可执行

b)对于目录而言:

r:可以用ls命令查看目录中的内容

w:表示可以在该目录下建立或删除文件及子目录

x:表示可以用cd命令进入该目录

8、改变文件或目录的权限

chmod [ugo][±][rwx] 文件

chmod u=rwx 文件

chmod -R 755 目录

9、改变文件或目录的拥有者

chown 用户名 文件名

chown -R 用户名 目录

10、改变文件或目录的所属组

chgrp 用户名 文件名

chgrp -R 用户名 目录

chgrp -R 用户名:用户名 目录

11、文件下载(wget)

wget URL:下载单个文件

wget -O xxx.zip URL:下载并重命名

wget –limit-rate=300k URL:下载限速

wget -c URL:断点续传

wget -b URL:后台下载

wget –spider URL:测试下载链接

wget -i 文件:下载多个文件 (文件中含多个URL)

wget –mirror -p –convert-links -P ./LOCAL URL :下载整个网站到本地

wget –reject=gif url:过滤指定格式下载整个网址

wget -r -A下载指定格式文件:下载整个网址指定格式文件

12、文件搜索(find)

find / -name file :从 ‘/’ 开始进入根文件系统搜索文件和目录

find / -user yunfan:搜索属于用户 ‘yunfan’ 的文件和目录

find /home/yunfan -name *.bin:在目录 ‘/ home/yunfan’ 中搜索带有’.bin’ 结尾的文件

find /usr/bin -type f -atime +100:搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -mtime -10:搜索在10天内被创建或者修改过的文件

13、统计文件大小

du -h:显示文件大小

du -H:显示文件大小(K,M,G是以1000为换算单位)

du -c:统计总和

du|sort -nr|more:按照空间大小排序

du -h --max-depth=1:子目录所占的空间

du -sh ./*:统计当前路径的所有目录大小

三、用户操作


1、用户切换

su - root #普通用户->超级用户

su 用户名 #超级用户->普通用户

2、修改密码

passwd + 用户名 #超级用户

passwd #普通用户

3、用户新增

useradd 用户名 #新增用户:

useradd -m -d 路径 用户名 #新增用户时,指定主目录

4、用户删除

userdel 用户名 #删除用户

userdel -r 用户 #删除用户,同时删除宿主目录

5、Linux中与用户管理相关的文件

/etc/passwd #存放用户的密码信息

/etc/shadow #用户密码的影子文件

/etc/group #用户的组文件

/etc/gshadow #组的影子文件

这四个文件一般都不用手工更改,都是通过命令来实现。

四、压缩和打包


1、gzip 压缩后的文件是.gz格式

压缩:gzip 文件名 或 gzip -r 目录

解压缩:gunzip 压缩文件 或 gzip -d 压缩文件

2、zip 压缩后的文件为.zip格式(压缩、解压缩都保留原文件)

压缩:zip 压缩文件 源文件1 源文件2 ….

zip -r 压缩文件 源文件1 源文件2….

解压缩:unzip 压缩后的文件

3、bzip2 压缩后的扩展名是.bz2

压缩:bzip2 文件名

解压缩:bunzip2 压缩文件 或 bzip2 -d 压缩文件

4、将a、b、c、d这四个文件打包成一个文件:file.tar

tar -cvf file.tar a b c d

5、解这种包

tar -xvf file.tar

6、打包同时进行压缩

tar -zcvf file.tar.gz a b c d

7、解这种包

tar -zxvf file.tar.gz

8、查看包

tar -tf file.tar

五、系统性能


1、查看物理CPU个数

cat /proc/cpuinfo| grep “physical id”| wc -l

2、查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo | grep “cpu cores” | uniq

3、查看CPU型号

cat /proc/cpuinfo | grep ‘model name’ |uniq

4、查看逻辑CPU的个数

cat /proc/cpuinfo| grep “processor”| wc -l

5、查看内存

cat /proc/meminfo | grep MemTotal

6、查看磁盘空间

fdisk -l #看到的是物理磁盘大小(包括swap分区的物理大小)

df -h #看到的是文件系统使用状况(不包括swap分区)

7、检查内存使用情况

[root@localhost ~]# free -h -s 3

total used free shared buff/cache available

Mem: 1.7G 835M 67M 568K 831M 748M

Swap: 0B 0B 0B

  • Mem:是内存的使用情况。

  • Swap:是交换空间的使用情况。

  • total:系统总的可用物理内存和交换空间大小。

  • used:已经被使用的物理内存和交换空间。

  • free:还有多少物理内存和交换空间可用使用,是真正尚未被使用的物理内存数量。

  • shared:被共享使用的物理内存大小。

  • buff/cache:被 buffer(缓冲区) 和 cache(缓存) 使用的物理内存大小。

  • available:还可以被应用程序使用的物理内存大小,它是从应用程序的角度看到的可用内存数量,available ≈ free + buffer + cache。

8、查看CPU总体消耗(top)

top可以查看CPU总体消耗,包括分项消耗,如User,System,Idle,nice等。

  • Shift + H:显示java线程;

  • Shift + M:按照内存使用排序;

  • Shift + P:按照CPU使用时间(使用率)排序;

  • Shift + T:按照CPU累积使用时间排序。

[root@localhost ~]# top

top - 01:30:19 up 83 days, 55 min, 1 user, load average: 0.00, 0.01, 0.05

Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 1776244 total, 69352 free, 855920 used, 850972 buff/cache

KiB Swap: 0 total, 0 free, 0 used. 766020 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

23712 mysql 20 0 1894384 505420 9084 S 0.3 28.5 241:46.61 mysqld

1 root 20 0 43420 2712 1480 S 0.0 0.2 3:54.43 systemd

第一行:01:30:19 up 83 days, 1 user, load average: 0.00, 0.01, 0.05:01:30:19 系统时间,up 83 days 运行时间,1 user 当前登录用户数,load average 负载均衡情况,分别表示1分钟,5分钟,15分钟负载情况。

第二行:Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie:总进程数79,运行数1,休眠 78,停止0,僵尸进程0。

第三行:%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st:用户空间CPU占比0.2%,内核空间CPU占比0.2%,改变过优先级的进程CPU占比0%,空闲CPU占比99.7,IO等待占用CPU占比0%,硬中断占用CPU占比0%,软中断占用CPU占比0%,当前VM中的cpu 时钟被虚拟化偷走的比例0%。

第四和第五行表示内存和swap区域的使用情况。

第七行表示:

  • PID:进程id

  • USER:进程所有者

  • PR:进程优先级

  • NI:nice值。负值表示高优先级,正值表示低优先级

  • VIRT:虚拟内存,进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

  • RES:常驻内存,进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

  • SHR:共享内存,共享内存大小,单位kb

  • S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

  • %CPU:上次更新到现在的CPU时间占用百分比

  • %MEM:进程使用的物理内存百分比

  • TIME+:进程使用的CPU时间总计,单位1/100秒

  • COMMAND:进程名称(命令名/命令行)

9、查看CUP总体消耗占比(sar)

[root@localhost ~]# sar -u 3

Linux 3.10.0---------- x86_64 (2 CPU)

01:34:13 AM CPU %user %nice %system %iowait %steal %idle

01:34:16 AM all 0.17 0.00 0.17 0.00 0.00 99.67

01:34:19 AM all 0.17 0.00 0.17 0.00 0.00 99.67

01:34:22 AM all 0.17 0.00 0.00 0.00 0.00 99.83

01:34:25 AM all 0.00 0.00 0.17 0.00 0.00 99.83

01:34:28 AM all 0.17 0.00 0.17 0.00 0.00 99.67

01:34:31 AM all 0.00 0.00 0.00 0.00 0.00 100.00

01:34:34 AM all 0.00 0.00 0.17 0.00 0.00 99.83

  • %user:用户空间的CPU使用。

  • %nice:改变过优先级的进程的CPU使用率。

  • %system:内核空间的CPU使用率。

  • %iowait:CPU等待IO的百分比 。

  • %steal:虚拟机的虚拟机CPU使用的CPU。

  • %idle:空闲的CPU。

在以上的显示当中,主要看%iowait和%idle:

  • 若 %iowait的值过高,表示硬盘存在I/O瓶颈;

  • 若 %idle的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量;

  • 若 %idle的值持续低于 10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU;

10、找到进程中最耗CPU的线程

[root@localhost ~]# ps -Lp 20379 cu

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。

面试经验技巧篇
  • 经验技巧1 如何巧妙地回答面试官的问题
  • 经验技巧2 如何回答技术性的问题
  • 经验技巧3 如何回答非技术性问题
  • 经验技巧4 如何回答快速估算类问题
  • 经验技巧5 如何回答算法设计问题
  • 经验技巧6 如何回答系统设计题
  • 经验技巧7 如何解决求职中的时间冲突问题
  • 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
  • 经验技巧9 在被企业拒绝后是否可以再申请
  • 经验技巧10 如何应对自己不会回答的问题
  • 经验技巧11 如何应对面试官的“激将法”语言
  • 经验技巧12 如何处理与面试官持不同观点这个问题
  • 经验技巧13 什么是职场暗语

面试真题篇
  • 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
  • 真题详解2 某知名社交平台软件工程师笔试题
  • 真题详解3 某知名安全软件服务提供商软件工程师笔试题
  • 真题详解4 某知名互联网金融企业软件工程师笔试题
  • 真题详解5 某知名搜索引擎提供商软件工程师笔试题
  • 真题详解6 某初创公司软件工程师笔试题
  • 真题详解7 某知名游戏软件开发公司软件工程师笔试题
  • 真题详解8 某知名电子商务公司软件工程师笔试题
  • 真题详解9 某顶级生活消费类网站软件工程师笔试题
  • 真题详解10 某知名门户网站软件工程师笔试题
  • 真题详解11 某知名互联网金融企业软件工程师笔试题
  • 真题详解12 国内某知名网络设备提供商软件工程师笔试题
  • 真题详解13 国内某顶级手机制造商软件工程师笔试题
  • 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
  • 真题详解15 某著名社交类上市公司软件工程师笔试题
  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题

资料整理不易,点个关注再走吧
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 经验技巧6 如何回答系统设计题
  • 经验技巧7 如何解决求职中的时间冲突问题
  • 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
  • 经验技巧9 在被企业拒绝后是否可以再申请
  • 经验技巧10 如何应对自己不会回答的问题
  • 经验技巧11 如何应对面试官的“激将法”语言
  • 经验技巧12 如何处理与面试官持不同观点这个问题
  • 经验技巧13 什么是职场暗语

[外链图片转存中…(img-mWvPQ7T4-1713552234980)]

面试真题篇
  • 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
  • 真题详解2 某知名社交平台软件工程师笔试题
  • 真题详解3 某知名安全软件服务提供商软件工程师笔试题
  • 真题详解4 某知名互联网金融企业软件工程师笔试题
  • 真题详解5 某知名搜索引擎提供商软件工程师笔试题
  • 真题详解6 某初创公司软件工程师笔试题
  • 真题详解7 某知名游戏软件开发公司软件工程师笔试题
  • 真题详解8 某知名电子商务公司软件工程师笔试题
  • 真题详解9 某顶级生活消费类网站软件工程师笔试题
  • 真题详解10 某知名门户网站软件工程师笔试题
  • 真题详解11 某知名互联网金融企业软件工程师笔试题
  • 真题详解12 国内某知名网络设备提供商软件工程师笔试题
  • 真题详解13 国内某顶级手机制造商软件工程师笔试题
  • 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
  • 真题详解15 某著名社交类上市公司软件工程师笔试题
  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题

[外链图片转存中…(img-rmXlwTif-1713552234992)]

资料整理不易,点个关注再走吧
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值