Linux的基础指令

目录

1、ls指令

.和..意义

2、pwd指令

3、cd指令

[①cd ~](#①cd ~)

[②cd -](#②cd -)

[关于cd ..的用法](#关于cd ..的用法)

绝对路径和相对路径

4、touch指令

5、mkdir指令

tree指令

6、rmdir指令

7、rm指令

*

8、man指令

9、cp指令

nano:

10、mv指令

11、cat指令

12、more指令

13、less指令

14、echo指令

[输出重定向>与追加重定向 >>](#输出重定向>与追加重定向 >>)

>输出重定向的使用

>>追加重定向的使用

输入重定向<

15、head指令

16、tail指令

17、管道|

一、使用head和tail以及输出重定向的方法:

二、管道的方法

18、时间相关的指令date

19、Cal指令

20、find指令

which指令

21、alias指令

22、grep指令

xargs指令

23、zip/unzip指令

24、tar指令

25、bc指令

[26、uname --r指令](#26、uname –r指令)

​编辑

27、history指令

热键


1、ls指令

**语法:**ls [选项] [目录或文件]

选项也可以结合起来用,中间加空格即可,例如:

注意:可以 ls -a -l;也可以直接 ls -al

**功能:**显示当前路径下的文件名

常用选项:

①-l

功能:列出文件的详细信息

②-a

功能:列出目录下的所有文件,包括以 . 开头的隐含文件

Linux下是有隐藏文件的,隐藏文件/目录(文件夹)的方式就是让文件名以 . 开头

.和..意义

**其中.表示当前路径,**可以限定我们要执行的可执行程序在什么位置

**而..表示直接上级路径,**可以帮助我们进行路径切换

下面举例:

③-i

功能:输出文件的 i 节点的索引信息。

前面的就是查看文件的inode编号


2、pwd指令

语法:pwd

功能:显示用户当前所在的目录

一般与cd指令结合使用


3、cd指令

**语法:**cd 目录名

①cd ~

~是当前用户的工作目录,cd~是进入当前用户的家目录(工作目录)

对于普通用户而言:/home/XXX,就叫做XXX这个用户的家目录(工作目录)

对于root用户而言:/root

②cd -

cd - :跳转至上一次我所处的路径中

关于cd ..的用法

cd..就是退到上一级路径

第一个 / 是路径分隔符

第二个 / 是根目录

Linux的整个目录结构,本质上是一棵多叉树结构,/就是根结点

分为目录,文件/空目录,目录即它有还有左或右孩子(路上结点),文件/空目录也就是叶子结点

我们一般定位一个普通文件的时候,若采用路径的方式来进行定位,可以知道路径是唯一确定的,因为我们从叶子结点往上找,一直到根结点只会有一条路径

绝对路径和相对路径

/root/mytest/lesson1 像这种路径就叫做绝对路径,从根目录开始的

还有一种叫相对路径,即从当前路径往前退,例如/root/mytest/lesson1,我们现在在lesson1路径下,想找mytest里的文件add.c,那么两个方式分别是图中的两个红框:

第一个框是相对路径的访问方式,../是返回到上一级路径,然后再访问

第二个框是绝对路径的访问方式,从根目录开始访问

绝对路径:在日常操作中很少使用,一般会出现比较正式的场合,例如配置文件中

相对路径:日常操作(简单)

cd 绝对路径/相对路径 可以进行切换路径


4、touch指令

**语法:**touch [选项]... 文件...

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

第一次touch文件,文件的详细信息就是文件的创建时间

第二次touch文件,就会更新文件的最近修改时间,更新成为最新的时间


5、mkdir指令

语法:mkdir [选项] dirname

**功能:**在当前目录下创建一个名为 "dirname"的目录

常用选项:

-p

可以一次建立多个目录(创建一串路径)

tree指令

tree可以以树状形式将目录显示出来

tree .就是显示当前路径

tree d1就是显示d1的路径


6、rmdir指令

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

**语法:**rmdir [dirName]

**适用对象:**具有当前目录操作权限的所有使用者

**功能:**删除空目录


7、rm指令

rm命令可以同时删除文件或目录

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

**适用对象:**所有使用者

**功能:**删除文件或目录

常用选项:

①-f

即使文件属性为只读(即写保护),亦直接删除,即强制删除

②-r

删除目录及其下所有文件

下图可以说明各个功能:

③-i

-i 删除前逐一询问确认,输入y后完成删除,输入n就是不删除

*

*是一种通配结构,rm -rf *.c就是强制删除所有.c结尾的文件


8、man指令

访问Linux手册页的命令是man

**语法:**man 命令

在查看结束后,按q返回

面手册分为8章,我们只有前三章用的最多,分别是:

1、普通命令

2、系统调用

3、库函数(最常用)

用法即:man 3 printf


9、cp指令

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

**功能:**拷贝文件或目录

上图是用绝对路径将test路径下的test.c拷贝到lesson1路径下

上图是用相对路径将test路径下的add.c拷贝到lesson1路径下

常见选项:

①-f

强行复制文件或目录, 不论目的文件或目录是否已经存在

②-r

递归处理,将指定目录下的文件与子目录一并处理

拷贝目录时,-r递归-f强制,能够使目录dir复制到上一路径中

nano:

nano是一个简易的记事本

用法如上,可在简易记事本里编写代码


10、mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名

**语法:**mv [选项] 源文件或目录 目标文件或目录

**功能:**1、对文件或目录重命名;2、转储特定的一个文件或目录到其他的路径下

将dir中的sub.c移到当前路径下,sub.c就不在dir中了,和dir并排路径

文件和目录的重命名


11、cat指令

法**:**cat [选项][文件]

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

在用nano文本编译器写好代码后,cat直接查看内容

常用选项:

①-b

对非空输出行编号

②-n

对输出的所有行编号

③-s

不输出多行空行

还有一个与之对应的tac,cat是从第一行正这打印到最后一行,而tac就是倒着打印的,即:


12、more指令

**语法:**more [选项][文件]

**功能:**more命令,功能类似 cat

常用选项:

①-n

对输出的所有行编号

②q

退出more

有1万个hello world输出重定向到myfile.txt中,我们如果直接cat,往上翻非常不方便,所以我们可以用more

显示整个页面后,按回车就可以逐行向下翻 ,按q退出


13、less指令

less 的用法比起 more 更加的好用。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,less可以往前翻

**语法:**less [参数] 文件

**功能:**less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。

和more一样,都打印一个页面能显示的部分,但是less可以按上下键进行上下翻动

常见选项:

①q

退出less

②-N

显示每行的行号

③/字符串

向下搜索"字符串"的功能,例如/66即表示,搜索66所在的那一行及以下内容

④?字符串

向上搜索"字符串"的功能

⑤n

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


14、echo指令

**语法:**echo 【打印的东西】

**功能:**打印内容到显示器

输出重定向>与追加重定向 >>

输出重定向:从文件开始覆盖式的写入

追加重定向:从文件结尾,追加式的写入

>输出重定向的使用

>输出重定向:①创建本来没有的文件②本来应该显示到显示器的内容,被写入到了文件中

覆盖式写入,会改变原文件内容

>>追加重定向的使用

从文件结尾追加式的写入,不会改变先前文件的内容

输出重定向和追加重定向本质都是写入

输入重定向<

本来应该从键盘中读取的内容,变为了从文件中读取(具体会在后面博客说到)

也有下面几种用法:

本来应该打印到显示器里,然后输出重定向到文件里

先把文件名读到程序里,再重定向




15、head指令

**语法:**head [参数]... [文件]...

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

常用选项:

-n(行数) 显示行数

即为显示的行数显示的行数


16、tail指令

**语法:**tail[必要参数][选择参数][文件]

**功能:**用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。默认后10行

常见选项:

-n(行数) 显示行数


17、管道|

如果想拿一万行中间的666到676,这11行呢,我们可以有两种解决方法

一、使用head和tail以及输出重定向的方法:

先拿出前677行放到tmp文件中

再拿出尾的11行即可完成要求

二、管道的方法

管道是传输数据的,有出口和入口

head -677 myfile.txt | tail -11 前面的head -677 myfile.txt本身应该显示到显示器上,而将它塞进管道文件,然后|后的tail -11本身是从文件中读取的,现在变为了从管道文件中读取,即完成了上面的要求

管道能够批量化,流水化处理数据,管道文件是内存级的文件,没有在磁盘上


18、时间相关的指令date

date可以查看时间

date 指定格式显示时间: date +%Y:%m:%d-%H:%M:%S

date +%Y:%m:%d-%H:%M:%S 分别就是年月日,时分秒,其中的:分隔符是自己输入的,也可以更换

时间->时间戳 :date +%s (从1970/1/1-00:00到现在的秒数)

是单向递增的,具有唯一性

时间戳->时间:date -d@[时间戳]


19、Cal指令

功能:

用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常见选项:

-3显示系统前一个月,当前月,下一个月的月历

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

-y显示当前年份的日历


20、find指令

find命令在目录结构中搜索文件

find ~ -name test.c(要查找的文件名)

which指令

**作用:**在系统路径中,去查找特定的指令所在的路径


21、alias指令

作用:起别名

ls -al 起别名为列出,这时使用liechu,作用和ls -al一样


22、grep指令

**语法:**grep [选项] 搜寻字符串 文件

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

即在myfile.txt文件中搜索所有关于666的

常见选项:

①-i :

忽略大小写的不同,所以大小写视为相同

②-n :

顺便输出行号

③-v :

反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

xargs指令

**作用:**将管道的输出结果,作为命令行参数,交给后面程序

将字符串变为选项运用


23、zip/unzip指令

yum install -y unzip zip(新服务器安装指令)

**语法:**zip 压缩文件.zip 目录或文件

**功能:**将目录或文件压缩成zip格式

常见选项:

-r

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

unzip name.zip -d (路径)

是解压到指定的路径下


有一个文件夹Pro,里面有两个文件

打包压缩pro,压缩为pro.zip

将原始的 pro删除,再解压pro.zip 观察是否压缩成功

解压缩后观察得知,成功解压。这里是解压到当前目录下,也可以解压到指定目录下

将当前路径下的pro删除,然后观察/root路径下没有pro,这时用 **unzip name.zip -d (路径),**成功将pro解压到/root路径下了


24、tar指令

打包压缩指令

有以下常用的选项:

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

②-x:解开一个压缩文件的参数指令

③-z:要压缩或解压

④-f:要形成的名称

⑤-t :查看 tarfile 里面的文件

⑥-v :压缩的过程中显示文件

⑦-C: 解压到指定目录

可以直接-czvf使用,如果不需要显示过程,就直接-czf

解压缩就是将选项c换位为选项x

想解压到指定路径下

tar -xzf pro.tgz -C 指定路径



25、bc指令

输入bc进行计算,结束后输入quit退出

也可以和管道结合起来


26、uname --r指令

查看Linux的体系结构和内核版本

-a 查看所有的

-r 查看当前使用的


27、history指令

显示历史写的所有指令

可以与输出重定向结合保存在一个文件cmp.txt中,即:

history > cmp.txt


热键

①[Tab]按键:

命令补齐(补齐未输完的指令并加上空格)

②[Ctrl] + c按键:

让当前的程序停下

③[Ctrl] + d按键:

快速退出,也可 以用来取代exit

④[Ctrl] + r按键:

搜索历史写过的指令,输入部分就能查找历史所书写的

相关推荐
Zfox_22 分钟前
【Linux】进程信号全攻略(二)
linux·运维·c语言·c++
安於宿命27 分钟前
【Linux】简易版shell
linux·运维·服务器
黄小耶@39 分钟前
linux常见命令
linux·运维·服务器
叫我龙翔40 分钟前
【计网】实现reactor反应堆模型 --- 框架搭建
linux·运维·网络
古驿幽情42 分钟前
CentOS AppStream 8 手动更新 yum源
linux·运维·centos·yum
BillKu43 分钟前
Linux(CentOS)安装 Nginx
linux·运维·nginx·centos
BillKu1 小时前
Linux(CentOS)yum update -y 事故
linux·运维·centos
a266378961 小时前
解决yum命令报错“Could not resolve host: mirrorlist.centos.org
linux·运维·centos
2739920292 小时前
Ubuntu20.04 安装build-essential问题
linux
wowocpp5 小时前
查看 linux ubuntu 分区 和 挂载 情况 lsblk
linux·运维·ubuntu