1、Linux目录结构
Linux的目录结构为树状结构,最顶级的目录为根目录/。
其他目录通过挂载可以将它们添加到书中,通过解除挂载可以移除他们。
绝对路径与相对路径:
绝对路径:由根目录/写起,例如:/usr/share/doc这个目录。
相对路径:不是由/写起,例如由/usr/share/doc要到/usr/share/man底下时,可以写成:cd../man这就是相对路径的写法。
1.1、查看目录
Linux系统当中,ls命令可能是最常被运行的。
语法:
ls:查看当前路径下的文件名称
ls-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
ls-d:仅列出目录本身,而不是列出目录内的文件数据(常用)
ls-l:长数据串列出,包含文件的属性与权限等等数据;(常用)
ll:等价于ls-l
ls-al:目录下的所有文件列出来(含属性与隐藏档)
1.2、切换目录
cd是ChangeDirectory的缩写,这是用来变换工作目录的命令。
语法:
cd[相对路径或绝对路径]
#使用绝对路径切换到local目录
cd/usr/local/
#表示回到自己的家目录,亦即是/root这个目录
cd~
#表示去到目前的上一级目录,亦即是/root的上一级目录的意思;cd..
1.3、显示当前目录
pwd是PrintWorkingDirectory的缩写,也就是显示目前所在目录的命令。
语法:
pwd
1.4、创建目录
mkdir(makedirectory)用来创建新的目录。
语法:mkdir[-mp]目录名称
-m:配置文件的权限,直接配置,不需要看默认权限的脸色
-p:直接将所需要的目录(包含上一级目录)递归创建起来!
查看帮助mkdir--help
1.5、删除目录
rmdir命令用来删除空的目录。
语法:rmdir[-p]目录名称
-p:连同上一级[空的]目录也一起删除
2、文件操作
2.1、查看文件内容
cat查看所有内容
语法:cat由第一行开始显示文件内容
more一页一页的显示文件内容
语法:more文件名称
在more这个程序的运行过程中,有以下按键功能:
空格键(space):代表向下翻一页;
Enter:代表向下翻【一行】;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开more,不再显示该文件内容。
less一页一页翻动
语法:less文件名称
less运行时可以输入的命令有:
空格键:向下翻动一页;
[pagedowm]:向下翻动一页;
[pageup]:向上翻动一页;
q:离开less这个程序;
2.2、创建文件
语法:touch创建一个空白的普通文件
2.3、写入内容
echo把内容重定向到指定的文件中,有则打开,无则创建
语法:
echo'内容'>文件名称覆盖模式
echo'内容'>>文件名称追加模式
2.4、复制/拷贝文件
语法:cp[-adfilprsu]来源档(source)目标档(destination)
-a:相当于-pdr的意思
-d:若来源档为连接档的属性(linkfile),则复制连接档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若clear动作的进行
-l:进行硬式连结(hardlink)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-r:递归持续复制,用于目录的复制行为:(常用)
-s:复制成为符号连接档(symboliclink),亦即【捷径】文件;
-u:若destination比source旧才升级destination
2.5、移动文件
mv可以移动文件与目录,或修改名称。
语法:mv[-fiu]sourcedestination
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i:若目标文件(destination)已经存在时,就会询问是否覆盖;
-u:若目标文件已经存在,且source比较新,才会升级(update)
2.6、删除文件
rm可以移除文件或目录
语法:rm[-fir]文件或目录
-f:就是force的意思,忽略不存在的文件,不会出现警告信息。
-i:互动模式,在删除前会询问使用者是否动作
-r:递归删除,最常用在目录的删除,此操作危险
3、打包与拆包
一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tat.gz(或者xxx.tgz)的文件。
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
打包:tar-cvfxxx.tar要打包的文件或目录的列表,用空格隔开
打包并且压缩:tar-zcvfxxx.tar.gz要打包的文件或目录的列表,用空格隔开
解压:tar-xvfxx.tar
tar-zxvfxx.tar.gz-C/usr/my注意-C大写,防止拆包解压的路径找不到
4、查看进程快照
ps:-aux显示当前进程的快照
查看Java进程:ps-aux|grepjava
查看MySQL进程:ps-aux|grepmysql
5、管道|
管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。
ls--help|more# 分页查看帮助信息,按q退出
6、VIM编辑器
vim共分为三种模式,分别是命令模式(Commandmode),输入模式(Insertmode)和底线命令模式(Lastlinemode)
命令模式:
用户刚刚启动vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i切换到输入模式,以输入字符。
x删除当前光标所在处的字符。
:切换到底线命令模式,以在最低一行输入命令。
若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式:
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACKSPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
PageUp/PageDown,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式:
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q退出程序
w保存文件
按ESC键可随时退出底线命令模式。
7、Linux的文件权限
Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式和目录进行访问和操作。
权限共有10个字符,我们将它分为4大部分来理解:
第1部分、表示文件的类型
-表示是一个文件
d表示是一个目录
l表示是一个连接(理解为快捷方式)
第2部分、当前用户具有的对该文件的权限(owner属主,缩写u)
第3部分、当前组内其他用户具有对该文件的权限(group属组,缩写g)
第4部分、其他组的用户具有的对该文件的权限(other其他,缩写o)
r:Read读
w:Write写
x:execute执行
针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
针对文件和目录来说,r,w,x有着不同的作用和含义
针对文件:r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
PS:root账户不受文件权限的读写限制,执行权限受限制
用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。
7.2、修改文件权限
chown是changeowner的意思,主要作用就是改变文件或者目录所有者。
chmod修改文件和文件夹读写执行属性。使用权限:所有使用者
chown修改文件和文件夹的用户和用户组属性。使用权限:root
7.2.1、mode方式
语法:chmod who opt per file
who:ugoa(all)(u用户user,g用户组group,o其他用户,a所有用户默认)
opt:+添加某个权限-取消某个权限=赋予权限
per:rwxX
示例:
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log //r读,w写,x执行
7.2.2、数字方式
语法:
chmod xxx file
rwx rw- r--
421 420 400
7 6 4
0表示无权限,1表示可执行=x,2表示写入权限=w,4表示可读权限=r
例如:
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log
用户权限=rwx=4+2+1=7
所属组权限=r--=4+0+0=4
其他用户权限=r--=4+0+0=4
组合:744
修改权限:
都加入写入权限+2
给用户组加入写入权限:+2
给其他用户加入可执行权限:+1
chmod 765 a.txt
8、Linux常用网络操作
8.1主机名操作
hostname:显示主机名
hostname XXX:修改主机名,不推荐,临时生效
永久生效修改主机名需要修改/etc/sysconfig/network文件
8.2查询系统完整信息
uname-a:显示完整的系统信息
8.3IP地址操作
查看IP地址:ipaddr
修改IP地址:修改/etc/sysconfig/network-scripts/
重启网络服务:servicenetworkrestart
8.4、域名映射
修改/etc/hosts文件
8.5、网络服务管理
查看网络服务状态:systemctlstautsnetwork
启动网络服务:systemctlstartnetwork
停止网络服务:systemctlstopnetwork
重启网络服务:systemctlrestartnetwork
设置开启启动:systemctlenablenetwork
8.6、防火墙设置
查看防火墙状态:systemctlstatusfirewalld
启动防火墙:systemctlstartfirewalld
关闭防火墙:systemctlstopfirewalld
查看防火墙服务是否开机启动:systemctlis-enablefirewalld
开机时启用防火墙服务:systemctlenablefirewalld
开机时禁用防火墙服务:systemctldisablefirewalld
查询已经启动的服务列表:systemctllist-unit-files|grepenabled
查询启动失败的服务列表:systemctl--failed