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 | 操作系统运行时,进程信息和内核信息存放在这里 |
/root | Linux超级权限用户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 目录,-
表示文件
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 #查看网络
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] 的文件
which:查看执行命令的位置
which pwd #查看当前命令的位置
vi:vi 编辑器
vi
是visual 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位: 其他用户的权限
- 权限的解读:
中文 | 英文代号 | 数字代号 | 说明 |
---|---|---|---|
读 | r | 4 | |
写 | w | 2 | |
执行 | x | 1 | 运行文件,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:比第一个不同字母的ascii码,如acb>abc #include<stdio.h> #include<string.h>int main() {char s1[]&…...

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

redis 数据结构
一、为什么要扒一下底层技术 首先我是一个解决方案工程师,为什么要看redis底层的设计呢?总结下来分几点: 1. 让系统跑起来更放心 2. 面试中可以对跟对面的牛马侃大山、吹🐮 3. 虚一点,举一反三,学习一下…...
node.js中express框架cookie-parser包设置cookie的问题
后端使用node.js express cookie-parser技术栈设置cookie的时候出现了无法成功设置的问题 前端发送axios请求部分代码: axios({method: "post",data: {content: remark,relatedArticles: relatedArticleId,userId: userId,userEmail: userEmail,topRema…...

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

Selenium+Pytest自动化测试框架详解
前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承;一定的selenium基础——本篇不讲selenium,不会的可以自己去看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是英码科技推出的边缘计算智能工作站,搭载双核 Cortex-A55 架构AI 处理器;内置高效的神经网络推理引擎,提供2.5TopsNPU算力;支持多路视频图像识别硬件加速。IVP09A,高效能低成本、稳定易开发、多点布线、联网管控…...

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

RHCE---Shell基础 2
文章目录 目录 文章目录 前言 一.变量 概述 定义 自定义变量 环境变量 概述: 定义环境变量: 位置变量 "$*"会把所有位置参数当成一个整体(或者说当成一个单词 变量的赋值和作用域 read 命令 变量和引号 变量的作用域 变…...

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

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

高效MMdetection(3.1.0)环境安装和训练自己数据集教程(实现于Linux(ubuntu),可在windows尝试)
一、前言 很久没用mmdetection了,作为目标检测常见的几个深度学习框架,mmdetection用的人还是很多的,其中比较吸引人的一点就是mmdetection集成了非常多的算法,对于想做实验对比和算法学习的人来说,基于这个框架可以事…...
软考-入侵检测技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 入侵检测技术概念 入侵检测技术是指一种计算机安全技术,旨在监测计算机系统、…...

openGaussDatakit让运维如丝般顺滑!
📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

整理MongoDB文档:身份验证
整理MongoDB文档:身份验证 个人博客,求关注。 文章概叙 本文主要讲MongoDB在单机状态下的账户配置。理解了MongoDB的语法,对于如何配置用户权限会知道怎么配置,但是请注意给谁配置什么权限才是最重要的。 最小权限原则 系统的每个程序或者…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: 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.…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

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

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 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文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&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 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...