Linux学习记录
一、Linux基础篇
1.Linux介绍
- Linux是一款操作系统,免费,开源,安全,高效,处理高并发非常强悍,现在很多的企业级项目都部署到Linux服务器上。
2.Linux的目录结构
Linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下在创建其他的目录。
深刻理解Linux树状文件目录是非常重要的,在Linux世界中,一切皆文件
目录结构的具体介绍
Linux目录总结
- Linux的目录中有且只有一个根目录/
- Linux的各个目录存放的内容都是规划好的,不能乱放文件
- Linux是以文件的形式管理我们的设备,因此Linux系统,一切皆为文件
- Linux的各个文件目录下存放什么内容,必须要有一个认识
- 学习后,脑海中应该有一颗Linux目录树
3.Linux远程操作
- 我用Windows10安装Ubuntu桌面子系统每次连接都要重启xrdp服务
1 |
|
4.ubuntu设置中文
下载中文语音包
1
sudo apt-get install language-pack-zh-han*
设置中文
1
export LC_ALL=zh_CN.UTF-8
输入locale 将显示出来的内容备份
1
2
3
4
5
6
7
8C
C.UTF-8
en_US.utf8
POSIX
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW.utf8
二、Linux实操篇
1.使用Xshell远程连接
使用Xshell远程连接,然后发现他说无法连接
1
2Connecting to 192.168.100.104:22...
Could not connect to '192.168.100.104' (port 22): Connection failed.ping了一下网络是能ping通的
1
ping 192.168.100.104
然后关闭防火墙说报错
然后在终端查看ssh进程,输入
ps -e|grep ssh
,如果有安装openssh-client
只会出现ssh -agent
,不会出现sshd
要想开放本机SSH服务以便其他系统登陆访问,就必须安装
openssh-server
;在终端中输入sudo apt-get install openssh-server
,然后输入自己的root
密码就可以了;
然后启动
ssh-server
服务即可验证是否开启成功,出现sshd表示开启成功
然后xshell连接又出现密码框为灰色的问题
然后百度说服务器端设置问题,输入vi /etc/ssh/sshd_config修改sshd配置文件(要用root权限修改)将图中的属性改为yes(打开文件输入s进入编辑模式,按Esc退出编辑模式,在末尾输入:wq保存并退出)
然后在重新启动sshd服务
1
sudo /etc/init.d/ssh restart
2.远程上传下载文件Xftp5
- xftp5是一款基于Windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp以后,Windows用户能安全的在UNIX/Linux和WindowsPC之间传输文件。
3.vi 和vim编辑器
vi和vim的三种常用模式
正常模式
- 在正常模式下我们可以使用快捷键。以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】和【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据
编辑模式
- 在模式下,可以输入内容
- 按下i,s等字母后会进入编辑模式,一般来说按i即可
命令行模式
- 这个模式,可以使用相关命令,完成读取,存盘,替换,离开vim,显示行号等动作
- :q是退出,:wq是保存并退出,:q!是不保存并退出,:wq!是保存并强制退出
vi 和 vim快捷键 的使用案例
- 拷贝当前行 yy,拷贝当前行向下的n行 nyy,并粘贴(p)
- 删除当前行 dd 删除当前行向下的n行 ndd
- 在文档中查找某个单词 【命令行下 /关键字,回车查找,输入n查找下一个 N查找上一个】
- 设置文件的行号 || 取消文件的行号 【命令行下 :set nu || :set nonu】
- 快捷到文档末行 G 首行 gg
- 撤销 u 类似于Ctrl+Z
- 导航到第N行 shift+g
- 第一步:显示行号:set nu
- 第二步:输入n
- 第三步:输入Shift+g
4.开机、重启、和用户登录注销
关机&重启命令
shutdown
- shutdown -h now:表示立即关机
- shutdown -h 1:表示一分钟后关机
- shutdown -r now:立即重启
halt (直接使用,效果等价于关机)
reboot(就是重启系统)
syn :把内存的数据同步到磁盘(我们关机或重启时,先执行,把内存写入磁盘,防止数据丢失)
用户登录与注销
- 登录时尽量少用root账号登录,root是最高权限,避免失误,可以利用普通用户登录,登陆后再用”su -用户名”命令来切换成系统管理员身份
- 在提示符下输入logout即可注销用户
5.用户管理
1.说明
- Linux系统就是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先像系统管理员申请一个账号,然后以这个账号的身份进入系统。
- Linux的用户需要至少要属于一个组。
2.添加用户
- 添加用户
- useradd –添加用户不用输入密码 注:在Ubuntu下不会创建用户目录,需要用useradd -m
- adduser –添加用户需要输入密码 在Ubuntu下也会创建用户目录
- useradd -d 目录 新用户:–给新建的用户添加目录 注:在Ubuntu下也不会创建文件夹
- useradd -g 用户组 用户名 :–添加用户时指定用户组
- passwd 用户名 :给用户设置密码
3.删除用户
- userdel 用户名 只删除用户
- userdel -r 用户名 注:会同用户目录一起删除
4.查询用户信息
- id 用户名:–查询用户
5.切换用户
- su - 用户名:–切换用户
- exit :–返回到上一个用户
- 注意:从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
6.用户组 –类似于角色,系统可以对又共性的多个用户统一管理
- groupadd 组名 :–添加组
- groupdel 组名:–删除组
- usermod -g 用户组 用户名:–修改用户的组
7.用户和组的相关文件
- /etc/passwd文件
- 用户的配置文件,记录用户的各种信息
- 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
- 用户的配置文件,记录用户的各种信息
- /etc/shadow文件
- 口令的配置文件
- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- 口令的配置文件
- /etc/group文件
- 组配置文件,记录所有的组信息
- 每行含义:组名:口令:组标识号:组内用户列表
- 组配置文件,记录所有的组信息
8.实用指令(Ubuntu系统不一样)
运行级别说明,常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault这一行中的数字
init[012356] :–切换到指定运行级别
面试题:找回root密码
9.帮助指令
- 当我们对某个指令不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。
- man 命令或配置文件 :– 获得帮助信息
- help 命令 : –获得shell内置命令的帮助信息
10.文件目录类的指令
pwd :–显示当前目录的绝对路径
ls :–显示目录 ls -l :–以列表的方式显示信息 ls -al:–显示所有的文件和目录
cd的几种用法
- cd 绝对路径 :–去到当前路径
- cd&cd~ :–回到家目录
- cd - 返回上一个工作目录
- cd .. 返回上一级目录
mkdir指令用于创建目录
- mkdir 要创建的目录(/home/aa) :–创建一个目录
- mkdir -p 要创建的目录(/home/aa/bb):–创建多级目录
rmdir 不能删除非空目录
- rmdir 要删除的目录:–删除一个空目录
- rm -rf 要删除的目录 :–可以删除非空目录
touch 文件名称 :–创建空文件(可创建多个,用空格隔开)
cp指令用法
- cp 要拷贝的文件 粘贴的目录 :–拷贝单个文件夹
- cp -r 要拷贝的文件 粘贴的目录 :–可以拷贝整个文件夹
- \cp 强制覆盖
rm删除指令用法
- rm 要删除的文件 :–删除单个文件
- rm -r 要删除的文件:–可以删除整个文件夹
- rm -f 要删除的文件:–强制删除不提示 不加-r也只能删文件
mv移动文件指令用法
- mv 旧文件名 新文件名 :–将文件重命名
- mv 文件名 要移动的目录 :–将文件移动到指定的目录下
cat指令用法(以只读的方式打开文件)
- cat 要查看的文件 : –查看文件
- cat -n 要查看的文件:–查看文件并显示行号
- cat -n 要查看的文件 |more :–查看文件并分页 按空格翻页
more指令(以全屏幕的方式按页显示文本文件的内容)
less指令(跟more效果一样,比more功能强大,不是一次加载全部内容,而是根据显示需要加载内容,对于显示大文件具有较高的效率)
>(输出重定向) 和 >>(追加)指令
- ls -l > 文件 :–将前面的内容写入到后面的文件中(覆盖写)
- ls -l >> 文件 :–将前面的内容追加到后面的文件中
- cat 文件1 > 文件2 :–将文件1的内容覆盖到文件2中
- echo 内容 >> 文件 将内容追加到文件中
echo 输出内容 :输出内容到控制台
head指令 head用于显示文件开头部分的内容,默认显示前10行
- head 文件 :–查看头10行内容
- head -5 文件 : –查看前五行内容
tail指令的用法
- tail 文件 :–查看文件后10行
- tail -5 文件 :–查看文件后5行
- tail -f 文件 :–实时监控文件 有更新就会看到
ln指令(相当于Windows的快捷方式)
- ln -s 原文件或目录 软链接名 : –给原文件创建一个软链接相当于快捷方式
- rm -rf 软链接名 :–删除软链接
- 注意 :我们用软链接去到root目录后,用pwd查看,发现还是在软链接所在的目录
history指令用法 (查看历史执行过的指令)
- history :–显示所有的历史指令
- history 10 :–显示最近的10个指令
- !n :–执行编号为n的指令(注:是直接执行,不是查看)
11.时间日期类的指令
date时间指令用法
- date :–显示当前时间
- date +%Y :–显示当前年份
- date +%m :–显示当前月份
- date +%d :–显示当前是哪一天
- date “+%Y-%m-%d %H:%M:%S” :–显示年月日时分秒
- date -s 字符串时间 :–设置系统时间
cal日历指令
- cal :–显示本月日历
- cal 年份 :–显示指定年份的日历
12.搜索查找类的指令
find指令用法
- find 搜索范围(不加默认在当前文件夹下) -name 文件名 :–查找指定文件名的文件
- find 搜索范围 -user 用户名 :–查找指定用户名的所有文件
- find 搜索范围 -size (+/-/等于不写)文件大小(兆:M KB:k):– 查找指定文件大小的文件
locate指令用法
- 介绍:locate数据库实现快速定位给定的文件,查询速度较快
- 由于locate指令基于数据库进行查询,所有第一次查询前,必须使用updatedb指令创建locate数据库
- locate 文件名 :–快速查找指定的文件
- bug记录:当我执行updatedb指令时,弹出下图问题,说未找到命令’updatedb’,但可以与以下命令一起安装:安装第二个个指令就能用了
grep指令和管道符号|
- 介绍:grep过滤查找,管道符,”|“:表示将前一个命令的处理结果输出传递给后面的命令处理
- cat 文件名 | grep -n 查找的内容 :–打开指定文件名的文件由管道符|交给后面的过滤指令过滤出指定内容并显示行号,不加-n不显示,区分大小写
- cat 文件名 | grep -ni 查找的内容 :–打开指定文件名的文件由管道符|交给后面的过滤指令过滤出指定内容并显示行号,不加-n不显示,不区分大小写
12.压缩和解压缩指令
gzip/gunzip指令 注:使用gzip压缩文件后,不会保留原来的文件
- gzip 文件 :–压缩文件
- gunzip 文件.gz : –解压缩文件
zip/unzip指令
- zip -r(不加只能压缩单个文件) xxx.zip 要压缩的内容 :–压缩文件和目录
- unzip -d(不加默认解压到当前目录) 解压的目录 xxx.zip :–解压缩文件
- 出现下图提示就是没安装zip安装一下就好了
tar打包指令 打包后的文件是.tar.gz的文件
- tar -zcvf xxx.tar.gz 需要打包的文件 :–打包文件,可以是目录也可以是多个文件
- tar -zxvf 需要解压的文件:–解压文件到当前目录
- tar -zxvf 需要解压的文件 -C 解压后的目录 :–解压文件到指定的目录
13.组管理和权限管理(P35)
- Post title:linux 学习记录
- Post author:周瑜
- Create time:2021-03-15 11:36:55
- Post link:https://xinblog.github.io/2021/03/15/Linux-md/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.