Linux基础命令

Linux

1 基础命令

文件权限

在这里插入图片描述

三个属主

u 该文件的所有者

g 所有者的同组用户

o 其他用户

每个用户有读 写 执行三个权限

  • r:4
  • w:2
  • x:1
chmod 改变权限

第一种方式变更权限

​ chmod [{ugoa}{±=}{rwx}] 文件或目录

第二种方式变更权限

​ chmod [mode=421 ] [文件或目录]

# 修改文件使其所属主用户具有执行权限
chmod u+x 文件路径
# 赋予rwx 4+2+1=7   所有访问者 这是数字的方式
chmod 777 文件

# 修改整个文件夹的权限
chmod -R 777 文件夹路径/
chown 改变所有者

chgrp 改变所属组

chown [选项 -R] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)

chown 新主  文件路径

用户管理命令

# 添加新用户
useradd 用户
useradd -d 组名 用户名
# 删除
userdel

# 设置用户密码
passwd 用户名

# 查看用户
id
id 用户名

搜索查找命令

find 查找文件/目录

​ find [搜索范围] [选项]

选项功能
-name<查询方式>按照指定的文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件。
#   该文件夹下的txt 文件
find  /文件夹 -name *.txt

find  /文件夹 -user tao

#+n大于  -n小于
find /文件夹 -size +204800# KB即 200M
grep 过滤查找及“|”管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

grep 选项-n 查找内容 源文件

-n 显示匹配行及行号

# 查找某文件在第几行
[tao@hadoop100 桌面]$ ls | grep -n demo
1:demo.txt

进程线程

**进程 **是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

ps 查看当前系统进程状态

process status

ps aux | grep xxx (功能描述:查看系统中所有进程)

ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

选项功能
-a选择所有进程
-u显示所有用户的所有进程
-x显示没有终端的进程

如果想查看进程的CPU占用率和内存占用率,可以使用aux;

如果想查看进程的父进程ID可以使用ef;

ps aux

所有进程按照这个格式展示

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER:该进程是由哪个用户产生的

PID:进程的ID号

​ %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

​ %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB;

RSS:该进程占用实际物理内存的大小,单位KB;

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

ps -ef

UID:用户ID

PID:进程ID

PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

kill 终止进程

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

-9 表示强迫进程立即停止

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

pstree 查看进程树

pstree [选项]

-p显示进程的PID
-u显示进程的所属用户
top 查看系统健康状态

top [选项]

选项功能
-d 秒数指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i使top不显示任何闲置或者僵死进程。
-p通过指定监控进程ID来仅仅监控某个进程的状态。
netstat 显示网络统计信息和端口占用情况

netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)

netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出有在listen(监听)的服务状态
-p表示显示哪个进程在调用

可以通过这个命令 看看端口是否被占用

crond 系统定时任务

定时任务-crond

# 重新启动crond 服务
service crond restart

crontab [选项]

​ 注意是crontab

-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务
[root@localhost~]# vim /etc/crontab

# 定时任务,支持bash命令
SHELL=/bin/bash

# 定时任务只支持直接写一下目录中的命令       ##(建议:定时任务中的命令全部使用绝对路径)
PATH=/sbin:/bin:/usr/sbin:/usr/bin     ## (建议:定时任务能不用命令就不用,最好使用脚本)

# 定时任务执行的内容,如果有输出,或者有报错,则通过邮件发给root用户
MAILTO=root


# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

### 切记:定时任务最小单位分钟,无法精确到秒级
特殊符号含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 也就是,号隔开一个层级的不连续时间
-代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt

解压缩

gzip/gunzip 压缩

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)

gunzip 文件.gz (功能描述:解压缩文件命令)

  • 只能压缩文件不能压缩目录
  • 不保留原来的文件
zip/unzip 压缩

zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)

-r 压缩目录

unzip [选项] XXX.zip (功能描述:解压缩文件)

-d 指定解压后文件的存放目录

zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件

## 可以看出 这里是另存为一个package
[tao@hadoop100 桌面]$ zip package.zip demo.txt demo2.txt 
  adding: demo.txt (stored 0%)
  adding: demo2.txt (stored 0%)
[tao@hadoop100 桌面]$ ls
demo2.txt  demo.txt  package.zip

unzip package.zip -d /opt
tar 打包

tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

选项功能
-c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件
## 压缩多个文件
tar -zcvf mypackage.tar.gz 1.txt 2.txt

## 压缩目录
tar -zcvf xiyou.tar.gz xiyou/

# 解压到当前目录
tar -zxvf package.tar.gz
tar -zxvf package.tar.gz -C 指定路径

磁盘分区

Linux分区

Device:分区序列

Boot:引导

Start:从X磁柱开始

End:到Y磁柱结束

Blocks:容量

Id:分区类型ID

System:分区类型

df disk free 查看磁盘空间使用情况

列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

-h 容量 GB MB KB

df -h
fdisk 查看磁盘分区详情
(需要root用户才可以使用)

-l 显示所有硬盘的分区列表

mount/umount 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。

Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得

软件包管理

rpm
yum

yum [选项] [参数]

选项功能
-y对所有提问都回答“yes”
参数功能
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
list显示软件包信息
clean清理yum过期的缓存
deplist显示yum软件包的所有依赖关系

时间日期命令

[tao@hadoop100 ~]$ date '+%Y+%m+%d %H:%M:%S'   只要是% 随便什么格式都可以解析
2023+05+27 21:03:21

## 真的神奇
[tao@hadoop100 ~]$ date -d '1 days ago'
2023年 05月 26日 星期五 21:04:29 CST

常见问题

  • Linux常用命令

find、df、tar、ps、top、netstat等。(尽量说一些高级命令)

  • Linux查看内存、磁盘存储、io 读写、端口占用、进程等命令

1、查看内存:top

2、查看磁盘存储情况:df -h

3、查看磁盘IO读写情况:iotop(需要安装一下:yum install iotop)、iotop -o(直接查看输出比较高的磁盘读写程序)

4、查看端口占用情况:netstat -tunlp | grep 端口号

5、查看进程:ps aux

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值