Loading

Linux常用命令

tar

linux打包工具,将一个或多个文件打包成一个文件,方便上传下载。

常用参数

-c 建立一个打包文件的参数指令
-x 解开一个打包文件的参数指令
-t 查看 tarfile 里面的文件
-z 使用gzip压缩
-j 使用bzip2压缩
-v 压缩过程中显示文件
-f 使用文件名,在f后要立即接文件名

注意:c/x/t 仅能存在一个!!!

实例

tar -cvf /home/log.tar /var/log			//仅打包
tar -zcvf /home/log.tar.gz /var/log		//打包后以gzip压缩
tar -zxvf log.tar.gz 				//解压

chmod

(change mode)

用户权限修改工具,可改变用户的权限。

文件权限

r 读取权限,可用数字4表示
w 写权限,可用数字2表示
x 执行权限,可用数字1表示
- 没有权限,可用数字0表示

drwxr-xr-x. 5 root root 60 Jul 6 11:05 home

第1位是文件类型:-代表文件,d代表目录

第2-4位是文件拥有者的权限

第5-7位是文件拥有者的权限

第8-10位是其它人的权限

参数说明

-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
+ 表示增加权限
- 表示取消权限
= 表示唯一设定权限
u 表示该文件的拥有者
g 表示与该文件的拥有者属于同一个群体(group)者
o 表示其他以外的人
a 表示这三者皆是

实例

chmod 777 /home		//设置权限
chmod a+x /home		//修改权限
chmod -R a+x /home	//对该目录下的所有文件修改权限

mount

linux挂载工具,用于将设备挂载到linux系统中,如U盘、移动硬盘、光盘等。

参数说明

-a 将 /etc/fstab 中定义的所有档案系统挂上
-o ro 用唯读模式挂上

实例

mount /dev/hda1 /mnt			//将 /dev/hda1 挂在 /mnt 之下
mount -o ro /dev/hda1 /mnt		//将 /dev/hda1 用唯读模式挂在 /mnt 之下

umount

-a 卸除/etc/mtab中记录的所有文件系统
-v 执行时显示详细的信息
# umount -v /dev/sda1          通过设备名卸载  
/dev/sda1 umounted  
# umount -v /mnt/mymount/      通过挂载点卸载  
/tmp/diskboot.img umounted  

fdisk

磁盘分区工具,可对磁盘进行在线分区及查看磁盘分区情况。

fdisk -l 	 //查看磁盘分区情况
fdisk /dev/sdb	 //对磁盘进行在线分区

菜单操作说明

m 显示菜单和帮助信息
a 活动分区标记/引导分区
d 删除分区
l 显示分区类型
n 新建分区
p 显示分区信息
q 退出不保存
t 设置分区号
v 进行分区检查
w 保存修改
x 扩展应用,高级功能

df

查看磁盘空间的使用情况

-h --human-readable 使用人类可读的格式
-i --inodes 列出 inode 资讯,不列出已使用 block

du

显示文件或目录所占用的磁盘空间

-h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等
-s 显示文件或整个目录的大小,默认单位是KB

显示当前目录的大小

[root@localhost ~]# du -sh
28M	.

显示某个目录的大小

[root@localhost ~]# du -sh /home
616M	/home

显示某个文件的大小

[root@localhost home]# du -sh mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
615M	mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

显示目录下所有文件的大小

[root@localhost home]# du -sh *		//当前目录
16K	mysql
615M	mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

[root@localhost home]# du -sh /home/*	//指定目录
16K	/home/mysql
615M	/home/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

查看个文件夹大小(--max-depth=后面跟包含的子文件夹深度)

[root@localhost /]# du -h --max-depth=1 /home/
16K	/home/mysql
616M	/home/
[root@localhost /]# du -h --max-depth=2 /home/
4.0K	/home/mysql/.config
16K	/home/mysql
616M	/home/
[root@localhost /]# du -h --max-depth=3 /home/
4.0K	/home/mysql/.config/autostart
4.0K	/home/mysql/.config
16K	/home/mysql
616M	/home/

route

添加或删除静态路由。

用法:

route [选项] –net 网段 –mask 掩码 gw 网关

常用命令:

route add –net 192.168.2.0 -mask 255.255.255.0 gw 192.168.2.254

route add –net 192.168.2.0/24 gw 192.168.2.254

route del default gw 192.168.1.254

route del -net 0.0.0.0 -mask 0.0.0.0 gw 192.168.1.254

route //打印路由表

永久路由存放位置:/etc/rc.local

free

显示内存状态

-b 以Byte为单位显示内存使用情况
-k 以KB为单位显示内存使用情况
-m 以MB为单位显示内存使用情况
-s 持续观察内存使用状况
free -s 10 //每10s 执行一次命令

ps

显示当前进程 (process) 的状态

ps -ef 	//显示所有命令,连带命令行
ps -aux //显示所有包含其他使用者的行程

top

top - 17:11:25 up  6:16,  1 user,  load average: 1.23, 0.92, 0.83
Tasks: 299 total,   2 running, 297 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  6.2 sy,  0.0 ni, 93.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8157196 total,  2038500 free,  4711736 used,  1406960 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  2985700 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                               
 73549 root      20   0  162140   2220   1544 R   6.2  0.0   0:00.02 top                                                                   
     1 root      20   0  193536   6620   4124 S   0.0  0.1   0:02.10 systemd            

第一行top:当前时间|系统运行时间|当前登陆用户数|系统负载【1分钟、5分钟、15分钟】

第二行Tasks:进程总数|正在运行的进程数|睡眠的进程数|停止的进程数|僵尸进程数

第三行Cpu(s):用户进程占用CPU百分比|内核进程占用CPU百分比|用户进程空间内改变过优先级的进程占用CPU百分比|空闲CPU百分比|等待输入输出的CPU时间百分比(重点关注)|CPU服务于硬中断所耗费的时间总额|CPU服务于软中断所耗费的时间总额|Steal Time

第四行Mem:物理内存总量|已使用内存的总量|空闲内存总量|用作内核缓存的内存量

第五行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 命令名/命令行

netstat

显示网络状态

-l或--listening 显示监控中的服务器的Socket
-n或--numeric 直接使用IP地址,而不通过域名服务器
-t或--tcp 显示TCP传输协议的连线状况
-u或--udp 显示UDP传输协议的连线状况
-p或--programs 显示正在使用Socket的程序识别码和程序名称
netstat -lntup

tail

文件里的最尾部的内容显示在屏幕上

-f 循环读取
-c <数目> 显示的字节数
-n <行数> 显示文件的尾部 n 行内容
tail 123.log		//默认显示文件倒数10行的内容
tail +20 123.log	//显示文件123.log倒数20行的内容
tail -f 123.log 	//不断刷新,查阅正在改变的日志文件
posted @ 2020-07-06 21:32  北兢王  阅读(125)  评论(0)    收藏  举报