目录
一、Linux的目录结构
Linux的目录结构和Windows系统一样是一个树型结构,但是Windows系统可以拥有多个盘符,如C盘、D盘、E盘,而Linux没有盘符这个概念,只有一个根自录/,所有文件都在它下面。Linux用/表示层级关系而Windows用\表示层级关系。
1.相对路径与绝对路径
绝对路径:以根目录为起点,描述路径的方式,路径以/开头;
相对路径:以当前路径做起点,描述路径的方式。
2.常用特殊路径符
. :表示当前目录
..:表示上一级目录
~ :表示用户的home目录
二、Linux命令的基本结构
无论是什么命令,用于何种用途,在Linux当中,命令均有其通用格式:
command [-options] [parameter]
command:命令自身
options:可选项,控制命令的细节
parameter:命令的参数
三、查看信息类命令
1.ls命令
ls命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [文件路径]
-a:显示出隐藏的文件内容(以“.”开头的文件会被自动隐藏)
-l:以列表的形式展示内容,并展示更多细节
-h:需要和-l选项联合使用,以更加人性化的方式显示文件的大小情况
当不使用选项和参数时,直接使用ls本体,表示以平铺的方式列出当前工作目录下的内容。home目录是每一个用户在Linux系统当中的专属目录,默认在:/home/用户名。当前工作目录默认在home目录下。命令选项是可以组合使用的,比如:ls -lah,等价于ls -a -l -h。
2.pwd命令
没有选项和参数,直接使用可以输出当前所在的工作目录。
3.cat命令
用于查看文件内容,语法是:
cat Linux路径
4.more命令
用于查看文件的内容,可以翻页查看,使用空格进行翻页,使用q退出查看,语法是:
more Linux路径
5.tail命令
查看文件尾部内容,并可以持续跟踪,语法为:
tail [-f -num] Linux路径
-f:持续跟踪
-num:启动的时候查看尾部多少行,默认为10
四、查找文件类命令
1.which命令
查找命令对应的程序文件,语法是:
which 要查找的命令
2.find命令
用于查找指定的文件,有两种查找方式:
(1)按文件名称查找:
find 起始路径 -name “被查找的文件名”
(2)按文件大小查找:
find 起始路径 -size +|-num[kMG]
+/-表示大于和小于。
3.grep命令
从文件中过滤关键行,语法是:
grep[-n] 关键字 文件路径
-n:表示在结果中显示匹配的行的行号
关键字:必填,表示过滤的关键字,建议使用“”将关键字包围起来
文件路径:必填,表示要过滤内容的文件路径,可作为管道符的输入
4.管道符“|”
将管道符左侧的命令结果作为右边命令的输入,常配合grep命令使用。
5.cd命令
cd命令的作用是切换当前工作目录,语法是:
cd [linux路径]
在不使用参数时切换到当前用户的home目录。
五、文件操作命令
1.mkdir命令
mkdir用以创建新的目录(文件夹),语法是:
mkdir [-p] Linux路径
参数必填,表示要创建的目录的路径,相对、绝对、特殊路径符号均可。
-p:表示自动创建不存在的父目录,适用于创建连续多层级的目录。
2.touch命令
用于创建一个新的文件,语法是:
touch Linux路径
3.cp命令
用于复制文件或文件夹,语法是:
cp [-r] 参数1 参数2
-r:用于复制文件夹使用,表示递归
参数1:Linux路径,表示被复制的文件或文件夹
参数2:Linux路径,表示要复制去的位置
4.mv命令
用于移动文件或重命名文件,语法是:
mv 参数1 参数2
参数1:Linux路径,表示被移动的文件或文件夹
参数2:Linux路径,表示要移动去的位置,如果目标不存在,则进行改名。
5.rm命令
用于删除文件或文件夹,语法是:
rm [-r -f] 参数1 参数2 …… 参数N
-r:文件夹删除
-f:用于强制删除,不会提示确认信息,一般用于root用户
参数1-N:表示想要删除的文件或者文件夹路径,支持多个,空格分隔,支持通配符“*”来做模糊匹配
6.wc命令
统计文件的行数、单词数量、字节数、字符数等。语法为:
wc [-c -m -1 -w] 文件路径
不带选项默认统计:行数、单词数、字节数。
-c字节数、-m字符数、-l行数、-w单词数
参数,被统计的文件路径,可作为管道符的输入
7.echo命令
可以使用echo命令在命令行内输出指定内容,语法为:
echo 输出的内容
复杂内容要用双引号包围。
8.反引号符
被“`”包围的内容,会被作为命令执行,而非普通字符。
9.重定向符
>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>:将左侧命令的结果,追加写入到符号右侧指定的文件中
10.软链接
可以将文件、文件夹链接到其他位置,链接只是一个指向,并不是物理移动,类似Windows系统的快捷方式。语法为:
ln -s 参数1 参数2
-s:创建软链接
参数1:被链接的文件或文件夹
参数2:要链接去的目的地
六、Vim编辑器的使用
vi/vim编辑器的三种工作模式
1.命令模式
命令模式下,所敲的案按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下,不能自由进行文本编辑
2.输入模式
也就是所谓的编辑模式、插入模式,此模式下,可以对文件内容进行自由编辑
3.底线命令模式
以“:”开始,通常用于文件的保存、退出
通过以下命令启动vi编辑器:
vi 文件路径
vim 文件路径
vim兼容全部的vi功能,后续建议使用vim命令。如果路径不存在,那么此命令会用于编辑新文件;如果文件路径表示的文件存在,那么此命令用于编辑已有文件。
七、Linux系统权限命令
1.权限操作命令
Linux系统的超级管理员用户是root。
(1)su 命令
可以切换用户,语法为:
su [-] [用户名]
-:表示切换后加载环境变量,建议带上
用户名可以省略,省略默认切换到root。
(2)sudo命令
可以临时给一条普通语句管理员权限。
(3)chown命令
功能是修改文件、文件夹的所属用户和组,只可以在root用户下使用,语法为:
chown [-R] [用户][:][用户组] 文件或文件夹
-R:对文件夹内全部内容应用相同的规则
“:”:用于分隔用户和用户组
(4)systemctl命令
Linux系统很多软件均支持使用systemctl命令控制启动停止和开机自启。能够被systemctl管理的软件一般称之为服务,语法为:
systemctl start|stop|status|enable|disable 服务名
start:启动
stop:关闭
status:查看状态
enable:开机自启
disable:关闭开机自启
2.权限模式
权限数字含义:
权限可以用三组数字来表示,第一组数字表示用户权限,第二组表示用户组权限,第三组表示其他用户权限。每组数字有三位,数字以二进制依次表示rwx权限。
r:表读权限
w:表示写权限
x:表示执行
针对文件、文件夹的不同,rwx的含义 有细微的差别:
r:对于文件可以查看文件内容,针对文件夹,可以查看文件夹内容。
w:针对文件表示可以修改此文件,针对文件夹,可以在文件夹内创建、删除、改名等操作。
x:针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹。
3.Linux用户管理模式
Linux可以支持多用户、多用户组、用户加入多个组。
groupadd 添加组、groupdel 删除组
useradd 添加用户、userdel删除用户
usermod 修改用户组、id命令查看用户信息
getent group 查看系统全部组信息
4.环境变量
环境变量是一组信息记录,类型是KeyValue型,用于操作系统运行的时候记录关键信息。通过env命令查看当前的环境变量信息。通过$可以取出环境变量的值。
环境变量PATH会记录一组目录,目录之间用“:”隔开。记录的是命令的搜索路径,当执行命令时会从记录中记录的环境变量中逐个搜索要执行的命令并执行,可以通过修改环境变量的值来加入自定义的命令搜索路径
如在bashrc文件中修改:export PATH=$PATH:自定义路径
八、文件压缩命令
Linux和Mac系统常有两种压缩格式,后缀名分别是:
tar:归档文件,即简单的将文件组装到一个tar文件内,并没有太多文件体积的减少,仅仅是简单的封装。
gz:即使用gzip压缩算法将文件压缩到一个文件内,可以极大减少压缩后的文件体积。
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作,语法为:
tar [-c -v -x -f -z -C] 参数1 参数2 参数3……
-c:创建压缩文件,用于压缩模式
-v:显示压缩、解压过程,用于查看进度
-x:解压模式
-f:要创建的文件或要解压的文件,f选项必须在所有选项中位置最后一个
-z:gzip模式,不使用-z就是普通的tar格式
-C:选择解压的目的地,用于解压模式
(1)tar命令压缩的常见命令
tar -cvf text.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到text.tar文件内
tar -zcvf text.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到text.tar.gz文件内使用gzip模式
注意:
-z选项如果存在,一般处于选项的第一个
-f选项如果存在必须位于选项的最后一个
(2)tar命令解压的常见命令
tar -xvf text.tar
解压text.tar,将文件解压至当前目录
tar -xvf text.tar -C /home/roy
解压text.tar到指定目录
tar -zxvf text.tar.gz -C /home/roy
以gzip模式解压text.tar.gz,将文件解压至指定目录
注意:
-f:必须在选项组合的最后一位
-z:建议在开头使用
-C:选项单独使用,和解压所需的其他参数分开
(3)zip命令压缩文件
可以使用zip命令压缩文件为zip压缩包,语法为:
zip [-r] 参数1 参数2 …… 参数N
-r:被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
(4)unzip命令解压文件
使用unzip命令可以方便的解压zip压缩包,语法为:
unzip 参数 [-d]
-d:指定要解压去的位置,同tar的-C选项
参数:被解压的zip压缩包文件
九、网络与下载命令
1.apt命令
前面学习的各类Linux命令都是通用的。但是CentOS系统和Ubuntu是使用不同的包管理器。CentOS使用yum管理器。Ubuntu使用apt管理器
语法为:
apt [-y] [install|remove|search] 软件名称
2.网络命令
特殊IP:
127.0.0.1:表示本机
0.0.0.0:也表示本机,或者可以在白名单中表示本机
使用ping命令可以测试到某服务器是否可以联通,语法为:
ping [-c -num] ip或主机名
-c:测试的次数
使用wegt命令可以进行网络文件的下载语法为:
wegt [-b] url
-b:后台下载
使用curl命令可以发起网络请求,语法为:
curl [-O] url
-O:用于下载文件时使用
3.端口命令
IP只能确定计算机,通过端口才能锁定要交互的程序。
端口的划分:
(1)公认端口:1-1023.用于系统内置或常用知名软件绑定使用
(2)注册端口:1024-49151,用于松散绑定使用(用户自定义)
(3)动态端口:49152-65535,用于临时使用(多用于出口)
查看端口占用
nmap IP地址,查看指定IP的对外暴露端口
netstat -anp|grep 端口号,查看本机指定端口号的占用情况
4.进程操作命令
进程是指程序在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID
管理进程的命令
ps-ef:查看进程信息
kill [-9] 进程号,关闭指定进程号的进程
-9:为强制关闭
十、其他常用命令
1.top命令
任务管理器。查看CPU、内存、进程的信息
2.df命令
查看磁盘使用率
3.iostat命令
查看磁盘速率信息
4.sar -n DEV
查看网络情况