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
目录
相关文章
|
14天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
42 14
Linux 10 个“who”命令示例
|
3天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
52 20
|
3天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
24 7
|
15天前
|
人工智能 安全 Linux
|
23天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
21天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
27天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
110 3
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
92 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
251 6