欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析3
目录
- 👉🏻浅识操作系统
- 👉🏻ls
- .和. .
- stat
- 👉🏻pwd
- 👉🏻cd
- 绝对路径和相对路径
- 👉🏻touch
- 👉🏻tree
- 👉🏻mkdir
- 👉🏻rmdir和rm
- 👉🏻 nano指令
- 👉🏻一些其它常用指令和快捷键
- 👉🏻man
- 👉🏻cp
- 👉🏻mv
👉🏻浅识操作系统
概念
操作系统是一种软件系统,它管理计算机硬件和软件资源,并为用户和应用程序提供统一的接口。操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备驱动程序管理等。它负责分配计算机的资源,调度进程的执行顺序,管理内存的分配和回收,以及提供文件和设备的访问接口。操作系统的目标是提高计算机的效率、可靠性和安全性,使用户能够方便地使用计算机系统。常见的操作系统包括Windows、Mac OS、Linux等。
总而言之,操作系统就像是搭建在软件和硬件上的一座桥梁,我们用户在软件上进行的操作,想要得到反应,就需要操作系统将这种信息传递到硬件上,硬件才会开始被驱动。
👉🏻ls
功能:
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
语法:
ls [选项][目录或文件]
下面是一个示例:👇🏻
常用选项:
-a
列出目录下的所有文件,包括以 . 开头的隐含文件。- -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l
列出文件的详细信息。- -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
- -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文- 件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
- -r 对目录反向排序。
- -t 以时间排序。
- -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
- -R 列出所有子目录下的文件。(递归)
- -1 一行只输出一个文件
🍎 ls -l
ls -l 也可以简写为ll。
下面是一个例子;
🍎 ls -a-l
像这种选项组合其实可以根据我们的需求去组合搭配。
这里ls -a-l的写法不止一种,ls - l-a、ls -la 都可以
功能是列出包括隐藏文件的详细信息
.和. .
./
是当前文件,../
是上级文件,在Xshell中,有些地方/可以不写
stat
stat:获取文件的所有属性
有人会问,这其中的Access、Modify、Change是什么呢?
如下解释:
- Access time:最后一次 访问 (仅访问,没有改动)文件的时间
- Aodify time:最后一次修改 文件 的时间
- Ahange time:最后一次 文件属性改变 的时间,包括权限,大小,属性等
它们经常被称为ACM
对了,这里还要再补充一下文件的小知识点:
文件主要由内容和属性组成,比如一个text.txt的文本文档,text和.txt分别是它的文本名和拓展名,都是它的属性,而打开它,它其中的数据就是内容。
👉🏻pwd
功能:
显示用户当前所在的目录
Linux 下路径分隔符为 /,Windows 下路径分隔符为 \
👉🏻cd
功能:
改变工作目录。将当前工作目录改变到指定的目录下
语法:
cd 目录名
常见用法:
- cd … : 返回上级目录
- cd /home/litao/linux/ : 绝对路径
- cd …/day02/ : 相对路径(这里相对于上一级的目录)
- cd ~:进入用户家目
- cd -:返回最近访问目录
绝对路径和相对路径
绝对路径和相对路径是在计算机中用于定位文件或目录的两种不同方式。
绝对路径是从文件系统的根目录开始的完整路径。它包含了文件或目录所在的所有层级结构。在Windows系统中,绝对路径通常以盘符(如C:\)开始
,然后是目录的层级结构(如\Users\Username\Documents\File.txt)。在Unix或类Unix系统中,绝对路径以斜杠(/)开始
,然后是目录的层级结构(如/home/username/documents/file.txt)。
相对路径是相对于当前工作目录或当前文件所在目录的路径。它不包含完整的层级结构,而是从当前位置开始的路径。相对路径可以使用特殊符号来表示不同的位置关系。例如,"…/“表示上一级目录,”./"表示当前目录。相对路径通常更简洁,易于移植和共享。
在使用绝对路径或相对路径时,需要根据具体情况选择合适的方式。如果需要准确地指定文件或目录的位置,或者需要在不同的系统中使用相同的路径,建议使用绝对路径。如果文件或目录与当前位置有固定的相对位置关系,或者需要在同一系统内部使用路径,可以使用相对路径。
👉🏻touch
功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
语法:
touch [选项]… 文件…
常用选项:
- -a 或–time=atime或–time=access或–time=use只更改存取时间。
- -c 或–no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或–time=mtime或–time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
注意:
touch创建的只是一个文件,例如,txt文本和.c文件,不是目录,即文件夹,
对于cd,cd不能跳转到文件中。(后续讲的mkdir是创建目录的)
如下示例:
🌺
不管touch还是mkdir,都是可以指定路径(绝对or相对)去创建文件/文件夹的。
👉🏻tree
功能:tree是一个在Linux系统中常用的命令行工具,用于以树状结构显示目录的内容
tree命令的基本语法如下:
tree [选项] [目录]
默认情况下,tree命令会以当前目录为根节点,递归地显示该目录下的所有子目录和文件。每个目录都会以目录名开头,并以斜杠(/)结尾,文件则直接显示文件名。
tree命令的常用选项包括:
- -d:只显示目录,不显示文件。
- -L n:限制显示的层级深度为n层。
- -a:显示所有文件和目录,包括隐藏文件和目录。
- -f:显示完整的路径,而不仅仅是相对路径。
- -I pattern:排除符合指定模式的文件或目录。
root用户在xshell上下载tree指令:
yum install -y tree
👉🏻mkdir
功能:用于创建新的目录
mkdir命令的基本语法如下:
mkdir [选项] 目录名
如果要创建多级目录,可以使用-p选项。例如,要创建一个名为parent/child/grandchild的多级目录,可以运行以下命令:
mkdir -p parent/child/grandchild
mkdir命令的常用选项包括:
- -p:递归地创建多级目录,如果父级目录不存在也会一并创建。
- -m:设置新目录的权限模式。
- -v:显示创建过程中的详细信息。
例如,要创建一个名为example的新目录,并设置其权限为755,可以运行以下命令:
mkdir -m 755 example
👉🏻rmdir和rm
🍒 rmdir
rmdir是一个在Linux系统中用于删除空目录的命令行指令。
rmdir命令的基本语法如下:
rmdir example
如果目录删除成功,命令不会输出任何信息。如果目录删除失败,可能是因为目录不为空或者用户没有足够的权限。
需要注意的是,rmdir命令只能删除空目录。如果要删除非空目录,可以使用rm命令的-r选项,例如:
rm -r 目录名
这将递归地删除目录及其所有内容
🍒 rm
rm是Linux系统中用于删除文件或目录的命令。
rm命令的基本语法如下:
rm [选项] 文件或目录
默认情况下,rm命令只能删除文件,无法删除目录。如果要删除目录,需要使用-r或-R选项来进行递归删除。
rm命令的常用选项包括:
- -f:强制删除,不提示确认。
- -r或-R:递归删除目录及其内容。
- -i:交互式删除,删除前逐个确认。
- -v:显示详细信息,列出每个被删除的文件。
rm -fr 强制删除目录及其内容且不提示确认
需要注意的是,rm命令删除的文件或目录将无法恢复,请谨慎使用该命令。
rm -rf ./* 删除当前目录下所有的目录及其子文件
rm -rf/把从根目录开始的所有文件删除(谨慎,几乎不用)
👉🏻 nano指令
nano是一个在Linux系统中常用的文本编辑器,它提供了一个简单易用的命令行界面来编辑文本文件。
要使用nano编辑一个文件,可以运行以下命令:
nano 文件名
这将打开nano编辑器,并加载指定的文件。如果文件不存在,nano将创建一个新文件。
nano编辑器的界面相对简单,底部显示了一些常用的命令提示。例如,^表示Ctrl键,M-表示Alt键。
一些常用的nano命令包括:
- Ctrl + O:保存文件。
- Ctrl + X:退出编辑器。
- Ctrl + G:显示帮助文档。
- Ctrl + K:剪切当前行。
- Ctrl + U:粘贴剪切的内容。
- Ctrl + W:查找关键字。
- Ctrl + \:替换关键字。
- Ctrl + C:显示当前光标位置的行号。
除了这些基本命令外,nano还提供了其他一些功能,如自动缩进、语法高亮等
下面是一个示例:
👉🏻一些其它常用指令和快捷键
clear
清理屏幕
whoami
显示当前用户
alt + enter
全屏,退出也是 alt + enter
🍊Tab键
在Linux系统中,Tab键有以下几个常用的功能:
-
命令补全:在命令行终端中,当你输入一个命令或文件路径的一部分时,按下Tab键可以自动补全命令或路径的剩余部分。如果有多个匹配项,快速按下Tab键两次会显示所有匹配项的列表。
-
文件和目录补全:在命令行终端中,当你输入一个文件或目录的一部分时,按下Tab键可以自动补全文件或目录的剩余部分。如果有多个匹配项,按下Tab键两次会显示所有匹配项的列表。
-
命令参数提示:在命令行终端中,当你输入一个命令后面的参数时,按下Tab键可以显示该命令的可用参数列表。这可以帮助你快速查看和选择命令的参数选项。
-
文件名和路径的自动转义:在命令行终端中,当你输入一个文件名或路径时,按下Tab键可以自动转义特殊字符,如空格、引号等,以确保命令正确解析文件名或路径。
总之,Tab键在Linux系统中是一个非常有用的工具,可以提高命令行操作的效率和准确性。
🍊ctrl + c
在Linux中,按下Ctrl + C键组合通常用于终止当前正在运行的程序或命令。这个组合键发送一个中断信号(SIGINT)给前台进程,告诉它停止执行。
当你运行一个长时间运行的命令或程序时,如果你想要停止它,你可以按下Ctrl + C键来发送中断信号。这将导致程序立即停止执行,并返回到命令行提示符。
需要注意的是,按下Ctrl + C键会强制终止程序,可能会导致未保存的数据丢失。因此,在使用Ctrl + C键之前,最好确保你已经保存了你的工作。
👉🏻man
man是一个在Linux系统中常用的命令行工具,用于查看系统中安装的命令、函数和配置文件的手册页(manual page)。
root用户下载man指令:
yum install -y man-pages
普通用户:
sudo yum intall -y man-pages
man命令的基本语法如下:
man [选项] 命令/函数/配置文件
通过提供命令、函数或配置文件的名称作为参数,man命令可以显示与之相关的手册页。手册页通常包含了关于命令的详细说明、用法示例、选项和参数的解释等信息。
man命令的常用选项包括:
- -f:显示与关键字匹配的所有手册页的简要描述。
- -k:搜索关键字并显示与之相关的手册页的简要描述。
- -a:显示与关键字匹配的所有手册页。
- -w:显示手册页文件的路径。
例如,要查看ls命令的手册页,可以运行以下命令:
man ls
man命令会在终端中显示手册页的内容。你可以使用上下箭头键进行滚动,按q键退出手册页的查看。
要查看man命令本身的手册页,可以运行以下命令:
man man
⭐️1 是普通的命令
⭐️2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
⭐️3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
👉🏻cp
cp是Linux系统中用于复制文件和目录的命令行指令。
cp命令的基本语法如下:
cp [选项] 源文件 目标文件
其中,源文件是要复制的文件或目录的路径,目标文件是复制后的文件或目录的路径。
cp命令的常用选项包括:
- -r:递归复制目录及其内容。
- -i:在复制前进行交互式确认,避免覆盖已存在的文件。
- -u:仅复制源文件中更新或不存在于目标文件中的文件。
- -v:显示详细的复制过程。
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
例如,要将文件file1.txt复制到目录/home/user/documents/下,可以运行以下命令:
cp file1.txt /home/user/documents/
如果要复制整个目录及其内容,可以使用-r选项:
cp -r directory1 /home/user/documents/
如果目标文件已经存在,cp命令将覆盖目标文件。如果想避免覆盖已存在的文件,可以使用-i选项进行交互式确认。
👉🏻mv
mv是Linux系统中用于移动(剪切)文件或重命名文件的命令。
mv命令的基本语法如下:
mv [选项] 源文件或目录 目标文件或目录
使用mv命令可以将源文件或目录移动到目标位置,或者将源文件或目录重命名为目标名称。
如果目标位置是一个目录,mv命令将源文件或目录移动到目标目录中。如果目标位置是一个文件,mv命令将源文件或目录重命名为目标文件名。
mv命令的常用选项包括:
- -i:在移动或重命名文件时进行交互式确认。
- -f:强制移动或重命名文件,不进行确认。
- -u:只在源文件比目标文件新或目标文件不存在时才进行移动或重命名。
例如,要将文件example.txt移动到目录/home/user/documents/中,可以运行以下命令:
mv example.txt /home/user/documents/
如果要将文件example.txt重命名为newname.txt,可以运行以下命令:
mv example.txt newname.txt
mv 文件名 不存在文件名:重命名
mv 文件名 路径:剪切
mv 文件名 目录 + 不存在文件名:剪切并重命名文件
mv 目录名 目录 + 不存在目录名:剪切并重命名目录
如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长