1.基本命令

一 命令的基本格式

1. 命令的提示符

[root@localhost ~]#
	[]:这是提示符的分隔符号,没有特殊含义。
	root:显示的是当前的登录用户,现在使用的是 root 用户登录。
	@:分隔符号,没有特殊含义。
	localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
	~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
	#:命令提示符。超级用户是#,普通用户是$

2. 命令的基本格式

[root@localhost ~]# 命令 [选项] [参数]
ls 是最常见的目录操作命令,主要作用是显示目录下的内容。
  命令名称:ls。
 英文原意:list。
 所在路径:/bin/ls。
 执行权限:所有用户。
 功能描述:显示目录下的内容。 
 [root@localhost ~]#ls [选项] [文件名或目录名] 
-a:	显示所有文件
--color=when: 支持颜色输出,when 的值默认是 always(总显示颜色),也可以是
never(从不显示颜色)和 auto(自动)
-d:	显示目录信息,而不是目录下的文件
-h:	人性化显示,按照我们习惯的单位显示文件大小
-i:	显示文件的 i 节点号
-l:	长格式显示
举几个例子:
[root@localhost ~]# ls -l
总用量 44
-rw-------. 1 root root 1207 1 月    14 18:18 anaconda-ks.cfg
#权限	引用计数 所有者 所属组 大小 文件修改时间	文件名
我们已经知道“-l”选项用于显示文件的详细信息,那么“-l”选项显示的这 7 列分别是什么含义?
  第一列:权限。
  第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录 有多少个一级子目录。
  第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
  第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
  第五列:大小。默认单位是字节。
  第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个 时间不是文件的创建时间。
  	第七列:文件名。

二 目录操作命令

cd 命令

cd 是切换所在目录的命令,这个命令的基本信息如下。
  命令名称:cd。
  英文原意:change directory。
  所在路径:Shell 内置命令。
  执行权限:所有用户。 功能描述:切换所在目录

pwd 命令

pwd 命令是查询所在目录的命令,基本信息如下:
  命令名称:pwd
  英文原意:print name of current/working directory
  所在路径:/bin/pwd
  执行权限:所有用户。
  功能描述:查询所在的工作目录。

mkdir 命令

mkdir 是创建目录的命令,其基本信息如下。
  命令名称:mkdir。
  英文原意:make directories。
  所在路径:/bin/mkdir。
  执行权限:所有用户。
  功能描述:创建空目录。
命令格式
[root@localhost ~]# mkdir [选项] 目录名   -p:递归建立所需目录

三 文件操作命令

touch 命令

创建空文件或修改文件时间,这个命令的基本信息如下。
  命令名称:touch。
  英文原意:change file timestamps。
  所在路径:/bin/touch。
  执行权限:所有用户。
  功能描述:修改文件的时间戳。

stat 命令

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。
  命令名称:stat。
  英文原意:display file or file system status。
  所在路径:/usr/bin/stat。
  执行权限:所有用户。
功能描述:显示文件或文件系统的详细信息。
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1453	块:8	IO 块:4096	普通文件 设备:803h/2051dInode:33574991		硬链接:1
权限:(0600/-rw-------) Uid:(	0/	root)	Gid:(	0/	root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2018-11-06 23:22:23.409038121 +0800
最近更改:2018-10-24 00:53:08.760018638 +0800	#数据修改时间
最近改动:2018-10-24 00:53:08.760018638 +0800	#状态修改时间
创建时间:-

cat 命令

cat 命令用来查看文件内容。这个命令的基本信息如下。
  命令名称:cat。
  英文原意:concatenate files and print on the standard output。
  所在路径:/bin/cat。
  执行权限:所有用户。 功能描述:合并文件并打印输出到标准输出
命令格式
[root@localhost ~]# cat [选项] 文件名 选项:
-A: 相当于-vET 选项的整合,用于列出所有隐藏符号
-E: 列出每行结尾的回车符$
-n: 显示行号
-T: 把 Tab 键用^I 显示出来
-v: 列出特殊字符

more 命令

more 是分屏显示文件的命令,其基本信息如下。
  命令名称:more。
  英文原意:file perusal filter for crt viewin。
  所在路径:/bin/more。
  执行权限:所有用户。
  功能描述:分屏显示文件内容。

more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常 用的交互命令如下。
  空格键:向下翻页。
  b:向上翻页。
  回车键:向下滚动一行。
  /字符串:搜索指定的字符串。
  q:退出。

less 命令

less 命令和 more 命令类似,只是 more 是分屏显示命令,而 less 是分行显示命令,其基本信息如 下。
  命令名称:less。
  英文原意:opposite of more。
  所在路径:/usr/bin/less。
  功能描述:分行显示文件内容
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b  向后翻一页
d  向后翻半页
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页

head 命令

head 是用来显示文件开头的命令,其基本信息如下。
  命令名称:head。
  英文原意:output the first part of files。
  所在路径:/usr/bin/head。
  执行权限:所有用户。
  功能描述:显示文件开头的内容。
1.命令格式
[root@localhost ~]# head [选项] 文件名 选项:
-n 行数:	从文件头开始,显示指定行数
-v:	显示文件名

tail 命令

既然有显示文件开头的命令,就会有显示文件结尾的命令。tail 命令的基本信息如下。
  命令名称:tail。
  英文原意:output the last part of files。
  所在路径:/usr/bin/tail。
  执行权限:所有用户。
  功能描述:显示文件结尾的内容。
命令格式
[root@localhost ~]# tail [选项] 文件名 选项:
-n 行数:	从文件结尾开始,显示指定行数
-f:	监听文件的新增内容

8.ln 命令

我们来看看 ln 命令的基本信息。
 命令名称:ln。
 英文原意:make links between file。
 所在路径:/bin/ln。
 执行权限:所有用户。
 功能描述:在文件之间建立链接。

ln 命令的基本格式如下:

[root@localhost ~]# ln [选项] 源文件 目标文件
选项:
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
如果创建硬链接:
[root@localhost ~]# touch cangls
[root@localhost ~]# ln /root/cangls /tmp/
#建立硬链接文件,目标文件没有写文件名,会和原名一致
#也就是/root/cangls 和/tmp/cangls 是硬链接文件
如果创建软链接:
[root@localhost ~]# touch bols
[root@localhost ~]# ln -s /root/bols /tmp/
#建立软链接文件

8.2 硬链接与软连接的特征

硬链接特征:
 源文件和硬链接文件拥有相同的 Inode 和 Block
 修改任意一个文件,另一个都改变
 删除任意一个文件,另一个都能使用
 硬链接标记不清,很难确认硬链接文件位置,不建议使用
 硬链接不能链接目录
 硬链接不能跨分区
软链接特征:
 软链接和源文件拥有不同的 Inode 和 Block
 两个文件修改任意一个,另一个都改变
 删除软链接,源文件不受影响;删除源文件,软链接不能使用
 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文 件权限
 软链接可以链接目录
 软链接可以跨分区
 软链接特征明显,建议使用软连接

四 目录和文件都能操作的命令

1.rm 命令

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。
 命令名称:rm。
 英文原意:remove files or directories。
 所在路径:/bin/rm。
 执行权限:所有用户。
 功能描述:删除文件或目录。
命令格式
[root@localhost ~]# rm [选项] 文件或目录 选项:
-f: 强制删除(force)
-i: 交互删除,在删除之前会询问用户
-r: 递归删除,可以删除目录(recursive)

2.cp 命令

cp 是用于复制的命令,其基本信息如下:
 命令名称:cp。
 英文原意:copy files and directories。
 所在路径:/bin/cp。
 执行权限:所有用户。
 功能描述:复制文件和目录。
命令格式
[root@localhost ~]# cp [选项] 源文件 目标文件 选项:
-a: 相当于-dpr 选项的集合,这几个选项我们一一介绍
-d: 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i: 询问,如果目标文件已经存在,则会询问是否覆盖
-p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r: 递归复制,用于复制目录

3.mv 命令

mv 是用来剪切的命令,其基本信息如下。
 命令名称:mv。
 英文原意:move (rename) files。
 所在路径:/bin/mv。
 执行权限:所有用户。
 功能描述:移动文件或改名。
命令格式
[root@localhost ~]# mv [选项] 源文件 目标文件 选项:
-f: 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i: 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-v: 显示详细信息

五 基本权限管理

1.权限的介绍

[root@localhost ~]# ls -l install.log
-rw-r–r--. 1 root root 24772 1 月 14 18:17 install.log
 第 1 位代表文件类型。Linux 不像 Windows 使用扩展名表示文件类型,而是使用权限位的第 1 位表示文件类型。虽然 Linux 文件的种类不像 Windows 中那么多,但是分类也不少,详细情况 可以使用“info ls”命令查看。超哥在这里只讲一些常见的文件类型。

  • “-”:普通文件。
  • “b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1
    就是这种文件。
  • “c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘 等。
  • “d”:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
  • “l”:软链接文件。
  • “p”:管道符文件。这是一种非常少见的特殊设备文件。
  • “s”:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样 的文件。

 第 2~4 位代表文件所有者的权限。

  • r:代表 read,是读取权限。
  • w:代表 write,是写权限。
  • x:代表 execute,是执行权限。 如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。
     第 5~7 位代表文件所属组的权限,同样拥有“rwx”权限。
     第 8~10 位代表其他人的权限,同样拥有“rwx”权限。

2.基本权限命令

首先来看修改权限的命令 chmod,其基本信息如下。
 命令名称:chmod。
 英文原意:change file mode bits。
 所在路径:/bin/chmod。
 执行权限:所有用户。
 功能描述:修改文件的权限模式。

2.1.命令格式

[root@localhost ~]# chmod [选项] 权限模式 文件名 选项:
-R: 递归设置权限,也就是给子目录中的所有文件设定权限

2.2.权限模式

chmod 命令的权限模式的格式是“[ugoa][[±=][perms]]”,也就是“[用户身份][[赋予方式][权限]]”

 用户身份。

  • u:代表所有者(user)。
  • g:代表所属组(group)。
  • o:代表其他人(other)。
  • a:代表全部身份(all)。

 赋予方式。

  • +:加入权限。
  • -:减去权限。
  • =:设置权限。

 权限。

  • r:读取权限(read)。
  • w:写权限(write)。
  • x:执行权限(execute)。

2.3.数字权限
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。我们来看看这些数字权 限的含义。
 4:代表“r”权限。
 2:代表“w”权限。
 1:代表“x”权限。

2.4.常用权限
数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多, 只有如下几个。
 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组
和其他人拥有读和执行权限。
 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这 会造成一定的安全隐患。

3.基本权限的作用

3.1.权限含义的解释

首先,读、写、执行权限对文件和目录的作用是不同的。
 权限对文件的作用。

  • 读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上, 那么一旦对文件有读(r)权限,就可以对文件执行 cat、more、less、head、tail 等文件查 看命令。

  • 写(w):对文件有写(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上, 那么一旦对文件有写(w)权限,就可以对文件执行 vim、echo 等修改文件数据的命令。注 意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件, 则需要对文件的上级目录拥有写权限。

  • 执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在 Linux 中, 只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行, 不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。对文件来说,执行

(x)权限是最高权限。
 权限对目录的作用。

  • 读(r):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪 些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可 以在目录下执行 ls 命令,查看目录下的内容了。
  • 写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、 删除、复制、剪切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w) 权限,就可以在目录下执行 touch、rm、cp、mv 命令。对目录来说,写(w)权限是最高 权限。
  • 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。如果 把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行 cd 命令,进入 目录。

3.1.目录的可用权限
目录的可用权限其实只有以下几个。
 0:任何权限都不赋予。
 5:基本的目录浏览和进入权限。
 7:完全权限。

4.所有者和所属组命令

4.1.chown 命令

chown 是修改文件和目录的所有者和所属组的命令,其基本信息如下。
 命令名称:chown。
 英文原意:change file owner and group。
 所在路径:/bin/chown。
 执行权限:所有用户。
 功能描述:修改文件和目录的所有者和所属组。
1)命令格式
[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录
选项:
-R: 递归设置权限,也就是给子目录中的所有文件设置权限
普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。 普通用户可以修改所有者是自己的文件的权限。

4.2.chgrp 命令

chgrp 是修改文件和目录的所属组的命令,其基本信息如下。

 命令名称:chgrp。
 英文原意:change group ownership。
 所在路径:/bin/chgrp。
 执行权限:所有用户。
 功能描述:修改文件和目录的所属组。

猜你喜欢

转载自blog.csdn.net/misxu890312/article/details/89196823