什么是命令?
指在Linux终端(命令行)中输入的内容就称之为命令
命令的格式
一个完整的命令的标准格式: Linux通用的格式
#指令主体 (空格) [选项](空格)[操作对象]
一个指令可以包含多个选项
操作对象也可以是多个
张三去操场去跑道跑圈
一、防火墙
查看防火墙状态:firewall-cmd –state 或者systemctl status firewalld.service
启动防火墙:systemctl start firewalld.service
关闭防火墙:systemctl stop firewalld.service
重启:systemctl restart firewalld.service
开机启用:systemctl enable firewalld.service
禁止开机启动:systemctl disable firewalld.service
为了方便学习,建议设置禁止开机自启,放行所有端口号,后续可以设置需要放行的端口号
查看是否开机启动:systemctl is-enabled firewalld.service
这里的service都可以省略不写。
二、放行端口号
firewall-cmd --zone=public --add-port= 端口号/tcp --permanent
”--permanent”选项表示规则是永久生效的,即使重启系统后仍然有效。如果你不希望规则在重启后仍然生效,可以省略该选项重新加载防火墙配置
重新加载防火墙配置
firewall-cmd --reload
三、常用命令
1.文件处理命令 ls(list)
功能描述:显示文件目录
语法: ls 选项 【-ald】
-a 显示所有文件,包括隐藏文件 (all)
-l 详细信息显示
-d 查看目录属性 (一般和l连用 可以查看详细信息)
-h 以可读性较高的形式显示 一般和l连用 ls -lh
2. 文件处理命令 cd(change directory)
范例: cd / 切换到根目录
cd .. 回到上一级目录
路径可以是相对路径也可以是绝对路径 ~代表的是当前用户的家目录
3. 文件处理命令 pwd(print working directory)
功能描述:显示当前所在的工作目录
范例: pwd
-----
4. 文件处理命令 touch(touch)
功能描述:创建空文件
范例: touch newfile
newfile可以是一个文件名也可以是一个包含文件路径的文件名
使用touch来同时创建多个文件 touch 文件1 文件2
注意:不能创建多层文件
5.文件处理命令 mkdir(make directory)
功能描述:创建新目录
范例: mkdir newdir
创建多层文件夹的时候使用的是 mkdir -p 文件夹/文件夹1
当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
一次性创建多个目录 mkdir 目录1 目录2 目录3 ….
6.文件处理命令 cp(copy)
功能描述:复制文件或目录
语法: cp -R [源文件或目录][目的目录]
-R 复制目录
cp [被复制的文档路径] [文档被复制到的路径]
当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,
否则目录将被忽略
复制的时候文件可以重新命名 但是如果非必须 不建议
7.文件处理命令 mv(move)
功能描述:移动文件 更名
语法: mv [源文件或目录][目的目录]
范例: mv file1 file
将当前目录下文件file1更名为file
$ mv file2 dir2
将文件file2 移动到目录dir2下
mv 重新命名
mv 【原文件名】【新文件名】
-------
8.文件处理命令 rm(remove)
f force 强制
功能描述:删除文件
语法: rm -r [文件或目录]
-r 删除目录
范例:$ rm file3
删除文件file3
$ rm -r dir1
删除目录dir1
9.文件处理命令 cat(concatenate and display files)
功能描述:显示文件内容
语法: cat [文件名]
范例:$ cat /etc/issue
$ cat /etc/services
cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
cat testyyl.txt test2.txt > ./test3.txt
10.文件处理命令 more
功能描述:分页显示文件内容
语法: more[文件名]
(空格)或f 显示下一页
(Enter)显示下一行
Q或q退出
范例:$ more /etc/issue
11.文件处理命令 head
功能描述: 查看文件的前几行
语法: head -num [文件名]
-num 显示文件的前num行
范例:$ head -20 /etc/issue
12.文件处理命令 tail
功能描述:查看文件的后几行
语法: tail -num [文件名]
-num 显示文件的后num行
-f 动态显示文件内容
范例:$ tail -30 /etc/issue
13.文件处理命令 wc(word count)
功能描述:统计文本的行数、字数、字符数
语法: wc -mwl [文件名]
-m 统计文本字符数
-w 统计空格字数
-l 统计文本行数
14.文件处理命令 ln(link)
功能描述:产生链接文件
语法: ln -s [源文件][目标文件]
-s 创建软链接 (soft)
范例:$ ln -s /etc/issue /issue.soft
创建文件/etc/issue的软连接/issue.soft
硬连接 (hard)
$ ln /etc/issue /issue.hard
创建文件/etc/issue的硬连接/issue.hard
15.文件搜索命令 find
功能描述:查找文件或目录
语法:find [搜索路径] [选择项] [搜寻关键字]
范例:$ find /etc -name init
在目录/etc中查找文件init
$ find / -size +104800
在根目录下查找大于100MB的文件
$ find / -user root
在根目录下查找所有者为root的文件
$ find /etc -ctime -1
在/etc查找24小时内被修改过属性的文件和目录
$find /etc -size +163840 -a -size -204800
在/etc查找大于80MB小于100MB的文件
$find /etc -name init -exec ls -l {} \;
在/etc下查找init文件并显示其详细信息
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
find /etc/sane.d/ -type f
搜索/etc/sane.d/目录下所有的文件
16.文件搜索命令 grep
功能描述:在文件中搜寻字符串匹配的行并输出
语法:grep [指定字串] [源文件]
范例:grep ftp /etc/service
grep -i aaa不区分大小写aaa
grep -v aaa排除关键字aaa
grep -w aaa 完全匹配aaa关键字
17.压缩解压命令 (GUN zip)
功能描述:压缩文件
语法:gzip 选项 [文件]
压缩后文件格式: .gz
18.压缩解压命令 gunzip(GUN unzip)
功能描述:解压缩 .gz 的压缩文件
语法:gunzip 选项 [压缩文件]
范例: $ gunzip file1.gz
19.压缩解压命令 tar
功能描述:打包目录
语法:tar 选项[zcvf] [压缩文件的名字] [目录]
tar -zcvf nginx.tar.gz ./
-c 产生.tar打包文件
-v 显示详细信息
-z 打包同时压缩
-f 指定压缩后的文件名
解压缩语法 tar -zxvf [指定的压缩文件] -C [目的目录]
-x 解压.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
压缩后文件格式: .tar.gz
指定文件夹 -C
tar -zxvf 压文件的名字 -C 指定的目录
20.压缩解压命令 zip
功能描述:压缩文件或目录
语法:zip 选项[-r][压缩后文件名称][文件或目录]
-r 压缩目录
压缩后文件格式: .zip
21.压缩解压命令 unzip
功能描述:解压.zip的压缩文件
语法:unzip [压缩文件]
范例:$ unzip test.zip
22.压缩解压命令 bzip2
功能描述:压缩文件
语法:bzip2 选项-k
-k 产生压缩文件后保留原文件
压缩后文件格式: .bz2
23.压缩解压命令 bunzip2
功能描述:解压缩文件
语法:bunzip2 选项-k
-k 解压缩文件后保留原文件
24.权限管理命令 chmod(change the permissions mode of a file)
语法:chmod [{ugo}{+-=}{rwx}] [文件或目录]
[mode=421][文件或目录]
r 4 读 read
w 2 写 write
x 1 执行 execute
范例:$ chmod g+w file1
赋予文件file1所属组写权限
$chmod 777 dir1
第一位表示文件类型。如果是—表示文件,d表示是文件夹。。。
第2-4表示当前用户对该文件具有的权限r是read读,w是write写,x表示可以执行
root root
第5-7表示当前用户所在组对该文件/文件夹的权限
第8-10表示出了这个组以外的人对该文件的权限
775
25.帮助命令 man(manual)
功能描述:获得帮助信息
语法:man [命令或配置文件]
范例:$ man ls
26.帮助命令 info(information)
功能描述:获得帮助信息
语法:man [任何关键字]
范例:$ info ls
27.帮助命令 whatis(search the whatis database for strings)
功能描述:获得索引的简短说明信息
语法:whatis apropos[任何关键字]
范例:$ whatis ls
$ apropos fstab 相当于 man -k
### makewhatis
建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是数据库没有建立
28.rpm命令
rpm (Redhat Package Manager)
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
安装
rpm -ivh xxx.rpm # 直接安装
rpmrpm --force -ivh xxx.rpm # 忽略报错,强制安装
卸载
[root@localhost ~]# rpm -ql tree # 查询
[root@localhost ~]# rpm -e tree # 卸载
[root@localhost ~]# rpm -ql tree # 查询
列出所有安装过的包
[root@localhost ~]# rpm -qa
如何获得某个软件包的文件全名
[root@localhost ~]# rpm -q tree
rpm包中的文件安装的位置
[root@localhost ~]# rpm -ql tree
哪个软件包包含这个程序
[root@localhost ~]#rpm -qf `程序名` #返回软件包的全名
[root@localhost ~]#rpm -qif `程序名` #返回软件包的有关信息
[root@localhost ~]#rpm -qlf `程序名` #返回软件包的文件列表
[root@localhost ~]# rpm -qf `shd`
29.输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令 > / >> 文件的路径
注意:文件可以不存在,不存在则新建
案例:使用覆盖重定向,保存ls -la 的执行结果,保存到当前目录下的ls.txt
30.ps -ef 指令(重点)
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)