- Published on
Linux基础常用指令
- Authors
- Name
- Et cetera
Linux 概述
冯诺伊曼体系下,计算机由五大基本单元组成:
- 控制器
- 运算器
- 存储器单元
- 输出单元
- 输入单元
Linux 一般分为四个部分:
- 内核
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
- shell
- 文件系统
- 应用程序
- 内核
进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个 CPU 核同一时间只能运行一个进程
- 进程由它的进程 ID(PID)和它父进程的进程 ID(PPID)唯一识别
# 查看启动的 nginx 进程
ps -ef | grep nginx
# 查看指定端口占用情况
lsof -i :5173
# 查看某个进程
top -p 93824
# 关闭指定的进程
kill 93824
# 全部进程动态实时视图
top
Linux 基础常用指令
首先 Linux 系统没有盘符,只有一个根目录/
- linux 中无论什么命令都有其通用的格式:
comman [-options] [parameter]
- command:命令本身
- -options:[可选]命令的一些选项,可以通过选项控制命令的行为细节
- parameter:[可选]命令的参数,多数用于命令的指向目标等
ls 命令
shell ls [-a -l -h] [Linux路径]
当不使用选项和参数直接使用ls
命令本体,表示:以平铺形式,列出当前工作目录下的内容
ls -a
:-a
表示 all,即列出全部文件(包括隐藏的文件/文件夹) ls -l
:-l
表示以列表竖向排列的方式展示内容 ls -al
:选项是可以组合使用的 ls -lh
:-h
表示以易于阅读的形式,列出文件大小,必须搭配-l 一起使用
目录切换
cd
(Change Directory)切换工作目录:cd [Linux路径]
- cd 命令无需选项,只有参数,表示要切换到哪个目录下
- cd 命令直接执行,不写参数,表示回到用户的 HOME 目录
pwd
pwd 查看当前工作目录:无选项、无参数,直接使用命令
相对路径&绝对路径
绝对路径:cd /Users/jiantianjianghui/Web_Project
相对路径:cd Web_Project
等同于cd ./Web_Project
特殊路径符
~
: cd ~
回到 home(我 Mac 下的 home 目录:/Users/jiantianjianghui) 目录 ..
: cd ..
回到上一层目录 .
:cd .
当前目录
mkdir
文件夹操作,创建目录使用:mkdir [-p] Linux路径
- 参数 Linux 路径必传
-p
选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
⚠️注意:创建文件夹需要修改权限,一般都需要在HOME目录下进行操作,HOME外操作涉及到权限问题,无法操作成功
rmdir [-p] 目录名称
删除空的目录
-p
:连同上一级『空的』目录也一起删除
文件操作
- 主要指令:
touch Linux路径
创建文件:无选项、参数必填cat Linux路径
查看文件内容:参数必填-b
:列出行号,仅针对非空白行做行号显示,空白行不标行号!-n
:列印出行号,连同空白行也会有行号,与 -b 的选项不同
more Linux路径
查看文件内容:无选项、参数必填head [-n number] Linux路径
取出文件前面几行:-n
:后面接数字,代表显示几行的意思
tail [-n number] 文件
取出文件后面几行:-n
:后面接数字,代表显示几行的意思-f
:表示持续侦测后面所接的档名,要等到按下[ctrl + c] 才会结束 tail 的侦测
cat
和more
指令查看文件的区别:cat
直接展示所有内容more
支持翻页:通过空格翻页,q 退出查看less
同more
cp [-r] 参数1 参数2
:用于复制文件/文件夹-r
,可选,用于复制文件夹使用,表示递归,常用来拷贝一整个目录- 参数 1:Linux 路径,表示被复制的文件或文件夹
- 参数 2:Linux 路径,表示要复制去的地方
rm [-fir] 文件或目录
移除目录或文件-f
:就是 force 的意思,忽略不存在的文件,不会出现警告信息 同时需要 root 用户权限-i
:互动模式,在删除前会询问使用者是否动作-r
:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!rm
命令支持通配符*
进行模糊匹配,举例如下:test*
,表示匹配任何以 test 开头的内容*test
,表示匹配任何以 test 结尾的内容*test*
,表示匹配任何包含 test 的内容- ⚠️ 常见的删库跑路指令
rm -rf /*
慎用
mv [-fiu] source destination
或mv [options] source1 source2 source3 .... directory
移动文件与目录,或修改名称-f
:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖-i
:若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u
:若目标文件已经存在,且 source 比较新,才会升级 (update)
查找操作
which 命令
:which 一般查找指令所在位置find 起始路径 -name "被查找文件(夹)名"
:根据文件名查找(使用 sudo(mac)/su(linux)root 权限)有了管理员权限后可以全局搜索,文件名也可以使用通配符*
匹配find 起始路径 -size +|-n[kMG]
- +、-表示大于和小于
- n 表示大小数字
- kMG 表示大小单位,k(小写)表示 kb、M 表示 MB、G 表示 GB
- 示例:
- 查找小于 10KB 的文件:
find / -size -10k
- 查找大于 100MB 的文件:
find / -size +100M
- 查找大于 1GB 的文件:
find / -size +1G
- 查找小于 10KB 的文件:
过滤
grep [-n] 关键字 文件路径
:从文件中通过关键字过滤文件行-n
:可选,表示在结果中显示匹配的行的行号- 参数:关键字(必须),表示过滤的关键字,带有空格或其他特殊符号,建议使用
""
将关键字包围起来 - 参数:文件路径(必须),表示要过滤内容的文件路径,可作为内容输入端口
wc [-c -m -l -w] 文件路径
:统计文件的行数、单词数量等-c
:统计 bytes 数量-m
:统计字符数量-l
:统计行数-w
:统计单词数量- 参数:可作为内容输入
|
管道符- 含义:将左侧的输出作为右侧输入
- 示例:
cat demo.txt | grep demo
输出
echo 输出的内容
:可以使用 echo 命令行内输出指定内容
echo `pwd`
被反引号包围的内容会作为指令运行
>
和>>
重定向符>
:将左侧命令的结果,覆盖
写入到符号右侧指定的文件中>>
:将左侧命令的结果,追加
写入到符号右侧制定的文件中