- 1、Linux操作系统背景知识
- 2、基本指令
- ls指令
- whoami、who指令
- pwd指令
- cd指令
- touch指令
- stat指令
- mkdir指令
- rmdir,rm指令
- rmdir指令
- rm指令
- man指令
- cp指令
- mv指令
- nano指令
- which指令
- cat指令
- more指令
- less指令
- head指令
- tail指令
- echo指令
- Date指令
- cal指令
- find指令
- grep指令
- zip/unzip指令
- tar指令
- alias指令
- 几个热键
1、Linux操作系统背景知识
操作系统:一款进行软硬件资源管理的软件。对上提供良好的稳定的运行服务–工具。
阶段一:1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。
阶段二:1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。
阶段三:1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds宣布他编制出了一种类似UNIX的小操作系统,叫Linux,因为开源,吸引越来越多的程序员和黑客参与其中直至发展到如今的水平。
Linux搭建方式:
1、双系统
2、虚拟机+centos镜像
3、Xshell(远程登录软件)+云服务器(推荐)
这里我选的是第三种。
2、基本指令
在介绍基本指令,我们先了解一下为什么会有指令。
因为在计算机的发展历史上刚开始所有的计算机是没有图形化界面(图形化界面就像现在的Windows系统),都是纯黑屏,并且是先有的键盘然后才有的鼠标,故先有的指令,然后才有的图形化界面。但是指令操作与图形化界面本质上是没有区别的,只是形式上的不同,只是相对而言,图形化界面对于普通人更加容易操作,更加友好。
ls指令
用法: ls +选项+[目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
文件=文件内容+文件属性(都以二进制的形式存储在计算机中)
文件内容:写入的数据信息。
文件属性:文件的创建时间,文件的修改时间等等。
选项 | 功能 |
---|---|
不加 | 显示当前目录的所有文件的文件名(属于文件属性的一种) |
-l | 显示当前目录的所有文件的属性列表 |
-a | 显示出当前目录下的所有文件/目录,包括以 . 为前缀的隐藏文件/目录 |
-d | 显示目录的信息而不是当前目录里面的文件信息 |
-i | -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件 |
-k | 以 k 字节的形式表示文件的大小。ls –alk 指定文件 |
-n | 用数字的 UID,GID 代替名称。 (介绍 UID, GID) |
-r | 对目录反向排序。 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) |
例:
补充知识:在Linux中存在着以.为前缀的隐藏文件,就像上图的.cache文件等,而 . 和 … 是两个特殊的目录项,用于表示当前目录和父目录。是文件系统中每个目录都会包含的默认条目,用于方便地导航文件系统的层次结构。它们不是普通的文件,而是目录中的链接,指向相应的目录。
关于指令ls的相关指令还有很多,大家可以自行去实践。
whoami、who指令
whomi->查看当前账号是谁。
who->查看当前有哪些人登录。
pwd指令
pwd->显示用户当前所处目录。
cd指令
用法:cd 目录
功能:将当前工作目录改变到指定的目录下,路径切换的作用。
cd … : 返回上级目录(这个…就是代表着上级目录的链接。)
cd ~:进入用户家目录。
cd -:返回最近访问目录
样例:
补充:Linux系统的目录结构
相比windows系统而言,Windows中我们有C盘,D盘等清晰的可以显示我们的目录结构,想进去那个目录显而易见,而对于Linux并没有图形化界面,我们应该怎么去理解Linux的目录结构。
cd …:回退操作,返回上一级目录。
/是Linux中的路径分隔符。(当我们cd…到最后时无法回退了,这时的目录我们称为家目录)
路径:目录(或文件名)/目录(或文件名)/目录(或文件名)…
Linux下的目录结构认识:在目录结构是一颗多叉树的样子。叶子节点一定是普通文件,或者是空目录。路上节点,非叶子节点一定是目录。
访问一个文件的本质,需要先找到它,找到文件的本质:就是在一颗多叉树中进行节点的查找。
路径的本质就是这一个多叉树的搜索路径(具有唯一性)。几乎所有的操作系统,文件夹或目录都是树状的。
定位一个叶子文件的方式,形成的路径:绝对路径。(在系统当中,无论你在哪里都能唯一定位一个文件。)
相对于自身当前所处的目录为参照点,我们定位一个文件的路径:相对路径。
touch指令
touch指令常用来创建一个文件。
而一个文件有着3种时间属性,访问时间,修改时间,更改时间。
stat指令
用法L:stat+文件名(或目录路径)->显示文件的时间属性
Access Time-> 访问时间:记录文件最后一次被读取的时间。当使用诸如 cat、less、more 或 grep 等命令来查看文件内容时,文件的访问时间会被更新。
Modify Time->修改时间:记录 文件内容最后一次被修改的时间。当你使用编辑器修改文件内容、向文件写入数据或使用一些命令来更改文件的内容时,文件的修改时间会被更新。
Change Time->更改时间:记录文件属性最后一次被修改的时间。当文件的文件属性被修改时,被更改时,文件的更改时间会被更新。这包括修改文件的权限、更改文件的所有者或文件大小。
mkdir指令
用法:mkdir -选项 目录名。
功能:在当前目录下创建一个目录。
p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
创建一个目录:
创建多个目录:
rmdir,rm指令
rmdir指令
用法:rmdir -选项 目录名
功能:删除一个空目录
常用选项:-p->-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
例:
rm指令
用法:rm -选项 文件名/目录名
功能:删除文件或目录
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
当root账号删除文件时会默认进行询问,当普通账号删除文件时默认不会进行询问。
man指令
当我们不知道一个指令的作用和用法时,man指令可以访问Linux手册页来显示你想查询的的指令。
用法:man 选项 指令
作用:查询指令用法
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来
按q退出查询。
例:
查询的手册有9种,默认查询的是第一种,当第一种查询不到则依次查询后面的手册。
cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
常用选项:
-i 覆盖文件之前先询问用户
-r递归地复制目录及其内容。
-R递归处理,将指定目录下的文件及子目录一并处理
-f 强行复制文件或目录, 不论目的文件或目录是否已经存在
-a 选项来保留文件的所有属性,包括权限、所有者和时间戳。
例:
复制文件:
cp test.c /dira/dirb/dirc 将文件test.c复制到/dira/dirb/dirc目录下。
复制多个文件到目录:
cp file1 file2 file3 /dira/dirb/dirc/ 将文件file1 file2 file3 复制到/dira/dirb/dirc/ 下
mv指令
语法: mv +选项 源文件或目录 目标文件或目录
功能:重命名,移动文件。
常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
当目标文件不存在时,mv指令取到一个重命名的作用。
移动文件
当我们移动进的目录中有着同名文件时,会将它覆盖。
小知识,同级目录中不能有同名文件。
nano指令
语法:nano 文件夹
功能:充当记事本的功能,往一个文件夹中输入内容
例:
我们在test.c文件中输入内容。
这时nano指令进入test.c文件的界面
当输入完内容后,下方有选项。
which指令
用法:which 指令名
功能:用于查找并显示指定命令的绝对路径。
例:
cat指令
语法:cat +选项 +文件
功能:查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
例:
more指令
语法:more +选项 +文件
功能:查看文件内容
对于查看大文件来讲,cat指令查看大文件它会直接跳转到最后面,这样很不方便,而more指令查看大文件有翻页功能查看,但是只能往下翻不能往上翻。
常用选项:
q 退出more
-n 对输出的所有行编号
less指令
语法:less +选项 +文件
功能:查看文件内容
相对于cat指令,more指令,less指令更为强大,不仅有着翻页功能,还可以向前翻向后翻,指定页数查看等等。
常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关
quit退出查看
例:less -n test.txt
head指令
语法:head +参数 +文件
功能:显示文件按开头某个数量的文字区块,默认是文件的开头10行。
-n:显示行数。
例:显示九行的内容
tail指令
语法:tail +参数 +文件
功能:显示文件按结尾某个数量的文字区块,默认是结尾的倒数10行。
-n:显示行数。
例:显示倒数九行的内容。
echo指令
语法:
echo 文件内容 >文件名
echo 文件内容 >>文件名
功能:将输入的文件内容输入文件中,如果没有加文件名,默认显示在显示屏上。
例:
这个>符号称为输入重定向,将echo后的文件内容输入到文件中,每次输入时,都会清空原始文件的内容,清空目标文件。如果不想清空原始文件的内容,我们使用>>这个追加重定向的的符号就可以。
例:
如果我们重定向后面是一个不存在的文件,也不输入内容,我们就可以创建一个新的空文件。
Date指令
当我们想要查看时间时:
%H : 小时
%M : 分钟
%S : 秒
%X : 相当于 %H:%M:%S
%d : 日
%m : 月份
%Y : 完整年份
%F : 相当于 %Y-%m-%d
如果我们直接查看秒数(是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数)。
也就是时间戳。
cal指令
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
find指令
语法:find [起始目录] [搜索条件] [动作]
功能:在 Linux 系统中用于在文件系统中搜索文件和目录的强大工具。它可以根据不同的条件来查找文件,并执行相应的操作。
起始目录: 指定开始搜索的目录。如果未指定,默认为当前工作目录。
搜索条件: 指定搜索文件的条件。这可能包括文件名、文件类型、文件大小等。
-name:按照文件名进行搜索,支持通配符。
-type:按照文件类型进行搜索,如 f 表示文件,d 表示目录。
-size:按照文件大小进行搜索。
-mtime:按照文件的修改时间进行搜索。
动作: 指定对搜索到的文件执行的操作。
例:
grep指令
语法:rep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i:忽略大小写。
-r:递归搜索子目录。
-n:显示匹配行的行号。
-v:显示不包含匹配模式的行。
-c:仅显示匹配行的计数。
例:
zip/unzip指令
语法:zip 压缩文件名.zip 文件1 文件2 文件3
功能:将 将目录或文件压缩成zip格式
常用选项:
-r: 递归地压缩目录及其内容。
-j: 不保存目录结构,将所有文件压缩到压缩文件的根目录。
-u: 更新已存在的压缩文件,只添加新文件或已更改的文件。
-d:目标目录: 指定解压缩的目标目录。
tar指令
Linux 中用于打包和解包文件的命令行工具。它的名称来自于 “tape archive”,因为它最初是用于处理磁带存档的工具。
语法:tar [-cxtzjvf] 文件与目录 …参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
例:
alias指令
语法:alias +别名=’指令‘
功能:将一个指令取别名。
例:
几个热键
Tab 键—>命令补全和档案补齐的功能
Ctrl+c键—>让当前的程序停掉
Ctrl+d键—>通常代表着:键盘输入结束的意思;另外,也可以用来取代exit
总结:关于Linux的常见指令就介绍到这里了,关于这些指令都需要常常练习,如果有什么错误请在评论区里指出哦,谢谢。