Linux学习笔记

认识Linux

Linux系统 一切皆文件
文件就两个操作: 读、写、(权限)

目录结构

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev : dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

tmp:这个目录是用来存放一些临时文件的。

/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr/bin: 系统用户使用的应用程序。

/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src: 内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除

基本命令

目录管理

相对路径和绝对路径

  • ls(英文全拼:list files): 列出目录及文件名

  • cd(英文全拼:change directory):切换目录

  • pwd(英文全拼:print work directory):显示目前的目录

  • mkdir(英文全拼:make directory):创建一个新的目录

  • rmdir(英文全拼:remove directory):删除一个空的目录

  • cp(英文全拼:copy file): 复制文件或目录

  • rm(英文全拼:remove): 删除文件或目录

  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

文件查看

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
空白键    :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]  :向上翻动一页;
/字串     :向下搜寻『字串』的功能;
?字串     :向上搜寻『字串』的功能;
n         :重复前一个搜寻 (与 / 或 ? 有关!)
N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q         :离开 less 这个程序;
  • head 只看头几行
  • tail 只看尾巴几行

文件基本属性

权限说明

更改文件属性命令

  • chown:更改文件所有者(owner),也可以同时更改文件所属组。
  • chgrp:更改文件属组
  • chmod:更改文件9个属性
  • 在这里插入图片描述

Linux下的链接

硬链接与软连接

[root@iZ2vcgjiopjasr9f0k3zrdZ home]# cd test1/
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ls
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# touch f1		# 创建文件f1
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ls
f1
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ln f1 f2		# ln命令,创建硬链接f2 硬链接到f1
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ls
f1  f2
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ln -s f1 f3	## ln -s命令,创建软链接f3 硬链接到f1
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# ls
f1  f2  f3
[root@iZ2vcgjiopjasr9f0k3zrdZ test1]# 

vim 编辑器

文本编辑器的本质 == 查看内容、编辑内容、保存内容==

vim三种模式:命令模式、编辑模式、底线命令模式

  1. 命令模式:
    使用 i 进入编辑模式,
    使用 : 进入底线命令模式
    使用:/word 查找 使用n 查找上一个
  2. 编辑模式:使用 ESC 退出编辑模式
  3. 底线命令模式:
    使用 wq 保存并退出
    使用 set nu 设置行号

进程命令

ps

ps -aux 显示所有进程信息
| 管道符
grep 该指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据
常用命令组合 ps -aux|grep xxx

[root@iZ2vcgjiopjasr9f0k3zrdZ /]# ps -aux|grep netns	# 在全部进程中过滤匹配 ‘netns’ 字符的进程信息
root        19  0.0  0.0      0     0 ?        S<   Jul26   0:00 [netns]
root      3934  0.0  0.0 112816   980 pts/0    S+   15:20   0:00 grep --color=auto netns
[root@iZ2vcgjiopjasr9f0k3zrdZ /]# 

pstree

  • p 显示父id
  • u 显示用户组
    pstree -pu
    在这里插入图片描述

结束进程

kill -9 进程id :-9表示强制

软件安装

安装软件一般有三种方式:

  1. rpm安装
  2. 解压缩安装
  3. yum在线安装

安装之前,检查系统是否已有jdk安装信息,如果有,先卸载

 rpm -qa | grep java	 # 检查系统java版本信息
 rpm -e --nodeps jdk版本	# 卸载

rpm安装

解压缩

  1. 使用 xftp,把jdk-8u411-linux-x64.tar.gz 上传到/usr/local/java/目录下。
    在这里插入图片描述
  2. 使用命令tar -zxvf jdk_xxx 解压
    解压后的蓝色文件
    在这里插入图片描述
  3. 设置环境变量
    vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_411   
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME CLASS_PATH PATH

保存退出后
执行命令source /etc/profile 让配置文件生效

[root@iZ2vcgjiopjasr9f0k3zrdZ etc]#  source /etc/profile
[root@iZ2vcgjiopjasr9f0k3zrdZ etc]# java -version
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)
  1. 运行一个简单项目
    上传一个jar包,并运行
    注意:需要开启阿里云服务器的对应安全组端口 和 防火墙端口(如果防火墙开启的话)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

yum在线安装

  1. 安装gcc相关
    yum -y install gcc
    yum -y install gcc-c++

  2. 卸载旧版本
    yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-engine

    如果想完全卸载,可以参考以下方法:
        * 杀死所有运行中的容器
      	docker kill $(docker ps -a -q)
      * 删除所有 Docker 容器
      	docker rm $(docker ps -a -q)
      * 删除所有 Docker 镜像
      	docker rmi $(docker images -q)
      * 停止 Docker 服务
      	systemctl stop docker.socket
      	systemctl stop docker.service
      * 删除存储目录
      	rm -rf /etc/docker
      	rm -rf /run/docker
      	rm -rf /var/lib/dockershim
      	rm -rf /var/lib/docker
      	注意事项:如果遇到无法删除的目录,可能需要先解除挂载。
      	例如:umount /var/lib/docker/devicemapper
      * 卸载 Docker
      	检查已安装的docker包:
      		yum list installed | grep docker
      	卸载: 
      		yum remove -y 'docker*'
      		yum remove -y containerd.io.x86_64
    
    
    
  3. 安装需要的软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2

  4. 设置镜像仓库,推荐使用国内的
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  5. 更新yun软件包索引 针对不同的centos版本,使用下面不同的命令
    yum makecache
    yum makecache fast

  6. 安装docker
    yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  7. 启动docker
    systemctl start docker

  8. 测试运行hello-world
    docker pull hello-world
    docker run hello-world
    如果出现拉取失败,参考以下办法

    1、切换目录		cd /etc/docker
    2、创建文件		touch daemon.json
    3、编辑文件		vim daemon.json 		
    				{
    				  "registry-mirrors": [
    				"http://hub-mirror.c.163.com",
    				"https://docker.m.daocloud.io",
    				"https://noohub.ru",
    				"https://huecker.io",
    				"https://dockerhub.timeweb.cloud"
    				],
    				  "data-root": "/mnt/software/docker"
    				}
    				
    	保存退出后重启docker
    	systemctl restart docker
    

出现下图,运行成功
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值