Linux的进程和权限的基本命令
目录
基本命令
man
find
date
cal
du
ln
exit
grep
基本命令-帮助查询:
wc
cat
more
less
head
tail
echo
alias
unalias
基本命令-进程管理:
ps
kill
top
操作系统负载查看
用户分类:
程序用户
普通用户:
超级管理员root:
基本命令-用户管理:
adduser
id
chown
chmod
权限设置:
课后习题:
基本命令
man
是Linux下的帮助指令,通过man指令可以查看
Linux中的指令帮助、配置文件帮助和编程帮助等信
息
man [选项] 命令名
选项:
-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信
息;
案例:
man ls :通过man手册查看ls
man -f ls:简要的查看ls的作用
find
在指定目录下查找文件。任何位于参数之前的字符
串都将被视为欲查找的目录名。如果使用该命令时,
不设置任何参数,则find命令将在当前目录下查找
子目录与文件。并且将查找到的子目录和文件全部
进行显示。
find [查找的路径][选项] [参数]
选项:
-name:按名称查找
-iname: 忽略大小写
选项:
用双引号引起来
案例:
find . -name “*.txt”: 在当前文件夹下查找以.txt结尾的文件
find . -iname “AA”:忽略大小写查找AA文件
find
find [查找的路径][选项] [参数]
选项:
-type:文件分类超找
-maxdepth :从当前目录开始搜索的深度(也
就是子目录的嵌套)
参数:
f(表示普通文件),c, d, l, b ,s ,p 这些文件类
型
案例:
find . -type f 在当前文件夹下查找普通文件
find . -type d在当前目录下查找目录
date
打印不同格式的时间或日期,以及要根据时间和日
期执行操作,也可以使用命令设置固定的格式,在
类UNIX系统中,日期被存储为一个整数,1970年1
月1日0时0分0秒起流逝的秒数
date [选项] [参数]
选项:
-d<字符串>:显示字符串所指的日期与时间
。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间
。字符串前后必须加上双引号;
-u:显示GMT(世界时间);
案例:
date +"%Y-%m-%d %H-%M-%S" 格式化显示时间
date 获取当前日期
cal
显示日历,可以按照指定的年份月份来显示,还可
以显示当年中的第几天
cal [选项] [月份] [年份]
选项:
-s: 显示星期天为一个星期的第一天,默认的
格式
-m: 显示星期一为一个星期的第一天
-j: 显示在当年中的第几天
案例:
cal 2022 显示22年日历
cal 8 2017 显示2017年8月的日历
cal -j 8 2017 显示8月的是当年的第几天
du
对文件和目录磁盘使用的空间的查看
du [选项] [参数]
选项:
-s 仅显示总计,只列出最后加总的值。
-h 以K,M,G为单位,提高信息的可读性。
参数:
目录或文件
案例:
du ./ 查看当前文件夹文件大小
du -h ./可以查看大小的单位
ln
ln命令用来为文件创件连接,连接类型分为硬连接
和符号连接两种,默认的连接类型是硬连接。如果
要创建符号连接必须使用"-s"选项。
ln [选项] [参数]
选项:
-s:创建软连接
参数:
源文件:指定要连接的文件
目标文件:指定源文件要连接的文件
案例:
ln -s kk /lnkk 将kk文件做一个软连接到 /lnkk
exit
退出shell,并返回给定值。在shell脚本中可以终止
当前脚本执行。
grep
是一种强大的文本搜索工具,它能使用正则表达式
搜索文本,并把匹配的行打印出来。
grep [选项] [参数]
选项:
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,
标示出该列的编号。
-v 反转查找。
参数:
关键字:要超找的字符串
文件路径:要去哪个文件去超找
案例:
grep "text" /etc/passwd 输出包含匹配字符串
grep -n "text" /etc/passwd 输出包含匹配字符串加行号
grep -v "text" /etc/passwd 输出除之外的所有行(反向过滤)
基本命令-帮助查询:
wc
用来计算数字。利用wc指令我们可以计算文件的
Byte数、字数或是列数,若不指定文件名称,或是
所给予的文件名为“-”,则wc指令会从标准输入
设备读取数据。
wc [选项] [文件]
选项:
-c:只显示Bytes数;
-l:只显示列数;
-w:只显示字数。
案例:
wc -c 显示字符数
cat
用来显示文件的内容
cat [选项] [文件]
选项:
-n:有1开始对所有输出的行数编号;
-b:和-n相似,只不过对于空白行不编号;
案例:
cat xxx.txt 显示文本的内容直接输出在屏幕上
cat -n xxx.txt 在每一行前加行号
more
命令一次显示一屏文本,满屏后停下来,并且在屏
幕的底部出现一个提示信息,给出至今己显示的该
文件的百分比
more [文件]
操作
按Space键:显示文本的下一屏内容。
按Enier键:只显示文本的下一行内容。
按H键:显示帮助屏,该屏上有相关的帮助信
息。
按B键:显示上一屏内容。
按Q键:退出more命令;
less
用less命令显示文件时,用PageUp键向上翻页,用
PageDown键向下翻页。要退出less程序,应按Q
键。
less [参数] [文件]
参数
-e:文件内容显示完毕后,自动退出;
-N:每一行行首显示行号;
案例:
less /etc/passwd 查看大内存文件
head
于显示文件的开头的内容。在默认情况下,head
命令显示文件的头10行内容。
head [参数] [文件]
参数
-n:指定从头显示多少行;
head -2 /etc/passwd 查看头2行
tail
tail命令默认在屏幕上显示指定文件的末尾10行。
tail [参数] [文件]
参数
-n:指定从尾显示多少行;
-f:监控文件尾部插入的行
案例:
tail -3 /etc/passwd 查看尾3行
echo
在shell中打印shell变量的值,或者直接输出指定的
字符串
echo [参数]
参数:
要输出的值或字符串
案例:
echo hello world :控制台输出hello world
alias
使用该命令可以将一些较长的命令进行简化。使用
alias时,用户必须使用单引号''将原来的命令引起来,
防止特殊字符导致错误。
alias [选项] [参数]
选项:
-p:打印已经设置的命令别名。
参数:
alias 新的命令='原命令 -选项/参数'
案例:
alias -p 显示已有的别名
alias cc=‘ls -il’给ls -il 组合命令下·其别名
unalias
用来取消命令别名,是为shell内建命令。如果需要
取消任意一个命令别名,则使用该命令别名作为指
令的参数选项即可。
unalias [选项] [参数]
选项:
-a:取消所有命令别名。
参数:
命令别名:指定要取消的命令别名。
案例:
unalias lskk 取消lskk这个别名
基本命令-进程管理:
ps
用于报告当前系统的进程状态
ps [选项] [参数]
选项:
-a:显示所有用户的进程
-u:显示用户名和启动时间
-x:显示 没有控制终端的进程
-e:显示所有进程,包括没有控制终端的
进程
-l:长格式显示
案例:
ps 只显示隶属于自己的进程状态
ps -aux 显示所有进程
ps –aux | grep xxx 过滤出要查看的进程
kill
终止一个进程
kill [选项] [参数]
选项:
-1:重启进程
-9:强制杀死
参数:
pid进程编号
案例:
kill pid 杀死进程进程编号为pid的进程
kill -1 pid 重新启动pid的进程
kill -9 pid 强制杀死pid进程
top
进程状态显示和控制,每5s中自动刷新一次(动态显
示)
top [选项] [参数]
提示:
退出top按q
操作系统负载查看
uptime :命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、
目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
free : 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内
存缓冲区
空闲内存:available = free + buffer(缓冲) + cache(缓存)
mpstat :CPU核状态
ifstat : 网卡网络状态
df :查看磁盘的使用率
用户分类:
程序用户
用户ID为:(0<user_id<1000)
普通权限,但没家目录,也
不能登录系统
普通用户:
用户ID为:(1000+)
普通权限,但可以登录系统
超级管理员root:
用户ID为: 0
在Linux中拥有任何权限
基本命令-用户管理:
adduser
用来新建用户,指定用户的家目录和组
adduser [参数]
[参数]:
用户名
案例;
adduser test01 添加用户test01
Useradd -g xixi xiaoqiang 添加xiaoqiang 到xixi 组
usermod -g xitian tangsan 修改tangsan 到xitian 组
id
id命令可以显示真实有效的用户ID(UID)和组ID(GID)
id [选项] [参数]
选项:
-g:显示用户所属群组的ID。
-u:显示用户ID。
参数:
用户名:要查看的用户名。
案例:
id -u 查看当前用户的用户id
id test 查看test的用户id组id
chown
令改变某个文件或目录的所有者和所属的
组,该命令可以向某个用户授权,使该用户变成指
定文件的所有者或者改变文件所属的组。
chown [选项] [参数]
选项:
-R:递归处理,将指定目录下的所有文件及
子目录一并处理。
参数:
所属用户:要改变的所属用户。
所属组:要改变的所属组。
案例:
chown sunwukong a1.txt 将a1文件的所属人改为sunwukong
chown :xitianqujing a1.txt 改变文件所属组为xitianqujing
chown tansan:root a.txt 改变文件的所属人和所属组为tansan和root
chown -R sunwukong:xitianqujing dir1
R:改变文件夹及其内部所有的所属人和所属组
chmod
用来变更文件或目录的权限。在Linux
系统家族里,文件或目录权限的控制分别以读取、
写入、执行3种一般权限来区分。
chmod [选项] [参数]
选项:
权限:权限值。
参数:
文件名:设置权限的文件名。
参数:
chmod u+x,g+w kk 文件kk设置权限
chmod u=rwx,g=rw,o=r kk 给kk文件设置权限
chmod 764 kk 文件kk设置权限
权限设置:
r=4 | w=2 | x=1 | -=0 |
r权限(表示可读权限) | w权限(有可写权限) | x权限(有可执行权限) | -占位(没有具备权限) |
u:rwx | g:rwx | o:rwx |
所属用户(所属用户拥有的权限) | 所属组(所属组拥有的权限) | 其他(既不是所属用户,又不是所属用户的其他用户所拥有的权限) |
软连接和硬连接的区别:
软连接(也称为符号链接或符号连接,Symbolic Link)和硬连接(Hard Link)是在文件系统中用于创建文件的不同链接方式,它们有以下主要区别:
1. 存储方式:
- 硬连接:与原始文件共享相同的 inode(索引节点),这意味着它们本质上指向相同的文件数据。
- 软连接:是一个独立的文件,其中包含了指向目标文件的路径。
2. 独立性:
- 硬连接:与原始文件是平等的关系,删除其中一个硬连接,不影响其他硬连接和原始文件的使用。
- 软连接:如果删除了原始文件,软连接将成为无效的链接,因为它指向的目标文件已不存在。
3. 跨文件系统:
- 硬连接:不能跨不同的文件系统创建。
- 软连接:可以跨文件系统创建。
4. 对文件删除的影响:
- 硬连接:只有当所有指向该文件的硬连接(包括原始文件)都被删除时,文件的数据才会真正被删除。
- 软连接:删除软连接本身,不会影响原始文件。
5. 指向对象:
- 硬连接:只能链接文件,不能链接目录。
- 软连接:可以链接文件和目录。
在实际应用中,根据具体的需求选择使用硬连接还是软连接。如果需要在同一文件系统中创建多个等效的文件访问路径,且不希望因为删除其中一个而影响其他的使用,可以使用硬连接;如果需要创建一个可以跨文件系统、更灵活的链接,或者链接目录,通常使用软连接。
课后习题:
1如何把/etc/man_db.conf移动到/root 下并改名为test.conf
mv /etc/man_db.conf /root/test.conf
2如何查看/etc所占的磁盘空间
du -sh /etc
3如何查看/etc/passwd的头3行 和 尾3行
头三行:head -3 /etc/passwd
尾三行:tail -3 /etc/passwd
4什么命令可以统计当前系统中一共有多少账户
cat /etc/passwd | wc -l
5说说这些特殊符号含义: \ > >> 2> 2>> .(点) ..(两个点) ~ * |
\:转义字符 撬棍
>:输出覆盖重定向
>>:输出追加重定向
- :错误覆盖输出重定向
2>>:错误追加重定向
.(点):当前目录 或 正则一个字符或用于生效
..(两个点):当前目录的上级目录
~:当前用户家目录
*:所有字符或任意字符
|:管道 或 正则表示或者
6入职新公司,老大让你在服务器上限制rm命令,当用户输入rm 命令时候提示”rm command is not allowed to use.” 请问实现的步骤是?
命令行测试 alias rm=’echo command is not allowd to us’
永久生效 写入/etc/profile
生效 source /etc/profile
7 描述buffer和cache的区别
写buffer 读cache
8 如何查看一个大文件的内容
less /etc/passwd
9 如何查看所有命令别名,并删除ll别名 ,然后恢复 ll 别名
查看所有别名:alias -p
删除别名:unalias ll
恢复别名:alias ll=’ls -l’
10 过滤出/etc/passwd 文件中所有能登录的用户。(nologin不能登录)并将能登录的用户信息存到/root/loginuser.txt文件中
grep -v '/sbin/nologin' /etc/passwd > /root/loginuser.txt
11、用 find命令查看当前目录下所有文件
find ./ -name “*.txt”
12、 用 find 命令查看当前目录下所有以“.c”为后缀的文件信息
find ./ -name “*.c”
相关文章:

Linux的进程和权限的基本命令
目录 基本命令 man find date cal du ln exit grep 基本命令-帮助查询: wc cat more less head tail echo alias unalias 基本命令-进程管理: ps kill top 操作系统负载查看 用户分类: 程序用户 普通用户&#x…...

鼠标录制工具怎么挑选?9款电脑鼠标录制工具分享(2024)
你知道鼠标录制工具吗?鼠标录制工具通过记录和回放用户的操作,帮助自动化重复性任务,提高工作效率和精确性。它可以帮助用户简化很多繁琐的操作步骤,非常适合运用在电脑自动化任务、游戏自动化中,给大家整理了2024年9款…...

C1W4.LAB.Vector manipulation+Hash functions and multiplanes
理论课:C1W4.Machine Translation and Document Search 文章目录 Python 中的矢量操作Transforming vectorsExample 1Example 2 Frobenius Norm Hash functions and multiplanesBasic Hash tablesPlanesHash Function with multiple planesRandom PlanesDocument v…...

YOLOv8改进 | 检测头 | 融合渐进特征金字塔的检测头【AFPN4】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…...

数据采集监控平台:挖掘数据价值 高效高速生产!
在当今数字化的时代,数据已成为企业非常宝贵的资产之一。然而,要充分发挥数据的潜力,离不开一个强大的数据采集监控平台,尤其是生产制造行业。它不仅是数据的收集者,更是洞察生产的智慧之眼,高效高速处理产…...

【算法笔记自学】第 9 章 提高篇(3)——数据结构专题(2)
9.1树与二叉树 #include <cstdio>int main() {int n, m;scanf("%d%d", &n, &m);printf(n m 1 ? "Yes" : "No");return 0; } 9.2二叉树的遍历 #include <cstdio> #include <vector> using namespace std;const int…...

Objective-C 中字符串的保存位置
在 Objective-C 中,字符串常量和动态创建的字符串(例如通过 stringWithFormat:、initWithString: 等方法创建的字符串)在内存中保存的位置一样么 ? 在 Objective-C 中,字符串常量和动态创建的字符串在内存中的保存位置…...

git 想要创建一个新的本地分支并检出远程分支的内容
如果你想要创建一个新的本地分支并检出远程分支的内容: git checkout -b feature-branch origin/feature-branch feature-branch 是你在本地创建的新分支名,origin/feature-branch 是远程分支的引用。 根据你检出的远程分支的名字而定 不知道名称的时…...

C语言学习笔记[24]:循环语句while②
getchar()的使用场景 int main() {char password[20] {0};printf("请输入密码:");//输入 123456 后回车scanf("%s", passwoed);//数组名本身就是数组地址printf("请确认密码:Y/N");int ch getchar();if(Y ch)printf(&…...

安全运营概述
安全运营概述 概述安全运营的工作对内安全运营工作对外安全运营工作品牌建设 概述 安全是一个过程,安全是靠运营出来的,公司会不断的有新业务的变更,新产品的发布,新版本的升级,技术架构的升级,底层系统的…...

spring-cloud和spring-cloud-alibaba的关系
首先Spring Cloud 是什么? Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具,如服务发现注册、配置中心、消息总线、负载均…...

持续集成06--Jenkins构建触发器
前言 在持续集成(CI)的实践中,构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程,从而确保代码变更能够及时地得到验证和反馈。Jenkins,作为业界领先的CI/CD工具,提供了多种构建触发器选项…...

根据视图矩阵, 恢复相机的世界空间的位置
根据视图矩阵, 恢复相机的世界空间的位置 一、方法1 glsl 实现: // 从本地局部坐标系(相机空间) 到 世界空间的旋转变换 mat3 getLocal2WorldRotation() {mat3 world2localRotation mat3(viewMatrix[0].xyz,viewMatrix[1].xyz,viewMatrix[2].xyz);return inverse(world2loca…...

使用pytest-playwright截图和录制视频并添加到Allure报告
一、依赖环境 python, version==3.9.5 pytest-playwright, version==0.5.1 allure-pytest, version==2.13.5 pytest, version==6.2.5 allure, version==2.22.0pytest-playwright支持如下命令行参数: Playwright:--browser={chromium,firefox,webkit}Browser engine which …...

pytorch GPU cuda 使用 报错 整理
GPU 使用、报错整理 1. 使用指定GPU(单卡)1.1 方法1:os.environ[CUDA_VISIBLE_DEVICES]1.2 方法2:torch.device(cuda:2)1.3 报错1:RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asy…...

python + Pytest + requests 的接口自动化步骤
pythonpytestrequestallureyaml接口自动化测试项目实战 开发环境准备 1. jdk 下载 Java官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装: https://blog.csdn.net/VA_AV/article/details/138…...

基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…...

GD32 MCU上电跌落导致启动异常如何解决
大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题?本视频将会为大家讲解可能的原因以及解决方法: GD32 MCU上下电复位波形如下图所示,上电过程中如果存在吃电的模块,比如wifi模块/4G模块/开启某块电路…...

安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…...

rust + python+ libtorch
1: 环境,ubuntu 1.1 rust : rust-1.79.0 (在官方下载linux版本后,解压文件夹,内部有个install的sh文件,可安装) 安装成功测试:cargo --version 1.2 python3.10 (直接使用apt install pytho…...

ts检验-变量的类型不会包含 undefined的几种处理方法
文章目录 1. 确认索引是否存在2. 使用非空断言(Non-null assertion)3. 使用默认值4. 类型断言(Type Assertion)综合示例 import { AxiosPromise } from axios;type ApiFunction (params: any) > AxiosPromise<any>;type…...

springboot 集成minio,启动报错
springboot 集成 minio 8.5.10 报错 *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: io.minio.S3Base.…...

bignumber.js库,解决前端小数精度问题
bignumber.js 是一个 JavaScript 库,用于执行任意精度的十进制运算,特别适合处理大数字和需要高精度运算的情况。以下是一些 bignumber.js 库中的常用方法及其简要解释: 初始化 首先,你需要安装 bignumber.js 库: n…...

Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
摘要 在当今互联网时代,数据采集已成为获取信息的重要手段。然而,随着反爬虫技术的不断进步,爬虫开发者面临着越来越多的挑战。本文将探讨Java爬虫在抓取TikTok音频时的安全策略,包括如何防止请求被拦截,以及如何提高…...

通过手机控制家用电器的一个程序的设计(一)
一、概述 设计一款安卓平台上的家庭智能控制软件,通过语音识别指令控制家用电器。该软件结合离线语音识别技术、红外线和WIFI通讯技术,实现对家电的智能控制,如开关机、调温度、调频道等操作。 二、主要功能模块 离线语音识别模块 功能&…...

批量提取PDF指定区域内容到 Excel , 根据PDF文件第一行文字来自动重命名v1.3-附思路和代码实现
本次文章更新内容,图片以及扫描的PDF也可以支持批量提取指定区域内容了,主要是通过截图指定区域,然后使用OCR来识别该区域的文字来实现的,所以精度可能会有点不够,但是如果是数字的话,问题不大;…...

【持续集成_05课_Linux部署SonarQube及结合开发项目部署】
一、Linux下安装SonarQube 1、安装sonarQube 前置条件:sonarQube不能使用root账号进行启动,所以需要创建普通用户及 其用户组 1)创建组 2)添加用户、组名、密码 3)CMD上传qube文件-不能传到home路径下哦 4)…...

人像视频预处理【时间裁剪+画面裁切+调整帧率】
在视频处理中,cut(裁剪)、crop(画面裁切)和fps(帧率调整)这三个操作的顺序安排对最终的视频质量和效率有重要影响。以下是一种推荐的顺序和理由,旨在提高效率和减少错误:…...

SpringBoot+HttpClient实现文件上传下载
服务端:SpringBoot Controller package com.liliwei.controller;import java.io.File; import java.io.FileInputStream; import java.io.IOException;import javax.servlet.http.HttpServletResponse;import org.springframework.http.HttpHeaders; import org.s…...

QT--控件篇四
一、对话框 在软件开发中,对话框(Dialog)是一种常见的用户界面元素,用于与用户进行交互和获取信息。它通常以模态或非模态的形式出现,模态对话框会阻止用户与应用程序的其他部分交互,直到对话框关闭为止&a…...