美文网首页
linux命令大全-基础篇 非常值得收藏

linux命令大全-基础篇 非常值得收藏

作者: 奔腾的小溪 | 来源:发表于2020-06-07 20:21 被阅读0次

    写在前面

    作为一名开发工程师,如果公司工作细分不到位,那么工作范围会逐步扩大,蔓延到linux系统部署、调度、运维是常态。除了标准化大厂可以做到螺丝钉在螺丝钉的位置,好多公司都是一人多用。用linux系统一年半了,常用命令都很熟悉。为了查漏补缺系统学习了尚硅谷韩顺平老师的Linux教程(78讲)https://www.bilibili.com/video/BV1dW411M7xL?p=2 韩老师的课堂笔记(https://pan.baidu.com/s/1rUAv-zgLYEparAbo5Ab1oA 密码:xvzs )
    一边听一边做笔记,说实话这个系列课程比较适合0基础的集美们,本着查漏补缺的心态刷了一遍,刷到我头晕眼花。韩老师的课堂笔记173页,虽然难度不大但是一页页看的话也需要很长时间。本篇文章梳理下了经常会用到知识,力求短小精悍。以下脚本命令虽不是最全的,但是是项目中用到最多的。

    第一节:centos目录结构

    linux系统中一切皆是文件,linux文件系统是级层式的树状目录结构,最上面是根目录/。 centos目录结构.png
    • /bin(重点) 存放着经常用到的各种命令
    • /sbin目录存放着系统管理员使用的系统管理程序
    • /home(重点)存放普通用户的主目录,每一个linux用户都有一个主目录。一般情况以用户账号命名。创建一个新用户会默认在/home目录下生成同名的目录结构。比如/home/test1
    • /root(重点)超级管理员的主目录
    • /etc(重点)所有系统所需要的配置文件及子目录
    • /usr(重点)用户的很多程序与文件,类似于windows的program files
    • /boot(重点)存放启动linux的核心文件
    • /proc /srv /sys 目录尽量不要动,除非你想跑路
    • /media 系统识别的光盘、u盘会自动挂载在这个目录
    • /mnt 临时挂载文件系统
    • /opt (重点)给主机额外安装软件的目录
    • /var (重点)存放着扩充的文件,比如日志等

    第二节 连接服务器工具xshell

    无论是通过xshell还是直接通过ssh命令连接服务器,被连接的服务器都必须启动sshd服务。

    第三节 linux-vi vim编辑器

    在linux中编辑软件是首要的。通过vi vim打开后文件有三种模式:

    • 正常模式:此模式下可以移动光标,可以删除整行(dd)等操作
    • 编辑模式:输入i即可进入编辑状态
    • 命令行模式:在此模式下可以保存退出(wq!)、查找(/)等。 vim模式转换.png

      其他快捷键:

    • shutdown -h now ------关机
    • reboot ------重启
    • sync ------将内存的数据写入硬盘(在关机前养成习惯,防止数据丢失)
    • su - 用户名 ------切换用户

    第四节:用户管理

    linux是一个多用户多任务的操作系统,每个用户至少属于一个用户组。

    • useradd 【选项】用户名 ------添加用户
    useradd -d /home/dog 用户名 创建用户的时候指定家目录。
    
    • passd 用户名 ------指定密码
    • userdel 用户名 ------删除用户
    userdel -r 用户名 删除用户的时候也删除家目录(最好不要删掉家目录,除非确定没有重要文件)
    
    • id 用户名 -------查询用户信息 查询所在组及id等。
    • groupadd 用户组名 ------新增用户组名
    • groupdel 用户组名 -------删除用户组名
      与用户管理相关的配置文件:/etc/passwd记录了用户的各种信息比如用户名、组标识等;/etc/shadow存储了加密口令等;/etc/group存储了用户组的信息。

    第五节:linux实操指令

    5.1 指令运行级别

    linux系统指令运行级别有0-6种状态,其中状态3、5使用得最多的。5是常用的图形化界面,3是多用户有网络的服务,大型服务器集群一般设定为3。服务器运行级别可以通过修改/etc/inittab来设置。(咱们讲了三四个配置文件都在/etc下,linux系统是很有序的,没有序是因为好多人乱建文件夹) linux运行级别.png

    5.2 帮助类指令

    • man
    man ls 查找ls命令含义
    
    • help
    help ls 查找ls命令含义
    

    5.3 文件目录类(重点掌握)

    • pwd 显示当前目录的绝对目录
    • ls 显示当前目录文件/目录
    ls -a 显示全部的文件(包括隐藏文件)
    ls -l 以列表的方式显示文件
    ls -al 列表的方式显示全部的文件。
    
    • cd 切换目录
     cd ~ 切换家目录
     cd .. 切换上级目录
    
    • mkdir 创建目录
    mkdir -p /home/dog/leg 创建多级目录
    
    • rmdir 删除空目录
    • rm 删除
    rm 文件名 删除文件
    rm -r 递归删除整个文件夹
    rm -f 强制删除不提示
    rm -rf 强制删除整个文件夹下所有文件
    
    • touch 创建文件,可以一次创建多个文件
    • cp拷贝
    cp 源文件 目的路径 eg:cp /home/test.txt /data
    cp -r 源目录 目的路径 eg:cp -r /home /data 会将整个home路径递归拷贝到/data
    
    • mv 移动文件或者重命名
    • cat 查看文件不能修改,以只读的方式打开文件。
    cat -n 文件名 会显示文件内容及行号
    
    • more 分页显示
    一般cat搭配more使用 分页显示 eg:  cat -n test.txt | more  使用more指令后【空白键】代表下翻一页、【enter】键代表下翻一行。
    
    • less 与more类似但是功能更强大,不是一整个文件加载后才显示,而是根据显示需求加载内容。显示大文件有较高的效率。
    • > >> 重定向输出
    >会覆盖 >>会追加内容
    
    • echo 输出内容到控制台
    • head 显示文件开头部分
    head -n 5 显示前5行
    
    • tail 显示文件结尾部分
    tail -f 实时追踪
    
    • ln软链接,类似于windows的快捷方式
    • history 可以看当前用户的所有操作记录。
      5.4 时间类
      date 显示当前日期
    date "+%Y-%m-%d" 可以按照指定时间范围设置参数,在自动化调度脚本时会用到。
    

    5.5 查找类

    • find 查找
    find  目录 -name 文件名 按照文件名查找
    find 目录  -user 用户名 查找用户的文件
    find 目录 -size +20m(查找大于20m的文件)
    
    • locate
    locate可以快速定位路径,但是前提是要使用updatedb指令创建locate数据库。
    
    • grep与管道符 |
    一般与其他指令一起用 eg:cat  test.txt | grep yes
    grep -i 忽略大小写 eg:cat  test.txt | grep -i yes
    

    5.6 压缩解压缩相关

    • gzip gunzip gzip压缩为.gz的文件,gunzip解压。
    • zip unzip
      zip -r 递归压缩
    eg:zip -r mypackage.zip /home/
    

    unzip -d 递归解压缩

    eg:unzip -d /opt/tmp/ mypackage.zip
    
    • tar 压缩:tar -zcvf 目标文件名 待压缩文件 解压缩: tar -zxvf 待解压文件
    压缩文件 eg:tar -zcvf a.tar.gz test1.txt test2.txt
    解压文件到当前目录 eg:tar -zxvf a.tar.gz 
    解压文件到指定目录 eg: tar -zxvf a.tar.gz -C /opt/
    

    写在后面

    后续更新组管理与权限管理、定时调度、磁盘使用情况查询、进程管理等。

    相关文章

      网友评论

          本文标题:linux命令大全-基础篇 非常值得收藏

          本文链接:https://www.haomeiwen.com/subject/uotgahtx.html