1. 什么是Linux系统?
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
为什么学习linux系统
因为window操作系统漏洞太多。容易被攻击。因此,在工作时把windows开发好的软件【程序】部署到linux操作系统上。
Linux操作系统的种类
1. ubuntu:
2. centos:[centos7]
3. redhat:企业版[收费]
现在企业中常用centos,因此学习centos7的命令
centos目录结构
/: 根目录
/bin和sbin: 系统命令存放的目录。
etc: 配置目录。比如: 环境变量的配置,ip的配置,主机名的配置。
usr: 用户目录。 等价于window[ program file] 软件安装目录
root: root账号拥有的目录。
2. centos7的命令
目录切换命令
语法: cd [切换的目录]
cd .../ : 切换到上一级目录:
cd / : 切换到根目录
cd 目录A :切换到当前目录的目录A下
查看目录下的内容
ls :列出当前目录中的文件。
ls / :列出指定目录下的内容,/根目录。
ls -l :会以列表格式显示文件,包括每个文件的权限、所有者、大小和最后修改日期。
ls -a :所有隐藏的列出。
查看当前所在目录
pwd :打印当前工作目录。这个命令会显示你当前在文件系统中的位置。
创建文件命令
touch :创建新的空文件。例如,touch a.txt会创建一个名为a.txt的新文件
创建目录命令
mkdir :创建新的目录。例如,mkdir newdir 会创建一个名为newdir的新目录
mdkir -p 目录1/目录2/... :允许创建多层目录
删除文件或目录
rm :删除文件或目录。例如,rm file.txt 会删除file.txt
rm -f :强制删除
rm -r :删除目录(文件夹)
rm -rf :强制删除目录或者文件
复制命令
语法:cp [参数] 文件|目录 目标目录
例如,cp a.txt b.txt 会在本目录下将a.txt复制并改名为为b.txt
cp source.txt /usr/ :把source.txt复制为到根目录下的usr文件夹下
cp -r 目录名 目标目录 :复制目录
查看文件的内容
cat 文件名: 查询所有的内容
more 文件名: 查看当前窗口大小的内容。 enter回车 下一行内容 空格: 下一页
head -n 文件名: 查看前n行的内容
tail -n 文件名: 查看后n行内容
重命名|剪切
mv 文件|目录 /目标目录/
mv a.txt b.txt : 将a.txt文件重命名为b.txt
mv a.txt /usr/ : 将a.txt剪切到usr目录下
查看ip地址
ip addr 或 ifconfig
测试网络连通性
ping 网络ip或域名=====>域名解析====>ip====>网站
编辑命令
vi 文件名
注意: 命令行模式--->i----编辑模式--->esc键---->命令行模式--->:wq退出并保存 :q! 退出不保存
重启网络
systemctl restart network
搜索文件或目录命令
find [查找的目录路径] [命令的可选参数] [查找的具体条件,如文件名、类型等]
常用参数:
-name
:按名称查找文件。-type
:按文件类型查找(d
:目录,f
:普通文件,c
:字符设备文件等)。-exec
:对匹配的文件执行指定命令。
shell
#注意:名称可以使用通配符 *
#例如:
#打印root目录下所有后缀为cfg 的文件。
find /root -name "*.cfg"
查看所有进程命令
语法:**ps [参数] **
参数:
- -a 显示当前终端的所有进程信息
- -u 以用户的格式显示进程信息
- -x 显示后台进程运行的参数
- -e 显示所有进程
- -f 全格式
shell
#常用
ps -ef
查看指定内容在文件中
语法:grep [参数] 内容 [文件名]
常用参数:
-i
:忽略大小写。-r
:递归搜索目录中的文件。-w
:只匹配整个单词。-v
:显示不匹配的行。
管道符 |
通过管道符可以把很多命令组合起来,提高工作效率。简言之管道符的作用就是:把前一个命令原本要输出到屏幕的标准正常数据当作后一个命令的标准输入。
常见用法一般是和查看进程命令一起查看指定进程是否开启,例如:
shell
#查看mysql的进程
ps -ef | grep mysqld
压缩和解压缩命令
压缩命令
tar -zcvf 压缩后的名称.tar.gz 要压缩的目录
z: 通过gzip进行压缩/解压缩
c: 压缩
v: 详情
f: 文件 【必填】
解压命令
tar -zxvf 解压的文件.tar.gz
-x: 解压
终止进程命令
语法:kill [参数] 进程号
语法:killall 进程名称
pkill -9 进程名称 根据进程名终止进程
参数:-9 表示强迫进程立即停止
查看端口号
netstat -tunlp | grep 端口号
option说明:
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
netstat -ntlp //查看当前所有tcp端口。 tcp协议 网络传输协议
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
如果在使用报错: -bash:netstart:未找到命令
解决:
shell
#第一步:yum install net-tools
#如果报错 Cannot find a valid baseurl for repo: base/7/x86_84
#因为默认的下载网址不让用了需要 去下载阿里云yum文件 ===> Centos-7.repo
#接下来:
#1.切换到 cd /etc/yum.repos.d 把CentOS-Base.repo文件备份 重命名为CentOS-Base.repo.backup
#2.把你下载的阿里云文件放入 /etc/yum.repos.d 下并改名为 CentOS-Base.repo
#3.使用yum clean all 清除之前所有的yum
#4.使用yum makecache (进行缓存)
#5.使用yum install net-tools