0、指令操作的理解
windows也是支持指令操作的。
先有的键盘,后有的鼠标;先有的指令,后有的图形化界面。
而指令操作和图形化界面操作是没有本质区别的,只是形式上的不同,形式上的不同主要是对小白区别大,使得小白更容易使用。
商业公司一定要服务好他的客户,他的图形化界面一定要做得好。
Linux系统对于小白用户是不太友好的,但是各种商业化发行版的Linux可能要服务好自己的用户,可能有一部分准程序员,所以很多商业化发行版的Linux,也慢慢的有了自己的图形界面了,比如ubuntu,centos。
1、whoami指令、who指令
语法:whoami
功能:查看当前帐号是谁
语法:who
功能:当前有哪些人登陆了我的机器
举例:
2、pwd指令
语法:pwd
功能:显示用户当前所在的目录
举例:
3、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 一行只输出一个文件。
举例:
1、
2、
对于空目录,ls -a和ls -la(可以显示当前目录下的隐藏文件),如下图:
3、-d
补充1:文件=文件内容+文件属性
如果今天在windows上,新建一个空文件,这个文件,要占据磁盘/固态硬盘的存储空间吗?
一定是要占据磁盘空间的。
文件名、文件的大小等统一叫作文件的属性。属性数据本质也是数据,也要被计算机记录下来!!看到文件不要狭隘地看到文件的内容,文件的属性也是数据。
文件=文件内容+文件属性,全都是二进制数据,都要被存储。
我们以前,现在,未来,学习的所有的文件操作,本质是:
(1)要么对文件内容做操作
(2)要么对文件属性做操作
补充2:隐藏文件
(1)隐藏文件:在Linux中隐藏文件通常以 . 开头:
(2)windows下的隐藏文件,如下图
4、clear指令
语法:clear
功能:清屏
5、cd指令
语法:cd 目录名
功能:改变工作目录,将当前工作目录改变到指定的目录下
举例:
cd .. //返回上级目录
cd /home/litao/linux/ //绝对路径
cd ../day02/ //相对路径
cd ~ //进入用户家目
cd - //返回最近访问目录
补充:Linux下的目录结构的认识
1、一个.称为当前路径,
两个点即..称为上级路径。
验证如下:
2、什么叫做路径?为什么要有路径?
例如:Linux下,/root/file1/dir1 叫做路径
Windows下,C:\Windows\Boot\DVD\PCAT\en-US 也叫做路径
路径分隔符:
Linux下的路径分隔符:/
Windows下的路径分隔符:\
路径分隔符之间一定是一个目录/文件夹。
如下图,最后发现,不断回退时,最后都是/
/称为Linux的根目录。/也是一个目录。
3、Linux的整体目录结构是一颗多叉树的样子。
例如:
(1)则叶子节点一定是普通文件,或者空目录。
(2)非叶子节点一定是目录。
(3)访问一个文件的本质,需要先找到它,找到文件的本质:就是在一棵多叉树中进行节点的查找。
几乎所有的操作系统,文件夹或目录结构都是树状的。
路径的本质就是这一个多叉树的搜索路径。
那什么叫做路径?为什么要有路径呢,为什么路径就可以标识一个文件的位置呢?
因为它具有唯一性。多叉树每一个节点只有一个父节点,所以其路径具有唯一性,则路径就可以标识一个文件的位置。
一个在多叉树结构中具有唯一性的标识指定文件的一串字符串叫做路径,为什么要有路径,因为路径具有唯一性,能够帮助我们快速找到文件。
4、任何目录下都有 . 和 ..
. 当前目录
.. 上级目录
一个目录,有一个点指向它自己,有两个点指向它的上级目录。所以可以实现回退。
5、绝对路径和相对路径
我们将从/目录开始,定位一个文件的方式,形成的路径,叫做绝对路径。
我们将相对于自身当前所处的目录为参考点,定位一个文件的路径,叫做相对路径。
绝对路径:在系统当中,无论在哪里,都能唯一定位一个文件。在配置文件中常用。
相对路径:是相对于自身当前所处的目录作为参考点的。
6、cd的其它操作
cd ~ 意思是进入当前用户的家目录
cd - 意思是返回到最近访问的目录。作用是可以在两个目录之间快速跳转。
一类用户:root
其他普通用户:XXX
在centos,root账号的家目录:/root
普通用户的家目录:/home/XXX
在ubuntu,root账号的家目录:/home/root
普通用户的家目录:/home/XXX
举例:
7、什么是家目录?
在windows中,可以新建很多用户账号。windows中,其实虽然有桌面概念,但是本质桌面也是目录/文件夹,只不过当用户登陆的时候,你的家目录里面有桌面的文件夹,windows把这个文件夹中的所有文件(夹),以图标的形式,展现在显示器上,就有了桌面。
如果在windows下新建一个叫做“张三”的账号,张三里面也有桌面这个文件夹,所以当在windows登录张三或者李四不同的账号时,大家的桌面可能是不一样的。
ubuntu虚拟机桌面如下图:
登录时,默认登录所处的路径,就是当前登录用户的家目录!
6、tree指令
语法:tree 需要显示的目录
功能:把需要显示的目录的树状结构显示出来
举例:
root账号安装tree的命令行:yum install -y tree
7、touch指令
语法:touch [选项]... 文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
- -a 或--time=atime或--time=access或--time=use只更改存取时间。
- -c 或--no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或--time=mtime或--time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
举例:
8、mkdir指令
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录。
常用选项:
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
举例:
9、rmdir指令 && rm指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v] [dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
举例:
因为一般root账号创建的文件和目录比较重要,删除时且没加 -f 基本会询问是否要删除。而普通用户不会问。
如果现在想要在普通用户中删除文件时,也要询问是否要删除,则加 -i。
但是主要千万不要这么做:rm -rf /
补充:通配符 *
*是通配符,指定路径下的所有文件。
rm -rf * 默认是不能删掉隐藏文件,如果先要删除以 . 开头的隐藏文件,必须明确地指定删除。