Linux的常用命令(下)

gzip压缩和gunzip解压缩

gzip 文件 (功能描述:压缩文件,只能将文件压缩为.*gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
在这里插入图片描述

zip和unzip指令

zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项:
-r:递归压缩,即压缩目录
在这里插入图片描述
(/home/*与/home/、/home效果相同)
在这里插入图片描述
在这里插入图片描述

tar指令

tar指令是打包指令,最后打包的文件是tar.gz的文件。
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解包.tar文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(解压到当前目录)
在这里插入图片描述
(/home/test这个目录必须存在,才可以解压到指定目录中)

文件/目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

查看文件的所有者

ls -ahl
在这里插入图片描述

修改文件所有者

chown 新用户名 文件名
在这里插入图片描述

文件/目录所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

查看文件/目录所在组

ls -ahl

修改文件所在的组

chgrp 新组名 文件名
在这里插入图片描述

其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

usermod -g 组名 用户名
在这里插入图片描述
usermod -d 目录名 用户名 改变该用户登陆的初始目录

权限的基本介绍

ls -l中现实的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位说明:
①第0位确定文件类型(d,-,l,c,b)
②第1-3位确定所有者(该文件的所有者)拥有该文件的权限。——User
③第4-6位确定所属组(同用户组的)拥有该文件的权限。——Group
④第7-9位确定其他用户拥有该文件的权限。——Other
在这里插入图片描述

rwx作用到文件

[r] 代表可读(read):可以读取,查看。
[w] 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
[x] 代表可执行(execute):可以被执行。

rwx作用到目录

[r] 代表可读(read):可以读取,ls查看目录内容。
[w] 代表可写(write):可以修改,目录内创建+删除+重命名目录。
[x] 代表可执行(execute):可以进入该目录。

一个例子的讲解

rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件做什么
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每3个一组(rwx)读(r)写(w)执行(x)
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r–:不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为:r=4,w=2,x=1,因此rwx=4+2+1=7
1 —— 文件:硬连接数;目录:子目录数
root —— 用户
root —— 组
1213 —— 文件大小(字节),如果是文件夹,显示4096字节
Feb 2 09:39 —— 最后修改时间
abc —— 文件名

修改权限

通过chmod指令,可以修改文件或者目录的权限。

第一种方式:+、-、=变更权限

u:所有者
g:所有组
o:其他人
a:所有人(u、g、o的总和)
chmod u=rwx,g=rx,o=x 文件目录名
在这里插入图片描述
chmod o+w 文件目录名

chmod a-x 文件目录名
在这里插入图片描述

第二种方式:通过数字变更权限

r=4,w=2,x=1
rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目录名 相当于 shmod 751 文件目录名

修改文件所有者—chown

chown newowner file 改变文件的所有者
在这里插入图片描述
chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录 则使其下所有子文件或目录递归生效
在这里插入图片描述

chgrp指令修改文件所在组

chgrp newgroup file 改变文件的所有组
在这里插入图片描述

crond进行定时任务的设置

crontab进行定时任务的设置

任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1、系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
2、个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

crontab [选项]
常用选项:
-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除当前用户所有的crontab任务

快速入门

设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e命令。
接着输入任务到调度文件
如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思是说每小时的每分钟执行ls -l /etc/ > /tmp/to.txt命令

参数细节说明:
第一个“*”——1小时当中的第几分钟——(0-59)
第二个“*”——1天当中的第几小时——(0-23)
第三个“*”——1个月当中的第几天——(1-31)
第四个“*”——1年当中的第几月——(1-12)
第五个“*”——1周当中的星期几——(0-7,0和7都代表星期日)

cron -e
ls -l /etc/ > /tmp/to.txt
在这里插入图片描述
在这里插入图片描述
例子:每隔一分钟,就将当前的日期信息,追加到/tmp/mydate文件中
①先编写一个文件 /home/task.sh
vim task.sh下写入——date >> /tmp/mydate
②给task.sh一个可执行权限——chmod 744 /home/task.sh
crontab -e
写入——*/1 * * * * /home/task.sh
④成功设置定时任务
在这里插入图片描述
在这里插入图片描述

mbr分区

①最多支持四个主分区
②系统只能安装在主分区
③扩展分区要占一个主分区
④MBR最大只支持2TB,但拥有最好的兼容性

gtp分区

①支持无限多个主分区(但操作系统可能限制,比如Windows下最多128个分区)
②最大支持18EB的大容量(EB=1024PB,PB=1024TB)
③Windows7 64位以后支持gtp

Linux分区

①Linux无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

②Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

硬盘说明

①Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。

②对于IDE硬盘,驱动器标识符为“hdx~”,其中,“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

③对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

lsblk指令查看当前系统分区

在这里插入图片描述
在这里插入图片描述

向Linux系统增加一个新的硬盘,并且挂载到/home/newDisk

如何增加一块硬盘???

①虚拟机添加硬盘

②分区
fdisk /dev/sdb

③格式化

mkfs -t ext4 /dev/sdb1

④挂载
先创建一个 mkdir /home/newdisk,挂载mount /dev/sdb1 /home/newdisk

⑤设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到/home/newdisk)
vim /etc/fstab

dev/sdb1 /home/newdisk ext4 defaults 0 0

mount -a

reboot

查询系统整体磁盘使用情况

df -h
在这里插入图片描述

查询指定目录的磁盘占用情况

du -h /目录
默认为查询当前目录
-s:指定目录占用大小汇总
-h:带计量单位
-a:含文件
–max-depth=1:子目录深度
-c:列出明细的同时,增加汇总量
在这里插入图片描述

统计/etc文件下文件的个数

在这里插入图片描述

统计/etc文件下目录的个数

在这里插入图片描述

统计/etc文件下文件的个数,包括子文件夹里的

在这里插入图片描述

统计/etc文件下目录的个数,包括子文件夹里的

在这里插入图片描述

以树状显示目录结构

yum install tree
在这里插入图片描述

Linux网络配置指定ip地址

网卡中没有eth0的解决办法:

参考链接:https://www.cnblogs.com/m97i/p/8626545.html

修改成指定ip的办法

参考链接:https://blog.csdn.net/qq_43386754/article/details/85316051

修改主机名

①查看当前主机名
hostname
在这里插入图片描述
②修改Linux的主机映射文件
vim /etc/hostname (修改主机名)

③修改vim /etc/hosts增加ip和主机的映射
192.168.210.130 hadoop1

⑤如果希望windows也可以通过主机名来连接centos,进入
C:\Windows\System32\drivers\etc\hosts
192.168.210.130 hadoop1

显示系统执行的进程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况,可以不加任何参数。

ps

ps -aux

ps -aux | grep xxx

ps显示的信息选项:
USER:用户名称
PID:进程号
%CPU:进程占用CPU的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TTY:终端名称
STAT:进程状态,其中,s-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU时间,即进程使用CPU的总时间
COMMAND:启动进程所用的命令和参数,如果时间过长会被截断显示

ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进程信息
ps -x:显示后台进程运行的参数
在这里插入图片描述

全格式显示当前所有的进程,查看进程的父进程

ps -ef | grep xxx
-e:显示所有进程
-f:全进程
在这里插入图片描述
在这里插入图片描述
显示sshd的父进程

终止进程kill和killall

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

kill [选项] 进程号 (功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

常用选项:
-9:表示强迫进程立即停止

查看进程树pstree

pstree [选项]

常用选项:
-p:显示进程的PID
-u:显示进程的所属用户

pstree未找到命令解决办法:
yum install psmisc
在这里插入图片描述

服务(service)管理

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。

systemctl 服务名 [start | stop | restart | reload | status]

动态监控进程

top与ps命令很相似,它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。

top [选项]
-d秒数 (功能描述:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令)
-i (功能描述:使top不显示任何闲置或者僵死进程)
-p (功能描述:通过指定监控进程ID来仅仅监控某个进程的状态)

P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
q:退出top

此时,输入“u”可按用户名查看进程,输入“k”可以结束某进程。

查看系统网络情况

netstat [选项]
-an:按一定顺序排列输出
-p:显示哪个进程在调用
在这里插入图片描述
在这里插入图片描述

rpm包的管理

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是Redhat Package Manager(Redhat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了Redhat的标志,但理念是通用的。

查询已安装的rpm列表

rpm -qa | grep xx

rpm -qa:查询安装的所有rpm软件包
rpm -qa | more
rpm -qa | grep x[rpm -qa | grep python]

rpm -q 软件包名:查询软件包是否安装
rqm -q python

rqm -qi:软件包名,查询软件包信息
rqm -qi python

rqm -ql 软件包名:查询软件包中的文件
rqm -ql python

rqm -qf 文件全路径名:查询文件所属的软件包
rqm -qf /etc/passwd
rqm -qf /root/install.log

卸载rpm包

rpm -e RPM包的名称
注:
①如果其他软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
②如果产生了错误信息,则增加–nodeps,可以强制删除,但不建议这么做,因为依赖于该软件包的程序可能会无法运行。
rpm -e --nodeps RPM包的名称

安装rpm包

rpm -ivh RPM包全路径名称
i=install安装
v=verbose提示
h=hash进度条

yum

Yum是一个Shell前段软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

查询yum服务器是否有需要安装的软件
yum list | grep xx软件列表
yum install xxx

面试题

1、Linux常用命令

netstat
top
lsblk
find
ps
chkconfig

2、Linux相关命令

查看内存:top
磁盘存储:df -lh
端口占用:netstat -tunlp
查看进程:ps -aux | grep 进程名
io读写:iotop

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章