Linux基础命令(示例代码 + 解释)

news2024/10/6 10:28:12

查看目录下文件

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
ls

mkdir /home/itheima/test
ls

mkdir ./test2
ls

mkdir ~/test4
ls

mkdir -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.txt

cp -r itheima itheima2
ls

移动文件

mv 参数1 参数2              move

参数1              Linux路径               移动的文件(夹)

参数2              Linux路径               移动到的地方   如果目标不存在,则进行改名,确保存在

ls
mv test.txt Desktop
ls Desktop

mv test2.txt test3.txt
ls

ls
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取消)
ls

ls
rm -r test3
ls

rm -r test4 itheima itheima2 itcast
ls

 rm 命令支持 * 表示通配符

test*  表示test开头的内容

*test  表示test结尾的内容

*test*  表示任何包含test的内容

ls
rm -r test*
ls

touch 1test
touch 2test
touch 3test
rm -f *test
ls

touch 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 -1k

find / -size +1G

find / -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 itheima

cat test.txt | wc -l

ls | grep test

ls /usr/bin
ls /usr/bin | grep gtf

ls -l /usr/bin | grep gtf

ls -l /usr/bin | wc -l

cat test.txt | grep itcast

cat test.txt | grep itcast | grep code

cat test.txt | grep itcast | wc -l

cat 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.txt

echo "sha bi ni shi" >> test.txt
cat test.txt

ls
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.txt

tail test.txt
tail -f test.txt
(新开一个centos)----
echo "hello shabi"
----
(ctrl + c)
tail -3 test.txt

echo "我当前的工作目录是:"`pwd` > work.txt
cat work.txt
echo "我当前的工作目录是:`pwd`">> work.txt
cat work.txt

tail -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
ll

useradd 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 test1

chmod u=r,g=w,o=x test1
ls -l

chmod -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 -l

chown itheima 1.txt
ls -l

chown :root 1.txt
ls -l

chown :itheima 1.txt
ls -l

chown root:root 1.txt
ls -l

chown -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.coloradmin.cn/o/1003473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kafka增加磁盘或者分区,topic重分区

场景:kafka配置文件log.dirs增加了几个目录,但是新目录没有分区数据写入,所以打算进行重分区一下。 1.生成迁移计划 进入kafka/bin目录 新建 topic-reassign.json,把要重分区的topic按下面格式写。 { "topics": [{ …

NotionAI使用指南

一、NotionAI是什么 NotionAI是一款基于人工智能技术的知识管理工具,具有以下功能: 智能提醒: NotionAI可以根据用户的使用习惯和工作流程,智能提醒用户需要完成的任务和事项,帮助用户更好地规划和安排工作时间。智能分类: Noti…

洗鞋软件开发,洗鞋店小程序功能介绍;

洗鞋小程序开发搭建; 作为一个技术出身的设计人,今天我想跟大家一起来聊一聊目前市面上的洗鞋小程序,截止目前,我们闪站侠洗护软件已经累计服务用户2000 可以总结一下,目前市面上只要是宣称自己做互联网洗鞋的&#x…

MyBatis的使用

一.在创建Spring项目时引入MyBatis Framework和MySQL Driver; 二.下载插件:MyBatisX插件。 三.配置文件: 四.根据MyBatis写法完成数据库的操作 常规写法,包括两个文件: 1.接口:方法的声明(给其他层调用&…

CAN/CANFD转WIFI设备解决近距离无线通讯问题

在现场应用中,各种情况都会出现,一些运动设备进行维护、下载、测试工作时,需要近距离无线收发CAN/CANFD报文。 港口应用中,控制室与吊机一没有办法通过有线连接,这时候就可以用无线来实现数据抓取。 例如某AGV小车厂…

java.lang.ClassCastException: android.os.BinderProxy cannot be cast to ...

项目开发遇到下面这个报错了! 直接说原因,就是因为进程间不能直接传递对象,应该传递该Binder对象的映射(代理对象),所以类型转换就出错了。如果在同一个进程中,直接传递对象没有关系&#xff0c…

手撕代码是程序员的基本功吗?

前言: 现在众多企业都要求在面试中用“手撕代码”来考验应聘者的代码能力,你觉得手敲代码是否可以体现真实的基础实力? 本期话题: 1、你觉得手撕代码是程序员的基本功吗? 2、为什么会用“手撕代码”来考验程序员能力&a…

vue3中v-html的使用时,出现<后面的字符串展示不出来

话不多说&#xff0c;直接上代码&#xff1a; 把<替换一下用&lt &#xff0c;这样就完美的解决问题了

神经网络 01(介绍)

一、神经网络 人工神经网络 (Artificial Neural Network&#xff0c;简写为ANN)也简称为神经网络 (NN)&#xff0c;是一种模仿生物神经网络结构和功能的 计算模型。人脑可以看做是一个生物神经网络&#xff0c;由众多的神经元连接而成。各个神经元传递复杂的电信号&#xff0c…

有趣不失风度:sdxl-emoji模型上线,在线生成苹果Memoji头像

苹果公司即将举行发布会&#xff0c;这是每年吸引全球关注的重大事件。在这期间&#xff0c;众多第三方软件也开始推出与苹果相关的应用程序。其中&#xff0c;sdxl-emoji是一款基于AI技术的绘图模型&#xff0c;已经上线&#xff0c;并且还开发了基于该模型的在线Demo。这款应…

springboot3 + java虚拟线程初体验

java虚拟线程介绍 虚拟线程是 Java 19 的 预览特性&#xff0c;估计会在Java 22被纳入 JDK 的正式版本中&#xff0c;会在2023年9月发布&#xff0c;目前springboot 3 已经提供了对虚拟线程的支持。 虚拟线程和平台线程主要区别在于&#xff0c;虚拟线程在运行周期内不依赖操…

【项目分析】仿linux0.11的操作系统内核

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于《操作系统 真象还原》及各大佬博客进行的&#xff0c;每个知识点的…

linux系统移植简要过程(移植bootloader引导加载程序---移植linux内核---制作根文件系统)

一.标准linux启动过程图 对于linux启动流程分析&#xff0c;我们需要移植bootloader引导加载程序---移植linux内核---制作根文件系统镜像文件&#xff1b; 二.为什么进行系统移植&#xff1f; 对于不同的硬件平台&#xff0c;linux系统启动流程大体相同&#xff0c;但是资源需求…

Multisim14.0仿真(十二)积分放大器

一、仿真原理图&#xff1a; 二、仿真效果图&#xff1a;

道路积水监测-路面积水监测系统

随着城市化的不断发展&#xff0c;城市面临着越来越多的交通挑战&#xff0c;其中之一就是道路积水问题。道路积水不仅影响了交通安全&#xff0c;还会引发交通堵塞、交通事故和城市洪涝等问题。因此&#xff0c;开展道路积水监测是十分必要的。 城市排水、供水、燃气、供热、桥…

本地部署kubesphere集群

本地部署kubesphere集群 本文采用一主两从结构 1.前置硬件准备 准备最少3台机器&#xff0c;本人分配如下 IP&#xff1a;192.168.58.10 &#xff08;主&#xff09; 192.168.58.11 &#xff08;节点1&#xff09; 192.168.58.12 &#xff08;节点2&#xff09; 系统镜像…

3.linux的进程和服务管理

一、查看进程 1.Linux的进程介绍 1)在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。 2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。 3)每个进程都可能以两种方式存在的。前台与后台 4)一般系统的服务都是以后台进程的方…

icmp报文及用go实现

目录 一、概述 二、ICMP报文格式详解 2.1 什么是ICMP 2.2 ICMP报文格式 2.3 ICMP报文类型 2.4 实际报文举例 三、使用go实现icmp请求以及接收响应内容 一、概述 本文主要旨在学习icmp报文格式&#xff0c;以及通过go语言来实现ICMP发包。 二、ICMP报文格式详解 2.1 什…

Redis缓存设计与性能优化

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据&#xff0c; 缓存层和存储层都不会命中&#xff0c; 通常出于容错的考虑&#xff0c; 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询&#xff0c; 失去…

【解决】80端口被占用,无法启动apache

1.cmd输入netstat -nao,查看是什么进程占用80端口。进程显示为pid4。 2.打开任务管理器&#xff0c;详细信息选项卡&#xff0c;可以看到pid4的进程是system。 右键打开文件所在位置&#xff0c;可以看到是ntoskrnl.exe这个文件占用80端口 3.【解决方法】 &#xff08;1&am…