Linux中常用的系统命令

本期文章主要简单介绍Linux中常用的系统命令,包括:stat、who、whoami、hostname、uname、top、ps、du、df、ifconfig、free、clear、alias等。

1、stat -- 显示文件(inode)的状态信息
stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

每一个文件都有3种时间(称为时间戳timestamps),对这3种时间,很多时候容易混淆不清,因此 这里要说明下:
Access time(atime):是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容,使用cp命令把该文件(即来源文件)复制成其他文件,或者在这个文件上运用grep sed more less tail head 等命令,凡是读取而不修改文件的操作,均衡改变文件的Access time.
Modify time(mtime):是指修改文件内容的时间,只要文件内容有改动(如使用转向输出或转向附加的方式)或存盘的操作,就会改变文件的Modify time,平常我们使用ls –l查看文件时,显示的时间就是Modify time
Change time(ctime):是指文件属性或文件位置改动的时间,如使用chmod,chown,mv指令集使用ln做文件的硬是连接,就会改变文件的Change time.
注释:
如果修改文件(使用编辑器存盘或使用) >>转向操作),则Modify time和Change time
会同步更新成写入的时间,但Access time不变。
如果执行touch文件,则3种时间全部改变。
使用ln –s做文件的软式连接,会改变文件的取用时间。
使用ls –la查看一般文件,不会更改这三种时间,但如果这个文件时符号链接文件,则会改变取用的时间(Access time)

实例:显示文件的详细信息 - stat backMyCrontab

2、who和whoami-- 显示当前系统的用户信息

who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。

**显示当前登录系统的用户**
\# who  //显示当前登录系统的用户root   tty7 2014\-05\-13  12:12  (:0)  
root   pts/0  2014\-05\-14  17:09  (:0.0)  
**只显示当前用户**  
\# who -m -H  
NAME   LINE     TIME       COMMENT  
root   pts/1  2014\-05\-14  18:51  (192.168.1.17)
精简模式显示
\# who -q  
root root root root  
显示**当****前登录用户的IP**
\# who -m  
root     pts/0        2020-04-04 21:15 (119.117.83.115)
**whoami命令用于显示自身用户名称**,本指令相当于执行"**id -un**"指令。 

3、hostname-- 显示主机名
Linux中hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。

hostname命令可以设置系统的hostname,格式:hostname newname
newname即要设置的新的hostname,运行后立即生效,
但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,
就要修改相关的设置文件。
  1.临时修改:
  #hostname ***** //*****为修改的hostname
  2.永久修改:
  # vi /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=yourname //在这修改hostname
  # vi /etc/hosts
  127.0.0.1 localhost.localdomain localhost
  192.168.184.133 yourname //在这修改hostname

4、uname-- 显示操作系统相关信息

uname可显示电脑以及操作系统的相关信息。
语法:
uname [-amnrsv][--help][--version]
参数说明:
-a或--all  显示全部的信息。
-m或--machine  显示电脑类型。
-n或-nodename  显示在网络上的主机名称。
-r或--release  显示操作系统的发行编号。
-s或--sysname  显示操作系统名称。
-v  显示操作系统时间(timestamp)。
--help  显示帮助。
--version  显示版本信息。

5、top-- 监控linux的系统状况
top命令经常用来实时监控linux的系统状况,比如cpu、内存的使用,类似于Windows的任务管理器。

-b  以批量模式运行,但不能接受命令行输入;
-c 显示命令行,而不仅仅是命令名;
-d N  显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;
-i 禁止显示空闲进程或僵尸进程;
-n NUM  显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出;
-p PID 仅监视指定进程的ID;PID是一个数值;-q  不经任何延时就刷新;
-s  安全模式运行,禁用一些交互互指令;
-S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;

6、stat -- 显示文件的状态信息
Linux中的Ps命令用于显示当前进程 (process) 的状态,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等信息。详情点击文章:Linux命令之Ps——进程管理命令

ps -ef/aux/ax:显示所有当前进程
ps -u root:显示指定用户进程
ps -aux --sort -pcpu:根据CPU使用率来升序排序
ps -f -C getty 1:通过进程名和PID过滤,带格式显示(1是PID或者进程名)
pstree/ps -axjf:树形显示进程

7、du和df-- 显示 Linux 文件系统的磁盘使用情况
du (Disk usage) 用来计算每个文件的磁盘用量,目录则取总用量。
df (disk free) 其功能显示每个文件所在的文件系统的信息,默认是显示所有文件系统。

示例1:显示单个文件的大小(默认为k) --  du t3.log
[root@recycleBin]# du t3.log 
4  t3.log
示例2:-s选项 sum求和当前目录文件大小 --  du -sh $(pwd)
[root@recycleBin]# du -sh $(pwd)
32K  /recycleBin
示例3:输出当前目录下各个子目录所使用的空间 --  du --max-depth=1
[root@izwz970o39tdx3g4cd7lmaz jhhtest]# du --max-depth=1
32  ./recycleBin
120  ./autoCheckIn
160  .
示例4:显示磁盘使用情况 --  df
[root@jhhtest]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       41151808 5306536  33731840  14% /
devtmpfs          931528       0    931528   0% /dev
tmpfs             941860       0    941860   0% /dev/shm
示例5:以人性化的方式显示磁盘使用情况:df -h
示范6 : 显示某个文件所在的文件系统的信息:df -h 目录名称

8、ifconfig-- 显示或设置网络设备状态
ifconfig可设置网络设备的状态,或是显示目前的设置。

启动关闭指定网卡
\# ifconfig eth0 down\# ifconfig eth0 up

为网卡配置和删除IPv6地址

\# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡诶之IPv6地址\# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址

用ifconfig修改MAC地址

\# ifconfig eth0 down //关闭网卡\# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址\# ifconfig eth0 up //启动网卡\# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 \# ifconfig eth1 up //启动网卡

配置IP地址

\# ifconfig eth0 192.168.1.56 //给eth0网卡配置IP地址\# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 给eth0网卡配置IP地址,并加上子掩码\# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

启用和关闭ARP协议

\# ifconfig eth0 arp  //开启\# ifconfig eth0 -arp  //关闭

设置最大传输单元

\# ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes

实例来源:https://www.runoob.com/linux/linux-comm-ifconfig.html

​9、free-- 显示系统内存状态信息
free  命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。-g   以GB为单位显示内存使用情况。
-h   以human readable方式输出-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。RAM+SWAP-V  显示版本信息。

10、clear-- 清屏指令
Linux中clear命令用于清除屏幕,使用时候直接一条clear命令回车就行。

11、alias-- 设置别名
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。

例如:alias 100coderssh= 'ssh -i ~/.ssh/100.pem ec2-user@192.168.1.131'
这下子就可以直接使用100coderssh来代替原来ssh登录命令了
alias-p : 查看当前所有的alias 
alias每次重启都需要重新设置,可以将alias命令加入 /etc/.bashrc 或者 ~/.bashrc文件就不用每次重启都重新设置了。
/etc/.bashrc针对所有用户生效,~/.bashrc是针对当前用户生效 。
最后执行下 source /etc/bash.bashrc 命令会立即刷新alias。
56 声望
1 粉丝
0 条评论
推荐阅读
申请阿里云免费SSL证书
本文介绍如何申请阿里云免费SSL证书,可用于认证HTTPS。申请步骤前期准备:阿里云账户+域名。 一、进入SSL证书控制台 链接:[链接]左侧导航栏概览 -&gt; 购买证书 : {代码...} 之后立即购买并支付,支付成功后前...

浩Coding阅读 2k

Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。

ThinkSNS1阅读 2.4k

confluence7.2.1的部署与迁移---呕心沥血版
Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 到官网下载最新版本,截止目前...

暗涌阅读 7.8k

C++编译器和链接器的完全指南
C++是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节。编译器和链接器是两个非常重要的概念。本文将详细介绍C++中的编译器和链接器以及它们的工作原理和使用方法。

小万哥2阅读 981

封面图
在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。

扣钉日记3阅读 1.4k

封面图
Ubuntu 20.04 读写 Windows 10 共享目录(qbit)
本文实验环境中,Windows 操作系统版本为 Windows Server 2016,应该对 Windows 10 和 Windows Server 2019 同样适用

qbit1阅读 6.2k

Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...

qbit阅读 4.1k

56 声望
1 粉丝
宣传栏