目录
目录
这里面就是linux一些基本常用的指令,当你掌握这些的时候,那么你就差不多入门linux,接下来的路就很好走了!!!为了自己的梦想努力吧!!!
Linux
全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
Linux主要特性
- 基本思想
- 完全免费
- 完全兼容POSIX1.0
- 标准多用户、多任务
- 良好的界面支持多种平台
Linux系统优势
- 代码开源
- 网络功能强大
- 系工具链完整
Linux 系统目录
bin -> usr/bin # 用于存放二进制命令
boot # 内核及引导系统程序所在的目录
dev # 所有设备文件的目录(如磁盘、光驱等)
etc # 配置文件默认路径、服务启动命令存放目录
home # 用户家目录,root用户为/root
lib -> usr/lib # 32位库文件存放目录
lib64 -> usr/lib64 # 64位库文件存放目录
media # 媒体文件存放目录
mnt # 临时挂载设备目录
opt # 自定义软件安装存放目录
proc # 进程及内核信息存放目录
root # Root用户家目录
run # 系统运行时产生临时文件,存放目录
sbin -> usr/sbin # 系统管理命令存放目录
srv # 服务启动之后需要访问的数据目录
sys # 系统使用目录
tmp # 临时文件目录
usr # 系统命令和帮助文件目录
var # 存放内容易变的文件的目录
Linux终端命令格式
终端命令格式
command [-options] [parameter]
常用Linux命令的基本实用
学习Linux终端命令的原因
- Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等
- 在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成
- 在职场中,作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令
- Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已
常用Linux命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹 |
03 | cd[目录名] | changge directory | 切换文件夹 |
04 | touch[文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir[目录名] | make directory | 创建目录 |
06 | rm[文件名] | remove | 删除指定文件 |
07 | clear | clear | 清除 |
小技巧:
- ctrl + shift + = 放大终端窗口的字体显示
- ctrl + - 缩小终端窗口的字体显示
自动补全
- 在敲出 文件 / 目录 / 命令 的前几个字母之后,按下 tab 键
- 如果输入的没有歧义,系统会自动补全
- 如果还存在其他 文件 / 目录 / 命令 ,再按一下 tab 键,系统会提示可能存在的命令
小技巧
- 按 上/下 光标键可以在曾经使用过的命令之间来回切换
- 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
文件和目录常用命令
查看目录内容
ls 命令说明
-
ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS下的 dir 命令
-
Linux 下文件和目录的特点
-
Linux 文件 或者 目录 名称最长可以有 256 个字符参数 含义
-
以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
-
. 代表当前目录
-
.. 代表上一级目录
ls 常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息,罗列详细信息 |
-h | 可读形式展示 |
ls - l 罗列详细信息
- 第一个字母 d 代表文件夹 - 代表文件 l 链接文件link
- 后面 9个字母 前3个字母 当前用户权限 中间3个字母 当前用户所在组的权限后3个字母 其用户权限
切换目录 cd
cd
是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
命令 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切 |
相对路径和绝对路径
相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置
创建和删除操作
touch
- 创建文件或修改文件时间
- 如果文件 不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
mkdir
- 创建一个新的目录
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
rm
- 删除文件或目录
使用 rm 命令要小心,因为文件删除后不能恢复
选项 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | tree [目录名] | tree | 以树状图列出文件目录结构 |
02 | cp 源文件目标文件 | copy | 复制文件或者目录 |
03 | mv 源文件 目标文件 | move | 移动文件或者目录/文件或者目录重命名 |
cat 查看文件内容
查看文件内容,从第一行开始显示。
一般查看比较小的文件,一屏幕能显示全的。
cat -n /etc/passwd # -n参数显示行号
more 文件内容分屏查看器
more 要查看的文件
cat /etc/passwd | more
tail 输出文件尾部内容
# 将文件的后五行输出
tail -n 5 /etc/group
> 输出重定向 和 >> 追加
# 覆盖
ls -alh / > info
# 追加
ls -alh / >> info
ln -s 软链接
ln -s /usr/bin/python3 /usr/bin/python
# 可以连接文件与文件夹
ln 硬链接
ln info info1
#只可以连接文件
用户管理命令
useradd 添加新用户
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
# 创建成员 temp1 -m 默认创建家目录
useradd -m temp1
# 将成员 temp2 添加到组中
groupadd temp
useradd temp2 -g temp
passwd 设置用户密码
passwd 用户名 (功能描述:设置用户密码)
# 给用户设置密码
passwd temp1
cat /etc/passwd 查看创建了哪些用户
# 查看所有的passwd内容
cat /etc/passwd
# 查看前五行
head /etc/passwd -n 5
# 查看后五行
tail /etc/passwd -n 5
su 切换用户
# 默认切换为超级用户
su
userdel 删除用户
userdel -r temp1 # -r 默认删除家目录
sudo 设置普通用户具有 root 权限
# 当访问一些或者更改一些内容时 会出现权限不够
sudo + 原来执行语句 就可执行
usermod 修改用户
usermod -g 用户组 用户名
usermod -g temp temp1
groupadd 新增组
groupadd 组名
groupadd temp
groupdel 删除组
groupdel 组名
groupdel temp
groupmod 修改组
groupmod -n 新组名 老组名
groupdel -n temp tempinfo
cat /etc/group 查看创建了哪些组
# 查看所有的group内容
cat /etc/group
# 查看前五行
head /etc/group -n 5
# 查看后五行
tail /etc/group -n 5
文件权限类
chmod 改变权限
用字母的方式去更改权限:chmod 用户 操作符 权限
用户 : 分为 u 自己 g 组内 o 其他人 a 所有人
操作符 : + - =
用数字的方式去更改权限 : chmod 用户 数字
可读r 为4 可写w为2 可执行x为1 无权限-为0
搜索查找类
grep 过滤查找及 | 管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理,可以前面查出来的东西传给管道符后端的处理,例如 ls | grep -n test
grep是Linux系统中常用的文本搜索工具,可以在文件中查找指定的字符串或者正则表达式,并将匹配的行输出到终端或者文件中。
在文件中查找字符
# 单个文件中查找
grep "string" filename
# 多个文件中查找字符
grep "string" file1 file2 file3
# 忽略大小写查找指定字符串
grep -i "string" filename
在目录中递归查找指定字符串
grep -r "string" directory
显示匹配行的行号
grep -n "string" filename
反向查找不包含指定字符串的行
grep -v "string" filename
将匹配的行输出到文件中
grep "string" filename > output.txt
将进程关键字进行过滤
ps -ef | grep bash
进程管理类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
ps 查看当前系统进程状态
ps -ef:列出所有进程的详细信息,包括进程的PID、PPID、CPU占用率、内存占用率等。
ps aux:与ps -ef类似,但是显示的是所有用户的进程信息。
ps -ef | grep bash
kill 终止进程
配个kill -9 可以杀死进程
ps -ef | grep bash
kill -9 bash的进程号
压缩和解压类
tar 打包
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar)
tar -cf info.tar info info1# 创建一个info.tar
tar -xvf info.tar # 解档
tar -tvf info.tar # 列出归档内容
gzip/gunzip 压缩
只能压缩文件不能压缩目录
不保留原来的文件
同时多个文件会产生多个压缩包
gzip -r info.tar #-r 压缩
gzip -d info.tar.gz # -d 解压