Linux的基本指令(上) -- 0基础入门

目录

知识点引入

 基本指令

ls指令

 pwd 命令

 cd 指令

 touch 指令

 stat指令

 mkdir 指令

 tree指令

rmdir 指令 

rm 命令

 man 指令

which 指令

 alias 指令

echo指令 

输出重定向: >

追加重定向:>>

 cp 指令


知识点引入

1.

Linux中路径用 / 作为路径分隔符

而Windows中用 \ 作路径分隔符

总结:路径的存在价值,在于标识文件的唯一性 定位目标文件 


 2.

Linux中, . 代表的是当前目录,而 .. 指的是上级目录。  


3. 

 不管是Linux还是Windows的目录结构,都是树状结构的。

之前学过二叉树,而它有一个根结点。这边因为目录结构是树状结构,所以叫根目录 。

树状结构有路上结点叶子结点

路上结点一定是目录。

路上结点指底下还有结点,比如:/ ,usr, etc, rc.d, var, ftp.

叶子结点,一定是空目录 或者 普通文件


  4.

4.1从根目录开始,定位一个文件,我们叫做绝对路径!!-->具有唯一性

/root/Linux_practice/lesson2

因为有绝对路径,所以在Linux中能找到任何文件。


4.2 当然了,除了绝对路径,还有相对路径-->相对于自己当前所在的路径

当我们要找文件init.d时。(图在上一个知识点3)

绝对路径:/etc/rc.d/init.d

相对路径 :当它的路径在rc5.d时

../init.d

总结:

绝对路径:配置文件中写入某些文件的配置路径

相对路径:命令行操作的时候,比较容易


5.

 drwxr-xr-x 2 root root 4096 Jan 19 14:34 lesson1
drwxr-xr-x 2 root root 4096 Jan 19 14:12 lesson2
-rw-r--r-- 1 root root    0 Jan 19 15:13 test.c

在Linux中以d 开头的都是目录文件,而以-开头的时普通文件 


5.

大家来思考一下,空的文件占不占空间?

答案 :占空间,因为文件 = 文件内容 + 文件属性


 6.

什么叫做命令(指令)?

其实就是Linux指定目录下(/usr/bin)的可执行文件!!

指令:本质上就是别人写的可执行程序或者某些脚本,被放在了系统的特定路径下(/usr/bin)

所以所谓的安装软件,核心其实是把目标软件拷贝到系统认识的指定路径下


7. 

Linux中一切皆文件 


 基本指令

因为是入门,常用选项就挑几个常用的讲,容易上手。

ls指令

语法: ls [选项] [⽬录或⽂件]

功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信 息。

常⽤选项:

  • -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
  • -l 列出⽂件的详细信息
  • -d 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。 如:ls ‒d 指定⽬录

 ls

//列出该⽬录下的所有⼦⽬录与⽂件

[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# pwd
/root/Linux_practice
[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# ls
lesson1  lesson2  test.c

ls -l

//列出子目录和文件更详细的信息

[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# ls -l
total 8
drwxr-xr-x 2 root root 4096 Jan 19 14:34 lesson1
drwxr-xr-x 2 root root 4096 Jan 19 14:12 lesson2
-rw-r--r-- 1 root root    0 Jan 19 15:13 test.c

ls -a

//列出⽬录下的所有⽂件,包括隐藏文件

 [root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# ls -a
.  ..  lesson1  lesson2  test.c

 ls -l -d组合使用

//将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件

[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# ls -l -d lesson2
drwxr-xr-x 2 root root 4096 Jan 19 14:12 lesson2
 

ls -la 组合使用

//列出所以文件的详细信息,包括隐藏文件

[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# ls -la
total 16
drwxr-xr-x  4 root root 4096 Jan 19 15:13 .
dr-xr-x---. 8 root root 4096 Jan 15 13:06 ..
drwxr-xr-x  2 root root 4096 Jan 19 14:34 lesson1
drwxr-xr-x  2 root root 4096 Jan 19 14:12 lesson2
-rw-r--r--  1 root root    0 Jan 19 15:13 test.c
 

也可以通过绝对路径的方式去访问 目录下的 子目录和文件。 


 pwd 命令

语法: pwd

功能:显⽰⽤户当前所在的⽬录

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# pwd
/root/Linux_practice/lesson2


 cd 指令

语法: cd ⽬录名

功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下

cd . 和 cd ..

//展示 . 和 .. 用法

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# pwd
/root/Linux_practice/lesson2

//cd .进入当前目录
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cd .
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# pwd
/root/Linux_practice/lesson2

//cd .. 进入上级目录
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cd ..
[root@iZbp18hkiukb1yxq1ko8f3Z Linux_practice]# pwd
/root/Linux_practice
 

cd - 

//跳转至最近的路径(上一次)

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cd /
[root@iZbp18hkiukb1yxq1ko8f3Z /]# pwd
/
[root@iZbp18hkiukb1yxq1ko8f3Z /]# cd -
/root/Linux_practice/lesson2
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# pwd
/root/Linux_practice/lesson2
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cd -
/
[root@iZbp18hkiukb1yxq1ko8f3Z /]# cd -
/root/Linux_practice/lesson2
 

cd ~

//进入当前用户的家目录

[root@iZbp18hkiukb1yxq1ko8f3Z ~]# cd ~
[root@iZbp18hkiukb1yxq1ko8f3Z ~]# pwd
/root

家目录是指定用户,登录的时候,默认所处的路径,叫做家目录


 touch 指令

语法: touch [选项]... ⽂件...

功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在 的⽂件。

常⽤选项:

  • -a : change only the access time
  • -c : change only the modification time

touch -->新建一个不存在的文件

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# touch hello.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# touch test.cpp
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
hello.txt  test.c  test.cpp

touch -c hello.txt  时间发生改变

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# stat hello.txt
  File: ‘hello.txt’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 931660      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2025-01-19 16:45:51.193650631 +0800
Modify: 2025-01-19 16:45:51.193650631 +0800
Change: 2025-01-19 16:45:51.193650631 +0800
 Birth: -
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# touch -c hello.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# stat hello.txt
  File: ‘hello.txt’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 931660      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2025-01-19 16:58:52.117106990 +0800
Modify: 2025-01-19 16:58:52.117106990 +0800
Change: 2025-01-19 16:58:52.117106990 +0800
 Birth: -
 


 stat指令

语法: stat ⽂件...

功能:查看文件的状态 或者 属性

 [root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# stat hello.txt
  File: ‘hello.txt’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 931660      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2025-01-19 16:45:51.193650631 +0800
Modify: 2025-01-19 16:45:51.193650631 +0800
Change: 2025-01-19 16:45:51.193650631 +0800
 Birth: -


 mkdir 指令

语法: mkdir [选项] dirname...

功能:在当前⽬录下创建⼀个名为 “dirname”的⽬录

常⽤选项:

  • -p/--parents: 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃ 动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录

 mkdir

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# mkdir dir
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
dir  hello.txt  test.c  test.cpp
 

mkdir -p  d1/d2/d3/d4

//一次创建多个目录

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# mkdir -p  d1/d2/d3/d4
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
d1  dir  hello.txt  test.c  test.cpp
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cd d1
[root@iZbp18hkiukb1yxq1ko8f3Z d1]# ls
d2
[root@iZbp18hkiukb1yxq1ko8f3Z d1]# cd d2
[root@iZbp18hkiukb1yxq1ko8f3Z d2]# ls
d3


 tree指令

功能:以树形结构的方式展现

centos安装:yum install -y tree
ubuntu安装:apt install -y tree

tree

//树形结构的方式展开 

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# pwd
/root/Linux_practice/lesson2
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# tree .
.
├── d1
│   └── d2
│       └── d3
│           └── d4
├── dir
├── hello.txt
├── test.c
└── test.cpp

5 directories, 3 files
 


rmdir 指令 

不推荐使用,建议使用rm

 功能:删除空⽬录


rm 命令

语法: rm [-f-i-r-v] [dirName/dir] 

适⽤对象:所有使⽤者

功能:删除⽂件或⽬录

常⽤选项:

  • -f 即使⽂件属性为只读(即写保护),直接删除,不用经过同意
  • -i 删除前逐⼀询问确认
  • -r 删除⽬录及其下所有⽂件

rm -f

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
d1  dir  hello.txt  test.cpp
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# rm hello.txt
rm: remove regular empty file ‘hello.txt’? n
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# rm -f hello.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
d1  dir  test.cpp

那么删除目标文件可以直接rm d1吗?

答案是不行的,因为目录是递归进行的,想要删除d1,就必须删除它底下的目录和文件。那该这么解决呢?

rm -r

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# rm -r d1
rm: descend into directory ‘d1’? y
rm: descend into directory ‘d1/d2’? y
rm: remove directory ‘d1/d2/d3’? y
rm: remove directory ‘d1/d2’? y
rm: remove directory ‘d1’? y
 


 man 指令

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助

 语法: man [选项] 命令

解释⼀下:man⼿册分为9章(不同系统可能会有差别)

  • 1 是普通的命令
  • 2 是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么 头⽂件)
  • 3 是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件
  • 4 略
  • 5 是指⽂件的格式,⽐如passwd, 就会说明这个⽂件中各个字段的含义
  • 6 是给游戏留的,由各个游戏⾃⼰定义
  • 7 是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
  • 8 是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
  • 9 略

一般情况下,只查询1 和 2 

如果发现查询不了,centos安装: yum install -y  man-pages

ubuntu:apt install -y  man-pages

man

//查看printf指令(没错,printf也是⼀个指令)

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# man printf

//查看系统调⽤,默认没有这个指令,man就⾃动 去2号⼿册查找

 [root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# man fork

//查看系统调⽤
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# man 2 fork

 


which 指令

功能 :查找指令所在的路径

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls

 我们可以看到ls的所在的路径是  /usr/bin/ls


 alias 指令

功能:给指令取别名

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# alias haha='ls'
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# haha
dir  test.cpp


echo指令 

功能:向显示器文件打印内容

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# echo 'hello world!'
hello world!

输出重定向: >

//把内容从显示器文件输出到普通文件中

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# echo 'hello linux!!'>log.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cat log.txt
hello linux!!

重点:

输出重定向

1.如果文件不存在,就会新建

2.旧内容会被清空,从而写入新的内容

所以说创建普通文件还能:

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# >test.c
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# >text.cpp
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls
log.txt  test.c  text.cpp

一般情况下都不使用touch

追加重定向:>>

指的是不删除旧数据,继续追加数据

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# echo 'hello linux!!'>>log.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# echo 'hello linux!!'>>log.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# echo 'hello linux!!'>>log.txt
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cat log.txt
hello linux!!
hello linux!!
hello linux!!
hello linux!!
 


 cp 指令

语法: cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能: 复制⽂件或⽬录

说明:

  • cp指令⽤于复制⽂件或⽬录

cp scr dst -->scr指的是原文件,dst是目标文件

//把log.txt文件拷贝到根目录中

[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# cp log.txt /
[root@iZbp18hkiukb1yxq1ko8f3Z lesson2]# ls /
bin   dev  home  lib64    lost+found  mnt  patch  root  sbin  sys  usr  www
boot  etc  lib   log.txt  media       opt  proc   run   srv   tmp  var
 

 今天就分享到这!!如果有错误,请call我改正,感谢大家

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读:CosAE Learnable Fourier Series for Image Restoration

这是 2024 NeurIPS 上发表的一篇文章,介绍了一种新型的基于傅里叶级数的通用编码器。 Abstract 本文介绍了余弦自动编码器(Cosine Autoencoder, CosAE),这是一种新颖的通用自动编码器,它将经典傅里叶级数与前馈神经网…

网络编程-UDP套接字

文章目录 UDP/TCP协议简介两种协议的联系与区别Socket是什么 UDP的SocketAPIDatagramSocketDatagramPacket 使用UDP模拟通信服务器端客户端测试 完整测试代码 UDP/TCP协议简介 两种协议的联系与区别 TCP和UDP其实是传输层的两个协议的内容, 差别非常大, 对于我们的Java来说, …

【华为路由/交换机的ssh远程设置】

华为路由/交换机的ssh远程设置 R1(client):10.1.1.1 R2(server):10.1.1.2 R2服务端配置: 生成本机密钥 查看生成的密钥 设置AAA授权验证方式,并设置支持SSH协议 创建本地用户&…

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

CSS笔记基础篇01——选择器、文字控制属性、背景属性、显示模式、盒子模型

黑马程序员视频地址: 前端Web开发HTML5CSS3移动web视频教程https://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodeshttps://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d3666…

C++学习第五天

创作过程中难免有不足,若您发现本文内容有误,恳请不吝赐教。 提示:以下是本篇文章正文内容,下面案例可供参考 一、构造函数 问题1 关于编译器生成的默认成员函数,很多童鞋会有疑惑:不实现构造函数的情况下…

2024嵌入式系统的未来发展与技术洞察分享

时间如白驹过隙,不知不觉又是一年,这一年收获满满。接下来,将本年度对技术的感悟和洞察分析如下,希望对大家有所帮助。 在过去几十年里,嵌入式系统技术迅速发展,成为现代电子设备和智能硬件的核心组成部分。…

01设计模式(D3_设计模式类型 - D3_行为型模式)

目录 一、模版方法模式 1. 基本介绍 2. 应用案例一:豆浆制作问题 需求 代码实现 模板方法模式的钩子方法 3. View的draw(Android) Android中View的draw方法就是使用了模板方法模式 模板方法模式在 Spring 框架应用的源码分析 知识小…

Linux 中如何使用 inotify-tools 监控目录变化 ?

当 Linux 系统目录中有新文件创建时执行命令,可以通过组合使用工具和脚本实现监控。一种常见的方法是使用 inotify-tools,这是一个允许您监视文件系统事件的实用程序,与 shell 脚本一起使用。 Step 1: 安装 inotify-tools 首先,…

vid2vid-zero:使用Stable Diffusion进行零样本视频编辑

Paper: Wang W, Jiang Y, Xie K, et al. Zero-shot video editing using off-the-shelf image diffusion models[J]. arXiv preprint arXiv:2303.17599, 2023. Introduction: Unreleased Code: https://github.com/baaivision/vid2vid-zero 目录 一. 预备知识1. diffusion 引导…

AI 大爆发时代,音视频未来路在何方?

AI 大模型突然大火了 回顾2024年,计算机领域最大的变革应该就是大模型进一步火爆了。回顾下大模型的发展历程: 萌芽期:(1950-2005) 1956年:计算机专家约翰麦卡锡首次提出“人工智能”概念,标志…

蓝桥杯训练—完美的代价

文章目录 一、题目二、示例三、解析四、代码 一、题目 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是&am…

雷电9最新版安装Magisk+LSPosd(新手速通)

大家好啊!我是NiJiMingCheng 我的博客:NiJiMingCheng 在安卓系统的定制与拓展过程中,获取 ROOT 权限以及安装各类框架是进阶玩家常用的操作,这可以帮助我们实现更多系统层面的个性化功能。今天,我将为大家详细介绍如何…

【25】Word:林涵-科普文章❗

目录 题目​ NO1.2.3 NO4.5.6 NO7.8 NO9.10 NO11.12 不连续选择:按住ctrl按键,不连续选择连续选择:按住shift按键,选择第一个,选择最后一个。中间部分全部被选择 题目 NO1.2.3 布局→纸张方向:横向…

ESP8266-01S、手机、STM32连接

1、ESP8266-01S的工作原理 1.1、AP和STA ESP8266-01S为WIFI的透传模块,主要模式如下图: 上节说到,我们需要用到AT固件进行局域网应用(ESP8266连接的STM32和手机进行连接)。 ESP8266为一个WiFi透传模块,和…

Vscode:问题解决办法 及 Tips 总结

Visual Studio Code(简称VSCode)是一个功能强大的开源代码编辑器,广泛用于各种编程语言和开发场景,本博客主要记录在使用 VSCode 进行verilog开发时遇到的问题及解决办法,使用过程中的技巧 文章目录 扩展安装失败调试配…

Comment(爆破+git泄漏+二次注入)

通过爆破密码的后三位,获得账号为:zhangwei666 F12查看控制台 使用bugscanteam的githack工具,下载泄漏的源码,根据控制台的提示,完整源码还在历史的commit中 git log –reflog 查看历史记录 查看最新的提交记录&#…

物联网网关Web服务器--Boa服务器移植与测试

1、Boa服务器介绍 BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。 Boa 嵌入式 web 服务器的官方网站是http://www.boa.org/。 特点 轻量级&#x…

vim文本编辑器

vim命令的使用: [rootxxx ~]# touch aa.txt #首先创建一个文件 [rootxxx ~]# vim aa.txt #vim进入文件aa.txt进行编辑 vim是vi的升级版,具有以下三种基本模式: 输入模式(编辑模式) 点击i进入编辑模式 (说明…

MYSQL主从同步----1、基于binlog 2、基于gtid

目录 前提(无论是基于binlog还是基于gitd) 一、对MySQL主从同步的了解 1、MySQL支持的复制类型 2、为什么要做主从复制 3、主从复制原理---面试会考 二、基于binlog的主从同步 1、主库上的操作 1)配置文件 2)备份数据库&am…