Linux的自我学习笔记
Linux入门
1、Linux介绍
Linux是一款操作系统,是免费、开源、安全、高效、稳定的,处理并发
非常强悍。
1.1 vm(centos)和windows的交互
安装vmtools工具
①可以直接粘贴操作在centos和windows系统之间
②可以设置设置window和centos的共享文件夹
1.2 切换输入法
在linux系统中切换输入发
Ctrl + 空格键
2、Linux 目录结构
2.1 目录基本介绍
linux德文件系统是采用级层式的树形目录结构,在此结构中的最上层是根目录“/”,然后在此目录下在创建其他目录
记住一句非常经典的话:在Linux世界里,一切皆文件
2.2 常见目录结构
目录 | 含义 |
---|---|
/bin | 是Binary的缩写,该目录存放最常用的命令 |
/sbin | s就是super user的意思,该目录存放的是系统管理员使用的系统管理程序 |
/home | 存放普通用户的主目录在Linux中每个用户都有一个自己的目录 |
/root | 该目录为系统管理员,是超级权限的用户主目录 |
/lib | 系统开机所需要最基本的动态连接共享库,几乎所有的应用程序都需要用到这个共享库 |
/lost+found | 该目录一般为空,当系统非法关机后,存放一些文件 |
/etc | 所有系统管理所需要的配置文件和子目录 |
/usr | 用户的很多程序和文件都放在这个目录下面,类似windows的(programfiles) |
/boot | 存放的是启动Linux时使用的一些核心文件,例如连接文件和镜像文件 |
/proc | 虚拟目录,系统内存的映射,访问该目录来获取系统访问信息 |
/srv | serive的缩写,存放一些服务启动后需要提取的数据 |
/tmp | 该目录用来存放一些临时文件 |
/dev | 设备管理文件夹,把所有的硬件用文件的形式存储 |
/media | Linux系统会自动识别一下设备,例如U盘等,然后将设备挂载在该目录 |
/mnt | 该目录提供让用户临时挂载别的文件系统,我们可以将外部的存储挂载在该目录下,进入该目录就可以查看内容,例如共享文件夹 |
/opt | 这是给主机额外安装软件所摆放的目录. |
/usr/local | 这是另一个给主机额外安装软件所安装的目录一般通过编译源码方式安装的程序 |
/var | 存放着在不断扩充的东西,习惯将经常修改的放在该目录,包括各种日志文件 |
/selinux | 安全子系统。它能控制程序只能访问特定文件 |
2.3 其他
①linux的目录中只有一个根目录
②linux的各个目录存放的内容都是规划好的,不能乱放
③在linux是以文件的形式管理设备的,一切皆为文件
3、Linux实操
3.1 远程操作linux
xshell5:远程登录到Linux系统的软件
Xftp5:上传和下载文件到Linux连接条件sshd保持开启
打开终端–>setup命令(进入配置选项)–>系统服务
3.2 LINUX中的vi和vim的三种模式及快捷键
3.21 正常模式
在正常模式下,我们可以使用快捷键。
以vim打开一个档案就直接进入一般模式(默认模式)。这个模式中可以使用 上下左右的方向键来移动光标,可以删除字符或删除整行,也可以复制和粘贴处理文件数据
3.22 插入模式/编辑模式
在该模式下,程序员可以输入内容
按下任何字母之后会进入编辑模式,通常按__i__
3.23 命令行模式
在这个模式中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示换行符号等的动作
3.24 基本操作流程
①一般模式
# vim XXX(想要编辑的文本)
//例如:# vim Hello.java
②插入模式
//按下 “i或a”进入编辑模式/插入模式
//按下 Esc 退回一般模式
③命令行模式
//编辑完文本内容 按下Esc退回一般模式
//按下“:或/” 进入命令行模式
//在命令行下
:wq(写入,存盘,退出)
:q(未修改,退出,不保存)
:q!(强制退出,修改后不想保存)
3.25 快捷键
- [行数]yy与p (p是粘贴键)
中括号的行数表示复制当前光标以下的行数
例如:输入 yy表示当前行复制, 5yy表示光标位置到下面的5行复制,按p粘贴
- [行数]dd
删除当前行/或指定总行数,用法同上
- 在文档中查找某个词 + n(表示查找下一个相同的词)
①先Esc然后 / 关键词(要查找的词)
②然后回车
- 设置文件的行号 + 取消文件的行号
命令行模式下 :set nu + set nonu
且该作用只是临时的 退出vim重新进入就要重新设置
- 快速移动光标至首行和尾行
正常模式下 大写G跳转尾行 小写gg跳转首行
- 将光标跳转到指定行
① 先进入命令模式:set nu 设置行号
② 输入指定行数数字 例如10
③ 按shift+g
- 插销输入内容
正常模式下 按小u
- 其他可以搜索手册或者csdn
4、开机、重启和用户登录注销
4.1 关机&重启命令
- shutdown
- shutdown -h now :表示立即关机
- shutdown -h 1 :表示一分钟后关机
- shutdown -r now :立即重启
- halt
就说直接使用,等于关机的作用
- reboot
直接重启系统
- syn
把内存的数据同步到磁盘 (当我们关机或重启时候,应该都先执行该命令,防止数据丢失)
4.2 用户登录和注销
①登录时尽量少用root账号登录,因为他是系统管理员,最大的权限,避免操作失误,造成不可估计的后果。
②可以利用普通user登录,登录后使用 su - 用户名 命令来切换成系统管理员身份
③在提示符下输入logout即可注销用户在远程登录端 输入logout就可以断开连接
5、用户关管理
5.1 基本介绍
①Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
②Linux的用户需要至少属于一个组
5.2 添加用户
useradd [选项] 用户名
useradd -d 指定目录 新的用户名
useradd -g 用户组 用户名(创建并指定分组,若不指定,默认创建与用户名相同的组名的组)
1、当创建用户成功后,会自动的创建和用户同名的/home/下的同名家目录
2、也可以自己通过useradd -d 指定目录 新的用户名
,给用户指定家目录
特别说明:cd 表示change directory 切换目录
5.3 指定/修改密码
passwd 用户名
5.4 删除用户
①userdel 用户名
②userdel -r 用户名
①删除用户,保留家目录
②删除用户以及用户主目录
特别说明:尽量保持家目录
5.5 查询用户信息
id 用户名
uid =用户id gid=组id 组=id(组名称)
5.5 切换用户
su - 切换的用户名
低级到高级切换需要输入密码
使用exit 可以返回原来用户
5.6 查看当前用户
whoami/who am I
5.7 用户组
5.71 基本介绍
类似于角色,系统可以对有共性的多个用户进行统一管理
5.72 组的增加、删除
增加
groupadd 组名
删除
groupdel 组名
5.73 组的修改
usermod -g 组名 用户名
5.8 用户和组的相关文件
- 用户信息配置文件
存放/etc/passwd文件
用户配置(user)的配置文件,记录用户各种信息
信息格式:用户名:口令(加密的密码):用户id:组id:注释描述:主目录(家目录):登录的shell
- 组的信息配置文件
存放/etc/group文件
- 口令配置文件(主要是密码和登录信息,加密)
/etc/shadow文件
6、实用指令
6.1 指定运行级别
- 0:关机
- 1:单用户【找回丢失的密码】
- 2:多用户状态无网络
- 3:多用户状态有网络
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常运行的级别是3和5,要修改默认的运行级别可以修改文件 /etc/inittab的id:5:initdefault 这一行中的数字
init [012356]
- 忘记密码进入单用户模式修改密码
开机引导界面按enter->进入选择界面 按e->进入界面 选择内核行 按e ->进入 输入 空格和1 再回车->再输入b ->进入单用户模式 passwd修改密码 再重启即可
6.2 帮助指令
6.21 介绍
当我们对某个命令不熟悉的情况下,我们可以使用Linux提供的帮助指令来了解这个指令的使用用法
6.22 具体指令
- man 获得帮助信息
man[命令或配置文件]
功能描述:获得帮助信息
- help 指令
help 命令
功能描述:获得shell内置命令的帮助信息
6.3 文件目录类指令
- pwd 指令
显示当前工作目录的绝对路径
pwd
- ls 指令
可以用ls 路径的方法直接查询某文件下的ls清单 就不用cd切换到该目录下
例如:ls /home/
ls [选项] [目录或是文件]
常用选项 : -a:显示当前目录所有的文件和目录,包括隐藏的
-l:以列表的方式显 示信息
-al:以列表的方式显示信息 包括隐藏的的文件
- cd 指令
功能描述:切换到指定目录
cd [参数]
常用参数:
绝对路径和相对路径
cd~或者cd 回到自己的家目录
cd .. 回到当前目录的上级目录
特别说明:切换当前目录的子目录可以直接 cd 目录名
- mkdir 指令
mkdir [选项] 要创建的目录
常用的选项:
-p:创建多级目录
- rmdir 指令删除空目录
rmdir删除的是空目录,如果目录下有内容时无法删除的
rmdir [选项] 要删除的目录
rm -rf 目录 (删除有内容的目录)
- touch 指令
创建一个空文件
touch 文件名称 文件2 文件3
可以创建多个文件,用空格隔开
- cp 拷贝指令
cp指令拷贝文件到指定目录,可以拷贝整个文件夹,也可以拷贝单个文件
cp [选项] source dest(要复制到的目标文件夹)
常用选项: -r 递归复制整个文件
强制覆盖不提醒:\cp
- rm 文件删除指令
rm指令移除文件或目录
rm [选项] 要删除的文件或目录
常用的选项:
-r:递归删除整个文件或目录
-f:强制删除不提示
- mv 指令
mv移动文件与目录或重命名
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile(文件名)/tatgetFoleder/(移动目标目录) (功能描述:移动文件)
移动文件 移动的目标文件夹
特别说明:mv重命名本质也是移动文件,相当于把文件移动到当前目录,但是当前目录已经有同名的,于是重新起名字
- cat 指令
cat 查看文件内容
只能浏览,不能修改,为了方便浏览,通常带上 管道命令 | more
分页浏览 按空格切页
cat [选项] 要查看的文件 [| more]
常用选项:-n:显示行号
- more 指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏的形式安页显示文本文件的内容。
more指令中内置了若个快捷键
more 要查看的文件
内置快捷键
操作 | 功能说明 |
---|---|
空格键 | 代表向下翻页 |
Enter | 代表向下翻一行 |
q | 代表离开more |
Ctrl +F | 向下滚动一屏 |
Ctrl +B | 返回上一屏 |
= | 输出当前行号 |
:f | 输出文件名称和当前行的行号 |
- less 指令
less也是用来分屏查看文件内容,但功能比more更加的强大,支持各种显示终端,less指令在显示文件内容的时候不是一次性加载,而是根据需要加载内容,对于显示大型文件有较高的效率
less 要查看的文件
内置快捷键
操作 | 功能说明 |
---|---|
空格键 | 代表向下翻页 |
[pagedown] | 代表向下翻一页 |
q | 代表离开less |
[pageUp] | 向上滚动一页 |
/字符串 | 向下搜字串的功能,n:向下,N:向上查找 |
?字符串 | 向上搜字串的功能,n:向上,N:向下查找 |
= | 输出当前行号 |
:f | 输出文件名称和当前行的行号 |
Enter | 代表向下翻一行 |
- > 指令 和 >> 指令
>
输出重定向,会覆盖原有内容,>>
追加指令追加到文件中内容末尾
例如:
ls -l>文件:查询的列表内容写入到指定文件中(文件中有内容会被覆盖)
ls -al>>文件:追加到文件已经有内容的的末尾
cat 文件1>文件2
echo "内容>>文件
特别说明:输出到的文件若不存在,则会自动创建
- echo 指令
echo 输出奥控制台
echo [选项] [输出内容]
- head 指令
用于显示文件的开头部分的内容,默认情况下head指令显示文件前10行的内容
head 文件
head -n(显示行数) 5(行数) 文件:显示文件前5行
- tail 指令
用于显示文件的尾部的内容,默认情况下head指令显示文件后10行的内容
tail 文件
tail -n(显示行数) 5(行数) 文件:显示文件前5行
tail -f 文件:实时追踪该文档的所有更新
特别说明:tail -f 使用性高
- ln 指令
软链接也叫符号链接,类似于windows中的快捷方式,主要存放了链接其他文件的路径
ln -s [源文件或目录][软链接名]:给源文件创建一个软链接,在那个文件目录下创建链接该链接就存放在哪个目录
删除:rm [-f] 软链接名
特别说明:当我们使用pwd(查看当前路径)指令查看目录时,仍然能看到软链接所在的目录,该命令不常用。
- history 指令
查看已经执行过的历史命令,也可以执行历史指令
history [显示的记录数](从末尾开始数)
!执行过的第几条命令
例如:!120 则会执行曾经执行过的第120条指令