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里快多了....

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/130664.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 System.exit() 来优雅地终止 Spring Boot 项目

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: 使用 System.exit() 来优雅地终止 Spring Boot 项目 ⏱️ 创作时间&am…

IIS解析漏洞复现

文章目录 漏洞复现总结 漏洞复现 打开虚拟机,在C:\inetpub\wwwroot\8000_test目录下放一个phpinfo.php文件: 在服务器管理器中打开IIS管理器,选择处理映射程序: 点击添加模块映射: 配置映射模板,php文件…

【猿灰灰赠书活动 - 06期】- 【计算机考研书单——408专属】

👨‍💻本文专栏:赠书活动专栏(为大家争取的福利,免费送书) 👨‍💻本文简述:博文为大家争取福利,与机械工业出版社合作进行送书活动 👨‍&#x1f…

​消费盲返模式:一种让消费者和商家都受益的新型消费返利模式

您是否想过,如果您的消费能够带来意想不到的回报,您会不会更愿意购买商品或服务呢?您是否想过,如果您的商品或服务能够吸引更多的消费者,并让他们成为您的忠实客户,您会不会更有动力经营您的业务呢&#xf…

一百七十四、Hive——Hive动态分区表加载数据时需不需要指定分区名?

一、目的 在Hive的DWD层和DWS层建立动态分区表后,发现动态插入数据时可以指定分区名,也可以不指定分区名。因此,研究一下它们的区别以及使用场景,从而决定在项目的海豚调度HiveSQL的脚本里需不需要指定动态分区的分区名&#xff…

【数据结构】长篇详解堆,堆的向上/向下调整算法,堆排序及TopK问题

文章目录 堆的概念性质图解 向上调整算法算法分析代码整体实现 向下调整算法算法分析整体代码实现 堆的接口实现初始化堆销毁堆插入元素删除元素打印元素判断是否为空取首元素实现堆 堆排序创建堆调整堆整合步骤 TopK问题 堆的概念 堆就是将一组数据所有元素按完全二叉树的顺序…

记录一次Docker与Redis冲突

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 报错以及Bug ✨特色专栏: …

避坑之路 —— 前后端 json 的注意问题

当我们在进行开发项目的时候,在前后端需要进行数据之间的传输,那么就会需要到json。而json算是字符串中的一种 1.先说一下前端的, 其实这两种都是表示前端希望能收到后端json这样的数据格式,那么我们在后端就需要注意将数据进行转换为json进…

深度学习模型复杂度分析大杂烩

深度学习模型复杂度分析大杂烩 时间复杂度和空间复杂度是衡量一个算法的两个重要指标,用于表示算法的最差状态所需的时间增长量和所需辅助空间. 在深度学习神经网络模型中我们也通过: 计算量/FLOPS(时间复杂度)即模型的运算次数 访存量/By…

数据结构与算法基础-学习-34-基数排序(桶排序)

目录 一、基本思想 二、算法思路 1、个位排序 (1)分配 (2)收集 2、十分位排序 (1)分配 (2)收集 三、源码分享 1、InitMyBucket 2、DestroyMyBucket 3、ClearMyBucket 4、…

软件测试/测试开发丨使用ChatGPT自动进行需求分析

简介 在实际工作过程中,常常需要拿到产品的PRD文档或者原型图进行需求分析,为产品的功能设计和优化提供建议。 而使用ChatGPT可以很好地帮助分析和整理用户需求。 实践演练 接下来,需要使用ChatGPT 辅助我们完成需求分析的任务 注意&…

【论文笔记】Baidu Apollo EM Motion Planner

文章目录 AbstractI. INTRODUCTIONA. Multilane StrategyB. Path-Speed Iterative AlgorithmC. Decisions and Traffic Regulations II. EM PLANNER FRAMEWORK WITH MULTILANE STRATEGYIII. EM PLANNER AT LANE LEVELA. SL and ST Mapping (E-step)B. M-Step DP PathC. M-Step …

01-Redis核心数据结构与高性能原理

上一篇: 1.Redis安装 下载地址:http://redis.io/download 安装步骤: # 安装gcc yum install gcc# 把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压 wget http://download.redis.io/releases/redis-5.0.3.tar.gz…

【ArcGIS Pro二次开发】(67):处理面要素空洞

这个一个简单的小功能。 有些面要素可能会存在空洞,这个工具的目的就是获取面要素的空洞,或者去除空洞获取要素的边界。 这个功能其实在之前做拓扑功能的时候就已经有了,这次只是单独把它提取出来。因为有时候会单独用到这个功能。 一、要实…

面试半个月后的一些想法

源于半个月面试经历后的一些想法,刚开始想的是随便写写,没想到居然写了这么多。 找不到目标找不到意义亦或是烦躁的时候,就写写文章吧,把那些困扰你很久的问题铺开来 花时间仔细想想,其实真正让我们生气懊恼&#xff0…

JS中应该注意的点

本帖子记录在使用前端时遇到的一些小点。 1.html()和text()和val()的使用及区别 1.1 val() val&#xff08;&#xff09;是对于单标签元素的值&#xff0c;其中一个很重要的特性是value"" Value:<input id"input" type"text" value"LO…

MySQL高可用搭建方案之(MMM)

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 注意&#xff1a;这篇转载文章&#xff0c;非原创 首发博客地址 原文地址 前言 MySQL的高可用有很多种&#xff0c;有我们经常说的MMM架构、MHA架构、…

TGA格式文件转材质

今天淘宝上买了一个美女的模型&#xff0c;是blender的源文件&#xff0c;上面说有fbx格式的。我用unity&#xff0c;所以觉得应该可以用。文件内容如下图&#xff1a; FBX文件夹打开后&#xff0c;内容如下图所示&#xff0c;当时就预感到可能没有色彩。 unity打开后果然发现只…

笔记本选购指南

大学生笔记本电脑选购指南 文章目录 笔记本分类指标排行 了解自身需求理工科文科艺术总结 参考指标品牌CPU显卡屏幕其他 购买渠道推荐游戏本Redmi G 锐龙版联想G5000惠普光影精灵9天选4锐龙版联想R7000P暗影精灵9联想拯救者R9000P 全能本华硕无畏PRO15联想小新Pro14 2023 轻薄本…

『SpringBoot 源码分析』run() 方法执行流程:(3)刷新应用上下文-处理 @ComponentScan 注解

『SpringBoot 源码分析』run() 方法执行流程&#xff1a;&#xff08;3&#xff09;刷新应用上下文-处理 ComponentScan 注解 基于 2.2.9.RELEASE问题&#xff1a;当方法进行了注释标记之后&#xff0c;springboot 又是怎么注入到容器中并创建类呢&#xff1f; 首先创建测试主…