Linux常见命令简介

【CentOS7】

=========Linux运行级别===========
六种运行级别:
    0、关机
    1、单用户(可用来找回密码)
    2、多用户无网络
    3、多用户有网络(多用于工作环境)
    4、预留
    5、图形界面(多用于学习环境)
    6、重启
相关命令:
   a、切换当前运行级别:【init 3】(仅当前环境下生效,重启后失效)
   b、得到当前运行级别:【systemctl get-default】
   c、设置默认运行级别:【systemctl set-default graphical.target/multi-user.target】{永久生效}
   【注】可以在/etc/inittab中查看相关信息

=========vim命令说明===========
vim三种模式
   1.1 正常模式:按【ESC】键进入该模式,可以对文档进行复制、粘贴、删除等操作。
      1.1.1 复制当前行:yy    (y-yank) 
      1.1.2 复制当前n行:nyy    (如5yy,从光标所在行开始数5行进行复制,包括当前行)
      1.1.3 粘贴到指定行或具体位置:p    (如果复制的是整行则粘贴到光标所在行的下一行,若复制的是某段内容则粘贴到光标所在位置的后面) 
      1.1.4 删除/剪切当前行:dd
      1.1.5 删除/剪切当前n行:ndd
      1.1.6 可视化块操作:v        (移动左右方向键选中相应内容,按y复制选中内容,移动光标到指定位置按p粘贴)
      1.1.7 取消上次动作:u    (u-undo)
      1.1.8 将光标移动到第一行:gg
      1.1.9 将光标移动到最后一行:G

   1.2 插入模式:按【i】键进入该模式。

   1.3 命令模式:按【:】键进入该模式。可以对文档进行存盘、查找、退出、显示行号等操作。
      1.3.1 保存并退出:【:wq】                (w-write,q-quit)
      1.3.2 退出不保存:【:q!]               (q-quit)
      1.3.3 查找指定条件:【/要查找内容】    (n-查找下一个,N-查找上一个)
      1.3.4 替换【:[替换范围]s/被替换内容/新内容/flags】
        替换范围:无->当前行;m->第m行;m,n->第m到n行;%->整个文件
        flags:g(global)->替换一行中出现的所有匹配,否则只替换一行中的第一次配置内容;c(confirm)->替换前需要确认;i->忽略大小写
        s:s是substitute的缩写
      1.3.5 显示行号:【:set nu】        (nu-number)
      1.3.6 取消行号:【:set nonu】        (nu-number)
      1.3.7 取消高亮显示:【:set noh】
      1.3.8 将光标移动到指定行:【:行号】

   1.4 个性化配置
      配置文件:/etc/vimrc
      内容:增加如下内容
            set nu                  " 设置显示行号
            set tabstop=4       " 设置制表符的宽度为4个空格
            set shiftwidth=4    " 设置缩进时使用4个空格
            set autoindent      " 启用自动缩进
            set smartindent     " 启用智能缩进

=========Linux命令说明===========
一、开关机
   1.1 关机:
      1.1.1 shutdown -h now        参数:h->halt,now->马上,now可以改为具体数字表示n分钟后关机。
      1.1.2 halt            关机,但不关闭电源,尽量不用该命令
   1.2 重启:
      1.2.1 shutdown -r now        参数:r->reboot,now->马上,now可以改为具体数字表示n分钟后重启。
      1.2.2 reboot

二、用户
   2.1  切换用户:su - 用户名            (su-switch user,- 前后有空格的啊)
   2.2  注销用户:logout/exit
   2.3  新建用户:useradd 用户            (默认将该用户放入与该用户名相同的组中)
                  useradd -g 用户        (将该用户放入到指定组中)
   2.4  设置密码:passwd 用户
   2.5  删除用户:userdel 用户            (仅删除用户,不删除该用户的家目录及邮件目录等信息)
                  userdel -r 用户        (r-remove,将该用户的所有信息都删除)
   2.6  修改用户所在组:usermod -g 组 用户
   2.7  显示用户信息:id 用户
   2.8  查看当前用户:whoami            (该用户可能是后切换的)
   2.9  查看首次登录用户:who am i
   2.10 用户所在文件:/etc/passwd        (每行含义->用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell)
   2.11 密码所在文件:/etc/shadow
   2.12 sudo命令:模拟root来执行某些系统命令(/sbin),比如关机、重启、添加用户等
    root把某些系统命令赋给普通用户或组:visudo(实际上是修改/etc/sudoers)
    格式如下:
        root/#组    ALL=(ALL)    ALL
        用户名    IP地址【用户可在该IP的机器上执行命令】=(可使用身份)    具体命令
        如:lag    ALL=    /sbin/shutdown -h now    =>lag用户可以执行关闭linux命令
    sudo -l 可以查看root都赋予它哪些权限


三、组
   3.1 新建组:groupadd 组
   3.2 删除组:groupdel 组
   3.3 组所在文件:/etc/group            (每行含义->组名:口令:组标识号:组内用户列表)    

四、文件/目录
   4.1  显示当前目录:pwd            (pwd->print working directory)
   4.2  显示目录内容:ls -al            (a->all,l->list,可省略写ll)
   4.3  切换目录:cd                (cd ~ ->切换到当前用户的家目录,cd .. ->切换到上级目录)
   4.4  新建目录:mkdir -p 目录            (p->parents,有参数p可以新建多级目录,无参数p则只能建1级目录)
   4.5  删除空目录:rmdir 目录            (仅删除1级空目录,不实用)
   4.6  删除目录/文件:rm -rf 目录/文件        (rm->remove,r->recursion递归,f->force直接删除不显示是否删除等提示信息,连目录带里面的文件一起删除,慎用啊)
   4.7  创建空文件:touch 文件
   4.8  拷贝目录/文件:cp -r 源目录/文件 目标目录    (r->recursion递归)
        覆盖拷贝不提示:\cp -rf 源目录/文件 目标目录    (r->recursion递归,f-force强制覆盖不提示,因为cp默认使用的是别名【cp -i】,覆盖是要提示的,用\cp则不使用别名)
   4.9  移动或重命名目录/文件:mv 源目录/文件 新目录/文件
   4.10 查看文件内容:cat 文件            (参数n->带行号显示,|more 多屏显示,空格与ctrl+b翻屏)
   4.11 查看文件内容:less 文件            (PgUp/PgDn翻页,/查找内容,q退出,适合显示较大文件)
   4.12 查看文件内容:head -n 5 文件        (显示头5行文件内容,默认10行)
   4.13 查看文件内容:tail -n 5 文件        (显示尾5行文件内容,默认10行,多用于查看日志)
                      tail -f 文件        (监控文件变化,ctrl+c退出)
   4.14 输出内容到控制台:echo "内容"        (echo $PATH/HOSTNAME)
   4.15 输出重定向:>                (用新内容替换旧内容)
                    >>                (用新内容追加旧内容,如echo "hello" >> /root/111.txt)
   4.16 软链接:ln -s 源目录/文件 链接名    (ln->link,类似windows中快捷键方式,存放链接文件的路径)
   4.17 硬链接:ln 源文件 链接名        (类似C语言中指向某内存地址的2个指针,源文件与链接名的内容是一样的,任何一个修改另一个也跟着变化)
   4.18 删除软链接:rm 链接名            (千万不要加参数-r来删除软链接,因为该参数会删除软链接对应的目录/文件内容而不是删除软链接)
   4.19 删除硬链接:rm 链接名            (删除硬链接并不会影响另一个文件)
   4.20 查看历史命令:history 10        (查看最近执行的10个命令)
   4.21 执行历史命令:!10            (执行编号为10的历史命令)
   4.22 字符相关命令:
    4.22.1 cut [选项] 文件名        (d 分隔符->按指定分隔符来分割列delimiter;f 列号->提取第几列field。若2列之间用不固定的空格分隔的话该命令就不能用了)
           如:cat /etc/passwd|grep /bin/bash|grep -v root|cut -d ':' -f 1 => lag zs    查询所有普通用户
    4.22.2 printf '输出类型输出格式' 输出内容
        输出类型:
            %ns    (输出字符串,n-输出几个字符)
            %ni    (输出正数,n-输出几个数字)
            %m.nf    (输出浮点数,如%8.2f,输出8位数,其中6位整数2位小数)
        输出格式:
            \n    (换行)
            \r    (回车)
            \t    (TAB键)
    4.22.3 awk '条件1{动作1} 条件2{动作2} ...' 文件名
        如:df -h | awk '{printf $1 "\t" $5 "\t" $6 "\n"}'
                df -h|grep sda2|awk '{printf $5}'|cut -d '%' -f 1
            df -h|awk 'BEGIN{FS=" "}{printf $1 "\t" $2 "\n"}'        (FS="分割符",前面的BEGIN是在读取内容时先做点什么)

五、日期
   5.1 显示当前时间:date "+%Y-%m-%d %H:%M:%S"    简写 date "+%F %T"
   5.2 设置当前时间:date -s "2024-03-20 20:23:18"    (重启失效)
   5.3 显示日历:cal 2024            (显示2024年的日历)

六、搜索查找
   6.1 查找文件:find 搜索范围 -name 文件名    (从指定目录递归查找指定名称的文件,如:find /root -name hello*)
   6.2 快速定位:locate 文件名            (该命令自己建立数据库并在其中查找而不是遍历目录查找,因此要先执行updatedb建立/更新数据库。文件不能匹配通配符)
                 如: updatedb
                      locate hello.c
   6.3 过滤查找:grep [选项] 要查找内容 源文件    (n->显示行号,i->忽略大小写,v->反向匹配。在某文件或管道中查找内容)
                 如: grep -n "prin" /root/test/hello.c
                      cat /root/test/hello.c | grep -n "prin"
   6.4 查找命令所在位置:which 命令

七、压缩解压
   7.1 内部命令
       7.1.1 压缩:gzip 文件            (该命令只能压缩文件,不能压缩目录,要想压缩目录必须与tar联合使用,该命令默认不保留源文件)
       7.1.2 解压:gunzip 文件
       7.1.3 打包:tar [选项] xxx.tar.gz 打包内容    (tar将某目录下所有内容归档成一个.tar文件,然后用gzip将该文件压缩成.tar.gz文件来实现压缩目录)
                   如:tar -zcvf home.tar.gz /home    (z-用gzip压缩,c-建立新.tar文件,v-显示详细信息,f-指定压缩后文件名该参数一定要放到最后一个)
       7.1.4 拆包:tar [选项] xxx.tar.gz -C 拆包后存放路径
                   如:tar -zxvf home.tar.gz -C /root    (x-释放,C-指定释放路径,无则默认当前目录)
   7.2 外部命令
       7.2.1 压缩:zip [-r] xxx.zip file1 file2...    (该压缩格式与windows通用,若要压缩目录则加参数r。但该命令不是linux内部命令,需要安装)
       7.2.2 解压:unzip [-d] 解压后存放路径 xxx.zip    (默认解压到当前目录,该命令需安装)

八、权限管理(重点)
   8.1  修改文件所有者:chown 用户 文件1 文件2...    (仅修改文件的所有者而不会修改文件的所在组,目录可以加参数-R来递归把目录下所有文件一起修改)
   8.2  修改文件所在组:chgrp 组 文件1 文件2...        (仅修改文件所在组)
   8.3  权限符号:drwxr-xr-x                (共10位)
                  第0位:文件类型(-文件,d目录,l软链接,c字符设备文件如鼠标键盘,b块设备如硬盘)
                  第1~3位:文件所有者的权限        (r可读,w可写,x可执行)
                  第4~6位:文件所在组的权限
                  第7~9位:文件其他组的权限
    针对目录的权限符号含义:
                  r-可以读取查看目录内容,如ls
                  w-可以修改目录,如重命名目录,在目录内创建或删除文件
                  x-可以进入目录,如cd            (这个非常重要,若无该权限则目录就进不去,进不去目录就无法对目录内的文件做任何操作)
    针对文件的权限符号含义:            (该文件所在目录必须拥有x权限,否则无意义。连目录都进不去又如何能操作文件呢)
                  r-可以读取查看文件,如cat less head tail
                  w-可以修改文件,但但但不代表可以删除文件,想删除文件的前提是对该文件所在目录有w权限
                  x-可以执行文件
    修改权限:chmod
          第一种方式:用[+][-][=]来变更文件/目录权限    (u-所有者,g-所在组,o-其他组,a-所有人{包括ugo})
                  1)chmod u=rwx,g=rx,o=r 文件/目录    (-rwxr-xr--)
                  2)chmod o+w 文件/目录        (其他组增加w权限)
                  3)chmod a-x 文件/目录        (所有人都取消执行权限)
          第二种方式:用数字来变更文件/目录权限        (r=4,w=2,x=1;{数字1=x,2=w,3=wx,4=r,5=rx,6=rw,7=rwx}【记住:二进制000,2^2,2^1,2^0】)
                  chmod 751 文件/目录        (-rwxr-x--x)
   8.4 文件系统属性权限:chattr    (change file arrtibutes)
       语法:chattr [+-=] [选项]
         +  增加权限; - 删除权限  = 等于某权限
         i -> 文件:锁定该文件,只能看,其他什么也做不了。(针对root也生效)
              目录:只能修改该目录下的文件数据,不能建立或删除文件。
             举例:chattr +i /root/test/aaa.txt        (锁定该文件,root也改不了)
               lsattr /root/test/aaa.txt        (查看该文件的系统属性)
               chattr -i /root/test/aaa.txt        (恢复正常)
         a -> 文件:可增加文件内容,但不能删除或修改。
          目录:可以在该目录下新建或修改文件,但不能删除。
    
九、任务调度(计划任务)
   9.1 语法: crontab [选项]                    (e->编辑定时任务{edit},l-查询定时任务{list},r-删除定时任务{remove})
   9.2 说明:*/1 * * * * date "+\%F \%T" >> /tmp/mydate.txt    (五星上将,由于命令中有%,因此要用\转义,用#注释)
        第1颗星:分钟    取值范围0-59            
        第2颗星:小时    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值