Skip to content

Linux 目录结构

Linux 的目录结构为树状结构,最顶级的目录为根目录 /

其他目录通过挂载可以将它们添加到书中,通过解除挂载可以移除他们。

绝对路径与相对路径

绝对路径相对路径
由根目录 / 写起,例如:/usr/share/doc 这个目录。不是由 / 写起,例如由 /usr/share/doc 要到/usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法。

查看目录

Linux 系统当中, ls 命令可能是最常被运行的。

ls查看当前路径下的文件名称
ls -a全部的文件,连同隐藏文件(开头为 . 的文件) 一起列出来(常用)
ls -d仅列出目录本身,而不是列出目录内的文件数据(常用)
ls -l长数据串列出,包含文件的属性与权限等等数据;(常用)
ll等于 ls -l
ls -al目录下的所有文件列出来(含属性与隐藏档)

切换目录

cdChange Directory 的缩写,这是用来变换工作目录的命令。

bash
cd \[相对路径或绝对路径\]

显示当前目录

pwdPrint Working Directory 的缩写,也就是显示目前所在目录的命令。

创建目录

mkdir(make directory) 用来创建新的目录。

bash
mkdir \[-mp\] 目录名称
\-m配置文件的权限,直接配置,不需要看默认权限的脸色
\-p直接将所需要的目录(包含上一级目录) 递归创建起来!
mkdir --help查看帮助

删除目录

rmdir 用来删除空的目录命令。

bash
rmdir \[-p\] 目录名称
\-p连同上一级 \[空的\] 目录也一起删除

文件操作

查看文件内容

cat由第一行开始显示文件内容
more一页一页的显示文件内容
more 空格键(space)代表向下翻一页
more Enter代表向下翻【一行】
more f立刻显示出档名以及目前显示的行数
more q代表立刻离开 more , 不再显示该文件内容。
less一页一页翻动
less 空格键(space)向下翻动一页
less pagedowm向下翻动一页
less pageup向上翻动一页
less q离开 less 这个程序

创建文件

语法:touch 创建一个空白的普通文件

写入内容

echo 把内容重定向到指定的文件中,有则打开,无则创建

echo '内容'>文件名称覆盖模式
echo '内容'>>文件名称追加模式

复制/拷贝文件

bash
cp \[-adfilprsu\] 来源档(source) 目标档(destination)
-a相当于 -pdr 的意思
-d若来源档为连接档的属性link file,则复制连接档属性而非文件本身;
-f为强制force的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-iclear 动作的进行
-l进行硬式连结hard link的连结档创建,而非复制文件本身;
-p连同文件的属性一起复制过去,而非使用默认属性备份常用
-r递归持续复制,用于目录的复制行为:常用
-s复制成为符号连接档symbolic link,亦即捷径文件;
-udestinationsource 旧才升级 destination

移动文件

mv 可以移动文件与目录,或修改名称。

bash
mv \[-fiu\] source destination
-fforce 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i若目标文件destination 已经存在时,就会询问是否覆盖;
-u若目标文件已经存在,且 source 比较新,才会升级 update

删除文件

rm 可以移除文件或目录

bash
rm \[-fir\] 文件或目录
-f就是 force 的意思,忽略不存在的文件,不会出现警告信息。
-i互动模式,在删除前会询问使用者是否动作
-r递归删除,最常用在目录的删除,此操作危险

打包与拆包

一般 Linux 上常用的压缩方式是选用 tar 将许多文件打包成一个文件,再以 gzip 压缩命令压缩成 xxx.tat.gz(或者 xxx.tgz)的文件。

bash
tar -cvf xxx.tar #打包
tar -zcvf xxx.tar.gz #打包并且压缩
tar -xvf xx.tar #拆包
tar -zxvf xx.tar.gz -C /usr/my #拆包解压 注意 -C 大写,防止路径找不到
-c创建一个新 tar 文件
-v显示运行过程的信息
-f指定文件名
-z调用 gzip 压缩命令进行压缩
-t查看压缩文件的内容
-x解开 tar 文件

查看进程快照

ps-aux 显示当前进程的快照

查看 Java 进程:ps -aux | grep java

查看 MySQL 进程:ps -aux | grep mysql

管道

管道是 Linux 中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。

ls --help | more :分页查看帮助信息,按 q 退出

VIM 编辑器

vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 vim 识别为命令,而非输入字符。比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

以下是常用的几个命令:

i切换到输入模式,以输入字符。
x删除当前光标所在处的字符。
切换到底线命令模式,以在最低一行输入命令。

若想要编辑文本:启动 vim,进入了命令模式,按下 i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下 i 就进入了输入模式。在输入模式中,可以使用以下按键:

字符按键以及 Shift 组合输入字符
ENTER换行
BACK SPACE删除光标前一个字符
DEL删除光标后一个字符
方向键在文本中移动光标
HOME/END移动光标到行首/行尾
Page Up/Page Down上/下翻页
Insert切换光标为输入/替换模式,光标将变成竖线/下划线
ESC退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。按 ESC 键可随时退出底线命令模式。

:w保存文件
:w!若文件属性为只读时,强制写入该档案
:q离开 vi
:q!使用!为强制离开不存储档案
:wq存储后离开
:wq!强制存储后离开
:set number显示行号
:set nonumber取消行号显示

Linux 的文件权限

Linux 操作系统中对权限的管理很严格。Linux 系统中不仅是对用户与组根据 UID,GID 进行了管理,还对 Linux 系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式和目录进行访问和操作。

权限共有 10 个字符,我们将它分为 4 大部分来理解:

表示文件的类型

-表示是一个文件
d表示是一个目录
l表示是一个连接(理解为快捷方式)

用户组类型

缩写用户组类型
uowner属主 :当前用户具有的对该文件的权限
ggroup当前组内其他用户具有对该文件的权限
oother其他组的用户具有的对该文件的权限

权限

  • rRead
  • wWrite
  • xexecute 执行

针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

针对文件和目录来说,r,w,x有着不同的作用和含义

命令针对文件针对目录
r读取文件内容查看目录下的文件列表
w修改文件内容删除和创建目录下的文件
x执行权限对除二进制程序以外的文件没什么意义可以 cd 进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

提示

root 账户不受文件权限的读写限制,执行权限受限制

权限项文件类型执行执行
字符表示(d|l|c|s|p)(r)(w)(x)(r)(w)(x)(r)(w)
数字表示42142142
权限分配文件所有者文件所属组用户其他用户

用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

修改文件权限

chownchange owner 的意思,主要作用就是改变文件或者目录所有者。

chmod修改文件和文件夹读写执行属性。使用权限:所有使用者
chown修改文件和文件夹的用户和用户组属性。使用权限:root

mode 方式

bash
chmod who opt per file
who u g o a(all) (u 用户 userg 用户组 groupo 其他用户a 所有用户默认)
opt+添加某个权限 -取消某个权限 =赋予权限
perr w x X

示例:

bash
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log #r 读,w 写, x 执行

数字方式

语法:chmod xxx file

rwx4217
rw-4206
r--4004
  • 0 表示无权限,
  • 1 表示可执行x
  • 2 表示写入权限w
  • 4 表示可读权限r

例如:

bash
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log
权限参数参数参数
用户权限rwx4+2+17
所属组权限r--4+0+04
其他用户权限r--4+0+04

组合:744

修改权限:

  • 都加入写入权限 +2
  • 给用户组加入写入权限:+2
  • 给其他用户加入可执行权限:+1

组合:765

bash
chmod 765 a.txt

Linux 常用网络操作

主机名操作

  • hostname:显示主机名
  • hostname XXX:修改主机名,不推荐,临时生效

永久生效修改主机名需要修改 /etc/sysconfig/network 文件

查询系统完整信息

bash
uname -a #显示完整的系统信息

IP 地址操作

bash
ip addr # 查看 IP 地址
vim /etc/sysconfig/network-scripts/ # 修改 IP 地址
service network restart # 重启网络服务

域名映射

bash
vim /etc/hosts

网络服务管理

bash
systemctl stauts network # 查看网络服务状态
systemctl start network # 启动网络服务
systemctl stop network # 停止网络服务
systemctl restart network # 重启网络服务
systemctl enable network # 设置开启启动

9.6、防火墙设置

bash
systemctl status firewalld #查看防火墙状态
systemctl start firewalld #启动防火墙
systemctl stop firewalld #关闭防火墙
systemctl is-enable firewalld #查看防火墙服务是否开机启动
systemctl enable firewalld #开机时启用防火墙服务
systemctl disable firewalld #开机时禁用防火墙服务
systemctl list-unit-files|grep enabled #查询已经启动的服务列表
systemctl --failed #查询启动失败的服务列表

Released Under The MIT License.