当前位置: 首页 > news >正文

【Linux】基础指令和基础知识点

目录

一、基础指令

二、基础知识点



一、基础指令

1.ssh root@公网ip

功能:登录云服务器,公网ip填写自己服务器的公网ip地址,随后会跳出密码输入框,输入密码时不会显示密码,此为正常现象。


2.adduser 新用户名

功能:添加新用户,新用户名需要自定义


3.passwd 用户名

功能:为用户添加密码,也可以用于修改密码


4.userdel -r 用户名

功能:删除某用户,注意-r必须加上,否则可能导致没完全删干净。注意该操作在root用户上操作。


5.pwd

功能:显示当前路径


6.whoami

功能:显示当前正在使用Linux的账号名称


7.ls [选项] [目录或者文件]

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

常用选项:

  • -a 列出目录下的所有文件,包括以.开头的隐含文件。
  • -l 列出文件的详细信息,该指令可以简写为 ll。
  • -d 将目录像文件一样显示,而不是显示其下的文件。如:ls‒d指定目录
  • -i 输出文件的i节点的索引信息。如 ls‒ai 指定文件
  • -k 以k字节的形式表示文件的大小。ls‒alk 指定文件
  • -n 用数字的UID,GID代替名称。(介绍UID,GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

选项可组合使用


8.cd 目录名

功能:改变工作目录,将当前工作目录改变到指定的目录下。

  • cd ~:进入家目录
  • cd -:返回上一次cd进入的目录并显示路径
  • 目录名可以是绝对路径,也可以是相对路径。


9.clear

功能:清理指令框,历史指令依旧可以上划查看


10.touch [选项] 文件名

功能:创建新文件或更新已有文件的时间戳(访问时间和修改时间)

  • -a:仅更新文件的访问时间(atime),而不改变修改时间(mtime)和状态改变时间(ctime)。
  • -c:仅更新已有文件的时间戳,不创建新文件(如果指定的文件不存在,则什么也不做)。

文件名可有多个,空格隔开,可以一次性创建多个文件


11.file 文件名

功能:可以查看文件的实际类型,


12.stat 文件名

功能:显示文件或文件系统的详细状态信息,包括文件的时间戳、权限、大小、inode 编号等元数据。(它比 ls -l 提供的信息更全面)


13.mkdir [选项] 目录名或者路径

功能:在当前目录下创建一个目录

  • -p:后面可以接一个路径名称。此时若路径中的某些目录尚不存在,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。


14.tree 目录名

需要手动安装:yum install -y tree(CentOS),apt install -y tree(Ubuntu),非root账号需要sudo提权。

功能:tree指令用于以树形结构递归显示目录下的文件和子目录,直观展示文件系统的层级关系,常用于快速了解目录结构。

  • 一般使用 tree . 即可快速展示当前目录下的所有文件和子目录。
  • tree还有众多选项,感兴趣可自行搜查。


15.rm [选项] 文件名或路径

功能:删除文件或目录

  • -f:强制删除,即使文件属性为只读(即写保护),亦直接删除
  • -i:删除前逐一询问确认
  • -r:删除目录及其下所有文件(递归式删除)

rmdir指令也具有删除空目录功能,但是基本可以被rm平替


16.man  指令或C语言库函数

功能:用于查找Linux的系统指令、C语言库函数等的详细文档

常用选项:

  • -k:根据关键字搜索联机帮助
  • -a:将所有章节的都显示出来,比如man printf它缺省从第一章开始搜索,知道就停⽌,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
  • num:只在第num章节查找

num共用9章,以下是每章大致内容:

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

注意:如果查询不到那就说明man手册是残缺的,使用 yum install -y man-pages(CentOS)/ apt install -y man-pages(Ubuntu) 安装完整版man手册。

演示:


17.echo

功能:默认将echo后面的内容写入显示器文件(打印出来)


18.cp [选项] [源文件] [目标文件]

功能:复制文件或目录

说明:

  • [目标文件]指复制的新文件名,在其他目录则需要带上路径。[源文件]如果就在当前路径下则不需要。
  • 复制一个包含多文件的目录时需要使用 -r 选项,进行递归复制。
  • 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。

常用选项:

  • -f:强行复制文件或目录,不论目的文件或目录是否已经存在
  • -i:覆盖文件之前先询问用户
  • -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。


19.which 指令名

功能:查找指令对应的命令文件,也就是查找对应命令文件的路径。


20.alias

功能:对指令取别名

说明:

  • 你可能好奇为啥 ll 指令可以达到和 ls -l 一样的效果,其实本质就是使用alias取别名。
  • (其中的 --color=auto 就是颜色相关的选项)
  • 所以我们也可以使用alias取别名:
  • 如何取消我们取的别名:关掉终端,重新链接即可。

21.mv [选项] [源文件或目录] [目标文件或目录]

功能:剪切 和 重命名

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

  • -f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i:若目标文件(destination)已经存在时,就会询问是否覆盖!


22.cat [选项] [文件名]

功能:查看目标文件的内容

常用选项:

  • -b:对非空输出行编号,空行不做编号
  • -n:对输出的所有行编号
  • -s:不输出多行空行(压缩连续空行为一行)

cat指令一般用来查看小文件


23.tac [文件名]

功能:把目标文件的内容反向打印


24.more [选项] [文件名]

功能:适合查看大型文件内容,支持向下翻阅(s),但不支持向上翻阅,实用性不如less

常用选项:

  • -数字:指定输出行数

运行时:

  • 按 q 退出more


25.less [选项] [文件名]

功能:最常用的查阅大型文件的工具,支持方向键控制上下翻阅,支持搜索(高亮显示)

常用选项:

  • -i:忽略搜索时的大小写
  • -N:显示每行的行号

查阅时输入:

  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与/或?有关)
  • N:反向重复前一个搜索(与/或?有关)
  • q:退出

(查找结果高亮显示)


26.head [参数] [文件名]

功能:可以显示从开头到指定行数的文件内容,默认head命令只打印文件开头10行内容。

参数:

  • -数字:指定显示多少行


27.tail [参数] [文件名]

功能:与head相反,tail显示从文件末尾到指定文件行数的内容,默认也是显示10行

参数:

  • -数字:指定显示多少行


28.date [选项和格式]

功能:按格式显示时间和时期

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:

  • %Y:完整年份(0000..9999)
  • %m:月份(01..12)
  • %d:日(01..31)
  • %H:小时(00..23)
  • %M:分钟(00..59)
  • %S:秒(00..61)
  • %X:相当于%H:%M:%S
  • %F:相当于%Y-%m-%d

2.在设定时间方面:

  • date-s        //设置当前时间,只有root权限才能设置,其他只能查看。
  • date-s “01:01:012008-05-23″    //这样可以设置全部时间
  • date-s “2008-05-2301:01:01″    //这样可以设置全部时间
  • date-s 20080523    //设置成20080523,这样会把具体时间设置成空00:00:00
  • date-s 01:01:01    //设置具体时间,不会对日期做更改

3.时间戳:

  • %s:显示时间戳(1970-1-1 0:00到目前的秒数)
  • date +格式 -d@时间戳:可以把时间戳按指定格式转化

显示完整时间日期:

可以使用转义字符\定义格式:

时间戳:

时间戳转为指定格式的时间和日期:

解释:8:00是因为系统默认加上了时差


29.cal [选项] [年份]

功能:显示公历,默认显示当前月份的日历

常用选项:

  • -3:显示系统前一个月,当前月,下一个月的月历。
  • -j:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数,后接年份可以查看一整年的天数分布)
  • -y:显示当前年份的日历


30.find [路径] [选项]

功能:用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)

常用选项:

  • -name:按照文件名查找文件,后接空格和文件名
  • 其他选项很多,需要时再查

通配符*可以查指定后缀名的所有文件:


31.whereis [程序]

功能:用于找到程序的源、二进制文件或手册


32.grep [选项] ["字符串"] [文件名]

功能:在文件中搜索字符串,将找到的行打印出来

常用选项:

  • -i:忽略大小写的不同,所以大小写视为相同
  • -n:顺便输出行号
  • -v:反向选择,亦即显示出所有没有'搜寻字符串'内容的那一行

(文件名也可以是绝对路径或者相对路径)

支持 ./* 在当前目录下的所有文件中查找指定的字符串:

或者指定路径下的目录:


33.zip 和 unzip

功能:zip指令用于打包压缩文件或目录,unzip用于解压。

该指令一般需要安装:

  • yum install -y zip unzip(CentOS)/ apt install -y zip unzip(Ubuntu)

zip用法:

  • zip [选项] [压缩后文件名].zip [被压缩文件或目录]

常用选项:

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理

将myfile目录打包压缩:

  • 展示myfile目录:
  • 打包压缩:(切记压缩含多文件的目录需要带 -r 选项)

unzip用法1:

  • unzip [压缩文件].zip
  • 默认解压到当前目录

解压缩myfile.zip:

  • 先解压:
  • 查看解压结果:

unzip用法2:

  • unzip [压缩文件].zip -d [指定目录]
  • -d 选项让unzip支持把压缩包解压到其他目录

将myfile.zip解压到其他目录中:


34.sz 和 rz

安装:yum install -y lrzsz(CentOS)/ apt install -y lrzsz(Ubuntu)

功能:本地电脑与云服务器端互传压缩包

用法:

  • sz [压缩文件].zip:把压缩文件传到本地电脑,会弹出窗口选择具体传到哪个路径下
  • rz:选择本地压缩包传到服务器,会弹出窗口选择具体传送哪个压缩包(默认是传到云服务器的当前路径下)

还有更简单的rz方式,直接把电脑上的压缩包拖到服务器终端上即可上传

sz:

rz:

(建议使用类似xshell这样的软件登录云服务器,再使用这两个命令传文件)


35.tar

功能:tar也是一个压缩和解压缩的指令(只是与zip的压缩算法不同)


压缩用法:

  • tar [选项] [压缩后的文件名].tgz [待压缩文件]

常用压缩选项:

  • -c:建立一个压缩文件的参数指令(create的意思)
  • -z:是否同时具有gzip的属性?就是使用gzip压缩算法
  • -j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩?
  • -f:使用档名,请留意,在f之后要立即接档名,也就是压缩包的名字
  • -v:压缩的过程中显示文件,也就是展示压缩过程。
  • 常用组合:tar -czf [压缩包名].tgz [待压缩文件]

解压用法:

  • tar [选项] [待解压文件].tgz        //默认解压到当前目录
  • tar [选项] [待解压文件].tgz -C [指定目录]        //解压到指定目录

常用选项:

  • -x:解开一个压缩文件的参数指令
  • -t:查看tarfile里面的文件
  • -z:是否同时具有gzip的属性?使用gzip的解压算法
  • -j:是否同时具有bzip2的属性?亦即是否需要用bzip2解压?
  • -f:使用档名,请留意,在f之后要立即接档名,后接待解压文件
  • -v:解压的过程中显示文件,也就是展示解压过程。
  • -C:解压到指定目录
  • 常用组合:tar -xzf [待解压文件].tgz

压缩:

解压:


36.scp [压缩文件.tgz/zip] [用户名]@公网ip:[指定目录]

功能:将压缩包从当前服务器发送到另一台服务器的Linux系统上的指定目录中

  • [用户名]填写当前操作的用户名
  • [公网ip]填写要发生对象的ip地址
  • 回车后需要输入当前用户的密码来确认操作

(没有第二台服务器,就不演示了嘿嘿)


37.bc

功能:可以很⽅便的进行浮点运算,用法上可以搭配管道 | 使用


38.uname [选项]

功能:uname用来获取电脑和操作系统的相关信息。

常用选项:

  • -r:查看内核版本号
  • -a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理 器类型,硬件平台类型,操作系统名称


39.history

功能:查看所有的历史命令


40.几个重要的热键

  • Tab按键:具有『命令补全』和『档案补齐』的功能(一般最开始需要双击tab键)
  • Ctrl+c按键:让当前的程序『停掉』,适用于程序霸屏打印停不下来的情况。
  • 上下方向键:可以查看最近的历史命令。


二、基础知识点

1.文件 != 文件的内容

说明:文件 = 文件内容+文件属性,这两者都是数据,都需要保存;即使新建的文件没有写入任何内容,它也有基本的文件属性需要保存,它依然占据存储空间。


2.隐藏文件

说明:Linux中以.开头的文件属于隐藏文件(包括以.开头的目录),使用ls -a指令可以查看隐藏文件。隐藏文件一般用于存放比较重要的数据,避免误删。


3.当前路径. 和 上级路径..

说明:

  • 文件属性第一栏的 d 表示当前文件类型属于一个目录,所以 . 和 .. 的类型为目录。
  • . 表示当前目录,.. 表示上级目录。作用就是 cd .. 指令可以返回到上级路径;./加上当前目录可执行文件就可以运行程序了。
  • . 和 .. 在任何目录下都存在。


4.根目录

说明:

  • 如果一直使用 cd .. 指令就会退到根目录:/
  • 其实这就能反映出Linux的文件系统结构是一个树状结构,准确的说应该是——多叉树


5.绝对路径和相对路径

说明:

  • 绝对路径:从根目录 / 出发到具体文件的路径称为绝对路径,如 cd /具体路径 指令,就能在任意路径下直接跳转到指定路径。同理很多需要指示路径的指令都可以使用绝对路径。
  • 相对路径:是以相对自己当前路径,找到目标路径的方式。比如指令 cd ../test 就能进入同级目录下的test目录,这里主要是利用 .. 返回上一级再进入下一级的特性。
  • 使用场景:相对路径和绝对路径都具有唯一性,相对路径平时使用较多,在文件深度较深时比较方便;绝对路径多用于系统级的配置文件等。


6.Linux中文件类型与文件后缀无关

说明:

  • Linux中主要以文件属性栏第一列区别文件类型:
  • d代表目录文件;-代表普通文件(包括文本文件、二进制可执行文件、动静态库、视频、图片等)
  • 即使改变文件后缀名,也不影响其使用:
  • 注意:只是Linux系统不以文件后缀名区分类型,但不代表指令软件不区分文件后缀名,比如gcc指令只能识别并执行.c的文件。


7.输出重定向> 和 追加重定向 >>

说明:

  • 在此之前我们需要知道:Linux上,一切皆文件。
  • 包括显示器也是一个文件,当我们使用 echo hello linux 时本质是往显示器中写入内容。

输出重定向 > :

  • 任何具有输出的指令都可以使用输出重定向指定写入的文件。
  • 比如:echo hello word > log.txt
  • 比如:ls -al > log.txt

输出重定向的特点:

  1. 当 > 右侧的文件不存在时,则创建一个新文件(包括单独使用),如:
  2. 当 > 右侧文件存在并且写入文件内容时,则先清空文件原有内容再写入新内容,相当于覆盖式写入,如:

追加重定向 >> :

  • 与 > 的覆盖式写入不同,>> 支持追加式写入。
  • 除此之外,>> 和 > 的上述特点基本相同

补充一个现阶段有趣的东西:

  • 因为Linux上一切皆文件,所以我们的显示器,也就是输入指令的终端也就一个文件
  • 这个文件可以使用 ll /dev/pts 查看显示器文件(0就是当前显示器文件):
  • 当我们使用另一个终端连接同一台服务器时,显示器文件就会多一个:
  • 此时 1 这个文件就是新终端的显示器文件了,我们可以往这个文件中写入信息,那么另一个终端就能看到:


8.指令的本质

说明:指令的本质就是特定路径下的程序,这个路径就是 /usr/bin。

  • 我们可以使用 ls 指令查看这个路径下的内容:
  • 我们可以把指令看成快捷方式,当然我们也可以直接使用/usr/bin中的指令:
  • 我们甚至可以把自己写的程序 cp 复制到 /usr/bin 目录下,然后我们就可以让我们的程序像指令一样使用:
  • (不过不建议把自己写的二进制可执行程序放到该目录下,验证完就可以删啦)


9.管道 |

说明:管道 | 的核心功能是将一个命令的输出直接作为另一个命令的输入,实现多个命令的协同工作。

  • 例如上面我们学习了 head 和 tail 指令,但是它们一个查开头,一个查末尾,那怎样查询一个文件指定的中间区域呢?
  • 这时候就可以用到管道 | 了,比如查询一个文件的 [1000-1010] 行内容:
  • 解释:先执行head指令返回1010行内容,再由tail指令返回这1010行内容的末尾10行内容。
  • 注意:上面tail指令后面不用跟文件名,因为tail是在head的返回值上进一步加工的。


10.shell命令以及运行原理

  • Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
  • 从技术角度度,Shell的最简单定义:命令行解释器(commandInterpreter)主要包含:
  1. 将使用者的命令翻译给核心(kernel)处理。
  2. 同时,将核心的处理结果翻译给使用者。
  • 对比windowsGUI:我们操作windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符或运行某个应用程序)。
  • shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。因为shell对于非法指令会直接拒绝,因此shell还具有保护内核的作用。

我们当前Linux中该外壳程序就是:bash(负责打印指令栏和命令解释器等功能)

  • shell是对所有外壳程序的统称,bash是一款具体shell外壳程序
  • 同一个Linux系统,每多登录一个用户就会多一个bash用于处理对应用户的指令


总结

        以上就是本文的全部内容了,感谢支持!

http://www.dtcms.com/a/399220.html

相关文章:

  • 阅读的网站建设需要多少钱中小企业网站建设流程
  • 【远程桌面】运维强推工具之远程控制软件RustDesk 1.4.1 全面指南:开源远程桌面的终极解决方案
  • 水印网站用什么网站做海报 知乎
  • 单页网站seo优化自己做网站系统
  • 法术属性释义
  • 网站点击量在哪里看品牌公关
  • wordpress的标题怎么修改整站优化关键词排名
  • 【办公类-109-05】20250923插班生圆牌卡片改良01:一人2个圆牌(接送卡被子卡床卡入园卡_word编辑单面)
  • Spring Boot 接入 Redis Sentinel:自动主从切换与读写分离实战(修复单机多实例与 Sentinel 配置坑)
  • Compose 修饰符 - 外观(尺寸、样式、布局、行为)
  • 怎么给公司网站上放视频牡丹江在哪个城市
  • 网络平台推广运营seo排名网站 优帮云
  • h5响应式网站设计方案ueditor wordpress4.3
  • Linux 进程地址空间
  • Fiddler 窗口布局如何操作详解
  • LangChain4J-(8)-向量化
  • 湖州做网站优化wordpress门户网站模板下载
  • 客户管理软件 crm肇庆seo按天收费
  • 修改centos7镜像仓库
  • 生成式人工智能在汽车软件开发中的应用
  • todesk远程到被控Mac后能看到画面,鼠标键盘操作无反应
  • HOW - 前端团队手动上报规范(Sentry)
  • 开源 java android app 开发(十五)自定义绘图控件--仪表盘
  • 深圳防疫最新政策公告百度推广怎么优化排名
  • React学习第一天
  • 内蒙古网站建设网络推广的目标
  • 秋招防作弊指南:AI面试智能监考全解析
  • 来宾住房和建设局网站ppt 模板免费下载
  • 最新2025版本!Bandicam8.2.2.2531,最佳电脑录屏,无限制,支持4K画质,新人UP主游戏录屏录课必备工具
  • app制作公司哪个好厦门seo外包平台