Linux
1、Linux简介
-
Linux内核最初由芬兰人编写
-
是一套免费试用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程的多CPU的操作系统
-
Linux能运行主要的UNIX工具软件,应用程序和网络协议
-
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统
2、环境搭建
以下是按照CentOS的步骤:
- 载CenOS8的安装镜像
- 打开VM,创建一个虚拟机
- 容量默认
- 设置虚拟机名称和位置
- 选择Linux操作系统,版本为CentOS7 64位
- 选择稍后安装
- 选择典型
- 设置:内存2G,处理器4,CD选择刚刚下载好的CenOS镜像
- 启动虚拟机,选择第一个
- 进入选择中文语言
- 安装信息要设置时间和日期,选择亚洲,安装目的地和网络和主机名,开始安装。
- 安装的时候可以设置根密码,创建用户可以先不创建
- 安装完成,重启完成安装
- 初始设置选择为接受许可证进去接受
- 关于您中设置一个用户名
- 如果关机可以弄快照
- 登录系统选择未列出来输入root用户登录
3、访问命令行
-
bash shell:一类程序的总称,充当命令解析器例如window命令解析器是cmd
-
shell命令:[root@localhost ]#;root为用户名,localhost是主机名,是当前目录,#表示root用户,有特权,$表示普通用户登录,只有某些权限
-
命令区分大小写
-
登录到本地计算机
-
登录到远程计算机
- 在linux系统上使用ssh远程登录管理linux服务器
- 查看进程:ip addr
- 在windows主机测试远程机的连通性:ping
- 打开x-shell使用ssh登录
-
在windows主机上传和下载文件
- 使用xshell登录
- yum install -y lrzsz
- rz上传,sz下载
-
使用桌面访问命令行
- 本地GNOME桌面环境
- 在windows主机访问linux桌面环境
4、在bash shell执行命令
-
命令语法:ls -a /boot:ls是命令,-a是选项,调节命令功能,/boot操作对象,一般是文件目录
-
tab用法:自动补全,按两下系统会自动列出可选对象
- ls+tab+tab:ls开头命令列出来
- ip+tab+tab:ip命令后相关命令全部列出来
-
命令帮助
- help:查看内部命令的帮助信息
- man:查看每个命令的帮助文档 用法与help相似
5、从命令行管理文件
5.1、文件的层次结构
- 一些皆文件
- 从根目录/开始
- /bin 用户命令
- /sbin 管理员命令
- /boot:启动文件,菜单,内核,驱动
- /dev:设备文件
- /etc:配置文件
- /home:普通用户默认的家目录,相当于windows我的文档
- /root root用户家目录
- /run 实时临时文件
- /tmp 临时文件
- /usr 应用程序
- /var 邮件服务器邮箱,ftp下载目录,网站内容目录
5.2、通过名称指定文件
-
相对路径
- 从当前目录开始的路径。.表示当前目录;…表示上一级目录
-
绝对路径
- 从根目录/开始的路径
5.3、导航路径命令
-
pwd:显示当前所在位置
-
cd:切换目录
-
ls:列出目录中文件和子目录
- ls -l=ll:列出详细信息
- ls -a:显示所有文件
- ls -d:列出目录文件
- ls -i:列出文件编号
- ls -h:显示单位
5.4、文件管理命令
- mkdir:创建目录 -p可递归创建多个目录
- touch:创建空文件,若文件存在则更新时间戳
- cp:复制 -r可递归复制
- rm:删除文件或目录 -f直接删除不提示,-r递归删除
- mv:移动或改名
5.5、查看文件内容命令
-
cat:查看小文本文件
-
more|less:查看大文件
- 两者区别:less允许用户向前或向后翻页。less支持文件内容快速查找,先按“/”,再输入要查找的字符,直接跳转到查找到的第一个匹配的内容
-
head|tail:查看文件头,尾
-
wc:统计文件信息
-
查看二进制文件
- which ls:查看ls命令文件所在位置
- hexdump /bin/ls:查看二进制文件
-
检索,过滤文件内容
-
grep:在文件中查找并显示包含指定的字符串行
-
grep 选项 查找条件 目标条件
- -i:大小写不分
- -v:反选
- root
- ^:以开头
- $:以结尾
-
5.6、链接文件
-
硬链接
- 只能是普通文件,不能是目录
- 同一个文件系统
- ln a.txt /tmp/a.txt
- ls -il a.txt /tmp/a.txt
-
软连接
- ln -s /etc/a /root/b
- 快捷方式
5.7、基本系统管理命令
-
reboot:重启
-
poweroff:立即关机
-
hostname:显示主机名
-
hostnamectl set-hostname:设置主机名
-
有错误有正确
- ll /home/boooot > /tmp/a.log:将正确写入文件,错误显示
- ll /home/booot 2> /tmp/a.log:将错误写入文件,正确显示
- ll /home/booot &> /tmp/a.log:错误正确都显示
6、创建查看和编辑文本文件
6.1、将输出重定向到文件
- “>file” :将正确输出重定向到文件,文件不存在则创建,存在则覆盖原内容
- “>>file”:将正确输出重定向到文件,文件不存在创建,存在追加到文本末尾
- 2>file:将错误输出重定向到文件
- 2>/dev/null
- &>file 将正确错误输出重定向到文件
- &>>file
6.2、管道
- grep root /etc/passwd | wc -l:查找/etc/passwd中包含root的行,并统计行数
6.3、vim编辑文本文件
- echo xxxxxxxxxxxxxx>>a.txt
- +>/root/a.txt<<EOF
7、管理本地用户和组
7.1、用户
- 超级用户:root
- 普通用户:管理员用户创建的,只有特定的权限的用户
- 程序用户:仅用于维护系统或应用程序运行的用户,这些用户一般不允许登录系统,如ftp,mail等账号
7.2、用户信息:
/etc/passwd
7.3、密码和有效期:
/etc/shadow
7.4、管理本地用户账号和组
-
useradd -选项 用户名:添加用户
-
-m:自动创建这个用户的主目录/home/qinjiang
-
-d:指定用户主目录,如果该目录不存在,可以同时使用-m,可以创建主目录
-
-g 用户组 :指定用户所属的用户组
-
-G 用户组:指定用户所属的附加组
-
-s Shell文件: 指定用户的登录Shell
- -s /bin/bash:可以控制台登录系统
- -s /sbin/nologin:不可在控制台登录系统,可以通过程序访问
- -s /bin/false:无权访问系统上的交互式shell
-
-u 用户号 :指定用户的用户号
-
理解本质:linux中一切皆文件,添加用户就是往某个文件写入用户的信息:/etc/passwd
-
-
passwd:用户口令管理
- passwd zhangsan=echo 123456 | passwd --stdin zhangsan
-
usermod:修改用户账号属性
-
userdel:删除用户账号
7.5、用户组管理命令
- groupadd:添加组账号
- groupdel:删除组账号
- gpasswd:把存在用户放入某个组
7.6、查看用户组命令
- id:查看用户身份标识
- groups:查看用户所属的组
- tail /etc/passwd
- w
- whoami
7.7、获取root权限
- 切换用户:su -
- sudo
- which useradd:查看命令绝对路径
- visudo:进去修改用户权限
- sudo useradd tom
8、控制对文件的访问
r:读
w:写
x:执行
8.1、管理文件系统权限
- 通过字符修改权限:chmod augo ±=rwx
8.2、更改文件属组,属主
- chown user:group filename
8.3、管理文件特殊权限
- suid
- sgid
- sticky
8.4、管理文件默认权限
- umask
8.5、FACL-文件访问控制列表
-
配置FACL
- setfacl -m u:特定用户:rw 文件麻木了
- 删除:setfac -x u:student /soft
9、文件打包压缩和查找
9.1、打包压缩
- tar cfvz
- tar cfvj
- tar cfvJ
9.2、查找文件
- 索引查找:locate a.txt
- find / -name a.txt
9.3、查找插入
- find /root -name b.txt -exec cp -a {} /tmp ;
狂神视频
Linux系统
-
开机登录
- 命令行登录
- ssh登录
- 图形界面登录
-
最高权限账户:root
-
关机
- 除非特殊情况下,不得已才会关机
- 关机指令:shutdown
- shutdown -h 10:10分钟后关机
- shutdown -r now :系统立马重启
- shutdown -r +10:系统十分钟后重启
- reboot:重启
- halt:关闭系统
-
系统目录结构
基本命令
-
目录管理
-
绝对路径:C:\ProgramData\360safe\xxx.xx
-
相对路径:/xxx.xx
-
cd:切换目录命令
-
./:当前目录
-
cd …:返回上一级目录
-
ls:列出目录
- -a参数:all,查看全部文件,包括隐藏文件
- -l参数:列出所有的文件,包含文件的属性和权限,没有隐藏文件
-
pwd:显示当前用户所在的目录
-
mkdir:创建一个目录
- 创建多级目录时使用-p:mkdir -p test2/test3/test3
-
rmdir:删除目录
- 删除的目录下有目录时,要使用-p参数删除
- rmdir只能删除空的目录,如果下面有文件,得先删除文件
-
cp:复制文件或者目录
- cp 原来的地方 新的地方
- 如果cp出错,加上-r参数,递归的意思
-
rm:移除文件或目录
- -f:忽略不存在的文件,不会出现警告,强制删除
- -r:递归删除目录
- -i:互动,删除询问是否删除
- -rf:删除所有东西,不能使用
-
mv:移动文件或者目录,重命名文件
- -f:强制移动
- -u:只替换已经更新过的文件
-
-
账号管理
-
实现账号管理工作
- 用户账号添加,删除,修改
- 用户口令的管理
- 用户组的管理
-
用户账号的管理
-
useradd -选项 用户名:添加用户
- -m:自动创建这个用户的主目录/home/qinjiang
- -d:指定用户主目录,如果该目录不存在,可以同时使用-m,可以创建主目录
- -g 用户组 :指定用户所属的用户组
- -G 用户组:指定用户所属的附加组
- -s Shell文件: 指定用户的登录Shell
- -u 用户号 :指定用户的用户号
- 理解本质:linux中一切皆文件,添加用户就是往某个文件写入用户的信息:/etc/passwd
-
userdel :删除用户
- userdel -r qinjiang:删除用户的时候将他的目录页也一起删除
-
usermod:修改用户
- usermod -d /home/233 qinjiang
-
-
-
用户组管理
- 创建一个用户组:groupadd
- 删除用户组:groupde
- 修改用户组权限信息和名字:groupmod -g 666 -n newname name(修改name用户组id为666,重命名为newname)
- 切换用户组:newgrp root
- 查看所有用户:cat /etc/passwd
- 查看所有用户信息包括密码:cat /etc/shadow
-
磁盘管理
-
df:列出文件系统整体的磁盘使用量
- df
- df -h
-
du:检查磁盘空间使用量
- du -a
- du -sm /*
-
mount:挂载
- mount /dev/kuangshen /mnt/kuangshen(将外部设备kuangshen挂载在mnt目录下来实现访问)
-
-
进程管理
-
ps:查看当前系统中正在执行的各种进程的信息
-
ps -xx
- -a
- -u
- -x
-
ps -aux|grep mysql:查看所有的进行;这里的|在linux中叫管道符;grep查找文件中符合条件的字符串
-
ps -ef|grep mysql:可以查看父进程的信息
-
pstree -pu:进程树
- -p:显示f父id
- -u:显示用户组
-
kill -9 进程的id:杀掉进程,等价于window结束任务
-
-
防火墙
- 查看firewall服务状态:systemctl status firewalld
- 开启:service firewalld start
- 重启:service firewalld restart
- 关闭:service firewalld stop
- 查看防火墙规则,查看全部信息:firewalld-cmd --list-all
- 只看端口信息:firewalld-cmd --list-ports
- 开端口:firewalld-cmd --zone=public --add-port=80/tcp --permanent
- 重启防火墙:systemctl restart firewalld.service
-
创建文件:touch
-
输入字符串:echo
-
Linux链接
-
硬链接
-
软链接(相当于快捷键)
-
创建链接命令:ln
- 硬链接:ln f1 f2
- 软链接:ln -s f1 f3
-
删除f1后f3不存在,f2存在
-
基本属性
-
文件属性
- d:目录
- -:文件
- l:链接文档
- b:接口设备
-
修改文件属性
-
chgrp:更改文件属组
- chgrp [-R] 属组名 文件名
- -R:递归更改文件属组
-
chown:更改文件属主,也可以同时更改文件属组
- chown [-R] 属主名 文件名
- chown [-R] 属主名:属组名 文件名
-
chmod:更改文件9个属性
- chmod [-R] xyz 文件或目录
-
文件内容查看
- cat:由第一行开始显示文件内容,用来读文章,或者读取配置文件。
- tac:从最后一行开始显示,可以看出tac是cat的倒写
- nl:显示的时候,顺道输出行号
- more:一页一页的显示文件内容,带余下内容的(空格代表翻页,enter代表向下看一行,:f:行号
- less:与more类似,但是这个可以往前翻页
- head:只看头几行,通过参数-n参数来控制显示几行
- 在文本内容中使用/加字段可以向下查找该字符,?加字段可以向上查找该字符
- tail -n:只看末尾n行
- man cp:查看帮助文档cp的使用
vim编辑器
-
vim:查看内容,编辑内容,保存内容
-
三种使用模式
-
命令模式
- 刚刚启动vim便进入命令模式
- 此状态敲击键盘会被vim识别,而非输入字符
- i:切换到输入模式,以输入字符
- x:删除当前光标所在出的字符
- ::切换到底线命令模式,以在对最低一行输入命令,如果是编辑模式,需要先退出编辑模式:ESC
-
输入模式
-
底线命令模式
- :wq:保存文件并退出程序
- :q:不保存文件,如果修改了文件此命令报错
- :q!:强制不保存文件退出
- :w:保存文件
-
-
基本命令
- G:移动光标到最后一行
- nG:移动光标到第n行
- gg:移动光标到第一行
- n:n为数字,光标向下移动n行
- x:向后删除一个字符
- nx:连续向后删除n个字符
- dd:删除光标所在那一整行
- ndd:删除光标所在的向下n行
- d1G:删除光标所在到第一行的所有数据
- dG:删除光标所在到最后一行的数据
- d$:删除光标所在处,到该行的最后一个字符
- d0:删除光标所在处,到该行 的最前面的一个字符
- yy:复制游标所在的那一行
- nyy:复制光标所在那行向下n行,包含光标那行
- p:将已复制的数据在光标下一行粘贴
- P:将已复制的数据在光标的上一行粘贴
- u:撤销前一个动作
- :set nu:设置行号显示
- :set nonu:设置行号不显示
XMind: ZEN - Trial Version