Linux基本常用命令大全(附案例实战)(二)

简介: Linux基本常用命令大全(附案例实战)

2、文件系统命令

2.1 虚拟目录树


虚拟目录树的各个目录用途



2.2 df

查看系统挂载的磁盘情况

[root@node1 ~]# df
文件系统                   1K-块   已用     可用 已用% 挂载点
devtmpfs                  485816       0  485816    0% /dev
tmpfs                     497852       0  497852    0% /dev/shm
tmpfs                     497852    7788  490064    2% /run
tmpfs                     497852       0  497852    0% /sys/fs/cgroup
/dev/mapper/centos-root 17811456 146482816346628    9% /
/dev/sda1                1038336  140368  897968   14% /boot
tmpfs                      99572       0  99572    0% /run/user/0

以人能看懂的格式显示

[root@node1 ~]# df -h
文件系统                 容量 已用 可用 已用%挂载点
devtmpfs                 475M     0 475M  0% /dev
tmpfs                   487M     0 487M  0% /dev/shm
tmpfs                   487M  7.7M 479M  2% /run
tmpfs                   487M     0 487M  0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.4G   16G  9% /
/dev/sda1               1014M 138M 877M  14% /boot
tmpfs                     98M     0   98M  0% /run/user/0
#列出根目录下的内容
[root@node1 ~]# ls /
#进到boot目录
[root@node1 ~]# cd /boot

在linux中用到了虚拟目录树,它的存在就是为了解耦应用和底层存储。


2.3 mount

将光驱挂载到/mnt目录:


[root@node1 ~]# mount /dev/cdrom /mnt
#进入到/mnt目录
[root@node1 ~]# cd /mnt
#查看磁盘分区的挂载情况:
[root@node1 mnt]# df -h

2.4 umount

卸载掉挂载的分区/mnt

[root@node1 mnt]# umount /mnt

注意卸载/mnt时,当前目录不能在/mnt下面,否则报出如下图所示 提示:



#再次查看磁盘分区的挂载情况:
[root@node1 ~]# df -h
#重新挂载
[root@node1 ~]# mount /dev/cdrom /mnt
#再次查看
[root@node1 ~]# df -h

3、系统操作命令

3.1 du

du可以为目录递归地汇总每个FILE的磁盘使用情况。


• du:文件系统的磁盘使用量或是目录使用量


ᅳ a :列出所有的文件与目录容量


ᅳ h :以人们较易读的容量格式(G/M)显示 重要


ᅳ s :列出总量而已,而不列出每个各别的目录占用容量


ᅳ k :以 KBytes 列出容量显示


ᅳ m :以 MBytes 列出容量显示


[root@node1 ~]# cd /usr
[root@node1 usr]# du
.......
0 ./etc
0 ./games
36 ./include/python2.7
36 ./include
24 ./libexec/getconf
16 ./libexec/awk
.......
#添加-s参数可以生成指定目录的汇总信息,也就是共占用多大的磁盘空间
[root@node1 usr]# du -s ./
1218820 ./
#添加-h参数可以显示为人类可以读懂的格式
[root@node1 usr]# du -sh ./
1.2G ./
#将路径写成./*统计当前目录下每项内容占用的磁盘空间信息
[root@node1 usr]# du -sh ./*
61M ./bin
0 ./etc
0 ./games
36K ./include
695M ./lib
126M ./lib64
12M ./libexec
0 ./local
43M ./sbin
256M ./share
0 ./src
0 ./tmp


查看/etc目录下共占用多大磁盘空间

[root@node1 usr]# du -sh /etc/
32M /etc/

3.2 stat

stat file :显示文件的元数据


change和modify的不同


modify指的是文件内容被修改的时间


change表示文件元数据被修改的时间



3.3 history

查看历史命令


[root@node1 ~]# history
    1  clear
    2 pwd
    3 hostname
    4  vi /etc/hostname
    5  vi /etc/hosts
    6  ping node0
    7  ping node1
   ......

3.4 date


基本语法


date [OPTION]... [+FORMAT]



获取当前时间



案例演示:


[root@node1 ~]# date +%Y
2021
[root@node1 ~]# date +%m
08
[root@node1 ~]# date +%d
18
[root@node1 ~]# date +%Y%m%d
20210818
[root@node1 ~]# date +%Y%m%d%H:%M:%S
2021081809:24:08
#指定时间的格式中出现空格是需要使用 ''或""括起来
[root@node1 ~]# date +%Y%m%d %H:%M:%S
date: 额外的操作数 "%H:%M:%S"
Try 'date --help' for more information.
[root@node1 ~]# date '+%Y%m%d %H:%M:%S'
20210818 09:25:01
[root@node1 ~]# date "+%Y%m%d %H:%M:%S"
20210818 09:26:43
[root@node1 ~]# date "+%Y-%m-%d %H:%M:%S"
2021-08-18 09:26:43


获取非当前时间


#显示昨天的时间
[root@node1 ~]# date -d '1 days ago'
2021年 08月 17日 星期二 09:28:02 CST
#显示明天的时间
[root@node1 ~]# date -d '-1 days ago'
2021年 08月 19日 星期四 09:28:06 CST

设置系统时间


基本语法: date -s 字符串时间

[root@node1 ~]# date -s "2021-08-18 09:36:43"

扩展了解:cal显示日历

[root@node1 ~]# cal
     八月 2021    
日 一 二 三 四 五 六
1  2  3  4  5  6  7
8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

3.5 进程相关命令

3.5.1 ps

可以通过命令查看系统内进程信息



进程查看命令


ps(process status) :将某个时间点的程序运作情况截取下来


选项和参数


a :和输入终端(terminal) 关联的所有 process,通常与x一起使用,列出完整信息。

x :后台进程,通常与 a 这个参数一起使用,可列出较完整信息

u :有效使用者 (effective user) 相关的 process

常用组合  


ps aux 观察系统所有的程序数据 (常用)




3.5.2 kill

基本语法


kill [选项] 进程号 :通过进程号杀死进程(只会杀死进程号对应 的一个进程)


killall 进程名称 :通过进程名称杀死进程,也支持通配符(杀 死对应的一个或多个进程)


选项说明



[root@node1 ~]# tail -f /etc/profile &
[1] 1267
[root@node1 ~]# ps aux|grep tail
root       1267  0.0  0.0 108092   616 pts/0
  S    09:38   0:00 tail -f /etc/profile
root       1270 84.0  0.0 112824   976 pts/0
  R+   09:39   0:00 grep --color=auto tail
[root@node1 ~]# kill -9 1267
[root@node1 ~]# ps aux|grep tail
root       1272  0.0  0.0 112824   972 pts/0
  S+   09:39   0:00 grep --color=auto tail
[1]+ 已杀死               tail -f
/etc/profile
#killall 演示
[root@node1 ~]# tail -f /etc/profile &
[2] 1277
[root@node1 ~]# tail -f /etc/passwd &
[3] 1278
[root@node1 ~]# tail -f /etc/group &
[4] 1279
[root@node1 ~]# ps aux|grep tail
root       1274  0.0  0.0 108092   616 pts/0
  S    09:42   0:00 tail -f /etc/profile
root       1277  0.0  0.0 108092   616 pts/0
  S    09:42   0:00 tail -f /etc/profile
root       1278  0.0  0.0 108092   616 pts/0
  S    09:43   0:00 tail -f /etc/passwd
root       1279  0.0  0.0 108092   616 pts/0
  S    09:43   0:00 tail -f /etc/group
root       1282  0.0  0.0 112824   976 pts/0
  S+   09:43   0:00 grep --color=auto tail
[root@node1 ~]# killall tail
-bash: killall: 未找到命令


centos7精简安装后,使用中发现没有killall命令,于是我们想到需要 安装killall:

[root@node1 ~]# yum install killall -y
已加载插件:fastestmirror
......    
没有可用软件包 killall。
错误:无须任何处理

这是因为对应的yum源上并没有一个名字为killall的安装包,而是给 我们提供了一个psmisc安装包,安装它之后killall便可以使用了,另 外pstree也是这样。

[root@node1 ~]# yum install psmisc -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 psmisc.x86_64.0.22.20-17.el7 将被
安装
--> 解决依赖关系完成
......
已安装:
 psmisc.x86_64 0:22.20-17.el7              
完毕!
[root@node1 ~]# killall tail
[1]   已终止               tail -f
/etc/profile
[2]   已终止               tail -f
/etc/profile
[3]- 已终止               tail -f
/etc/passwd
[root@node1 ~]# ps aux|grep tail
root       1299  0.0  0.0 112824   972 pts/0
  S+   09:47   0:00 grep --color=auto tail
[4]+ 已终止               tail -f /etc/group

3.5.4 top

基本命令


       top [选项] [参数]


选项说明



操作说明


3.5.5 netstat

基本语法


       netstat [选项]


选项说明



常用命令组合


netstat -anp :查看进程网络信息

netstat -nlp :查看网络端口号占用情况

netstat -anp |grep 进程号 :查看该进程网络信息

netstat -nlp | grep 端口号 :查看该网络端口号占用情况

注意:centos7简易版安装后不带netstat命令,需要进行手动安装


[root@node1 ~]# netstat -nlp
-bash: netstat: 未找到命令
[root@node1 ~]# yum install net-tools -y

3.6 设置定时任务

基本语法


       crontab [选项]


选项说明



实战:添加一个定时任务,每分钟记录一次系统当前时间。


[root@node2 ~]# crontab -l
no crontab for root
[root@node1 ~]# crontab -e
*/1 * * * * /bin/echo `date` >>
/root/crontest.txt
[root@node1 ~]# systemctl restart crond #重启
crond服务才会生效
[root@node2 ~]# crontab -l
*/1 * * * * /bin/echo `date` >>
/root/crontest.txt

格式: * 命令



特定时间执行命令

查看定时任务的结果:

[root@node1 ~]# cat crontest.txt
2021年 08月 18日 星期三 11:01:01 CST
2021年 08月 18日 星期三 11:02:01 CST
2021年 08月 18日 星期三 11:03:02 CST
2021年 08月 18日 星期三 11:04:01 CST
2021年 08月 18日 星期三 11:05:01 CST
2021年 08月 18日 星期三 11:06:01 CST
[root@node2 ~]# crontab -l
*/1 * * * * /bin/echo `date` >>
/root/crontest.txt
[root@node2 ~]# crontab -r
[root@node2 ~]# crontab -l
no crontab for root
目录
相关文章
|
5月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
639 1
二、Linux文本处理与文件操作核心命令
|
5月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
410 137
|
5月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
977 57
|
4月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
904 2
|
5月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
481 0
Linux内存问题排查命令详解
|
5月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
495 16
|
5月前
|
运维 监控 Java
Linux常用命令行大全:14个核心指令详解+实战案例
在服务器管理与开发运维领域,Linux 指令是构建技术能力体系的基石。无论是日常的系统监控、文件操作,还是复杂的服务部署与故障排查,熟练掌握指令的使用逻辑都是提升工作效率的核心前提。然而,对于初学者而言,Linux 指令体系往往呈现出“参数繁多易混淆”“组合使用门槛高”“实际场景适配难”等痛点——例如 ls 命令的 -l 与 -a 参数如何搭配查看隐藏文件详情,grep 与管道符结合时如何精准过滤日志内容,这些问题常常成为技术进阶的阻碍。
|
6月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
928 0
|
8月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
761 143
linux命令—tree
|
7月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
1374 13