当前位置: 首页 > news >正文

Ubuntu 常用命令


文章目录

    • Linux 目录结构
    • 常用命令
      • ls:查看目录内容
      • pwd:查看当前目录绝对路径
      • cd:切换目录
      • mkdir:创建目录
      • rm:删除文件/目录
      • touch:创建空文件
      • mv:移动和重命名文件/目录
      • cp:复制粘贴
      • cat:查看文件内容
      • more:查看文件
      • ps:进程状态
      • kill:杀死
      • ifconfig:查看虚拟机网络配置信息
      • clear: 清屏命令
      • shutdown:关机
      • which:查看命令位置
      • hostname:查看主机名称
      • tar:压缩、打包、解包、解压命令
      • grep:查询文件内容,全文检索
      • | :管道符
      • which:查看执行命令的位置
      • vi:vi 编辑器
        • vim
      • useradd:添加用户
      • chmod:权限管理
    • 小结

Linux 目录结构

Linux的目录结构是一个树型结构,只有一个根目录/, 所有文件都在它下面。

系统的文件不要动!避免坏掉。

Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘,而Linux 没有盘符 这个概念,。

目录作用
/bin二进制命令所在的目录
/boot系统引导程序所需要的文件目录
/dev设备软件目录,磁盘,光驱,
/etc系统配置,启动程序
/home普通用户的家,目录默认数据存放目录
/lib共享库文件和内核模块存放目录
/mnt临时挂载储存设备的挂载点
/opt额外的应用软件包(可删)
/proc操作系统运行时,进程信息和内核信息存放在这里
/rootLinux超级权限用户root的家目录
/sbin和管理系统相关的命令,【超级管理员用】
/tmp临时文件目录,这个目录被当作回收站使用
/usr用户或系统软件应用程序目录

注:配置的时候可以给大一点磁盘空间,如果磁盘不够,需要临时挂载到其他地方。可以加磁盘空间用于创建集群。

常用命令

命令格式:command [-options] [parameter]
说明:

  • command:命令名,相应功能的英文单词或单词的缩写
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • parameter:传给命令的参数(限制),可以是 零个、一个、多个。

注:

  • 敲几个字符之后,按 tab 键可以自动补全(唯一目录)。如果有多个目录字符一致,则会提示,需要多敲几个字符,直到唯一才可以 tab 补全。
  • 相对路径不以/开头,以/开头的都是被解读为绝对路径。
  • 不在根目录下操作,新建一个个人目录操作,避免删除重要内容。任何路径下都可以使用绝对路径查看其他路径下的内容。

ls:查看目录内容

ls:list,查看目录下的内容。ls [选项] [路径],可以多个选项多个路径混用,选项和路径没有先后顺序。

ls          #查看当前目录内容 (缺点: 隐藏文件看不到,以 .开头的文件) 
ls /home    #查看绝对路径 /home 目录下内容,可以同时查看多个目录,如 ls /home /libls -l		#list,以列表方式显示文件的详细信息,大小都是字节
ll          #等价于ls -lls -a       #all,查看当前目录所有内容,包括隐藏文件 
ls –al      #以列表方式查看目录内容的详细信息(查看文件类型、权限、大小等) ls -h		#必须配合 -l 以人性化的方式显示文件大小
ls -lh      #查看目录内容的详细信息,较大的文件以 K、M、G 方式显示文件大小,或 ls -l -h
  • 使用 Linux 风格,一般文件夹是蓝色、文件是白色,二者颜色不同。隐藏文件前面带.
  • 第一个字母的含义:d表示 directory 目录,-表示文件image.png

pwd:查看当前目录绝对路径

cd:切换目录

cd:change directory,切换命令。

cd            #回到用户主目录,root 用户就是 /root,aa 用户则是 /home/aaa
cd test       #切换到当前目录下的test目录(相对路径) 
cd /root/test #切换到指定目录(绝对路径)
cd ..         #回到上一级目录 
cd ../..      #回到上上一级目录
cd ../dir     #回到上一级的dir目录 
cd -		  #在最近的两个目录切换
cd /		  #切换到根目录
cd ~		  #切换到用户主目录

mkdir:创建目录

mkdir:make directory,创建目录。

mkdir test1					#在当前目录下创建文件夹test3,相对路径
mkdir /dir1/test1			#在指定目录 /dir1 下创建文件夹 test1,绝对路径mkdir dir 					#创建单级目录 
mkdir -p dir1/dir2/dir3 	#创建多级目录,相对路径,先检查再创建,没有目录就创建;#在当前目录下,检查是否有 dir1,没有则创建;然后再 dir1 中检查是否有 dir2,没有则创建;然后在 dir2 中检查是否有 dir3,没有则创建。

rm:删除文件/目录

rm:remove,删除文件/目录

rm file1		#删除文件
rm -r dir1		#recursive,递归删除目录下内容,会一个个目录/文件询问是否删除
rm -f	file1	#force,强制删除文件, 无需提示,忽略不存在的文件
rm -rf dir1		#强制删除目录, 无需提示,忽略不存在的目录,可以写成 rm -fr dir1/rm -f -r dir1/rm -r -f dir1

touch:创建空文件

touch a.docx b.xlsx创建的两个文件不是 Windows 常见的 Word 和 Excel 文件,而是 Linux 的静默文件。
如果通过 Windows 上传 .docx 和 .xlsx,则是真正的 Word 和 Excel 文件。

touch a b c  		#创建 a、b、c 三个文件,没有后缀
touch test1/a.txt	#在当前路径下的 test1 目录下新建 a.txt

mv:移动和重命名文件/目录

mv:move,移动文件/目录和重命名。类比剪切+粘贴。
mv 原文件/原路径 目标文件/路径

mv a.txt dir1  	#dir1 已存在,移动,将 a.txt 移动到 dir 目录#dir1 不存在,重命名,将 a.txt 重命名为 dir 
mv dir2 dir1   	#dir1 已存在,移动,将dir2目录移动到dir1目录#dir1 不存在,重命名,将dir2目录重命名为dir1
mv a.txt b.txt 	#b.txt 已存在,会提示是否覆盖#b.txt 不存在,重命名,将a.txt重命名为b.txt

cp:复制粘贴

cp:copy,复制粘贴

cp a.txt b.txt 	#b.txt 不存在,新建 b.txt,将 a.txt 拷贝过去#b.txt 已存在,会提示是否覆盖cp dir2 dir1 -r	#dir1 不存在,新建 dir1,将 dir2 目录及内容拷贝过去,dir1 和 dir2 同级#dir1 已存在,将 dir2 目录及内容拷贝到 dir1 目录下,变成 dir1/dir2(上下级)cp a.txt dir1	#将 a.txt 拷贝一份到 dir1

cat:查看文件内容

cat a.txt		

more:查看文件

  • enter:多查看一行数据
  • 空格:向下翻一页,查看新的一屏幕数据
  • ↑:向上翻一页
  • PgUp:向上滚动一行
  • PgDn:向下滚动一行
  • q:退出 more
more a.txt		#打开分页视图显示文件内容

ps:进程状态

ps:process status,进程状态

  • -e:execute(执行)
  • -f:format(格式化)
ps  -ef 			#查看当前正在运行的进程
  • UID:user_id,启动进程的用户
  • PID:process_id,进程 ID
  • PPID:parent process_id,进程 ID 的父级 ID

kill:杀死

kill  37922 		#终止进程37922,有时候不一定会终止进程(有保护进程机制)
kill  -9  37949 	#杀死进程37949,一定会杀死进程
kill  -l 			#查看kill命令的所有信号,可以查看各个代码的含义

ifconfig:查看虚拟机网络配置信息

类似 Windows 的ipconfig

ifconfig		#查看网络

image.png

clear: 清屏命令

快捷键:ctrl + l

clear			#清屏

shutdown:关机

reboot				#重启
shutdown -h now		#立马关机
halt				#不断电关机

which:查看命令位置

which	apt			#显示执行命令的绝对位置

hostname:查看主机名称

hostname

tar:压缩、打包、解包、解压命令

.tar有格式的文件,固定的格式会占用一定的内存,适合大文件,小文件打包可能还会比原来大。

  • c : 打包
  • v : 看过程 view
  • f : 打包成哪个文件 file
  • z : 打包成压缩格式的文件,gzip格式
  • x : 解包、解压缩
  • -C :解到指定的位置
# 要求:-f 放命令最后,跟文件名,指定文件名称
tar -cvf test1.tar test1    	#打包,将 test1 目录打包为 test1.tar 文件
tar -czvf test1.tar.gz  test1	#打包+压缩,将 test1 目录打包并压缩为 test1.tar.gz 文件tar -xvf test1.tar				#解包,将 test1.tar 文件解包到当前目录
tar -xvf test1.tar	-C dir		#解包,将 test1.tar 文件解包到 dir 目录
tar -xzvf	test1.tar.gz -C dir #解压缩包,将 test1.tar.gz 文件解压到 dir 目录

grep:查询文件内容,全文检索

Grep(Globally search a Regular Expression and Print)命令可以对文件进行文本查询,内容查询。
返回整行的内容。

  • -i:不区分大小写
  • -r:递归
grep [key] [filename]			#在文件 [filename] 中查找包含 [key] 的内容
grep [key] [filename]	--color	#高亮显示内容,后面版本自带高亮
grep -ir [key] [dir]			#在目录 [dir] 中递归查找包含 [key] 的内容

| :管道符

前一个命令的输出当做下一个命令的输入。
ps -ef返回的内容作为下一个命令查找的对象。

ps -ef | grep [key]				#查找包含 [key] 的进程
ll | grep [key]					#查找包含 [key] 的文件

image.png

which:查看执行命令的位置

which pwd		#查看当前命令的位置

vi:vi 编辑器

vivisual interface的简称, 是Linux中最经典的文本编辑器。vi的核心设计思想:让程序员的手指始终保持在键盘的核心区域,就能完成所有编辑操作。
vi 的特点:

  • 只能是编辑文本内容,不能对字体段落进行排版
  • 不支持鼠标操作
  • 没有菜单,只有命令

vi [filename]			#打开文件,进入命令模式
i/o/O/a/s				#命令模式 -> 编辑模式,鼠标没用了
Esc						#编辑模式 -> 命令模式
Delete					#末行模式 -> 命令模式
shift+: 				#命令模式 -> 末行模式,只有命令可以进入该模式。可以退出w		  				#保存q		  				#退出,没有修改或者已经保存才可退出q!	  				#强制退出wq	  				#保存退出

注:编辑模式和末行模式无法切换。

命令模式相关命令:

命令功能
o在当前行后面插入一空行
O在当前行前面插入一空行
dd删除光标所在行
ndd从光标位置向下连续删除 n 行
yy复制光标所在行
nyy从光标位置向下连续复制n行
p粘贴
u撤销上一次命令
gg回到文件顶部
G回到文件末尾
/str查找str,按 n(next) 查找下一个

底行模式

命令功能
:w 文件另存为
:w保存(ctrl + s)
:q退出, 如果没有保存,不允许退出
:q!强行退出, 不保存退出
:wq保存并退出
:x(同上)保存并退出
Shift + z + z保存退出
:set nu (number)设置行号
:%s/旧文本/新文本文本替换
:nohl取消高亮

PS:开发不是求快,求稳?!

vim

vim 是 vi 的增强版,加代码补全、字体颜色。

vim [filename]+10		#打开文件并定位到第10行

useradd:添加用户

useradd [user_name]			#新增普通用户
passwd	[user_name]			#给用户设置密码
userdel -r [user_name]		#删除普通用户,加 -r 删除彻底,漏加 删除文件夹 rm -rf
su [user_name]				#切换用户 su = switch user #切换用户

当普通用户仅有只读权限时,vi [filename]无法写入内容,可以使用sudo vi [filename]并输入普通账户密码获得临时的写入权限。

chmod:权限管理

chmod:change mode

ll命令返回说明:

  • 角色:
    • 创建者 :一个文件或者文件夹的创建者(拥有者) userid -> uid -> u
    • 用户组 :针对一个文件或者文件夹而言,默认与创建者同名 groupid-> gid -> g
    • 其他用户:创建者之外的用户,就是其他用户 other -> o
  • 权限:
    • 第2-4位:创建者对文件或者文件夹的权限
    • 第5-7位: 用户组的权限
    • 第8-10位: 其他用户的权限
    • 权限的解读:
中文英文代号数字代号说明
r4
w2
执行x1运行文件,cd 目录
  • 权限操作:chmod 【字母不能和数组结合操作】
chmod o+w  a.txt    	#对其他用户添加一个写权限
chmod g-r  a.txt 		#给用户组删除读权限
chmod o=wx  a.txt 		#给a.txt的其他用户赋予写和执行权限
chmod 777  a.txt 	  	#给所有角色赋予所有权限
chmod 777 -R dir 	  	#给所有角色赋予目录下所有文件/目录的所有权限,递归赋予

小结

本文仅介绍了增、删、改、查等常用的命令,Ubuntu 的命令还有很多,可以参考:UbuntuManual 了解更多。

相关文章:

Ubuntu 常用命令

文章目录 Linux 目录结构常用命令ls:查看目录内容pwd:查看当前目录绝对路径cd:切换目录mkdir:创建目录rm:删除文件/目录touch:创建空文件mv:移动和重命名文件/目录cp:复制粘贴cat&am…...

如何空手套白狼?一口气省7K再抓住一个7K起步的工作?

今日话题,教你如何省七千再得到一个七千起步的技能!现在网络行业已经是全世界重点发展的目标,开发行业更是各个企业重点培养,但是在学校教的网络知识太基础太老掉牙?报班随便就是小一万该如何是好呢?解决方…...

电脑主机如何选择内存条

选择计算机主机的内存模块(内存条)通常需要考虑以下因素: 类型和代数(DDR3、DDR4、DDR5等):您的主板和处理器支持的内存类型非常重要。确保内存条的类型与您的主板和处理器兼容。 容量:内存容量…...

计算机考研自命题(5)

1、C语言–求和 1、展开式求和。输入一个实数x,计算并输出下式的和,直到最后一项的绝对值小于0.00001.计算结果保留2位小数,试编程。 S x x/2! x/3! … /* 算法思想:定义一个求阶乘的函数fact(), 头文件调…...

【原创】c语言4种字符串函数的代码测试

c语言4种字符串函数的代码测试 1.字符串拼接strcat [contact] 2.字符串复制strcpy 3.带参数的字符串复制strncpy 4.字符串比较strcmp&#xff1a;比第一个不同字母的ascii码&#xff0c;如acb>abc #include<stdio.h> #include<string.h>int main() {char s1[]&…...

扩散模型学习——代码学习

文章目录 引言正文UNet网络结构训练方法DDPM采样方法讲解Context上下文信息添加DDIM的方法详解 总结参考 引言 这是第一次接触扩散模型&#xff0c;为了学习&#xff0c;这里好好分析一下他的代码 正文 UNet网络结构 这部分主要是定义一下网络结构&#xff0c;以及相关的网…...

redis 数据结构

一、为什么要扒一下底层技术 首先我是一个解决方案工程师&#xff0c;为什么要看redis底层的设计呢&#xff1f;总结下来分几点&#xff1a; 1. 让系统跑起来更放心 2. 面试中可以对跟对面的牛马侃大山、吹&#x1f42e; 3. 虚一点&#xff0c;举一反三&#xff0c;学习一下…...

node.js中express框架cookie-parser包设置cookie的问题

后端使用node.js express cookie-parser技术栈设置cookie的时候出现了无法成功设置的问题 前端发送axios请求部分代码&#xff1a; axios({method: "post",data: {content: remark,relatedArticles: relatedArticleId,userId: userId,userEmail: userEmail,topRema…...

Docker命令手册

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家访问。 记录平时用的比较多的Docker命令。 docker学习地址 1、docker停止并删除运行的容器 首先查看…...

Selenium+Pytest自动化测试框架详解

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象&#xff0c;封装继承&#xff1b;一定的selenium基础——本篇不讲selenium&#xff0c;不会的可以自己去看selenium中文翻译网 一、测试框架简介 测试框架有什么优点 代码复用率高&…...

CentOS7安装部署CDH6.2.1

文章目录 CentOS7安装部署CDH6.2.1一、前言1.简介2.架构3.环境 二、环境准备1.部署服务器2.安装包准备3.修改机器名4.关闭防火墙5.关闭 SELinux6.Hosts文件7.limits文件8.设置swap空间9.关闭透明巨页内存10.免密登录 三、安装CM管理端1.安装第三方依赖包2.安装Oracle的JDK3.安装…...

海思Hi3519DV500边缘计算盒子-英码IVP09A,双核A55 64位处理器

产品简介 IVP09A是英码科技推出的边缘计算智能工作站&#xff0c;搭载双核 Cortex-A55 架构AI 处理器&#xff1b;内置高效的神经网络推理引擎&#xff0c;提供2.5TopsNPU算力;支持多路视频图像识别硬件加速。IVP09A&#xff0c;高效能低成本、稳定易开发、多点布线、联网管控…...

理解数据库

文章目录 一、了解什么是信息1.1 信息和数据1.1.1 信息 &#xff08;information&#xff09;1.1.2 数据 &#xff08;Data&#xff09; 1.2 数据处理 二、如何描述数据具备的信息2.1 数据库的一些术语&#xff1a; 三、数据模型3.1 概念模型 E-R&#xff0c;是对信息世界的建模…...

RHCE---Shell基础 2

文章目录 目录 文章目录 前言 一.变量 概述 定义 自定义变量 环境变量 概述&#xff1a; 定义环境变量&#xff1a; 位置变量 "$*"会把所有位置参数当成一个整体&#xff08;或者说当成一个单词 变量的赋值和作用域 read 命令 变量和引号 变量的作用域 变…...

Git报错解决

本篇主要汇总在使用 Git 进行提交和拉取文件时&#xff0c;遇到的问题的解决方案&#xff0c;以便下次查找。 1 关于使用Git出现“git Failed to connect to 127.0.0.1 port xxxx: Connection refused”的问题解决方案 1. 问题描述 在使用 git 拉取、提交代码的时候&#xff…...

TechSmith Camtasia 2023 for Mac 屏幕录像视频录制编辑软件

​ TechSmith Camtasia for Mac 2023中文破解版 是一款专业的屏幕录像视频录制编辑软件&#xff0c;非常容易就可以获得精彩的截屏视频。创建引人注目的培训&#xff0c;演示和演示视频。Camtasia 屏幕录制软件简化&#xff0c;直观&#xff0c;让您看起来像专业人士。利用Camt…...

高效MMdetection(3.1.0)环境安装和训练自己数据集教程(实现于Linux(ubuntu),可在windows尝试)

一、前言 很久没用mmdetection了&#xff0c;作为目标检测常见的几个深度学习框架&#xff0c;mmdetection用的人还是很多的&#xff0c;其中比较吸引人的一点就是mmdetection集成了非常多的算法&#xff0c;对于想做实验对比和算法学习的人来说&#xff0c;基于这个框架可以事…...

软考-入侵检测技术原理与应用

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 by 2023年10月 入侵检测技术概念 入侵检测技术是指一种计算机安全技术&#xff0c;旨在监测计算机系统、…...

openGaussDatakit让运维如丝般顺滑!

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…...

整理MongoDB文档:身份验证

整理MongoDB文档:身份验证 个人博客&#xff0c;求关注。 文章概叙 本文主要讲MongoDB在单机状态下的账户配置。理解了MongoDB的语法&#xff0c;对于如何配置用户权限会知道怎么配置&#xff0c;但是请注意给谁配置什么权限才是最重要的。 最小权限原则 系统的每个程序或者…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...