Linux基础知识和命令

1.为什么要学习Linux,Linux在工作中用来干什么?

  1. Linux在工作中主要用于环境部署(程序代码包 .jar .war)-->部署到服务器上-->有页面或者是app端
  2. 使用服务器获取日志,协助定位问题

2.计算机组成

2.1硬件

2.2操作系统

  1. PC端:x86 32位操作系统,x86-64 64位操作系统
  2. 手机端:arm 32位操作系统,arm64 64位操作系统
  3. Windows、MacOS、dos、Linux、Andorid、ios、鸿蒙
  4. 语言:c语言 、java语言、python-->解释器或者是编译器-->转换成计算机能识别的二进制代码程序代码-->指令 数据

2.3应用软件

3.Linux操作系统

  1. Linux内核(由linus开发出)-->放到开源平台-->图标(企鹅)、名字linux,没有图形化界面,纯命令界面

  2. 小巧、功能全、安全、多用户多任务的操作系统

  3. 发行版本:RedHat、Debian、Arch、openSUSE、CentOS、Ubuntu等

  4. 客户端系统:Windows、Android、IOS、Harmony、个人用Linux

  5. 服务端系统:99%Linux

  6. 服务器:365天*24小时运行、服务器的本质也是电脑,是功能更加强大的电脑

  7. 学校一般自建服务器(托管官网、学生数据等)

  8. 中小型公司租云服务器:阿里云、腾讯云、百度云

  9. 大型公司自建服务器,提供云服务器资源

4.电脑装多系统

5.软件的安装

6.远程连接、换源、安装软件包

6.1使用ip addressorifconfig命令查看IP地址

6.2如果不能上网,解决办法?

cd /etc/sysconfig/network-scripts
vi ifcfg-ens33#后半网卡名可不同

6.3如果源不可用,解决办法?

#CentOS7换源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

6.4出现command not found如何解决?

6.5yum的作用

#在线下载并安装
yum search 安装包的包名
yum -y install 安装包名

6.6linux获取文件

  1. 使用ftp进行上传
  2. 在linux使用rz命令
  3. 在线下载
wget  [URL] --->文件保存为原始文件名
curl -O [URL] --->文件保存为原始文件名
curl -o [filename] [URL] --->文件保存并重命名为[filename]

7.Linux文件管理系统

#目录结构树
/etc     存放配置相关的文件      /etc/profile 环境变量 /etc/sysconfig/newrok-Scripts 网卡配置
/bin     存放的是可执行的命令文件     启动服务器
/sbin    存放的是root用户的可执行的命令文件
/root    是root用户的家目录
/home    是普通用户的家目录
/opt     存放的是临时文件相关的一些目录
/mnt     存放的是挂载文件相关的目录

8.Linux基本命令

8.1目录相关的命令

'创建文件夹' mkdir 文件夹名1
'创建多个文件夹' mkdir 文件夹1 文件夹2
'创建多层级的文件' mkdir -p A/B
'删除空文件夹' rmdir 文件夹名
'删除非空的文件夹' rm -r 非空目录名
'强制删除非空文件夹' rm -rf 非空的目录名 
'复制文件夹到指定的目录' cp -r 要复制的文件 复制到哪里去
'剪切文件到指定的目录' mv 要剪切的文件 剪切到哪里去
'重命名' mv 要重命名的文件夹/文件 新的文件夹/文件的名字

8.2编写路径

8.3文件相关的命令

'创建文件' touch 文件1
'创建多个文件' touch f2 f3
'弹出提示信息删除文件' rm 文件名  
'强制删除文件' rm -f 文件名
'复制文件' cp 要复制的文件 复制到哪里去
'剪切文件' mv 要剪切的文件 剪切到哪里去
'覆盖写如内容到文件中'
echo "i love linux" > f1
echo "i love python" > f1
'追加写内容到指定的文件' echo "i love oracle" >> f1
'查看文件的内容'
cat 查看小文件
cat -n 文件名 #n不能代表代表任意数字
more 文件名
less 文件名 #按照屏幕比例显示内容,可以输入next进行翻页
head -n 文件名 #查看文件的前n行,n代表的任意数字
tail -n 文件名 #查看文件的最后n行,n代表任意数字
nl 文件名 #带行号显示文件的所有内容
'查看一个文件的第3行到第5行' sed -n 'n1,n2p' 文件名  #n1和n2代表的是两个数字
'查看一个文件的第3行到第5行' head -5 文件名 | tail -3
'查看文件的第5行' sed -n '5p' 文件名

8.4vi/vim编辑器

vi 文件名
'打开一个文件,并把光标定位到161行' vi +161 文件名

'命令模式下的命令'
大写G '跳转到行尾'
小写gg '跳转到行首'
ngg 'n代表任意数字,第n行行首'
yy '复制一行'
nyy '复制n行'
p '粘贴'
dd '删除'
ndd '删除n行'
大写ZZ '保存并退出'

'末行模式下的命令'
:set number '显示行号'
:set nonumber '取消行号'
:wq '保存退出'
:q! '强制退出'
:wq! '保存并强制退出'
:1,$s/旧字符/新字符/g '把第一行到最后一行的所有的旧字符修改为新字符'
:1,3s/旧字符/新字符/g '把第一行到第三行的所有的旧字符修改为新字符'
:4s/旧字符/新字符/g '把第四行的所有的旧字符修改为新字符'
:1,$s/旧字符/新字符 '把第一行到最后一行的第一个旧字符修改为新字符'

8.5打包压缩相关的命令

#打包:可以对文件也可以对文件夹进行打包
tar -cvf T.tar 要打包的文件/文件夹 'c:create f:file v:verbose 过程' '打包'

#压缩:压缩只能对文件,对包进行压缩
gzip 文件 '创建压缩包'
gunzip xxx.gz '默认解压到当前目录'
gzip -d xxx.gz '解压缩,解压成功后删除xxx.gz文件'
zip 文件 '创建压缩包'
unzip xxx.zip '默认解压到当前目录'

#打包压缩:
tar -czvf T.tar.gz 文件 文件夹1 文件2 文件夹2 'z:gzip 压缩' '创建压缩包'
tar -xzvf T.tar.gz '默认解压到当前目录'
tar -tzvf T.tar.gz '查看压缩文件'
tar -xzvf T.tar.gz -大写C 目录 '解压缩到指定的目录'

8.6进程服务相关的命令

8.6.1程序和进程的区别?

'关闭防火墙的命令' systemclt stop firewalld #d代表的是进程,暂时关闭,重启防火墙默认开启
systemctl restart firewalld #重启防火墙服务
systemctl disable firewalld #关闭防火墙开机自启
systemctl enable firewalld #防火墙开机自启(默认开启)
systemclt start mysqld.service #启动MySQL服务
systemctl start httpd #启动MySQL服务

'查看进程' ps -ef | grep tomcat
| 管道符,分割开两个命令,把前一个命令处理的结果交给后面一个命令继续处理
grep 过滤查找

'杀进程' kill -9 pid

8.7权限相关的命令

8.7.1用户

Linux系统中有两类用户

'创建用户' useradd 用户名
'修改用户密码' passwd 用户名
'切换用户' su 用户名 '高级别切换到普通用户不需要输入密码,同级别的或者是低级别切换到高级别是需要输入密码'
'删除用户' userdel 用户名
'删除用户及相应的信息' userdel -r 用户名
'用户的信息存放在' /etc/passwd   
				xiaoming:x:1000:1001::/home/xiaoming:/bin/bash
				用户名:密码:用户id:组ID:用户的家目录:shell环境

8.7.2组

'创建组' groupadd 组名
'删除组' groupdel 组名 '不能删除有用户的组'
'组的信息存放在' /etc/group
			  xiaoming:x:1001:
			  组名:组密码:组ID

Linux系统的权限管理机制:组

# 创建一个用户并确定属组
useradd -g 组id 用户名

8.7.3权限

权限:组来管理权限
对于一个文件或者文件夹而言

rwx-r-x-r-x:所有者的权限--所属组的权限--其他组的权限
对文件而言

读:查看 (cat head tail)
写:编辑 (echo '' > 文件)
执行:可以运行文件 (./zbox start、sh startup.sh)

对文件夹而言

读:读取查看文件夹中的内容 ls ls-a
写:可以在文件夹中创建文件夹创建文件复制剪切
执行:进入这个文件文件 cd

8.7.4修改权限

权限的数字: r 读 4 w 写 2 x 执行 1

方法一

数字法修改权限:4+2+1

第一个数字代表的是所有者的权限,第二个数字代表的是所在组的权限,第三个数字是其他组的权限
chmod 777 文件名 '给所有用户赋予读写执行权限'

方法二

通过字母来修改权限 u 所有者 g 所在组 o 其他组 a(all)所有用户

chmod u=rwx 1.txt
chmod u-r 1.txt
chmod a=r 1.txt

8.8其他的常用命令

cd 'change directory' '切换目录'
cd .. '切换到上一级目录'
cd ../.. '切换到上上一级目录'
cd / '切换到根目录'
cd ~ '切换到家目录'
cd - '切换到上次目录'
. '代表的是当前目录'
.. '代表的是上级目录'
ls 'list' '列出所有文件'
ls -a '显示所有的文件' #all: 所有的文件的包括了隐藏
ls -l '显示文件的详细信息'
ls -al '显示所有文件的详细信息'
pwd 'print work directory' '打印当前工作目录'
tree '树形结构展示当前目录下的所有文件或文件夹'
clear '清空终端屏幕'
man 命令 '查看帮忙命令' = 命令 --help

8.9常见文件后缀

.exe  ---可执行
.iso  ---镜像文件
.bat  ---windoes中可执行文件
.sh   ---Linux中可执行文件
.xml  ---配置文件

9.杂

9.1项目组成员

  1. 项目经理
  2. 产品经理(BA)
  3. 开发
  4. 概要设计:实时 定时
  5. 详细设计
  6. 测试
  7. DBA
    • 数据-----》表(字段长度)---------》数据库
    • 在项目开始做之间,就会做好数据字典,项目中一共需要多少张表,每一张表存储哪一些字段的数据
    • 表与表之间怎么关联

9.2环境

9.3日志分析

  1. anr crash app产生的中间 app的客户端的日志

  2. 手机中的指定的文件中找 /data/anr

  3. 日志 服务器下面logs

  4. 测试小流程

  1. 发现了bug---》提交给谁?判断是前端的bug还是后端的bug?

10.DD命令

dd命令是Unix和Linux系统中一个非常强大的工具,用于转换和复制文件。以下是如何使用dd命令的一些基本方法:

10.1基本语法

dd if=<输入文件> of=<输出文件> [选项]

10.2常用选项

10.3示例

Warning

  • 使用dd命令时需要谨慎,错误的操作可能会导致数据丢失或系统损坏。在执行涉及磁盘操作的命令前,最好先进行备份。
  • 部分操作可能需要root权限,如备份和恢复磁盘分区等。
转载请注明出处