ls命令
列出目录下的内容
ls [-a -l -h] [linux路径]
* -a列出全部文件(包含隐藏的文件/文件夹)
* -l 以列表(竖向排列)的形式展示内容,并展示更多信息
* -l -a 组合使用
* -h 表示以易于阅读的形式,列出文件大小,如K、M、G(必须搭配-l使用)
cd切换工作目录
cd [Linux路径]
直接执行,不写参数,表示回到用户的HOME目录
pwd查看当前工作目录
pwd
pwd命令,无选项,无参数,直接输入pwd即可
相对路径和绝对路径
cd /home/bigsea/Desktop(绝对路径)
cd Desktop(相对路径)
通过cd,可以回到HOME目录,也可以通过特殊路径符号
* . 表示当前目录,/* cd./Desktop 与 cd Desktop效果一致*/
* .. 表示上一级目录, /* cd.. 可切换到上一级目录, cd../.. 切换到上二级的目录*/
* ~ 表示HOME目录 , /* cd~ 切换到HOME目录*/
mkdir命令
mkdir [-p] Linux路径
创建新的目录(文件夹)
* -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
通过-p选项,将一整个链条都创建完成
touch创建文件
可以通过touch命令创建文件
touch Linux路径
cat命令 查看文件内容
准备好文件内容后,可以通过cat查看内容
cat Linux路径
more命令查看文件内容
* cat是直接将内容全部显示出来
* more支持翻页,如果文件内容过多,可以一页页的展示
more Linux路径
example: more /etc/services
* 在查看的过程中,通过空格翻页
* 通过q退出查看
cp命令复制文件文件夹
cp [-r] 参数1 参数2
* -r选项,可选,用于复制文件夹使用,表示递归
* 参数1,Linux路径,表示被复制的文件或文件夹
* 参数2,Linux路径,表示要复制去的地方
复制文件夹
mv移动文件或文件夹(具有改名效果)
mv 参数1 参数2
* 参数1, Linux路径,表示被移动的文件或文件夹
* 参数2, Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm删除文件、文件夹
rm [-r -f] 参数1 参数2 ... 参数N
* -r 用于删除文件夹
* -f 表示强制删除(不会弹出提示确认信息)
* 参数1、参数2表示要删除的文件或文件夹路径,按照空格隔开
删除多个文件
rm删除文件、文件夹 - 通配符*
rm命令支持通配符*, 用来做模糊匹配
* 符号*表示通配符,即匹配任意内容(包含空)
* test*,表示匹配任何以test开头的内容
* *test, 表示匹配任何以test结尾的内容
* *test*, 表示匹配任何包含test的内容
which命令
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里
which 要查找的命令
find命令 - 按文件名查找文件
我们可以通过find命令去搜索指定的文件
find 起始路径 -name "被查找文件名"
确保拥有最大的权限,可以切换到root用户(su - root)
find命令 - 通配符
被查找文件名,支持使用通配符*来做模糊查询
find命令 - 按文件大小查找文件
find 起始路径 -size +|- -n[kMG]
* +、-表示大于和小于
* n表示大小数字
* kMG表示大小单位,分别表示kb、MB、GB
grep命令
可以通过grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
* -n,可选,表示在结果中显示匹配的行的行号
* 参数,关键字,表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围
* 参数,文件路径,表示要过滤内容的文件路径,可作为内容输入端口
带有行号显示
wc命令做数量统计
可以通过wc命令统计文件的行数、单词数量等
wc [-c -m -l -w] 文件路径
* 选项,-c,统计bytes数量(文件大小)
* 选项,-m,统计字符数量
* 选项,-l,统计行数
* 选项,-w,统计单词数量
* 参数,文件路径,被统计的文件,可作为内容输入端口
管道符
管道符: | 将管道符左边命令的结果,作为右边命令的输入
嵌套使用
echo命令
可以使用echo命令在命令行内输出指定内容
echo 输出的内容
* 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围
反引号
我们可以通过将命令用反引号(通常也成为飘号)`将其包围,被`包围的内容,会被作为命令执行,而非普通字符
重定向符
重定向符:> 和 >>
* >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
* >>,将左侧命令的结果,追加写入到符号右侧指定的文件中
tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改
tail [-f -num] Linux路径
* 参数,Linux路径,表示被跟踪的文件路径
* 选项,-f, 表示持续跟踪
* 选项, -num, 表示查看尾部多少行,不填默认10行
默认查看10行
指定查看5行
-f 追踪(停止追踪,ctrl + c)
vi\vim编辑器介绍
visual interface的简称,是Linux中最经典的文本编辑器。
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
vi\vim编辑器的三种工作模式
命令模式(Command mode)
敲的按键编辑器都理解为命令;不能自由进行文本编辑。
输入模式(Inset mode)
编辑模式、插入模式;可以对文件内容进行自由编辑。通过ESC,可以退回到命令模式中。
底线命令模式(Last line mode)
以 : 开始,通常用于文件的保存、退出。
命令模式快捷键
底线命令模式快捷键
root用户(超级管理员)
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
* 普通用户的权限,一般在其HOME目录内是不受限的
* 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su [-] [用户名]
* 切换用户
* -表示切换后加载环境变量,建议戴上
* 用户可以省略,省略默认切换到root
sudo命令
为普通的命令授权,临时以root身份执行
sudo 其他命令
* 在其他命令之前,带上sudo,即可为这一命令临时赋予root授权
* 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
* 切换到root用户,执行 visudo /* 自动通过vi编辑器打开 /etc/sudoers*/
* 在文件的最后添加:
bigsea ALL=(ALL) NOPASSWD:ALL
* 其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码
* 最后通过wq 保存
* 切换到普通用户
* 执行的命令,均以root运行
用户组管理
以下命令需root用户执行
groupadd 用户组名 /* 创建用户组*/
groupdel 用户组名 /* 删除用户组名*/
用户管理
以下命令需root用户执行
* 创建用户
useradd [-g -d] 用户名
* 选项: -g 指定用户的组,不指定-g。会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
* 选项: -d指定用户HOME路径,不指定,HOME目录默认在: /home/用户名
* 删除用户
userdel [-r] 用户名
* 选项: -r, 删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
* 查看用户所属组
id [用户名]
* 参数:用户名,被查看的用户,如果不提供则查看自身
* 修改用户所属组
usermod -aG 用户组 用户名,将指定用来加入指定的用户组
getent命令
使用getent命令,可以查看当前系统中有哪些用户
getent passwd
共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
使用getnet命令,同样可以查看当前系统中有哪些用户组
getnet group
* 包含3份信息,组名称:组认证(显示为x):组ID
认知权限信息
* 序号1,表示文件、文件夹的权限控制信息
* 序号2,表示文件、文件夹的所属用户
* 序号3,表示文件、文件夹所属用户组
序号1权限细节
* r,针对文件可以查看文件内容,针对文件夹,可以查看文件夹内容
* w, 针对文件表示可以修改此文件;针对文件夹,可以在文件夹内:创建、删除、改名等操作
* x,针对文件表示可以将文件作为程序执行:针对文件夹,表示可以更改文件目录到此文件夹
chmod命令
我们可以使用chmod命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或root用户可以修改。
chmod [-R] 权限 文件或文件夹
* 选项: -R 对文件夹内的全部内容应用同样的操作
权限的数字序号
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。r = 4, w = 2, x = 1
0 | --- | 无任何权限 |
1 | --x | 仅有x权限 |
2 | -w- | 仅有w权限 |
3 | -wx | 有w和x权限 |
4 | r-- | 仅有r权限 |
5 | r-x | 有r和x权限 |
6 | rw- | 有r和w权限 |
7 | rwx | 有全部权限 |
chown命令
使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行
chown [-R] [用户] [:] [用户组] 文件或文件夹
* 选项,-R 对应文件夹内全部内容应用相同规则
* 选项,用户,修改所属用户
* 选项,用户组,修改所属用户组
* :用于分隔用户和用户组
ctrl + c强制停止
ctrl + d退出或登出 /*不能用于退出vi/vim */
history 历史命令搜索
ctrl + l 清屏
光标移动快捷键
* ctrl + a 跳到命令开头
* ctrl + e 跳到命令结尾
* ctrl + 键盘左键 向左跳一个单词
* ctrl + 键盘右键 向右跳一个单词
yum命令(需要root权限)
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
yum [-y] [install | remove |search] 软件名称
* 选项: -y, 自动确认,无需手动确认安装或卸载过程
* install 安装
* remove 卸载
* search 搜索
systemctl命令
使用systemctl命令控制:启动、停止、开机自启
systemctl start | stop | status | enable | disable 服务名
* 系统内置服务均可被systemctl控制
* 第三方软件,如果自动注册了可以被systemctl控制
* 第三方软件,如果没有自动注册,可以手动注册
ln创建软连接
在系统中创建软连接,可以将文件、文件夹连接到其他位置。 /*类似于Windows系统的快捷方式*/
ln -s 参数1 参数2
* -s选项,创建软连接
* 参数1, 被链接的文件或文件夹
* 参数2,要链接去的目的地
date命令
通过date命令可以在命令行中查看系统的时间
date [-d] [+格式化字符串]
* -d按照给定的字符串显示日期,一般用于日期计算
* 格式化字符串 通过特定的字符串标记,来控制显示的日期格式
-d代码显示如下
如何修改Linux时区
rm -f /etc/localtime
sudo ln -s /use/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp的作用
可以自动联网同步时间,也可以通过ntpdate -u ntp.aliyun.com 手动校准时间
IP地址
ifconfig
特殊的IP地址
* 127.0.0.1 这个IP地址用于指代本机
* 0.0.0.0 可以用于指代本机; 可以在端口绑定中用来确定绑定关系
* 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
主机名
hostname 查看主机名
hostnamectl set-hostname 主机名, 修改主机名(需要root)
域名解析
可以通过主机名找到对应计算机的IP地址,这就是域名解析
先看看本地的记录
Windows 看 C:\Windows\Systems32\drivers\etc\hosts
Linux 看 : /etc/hosts
再联网去DNS服务器
ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
ping [-c num] ip或主机名
* -c 检查的次数,不使用-c选项,将无限次数持续检查
* 参数, ip或主机名,被检查的服务器的ip地址或主机名地址
wget命令
非交互式的文件下载器,可以在命令行内下载网络文件
wget [-b] url
* 选项 -b 可选,后台下载,会将日志写入当前工作目录的wget-log文件
* 参数 url, 下载链接
* 通过tail命令可以监控后台下载进度 : tail -f wget-log
curl命令
可以发送http网络请求,可用于: 下载文件 、获取信息
curl [-O] url
* 选项: -O 用于下载文件,当url是下载链接时,可以使用此选项保存文件
* 参数: url 要发起请求的网络地址
查看端口占用
使用nmap查看端口的占用情况
nmap 被查看的IP地址
netstat 查看指定端口的占用情况
netstat -anp | grep 端口号
查看进程
进程是指程序在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)
可以通过ps命令查看Linux系统中的进程信息
ps [-e -f]
* 选项 -e 显示全部的进程
* 选项 -f 以完全格式化的形式展示信息(展示全部信息)
关闭进程
通过kill命令关闭进程
kill [-9] 进程ID
* 选项: -9 表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
查看系统资源占用
可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
* 默认每5秒刷新一次, 直接输入top即可,按q或ctrl+c退出
磁盘信息监控
* 使用df命令,查看硬盘的使用情况
df [-h]
* 选项, -h 以更人性化的单位显示
使用iostat查看CPU、磁盘的相关信息(磁盘速率)
iostat [-x] [num1] [num2]
* 选项 -x 显示更多信息
* num1 数字,刷新间隔 num2 数字,刷新几次
网络状态监控
使用sar命令查看网络的相关统计(查看网络情况)
sar -n DEV num1 num2
* 选项: -n 查看网络, DEV表示查看网络接口
* num1 刷新间隔(默认为查看一次结束)
* num2 查看次数(默认无限次数)
自行设置环境变量
环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息
通过env命令可以查看当前系统配置的环境变量信息
通过$符号可以取出环境变量的值
echo $变量名
* 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
export 变量名=变量值
* 针对所有用户生效,配置在系统的: /etc/profile文件中
* 并通过语法: source 配置文件,进行立刻生效
tar命令
* tar格式,归档文件,简单的将文件整合到一个文件内,无压缩效果
* gzip格式,gzip压缩文件,不仅能整合到一个文件,同时有体积压缩效果
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
* -z选项如果使用的话,一般处于选项位第一个
* -f选项,必须在选项位最后一个
* -C选项单独使用,和解压所需的其他参数分开
zip命令压缩文件
zip [-r] 参数1 参数2 ... 参数N
* -r 被压缩的包含文件夹的时候,需要使用-r
unzip解压文件
unzip [-d] 参数
* -d 指定要解压去的位置,同tar的-C选项
* 参数,被解压的zip压缩包文件