Linux常见指令大全(必要+知识点)

目录

ls 指令☑️

Windows 中会自动显示当前目录当中的所有子目录与文件,但是在Linux中要用到ls指令。

语法: ls [选项][目录或文件]
**功能:**对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

目录下所有文件 (蓝色为目录f1,文件为t1)

常用选项:

1)-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

每个目录下默认存在两个隐含文件 . 和 . . ( . 代表当前目录 . . 代表上级目录)。

2)-d 将目录像文件一样显示,而不是显示其下的文件。

3)-i 输出文件的i节点的索引信息。

4)-sk 以k字节的形式表示文件的大小 。

小技巧-》total 总字节数

5)-l 列出文件的详细信息。

小技巧:ls -l 也可以简写为 ll表示更详细信息。

6)-n 用数字的UID,GID代替名称。

7)-r 对目录反向排序。

8)-t 以创建时间排序。

9)-R 列出所有子目录下的文件。

10)-1 一行只输出一个文件。


pwd指令☑️

语法: pwd
功能: 显示用户当前所在的目录。


whoami指令☑️

语法: whoami
功能: 显示用户当前的身份。


tree 指令☑️

tree +指定目录或什么都不加,以树形结构,展示文件和目录结构


cd指令☑️

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

在Windows当中,我们可以通过鼠标点击的方式在各个目录之间来回跳转,而在Linux当中我们需要用到cd指令来实现该操作。

语法 : cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。

常用方式:

1)cd ..(返回上级目录)。

2)cd ~ (进入主工作目录)。

3)cd -:返回最近访问目录

  1. 绝对路径 :具有唯一性的,定位文件的方式。

5)相对路径:以当前路径为参考查找定位目标文件的路径。


clear指令☑️

语法: clear
功能: 清空屏幕。


touch指令☑️

语法 : touch 选项 文件
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

1)-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。

2)-c 或 --no-create 不建立任何文档。

3)-d 使用指定的日期时间,而非现在的时间。

4)-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

5)-m 或 --time=mtime 或--time=modify 只更改变动时间。

6)-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

7)-t 使用指定的日期时间,而非现在的时间。


mkdir指令☑️

在Windows中我们通过Ctrl+Shift+N在当前目录新建一个空目录,我们若是想在Linux当中新建一个空目录,则需要用到mkdir指令。

语法 : mkdir 选项 dirname
功能: 在当前目录下创建一个名为"dirname"的目录。

常用选项:

1)-p dirname可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。


rmdir指令☑️

rmdir是一个与mkdir相对应的指令,mkdir是建立目录,而rmdir是删除目录。

语法 : rmdir 选项 dirname
功能 : 删除空目录。
适用对象: 具有当前目录操作权限的所有使用者。

常用选项:

1)-p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除。

常用选项:

1)-p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除。


rm指令☑️

rmdir指令只能用于删除空目录,若是要相删除其他文件,则需要用到rm指令。

语法: rm 选项 dirname
功能: 删除文件或目录。
适用对象: 所有使用者。

常用选项:

1)-i 删除前逐一询问确认。

2)-f 即强制删除。

3)-r 删除目录及其下所有文件(递归式删除)。

小技巧: 当你要删除当前目录下的所以文件时,可以使用通配符 *

建议在通配符 * 前面加上 . / 告知系统要删除的资源在当前目录下( . 代表当前目录)。

特别注意: 上面说到 -f 是强制性删除-r 是递归式删除,这两个结合在一起就是递归式强制性删除,千万不要执行以下指令,因为在Linux当中没有类似回收站的东西也没有撤销删除的功能,删除指令一旦执行则是不可逆的

该指令的意思是从(/)根目录开始进行递归式强制性删除,即删除根目录下所有文件,这是一个大忌,典型的删库跑路行为。所以,当你要使用"rm -rf dirname"这条指令前,你必须明确以下两点:

1、你清楚的知道你自己正在干什么。

2、执行该命令后所造成的结果是你能够承担的。


man指令☑️

Linux的指令有很多参数,我们不一定能全部记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的指令便是man。 (你问一个男人👨)

语法: man 选项 指令
功能: 查看指令的使用规则等。

常用选项:

1)-k 根据关键字搜索联机帮助。

2)num 只在第num章节查找。

3)-a 将所有章节的查找结果都显示出来。

自己问自己

手册分为8章:

1)可执行程序或shell命令。

2)系统调用(内核提供的函数)。

3)库函数(程序库中的函数)。

4)特殊文件(通常在/dev中找到)。

5)文件格式和约定,如/etc/passwd。

6)游戏。

7)杂项。

8)系统管理命令(通常仅限于root用户)。


cp指令☑️

在Windows中我们可以通过Ctrl+C和Ctrl+V将一个地方的文件或目录复制一份到另一个地方,我们若是在Linux当中想要完成该操作,就要用到cp指令。

语法: cp 选项 源文件或目录 目标文件或目录

功能: 复制文件或目录。

常用选项:

1)-f 或 --force 强行复制文件或目录,不论目标文件或目录是否已经存在。

2)-i 或 --interactive 覆盖文件之前先询问用户。

3)-r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理

小技巧: 当我们需要将当前目录的所有内容进行拷贝时,可以用到通配符进行拷贝。


mv指令☑️

在Windows中我们经常使用Ctrl+X和Ctrl+V将一个地方的文件或目录移动到另一个地方,我们若是要在Linux当中完成此操作,则需要使用mv指令。

语法 : mv 选项 源文件或目录 目标文件或目录
功能 : 视mv指令当中两个参数的不同而不同。

1)当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名

2)当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。--》剪切拷贝

常用选项:

1)-f 强制的意思(force),如果目标文件已经存在,不会询问而直接覆盖。

2)-i 若目标文件已经存在,则会询问是否覆盖。


cat指令☑️

在Linux当中无法想Windows一样用鼠标点开某一文件进行阅读,要想阅读文件可以用cat指令。

语法 : cat 选项 文件
功能: 查看目标文件的内容。

常用选项:

1)-b 对非空输出行编号

注意⚠️:这里只是直接换行才为空,若有空格也有编号

2)-n 对输出的所有行编号。

3)-s 禁止重复的空输出行。

注意⚠️:这里只是直接换行才为空,若有空格也会输出

注意: cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏(直到将文件内容全部打印到屏幕上)。因此cat指令一般仅适用于查看内容较少的文件。

知识点 :> 重定向 >>追加重定向

作用:把命令返回的结果输出到文件中(会覆盖之前的数据)

用法:命令 > 文件名

把当前目录的内容输出到a.txt文件中(top.c之前的内容会被清空)

**>> :**追加到文件中(不会覆盖之前的数据)


tac指令☑️

使用tac指令,我们可以反向查看目标文件的内容。

语法: tac 文件
功能: 反向查看目标文件的内容。


more指令☑️

上面说到,cat指令仅适用于查看内容较少的文件,我们若是要查看海量信息文件,则可以适用more指令。

语法: more 文件
功能: 查看目标文件的内容。


注意: more指令只能通过按回车键进行下翻操作,无法进行上翻操作,并且more指令在查看之前会先加载整个文件。

less指令☑️

上面的more指令只能进行下翻操作,而less指令可以同时支持上翻和下翻操作。

语法 : less 选项 文件
功能: 既有查看目标文件的内容的功能,又有搜索功能。

注意: less指令可以通过按上下键进行上翻和下翻操作,并且less指令在查看之前不会加载整个文件。 按 ctrl键+C退出

常用选项:

1)-i 忽略搜索时的大小写。

2)-N 显示每行的行号。

3)/字符串 向下搜索"字符串"的功能。

4)?字符串 向上搜索"字符串"的功能。

5)n 重复前一个搜索(与/或?有关)。

6)N 反向重复前一个搜索(与/或?有关)。


head指令☑️

语法: head 选项 文件

功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。

常用选项:

1)-n 需要显示的行数。


tail指令☑️

语法: tail 选项 文件

功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。

常用选项:

1)-n 需要显示的行数。

2)-f 循环读取。

拓展:如何读取文件中间某一段内容?

例如,现在文件当中有十万行内容,我们如何读取第1001至1010行?

在认识了head和tail指令后,你可能很容易想到如下方法:先用head指令读取1文件中的前1010行存入临时文件2中,然后将2文件的后10行打印输出即可。

演示以top.c中有20个数据读取中间11 12 13

知识点 >(输出重定向)将本应该输出到屏幕的内容输出重定向到tep.txt文件当中

这样写显然有点麻烦(还需要创建一个临时文件),有一种简便的方式可以实现该操作,该方式需要用到"命令行管道"。

我们知道,管道是用于传输某种资源的(下水管道用于传输水,天然气管道用于传输天然气),而计算机上面最重要的资源就是数据。

在指令中管道用"|"来表示,管道左边接收产生的数据,右边读取数据。:


date指令☑️

语法: date 选项 格式
功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。

用法一 : 用于显示时间,使用者可以选定欲显示的格式,格式设定为一个加号,后接数个标记,其中常用的标记如下:

1)%H 显示当前的小时,范围(00~23)。

2)%M 显示当前的分钟,范围(00~59)。

3)%S 显示当前的秒数,范围(00~59)。

4)%X 相当于%H:%M:%S。

5)%d 显示当前的号数。

6)%m 显示当前的月份。

7)%Y 显示当前的年份。

8)%F 相当于%Y-%m-%d。

用法二 : 完成时间与时间戳之间的相互转换。

1)date +%s 显示当前时间的时间戳。

知识点:时间戳是当前时间与计算机起始时间的差值,单位为秒。

2)date -d @时间戳 将时间戳转换为时间。


cal指令☑️

cal指令可以用于显示公历(阳历)日历。

语法: cal 选项 月份 年份
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。

常用选项:

1)-3 显示系统前一个月、当前月以及下一个月的日历。

2)-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。

3)-y 显示当前年份的日历。


find指令☑️

语法: find 路径 选项 ...
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘->效率比较低)。

常用选项:

1)-name 按照文件名查找文件。

2)-size 按照文件大小查找文件。


which指令☑️

Linux当中的每个指令其实都是用计算机语言编写出的可执行程序,这些程序都存储在文件当中,我们可以通过which指令查看某一指令的程序文件所在路径。

语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。

当我们执行某一指令时,实际是调用其可执行程序,因此我们还可以通过其程序文件的所在路径进行调用该指令


alias指令☑️

当你觉得某一指令太长时,你可以使用alias指令给它起一个别名。

语法: alias 别名='原名'
功能: 可以用于给指令取别名。

不推荐

知识点:当账号改变或从新登录就恢复如初了


grep指令✔

grep指令类似于关键词搜索(行过滤器)。

语法: grep 选项 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来。

常用选项:

1)-i 忽略大小写进行查找。

2)-n 输出行号。

3)-v 反向选择,显示出没有待搜索字符串的行。


如何添加与删除用户?

当我们购买了云服务器后,我们得到的是一个root账号。

实际上,使用root账号是比较危险的,因为root账号的权限太大,为了避免自己对某些系统文件进行误操作,我们最好创建一个普通用户的账号使用。

如何添加一个普通用户账号?

第一步: 输入addser  ?(?是待创建的用户的用户名)。

后面填的信息不同设备不一样,有的没有,有的有。

随意填就行不影响

知识点linux中密码是不显示的所以要想好

如何删除用户账号?

删除账号时之间输入userdel -r ?(?是要删除的用户的用户名)。

就没有 erman了

注意: 创建和删除用户的操作者都必须是root用户,而不是普通用户。


zip/unzip指令打包压缩☑️

zip指令用于打包压缩目录或文件。

语法: zip 选项 压缩文件.zip 待打包目录或文件
功能: 将目录或文件打包压缩成zip格式。
常用选项:

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

以打包目录为例

unzip指令用于解压文件。

语法: unzip 压缩文件.zip 选项 目录
功能: 将压缩文件解压到指定目录当中。

注意: 解压文件时若不带-d选项和目标目录,则默认解压到当前目录下。


tar指令☑️

tar指令也可以用来打包压缩和解压文件(格式为.tgz),并且还可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。

语法: tar 选项 压缩文件 ...

功能: 打包/解包,不解开压缩包,直接查看里面内容。

常用选项:

1)-c 建立一个压缩文件的参数指令(create的意思)。

2)-x 解开一个压缩文件的参数指令。

3)-t 查看tarfile里面的文件。

4)-z 是否同时具有gzip属性?即是否需要用gzip压缩?

5)-j 是否同时具有bzip2属性?即是否需要用bzip2压缩?

6)-v 压缩的过程中显示文件(常用)。

7)-f 使用档名,请留意,在f之后要立即接档名,不要再加参数。

8)-C 解压到指定目录。

打包示例:

解包示例:

-C 指定地方

Linux中规定在同级目录下不允许出现同名目录, -C 后面是非同名的

不解开压缩包,直接查看里面内容:


file指令☑️

语法: file
功能: 查看文件的更多属性信息。


bc指令☑️

Windows里面有计算器,Linux下面也有,bc指令就是Linux下的计算器。

语法: bc
功能: 进行运算。

退出方法: 先ctrl+c再输入quit


uname指令☑️

语法: uname 选项
功能: 用于获取电脑和操作系统的相关信息。
常用选项:

1)-r 输出电脑和操作系统相关信息。

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


nano指令☑️

语法: nano 文件.后缀

功能:打开并写入文件

回车↩︎

退出方式 ctrl+x 并添y

编写方式 由于写的是c程序所以用gcc编写 第一次用可能云服务器阉割要下载插件


su指令☑️

语法:su 账户

功能:命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

普通账户--》root账户

第一种

第二种

root --》普通账户

关机指令✔

语法: shutdown 选项
常见选项:

1)-h 将系统的服务停掉后,立即关机。

2)-r 将系统的服务停掉之后就重新启动。

3)-t sec 经过sec秒后关机。
注: 所有关机指令只能由root用户执行,且购买的云服务器是不关闭的,关闭可能产出后果哦。


相关推荐
xiaozhiwise30 分钟前
Makefile 之 自动化变量
linux
Kkooe1 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
意疏3 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
虚拟网络工程师3 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu3 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿3 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
勤奋的小王同学~3 小时前
项目虚拟机配置测试环境
服务器
007php0073 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang