Linux基础传送门:
- Linux基础—1.Linux系统(CentOS6.7)详细安装过程
- Linux基础—2.Linux中的文件基本命令以及四大远程连接工具XShell、FileZilla、Notepad++、Xmanager4的使用
- Linux基础—3.Linux基础命令总结【有图有真相】
- Linux基础—4.Linux系统管理命令【由图有真相】
- Linux基础—5.Shell基础编程【有图有真相】
引言
这一章主要用到的工具是XShell和Notepad++。Linux基础命令分为四个部分:
- 用户和组创建、删除、更改和授权
- 文件/目录创建、删除、移动、拷贝重命名
- 编辑器VI/VIM基本使用
- 文件常用操作(内容查看、追加等)
学习中最常用到的几个键:
man cmdName
:查看某个命令如何使用- tab键:自动补全功能
- 键盘上下键可以出现之前敲过的命令
- ctrl+c键退出
1. 用户和组创建、删除、更改和授权
在Linux系统上,创建用户的时候,默认情况会给我们创建一个用户组(名称与用户名相同)。
在Linux系统下面,文件类型(常见三种类型):
- 文件:
-
- 目录(类似win7下的文件夹):
d
- 连接(类似win7下快捷方式):
l
文件权限:
- 可读:
r
- 可写:
w
- 可执行(脚本,比如shell脚本):
x
没有权限:
-
(特殊字符)
权限的数字表示方法:二进制数字之和的方式
rw-
用数字表示为6
-rw-rw-r--.
用数字表示为664
文件归属:
- 拥有者:
owner
简写为u
- 属于组:
group
简写为g
- 其他人:
other
简写为o
以上图为例来进行介绍
-rw-rw-r--.
,这一部分共有十个字符,代表不同的意义,第一个字符后分割开,后面9个字符分为三组,每三个字符为一组字符,表示此文件针对不同用户的权限关系。第一个字符-
表示的是文件类型为文件;第一组rw-
,表示的是针对拥有者分别是可读、可写以及不可执行。为什么是三个组呢?因为一个文件的归属有三个部分:拥有者,属于组,其他人swpu swpu
第一个字符串表示的是文件的拥有者swpu
,第二个字符表示的是文件所属组swpu
1.1 如何设置文件对不同用户的权限?
很显然,这个操作需要使用root用户,使用的命令为# chmod
举例:
-rw-rw-r–. 1 swpu swpu 42 May 17 18:16 hive-select-log.sql
从这个文件的详细信息可以看出,这个命令对于同组用户是可写可读的,对其他人是可读的。
下面我们修改不同用户的权限为对于同组用户是可写不可读,对其他人是既不可读也不可写。
- 字符形式
2. 数字形式
使用数字形式对上面的修改做一下还原
1.2 如何改变文件的拥有者与所属组
这里涉及了两个命令:一个是改变文件拥有者命令:# chown 拥有者 文件路径
,
一个是改变文件所属组命令:# chgrp 所属组 文件路径
。
此时,发现这个文件已经属于swpu用户,swpu组
其他用户有读取权限,但没有可写权限!
1.3 一个目录中有很多文件,需要相同的权限,那么如何针对一个目录,设置权限呢?
此时,需要用到递归!
-R, --recursive
change files and directories recursively
设置权限命令:# chmod -R(递归) 664(权限) 文件路径
1.4 改变文件夹(目录)的拥有者和所属组
此时,需要用到递归!
修改拥有者命令:# chown -R swpu 文件路径
修改所属组命令:# chgrp -R swpu 文件路径
用一条命令同时修改拥有者和所属组为senior:# chown senior:senior /home/hive-select.log.sql
1.5 如何创建软连接和硬连接?
软连接soft link
,硬连接hard link
- 创建一个软连接命令:
$ln -s file/dir linkName
可以看出这个连接的权限比较大,可读可写可执行 - 创建一个硬连接命令:
$ ln hive-select-log.sql lj.sql
,相当于拷贝一个文件
- 软连接删除时
- 硬连接删除时
总结:
软连接在工业中使用较多,比如一个目录下需要用到另一个目录下的文件,这个时候建立软连接,当一个目录下文件发生变化时,即另一个目录下软连接对应的源文件发生变化,保持了一致性。
2. 文件/目录创建、删除、移动、拷贝重命名
2.1 文件创建
文件创建:一种是使用命令$ touch 文件名
另一种是使用vi/vim 文件名
,如果文件存在,则编辑文件;如果文件不存在,则创建文件并编辑
[swpu@centos ~]$ vim test.data # 编辑文件
[swpu@centos ~]$ vim test.txt # 新建文件并编辑
2.2 目录创建
目录创建命令:#|$ mkdir 目录名
2.3 文件拷贝
拷贝文件的命令:$|# cp source dest
,source可以是文件名称,也可以是目录;dest可以是文件名称,也可以是目录。下面介绍几种场景:
- 拷贝一个文件到一个目录中去
- 拷贝一个文件的内容到一个文件(新文件)中去
- 拷贝一个目录到另一个目录下,因为目录下有文件,所以这里使用
-r
,递归创建
2.4 文件移动或重命名
文件移动或重命名的语法:mv src dest
重命名:src与dest在同一个目录下
移动:src与dest不在同一个目录下
移动目录到另一个目录
2.5 文件(目录)删除
- 如果删除的目录是空目录,则删除目录的命令:
rmdir 目录名
- 如果要删除非空目录,则删除目录的命令:
rm -rf src
,-r
表示递归删除,-f
表示强制删除。使用的时候要注意src最好是绝对路径,确定好以后再删除
2.6 目录的递归创建与删除
由2.2的目录创建与2.4的文件移动,我们可以如下创建过程:
那么,应该如何创建多级目录呢?#|$ mkdir -p 多级目录
,-p
表示父级目录如果不存在就创建
3. 编辑器VI/VIM基本使用
3.1 编辑文件内容vi/vim及一些快捷键
在vi查看模式下的快捷键:
dd
:表示删除光标所在的行的内容ZZ
:表示保存文件内容x
:表示将光标处所在的字符删除o
:表示在光标的下一行进行插入内容
3.2 退出vi编辑模式
进入编辑模式,按 i 进行编辑
编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:
:w 保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file 将修改另存到file中,不退出vi 编辑
:wq 保存文件并退出vi 编辑
:wq! 强制保存文件并退出vi 编辑
:q不保存文件并退出vi 编辑
:q! 不保存文件并强制退出vi 编辑
:e! 放弃所有修改,从上次保存文件开始在编辑
4. 文件常用操作(内容查看、追加等)
4.1 查看文件内容的常用几种方式
cat 文件名
:查看文件全部内容(文件内容比较少)more 文件名
:翻页查看(文件内容比较大)tail 文件名
:从文件末尾的内容进行查看,通常与-f
参数连用,适合于查看服务器实时动态日志信息
head 文件
:从文件开头开始查看,适用于查看文件格式,内容模板样式
4.2 对文件内容进行追加
对文件内容进行追加命令:echo 追加内容 >> test.txt
linux下echo命令的作用:
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。 用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。 功能说明:显示文字。
4.3 文件的搜索
文件搜索的命令:find 目录
但如果名称记不全的话,可以使用转义字符与*进行字符串匹配
如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!