Linux相关命令

news/2025/2/23 1:14:36/

Linux相关知识

    • 1.名词介绍
    • 2.Linux 文件基本属性
      • 1.Linux文件属主和属组
      • 2.更改文件属性
        • 1.chgrp:更改文件属组
        • 2.chown:更改文件所有者(owner),也可以同时更改文件所属组。
        • 3.chmod:更改文件9个属性
    • 3. Linux 文件与目录管理
      • 1.处理文件常用的命令
        • 1. ls(英文全拼:list files): 列出目录及文件名
        • 2. cd(英文全拼:change directory):切换目录
        • 3. pwd(英文全拼:print work directory):显示目前的目录
        • 4. mkdir(英文全拼:make directory):创建一个新的目录
        • 5. rmdir(英文全拼:remove directory):删除一个空的目录
        • 6. cp(英文全拼:copy file): 复制文件或目录
        • 7. rm(英文全拼:remove): 删除文件或目录
        • 8. mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
      • 2.Linux 文件内容查看
        • 1. cat 由第一行开始显示文件内容
        • 2. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
        • 3. nl 显示的时候,顺道输出行号!
        • 4. more 一页一页的显示文件内容
        • 5. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
        • 6. head 只看头几行
        • 7. tail 只看尾巴几行
    • 4.Linux 用户和用户组管理
        • 1.查看用户所属组
        • 2.修改用户所属组
        • 3.添加用户到新组:
        • 4.更改用户的主要组:
    • 5.暂未分类

用来记录在生产当中经常用到的一些命令

1.名词介绍

用户所属组:在创建用户时没有特别指定一个主要组,系统通常会自动创建一个与用户名相同的组作为该用户的主要组。

2.Linux 文件基本属性

1.Linux文件属主和属组

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql

2.更改文件属性

1.chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
2.chown:更改文件所有者(owner),也可以同时更改文件所属组。

语法:

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
3.chmod:更改文件9个属性

语法:

 chmod [-R] xyz 文件或目录#举例 r读:4 w写:2 x执行:1chomod -R 770 a

选项与参数

  • xyz : x代表拥有者的权限y代表所属组的权限,z代表其他用户的权限
  • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

3. Linux 文件与目录管理

1.处理文件常用的命令

1. ls(英文全拼:list files): 列出目录及文件名
2. cd(英文全拼:change directory):切换目录
3. pwd(英文全拼:print work directory):显示目前的目录
4. mkdir(英文全拼:make directory):创建一个新的目录
5. rmdir(英文全拼:remove directory):删除一个空的目录
6. cp(英文全拼:copy file): 复制文件或目录
7. rm(英文全拼:remove): 删除文件或目录
8. mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

2.Linux 文件内容查看

Linux系统中使用以下命令来查看文件的内容:

1. cat 由第一行开始显示文件内容
2. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
3. nl 显示的时候,顺道输出行号!
4. more 一页一页的显示文件内容
5. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
6. head 只看头几行
7. tail 只看尾巴几行

4.Linux 用户和用户组管理

1.查看用户所属组
groups username
2.修改用户所属组
groups username
3.添加用户到新组:

使用 usermod 命令可以将用户添加到额外的组中。例如,要将用户 username 添加到 newgroup 组中,可以使用以下命令:

sudo usermod -aG newgroup username
这里的 -aG 选项表示追加用户到指定的附加组而不影响其他组成员关系。
4.更改用户的主要组:

如果需要更改用户的主要组,可以使用 usermod 命令,但不需要 -a 选项。例如,要将用户 username 的主要组更改为 newprimarygroup,可以使用:

sudo usermod -g newprimarygroup username
这里的 -g 选项用于指定新的主要组。

请注意,在执行这些操作时,可能需要管理员权限(即使用 sudo)。完成这些更改后,用户可能需要
重新登录才能使组成员资格的变化生效。

5.暂未分类

1.打开文件系统1.lsof | wc -l  当前系统中打开的文件总数COMMAND    PID           USER    FD        TYPE    DEVICE   SIZE/OFF        NODE                   NAMEsshd      48766          ssjs    mem       REG     253,0      309248      134502975     /usr/lib64/security/pam_systemd.so注释:COMMAND:进程的名称PID:进程标识符USER:进程所有者FD:文件描述符,应用程序通过文件描述符识别该文件.如cwd txt 等TYPE:打开文件类型 REG文件 DIR目录 CHR字符 BLK块设备 UNIX套接字 FIFO 先进先出队列IPv4网际协议IP套接字DEVICE:指定磁盘的名称SIZE:文件的大小NODE:索引节点(文件在磁盘上的标识)NAME:打开文件的确切名称2.lsof -p xx 显示哪些文件被pid为xx的进程打开3.lsof -i 显示所有打开的端口 -i:80 显示所有打开80端口的进程4.lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | head 10输出排名前十的[进程号]以及对应[打开的文件数]
2.重定向操作符`>`。这会把命令的输出内容保存到指定的文件里,而不是打印在屏幕上。以下是具体的命令格式:lsof > output_file.txt 这条命令会执行`lsof`,并将其输出的所有内容保存到名为`output_file.txt`的文件中。如果文件已存在,这将会覆盖原有文件内容;如果文件不存在,则会新建该文件。
2.ls-a查看隐藏文件ls -srlht  用于列出目录中的文件和子目录并给出文件的大小split -b 行数 输入文件 输出文件名臣前缀    把文件按照行数切割
3. mv-f:如果目标文件已经存在,不会询问而直接覆盖mv file1 file2 把文件file1重命名为file2mv file1 file2 dir 把文件file1、file2移动到目录dir中4. findfind / -name file1 从根目录开始搜索文件和目录find / -user user1 搜索属于用户user1的文件和目录了find /home/user1 -name \*.bin 在目录/home/user1中搜索带有.bin结尾的文件5. cpcp -a /tmp/dir . 复制一个目录到当前工作目录cp -a dir1 dir2 复制一个目录cp dir/* . 复制一个目录到当前工作目录scp -r $pdir/$fname $user@$host:$pdir/$fname  把文件从一个服务器拷贝到另外一个服务器(全部拷贝)rsync -av $pdir/$fname $user@$host:$pdir/$fname  把文件从一个服务器拷贝到另外一个服务器(增量拷贝)6. chmodchmod +x 文件  授予文件的执行权限chown -R x:x 目录  递归的把目录的所有者和所属组赋予x和xchown -h x:x 目录  修改自身的所有者和所属组而不是软连接的所有者和所属组7. tartar -zxvf 文件 -C 解压路径tar -zcvf 压缩后的文件名 需要压缩的目录
8. jps场景:查询存活的进程ID以及进程别名进程ID(PID)  对外显示进程名称(启动java进程的类名--以java命令直接启动 |或jar文件名 --用java -jar命令启动的jar文件)5461         DorisFEjps -l 显示主类的全限定名jps -v 显示传递给jvm的参数
9. readlink -f /proc/进程ID/exe  场景:根据进程ID查询进程二进制名称/home/ssjs/module/apache-doris-2.0.2-bin-x64/java8/bin/java 最后一个为进程ID对应的程序二进制进程名称
10. ss -nltp|grep 进程号 可查询到端口号   *和0.0.0.0同一个意思表示任意地址场景:用来查询监听端口号,如果有本机地址就选择本机地址后的端口号,没有就都选泽监听状态                   本地地址:端口号           远程地址:端口号                     进程名称    进程ID   文件描述符LISTEN     0      128          *:9060                     *:*                   users:(("doris_be",pid=20414,fd=313))LISTEN     0      128          *:8040                     *:*                   users:(("doris_be",pid=20414,fd=334))LISTEN     0      128          *:9050                     *:*                   users:(("doris_be",pid=20414,fd=573))LISTEN     0      128          *:8060                     *:*                   users:(("doris_be",pid=20414,fd=315))8. 进程1.想看一个进程起没起过,在不同用户下执行ps -ef | grep 进程名称 ,关注自己的安装目录  1.netstat -netup | grep 50052这条命令会列出所有与端口50052相关的网络连接,包括TCP和UDP连接,以及与这些连接关联的进程信息    tcp6       0      0 139.3.6.202:36772(远程机器)       139.3.6.202:3306 (本地机器)       ESTABLISHED 20199/java         tcp6       0      0 139.3.6.202:3306 (远程机器)       139.3.6.202:36772(本地机器)       ESTABLISHED -    这两个是一个连接,只是因为调度和mysql是在一台机器上,一个是从调度的角度看,一个是从mysql的角度看             2.ps aux | grep 进程号  显示进程的详细信息a 显示所有用户的所有进程 u 选择有效的用户id或者用户名  x显示没有控制终端的进程,同时显示各个命令的具体路径ssjs 38190  0.    0  0.0 112808   968 pts/1    S+   10:54   0:00 grep --color=auto 1196485说明:ssjs:运行该进程的用户名38190:grep命令的pid(这个pid是随机的,每次运行都会不同)  该进程的id号,在当前系统是唯一的0.0:cpu使用率0.0:内存使用率112808:进程占用swap内存大小(kb)968:进程使用物理内存大小(kb)pts/1:进程在哪个终端上运行.?表示位置或不需要终端S+:显示进程当前的状态 D不可中断 R运行 S休眠 T停止 Z僵死 N低优先级 s父进程 +前台进程10:54:启动该进程的时间0:00:该进程占用cpu时间grep --color=auto:启动该进程的命令名称                        3.ps -ef | grep 进程号/进程名          -e 显示所有进程  -f 全格式ssjs     20383  4599  0 11:24 pts/1    00:00:00 grep --color=auto 1248328UID:程序被该UID所拥有的PID:程序pidPPID:上级父程序的IDC:cpu使用的资源百分比STIME:系统启动时间TTY:登入者的终端机位置TIME:使用掉的CPU时间CMD:下达的命令    4.ps -ef | wc -l 查看进程总数9. shell在shell脚本中可以用/待搜索内容  去搜索对应内容位置
10. 查看文件内容cat file 从第一个字节开始正向查看文件的内容tac file 从最后一行开始反向查看一个文件的内容more file 查看一个长文件的内容less file 允许在文件中和正向操作一样的反向操作head -2 查看一个文件的前两行tail -2 查看一个文件的最后两行tail -f /var/log/messages 实时查看被添加到一个文件中的内容
11. yumyum install 包名
12. whereiswhereis python 查看python的位置
13.diffdiff两个文件如果都相同就没有出现的行,如果不同会列出[ssjs@server1 test]$ vi 1[ssjs@server1 test]$ vi 2[ssjs@server1 test]$ diff 1 214.拷贝scp -r $pdir/$fname $user@$host:$pdir/$fname  把文件从一个服务器拷贝到另外一个服务器(全部拷贝)rsync -av $pdir/$fname $user@$host:$pdir/$fname  把文件从一个服务器拷贝到另外一个服务器(增量拷贝)
16.防火墙设置sudo systemctl status firewalld  查看防火墙状态sudo systemctl start firewalld  打开防火墙sudo systemctl stop firewalld  关闭防火墙
17.时钟同步sudo systemctl start ntpd    开启ntpd时钟同步sudo systemctl enable ntpd   设置系统启动时自启ntpd
18.其他split -b 行数 输入文件 输出文件名臣前缀    把文件按照行数切割在shell脚本中可以用/待搜索内容  去搜索对应内容位置定位到头:定位到尾:
19.shell命令行首:gg行尾:endinser状态需要按esc在操作
20.查看编码集file -bi example.txt | grep charset
21.Doris不支持ETX分隔符导入解决方法:在202上/home/ssjs/shuju/cuishou/1.txt  修改文件名 然后sh 1.txt,将ETX分隔符换位制表符,在源文件替换
22.查看文件行数wc -l 文件名
23.Perl脚本使用场景:文本处理数据清洗:Perl 非常适合用于清洗和格式化文本数据,例如去除不必要的字符、调整格式、合并或拆分字段等。日志分析:Perl 可以用来解析和分析日志文件,提取有用的信息,并生成报告或图表。字符串操作:Perl 提供了丰富的字符串处理函数和正则表达式支持,使得处理复杂字符串变得相对简单
24.perl -0777 -pe 's/(?<!\\)"(?:\\.|[^"])*"(*SKIP)(*FAIL)|,/\t/g; # 替换未被双引号包围的逗号为制表符s/"//g;  # 移除所有双引号' inputfile > outputfile功能介绍:替换文件中未被双引号包围的逗号为制表符(\t),而保留双引号内的逗号不变,最后移除所有双引号\使用场景:从gbse上使用导出功能导出excel数据,上传到doris服务器中,使用local data导入数据时做预处理LOAD DATA LOCALINFILE '文件路径/文件名.csv'INTO TABLE 库名.表名          	COLUMNS TERMINATED BY '\t'   -- 列分隔符LINES TERMINATED BY '\n'     -- 行分隔符IGNORE 1LINES;               -- 跳过第一行 
25. systemctl是什么:是一组命令,涉及到系统管理的方方面面。应用场景:
26.rpm -qa | grep mysql是什么 : 这是 Red Hat Package Manager 的缩写,是一个用于安装、卸载、查询、验证、更新和升级 RPM 软件包的命令行工具。-qa:这是 rpm 命令的两个选项组合在一起使用的。-q 或 --query:表示查询已安装的软件包。-a 或 --all:表示查询所有已安装的软件包。grep 是一个文本搜索工具,用于搜索包含指定模式的行这个命令的输出将是一个或多个与 MySQL 相关的已安装软件包的名称
27.zookeeper

http://www.ppmy.cn/news/1574287.html

相关文章

Spring AI + Ollama 实现调用DeepSeek-R1模型API

一、前言 随着人工智能技术的飞速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;在各个领域的应用越来越广泛。DeepSeek 作为一款备受瞩目的国产大语言模型&#xff0c;凭借其强大的自然语言处理能力和丰富的知识储备&#xff0c;迅速成为业界关注的焦点。无论是文本生…

数据库-SQLite

目录 1.SQLite介绍 2.SQLite特性 3.SQLite使用 3.1.环境准备 3.2.创建数据库文件 3.3.操作数据库 4.API接口 4.1.封装数据库句柄结构体 4.2.数据库句柄初始化 4.3.连接数据库 4.4.创建表 插入数据 修改数据 删除数据 4.5.执行查询语句 4.6.初始化存储查询结果句柄 …

【Gin-Web】Bluebell社区项目梳理2:JWT-Token认证

本文目录 一、JWTHeaderPayloadSignature 二、代码解析刷新Token鉴权中间件 一、JWT JWT是Json Web Token的缩写。JWT本身是没有定义任何技术实现&#xff0c;只是定义了一种基于Token的会话管理规则&#xff0c;涵盖Token需要包含的标准内容和Token生成过程&#xff0c;特别适…

Rust 中的 `Drop` 特性:自动化资源清理的魔法

一、自动清理机制&#xff1a;Rust 的析构函数 在许多语言中&#xff0c;当程序结束或对象不再需要时&#xff0c;开发者必须显式调用清理函数来释放内存或关闭资源。Rust 则不然——它通过 Drop 特性实现了类似析构函数&#xff08;destructor&#xff09;的自动化清理机制。…

毕业项目推荐:基于yolov8/yolo11的100种中药材检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

缺少网络安全组织架构 网络安全缺陷

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 目录 TCP/IP概述 一、计算机网络的体系结构 1、计算机网络体系结构定义 2、OSI/RM与TCP/IP对应关系 3、名词释义 4、TCP/IP协议主要构成和功能 5、各层次间…

视频HDR技术详解,你的电脑怎么播放HDR视频?

闲聊&#xff1a;前两天在b站上面看到影视飓风的视频&#xff0c;让我有点疑惑&#xff0c;我不知道为什么播放视频有设备撑不住一说&#xff0c;所以感兴趣去ytb下载了4k原片30hz刷新的&#xff0c;然后测试一下我的电脑能不能播放&#xff0c;发现还是可以的&#xff0c;视觉…

【Rust中级教程】1.16. 泛型trait:泛型(类型参数)trait、关联类型trait

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 这篇文章以概念性的和建议性的文字偏多&#xff0c;需要你对泛型类型参数和关联类型有一定了…