Linux
关机重启命令/快捷应用/搜索健**
关机命令
shutdown -h now 立刻马上关机
shutdown -h 60 60分钟后关机
- shutdown -c 取消关机
init 0 立刻关机
重启命令
reboot 重启系统
shutdown -r now 重启系统
shutdown -r 30 30分钟后重启
- shutdown -c 取消重启
- logout 注销
windows上的应用搜索快捷键
windows键 + s 搜索
windows键 + a 显示应用程序
相对路经和绝对路径
- 相对路径 在输入路径时,最前面不是**/或者~**,表示相对 当前目录 所在的目录位置
- 绝对路径 在输入路径时,最前面是**/或者~**,表示从 根目录/家目录 开始的具体目录位置
目录树结构
目录 | 说明 | 备注 |
---|---|---|
/root | 管理员root的家目录 | |
/home | 普通用户的默认家目录 | /home/bozai /home/heima |
/bin—>/usr/bin | 普通用户的命令 | /usr/bin/date /usr/bin/ls |
/sbin—>/usr/sbin | 管理员使用的命令 | /usr/sbin/shutdown |
/usr/local | 第三方源码包默认安装目录 | 类似windows下 C:\Program Files |
/etc | 系统和服务相关配置文件 | /etc/passwd |
/var | 动态,可以变化的数据文件 | 日志文件(/var/log/xxx) |
/tmp | 临时文件存放目录 | 全局可写(系统或程序产生临时文件) |
/dev | 设备文件 | /dev/sda /dev/nvme0n1 |
/lib—>/usr/lib | 库文件 | 软连接文件 |
/lib64—>/usr/lib64 | 库文件 | 软连接文件 |
/proc | 虚拟的文件系统 | 反映出来的是内核,进程信息或实时状态 |
/boot | 系统内核,引导程序相关文件 | |
/media | 移动设备默认的挂载点 | |
/mnt | 手工挂载设备的挂载点 |
Linux 下文件和目录的特点
- Linux 文件 或者 目录 名称最长可以有
256
个字符 - 以
.
开头的文件为隐藏文件,需要用 -a 参数才能显示 - . 代表当前目录
- . . 代表上一级目录
- Linux 所有的 目录 和 文件名 都是大小写敏感的
执行yum源更新命令
yum clean all
yum makecache
yum -y update
试试更新系统 yum -y update (不是root的加 sudo),这回可以顺利安装docker或更新系统了。
yum install docker
systemctl start docker
就可以使用docker了
常用yum命令
常用命令
yum install softwarename #安装
yum remove softwarename #卸载软件
yum list softwarename #查看软件源中是否有此软件
yum list all #列出所有软件名称
yum list installed #列出已经安装的软件名称
yum list available #列出可以用yum安装的软件
yum clean all #清空yum缓存
yum search softwareinfo #根据软件信息搜索软件名字(如,使用search web搜索web浏览器)
yum whatprovides filename #在yum源中查找包含filename文件的软件包(如,whatprovides rm搜索汉含rm的软件,命令实质上是文件)
yum update #更新软件,会存在未知问题,一般不对服务器升降级
yum history #查看系统软件改变历史
yum reinstall softwarename #重新安装
yum info softwarename #查看软件信息
yum groups list #查看软件组信息
yum groups info softwarename #查看软件组内包含的软件
yum groups install softwarename #安装组件
yum groups remove softwarename #卸载组件
yum clean all #清理缓存
1、防火墙安装
yum install iptables-services #安装iptables
2、systemctl使用
systemctl unmask firewalld #执行命令,即可实现取消服务的锁定
systemctl mask firewalld # 下次需要锁定该服务时执行
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl reloadt firewalld.service #重载配置
systemctl restart firewalld.service #重启服务
systemctl status firewalld.service #显示服务的状态
systemctl enable firewalld.service #在开机时启用服务
systemctl disable firewalld.service #在开机时禁用服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列表
3、firewall-cmd使用
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #更新防火墙规则
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #重载防火墙规则
firewall-cmd --list-ports #查看所有打开的端口
firewall-cmd --list-services #查看所有允许的服务
firewall-cmd --get-services #获取所有支持的服务
区域相关
firewall-cmd --list-all-zones #查看所有区域信息
firewall-cmd --get-active-zones #查看活动区域信息
firewall-cmd --set-default-zone=public #设置public为默认区域
firewall-cmd --get-default-zone #查看默认区域信息
firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public
接口相关
firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0
firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default
firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域
4、用例
firewall-cmd --query-port=8080/tcp # 查询端口是否开放
firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)
firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)
firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙)
最基本常用指令
ls:查看命令
ls [可选项] 参数 查看目录下的所有文件
如 : ls -a home --> 查看目录下的所有文件包括隐藏文件**
-l 列出所有的文件目录和权限
-a 查看目录下的所有文件,包括隐藏文件
-h human,以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-r 逆序排列
-S 按文件的大小排序
-i 显示文件的inode号(索引号)-R 递归列出目录中的内容
-m 用逗号分隔显示内容-R 递归显示所有的文件
列出当前目录下的内容
ls -a 显示所有的文件包括隐藏文件
ls -l 显示文件的详细信息
ls -h -l 人性化的方式显示文件的大小
通配符
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少 1 个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的的任意一个字符 |
mkdir:目录(文件夹)创建命令
mkdir (名字)
如:mkdir lhj 创建了一个叫lhj的目录
一次创建多个目录 需要加一个选项 -p
mkdir -p school/teacher/student/book
pwd
查看当前路径
pwd
cd 路径
改变当前路径
cd 路径名 切换到指定路径
cd 切换到当前主用户home
cd ~ 切换到当前主用户home
cd . 保持在当前目录不变
cd … 切换到上级目录
cd / 切换到根目录
cd /home 切换到根目录下的home目录
cd - 最近两次工作目录之间来回切换
文件重命名和复制,移动
cp 复制
cp -i a/b/123.txt a/c/456.txt 覆盖文件前提示
cp -r c/d a/cb 将一个目录复制到另一个目录下
mv
mv
命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名mv a.txt b.txt 重命名文件或文件夹
mv a.txt /home/ 将文件a.txt移动到home目录下
rm 选项 文件或目录
移除文件或目录
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用m -rf 目录/文件/压缩包
rm 文件 删除当前目录下的文件
rm -f 删除当前目录下的文件(不询问)
rm -r a 递归删除当前目录下的a目录
rm -rf a 递归删除当前目录下的a文件(不询问)
rm -rf * 将当前目录下的所有目录和文件全部删除
rm-rf /***【自杀命令!慎用!慎用!慎用!】**将根目录下的所有文件全部删除
rmdir -p 目录名称 连同上一级【空的】目录也一起删除
clear
- 清屏
touch
touch 创建/文本 文件
touch -a 参数 -t “year month day time”
-a (修改访问>) -t (修改time)
-m (修改更改>) -t(修改time)
**touch -d "year month day " 参数 **
touch -d “time” 参数 😗*年份当前时间
echo命令
echo 打印
echo Hello World > 参数(文件名)
-n :不输出最后的换行符号
-e :解释转义字符 使 \n \t 等等生效 内容外面要加 “ ” 或 ‘ ’
cat命令
cat 命令:一般查看小文件,从第一行到最后一行列出来
常见选项:
-n:显示行号
-A:显示控制字符,如换行符,制表符等( Linux $ 和 Windows ^M$ )
tac 命令:一般查看小文件,从最后一行到第一行列出来
more和less 命令:一般查看大文件,q退出查看,可以搜索,建议less命令
head 命令:默认查看文件前10行, head -n 15或head -15 表示查看前15行
tail 命令:默认查看文件后10行, tail -n 15或tail -15 表示查看后15行; -f 表示动态查看
ldd 命令:一般用来查看二进制的命令文件file 参数 查看文件类型
stat 参数 查看文件的状态信息 访问 修改 大小权限
which 参数 查看命令位置所在
date 查看系统当前时间
id 用户名 查看有没有此用户
df -h 查看磁盘的空间
下载更新卸载软件
全部更新:
更新可用软件包:sudo apt-get update
更新已安装的包:sudo apt-get upgrade
下载安装:sudo apt-get install 软件名
卸载:sudo apt-get remove
归档压缩文件
归档 tar -cvf abc==.tar== abc
c ,表示create 创建档案
v ,表示verbose 显示详情
f ,表示file
归档并压缩 tar -zcvf abc==.tar.gz== abc
z 压缩成==.tar.gz== 文件格式
解压缩
tar -zxcf abc.tar.gz 解压
tar -zxcf abc.tar.gz -C test 解压到指定目录
文件的权限
查看文件权限
ls -l
-owner :文件的属主 owner
-r :文件是否可读
-w :文件是否可写
-x :文件是否可以执行
修改文件权限
chmod +w abc.txt
chmod -w abc.txt
加减权限 注意 :默认自己
chmod a+w abc.txt
a 所用人修改权限
u 自己修改权限
o 修改别人的权限
修改文件的属主
chown -R zjf /opt/abc
-R 把目录下的子文件子目录一并转移
用户管理
所有操作都要sudo 管理者操作
添加用户
sudo useradd -m test1
-m 表示在 /home 下添加用户目录
修改用户密码
sudo passwd test1
删除用户
sudo userdel test1
注意:这个只删除用户不删除用户目录
注意:还要删除用户目录
超级用户
首次使用,需要设置密码
sudo passwd root
切换到root用户
su root
退出超级用户
exit
用户和组
创建组
groupadd boys
创建用户
useradd -m -g boys ming
其中,-g表示在添加用户,同时将用户加到boys组
修改现有用户到新的组
usermod -g boys zjf
其中usermod表示修改用户信息
bash的标准输入输出
1、名词解释
标准输入(stdin):键盘上的输入 文件描述符—>0
标准输出(stdout):屏幕上正确的输出 文件描述符—>1
标准错误(stderr):屏幕上错误的输出 文件描述符—>2
2、相关符号
> : 标准输出重定向,覆盖重定向, 1>或> 标准输出重定向, 2> 标准错误重定向
>> : 重定向追加, 1>> 标准输出追加, 2>> 标准错误追加
< : 标准输入
&> : 标准输出标准错误重定向
echo -e ‘date\nuuu’ > 1.sh
命令/文件的查找
which 命令 :找出命令的绝对路径
whereis 命令 :找出命令的路径和文档手册信息
文件查找(find)
find 命令:精确查找,磁盘搜索,IO读写,cpu开销大
用法1:找出来输出到屏幕
根据需求查找出来直接输出到屏幕
使用方法:find 查找路径 选项 关键字
常见选项 含义
-name 按照文件名查找文件
-iname 按照文件名忽略大小写查找
-size 按照文件大小来查找
-type 按照文件类型来查找
-mtime 按文件修改时间来查找文件
-atime 按文件访问时间来查
-ctime 文件创建时间来查找文件
-perm 按照文件权限来查找文件
Linux文件类型
##网络ip释放
dhclient -r eth0 释放重新获取新网卡ID -r 释放
ip a 查看网卡ID
dhclient -v eth0 重新获取ID -v 显示数据 1-3-2-4
kali:ssh
service ssh start
systemctl enable ssh
systemctl restart ssh
systemctl status ssh
lsof -i :22 查看端口
快速查找: CTRL + r
帮助命令
man 命令名称
即手册,查找命令的使用方法
使用
man
时的操作键:
操作键 功能 空格键 显示手册页的下一屏 Enter 键 一次滚动手册页的一行 b 回滚一屏 f 前滚一屏 q 退出 /word 搜索 word 字符串 man mkdir
命令名称 --help
- 查找命令的使用帮助
mkdir --help
简约求助命令
type 参数 :判断一个命令是外部还是内部
内部求助 : 参数 help
外部参数: 参数 --help
内部命令:shell内置的命令。bash
外部命令:第三方程序,软件带来的命令
详细求助命令
man 参数
man man
ANUAL SECTIONS
The standard sections of the manual include:
1 User Commands 所有用户使用命令
2 System Calls 系统调用
3 C Library Functions 函数库
4 Devices and Special Files 设备与特殊文件
5 File Formats and Conventions 文档格式说明
6 Games et. Al. 游戏
7 Miscellanea 杂项
8 System Administration tools and Deamons 系统管理员与程序用户相关
程序猿手册 man 23467
管理员手册 man 158
查看相关官方文档
http://httpd.apache.org/docs/2.4/
http://nginx.org/
http://tengine.taobao.org/nginx_docs/cn/docs/
https://www.zabbix.com/documentation/3.4/zh/manual
https://puppet.com/docs
其他社区
https://www.linux