Linux 入门指令(1)

(1)ls指令

ls -l可以缩写成 ll 同时一个ls可以加多个后缀 比如 ll -at

(2)pwd指令

(3)cd指令

cd .是当前目录

(4)touch指令

(5)mkdir指令

(6)rmdir和rm指令

(7)tree 指令

主要作用是以树状结构展示目录及其子目录下的文件和文件夹层次结构。

它能让用户更直观地查看目录结构,尤其适合需要快速了解某个目录内容组织方式的场景。

tree有可能需要下载 下载指令为

Linux中分隔符是/

Windos中分隔符是\

'/' 和'\'同时也分别表示 Windows和Linux的根目录

linux中目录的是以d开头的(比如下图的sss)

文件是以-开头的 (比如下图的STL源码刨析.txt)

(8)* 通配符

*可以匹配任意名称 任意类型的文件

比如像我们这个地方创建了 123.c 123.txt 234txt 234.c 四个文件

ls *.c 就是把匹配.c的文件列出来

ls 123.*

就是匹配123.开头的文件 列出来

(9)man指令

我们平时很多指令容易忘 可以直接man查看指令的用法 当我们要看man指令的用法怎么办?

直接man man

(11)printf指令

printf的指令和C语言里面的printf不是同一个东西 作用是差不多的 都是打印

比如像这个地方我直接用printf打印了helloworld

其他很多具体作用我们可以直接man了

(12)cp指令

cp file1.txt file2.txt

比如就像这个指令 就是把file 1.txt这个文件复制到file2这个文件 复制到file2这个文件

这个地方cp file1.txt file2.txt 和 cp file1.txt ./file2.txt

本质上是一样 没有标明路径就是默认当前路径下的!

像这种标明路径的

cp file1.txt /home/user/documents

就是把 file1.txt 复制到 /home/user/documents 目录下

那么cp -if的结果是什么 i代表要询问 f代表不需要询问 那么到底需不需要询问呢?

答案是要询问 i的优先级比f更高 因为这样的话 安全性会更好

(13)mv指令

简要 概述一下 mv的功能是 文件重命名+剪切

mv oldname.txt newname.txt

oldname.txt 重命名为 newname.txt

等同于

mv oldname.txt ./newname.txt

file.txt 移动到 /home/user/documents 目录下

mv file.txt /home/user/documents

source_dir 目录移动到 destination_dir 目录下

mv source_dir destination_dir

如果 mv 文件 路径 没有给明确的重命名是什么? 就是默认名字不变 只执行剪切

mv 文件 路径 重命名 这个地方就是剪切+重命名

但是这个地方要注意 这个重命名的文件名 不能是路径上存在的

不然 路径+重命名的这个整体会被看成路径 从而只执行剪切的 不执行重命名!!!

(14)echo

主要用于在终端输出文本字符串,也能将输出内容重定向到文件。以下为你详细介绍其用法:

在终端输出 "Hello, World!"

echo "Hello, World!"

不换行输出

通常 echo 输出后会换行,若要避免换行,可使用 -n 选项,示例如下:

echo -n "This will not add a newline."

解释转义字符

使用 -e 选项可解释反斜杠转义字符,例如输出包含换行和制表符的文本:

echo -e "First line\n\tSecond line"

将输出重定向到文件

可以把 echo 的输出保存到文件中,使用 > 进行重定向(会覆盖原文件内容),示例如下

echo "This is a test." > test.txt

若要将内容追加到文件末尾,可使用 >>,示例如下:

echo "Appending more text." >> test.txt

(15)which

指令本质上是可执行程序

可以查看指令所储存的路径

(16)alise

指令本质上是可执行程序

我们通过指令which 可以知道指令所存储的位置

我们发现我们的指令基本存在/user/bin/这个路径中

我们可以把我们自己的可执行文件放到这个路径中

然后我们发现我可以把我自己的可执行文件当作指令用

我们根据 whic指令可以知道 ll指令上本质上ls -l

而这个过程被称为取别名!!! 取别名通过alise实现

(17)重定向操作符

linux里 一切皆文件

输出重定向

<是输出重定向操作符

  • >:覆盖输出
  • 作用:把命令的标准输出重定向到指定文件,若文件存在,内容会被覆盖;若文件不存在,则会创建该文件。
    • 示例:将ls命令的输出保存到file_list.txt文件中。

ls > file_list.txt

<操作符 本质上就是两部操作

1.清空文件

2.写入新内容

因此 我们可以根据 <创建没有的文件

比如 <123.txt 创建一个123.txt的文件

<<输出追加重定向操作符

  • >>:追加输出
    • 作用:把命令的标准输出追加到指定文件末尾,若文件不存在,则会创建该文件。
    • 示例:将当前日期追加到date_log.txt文件中。

date >> date_log.txt

输入重定向

  • <:从文件读取输入
    • 作用:把文件内容作为命令的输入。

(18) cat

cat 命令最基本的用途是显示文件的内容。你只需在命令行中输入 cat ,后面跟上文件名,就可以在终端中查看文件的完整内容。

cat filename.txt

但是cat有一个缺点 就是cat只能显示较短的文件 如果较大的文件 比如有100w行的时候

cat就不那么适用了! 这个时候就要用到下面2个指令了

(19)more指令

作用

more 是一个基本的分页查看工具,它允许你按页查看文件内容或者命令输出,当文件内容较多无法在一个屏幕内显示完时,more 可以将内容分成若干页,每次显示一页。

more large_file.txt

执行上述命令后,more 会显示文件的第一页内容,在屏幕底部会显示 --More-- 提示信息以及当前显示内容在文件中的百分比。

常用操作
  • Space 键:显示下一页内容。
  • Enter 键:向下滚动一行。
  • q 键:退出 more 查看。

(20)less指令

作用

lessmore 的增强版,它具备 more 的基本功能,同时还提供了更多的高级特性,例如可以向前和向后翻页、搜索文本、跳转至指定行等。

使用示例

less large_file.txt

常用操作
  • Space 键:显示下一页内容。
  • b 键:显示上一页内容。
  • Enter 键:向下滚动一行。
  • y 键:向上滚动一行。
  • / 键:进入搜索模式,输入要搜索的文本,按 Enter 键开始搜索,按 n 键查找下一个匹配项,按 N 键查找上一个匹配项。
  • g 键:跳转到文件开头。
  • G 键:跳转到文件末尾。
  • q 键:退出 less 查看。

less和more的区别

  • 功能丰富度less 的功能比 more 更为丰富,less 支持向前和向后翻页、搜索文本、跳转至指定行等操作,而 more 主要只能向后翻页。
  • 内存使用less 不需要将整个文件加载到内存中,它可以逐页读取文件内容,所以在处理大文件时,less 的内存使用效率更高。而 more 在某些情况下可能需要将部分内容加载到内存中。
  • 交互性less 的交互性更强,用户可以更方便地进行各种操作,如搜索、跳转等。而 more 的操作相对较少。
  • 命令历史less 可以记住用户的操作历史,例如搜索命令等,方便用户重复使用。而 more 没有这个功能。

总体而言,若你只需要简单地按页查看文件内容,more 就足够了;若你需要更多的功能和更好的交互性,建议使用 less

(21)head指令

(22)tail指令

(23)管道文件

那么思考一个问题: 我们如果要在一个100w行的文件中读到一个文件的1000行到1020行

怎么办:

方案1:我直接less搜索定位到1000行

方案2:直接head输出前1020行 到一个中间文件tmp 再对tmp tail输出最后20行 这20行 就是原先文件的 1000 到1020行 linux系统中对于这个中间的tmp文件 有一个更好的选择

就是管道文件 符号是 |

比如 head -1020 123.txt | tail -21

我们先把123.txt的文件的前1020行输出到管道文件 管道文件再将其末尾的20行打印出来

这样就实现了打印原文件的1000 到1020行了

此外 |还可与连着用

比如 head -1020 123.txt | tail -21| head5

相关推荐
deeper_wind31 分钟前
MySQL数据库基础(小白的“升级打怪”成长之路)
linux·数据库·mysql
Raners_36 分钟前
【Linux】文件权限以及特殊权限(SUID、SGID)
linux·安全
egoist202339 分钟前
【Linux仓库】进程优先级及进程调度【进程·肆】
linux·运维·服务器·进程切换·进程调度·进程优先级·大o1调度
2301_1472583692 小时前
7月2日作业
java·linux·服务器
xuanzdhc6 小时前
Linux 基础IO
linux·运维·服务器
愚润求学6 小时前
【Linux】网络基础
linux·运维·网络
bantinghy7 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志8 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手8 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux