目录
linux目录
/ # 根目录
/home # 家目录
/root # 管理员账号的家目录
/etc # 主要配置文件
/bin # 存储指令对应的可以执行的程序文件目录
/var # 可变的目录(该目录经常出现 增删改)一般存放日志文件
/tmp #临时文件
/dev # 设备的挂载目录
/boot # 系统启动核心目录,用于存储系统启动文件
linux常见的命令
命令 选项 路径 # 一般选项叠加没有先后顺序
ls命令
ls / 列出跟目录下的所有目录及文件
ls -l / 列出跟目录下的所有目录及文件(查看属性)
ls -A / 列出跟目录下的所有目录及文件(查看隐藏文件)
ls -a / 列出跟目录下的所有目录及文件(包含.和..两个目录)
ls -lh / 列出跟目录下的所有目录及文件(带容量单位查看详细属性)
cd 切换目
绝对路径 /etc/ 从根目录开始往下
相对路径 ../ 上一级
cd /etc/
创建用户设置密码
useradd 用户名称
passwd 用户 回车 # 创建密码
Linux远程文件上传及下载
windows下的DOS窗口连接命令
ssh root@192.168.89.128
上传文件 scp a.txt root@192.168.89.128:/home/ :/ 后面接路径
下载文件E scp root@192.168.89.128:/home/root.txt root.txt 下载要指定到文件路径
systemctl
systemctl start httpd 启动httpd服务
restart # 重启服务
stop # 关闭服务
status # 查看服务启动状态
enable # 开机自启动
disable # 开机不启动
cat命令
cat /etc/passwd # 查看用户的文件
cat -n /etc/passwd # 会显示行号
cat -b #将多个空白行压缩成一行
cat -s #显示控制字符
cat -E #将制表符显示为^I
cat -v #在每行结尾显示$
cat -T #相当于-vET
less命令 分页查看
作用:以分屏的形式查看文件的所有内容
说明:使用鼠标滚轮可以翻页查看,也可以使用上下键翻页
输入q退出
less /etc/passwd
head tail命令 查看文件规定行数
格式 head -n 文件名
-n:number 数字
head -3 /etc/passwd 查看前三行
tail -3 /etc/passwd 查看后三行
grep 输出包含指定字符串的行
格式 grep 选项 ‘查找条件’ 目标文件
grep -v 取反匹配
grep -i 忽略大小写
grep ^xx 以什么开头
grep xx$ 以什么结尾
grep ^$ 表是空行
-n 代表行号
mkdir 创建目录
mkdir a b c # 创建目录
mkdir -p d/e/f # 连续创建多级目录
tree # 当前目录结构
tree /etc
mkdir -p /a/b/c /d/e/f
touch 创建一个文件
touch aa.txt b.txt # 创建文件
cp 复制
复制文件和目录: cp [选项] [源文件] [目标路径]
cp /root/a.txt /root/b
-r # 递归
cp -r /root /root/b
mv移动
作用:移动文件及目录 mv 源文件 目标路径
mv /root/e.txt /root/a # 移动文件
mv a new_a # 修改a目录名称为new.a
rm 删除
格式:rm [选项] 删除的文档路径
-f 强制删除
-r 递归删除
rm -rf 指定的路径(慎用)
rm c.txt # 删除文件 有提示
rm:是否删除普通空文件 'a.txt'? y
rmdir a/ #删除空目录
rm -f a.txt # -f 强制删除 没有提示
rm -rf /root/* # 删除某个目录的所有文件及子目录的所有文件和目录(慎用)
rm -rf /* # 不要使用 !!! 删除跟目录下所有的文件
vim编辑器
命令行模式:查找,替换,复制,粘贴,删除...
输入模式:编辑,输入文字信息
末行模式:保存 退出
vim a.txt # 编辑a.txt 没有会自动创建
按i 切换到输入模式
按esc 切换到命令行模式
shift+:输入wq 保存退出
输入q 保持退出
q! 强制退出
常用技巧:(命令行模式)
复制 :yy (4yy 复制4行)
粘贴 :p
删除 : dd (4dd 删除4行)
撤销 : u (U 撤销前一次的更改)
用户管理
判断用户是否存在:
1、cat /etc/passwd
2、id 用户名称
添加用户
useradd 用户名 添加用户
passwd 用户名 设置密码
用户信息存储的文件 /etc/passwd
用户密码存储的文件 /etc/shadow
删除用户:
userdel 用户名 # 删除用户但不会删除家目录
userdel -r 用户名 彻底删除用户及家目录
用户组管理
查看组的配置文件: /etc/group
添加一个组
groupadd 组名称
向组添加一个用户
gpasswd -a 用户名 组名称
删除组里面的用户
gpasswd -d 用户名 组名称
删除某个组
groupdel 组名称
文件归属控制/权限
属主(user)这个文件属于哪个用户
属组 (group)这个文件属于哪个组
其他 (other)除了属主之外的任何用户
r:read 读 4 / w:write写 2 / x:execute 执行 1
修改文档文件隶属关系 chown
chown -R 属主 文档
-R 是递归的意思 目录下的子目录及文件的所有权限都会改变
chown -R :属组 文档
修改文件权限 chmod
chmod -R 权限 文档
chmod -R u+r,g-r,o=rwx 文档
chmod -R ugo=rwx 文档
chmod -R 777 文档
压缩tar
格式: tar [选项] 压缩包名称 压缩的对象
选项:
- z: 使用gzip方式压缩,压缩包名称.tar.gz
- c: 创建归档
- v: 显示详细信息
- x: 释放归档
- f: 指定文件的名称,必须放在选项的最后
- C(大写) : 指定释放路径
- t:查看文件
- 注意:tar -zcvf 顺序不能乱
压缩:
tar -zcvf b.gz b.txt # 打包
tar -tf a.tar.gz # 查看压缩包的内容
解压:tar -xf 压缩包名称 [-C 路径]
tar -xf abc.tar.gz -C /home
追加文件:
tar追加
tar -zcvf abc.tar.gz c.txt # 会覆盖之前的
使用tar命令,一旦使用-zcvf进行压缩,后面添加压缩文件会覆盖掉原来的文件,使用了-z和-c归档,则无法追加文件
-cvf创建压缩包,使用-rvf 可以追加文件
tar -cvf a.tar.gz a.txt # 压缩文件
tar -rvf a.tar.gz c.txt # 追加文件 不会被覆盖
压缩zip
格式: zip 选项 压缩包的名字 需要压缩的文件
选项:
-r: 递归压缩
-v: 显示压缩信息
-d: 指定解压的路径
-u: 更新/追加压缩文件
-sf: 查看压缩包信息
zip -r a.zip a.txt b.txt # 压缩文件
zip -u a.zip c.txt # 追加文件
zip -sf a.zip # 查看压缩包到内容
unzip a.zip # 解压压缩包
unzip a.zip -d /home # 指定解压的路径
管道符
Linux下使用竖线|连接多个命令,被称为管道
格式: 命令1 | 命令2 | .......
注意:命令1必须正确输出,而命令2可以处理命令1的输出结果,而且命令2只能处理命令1的正确结果,不处理命令的错误信息
[root@localhost /]# cat /etc/passwd | wc -l
41
通配符的使用
---*: 任意多个字符
---?: 单个字符
---[a-z]: 多个字符或者连续范围中的一个
---[0-9]: 多个字符或者连续范围中的一个
ls /etc/ssh* # 列出以ssh开头的
ls /etc/*tab # 列出以tab结尾的
ls /dev/tty?? # 列出tty后面两个字符的文件
定向输出
将屏幕上显示的信息保存到文件中
覆盖重定向 : 命令 >指定文件
追加重定向: 命令 >> 指定文件
错误信息重定向: 命令 2>指定文件 覆盖式
错误信息重定向: 命令 2>>指定文件 追加式
挂载 mount
mount 挂载文件 挂载目录
卸载 mount 目录
实现自动挂载,之后重启生效
修改配置文件 /etc/fstab
/dev/cdrom /dvd iso9660 ro 0 0
# 要挂载的设备 挂载点 文件系统格式 挂载选项 转存频率 自检次序
# ro:以只读的方式
mount -a # 实现自动挂载,之后重启设备生效
selinux 安全
SELINUX: 提供系统防护
firewalld: 提供网络防护(开启/关闭端口、服务)
selnux三种状态 (/etc/selinux/config)
Enforcing: 强制(严格策略进行防护)
Permissive: 宽松(若有违规会有记录,但不强制)
disabled: 禁用(内核不加载SELINUX)
实现seLinux状态直接的切换
getenforce # 查看当前selinux 的状态模式
setenforce 0 #设置selinuxd 状态为宽松(临时生效)
setenforce 1 #设置selinuxd 状态为强制(临时生效)
开机设置selinux是禁止的状态,修改配置文件(重启生效)
vim /etc/selinux/config
SELINUX=disabled # 修改的那一行
firewall-cmd 命令
firewall-cmd --get-zones # 获取防火墙的所有区域
firewall-cmd --get-defaultzone #获取默认防火墙的区域
firewall-cmd --set-defaultzone=block#设置默认防火墙的区域
firewall-cmd --addport=80/tcp #允许80端口(临时生效)
firewall-cmd --addport=80/tcp --permanent #永久允许80端口 重载策略之后生效
firewall-cmd --reload # 重载配置的策略
firewall-cmd --addservice=http --permanent #添加http服务
firewall-cmd --addprotocol=icmp --permanent #添加icmp协议
firewall-cmd --removeprotocol=icmp --permanent #删除icmp协议
public: 默认 仅允许访问本机的sshd、DHCP、ping等少量的服务
trusted: 信任 允许任何访问
block: 拒绝所有来访请求,有明确回应
dmz: 非军事化区域
Drop: 拒绝所有来访请求,没有回应没有(丢弃)
su用户切换
将需要使用su切换功能的用户添加到wheel组中即可
gpasswd -a zhangsan wheel #将用户张三添加到wheel组中
禁止root用户的远程登录的文件
vim /etc/ssh/sshd_config
PermitRootLogin no # 禁止root远程登录
systemctl restart sshd #重启sshd服务
允许所有的普通用户用su切换功能
vim /etc/pam.d/su
#auth requried pam_whell.so user_uid
# 注释掉这行 就可以 注释符: #
sudo命令提权
sudo:作用执行管理员授权的命令
--:允许普通用户代替管理员执行相关操作
--: 必须提前给用户进行授权
--:普通用户执行命令前 加 sudo,只验证自己的密码(5分钟不重复验证)
1、使用visudo配置sudo授权
[root@xl ~]# visudo #编辑sudo命令
%wheel ALL=(ALL) ALL
说明:如果这行前面加了#,说明wheel的权限取消了
1.2允许用户zhangsan通过sudo执行任何命令
[root@xl ~]# visudo #编辑sudo命令
zhangsan ALL=ALL
1.3给zhangsan指定的sudo权限
[root@xl ~]# visudo #编辑sudo命令
zhangsan ALL=/bin/mkdir,/bin/systemctl restart httpd
1.4开启sudo日志审计功能:
[root@xl ~]# visudo
Defaults logfile=/var/log/sudo
#添加一行,随意添加在哪里,将sudo执行的命令存到指定文件中,方便后续查看,默认没有这个文件,只记录用户使用sudo命令的记录
历史命令
history # 查看历史命令
greap HISTSIZE /etc/profile # 查看配置文件中默认设置的最大命令记录数
history | tail -10 # 查看历史10条命令
history -c # 清空当前用户的历史命令记录
关机
shutdown 关机指令
shutdown –h 10 ‘关机提示信息’ 计算机将在10分钟后关机,并且在关机前显示关机提示信息
shutdown -h 多长时间(以分钟为单位) 在多少分钟后面关机
shutdown –h +10 十分钟后关机
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now