文件和目录
cd /home 进入 ‘/ home’ 目录’
cd … 返回上一级目录
cd …/… 返回上两级目录
cd 进入个人的家目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
rm -rf / 删掉盘下所有东西
mv dir1 new_dir 重命名/移动 一个目录
cp -a file1 file2 复制一个文件, 所有配置一模一样
cp dir/* . 复制一个目录下的所有文件到当前工作目录
创建文件 touch file_name.file_type
ls > test.ini
ls >> test.ini
touch test.txt
cat > test.ini
cat >> test.ini
linux中>表示覆盖原文件内容(文件的日期也会自动更新)
>> 表示追加内容(会另起一行,文件的日期也会自动更新)。
cat test.txt // 查看文件内容
常用:-n 对所有行显示行号
合并文件: cat file1 file2 > file3
打包和压缩文件
bunzip2 file1.bz2 解压一个叫做 'file1.bz2’的文件
bzip2 file1 压缩一个叫做 ‘file1’ 的文件
gunzip file1.gz 解压一个叫做 'file1.gz’的文件
gzip file1 压缩一个叫做 'file1’的文件
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
cat file1 从第一个字节开始正向查看文件的内容
以下为个人常用:
make env 进入doker环境,才能进行编译、测试
$ vi filename 查看其目录下的文件
创建 online server:
慕课教程笔记
3-1 linux 命令格式
命令 [选项] [参数]
[root @ localhost ~] $
root: 当前登录用户
localhost: 主机名
~ : 当前所在目录(家目录),对普通用户,该目录在于 /home/user
$:普通用户提示符
#: 超级用户提示符
3-2, 3-3文件处理
命令 [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息:ls -l 可简称为 ll
-
linux 里文件不靠扩展名来进行类型识别,而靠文件类型第一位符号区分;
-
详细信息包括:
- 第一位: “ - ” 文件类型 (- 文件;“d” 文件目录;“l” 软连接文件,即快捷方式);
- 后边每三位为一组,以此为:所有组(g),所有者 (u),其他人(o);用户组由拥有相同权限的用户组成
- 能执行的操作: -r read; -w write; -x execute
- 第二位:被调用次数
- 第三位:该文件所有者
- 第四位:用户组
- 第五位:文件大小,以byte为单位,若在命令中加上 “h”,即 " -lh" 人性化显示单位;
- 第六位:最后一次修改时间
- 最后一列:文件名
-d 查看目录属性
- 第一位: “ - ” 文件类型 (- 文件;“d” 文件目录;“l” 软连接文件,即快捷方式);
mkdir dir_name
mkdir -p dir1_name/dir2_name
路径
绝对路径:从根目录开始指定,一级一级递归查找,在任何目录下,都能进入指定位置;
相对路径:从当前所在目录进行查找,只可进入当前目录包含的子目录
tip:善用tab键补全
3-4 常见目录作用
根目录下的 bin 和 sbin,usr 目录下的 bin, sbin 用于保存系统命令。
proc 和 sys 不能直接操作,保存的是 内存过载点。
3-5 链接命令
硬链接特征:
- 有相同的节点和存储块(block),即 多个链接指向同一个内容,改内容存储在同一个区域内;
- 可通过 i 节点识别;
- 不可跨分区
- 不能针对目录使用,即 只对文件
$ ln /path_origi/file_name / path_target/file_name.hard
vi 打开可编辑该文件内容
软链接特征:
- 类似 windows快捷方式
- 拥有自己的 i 节点 和 block块,但数据块中只保存原文件的文件名和节点号,没有实际文件数据
- 修改任意文件,都改变
- 删除原文件,软链接不可使用
- 作用过程:进入该软链接时,先访问该软链接自己的 i 节点和 存储block,它的 存储block 里 存储着指向原文件的 i 节点等相关细信息;于是再根据 这个找到的原文件的 i 节点 找到原文件 的 存储block。
ln -s absolute_path/file_name /target_path/file_name.soft
一定要写绝对路径,不然会报错。
3-6 搜索命令
locate
locate [file_name]
在后台数据库 /var/lib/mlocate(不同linux版本,该名字有些区别) 按文件名搜索,速度快。但该数据库需实时更新:updatedb
其服从 /etc/updatedb.conf 配置文件下的搜索限制(包括了搜索时不搜索的文件系统、文件类型和路径)
whereis & which
搜索命令所在路径及帮助文档所在的位置:
whereis [command_name]
执行该命令可在任意目录下。
通过该命令搜索到的命令都外部安装的命令,一些shell本身自带的命令,如 cd 是无法通过whereis & which 搜索到的。
针对搜索系统命令。
find
对整个空间进行搜索,功能最强大,速度最慢。
必须全一致才可匹配上。
grep
find & grep
任务管理命令
1.
Ctrl+c是强制中断程序的执行。
Ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态。
用户可以使用 fg/bg 操作继续前台或后台的任务, fg 命令重新启动前台被中断的任务, bg 命令把被中断的任务放在后台执行.
2.
$ ps -ef | grep user_name 查看当前docker情况,可看user_name 所占用的进程
$ make check-style 该命令只能在 docker 环境中运行,可以用它检验用户当前是否在 有效docker环境 里
$ htop 也可查进程, PID是进程id
3.
exit 退出 docker 环境
kill -pid 终止某个进程
docker stop
一些概念
Docker 是一个开源的容器引擎, Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker的镜像就是一个只读的模板。
可以将镜像比作一个我们面向对象编程中的 类,而一个容器就是一个类的 实例,因此可以根据一个镜像,创建出很多个容器。
每一个容器都是具体的,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
在容器上面做出更改,然后再把这个容器打包成一个新的镜像,从而以后可以根据改动后的镜像创建出新的容器。
一个 container 其实是一个虚拟化的独立的环境,因此开发者可以将应用打包到这样的一个 docker 容器中,然后发布到任何可以运行 docker 容器的机器中,实现一次打包多处部署,解决了因为环境问题而导致的部署难题。
Docker 利用容器来运行应用。
镜像是只读的,容器在启动的时候创建一层可写层作为最上层。一个镜像可创建多个容器,每个容器都有各自的一个可读写层,这些容器又相互独立,但共享一个的镜像。
容器 = 镜像 + 读写层。
仓库是集中存放镜像的地方。
$ docker --help
管理命令:
container 管理容器
image 管理镜像
network 管理网络
命令:
attach 介入到一个正在运行的容器
build 根据 Dockerfile 构建一个镜像
commit 根据容器的更改创建一个新的镜像
cp 在本地文件系统与容器中复制 文件/文件夹
create 创建一个新容器
images 列出镜像
kill 杀死一个或多个正在运行的容器
logs 取得容器的日志
pause 暂停一个或多个容器的所有进程
rename 重命名一个容器
restart 重新启动一个或多个容器
rm 删除一个或多个容器
ps 列出所有容器
start 启动一个或多个已经停止运行的容器
stop 停止一个或多个正在运行的容器
https://blog.csdn.net/debugbugbg/article/details/82796491
使用Docker的好处:
1. 环境隔离
通过cgroups和namesapce进行实现资源隔离,实现一台机器运行多个容器互不影响。
2. 快速的交付部署
使用docker,开发人员可以利用镜像快速构建一套标准的研发环境;开发完成后,测试和运维人员可以直接通过使用相同的环境来部署代码。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。
3. 高效的资源利用
docker容器的运行不需要额外的虚拟化管理程序的支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。
https://blog.csdn.net/qinaye/article/details/85053088
搜索远端仓库中共享的镜像: docker search
拉取镜像: docker pull
查看镜像列表,列出本地主机上已有的所有镜像: docker images
删除镜像: docker rmi
查看当前正在运行的容器: docker ps -a
查看运行中容器的进程: docker top
删除终止状态的容器: docker rm
停止容器: docker stop
How to Start the container: make env
How to Exit the container: exit
How to Terminate an existing container that has been left running: docker kill
How to Re-attach to an existing container that has been left running: docker attach
How to List running containers: docker ps
9 shell
9-1 shell 概述
shell 是命令行解释器,它为用户提供了一个向 linux 内核发送请求以便运行程序的界面,用户可以用shell来启动、挂起、停止,编写程序。
shell 解释执行的脚本语言,在 shell 中可以直接调用 linux 系统命令。
shell 的两种主要语法类型有 Bourne 和 C, 这两种语法彼此不兼容。Bourne 家族主要包括 sh, Bash(标准shell), psh …; C 家族主要包括 csh, tcsh.
刚打开 shell 时的shell 为 父shell, 在其下调用的shell 为 子shell。
查看当前所在的 shell: echo $SHELL
例:
[root@mainhost crli]$ echo $SHELL
/bin/bash
[root@mainhost crli]$ sh
sh-4.2$
sh-4.2$ echo $SHELL
/bin/bash
sh-4.2$ exit
exit
[root@mainhost crli]$
9-2 shell 执行脚本的方式
echo 输出命令
echo [选项] [输出内容]
写一个脚本
vi hello.sh
#!/bin/Bash
# the first script
echo -e "\e[1;32m hello world \e[0m"
:wq # save script
脚本执行
- 赋予执行权限,直接运行
- chmod 755 hello.sh
- ./hello.sh
- 通过 Bash 调用执行脚本
bash hello.sh
9-3 别名与快捷键
查看系统所有别名命令:
$ alias
设定别名命令:
// 此方法短暂有效,重启消失
alias nick_name = 'original_command'
example: alias ls='ls --color=auto/never'
// 永久有效:写入环境变量配置文件
$ vi ~/.bashrc
// 删除别名
ualias
命令生效顺序:
第一顺位 执行用绝对路径或相对路径执行的命令
第二顺位 执行别名
第三顺位 执行bash内部命令
第四顺位 执行按照 $path 环境变量定义的查找顺序找到的第一个命令
快捷键
ctrl + c 强行终止
ctrl + l 清屏
ctrl + a 光标移动到命令行首
ctrl + e 光标移动到命令行尾
ctrl + u 从光标所在位置删除到行首
ctrl + z 把命令放到后台,并未终止,依旧占用系统空间
7-1 关机和重启命令
shutdown [选项] 时间
选项: -r 重启 -h 关机 -c 取消当前命令
# 不常用
halt
poweroff
init 0
退出登录:logout