Linux常用命令

这篇博客详细介绍了Linux的基本命令,包括文件和目录操作、搜索、进程管理等,以及Docker的常用命令,如创建、启动和管理容器,镜像的使用等。还提到了shell脚本的编写和别名设置。内容涵盖了环境变量配置、文件类型识别、进程管理和资源隔离等核心概念。
摘要由CSDN通过智能技术生成

文件和目录

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 查看目录属性

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

run command  $ docker run hello-world

搜索远端仓库中共享的镜像: 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

脚本执行

  1. 赋予执行权限,直接运行
  • chmod 755 hello.sh
  • ./hello.sh
  1. 通过 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值