博主个人主页:不是笨小孩
⏩专栏分类:数据结构与算法 C++ 刷题专栏 C语言
代码仓库:笨小孩的代码库
⏩社区:不是笨小孩
欢迎大家三连关注,一起学习,一起进步!!
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 指令
我们会发现所有的文件都展示在屏幕上了,ls就是会把我们当前目录的所有文件名展示在屏幕上。
输入 ls -l 指令
ls命令可以显示文件名,但没办法查看文件的详细信息,ls -l 指令在查看文件名的同时还会把文件的详细信息打印出来。
我们会发现 ll 指令和 ls -l 指令的效果是一样的,是的,他俩其实本事就是同一个命令,只不过 Linux替我们做了重命名的工作,怎么验证这件事呢?我们可以输入which + 指令。
alias就是重命名指令,当然我们也可以对常用的指令进行重命名,看个人操作习惯。
输入 ls -l -a 指令(也可以输入 ls - la 指令)
我们会发现除了我们刚才展示的文件以外,还有好多以 . 开头的文件,并且 还有. 和 … ,很多人会一会这是什么,这是因为 -a 选型会把隐藏文件也显示出来,我们在windows下是存在隐藏文件的,Linux也不例外,在Linux中我们将以 . 开头的文件叫做隐藏文件, 那个 . 表示的是文件所在的当前目录,而 … 表示的是文件所在目录的上一级目录。
pwd
显示用户当前所在的目录。
举例说明:
我们想要知道自己当前所在的路径就可以使用pwd指令。
cd 目录名
改变工作目录。将当前工作目录改变到指定的目录下。
举例说明:
我们可以看到 cd 指令可以让我们进入想进的文件夹或者文件。cd 后面可以跟相对路径也可以跟绝对路径。
这里补充一个tree指令:
tree可以将我们想要打印的目录下的所有目录和文件以树的形式打印出来:
比如说d1这个路径,我们当前在/root这个路径下:
绝对路径 : /root/d1
相对路径: ./d1
输入cd - 指令
cd - 指令就是返回最近访问目录。
输入cd ~ 指令
cd ~ 指令就是返回家目录,家目录返回自己账号的主目录。
Linux的目录树
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
文件有目录文件,就是文件下面还有目录或者别的文件,还有普通文件(比如以.c .txt . file)等的文件,下面没有别的文件了,所以我们可以看到,普通文件一定是目录树的叶子节点,而叶子节点可能是目录也可能是普通文件,而路上的节点也一定是目录。/ 我们称为分隔符。
touch [选项]… 文件…
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
举例说明:
输入 touch + 文件名 指令
我们可以看到后面的文件名如果不存在,我们会创建一个新的文件,如果已经存在会修改它的时间。
mkdir [选项] dirname
在当前目录下创建一个名为 “dirname”的目录。
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录。
举例说明:
我们可以看到mkdir可以创建一个目录,加了 -p 选项可以递归创建多个目录。
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
其实在实际中我们很少用这个命令,因为rmdir只能删除空目录,局限性较大,我们比较喜欢实用rm命令。
rm命令可以同时删除文件或目录。
我们比较经常使用 rm 指令来删除文件,我们可以根据自己的需求自行使用,补充一个知识点,就是 * 表示所有文件,比如我们需要删除当前目录的所有文件:我们就可以使用 rm -rf ./* 指令。
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。
man手册分为8章:
1 是普通的命令。
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 。
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件。
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义。
6 是给游戏留的,由各个游戏自己定义。
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明。
8 是系统管理用的命令,这些命令只能由root使用。
但是注意,这里只支持查看C语言的相关函数的信息,如果想要知道其他编程语言的信息,可以去官网查看。
我们会发现有一个有趣的事情:
printf可以直接输入在Linux命令行中直接将信息打印在屏幕上,这个事情还是比较有趣的。printf命令模仿了C语言中的printf()函数。主要作用是输出文本,按照我们指定的格式输出文本。还有一个输出文本的命令echo,在输出文本时,echo会换行。printf命令不会对输出文本进行换行。可以使用 \n 。但是printf命令的优势是格式化文本。
需要输出文本在屏幕上的话使用echo也是可以的。
bc命令可以很方便的进行浮点运算。
wc指令可以查看文本的信息,比如多少行等。
uname [选项]
uname用来获取电脑和操作系统的相关信息。可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
那么今天的分享就到这里了,有什么不懂得可以私信博主,或者添加博主的微信,欢迎交流。