麒麟操作系统(Kylin)入门-扩展-目录-基础命令
2”的类型为“文件”、所有者权限为“读写”、所属组权限为“读写”、其他用户权限为“只读”、所有者为“Kyiln”、 所有组为“Kyiln”、大小为0、最后更改时间为:“6月12日16时42分”、名称为“1”。例2:将当前目录下的文件“cs11”移动到上一层目录中并改名为“cs11.bak”,使用命令:“mv cs11 ../cs11.bak”,如图12所示。9. /proc:该目录是一个虚拟目录,
扩展
这里用于介绍:目录、路径、基础命令。
目录树
在Linux系统中,所有的文件和目录都组织在Linux目录树结构中。Linux目录树是由根目录 “/” 开始的,该目录是Linux文件系统的根目录,它包含了所有其他的文件和目录。Linux目录树遵循一种文件系统层次结构标准,又称为FHS(Filesystem Hierarchy Standard),其标准描述了Linux文件系统中各个目录的用途和作用。
路径
使用命令和一些工具时,必须知道如何使用路径来快速访问文件。
路径分为2种:绝对路径、相对路径
绝对路径
指定文件或者文件夹时,可以使用绝对路径,该路径都是由“/”(根)开始,后跟分隔符一直到指定的文件或目录。
例1: 使用pwd命令可以直接显示当前的绝对路径,如图1所示。
这里“/home/Kyiln”就是我们当前的目录。
图1
例2 :在当前的目录下有个c.txt里面包含了一些内容,现在使用绝对路径将其内容显示出来,如图2所示。
这里使用了绝对路径,可以发现该路径是以“/”开头跨过了目录指向的该文件。
图2
相对路径
与绝对路径不同,相对路径是相对于当前的目录。因此,相对路径会跟随当前目录的变化而变化。
其中:
“./”,表示当前目录。
“../”,表示上一层目录。
例:在当前的目录下有个c.txt里面包含了一些内容,现在使用相对路径将其内容显示出来,如图3所示。
这里使用了相对路径,因为c.txt文件在当前工作目录下。
图3
“树”
麒麟系统的目录结构类似于树,所有内容都是由根部开始的。
这里介绍几个比较重要的目录:
1. /bin:该目录包含一些重要的二进制可执行文件,如bsh(Bourne Shell)、cat、cp、ls等等。
2. /boot:该目录包含Linux启动时所需的一些文件,如Linux的内核文件、启动配置文件和一些硬件的驱动程序等等。
3. /dev:该目录包含了所有的设备文件,如硬盘、网络卡、鼠标、键盘等等,Linux系统中所有的设备都通过该目录来访问。
4. /etc:该目录存储了Linux系统中的配置文件,比如网络配置文件、用户配置文件、服务配置文件等等。
5. /home:该目录包含了所有的用户目录,每个用户都可以在该目录下创建属于自己的目录,供自己存储文件。
6. /lib:该目录包含了各种库文件,这些库文件为Linux系统中的其他程序提供了支持,其中也包括Linux系统启动时所需要运行的一些库文件。
7. /mnt:该目录是挂载点目录,用于挂载其他文件系统,比如光盘、磁盘等等。
8. /opt:该目录是用来安装一些第三方软件的,比如Oracle数据库、WebLogic、WebSphere等等。
9. /proc:该目录是一个虚拟目录,存放的是Linux内核数据结构,比如进程信息、内存信息等等,它不是存储在磁盘上的目录,而是存储在内存中的。
10. /root:该目录是超级用户的家目录,它与/home目录类似,但是只有超级用户才能访问该目录。
11. /usr:该目录包含了Linux系统的大部分应用程序和文件,如/bin、/lib、/share等等。
12. /var:该目录包含了一些经常变化的文件,比如日志文件、邮件文件、缓存文件等等。
基础命令
这里主要介绍一些命令的基础使用;很多命令可以联合使用这里不过多介绍。
创建文件命令
创建文件的方法有很多种,这里只介绍1种:“touch”命令
touch命令作用:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件,这里我们只用来创建文件。
创建文件命令格式:touch <相对路径或绝对路径>
如图4所示。
这里使用了相对路径的方式在当前目录下创建了一个文件“1.txt”
图4
修改文件或目录的时间属性命令格式:
touch [-acm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
参数说明:
-a 改变档案读取时间的记录。
-m 改变档案修改时间的记录。
-c 如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-r 使用参考档的时间记录,与 --file 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 显示帮助信息。
--version 显示版本信息。
创建文件夹命令
这里主要介绍使用“mkdir”命令创建文件夹。
命令格式:mkdir [可选项] <文件夹名称>
常用可选项参数:
-p 递归创建,不存在就创建。
例:在当前目录下递归创建文件夹1/2/3/4/5,如图5所示。
这里用mkdir命令根据相对路径递归创建了目录名称为“5”的文件夹。
图5
权限
在系统中很多文件没有“写”权限。如果我们需要编辑文件,这时候就需要修改文件的权限。
这里只介绍一些基础权限。
注:为了系统的安全与稳定性,修改好文件后请将文件权限还原。
“权”
在麒麟系统中权限最高的用户为系统内置的“root”,它在整个系统中就是“王”。拥有全部文件的读写执行等权限。
默认我们无法使用“root”用户,但是可以使用“sudo”命令提权。来完成一些操作。
文件权限:
r:读取文件内容
w:修改文件内容
x:执行权限(对除程序外的文件来说没有意义)
目录权限:
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中的详细属性,能访问目录下的内容(基础权限)
如表1所示。
权 | 文件类型 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
---|---|---|---|---|---|---|---|---|---|---|
字符 | (d|l|c|s|p) | r | w | x | r | w | x | r | w | x |
数字 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 | |
权限分配 | 文件所有者 | 文件所有者 | 文件所有者 | 文件所属组 | 文件所属组 | 文件所属组 | 其他用户 | 其他用户 | 其他用户 |
表1
这里介绍使用chmod命令来更改权限
命令格式:chomd [可选项参数] [文件名或目录]
参数说明:
u 表示该文件的拥有者(user),g 表示拥有该文件的组(group),o 表示其他(others),a 表示全部(all)。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
八进制语法,如表2所示
# | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r-- | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | --x | 001 |
0 | 无 | --- | 000 |
表2
例1: 将工作目录下的1.txt文件的权限设为“只读”,如图6所示。
这里将1.txt文件所有的权限都设为了“只读”。
图6
例2: 将文件1.txt所有者的权限改为“读写执行”;将所属组的权限改为“读写”;其他用户权限改为“只读”,如图7所示。
这里使用了两种命名格式修改权限。
图7
查看文件或目录信息
这里主要介绍“ls”命令。
ls命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。
命令格式:ls [可选项] <文件名称或目录>
常用可选项:
-a 显示所有文件及目录 (会显示隐藏文件)
-d 只列出目录(不递归列出目录内的文件)。
-l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
-r 倒序显示文件和目录。
-t 将按照修改时间排序,最新的文件在最前面。
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 递归显示目录中的所有文件和子目录。
例1:查看当前目录下的文件和文件夹,如图8所示。
有些时候,当前操作的目录为目标时,可以省略相对路径
图8
例2:查看当前目录下文件夹和文件的信息,如图9所示。
图9
文件(文件夹)信息详解
如表3所示。
说明 | 类型 | 所有者权限 | 所属组权限 | 其他用户权限 | 所有者 | 所有组 | 大小 | 日期 | 日期 | 日期 | 名称 |
---|---|---|---|---|---|---|---|---|---|---|---|
信息 | - | rw- | rw- | r-- | Kyiln | Kyiln | 0 | 6月 | 13 | 16:42 | 2 |
表3
注:文件类型:- 普通文件;d 目录;l 软链接;c字符设备;s 套接字;b块设备。
例:查看当前目录下文件名为“2”的信息,如图10所示 。
“2”的类型为“文件”、所有者权限为“读写”、所属组权限为“读写”、其他用户权限为“只读”、所有者为“Kyiln”、 所有组为“Kyiln”、大小为0、最后更改时间为:“6月12日16时42分”、名称为“1”。
图10
移动与更改名称
在计算机的使用过程中,很多时候需要移动文件或者更改文件的名称,为了更快更便捷的完成操作,这时候就需要我们的“mv”指令了。
mv命令作用:命令用来为文件或目录改名、或将文件或目录移入其它位置,源文件“消失”。
命令格式1:mv [可选项] <源文件名> <目标文件名>
命令格式2:mv [可选项] <源文件> <目标目录+名>
常用可选项:
-b: 如果目标文件或目录存在时,在执行覆盖前,会将其备份。
-i: 如果重名则会询问是否覆盖,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果重名不会询问,直接覆盖。
-n: 与-f相反,如果重名不会询问,直接跳过。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
例1:将当前目录下文件“2”名称改为“cs11”,使用命令“mv 2 cs11 ”,如图11所示。
图11
例2:将当前目录下的文件“cs11”移动到上一层目录中并改名为“cs11.bak”,使用命令:“mv cs11 ../cs11.bak”,如图12所示。
这是使用了相对路径“../代表上一层目录”。将当前目录下名为“cs11”的文件,改名为“11.bak”并移动到了上一层目录。
图12
复制
有些时候我们希望既可以改变文件名称,又不想失去源文件。这时候“cp”命令可以完成此工作。
cp命令作用:复制文件或者目录,源文件不会消失。
命令格式:cp [可选项] <源文件> <目标文件>
常用可选项,如表4所示:
-a | 在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。 |
-d | 复制时保留链接。这里所说的链接相当于快捷方式。 |
-r | 复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。 |
-u | 仅复制源文件中更新时间较新的文件。 |
-p | 保留源文件的权限、所有者和时间戳信息。 |
-f | 强制复制,即使目标文件已存在也会覆盖,而且不给出提示 |
-l | 不复制文件,只是生成链接文件。 |
表4
例:复制当前目录下名为“3”的文件夹,并将其改名为“3副本”,使用命令:“cp 3 3副本”,如图13所示。
注:复制目录要加 -r选项。
图13
显示文件内容
cat命令作用:用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。
命令格式:cat [可选项] <文件>
常用可选项,如表5所示。
-n | 显示“每一行”行号。 |
-b | 显示“非空行”行号。 |
-s | 压缩连续的空行,只显示一个空行。 |
-E | 每一行以 $ 符号结尾。 |
-T | 将 Tab 字符显示为 ^I 。 |
-v | 显示一些非打印字符。 |
表5
例:查看当前目录下“cs11.bak”的内容,可以使用命令:“cat cs11.bak”,如图14所示。
使用此命令后,会将文件“cs11.bak”的内容,输出到终端上显示。
图14
查找
有些时候我们只知道文件名但是不知道文件在哪里,这个时候使用“find”命令就可以解决这个问题了。
find命令作用:命令用于在指定目录下查找文件和目录。
这里只介绍简单的用法。
find命令格式:find <路径> <匹配条件> [动作]
参数说明:
路径:要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
匹配条件:
-user username
:按文件所有者查找。
-group groupname
:按文件所属组查找。
-mtime days
:按修改时间查找,支持使用 +
或 -
表示在指定天数前或后,days 是一个整数表示天数。
-type type
:按文件类型查找,可以是 f
(普通文件)、d
(目录)等。
-name pattern
:按文件名查找,支持使用通配符 *
和 ?。
动作:可选的,用于对匹配到的文件执行操作,比如删除、复制等。
例:查找文件Kylin所在的位置,可以使用“find / -name Kyiln” 完成此操作,如图15所示。
图15
查找字符串
“find”命令只能查找文件,但是有些时候我们需要知道文件中是否包含指定的内容,或指定的内容是否存在于文件中,这时候就需要另一个查找命令了。
“grep”命令用于查找文件里符合条件的字符串或者正则表达式。
如果文件中存在符合条件的内容,则会将符合的那一行的内容显示出来。若是不指定任何文件名称,或是所给予的文件名为“-”,则从标准输入设备读取设备。
grep命令格式:
grep [可选项] <字符串或正则表达式> [文件名(可以多个)]
常用选项:
-i:忽略大小写。
-v:反向查找,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。
-c:只打印匹配的行数。
例:在标准输入中查找字符串“w”。如图16所示。
使用“cat”命令将文件的内容作为了标准输入,在标准输入中查找字符串“w”。
图16
查看“树”
“tree”命令用于树状图列出目录的内容。执行此命令,它会列出指定目录下的所有文件,包括子目录中的文件。
tree命令格式:tree [可选项] [<目录>]
常用可选项参数:
-a:显示所有文件和目录。
-d:显示目录名称而非内容。
-D:列出文件或目录的更改时间。
-f:在每个文件或者目录之前,显示完整的相对路径的名称。
-L:限制层级。
-s:列出文件或者文件大小。
-t:用文件和目录的更改时间排序。
例:显示当前工作目录下的目录树,如图17所示。
图17
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)