Linux概述
Linux是一套开源的类Unix操作系统,它能运行主要的Unix工具软件、应用程序和网络协议。支持32位和64位的硬件,Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
开机登陆
登陆方式一般有三种:
- 命令行登陆
- SSH登陆
- 图形界面登陆
最高权限是 root,可以操作一切
关机
一般Linux系统都是运行在服务器上面的,很少会去关机
关机指令:shutdown
sync #将数据从内存同步到硬盘上
#关机指令 shutdown [option] [time] [message]
#名词解释 option
-h #表示暂停使用
-r #表示重新启动
-f #表示强制关机
-c #表示取消任何计划的关机或重启
#名词解释 time
now #立即执行
10 #十分钟之后执行,并通知其他用户
+10 #十分钟之后执行
01:00 #今天01:00执行
#名词解释 message
"十分后关机,请保存数据" #提醒其他用户
#快速重启命令,会删除进程,有可能造成数据丢失
reboot
上述指令为常用 详细介绍 man shutdown 查看
基本目录
目录 | 作用 |
---|---|
/bin | 存放二进制的可执行文件 (ls,mkdir…) |
/usr | 存放系统应用程序,/usr/local 本地管理员软件安装的目录 |
/sbin | 存放二进制可执行文件,只有root可以访问 |
/etc | 存放所有系统管理需要的配置文件和子目录 |
/tmp | 存放各种临时文件 |
/lib | 文件系统中程序运行所需要的共享库及内核模块 |
/var | 存放运行时需要改变数据的文件 |
/home | 存放所有用户文件的根目录 |
/opt | 额外安装的可选应用程序包所放置的位置 |
上述目录为常用,详细介绍
基本命令
目录切换
#绝对路径 从根目录开始 例:/opt
#相对路径 相对于当前目录 例:usr
cd /opt #进入opt目录
./ #当前目录
cd .. #返回上一级目录
cd - #返回上一次的目录
目录命令
目录查看
#显示指定工作目录下的内容
ls [-alrtAFR] [name...]
#名称解释 alrtAFR
-a #all 显示所有文件及目录,.包括隐藏文件
-l #除文件名称外,显示类型、权限、拥有者、文件大小等
#名词解释 name
usr #显示 usr 目录下的内容
ll #是 ls -l的缩写
目录创建
mkdir 目录名 #创建目录
目录删除
rmdir 目录名 #删除目录 文件不为空不可删除
rmdir -p 目录名 #强制删除目录
文件创建
touch 文件名
vim #当编辑不存在的文件时,可以创建
文件复制
cp 文件 目录 #复制文件 文件与目录可绝对路径,可相对路径
y/n #如果文件重复,可以选择覆盖或者放弃
文件或目录删除
rm #删除
-f #忽略不存在的文件,不会出现警告,强制删除
-r #递归删除目录
-i #互动,询问是否删除
rm -rf * #删除当前目录的所有内容
rm -rf / #删除根目录下的所有内容 一般实施人员删库跑路的骚操作
文件或目录移动
mv ##移动 文件(目录)与目录可绝对路径,可相对路径
-f #强制移动
-u #只替换更新过的文件
#也可以重命名
基本属性
在 Linux 中第一个字符的含义
- 若为 d 则是目录
- 若为 - 则是文件
- 若为 l 则表示为链接文档(link file)
- 若为 b 则表示为装置文件里面的可供储存的接口设备(可随机存储装置)
- 若为 c 则表示为装置文件里面的创航端口设备(鼠标、键盘)
后九个字符,三个为一组分别代表
属主权限 | 属组权限 | 其他权限 |
---|---|---|
r w x | r w x | r w x |
可读、可写、可执行 | 可读、可写、可执行 | 可读、可写、可执行 |
- r(read)代表可读
- w(writer)代表可写
- x (execute)代表可执行
- - (减号) 代表没有权限
数字,代表的是内部有多少个个文件
第一个 root ,属主,代表的是 此文档的归属人
第二个 **root **,属组,代表的是 此文档的归属组
后面是文件大小,和创建时间
### 文本内容查看
Linux系统中使用一下命令
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
- nl 显示行号
- more 一页一页显示文件内容 (空格翻页,enter下一行)
- less 一页一页显示内容,可以向前翻页 (空格翻页,上下键翻动页面)
- head 只看前几行 (通过-n控制显示几行)
- tail 只看后几行(通过-n控制显示几行)
- /关键字 向下查询
- ?关键字 向上查询
- n关键字 代表查询下一个
- N关键字 代表查询上一个
通过 man [命令] 查看命令的帮助文档
网络配置目录:cd /etc/sysconfig/network-scripts
测试网络:ping www.baidu.com
查看 ip :ifconfig
拓展:Linux 链接的概念(了解)
分为两种:硬链接、软链接(符号链接)
**硬链接:**A、B两个索引节点同时指向一个文件,即使不小心误删了A,文件也不会丢失。(没有节点指向文件,文件的数据块及目录的连接才会被释放。)
**软链接:**类似于windows下的快捷方式,如果文件删除,快捷方式也不能访问。(软链接是一个特殊的文件,内部保存着另一个文件的地址)
创建命令
-
创建文件
touch f1 #创建一个 f1 文件 vim也可以创建文件
-
建立硬链接
ln f1 f2 #创建 f2 为 f1 的硬链接
-
建立软链接
ln -s f1 f3 #创建 f3 为 f1 的硬链接
-
测试环节
echo "I love JC" >> f1 #向 f1 文件写入数据 cat f1 #查看 f1 的信息 cat f2 #查看 f2 的信息 cat f3 #查看 f3 的信息 rm -rf f1 #将源文件删除之后,f3 软链接已经不能访问了,f2 硬链接 可以访问
Vim 编辑器
vim 基于 vi 发展出来的一款高级的文件编辑器,代码补全、编译以及错误跳转等 方便编程的功能。
三种使用模式
-
一般模式
#当启动 vim 时,便进入了命令模式。此模式会自动将输入的字符当做命令处理 i 或 insert键 #切换到编辑模式。 x # 删除光标所在位置的字符。 : #切换到命令模式。
-
编辑模式
Enter #回车键,进行换行 Delete #删除键,删除后一个字符 Back Space #退格键,删除前一个字符 ↑ ↓ ← → #方向键,进行光标移动 Home/End #移动到行首/行尾 Page up/Page down #上下翻页 insert #切换光标为输入/替换,光标变成竖线/下划线 ESC #退出输入模式,切换到一般模式
-
命令模式
wq #保存并退出 q #退出 q! #不保存退出 set nu #显示行号 set nonu #取消行号
上述命令为常用,详细介绍
高级命令
账号管理
一般在公司里,用的应该都不是 root 账户
-
账号的curd操作
添加用户
useradd [操作] 用户名 #添加用户 -c # comment 指定一段注释性描述。 -d 目录 #指定用户主目录,若目录不存在,则同时使用-m创建主目录 -m #自动创建用户主目录 -g 用户组 #指定用户所属用户组 -G 用户组 #指定用户所属的附加组。 -s Shell文件 #指定用户的登录Shell。 -u 用户号 #指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
修改用户
usermod [操作] 用户名 #修改用户 -d #修改目录 -g #修改用户组 -m #用户没有主目录,进行创建 passwd 用户名 #root 用户修改密码 passwd #修改自己用户的密码 #锁定账户 锁定之后不能再登陆 passwd -l 账户名 #将密码重置,不可登陆 passwd -d 账户名 #解锁账户 passwd -u 账户名 #用户切换用户组 ps:必须有权限 newgrp root
删除用户
userdel [操作] 用户名 #删除用户 -r #在系统文件中(etc/passwd,etc/shadow,/etc/group等)记录和它的主目录删除
查看用户
cat /etc/passwd #查看所有的用户信息 cat /etc/passwd|grep 用户名 #用于查找某个用户
切换用户
su 账户名 #从root账户 切换到其他账户 exit #退出到root账户
-
用户组管理
添加用户组
groupadd #添加用户组 -g Id号 #指定id号(数字)
删除用户组
groupdel #删除用户组
修改用户组
groupmod #修改用户组 -g Id名 #修改Id -n 新名 #重命名
-
授权管理
权限管理
Linux下有两种用户:超级用户(root用户)、普通用户
#超级用户:可以在Linux系统下做任何事情,不受限制。超级用户的命令提示符是 ‘#’
#普通用户:在Linux系统下做权限范围内的事情。普通用户的命令提示符是 ‘$’ 。
#文件有三种类型用户:文件所有者,同组用户,其他用户
#所有者一般是文件的创建者。所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。
#在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
修改文件属性
-
chgrp:更改文件属组
chgrp [-R] 属组名 文件名 chgrp -R default test #例子,将 test 文件属组更换为 default 组
-
chown:更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名 chown [-R] 属主名: 属组名 文件名
-
chmod:更改文件9个属性**(常用)**
chmod [-R] xyz 文件或者目录
Linux有两种设置方法,一种为数字,一种是符号
权限分数对照表
-
r :4 w :2 x :1
常用组合
- rwx :7
- r-x :5
- …
#例如给 andy 权限 chmod 777 andy #效果如下图
-
磁盘管理
df #列出文件系统整体的磁盘使用量
df -h #将 字节转换成 兆,显示磁盘使用量
du #显示指定的目录或文件所占用的磁盘空间。
du -sm /* #检查根目录下所有目录的使用情况
磁盘挂载
mount /dev/hi /mnt/hi #将外部设备 hi,挂载到 mnt下来实现访问
umount [挂载位置] #卸载
-f #强制卸载
进程管理
- 在 Linux 中,每个程序都对应着一个进程,每个进程都有Id。
- 每一个进程都有父进程。
- 进程有两种存在方式:前台/后台
- 一般服务是在后台运行的,基本的程序都是前台运行的。
命令
ps #查看当前系统中正在运行的各种进程信息 (Process Status 的缩写)
-a #显示当前的进程信息
-u #以用户的信息显示信息
-x #显示后台运行进程的参数
#在 linux 中 ,| 叫做管道符
#grep 查找文件中符合条件的字符串
ps -aux | grep mysql #查看mysql 的进程信息
ps -ef | grep <进程名> #查看并筛选 跟进程名有关的进程(查看父进程)
#通过目录树 来查看 pstree -pu
pstree
-p #显示父Id
-u #显示用户组
#强制结束进程
kill -9 进程Id
上述为常用,详细
软件安装
之前写到另一个博客了,点我
readme
最近工作中又用到了linux系统,所以又对 linux 系统进行了一次复习,如果写的有不到位的地方,还请各位大哥海涵!也会欢迎大家帮我纠错和补充,谢谢!