本期文章主要简单介绍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。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。