1.Linux入门基本指令

个人主页:Lei宝啊

愿所有美好如期而遇


目录

01.ls指令

02.pwd指令

03.cd指令

04.touch指令

05.mkdir指令(重要)

06.rmdir&&rm指令(重要)

07.man指令(重要)

08.cp指令(重要)

09.mv指令(重要)

10.cat指令

nano指令

echo指令

输出重定向

追加重定向

输入重定向

清空重定向

11.more指令

12.less指令(重要)

13.head指令

14.tail指令

15.时间相关的指令

16.cal指令

17.find指令(重要)

which指令

18.grep指令

sort指令

uniq指令

[wc -l 指令](#wc -l 指令)

19.zip/unzip指令

20.tar指令(重要)

21.几个比较重要的热键

22.关机指令


01.ls指令

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

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

这就是我的两个目录,可以直接ls。

接下来我们跟上选项试试,下面我们会介绍比较常用的几个选项。

ls -l 列出当前目录下所有文件的详细信息

如果直接ls -l ,将会列出当前目录下所有文件和目录的详细信息,如果后面跟目录,则列出那个目录下所有文件和目录的详细信息,如果后面跟文件,则列出该文件的详细信息。

ls -a 列出当前目录下的所有文件,包括以 . 开头的隐藏文件,就如同Windows下的隐藏文件一样

ls -a -l 列出目录下的所有文件,包括以 . 开头的隐藏文件,及其详细信息,可以写为ls -al

,ls -la,都可以。

ls -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls --d 指定目录

这些入门暂时够用,开始下一个指令。


02.pwd指令

语法: pwd

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

选项:无


03.cd指令

语法:cd 目录名

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

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件,如同一颗多叉树,而他的每一个叶子节点一定是空目录或者普通文件。

**cd ..**返回上级目录

cd [绝对路径]

cd [相对路径]

**cd ~**进入用户家目录

**cd -**返回最近访问目录


04.touch指令

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

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

我们一般使用这个指令新建文件,而不是修改时间。

也可以一次新建多个普通文件。


05.mkdir指令(重要)

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

当我们想要递归式建目录时,可以这样做。

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


06.rmdir&&rm指令(重要)

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

rmdir

语法:rmdir [-p][dirName]
功能:删除空目录

如果删的目录非空,会这样。

而且他不可以删除文件。

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

rm

语法:rm [-f-i-r-v][dirName/dir]
功能:删除文件或目录

rm命令可以同时删除文件或目录(通配符*),加上*表示选中该目录下所有,不包括隐藏文件。

-rf递归式强制删除目录及其下所有文件

-r 删除目录及其下所有文件

-f强制删除

因为我们是root用户,所有文件默认重要,所以不加-f时删除,会询问你是否删除,像这样。

加上-f就不会询问了。

-r为递归式删除目录及其所有文件

所以我们今后删除目录与文件使用rm就OK了,不需要再用rmdir了,直接无脑rm -rf 用起来


07.man指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man

语法: man [选项] 命令

我们可以先查询一下man这个指令如何使用。

我们发现左上角有个MAN(1),这代表着我们在1号手册中查询到了该指令用法。

下面有9个选项,而我们只需要了解123就好,其他的基本用不上,1号手册是查询指令用法,2号手册是关于系统的,暂时不用管,3号手册是查询库函数,主要是C语言的。

man指令默认从上到下开始查询,1号手册查不到就去2号,以此类推,直到我们找到为止。

同时我们可以指定手册去查询。


08.cp指令(重要)

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

我们先来复制一个普通文件。

接着复制一个空目录。复制目录时要加-r

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

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

若目标目录不存在,则创建目标目录后再复制过去


09.mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

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

第一个功能:移动文件或者目录

要注意的是,不可以把自己移动到自己里。

第二个功能:修改文件或者目录名字,当目标不存在时修改名字。

如果目标里已经有了我们要复制的文件,会询问是否覆盖

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


10.cat指令

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

使用cat指令前我们要先了解另一个指令:nano

nano指令

类似于Windows下的记事本,使用nano打开一个文件进行写入内容

然后回车打开文件,写一段代码

接着ctrl X 然后输入y,回车退出来、

接下来我们就可以用cat来查看我们写的内容了。

另外我们还需要了解一个指令:echo指令

echo指令

将双引号里的内容打印到下一行并自动换行

接下来我们引入一个概念:输出重定向

输出重定向

我们这一次不想让他打印到显示器上,而是让他写入文件中,用>指定方向,所以我们叫输出重定向。

我们再来看一个现象.

发现了吗,我们的echo和>在每一次向文件的输出中,都会先清空文件,再输入进去,那么如何使其不清空而增加进去呢?

我们就要说到:追加重定向

追加重定向

于是我们懂了,echo和>>可以追加。

既然有输出重定向,那么有没有输入重定向呢?

输入重定向

当然有,不过这似乎有些多此一举,我们不是可以直接cat吗,加<干什么,这里只是让大家明白有这么一个东西而已。

再介绍一个:清空重定向

清空重定向

于是我们明白了,> 加上文件名,就可以清空他的内容了,其实他还有一个作用,创建新文件。

但是呢,和touch比,差点东西。

不可以同时创建多个文件,所以创建单个文件可以用,同时创建多个文件还是要用touch

cat到此为止了吗?我们还没有说选项,而且他还有一个用法。

接下来我们在一个文件里输入点内容来说选项

-n对输出的所有行编号

-s 不输出多行空行

-b对非空输出行编号

cat完结撒花~


11.more指令

这个指令已经被淘汰了,基本上不用,我们现在用less,但我们还是要了解一下

语法:more [选项][文件]
功能:more命令,功能类似 cat

在此之前,我们手搓一个长点的文件,然后使用more

下面的内容我们想要翻看的话只能按回车,他才会一行一行向下翻,其他向上向下键是没有用的。

我们按ctrl c可以强行退出。

但是less的话我们就可以上下翻,而且还可以输入行号进行跳转。


12.less指令(重要)

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

-N 显示每行的行号

输入要跳转的行号

回车


13.head指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

语法: head [参数]... [文件]...
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行

默认输出前10行

指定输出前3行


14.tail指令

语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件


15.时间相关的指令

date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]... [+FORMAT]

date +%s,时间戳,输出的数字为秒,从1970年1月1日晚上12点开始计时到现在。

常用于计算一个范围内的时间,比如算出前天和今天的时间戳,我们就能够确定一个范围,通过这个范围去找寻我们想找的时间点的日志。


16.cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。

命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

默认今年当月

指定月年

上个月,当月,下个月

指定显示整年


17.find指令(重要)

语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name 按照文件名查找文件。

指定路径搜索

这里额外拓展一个指令:which

which指令

用于查询指令的路径


18.grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

先造个文件出来

补充指令1:sort

sort指令

按照每行从前往后ASCII值从小到大进行排序

补充指令2:uniq

uniq指令

去掉相邻的重复行

uniq -c去掉重复行后在每行前写出该行原来行数

补充指令3:wc -l

wc -l 指令

word count,统计行数


19.zip/unzip指令

语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理

哦吼!!!明显不对,少了什么呢?

这下我们明白了,要加-r。

我们默认解压缩到当前目录,但是也可以改变解压缩后的目录。

解压到tmp目录:unzip test2.zip -d /tmp


20.tar指令(重要)

tar [-cxtzjvf] 文件与目录 .... 参数

常用选项:

-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录


21.几个比较重要的热键

[Tab]按键---具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可
以用来取代exit

比如说你只记得有个指令wh开头,但是想不起来了,那就Tab两下,就会出现如下 ,如果不出现或者Tab不出来,没关系,不是你的问题,是你的Linux厂商的问题,很正常。

ctrl c,让正在进行的指令强行停下,也就是说,只要ctrl c,指令就停下来了。

ctrl d,玩得比较花,按下他不用鼠标点关闭,Xshell就退出关闭了。


22.关机指令

语法:shutdown [选项] ** 常见选项:**
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

这里不做演示......


学会这些指令,那么恭喜你,基本上入门啦

相关推荐
二十雨辰16 分钟前
[linux]docker基础
linux·运维·docker
饮浊酒1 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu1 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
矛取矛求1 小时前
Linux系统性能调优技巧
linux
One_Blanks2 小时前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell2 小时前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼2 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler2 小时前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang3 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
hjjdebug4 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal