Linux基础命令

目录

linux目录

linux常见的命令

        ls命令

        cd 切换目

        创建用户设置密码

        Linux远程文件上传及下载

        systemctl

        cat命令 

        less命令 分页查看

        head tail命令 查看文件规定行数

        grep 输出包含指定字符串的行

        mkdir 创建目录

        touch 创建一个文件

        cp 复制

        mv移动

        rm 删除

        vim编辑器

         用户管理

        用户组管理

        文件归属控制/权限

        压缩tar

        压缩zip

        管道符

        通配符的使用

        定向输出

        挂载 mount

        selinux 安全

        firewall-cmd 命令

        su用户切换

        sudo命令提权

        历史命令

        关机


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值