Linux指令(1)
一.操作系统是什么?
1.1概念
操作系统是一款做软硬件管理的软件
1.2操作系统的层次
操作系统位于应用软件之下,设备驱动和硬件之上
所以,任何行为都要贯穿操作系统
应用软件 :word,matlab等
操作系统:windos,Linux等
设备驱动:驱动硬件,例如:声卡驱动等
硬件:cpu、内存、磁盘、显示器、键盘等
1.3操作系统的核心工作
通过对象管理好软硬件资源的手段,达到对上提供良好的(稳定、快速、安全)的操作/使用环境
二.Linux基本指令
1.首先对文件的认识:
(1)一个文件声明都不写,那么放在磁盘中会占用空间吗?
答案是一定会的,因为文件不止有文件内容,文件还有属性等信息需要存储
(2)所以:文件=文件内容+文件属性
(3)文件的操作=对文件内容的操作+对文件属性的操作
(4)文件的类型:
1) d开头的是一个目录
2)- 开头的是一个普通文件
3)而在Linux中,以 . 开头的文件,我们称为隐藏文件
2.1 ls指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件 ,将列出文件名以及其他信息
常用选项:
重点选项(1)
• - l 列出文件的详细信息(每一行的会输出每个文件的属性)【ls -l等价于ll】
• - a 列出目录下的所有文件,包括以 . 开头的隐含文件
• - d 将目录像文件一样显示,而不是显示这个目录里面的文件。 如:ls ‒d 目录名
• - F 在每个文件名后附上一个字符以说明该文件的类型, “ * ”表示可执⾏的普通文件; “ / ”表示
目录; “@”表⽰符号链接; “ | ”表示FIFOs;“ = ”表示套接字(sockets)。(目录类型识别)
重点选项(2)
• - i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件
• - k 以 k 字节的形式表⽰文件的大小。ls ‒alk 指定文件
• - n 用数字的 UID, GID 代替名称。 (介绍 UID, GID)
• - r 对目录反向排序
• - t 以时间排序
• - s 在l文件名后输出该文件的大小。(⼤⼩排序,如何找到⽬录下最大的文件)
• - R 列出所有子目录下的文件(递归)
• - 1 一行只输出一个文件
使用方法:
[whb@bite-alicloud test]$ ls
dir file.txt
[whb@bite-alicloud test]$ ls -a
. .. dir file.txt
[whb@bite-alicloud test]$ ls -a -l
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 .
drwx------ 22 whb whb 4096 Jan 11 14:21 ..
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
[whb@bite-alicloud test]$ ls -a -l -F
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 ./
drwx------ 22 whb whb 4096 Jan 11 14:21 ../
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
[whb@bite-alicloud test]$ ls -alFn
total 12
drwxrwxr-x 3 1003 1003 4096 Jan 11 15:01 ./
drwx------ 22 1003 1003 4096 Jan 11 14:21 ../
drwxrwxr-x 2 1003 1003 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 1003 1003 0 Jan 11 14:22 file.txt
注意:
1.使用指令时,可以几个指令一起使用,比如:ls -a -l(也可以写成ls -al或者ls -la)
2.Lnux下,任何一个目录下都有两个隐藏文件. 和..
3..和..都表示什么:..表示当前路径的上级路径, .表示当前路径
4. .存在的意义:帮助用户定义当前目录下的一个文件
5.单独一个ls表示显示该文件夹下所有的文件名属性
2.2 pwd命令
语法: pwd
功能:显示用户当前所在的目录
常用选项:无
使用举例:
ubuntu@VM - 24 - 16 - ubuntu:~$ pwd/ home / ubuntu
2.3 mkdir指令
语法: mkdir [选项] dirname...
功能:在当前目录下创建⼀个名为“dirname”的目录
常⽤选项:
• - p / --parents:可以是⼀个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将⾃
动建立好那些尚不存在的⽬录, 即⼀次可以建立多个目录
例如:
创建多个路径:mkdir -p test1/test2
使用举例:
# 创建普通空⽬录
[whb@bite-alicloud test]$ ls -l
total 4
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
[whb@bite-alicloud test]$ mkdir mydir
[whb@bite-alicloud test]$ ls -l
total 8
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir
-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
# 递归建⽴多个⽬录,创建指定路径
[whb@bite-alicloud test]$ mkdir -p path1/path2/path3/path4
[whb@bite-alicloud test]$ ls -l
total 12
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
drwxrwxr-x 2 whb whb 4096 Jan 11 15:15 mydir
-rw-rw-r-- 1 whb whb 0 Jan 11 15:09 newFile.txt
drwxrwxr-x 3 whb whb 4096 Jan 11 15:16 path1
[whb@bite-alicloud test]$ tree path1
path1
└── path2 └── path3 └── path4 # tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装
# 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤
法)
# 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (后⾯讲讲完vim,⼤家才能将⾃⼰添
加到系统信任列表中,暂时普通⽤⼾⽆法使⽤sudo)
2.4 cd指令
语法:cd ⽬录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
注意:
(1) cd .. : 回退至上一个目录
(2)cd ../day02/: 相对路径
(3)cd /home/tu/jay: 绝对路径
(4)cd ~ :用户直接回到自己的家目录下(登陆时的目录)
(5)cd - :回到我上一次所进入的路径
2.5touch指令
语法: touch [选项]... 文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建⼀个不存在
的文件。
常用选项:
• - a: change only the access time
• - c: change only the modification time
2.6rmdir指令 && rm指令
2.6.1 rmdir指令(只能删除非空的目录)
rmdir是⼀个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除命令
语法: rmdir[-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
• - p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录⼀起删除。
2.6.2 rm指令
rm命令可以同时删除文件或目录
语法: rm[-f - i - r - v][dirName / dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
• - f 即使文件属性为只读(即写保护),亦直接删除
• - i 删除前逐一询问确认
• - r 删除目录及其下所有文件
注意:
(1)rm不能直接删目录,要删目录就要加上-r,例如:rm -r [文件名]
(2)强制删除:rm -r -f
三.Linux下的文件路径
• 在Linux下,表明路劲时,一定会用/做分割,/就叫路径分隔符
• 在Linux中,使用cd..的指令一直回退,知道回退至最后的一个/时,这个/就是Linux的根目录
• 使用ls -ld查看根目录,可以发现根目录是以d开头的,说明根目录是一个目录
那么目录里可以继续存其他的文件,也就是说,Linux中的目录结构整体是一个多叉树,它的叶子节点一定是
空目录或者非目录文件,路上节点一定时非空目录
• Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件
• 其中普通文件⼀定是目录树的叶子节点
• 目录可能是叶子(空目录), 也可能是路上节点
• 理解路径存在的意义 : 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就
需要具有唯一性的方案来进⾏定位文件。其中任何一个节点,都只有一个父节点,所以,从根⽬
录开始,定位指定文件,路径具有唯一性
• 绝对路径:一般从 / 开始,不依赖其他目录的定位文件的⽅式
• 相对路径:相对于当前用户所处目录,定位文件的路径
• 绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用
• 如果我们做出的路径发生变化,那么相对路径就失效了
• 相对路径因为它的便捷性,⼀般在命令行中使用较多