1 linux文件与目录结构
1.1 linux 文件
linux 系统中一切皆文件
1.2 linux 目录结构
2 系统管理操作
2.1 systemctl
- linux很多内置、第三方软件均支持 systemctl命令控制:启动、停止、开机自启
- 能够被 systemctl 管理的软件,一般也称之为 服务
语法:
systemctl start | stop | status | enable | disable 服务名
start :启动
stop :关闭
status :查看状态
enable :开启开机自启
disable :关闭开机自启
系统内置的服务很多,例如:
NetworkManager 主网络服务
network 副网络服务
firewalld 防火墙服务(ufw)
sshd ssh服务(FinalShell远程登录 Linux 使用这个服务)
2.2 修改主机命令
sudo hostnamectl --static set-hostname 新名称
3.常用命令
3.1 帮助命令
- man
当我们想要了解某个命令如何使用,及选项的含义是什么以及配置文件的帮助信息时,可以使用 man [命令或配置文件],这样便可以获得到帮助提示信息了。
语法格式:man [命令或者配置文件]
比如,常用的ls命令,我们想要查看其选项参数有哪些,可以使用man ls来查看帮助信息。

在这里插入图片描述
通过键盘上的上下键来进行帮助信息滚动,然后使用q来进行退出
2. help
help 指令,用于获得shell内置命令的帮助信息。
语法格式:help 命令
Shell 内置命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件,比如我们常常使用的切换目录 cd命令(tip:可以通过type 命令来确定一个命令是否为Shell内置命令)。
type cd # 查看命令是否为Shell内建命令
help cd # 查看cd命令的帮助信息
shell

3.2 linux 的快捷键
强制停止 ctrl + c
某些程序一直在运行,无法返回命令输入模式,就可以 ctrl + c 强制停止
命令输入错误,想重新写,可以 ctrl + c 停止换下一行输入
退出或登出 ctrl + d
如果你在linux里登入 mysql、python等等的软件用户,可以通过 ctrl + d 登出
linux查找历史命令 history
如果想查看在linux里面输入的历史命令,可以直接输入:history
也可以通过 !命令前缀,自动执行上一次匹配前缀的命令
可以通过快捷键:ctrl + r,输入内容去匹配历史命令(如果搜索到内容是你需要的,那么可回车键可以直接执行,键盘左右键可以得到此命令但不执行)
光标移动快捷键
ctrl + a 跳到命令开头
ctrl + e 跳到命令结尾
ctrl + 键盘左键,向左跳一个单词
ctrl + 键盘右键,向右跳一个单词
清屏
通过快捷键 ctrl + l 清屏
可以输入 clear 进行清屏
3.3 文件目录的切换和查看
1.pwd 指令
pwd指令,用于显示当前工作目录的绝对路径。
语法格式:pwd
比如,我们切换到home目录下,然后查看当前目录的绝对路径
cd /home # 切换目录到home目录下
ls # 查看信息
pwd #查看当前工作目录的绝对路径
2.ls 指令
ls指令,用于查看当前工作目录下的文件和目录名信息。
语法格式:ls [选项] [目录名或者文件名]
常用选项:
-a : 显示当前目录的所有文件和目录,包括隐藏的目录和文件。
-l : 以列表的方式显示信息。
cd /home #切换工作目录
ls # 查看当前目录下的子文件和目录信息
ls -a # 查看所有当前目录下的子文件和目录信息
ls -l # 以列表的方式显示信息cd 指令
3.cd 指令
就是切换工作目录和路径的指令,它可以是绝对路径和相对路径名的切换。
语法格式:cd [参数]
cd ~: 回到自己的家目录cd :: 回到自己的家目录cd..: 回到当前目录的上一级目录- cd 绝对路径
- cd 相对路径
- cd – 回到上一次目录

3.4 创建目录和文件
1.mkdir
指令用于创建目录。
语法格式:mkdir [选项] 要创建的目录名。
常用选项 -p ,创建多级目录。
例如:在home目录下创建一个目录test1为单级目录,然后再创建一个car目录,里面包括一个parts子目录。
cd /home
ls
mkdir test1 # 创建test1单级目录
ls
mkdir -p car/parts # 创建一个多级目录
ls
cd car/ # 进入到car目录中查看子目录parts是否创建成功
ls
2.cp 指令
cp 指令拷贝文件到指定目录。
语法格式:cp [选项] source dest,(source即为源文件名,dest为目的文件名)。
常用选项:-r ,递归复制整个文件夹。
注意,使用递归复制某个文件夹时,如果在复制的过程中,出现重名的文件,想跳过重名文件不覆盖,且不进行信息提示的话,使用\cp -r XXXX。
cd /home
ls
mkdir car #新建car目录
ls
cd car/ 切换到car目录中
mkdir test # 新建test子目录
touch test.txt # 新建test.txt文件
ls
cd /home
mkdir demo #新建demo目录
cp -r car demo #将car中的所有内容拷贝到demo目录中去(选项参数-r,递归拷贝)
cd demo/ #切换到demo目录中进行查看
ls
cd car/
ls
3.touch 创建空文件
touch 指令用于创建空文件。
语法格式:touch 文件名称
3.5 删除移动目录文件
1.mv
将源文件移动到目标文件夹中,格式如下:
mv [源文件] [目标文件夹]
mv test.txt /home/workdir/**重命名文件**
重命名文件
mv test.txt new_test.txt
2.rm 指令
rm 指令移除文件或者移除目录。
语法格式:rm [选项] 要删除的文件或者目录名
常用选项:
- -r : 递归删除整个文件夹
- -f : 强制删除不提示
cd /home
ls
rm -rf demo
rm -rf car
ls
3.6 查看文件
cat 指令
cat 查看文件内容
语法格式:cat [选项] 要查看的文件
常用选项:-n ,显示行号
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
**-e:**等价于"-vE"选项;
**-t:**等价于"-vT"选项;
cat 只能浏览文件,而不能修改文件,为了浏览方便一般结合 |more指令。
more指令
more指令时一个基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本文件的内容。more指令中内置了若干快捷键。
more与cat类似,但是more指令是以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,按 h 。常用操作命令:
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
less 指令
less是用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持显示各种终端。less指令在显示原始文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于大型文件具有较高的效率。
less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
语法格式:less [选项参数] 文件
tail 指令
tail 用于输出文件中尾部的内容,默认情况下,tail指令显示文件的末尾10行内容。(与head指令恰好相反)
tail 文件 # 查看文件末尾10行内容
tail -n X 文件 # 查看文件末尾X行内容,x可以是任意行数
tail -f 文件 # 追踪文档更新
输出重定向 和 >> 追加指令
语法格式:
ls -l>文件,将列表的内容写入到文件中(覆盖写模式)。
ls -al>>文件,将列表的内容追加到文件中(末尾追加模式)。
cat 文件1>文件2,将文件1的内容覆盖到文件2中去。
echo "内容">>文件,将“内容”追加到文件末尾中去。
例如:在home目录下创建一个demo目录,然后里面分别创建a.txt文件(空文件)和b.txt文件(有一段字符‘test01’),然后分别进行上面语法格式的练习。
cd /home
mkdir demo
cd demo/
touch a.txt # 创建一个空的文件a.txt
vim b.txt # 使用vim编辑器,创建b.txt并且编辑其中的文本内容
ls
ls -l>a.txt # 将列表中的内容写入到文件a.txt中
vim a.txt # 使用vim编辑器查看a.txt中的内容
ls -al>>a.txt # 将列表中的内容追加到a.txt中
vim a.txt
cat a.txt>b.txt # 将a.txt的内容覆盖到b.txt中
vim b.txt
echo helloworld >> b.txt #对b.txt文件末尾追加hellowold
vim b.txt
、
3.7 软链接
ln -s ~/桌面/2.txt ./无敌
删除
rm -rf 软链接名
通过ll查看
3.8 history 查看已经执行过的历史命令
4 VI/VIM编辑器
既能打印基本的英文中文,还能编译特点符号,将Ascll码识别
语法
语法:
vi 文件路径
vim 文件路径
vi/vim 编辑器的三种工作模式
命令模式:
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能
此模型下不能自由进行文本编辑。
输入模式:
输入模式即为编辑模式,在该模式下可以对文件内容进行自由编辑
底线命令模式:
以 : 开始,通常用于文件的保存、退出。

模式 命令 描述
命令模式 i 在当前光标位置进入 输入模式
命令模式 a 在当前光标位置 之后 进入输入模式
命令模式 I 在当前行的开头,进入输入模式
命令模式 A 在当前行的结尾,进入输入模式
命令模式 o 在当前光标下一行进入输入模式
命令模式 O 在当前光标上一行进入输入模式
输入模式
esc
任何情况下输入 esc 都能回到命令模式
命令模式 上键、键盘 k 向上移动光标
命令模式 下键、键盘 j 向下移动光标
命令模式
左键、键盘h 向左移动光标
命令模式 右键、键盘 l 向右移动光标
命令模式 0 移动光标到当前行的开头
命令模式 $ 移动光标到当前行的结尾
命令模式 pageup(PGUP)
向上翻页
命令模式 pageudown(PGDN) 向下翻页
命令模式 / 进入搜索模式
命令模式 n 向下继续搜索
命令模式 N 向上继续搜索
命令模式 dd 删除光标所在的行内容
命令模式 ndd n是数字,表示删除当前光标向下的n行
命令模式 yy 复制当前行
命令模式 nyy n是数字,复制当前行和下面的n行
命令模式 p 粘贴复制的内容
命令模式 u 撤销修改
命令模式 ctrl + r 反向撤销修改
命令模式 gg 跳到首行
命令模式 G 跳到末尾
命令模式 dG 从当前行开始,向下全部删除
命令模式 dgg 从当前行开始,向上全部删除
命令模式 d$ 从当前光标开始,删除到本行的结尾
命令模式 d0 从当前光标开始,删除到本行的开头
底线命令模式 :wq 保存并退出
底线命令模式 :q 仅退出
底线命令模式 :q! 强制退出
底线命令模式 :w 仅保存
底线命令模式 :set nu 显示行号
底线命令模式 :set paste
设置粘贴模式
从外部复制进来,格式不会变
5.用户和用户组
用户组的管理
以下命令需 root 用户执行
- 创建用户组:groupadd 用户组名
- 删除用户组:groupdel 用户组名
用户的管理
useradd命令:创建用户
语法:useradd [-g -d] 用户名
选项:-g 指定用户的组,不指定-g ,会自动创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用 -g
选项:-d 指定用户HOME 路径,不指定,HOME目录默认: /home/用户名
举例: 创建一个 username 用户,并加入 usergroup 组,其HOME路径为:/home/file
useradd username -g usergroup -d /home/file
userdel 命令:删除用户
语法:userdel [-r] 用户名
选项:-r,删除用户的 HOME 目录,不使用 -r ,删除用户,HOME目录保留
参数:用户名,需要删除的用户
id 命令:查看用户所属组
语法:id [用户名]
参数:用户名,被查看的用户名,如果不写,就查看本身用户
usermod 命令:修改用户所属组
语法:usermod -aG 用户组 用户名
将指定用户加入指定用户组
sudo设置普通用户具有root权限
将对应命令给到root用户去执行
6.文件权限
认识权限信息

上图中:
- 图中 1 表示文件、文件夹的权限控制信息
- 图中 2 表示文件、文件夹所属用户
- 图中 3 表示文件、文件夹所属用户组
解读上图中 1 的权限信息:
- r:读权限 可以查看文件和文件夹,如使用 ls、cat、more等查看的命令
- w:写权限 可以修改文件,并且对文件夹可以进行创建、删除、改名、增加等命令
- x:执行权限 可以将文件作为执行程序来执行,对文件夹可以cd到文件夹

举例:drwxr-xrw-
第 1 位:d表示是文件夹
第 2~4位:rwx 表示文件夹所属用户拥有 读、写、执行 的权限
第 5~7位:r-x 表示该文件夹所属的用户组拥有对文件夹的 读、执行的权限
第 8~10位:rw- 表示其他用户对该文件夹拥有 读写权限
chomd 改变权限
chmod :修改文件、文件夹的权限信息
只有文件、文件夹的所属用户或root用户可以修改
语法:chmod [-R] 权限 文件或文件夹
选项 -R:对文件夹内的全部内容应用同样的操作
权限:可以使用 u g o 来表示
例如:chmod u=rwx,g=rx,o=x test.txt
其中:u代表user所属用户权限,g代表group组权限,o代表other其他用户权限
chown 命令
- chown:修改文件、文件夹的所属用户和用户组
- 普通用户无法修改所属为其他用户或组,所以此命令只适合root用户执行
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
选项:-R,对文件夹内全部内容应用相同规则
选项:用户,修改所属用户
选项:用户组,修改所属用户组
: 用于分隔用户和用户组
参数:文件或文件夹,需要修改的文件或文件夹
chown root test.txt 将 test.txt 所属用户修改为 root
chown :root test.txt 将 test.txt 所属用户组修改为 root
chown root:groupname test.txt 将 test.txt 所属用户修改为root,用户组修改为groupname
chown -R root test 将 test 文件夹及文件夹下所有内容所属用户修改为 root
7.搜索查找类
7.1find查找文件或目录
按文件名查找:
find 命令:按文件名查找文件
语法:find 起始路径 -name/user "被查找文件名/所有者"
例子:find /home -name/user "test"
在 /home 路径下找到 test 文件
按文件大小查找
find命令:按文件大小查找文件
语法:find 起始路径 -size +|-n[KMG]
+-:表示大于小于
n:表示大小数字
KMG:表示大小单位,k表示kb,M表示MB,G表示GB
例子:
查找小于20KB的文件:find / -size -20k
查找大于200MB的文件:find / -size +200M
查找大于20G的文件:find / -size +20G
7.2 grep 过滤查找以及|管道符
- 管道符 | 左边的命令的结果,作为右边命令的输入
- 管道符 | 一般配合 grep 使用,左边的输入,右边进行筛选
例子:
1、左边输出test.txt,右边 grep在test.txt文件中查找“test_word”
cat test.txt | grep "test_word"
2、在 ls -l 输出的内容中找到 test
ls -l | grep "test"
8.压缩和解压类
tar
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
tar -zcvf file.tar.gz//压缩tar.gz
9.磁盘类
①df 命令:
检查磁盘分区的空间使用情况,用于显示磁盘空间使用情况和文件系统的统计信息。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
-h:以人类可读的方式显示磁盘空间大小(例如GB、MB)。
②du 命令:
用于估算文件或目录的磁盘空间使用量。
-h:以人类可读的方式显示磁盘使用量(例如GB、MB)。
-s:仅显示总体使用量,而不显示子目录的细节。
-c:显示所有目录和文件的总体使用量。
-a:显示每个文件的详细使用量,包括隐藏文件。
10 进程线程类
1、查看所有进程(连带命令行)
ps -ef
- UID:用户ID,即进程的拥有者
- PID:进程ID
- PPID:父进程ID
- C:进程占用的CPU百分比
- STIME:进程开始启动时间
- TTY:登入者的终端机位置
- TIME:进程使用的CPU(运算)时间
- CMD:调用进程的命令
2、显示所有包含其他使用者的进程
ps -aux
- USER:创建进程的用户
- PID:进程ID
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用虚拟内存的大小(单位KB)
- RSS:进程占用实际物理内存的大小(单位KB)
- TTY:进程在哪个终端运行。
- STAT:进程状态
- START:进程开始启动的时间
- TIME:进程使用的CPU(运算)时间
- COMMAND:调用进程的命令
3.kill杀死进程
kill 进程号
kill -9 进程号 完全杀死
4.查看服务器总体进程
查看端口号
netstart
查看占用情况
语法:netstat -anp | grep 端口号 查看进程网络信息
语法:netstat -nlp | grep 查看网络端口占用情况
11 .定时任务
查看cron服务开启
systemctl status cron
以下是一些常用的crontab命令:
crontab -e:编辑当前用户的定时任务列表。该命令会在默认编辑器中打开定时任务文件,你可以添加、修改和删除定时任务。
crontab -l:列出当前用户的定时任务列表。该命令会将定时任务以文本形式输出到终端。
crontab -r:删除当前用户的所有定时任务。该命令会删除当前用户的定时任务文件,并且无法恢复,请谨慎使用。
-
-
-
- *命令名
│ │ │ │ └星期(0-7)(0和7都代表星期天)
│ │ │ └──月(1-12)
│ │ └────日(1-31)
│ └──────小时(0-23)
└────────分钟(0-59)
- *命令名
-
-