linux 基础命令使用
命令
su
用于切换到另一个用户身份,通常是超级用户(root)。su命令可以用来在命令行下切换用户,也可以在脚本中使用。
语法:
su [选项] [用户名]
选项:
- -c:执行完命令后,立即退出su命令;
- -f:使用当前用户的环境变量;
- -l:使用目标用户的环境变量;
- -m:使用目标用户的环境变量,并且保持当前目录不变;
- -s:指定要使用的shell。
示例:
要切换到root用户,可以使用以下命令:
su -
在输入密码后,就可以切换到root用户了。如果要切换到其他用户,可以使用以下命令:
su - username
其中,username是要切换到的用户名。
su username 和 su - username 的区别
`su username` 是切换到指定的用户账号,但是不会改变当前的工作目录和环境变量。
`su - username` 是切换到指定的用户账号,并且同时切换到该用户的家目录,同时也会加载该用户的环境变量。 因此,使用 `su - username` 可以保证在切换用户后,能够获得该用户的完整环境,包括 PATH 等环境变量,以及当前的工作目录。
pwd
用于显示当前工作目录的绝对路径。
语法:
pwd [OPTION]
常用选项:
- `-L`:显示符号链接所指向的目录路径
- `-P`:显示实际路径,而非符号链接所指向的路径
示例:
$ pwd
/home/user
在上面的示例中,`pwd`命令显示当前工作目录的绝对路径为`/home/user`。
ls
ls命令 用于列出当前目录下的文件和子目录
常用的ls命令选项包括:
- -l:以长格式显示文件或目录的详细信息,包括文件类型、权限、所有者、大小、创建时间等。
- -a:显示所有文件和目录,包括以“.”开头的隐藏文件。
- -h:以人类可读的方式显示文件大小,如“1K”、“2M”等。
- -t:按照修改时间排序,最新修改的文件或目录排在最前面。
- -r:反向排序,按照字母顺序逆序排列文件或目录。
示例:
- ls:列出当前目录下的所有文件和目录。
- ls -l:以长格式显示当前目录下的所有文件和目录。
- ls -a:显示当前目录下的所有文件和目录,包括隐藏文件。
- ls -lh:以人类可读的方式显示当前目录下的所有文件和目录的大小。
- ls -lt:按照修改时间排序,显示当前目录下的所有文件和目录。 - ls -r:按照字母顺序逆序排列当前目录下的所有文件和目录。
ll
`ll`命令是`ls -l`的一个别名,用于显示当前目录下所有文件和子目录的详细信息,包括文件的权限、所有者、大小、修改时间等。
语法:
ll [选项] [文件或目录]
常用选项:
- `-a`:显示所有文件,包括隐藏文件。
- `-h`:以人类可读的方式显示文件大小。
- `-r`:反向排序。
- `-t`:按照修改时间排序。
示例:
要查看当前目录下所有文件和子目录的详细信息,可以使用以下命令:
ll
要查看当前目录下名为`test`的子目录的详细信息,可以使用以下命令:
ll test
mv
用于移动或重命名文件或目录。
语法:
mv [选项] 源文件或目录 目标文件或目录
其中,选项可以是:
- -f:强制移动或重命名,如果目标文件或目录已存在则覆盖。
- -i:交互式移动或重命名,如果目标文件或目录已存在则询问是否覆盖。
- -u:更新目标文件或目录,如果源文件或目录比目标文件或目录新则执行移动或重命名。
示例:
1. 将文件file1.txt移动到目录dir1中:
mv file1.txt dir1/
2. 将文件file1.txt重命名为file2.txt:
mv file1.txt file2.txt
3. 将目录dir1重命名为dir2:
mv dir1/ dir2/
4. 将目录dir1及其所有子目录和文件移动到目录dir2中:
mv dir1/ dir2/
注意:如果目标文件或目录已存在,则默认情况下mv命令不会覆盖,需要使用选项-f或-i来强制覆盖或询问。
netstat
用于显示网络状态信息,可以查看网络连接、路由表、接口状态等。
常用的netstat命令选项:
1. netstat -a:显示所有连接和监听端口
2. netstat -t:显示TCP连接
3. netstat -u:显示UDP连接
4. netstat -n:以数字形式显示地址和端口号
5. netstat -p:显示与进程相关的信息
6. netstat -r:显示路由表
7. netstat -s:显示网络统计信息
8. netstat -l:仅显示本地连接,不显示远程连接
示例:
要查看所有TCP连接的详细信息,可以使用命令:netstat -atn。
要查看与进程相关的TCP连接信息,可以使用命令:netstat -tp。
查看网络连接和端口占用情况,可以使用命令: netstat -nlp 8081。
ps
用于查看当前系统中正在运行的进程信息。
下面是一些常用的ps命令选项:
1. ps -ef:列出所有进程信息,包括进程的详细信息和父进程ID。
2. ps -aux:列出所有进程信息,包括进程的详细信息和用户ID。
3. ps -e:列出所有正在运行的进程。
4. ps -f:以完整格式列出进程信息,包括进程的UID、PID、PPID、CPU使用率、内存使用率等。
5. ps -l:以长格式列出进程信息,包括进程的UID、PID、PPID、CPU使用率、内存使用率等。
6. ps -t:列出指定终端上运行的所有进程。
7. ps -p:列出指定进程ID的详细信息。
8. ps -H:列出进程树,显示进程之间的关系。
9. ps -C:列出指定命令的进程信息。
10. ps -N:列出不符合指定条件的进程信息。
11. ps -M:显示进程的内存映像信息。
12. ps -G:列出指定组ID的进程信息。
13. ps -U:列出指定用户ID的进程信息。
grep
是一种文本搜索工具,用于在文件中查找特定的字符串模式。
以下是一些常见的grep命令用法:
1. 在文件中查找一个字符串:
grep "string" filename
2. 查找多个文件中的字符串:
grep "string" file1 file2 file3
3. 查找一个目录中的所有文件中的字符串:
grep "string" directory/*
4. 查找并显示匹配行的行号:
grep -n "string" filename
5. 查找并显示不匹配的行:
grep -v "string" filename
6. 使用正则表达式进行高级搜索:
grep -E "regex" filename
7. 查找并显示匹配字符串前后的几行:
grep -A num "string" filename
# 显示匹配行及其后num行 grep -B num "string" filename
# 显示匹配行及其前num行 grep -C num "string" filename
# 显示匹配行及其前后各num行
以上是一些常见的grep命令用法,还有更多高级用法可以通过`man grep`命令查看。
find
用于在指定的目录下查找文件或目录。它可以根据多种条件来查找文件,如文件名、文件类型、文件大小、文件权限等等。
下面是一些常用的find命令示例:
1. 查找当前目录下所有的文件和目录:
find .
2. 查找指定目录下所有的文件和目录:
find /path/to/directory
3. 查找指定目录下以某个文件名开头的文件:
find /path/to/directory -name "filename*"
4. 查找指定目录下以某个文件名结尾的文件:
find /path/to/directory -name "*filename"
5. 查找指定目录下包含某个关键字的文件:
find /path/to/directory -name "*keyword*"
6. 查找指定目录下的所有目录:
find /path/to/directory -type d
7. 查找指定目录下的所有文件:
find /path/to/directory -type f
8. 查找指定目录下大于某个文件大小的文件:
find /path/to/directory -size +10M
9. 查找指定目录下小于某个文件大小的文件:
find /path/to/directory -size -10M
10. 查找指定目录下最近修改过的文件:
find /path/to/directory -mtime -7
以上是一些常用的find命令示例,更多用法可以查看find命令的帮助文档。
vim
Vim是Linux下最常用的文本编辑器之一。
以下是一些常用的Vim命令:
1. 打开文件:vim filename
2. 保存文件:按下Esc键,然后输入:wq
3. 不保存文件:按下Esc键,然后输入:q!
4. 光标移动:h(左)、j(下)、k(上)、l(右)
5. 搜索:按下Esc键,然后输入/要搜索的内容
6. 替换:按下Esc键,然后输入:%s/要替换的内容/替换后的内容/g
7. 撤销:按下Esc键,然后输入:u
8. 重做:按下Esc键,然后输入:Ctrl+r
9. 复制:按下Esc键,然后输入yy
10. 剪切:按下Esc键,然后输入dd
11. 粘贴:按下Esc键,然后输入p
以上是一些常用的Vim命令,还有很多其他的命令可以使用。
kill
用于向进程发送信号,以控制进程的行为。kill命令可以根据进程ID或进程名来指定要发送信号的进程。
下面是一些常用的kill命令选项:
- -s:指定要发送的信号类型,如-9表示强制终止进程。
- -l:列出所有可用的信号类型。
- -u:指定要发送信号的用户。
- -p:指定要发送信号的进程ID。
示例:
要终止进程ID为1234的进程,可以使用以下命令:
kill 1234
如果要强制终止该进程,可以使用以下命令:
kill -9 1234
如果要终止所有属于用户tom的进程,可以使用以下命令:
kill -u tom
tail
tail命令用于查看文件的末尾内容,默认情况下显示文件的最后10行。
以下是tail命令的一些常用选项:
- -f:实时跟踪文件的变化,显示新添加到文件末尾的内容。
- -n:指定要显示的行数,例如-n 20表示显示最后20行。
- -c:显示最后指定字节数的内容,例如-c 100表示显示最后100个字节。
- -q:禁止显示文件名。
- -s:指定输出行之间的时间间隔。
示例:
要查看文件test.log的最后20行内容,可以使用以下命令:
tail -n 20 test.log
要实时跟踪文件test.log的变化,可以使用以下命令:
tail -f test.log
nohup
一种使命令在后台运行的方法,并且即使用户退出终端,命令也能够继续运行的工具。
nohup命令的语法如下:
nohup command &
其中,command是要运行的命令,&符号表示将命令放到后台运行,并且不受当前终端的控制。 使用nohup命令可以避免在运行长时间命令时,由于网络中断或者用户退出终端等原因,导致命令被中断的情况。nohup命令会将命令输出重定向到一个名为nohup.out的文件中,可以通过查看该文件来了解命令的执行情况。
示例:
后台运行一个Java程序,并将程序输出重定向到一个名为root.log的文件中
nohup java -jar ../demo.jar >../root.log 2>&1 &
- nohup:表示不挂断地运行命令,即使终端关闭或用户注销也不会停止该命令的执行。
- java -jar ../demo.jar:表示运行一个名为demo.jar的Java程序。
- >../root.log:表示将程序输出重定向到一个名为root.log的文件中,>表示覆盖原有文件,如果要追加到原有文件末尾,可以使用>>。
- 2>&1:表示将标准错误输出重定向到标准输出,即将错误信息也写入root.log文件中。
- &:表示将该命令放到后台运行。
相关文章:

linux 基础命令使用
命令 su 用于切换到另一个用户身份,通常是超级用户(root)。su命令可以用来在命令行下切换用户,也可以在脚本中使用。 语法: su [选项] [用户名] 选项: - -c:执行完命令后,立即退出su命令;…...

eve 导入linux
mkdir /opt/unetlab/addons/qemu/linux-centos7 cd /opt/unetlab/addons/qemu/linux-centos7 上传hda.qcow2 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions Linux images - (eve-ng.net) Due to very high demand of this section and problems with how to crea…...

vivado新版本兼容老版本,vitis classic兼容sdk教程
new version: vivado版本2023.2 和vitisv classic 2023.2 old version: vivado 2018.3以及之前的版本 打开工程 自动升级到当前版本,选择OK 点击Yes,合并当前的目录架构 点击OK 点击Report IP status 勾选要升级的IP核,点击升级 在项目工程文件夹…...

02.02.返回倒数第k个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 k 2 输出: 4 说明: 给定的 k 保证是有效的。 代码ÿ…...

MongoDB 从部署到掌握
一、docker部署MongoDB ## 通过docker安装MongoDB~~~shell #拉取镜像 docker pull mongo:4.0.3#创建容器 docker create --name mongodb-server -p 27017:27017 -v mongodb-data:/data/db mongo:4.0.3 --auth#启动容器 docker start mongodb-server#进入容器 docker exec -it …...

electron-vite工具打包后通过内置配置文件动态修改接口地址实现方法
系列文章目录 electronvitevue3 快速入门教程 文章目录 系列文章目录前言一、实现过程二、代码演示1.resources/env.json2.App.vue3.main/index.js4.request.js5.安装后修改 前言 使用electron-vite 工具开发项目打包完后每次要改接口地址都要重新打包,对于多环境…...

每日一练2024.5.9
题目: 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。组内所有的牌上都写着相同的整数。 仅当你可选的 X > 2 时返回 tru…...

P2622 关灯问题
小小注解: 1. vis:表示到达该状态的步数(min)1, 因为我们是从开始状态 穷举,所以每次到一个新状态(之前没有到过的状态)就是最小步数。 如何判断是否是一个新状态呢,…...

从头开始的建材类电商小程序开发指南
在当今数字化时代,小程序已经成为了许多企业推广和销售的重要渠道。对于建筑材料行业来说,开发一个属于自己的小程序商城不仅可以提升产品曝光度,还可以提供更好的用户购物体验。下面,我们将逐步教你如何开发建筑材料行业小程序。…...

数据结构中的栈(C语言版)
一.栈的概念 栈是一种常见的数据结构,它遵循后进先出的原则。栈可以看作是一种容器,其中的元素按照一种特定的顺序进行插入和删除操作。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做…...

(贪心05) 无重叠区间 划分字母区间 合并区间
一、无重叠区间 力扣第435题 第一种方法: 个人思路: 按照区间左边界排序,然后从左开始遍历,每遍历到一个区间就要保证该区间之前的集合为不重叠区间(贪心,局部最优解)。 难点在于如何把新遍历…...

简单网络管理协议(SNMP)入门
目录 概述 SMI(对象命名、数据类型、编码方法) 对象命名 数据类型 编码方法 MIB(版本、分组、对象定义、变量访问) 版本 分组 对象定义 变量访问 SNMP 实现机制与报文分析 协议操作 报文格式 实现机制 验证分析 SN…...

leetcode解题思路分析(一百五十七)1366 - 1372 题
通过投票对团队排名 现在有一个特殊的排名系统,依据参赛团队在投票人心中的次序进行排名,每个投票者都需要按从高到低的顺序对参与排名的所有团队进行排位。 排名规则如下: 参赛团队的排名次序依照其所获「排位第一」的票的多少决定。如果存在…...

药物代谢动力学学习笔记
一、基本概念 二、经典房室模型 三、非线性药物代谢动力学 四、非房室模型 五、药代动力学与药效动力学 六、生物等效性评价 七、生物样品分析方法 基本概念 生物样品:生物机体的全血、血浆、血清、粪便、尿液或其他组织的样品 特异性,specificity&…...

IDEA中git的常用操作(保姆级教学)
IDEA中git的常用操作(保姆级教学) 以下是git的工作原理,觉得繁琐的可以跳过不看 Workspace:工作区 (平时存放代码的地方) Index / Stage:暂存区(用于临时存放存放你的改动,事实上就是一个文件&…...

保研面试408复习 3——操作系统
文章目录 1、操作系统一、进程有哪几种状态,状态之间的转换、二、调度策略a.处理机调度分为三级:b.调度算法 标记文字记忆,加粗文字注意,普通文字理解。 为什么越写越少? 问就是在打瓦。(bushi) 1、操作系统 一、进程…...

【代码随想录37期】Day02 有序数组的平方、长度最小的子数组、螺旋矩阵Ⅱ(施工中)
有序数组的平方 977. 有序数组的平方 - 力扣(LeetCode) v1.0:直接暴力 4分半做出来,用sort api class Solution { public:vector<int> sortedSquares(vector<int>& nums) {vector<int> result;for(int i 0; i<…...

通俗的理解网关的概念的用途(三):你的数据包是如何到达下一层的
其实,这一章我写不好,因为这其中会涉及到一些计算和一些广播等概念,本人不善于此项。在此略述,可以参考。 每台设备的不同连接在获得有效的IP地址后,会根据IP地址的规则和掩码的规则,在操作系统和交换机&a…...

基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&a…...

USP技术提升大语言模型的零样本学习能力
大语言模型(LLMs)在零样本和少样本学习能力上取得了显著进展,这通常通过上下文学习(in-context learning, ICL)和提示(prompting)来实现。然而,零样本性能通常较弱,因为缺…...

前端安全防护实战:XSS、CSRF防御与同源策略详解(react 案例)
前端安全防护实战中,主要涉及三个方面:XSS (Cross-Site Scripting) 攻击的防御、CSRF (Cross-Site Request Forgery) 攻击的防御,以及浏览器的同源策略。以下是这三个方面的详细说明: XSS 防御详解 XSS 概述 XSS攻击是一种让攻…...

2024C题生物质和煤共热解问题的研究 详细思路
背景 随着全球能源需求的不断增长和对可再生能源的追求,生物质和煤共热解作为一种潜在的能源转化技术备受关注。生物质是指可再生能源,源自植物和动物的有机物质,而煤则是一种化石燃料。** 在共热解过程中,生物质和煤在高温和缺氧…...

智慧旅游引领未来风尚,科技助力旅行更精彩:科技的力量推动旅游业创新发展,为旅行者带来更加便捷、高效和智能的旅行服务
目录 一、引言 二、智慧旅游的概念与特点 (一)智慧旅游的概念 (二)智慧旅游的特点 三、科技推动旅游业创新发展 (一)大数据技术的应用 (二)人工智能技术的应用 (…...

十.吊打面试官系列-Tomcat优化-通过压测Tomcat调优实战
前言 上一篇文章我们讲解了一下Tomcat底层的结构和执行原理,我们需要重点去掌握的是Tomcat的高内聚低耦合的设计,以及责任链模式,以及Tomcat NIO编程模式,这些是Tomcat比较核心的点,本篇文章我们将对Tomcat的参数做一…...

JVM调优—减少FullGC
背景 最近负责了一个审批流程新项目,带领了几个小伙伴,哼哧哼哧的干了3个月左右,终于在三月底完美上线了,好消息是线上客户用的很丝滑,除了几个非常规的业务提单之外,几乎没有什么大的问题,但是…...

力扣 256. 粉刷房子 LCR 091. 粉刷房子 python AC
动态规划 class Solution:def minCost(self, costs):row, col len(costs), 3dp [[0] * col for _ in range(row 1)]for i in range(1, row 1):for j in range(col):dp[i][j] costs[i - 1][j - 1]if j 0:dp[i][j] min(dp[i - 1][1], dp[i - 1][2])elif j 1:dp[i][j] m…...

C++STL细节,底层实现,面试题04
文章目录 19. STL19.1. 序列容器19.1.1. vector19.1.1.1. 底层实现和特点19.1.1.2. 常用函数19.1.1.3. emplace_back() vs push_back() 19.1.2. array19.1.2.1. 底层实现和特点19.1.2.2. 常用函数 19.1.3. deque19.1.3.1. 底层实现和特点19.1.3.2. 常用函数 19.1.4 list19.1.4.…...

Linux查看Oracle数据库的环境变量
Linux查看Oracle数据库的环境变量 在Linux上查看Oracle数据库的环境变量,通常涉及检查当前shell会话中已设置的环境变量。这些环境变量可能包括ORACLE_HOME、ORACLE_SID、PATH(可能包含Oracle二进制文件的路径)等。 以下是几种方法来查看这…...

pg数据库学习知识要点分析-1
知识要点1 对象标识OID 在PostgreSQL内部,所有的数据库对象都通过相应的对象标识符(object identifier,oid)进行管理,这些标识符是无符号的4字节整型。数据库对象与相应oid 之间的关系存储在对应的系统目录中…...

【Web】CTFSHOW 七夕杯 题解
目录 web签到 easy_calc easy_cmd web签到 CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总_ctf中字符长度限制下的命令执行 5个字符-CSDN博客7长度限制直接梭了 也可以打临时文件RCE import requestsurl "http://4ae13f1e-8e42-4afa-a6a6-1076acd08211.c…...