Linux
简介
一种开源的,免费的操作系统,安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统资源,linux注重安全性、稳点高兴。高并发性。
目录结构
linux一切都是目录,要遵守习惯
-
linux只有一个根目录。/
-
层级式目录
https://blog.csdn.net/fan0220/article/details/53079618
user/bin:可执行命令,可以在任何地方执行
user/local/bin:类似于user/bin但是放置用户自己的可执行文件
etc:存放配置文件,配置环境变量(/etc/profile)
home:每一个用户的根目录,保存用户的私人信息
opt:给Linux安装的一些额外的软件,相当于windows的program files
Linux的远程操作
-
Xshell:linux的终端模拟软件。
-
Xftp:远程传输软件,可以进行文件的传输
vi和vim
linux中的文本编辑器,用来在linux中查看或者编辑文本文件,类似于记事本
vim是对vim的增强,三种模式:
一般模式(vim test.txt),进入一般模式,查看内容,只读
编辑模式:在一般模式,按i或者a或者I或者A进入编辑模式,
不能保存,
按esc回到一般模式
命令模式:在一般模式下,按:,进入命令行模式;
输入:q!-----不保存,强制退出编辑器
wq-----保存并且退出编辑器
q-----直接退出
快捷键:
-
复制当前行:在一般模式下yy,把光标当下行赋值到剪切板,p,粘贴
-
复制当前行的下5行:在一般模式下,按5yy,把光标所在行向下5行复制到剪切板,p,粘贴
-
在文件中查找关键字:在命令行,输入/关键字,回车,按n查找下一个
-
删除当前行,一般模式下dd
-
删除光标下5行,5dd
-
撤销上次编辑内容,一般模式下u
-
显示行号,命令模式:set nu,取消:set nonu
linux用户管理
-
使用linux系统资源的用户,必须有一个合法的账号和密码,向系统管理员申请(root)是默认创建管理员账号
-
添加用户:useradd 【选项】用户名(list)
-
- 创建一个用户list
- /home自动创建一个用户的根目录
- 创建了一个组list,用户不能独立与组存在,不指定组就默认创建一个组,组名和用户名相同并且将用户加到改组
-
useradd -d /home/ww wangwu 创建用户的同时,指定用户的根目录
-
给用户设置密码:passwd 用户名,密码要满足一定的复杂度
-
删除用户:userdel 用户名,管理员权限
userdel -r list 删除用户的同时,级联删除主目录
-
查看用户的信息:id 用户名
-
切换用户:su 用户名 ,高权限到低权限不需要密码反之则需要
基本组管理
-
组和角色的概念相似,可以对有共性的用户统一管理,每一个用户至少属于一个组,不能独立于组存在,但可以属于多个组。不指定就创建一个组
-
添加组:groupadd 组名
-
**删除组:**groupdel 组名
-
把用户添加到组:gpasswd -a 用户名 组名
-
把用户从组移除:gpasswd -d 用户名 组名,主族不可改变
-
创建时指定主组:useradd -g 组名 用户名
linux的系统操作命令
关机:shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now立即重启
重启:reboot 立即重启
同步数据库 :sync
帮助命令
- 用来查看linux系统手册上的帮助信息:man 命令名称 例如man ls
- 用来查看命令的内置帮助信息:help 命令 相当于注释信息
文件操作
- 查看当前目录:pwd /home/zhangyulei
- 查看指定目录的内容:ls 【指定目录】 ls /home,不指定代表当前目录下
ls -l (list)【指定目录】 或者ll : 以列表的形式展现
ls -a(all) 【指定目录】:显示指定目录下的子目录或者文件(包括虚拟的目录./ …/)
ls -al 【指定目录】:以列表的形式显示指定目录下的子目录或者文件(包括虚拟的目录./ …/)
-
切换目录:cd 目录名
-
-
相对目录:以盘符开始的 cd /opt/test
~:当前目录的根目录
-
相对目录:以目录名开始的 cd test
…:上一级目录
-
.:当前目录(可执行文件./xxx.sh)
-
创建目录:mkdir 【选项】目录名 选项==【-p】创建多级目录
-
- 绝对目录 mkdir /opt/test
- 相对目录 mkdir test
-
删除一个空目录:rmdir 目录名
-
创建文件(一个或多个空文件):touch 文件名列表(文件名以空格隔开)
-
复制文件或者目录:cp 【-r】source dest -r递归的复制目录
-
删除文件或者目录:rm 【-f 强制删除】【-r递归的删除目录】文件名或者目录名 rm -rf 强制递归删除目录
-
移动目录或者文件:mv source dest
mv a.txt b.txt 重命名或者覆盖
-
**查看文件内容:**cat 【-n显示行号】 文件名
-
**echo:**输出系统变量或者常量的值到命令行终端 echo $JAVA_HOME
echo final
- 把前一个查看命令的结果输出到指定文件中,如果目标文件不存在就创建一个,若果存在就覆盖:查看命令 > 文件名 ls>ret.txt
cat ret.txt > new.txt 内容的复制,覆盖
日期
- 查看日期或者设置系统的日期或者时间:date 【%Y】当前年份【%m】月【%d】日
date ’+%Y-%m-%d %H:%M:%S’ 按照yyyy-MM-dd HH:mm:ss格式设置
date -S ‘2020-10-20 10:20:30’ 设置当前系统时间
- 查看系统日历:call 查看当前月日历
call 2020:查看指定年的日历
搜索文件和命令
- find [搜索范围]【搜索标准-name -size -user所有者】 关键字 : 默认为当前目录,使用通配符,find %e%.txt 遍历
find /etc -size +5M 大于5M -5M 小于5M
- locate:在整课数据库目录树搜索,只能搜索名称,不访问磁盘效率更高
因为创建文件不一定能够及时加到树中,所以不竜及时反映
uodatedb:同步树,先同步再用locate保证
- 搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤:
搜索命令:|grep 【选项】过滤条件
查看命令:|grep【选项】 过滤条件
find *.txt | grep new 搜索当前目录下包含new的.txt文件
cat x.txt|grep 关键字
压缩和解压命令
-
压缩或者解压单个文件:gzip 文件名,自动生成一个gz的压缩包删除源文件
gunzip解压 文件名,生成一个文件,删除压缩包
-
压缩(打包)或者解压多个文件和目录:zip目标压缩包名称 文件或者目录列表
unzip 压缩包名(zip) -d 解压目录:将指定的zip压缩包解压到目录
- 压缩或者解压多个文件或目录:tar 【选项】目标压缩包名称 (xx.tar.gz) 文件或者目录列表
-c:打包或者压缩
-x:解压
-zcvf xxx.tar.gz 文件或者目录列表
-zxcf xxx.tar.gz -C 解压目录名
文件与组
在linux中,文件(或者目录)也必须属于一个组,而且只能属于一个组
用户也至少需要属于一个组,也可以属于多个组
文件或者目录通过组来控制哪些用户可以对他进行操作,即文件或者目录的访问权限
在文件(或者目录)看来,把linux分为三类用户:所有者(默认为创建者),同组用户、其他组
-
查看文件的所有者和所在的组 ls -l
-
修改文件的所有者:chown 新的所有者 文件名
chown 【-R递归的修改】新的所有者: 新的组 文件名
- 修改文件或者目录的组:chagrp 新的组 文件或者目录
权限(文件的访问权限)
- 文件或者目录的三种权限 :读(Read)、写(Write)、执行(Execute)
对于目录读:可以读取、查看目录下面的内容:ls等
写:可以修改目录的内容,增删改子目录,
执行:可以进入该目录:cd
- 在linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其他用户权限 ls -l查看
第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用r 、w、x表示。例如:rwx—所有者拥有读写执行三个权限,r-x r-- —
第二部分:同组用户权限
第三部分:其它组用户权限
-
用u、g、o标识所有者,同组和其他组 a所有用户
r、w、x表示读写执行
= + - 表示设置,增加,减少权限
chmod g-r 文件名 chmod g+r 文件名
使用数字的方式修改文件或者目录的权限
每一个权限用一个数字表示
r、w、x
4、2、1
每一个权限用数字之和表示,互不重复
chmod 777 文件名
网络配置
在linux的配置文件中 :/etc/sysconfig/network-scripts/ifcfg-ens33
进程管理
查看进程:ps 显示应用进程 -e 显示所有进程
-ef以全格式的形式显示进程
//加过滤通常用于查看进程是否开启
关闭进程:使用ps查看进程的PID
使用命令kill -9 PID杀死强制,-l查看
服务管理
-
f服务:守护进程
-
操作服务:systemctl【start|stop|restart|reload|status|enable】 服务名称
systemctl status firewalld 查看防火墙
linux中的软件包管理
-
RPM包:一种打包和安装工具,以.rpm结尾
查看当前系统中已安装的rmp安装包:rpm -qa
卸载rpm软件包:rpm -e 名字
安装rpm包:rpm -ivh xx.rpm
-
YUM包管理:基于RPM的软件管理工具,与maven类似,必须有外网
-
- 查看所有安装的RPM包 : yum list installed
- 卸载:yum remove 名称
- 安装:yum install 名称