Linux概述及简单命令
一、准备工作
1.环境选择:VMware\阿里云服务器
2.Linux版本选择:CentOS 7
3.权限账户:root
二、文件结构
1./bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。
2./boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
3./dev:是Device(设备0)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
4./etc:用来存放所有系统管理所需要的配置文件和子目录。
5./home:用户主目录,在Linux中每个用户都拥有一个以用户账号命名的目录。
6./lib:用来存放系统最基本的动态链接共享库,其作用类似于Win中的DLL[1]文件。(基本依赖)
7./lost+found:一般是空的,非法关机后,用于存放一些文件(云服务器才有这个文件夹)
8./media:识别的U盘,光盘都会挂载到这个目录。
9./mnt:临时挂载目录。
10./opt:存放主机额外安装软件所摆放的目录
11./proc:虚拟目录,是系统内存的映射,可以通过直接访问目录来获取系统信息
12./root:超级管理员用户的主目录
13./sbin:用于存放系统管理员使用的系统管理程序。
14./srv:存放一些服务启动之后需要的数据
15./sys:linux 2.6出现的目录,安装了linux2.6新出现的文件系统 sysfs。
16./tmp:临时目录,用于存放临时文件,存储安装包一类用完即丢的文件
17./usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这股目录下类似于win的program files
18./usr/bin:系统用户使用的应用程序。
19./usr/sbin:超级管理员使用的比较高级的管理程序和系统守护程序。
20./usr/src:内核源代码默认的放置目录。
21./var:这个目录中存放着不断扩充的东西,存放一些经常被修改的文件,比如日志文件
22./run:临时文件系统,存储系统启动以来的信息,当系统重启时,目录下的文件被删除
23./www:存放服务器网站相关的资源。(云服务器特有文件夹)
三、目录命令
1.ls:列出目录
1)-a:查看所有文件,包括隐藏文件
2)-l:列出所有文件包括文件属性、权限等一系列信息
2.cd:切换目录
cd 目录名(绝对路径都是以/开头,相对路径,对于当前目录该如何寻找 ../../)
1)~ 返回当前用户目录
2).. 上级目录
3)- 上一次访问的目录
3.clear:清理屏幕
4.pwd:显示当前所在目录
5.mkdir:创建目录
1)-p 创建多级目录
6.rmdir:删除目录
1)-p 删除多级目录
7.cp:复制文件或者目录。 cp 原来的地方 新的地方
8.rm:移除文件或目录
1)-f 忽略不告警(强制删除)
2)-r 递归删除
3)-i 互动,删除询问是否删除
rm -rf /* 删除系统中所有文件(删库跑路用的就是这个命令)
9.mv:移动文件或者目录
1)-f 强制
2)-u 只替换已经更新过的文件
mv 文件 文件2 (重命名文件)
四、文件属性查看和修改
1.文件属性
1)第零个字符,为[d]是目录,[-]是文件,[l]是链接文档,[b]是装置文件里面的可供储存的接口设备,
[c]表示装置文件里的串行端口设备,如鼠标键盘。
2)第一、二、三个字符:属主权限
3)第四、五、六个字符:属组权限
4)第七、八、九个字符:其他用户权限
5)对应权限:读、写、执行。
<1>1、4、7:读权限,r表示有权限,-表示没权限
<2>2、5、8:写权限,W表示有权限,-表示没权限
<3>3、6、9:可执行权限,x表示有权限,-表示没权限
2.chgrp
修改文件所属组。chgrp [-R] 属性组 文件名
3.chown
修改属主。 chown [-R] 属主名 文件名
4.chmod
更改文件的9个属性(必须掌握)。 chmod [-R] xyz 文件或目录名 w:4 r:2 x:1
五、文件内容查看
1.cat:从第一行开始显示文件内容。用来读文章,或者读取配置文件
2.tac:从最后一行开始显示,可以看出tac是cat倒着写。
3.nl:显示的时候,顺便输出行号。看代码的时候希望显示行号。
4.more:一页一页显示文件内容。空格代表翻页,enter代表向下看一行。
5.less:与more类似,与more不同的是可以往前翻页。 (空格下翻页,pageDown,pageUp代表翻动页面,退出Q命令)
6.head:只看头几行
7.tail:只看末尾几行
8.可以使用man [命令]来查看命令使用文档号
六、链接
1.硬链接:B是A的硬链接,则他们指向同一个文件。允许一个文件拥有多个路径。
2.软链接(符号链接):类似win的快捷方式。可连接目录。
3.创建 ln 命令
4.echo:输入指令 echo >> 文件名
七、Vim编辑器
分为命令模式,输入模式,底线模式(查看、编辑、保存文本内容)
1.命令模式:用户启动vi/vim,便进入了命令模式。
1)i进入输入模式。
2)x删除当前光标所在处的字符。
3):切换到底线命令模式,在最底行输入命令。如果是编辑模式需要先按ESC退出编辑模式。
4)[数字] dd删除[数字]行内容
2.输入模式:命令模式下按i进入输入模式。
o 另起一行进去输入模式,a当前文字之后进入输入模式
3.底线命令模式
1)q:退出Vim编辑器
2)w:将更改写入文件
3)wq:写入并保存
4)!:强制执行
5)set nu:显示行号
6)/[关键字]:搜索含有关键字的代码行,n搜索前一个,N搜索后一个
八、账号管理
1.添加用户:useradd
1)useradd -选项 用户名
<1>-m:自动创建这个用户的主目录
<2>-d:目录:指定用户的主目录,如果目录不存在则使用 -m选项,可以创建主目录。
<3>-g:指定用户属组
<4>-G:指定用户所属附加群组
<5>-e:指定账户有效期
<6>-f:指定在密码过期后多少天关闭该账号
2)理解本质:Linux中一切皆文件,添加用户就是向文件写入用户参数。
2.删除用户:userdel
1)userdel -选项 用户:userdel -r 用户,删除用户的时候将他的目录页一并删除。
3.修改用户:usermod
usermod 对应修改的内容 修改的用户:usermod -d /home/233 qinjiang
4.切换用户:su [username]
1)结构:[用户@主机名 目录]#/$(#为超级管理员,$为普通用户
2)su 用户名:切换用户时想要使用新用户的工作环境可以在用户名前加 -,如 su -username
5.查看主机名和修改主机名:hostname
1)查看主机名:hostname
2)修改主机名:hostname [主机名]
6.用户密码设置问题
1)通过root创建用户需要配置密码
2)超级用户修改用户密码:#passwd username:
#new password:
#re password:
3)普通用户修改密码:$passwd
$(current)UNIX password:
$new password:
$re password:
7.锁定账户
1)passwd -l username:锁定之后该用户不能登录系统
2)passwd -d username:清除密码,没有密码也不能登录
九丶用户组管理
1.属主、属组
每个用户都有用户组,系统可以通过用户组对用户进行统一集中管理(开发、测试、运维、root)。
不同Linux系统对用户组的规定有所不同,如Linux下的用户属于它同名的用户组,这个用户组在创建用户时同时创建。
1)groupadd -g [组ID] [组名]:创建一个指定组ID的用户组,如果不指定组ID则自动递增。
2)groupdel [组名]:删除用户组
3)groupmod -g [组ID] -n [要修改的组名] [原来的组名]:-g 修改组ID,-n 修改组名
4)切换用户组:#登录到目标用户 username
$newgroup root(切换到root组,如果有权限就可以切换)
/etc/passwd 存放密码的文件
十、磁盘管理
1.df:列出文件系统总体磁盘使用量,-h参数可以将使用量显示为M
2.du:列出当前目录的文件信息,-a可以看到子文件夹目录。
3.mount [外部设备名] [挂载的目录]:挂载驱动,光盘;umount -f [挂载位置] 卸载已挂载的驱动
十一、进程管理
1.什么是进程
1)在linux中,每一个程序都是有自己的一个进程,每个进程都有一个ID号!
2)每一个进程都有一个父进程
3)进程可以有两种存在方式:前台、后台
4)程序一般都是前台运行的,服务一般都是后台运行的。
2.命令
1)ps:查看当前系统中正在执行的各种进程的信息。
<1>ps-xx:
-a 显示当前终端运行的所有进程信息
-u 以用户的信息显示进程
-x 显示后体运行进程的参数
<2>ps -aux | [1] 查看所有进程的所有参数
注:[1] “ | ” 在称为管道符, A|B 将A的结果输出到B中
ps -aux | grep mysql 查看mysql相关的进程
ps -ef 查看父进程的信息: ps -ef | grep mysql 看父进程一般可以通过目录树查看
目录树:pstree -PU
-p 显示父ID
-u 显示当前用户组
3.结束进程
1)杀掉进程,相当于win任务管理器的结束任务。
2)kill -9 [进程ID] 强制结束进程