Linux基础命令(示例代码 + 解释)
查看目录下文件
ls [-a -l -h] [路径] -a(全部) -l(细节) -h(大小)
ls
ls /
ls -a
ls -l
ls -h
ls -alh
ls -l -h -a
ls -lah /
切换目录
cd [路径] change directory
. 当前目录 .. 上一级目录 ~ HOME目录
cd /
cd
cd ..
cd ~
cd ~/Desktop 等价于 cd /home/itheima/Desktop
cd ../..
cd Desktop
cd ./Desktop
cd ../test/hello.txt
打印当前路径
pwd print work deirectory
pwd
创建目录(文件夹)
mkdir [-p] Linux路径 make directory
-p 创建不存在的父目录,适用于创建连续多层级的目录
ls
mkdir itheima
lsmkdir /home/itheima/test
lsmkdir ./test2
lsmkdir ~/test4
lsmkdir -p itcast/good/666
cd itcast/good/666
pwd
问:Centos里,/root和/home/itheima有什么区别,为什么/root下无法用mkdir创建目录,而/home/itheima可以?
答
在CentOS系统中,/root 和 /home/itheima 都是目录路径,但在系统中的用途有所不同。
/root 目录是Linux系统中超级用户(root用户)的主目录,也就是root用户的家目录。这个目录只有超级用户才有写权限,普通用户无法在该目录下创建新的文件夹或文件。
/home/itheima 目录是普通用户 "itheima" 的主目录,这个目录是用来存储普通用户的个人数据的,包括文档、图片、视频等等。普通用户可以在该目录下创建新的文件夹或文件,但是无法更改其他用户的主目录。
因此,/root 和 /home/itheima 的权限和用途是不同的。对于/root目录,只有超级用户才能访问和操作;而对于/home/itheima目录,则是普通用户的专属目录,普通用户对其有写权限
创建文件
touch Linux路径
ls
touch test.txt
ls
查看文件内容
cat Linux路径
ls
cat test.txt
more Linux路径
more支持翻页,文件内容过多,可以一页页展示
复制文件
cp [-r] 参数1 参数2 copy
-r 复制文件夹使用,表示递归
参数1 Linux路径 被复制的文件
参数2 Linux路径 复制到的文件
ls
cp test.txt test2.txt
cat test2.txtcp -r itheima itheima2
ls
移动文件
mv 参数1 参数2 move
参数1 Linux路径 被移动的文件(夹)
参数2 Linux路径 移动到的地方 如果目标不存在,则进行改名,确保存在
ls
mv test.txt Desktop
ls Desktopmv test2.txt test3.txt
lsls
mv test2 Desktop
ls Desktop
删除文件
rm [-r -f] 参数1 参数2 ... 参数N remove
同cp,-r 用于删除文件夹
-f 表示 force,强制删除(不弹出提示确认信息)
-- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会提示
-- 所以普通用户用不到 -f 选项
参数1 ~ N 表示要删除的路径,空格分隔
ls
rm test3.txt
(y确认 n取消)
lsls
rm -r test3
lsrm -r test4 itheima itheima2 itcast
ls
rm 命令支持 * 表示通配符
test* 表示test开头的内容
*test 表示test结尾的内容
*test* 表示任何包含test的内容
ls
rm -r test*
lstouch 1test
touch 2test
touch 3test
rm -f *test
lstouch 1test2
touch 2test3
touch 3test4
ls
rm -f *test*
ls
通过 su - root
查找命令所在文件
Linux命令,本质就是二进制可执行程序,类似Windows的.exe文件。
which 命令
which cd
which pwd
which ...
查找指定文件
(1)find 起始路径 -name "被查找文件名"
find / -name "test"find / -name "test*"find / -name "*test"find / -name "*test*"
(2)find 起始路径 -size +/- n[kMG]
+ / - 表示大于 / 小于
n 表示大小的数字
kMG 表示大小的单位,k表示kb,M表示MB,G表示GB
find / -size -1kfind / -size +1Gfind / -size +100M
ls -lh /usr/lib/locale/locale-archive
👆ctrl + c 强制中断搜索
过滤文件内容
grep [-n] 关键字 路径
提示:当不写路径时,可用管道符左边命令所产生的内容,作为内容的输入
-n,显示被匹配内容的行号
参数,关键字,表示过滤的关键字,带有空格或其他特殊符号,一般用""包起来
参数,路径,可作为内容输入端口
finalshell,~目录下,touch test.txt
然后Centos7图形化界面中,打开home文件夹,在test.txt中添加内容👇
itheima is shabi.
itcast code is 003032
cat test.txt
grep "itheima" test.txt
grep "itcast" test.txt
grep -n "code" test.txt
统计内容数量
wc [-c -m -l -w] 路径
提示:当不写路径时,可用管道符左边命令所产生的内容,作为内容的输入
-c bytes数量
-m 字符数量
-l 行数
-w 单词数量
参数,路径,可作为内容输入端口
wc test.txt
wc -c test.txt
wc -m test.txt
wc -l test.txt
wc -w test.txt
管道符
shift + | 即可输出 |
管道符左边命令的结果,作为右边命令的输入
只要能产生内容输出的命令,都可以放管道符左边,作为右边命令的输入
cat test.txt | grep itheimacat test.txt | wc -lls | grep testls /usr/bin
ls /usr/bin | grep gtfls -l /usr/bin | grep gtfls -l /usr/bin | wc -lcat test.txt | grep itcastcat test.txt | grep itcast | grep codecat test.txt | grep itcast | wc -lcat test.txt | grep itheima | wc -w
输出内容
echo 输出的内容
带有空格或 \ 等特殊符号,建议用 "" 包起来,防止空格后被识别为参数
echo Hello World
echo "Hello World"
反引号
`` 被 `` 包围的内容,作为命令执行,而非普通字符
echo pwd
echo `pwd`
重定向符
> 左侧命令结果,覆盖右侧文件
>> 左侧命令结果,追加到右侧文件
只要能产生内容的命令,都能往重定向符右侧写
ls
cat test.txt
echo "hello linux" > test.txt
cat test.txtecho "sha bi ni shi" >> test.txt
cat test.txtls
ls > test.txt
cat test.txt
查看文件尾部
tail [-f -num] 路径
-f,表示持续跟踪,此时复制标签,新开一个centos,追加到文件的内容会实时显示,ctrl + c停止跟踪
-num,表示查看尾部多少行,默认10行,num是具体数字
ls
ls > test.txt
ls / >> test.txt
cat test.txttail test.txt
tail -f test.txt
(新开一个centos)----
echo "hello shabi"
----
(ctrl + c)
tail -3 test.txtecho "我当前的工作目录是:"`pwd` > work.txt
cat work.txt
echo "我当前的工作目录是:`pwd`">> work.txt
cat work.txttail -f work.txt
echo "sha bi zai na li" >> work.txt
...
vi / vim 编辑器
vi 路径
OR
vim 路径
文件不存在会编辑新文件,存在则编辑已有文件
Linux系统中的编辑器,类似于图形界面中的文本编辑器(比如记事本)
vim 是 vi 的加强版本,兼容 vi 所有指令,且具有 shell 程序编辑的功能,提供不同颜色字体
三种工作模式
(1)命令模式(Command mode)
键盘上敲的按键,作为命令,不能自由进行文本编辑(比如连按2下d删除一行)
(2)输入模式(Insert mode)
所谓的 编辑模式,插入模式,可对文本自由编辑(敲的字符串会在屏幕显示)
(3)底线命令模式(Last line mode)
以 : 开始,用于文件保存,退出
命令模式作为中转
vim hello.txt
进入命令模式按 i 键进入输入模式
输入:itheima and itcast.
按 esc 键回到命令模式(输入模式下,通过键盘快捷键,修改文件内容)
按yyp复制多一行
按dd删除一行
按u撤销一步命令模式下按 : 进入底线命令模式
w 保存 q 退出
:wq (回车) 保存并退出ls
cat hello.txt
(1)
(2)
(3)
(4)
切换用户
su
sudo
[itheima@localhost /]$ mkdir jiujiu
mkdir: cannot create directory ‘jiujiu’: Permission denied
普通用户 itheima 的权限,只能在自己目录下创建文件夹,无法在其他目录下创建,除非切换到root权限👇
用户组 and 用户
Linux权限管控的单元,是用户级别和用户组级别
groupadd 用户组名 创建
groupdel 用户组名 删除
useradd [-g -d] 用户名 创建
-g指定组,不指定-g,则创建同名组加入
-d指定用户HOME路径,不指定则默认HOME目录在 /home/用户名
useradd test
id test
cd /home
lluseradd test2 -g itcast -d /home/test222
su -test2
pwd
userdel [-r] 用户名 删除
-r删除用户HOME目录
logout
userdel test2
cd /home
ls
rm -rf test222
ls
userdel -r test
ls
id [用户名] 查看所属组
id
useradd test3 -g itcast
su - test3
id
exit
id test3
usermod -aG 用户组名 用户名 修改所属组
useradd test4
id test4
usermod -aG itcast test4
id test4
getent passwd 查看所有用户
共7份信息:
用户名 : 密码(x) : 用户ID : 组ID : 描述信息(无用) : HOME目录 : 执行终端(默认bash)
getent group 查看所有用户组
共3份信息:
组名称 : 组认证(x) : 组ID
权限控制信息
修改权限
(1)chmod [-R] 权限 文件(夹)路径
-R,对文件夹内全部内容进行同样操作
ls -l
su itheima
mkdir test1
touch test1.txt
chmod u=rwx,g=r,o=w test1.txt
ls -l
mv test1.txt test1
ls test1chmod u=r,g=w,o=x test1
ls -lchmod -R u=rwx,g=rwx,o=rwx test1
ls -l
ls -l test1
su itheima
touch 1.txt
ls -l
chmod 751 1.txt
ls -l
(2)chown [-R] [用户][:][用户组] 文件(夹)
此命令只适用于 root
-R ,同 chmod,对文件夹内全部内容进行相同修改
: 用于分隔用户和用户组
chown root 1.txt
su root
ls -l
chown root 1.txt
ls -lchown itheima 1.txt
ls -lchown :root 1.txt
ls -lchown :itheima 1.txt
ls -lchown root:root 1.txt
ls -lchown -R root:root test1
ls -l
ls -l test1
强制停止
退出/登出
历史命令
history | grep ch
匹配前缀
3~5个命令之内,尽量不要太久
光标移动
软件安装
yum:RPM包软件管理器,用于自动化那幢配置Linux软件,并自动解决依赖问题。
(后缀 .rpm自动安装包)
yum [-y] [install | remove | search] 软件名称
-y ,自动确认,无需手动确认安装 或 卸载
install 安装
remove 卸载
search 搜索
(yum需要root权限,su切换到root,或sudo提升权限)
(yum需要联网)
Ubuntu软件安装
apt [-y] [install | remove | search] 软件名称
CentOS使用yum管理器,Ubuntu使用apt管理器,apt用法同yum
就是....WSL里Ubuntu,下wget,真的比虚拟机CentOS里快多了....
相关文章:
Linux基础命令(示例代码 + 解释)
查看目录下文件 ls [-a -l -h] [路径] -a(全部) -l(细节) -h(大小) ls ls / ls -a ls -l ls -h ls -alh ls -l -h -a ls -lah /切换目录 cd [路径] change di…...
巨人互动|Google企业户Google“自动采纳建议”应该如何使用
在数字化时代,Google已经成为了人们获取信息的主要渠道之一。而在使用Google搜索时,你可能会发现下拉框中自动提供的搜索建议。这些搜索建议是基于用户搜索行为和相关数据进行推测,旨在使用户更快速地找到所需信息。而Google还提供了一项名为…...
元宇宙全球市场规模到2030年将达9805亿美元!
元宇宙是一种新兴的概念,它指的是一个虚拟的世界,由人工智能、虚拟现实、区块链等技术构建而成。元宇宙的起源可以追溯到上世纪90年代的虚拟世界“第二人生”,但直到近年来,随着技术的不断发展,它才逐渐成为了人们关注…...
《向量数据库指南》——向量数据库内核面临的技术挑战及应对措施
最近一年,以 ChatGPT、LLaMA 为代表的大语言模型的兴起,将向量数据库的发展推向了新的高度。 向量数据库是一种在机器学习和人工智能领域日益流行的新型数据库,它能够帮助支持基于神经网络而不是关键字的新型搜索引擎。向量数据库不同于传统的…...
API对接中需要注意的事项
API对接是一个复杂的过程,需要对接双方准确地理解和遵循一系列步骤。以下是一些在API对接中需要注意的事项,以及每个步骤的详细解释和可能遇到的问题。 一、API定义和规划 明确API需求:在开始对接前,必须明确API的具体需求和使用场…...
linux 6中4T磁盘识别并分区格式化
存储端划分4T的LUN后,主机端操作如下 1、主机识别,本例中hba卡的端口是host11和host12 [rootdb1 ~]# echo "- - -" > /sys/class/scsi_host/host11/scan [rootdb1 ~]# echo "- - -" > /sys/class/scsi_host/host12/scan …...
WebServer 解析HTTP 响应报文
一、基础API部分,介绍stat、mmap、iovec、writev、va_list 1.1 stat 作用:获取文件信息 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h>// 获取文件属性,存储在statbuf中 int stat(const char *…...
开利网络参与“大湾区独角兽创投大赛”进行蚓链数字生态项目路演
9月10日,广州市开利网络科技有限公司受邀参与位于广州国际医药港的“大湾区独角兽创投大赛”,进行“蚓链——企业数字化生态”项目的初赛路演。“大湾区独角兽创投大赛”是由中国企业新闻观察网指导,由中国商协会服务工作委员会、广东蚁米孵化…...
前端的8种跨域解决方案
在前端开发中,常见的跨域解决方案有以下8种: JSONP(JSON with Padding):利用<script>标签的跨域特性,通过动态创建<script>标签,请求一个带有回调函数的接口,服务器返回…...
Linux知识点 -- 网络编程套接字
Linux知识点 – 网络编程套接字 文章目录 Linux知识点 -- 网络编程套接字一、预备知识1.认识端口号2.套接字3.TCP协议与UDP协议4.网络字节序 二、socket编程接口1.socket常见API2.sockaddr结构 三、UDP套接字编程1.直接打印客户端信息2.执行客户端发来的指令3.多用户聊天4.在wi…...
逆向大漠插件/用VB6.0实现后台鼠标移动和后台鼠标左键点击
自动化设计软件,在一款做门的设计软件CypCut6.3 上实现了自动化勾选了 复选框。一切都是基于后台的。 Private Const GW_CHILD 5 Private Const GW_HWNDFIRST 0 Private Const GW_HWNDNEXT 2 Public Declare Function FindWindow Lib "user32" Alias &…...
重庆OV证书和EV证书有什么区别
SSL数字证书按照保护的域名数量和类型可以分为单域名SSL证书、多域名SSL证书和通配符SSL证书三种,按照验证方式可以将SSL数字证书分为DV基础型SSL证书、OV企业型SSL证书和EV增强型SSL证书三种。今天就随SSL盾小编了解OV证书和EV证书的区别。 1.OV企业型SSL证书由CA…...
uni-app(微信小程序)图片旋转放缩,文字绘制、海报绘制
总结一下: 要进行海报绘制离不开canvas,我们是先进行图片,文字的拖拽、旋转等操作 最后再对canvas进行绘制,完成海报绘制。 背景区域设置为 position: relative,方便图片在当前区域中拖动等处理。添加图片࿰…...
Spring Boot 2.x基础教程
Spring Boot 2.x基础教程 一、简介1. Spring Boot 2.x 简介2. Spring Boot 2.x 特点3. Spring Boot 2.x 与 Spring Framework 的关系 二、Spring Boot 2.x 环境搭建1. JDK环境安装与配置2. Maven环境安装与配置3. Spring Boot 2.x 项目创建 三、核心功能1. 配置文件及其加载顺序…...
汽车红外夜视系统行业发展总体概况
汽车红外夜视系统是一种技术,旨在帮助驾驶员在夜间或低光条件下提供更好的视觉能力。它利用红外光谱的特性来检测和显示在正常光线下难以察觉的热能辐射。这使驾驶员能够在夜间或恶劣天气条件下更好地识别和辨别道路上的物体、行人、动物或其他车辆。 汽车红外夜视…...
Java 和 PHP GC 的差异和差异出现的原因
JAVA 的 GC 处理 判断草死掉的两种方式:引用计数和可达性分析 可达性分析对 JAVA 比较好用的原因是 JAVA遵守这面向对象的严格要求,每个变量都被对象包裹,所以每个变量都能通过对象来进行遍历找到,最终判断他们的是否被引用&…...
loguru logger使用
一、基本使用 ①标准使用 from loguru import logger# 在标准输出里面输出一行debug日志 logger.debug("Thats dubug")②设置输出格式 from loguru import loggerlogger.remove(0) # 先删除格式 logger.add(sink./logger.log, format"{time: %Y-%m-%d %H:%M…...
vue-自适应布局-postcss-pxtorem
原理: 比如一个375px设计稿 其中一个320px宽度的元素 如何实现自适应布局呢? 其实可以这样理解: 我们先计算出375屏幕时候320px的大小,在屏幕变化时候,这些元素都会等比例缩放 比如屏幕从375 变为750px时候࿰…...
9.12|day 5|day 44 |完全背包| 518. 零钱兑换 II | 377. 组合总和 Ⅳ
● 完全背包 主要是看清01背包和完全背包的区别 //01背包 for(int i 0;i<weight.size();i){ for(int j bagWeight;j>weight[i];j--){dp[j] Math.max(dp[j],dp[j-weight[i]]value[i]); } } //完全背包 for(int i 0;i<weight.size();i){for(int j weight[i];j<…...
C++ 中的原子变量(std::atomic)使用指南
目录 C 中的原子变量(std::atomic)使用指南基本概念使用方法创建原子变量读取值修改值原子操作 常见应用场景1. 计数器2. 控制标志3. 链表和数据结构 示例代码结论 C 中的原子变量(std::atomic)使用指南 原子变量(std…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
力扣热题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…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
python打卡第47天
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...



















