Linux学习

http://man.linuxde.net/        linux命令大全网址

一、简单命令

  • ctrl + L         清屏
  • clear        清屏 
  • systemctl disable firewalld       永久禁用防火墙

  • systemctl stop firewalld          暂时禁用防火墙

  • yum install lrzsz     上传文件工具

  • rz       本地上传到服务器

  • sz       服务器下载到本地

  • type ll     看命令的类型简介

  • help cd   查看cd的操作指南

  • man ls    查看命令如何使用

  • uname -a 查看内核信息

  • ifconfig        查看网络配置信息

  • ping www.baidu.com        查看网络是否连通

  • cal 2022         查看日历

  • history 查看历史操作命令

二、常用命令

  • pwd    当前目录路径
  • whoami   当前的用户
  • whereis profile.d   查找当前文件或命令在系统路径中的位置
  • file abc     查看abc文件的类型
  • cat abc  查看abc文件中的内容
    •  -n 显示行数
  • cd 路径  切换目录
    • cd ~用户a        回到用户a的家目录
    • cd -        切换回上一次的目录
  • grep 过滤信息  过滤文本中的信息,一般配合管道符使用
    • grep 字符串  文件名
  • zgrep 从压缩文件中过滤信息
    • zgrep 字符串  压缩文件
  • egrep 可以使用正则来搜索
    • egrep 正则表达式 文件名
  • echo 类似于system.out printf() 打印语句
    • -n表示不换行       
    • -e特殊字符生效,例如"hello\nworld"使\n生效
  • cp abc.txt 123.txt  复制文件并且可以重命名, abc为源文件,123为新文件
    • -r 可以拷贝带有目录的文件或拷贝目录
  • mkdir 创建目录
    • mkdir a b c 一次创建多个目录
    • mkdir -p a/b/c        创建多层级目录
  • rmdir 删除目录
  • rm 删除文件或目录
    • -r        递归删除
    • -f        强制删除
  • mv 移动文件或目录,可以重命名
  • touch 创建文件
  • stat 查看文件或目录的状态信息
  • ln 创建链接
    • -s  创建软连接相当于快捷方式,删除源文件,链接失效
    • 不加-s 创建硬链接,删除原文件,不影响链接的使用
  • ll       查看当前目录下的文件及目录
    • -i    可以看到node节点编号,例如用来查看软硬链接的不同
  • find 查找路径 -name 查找的信息     一般用来查看文件在什么地方
  • tail -f 文件名 实时显示文件内容,一般用于显示日志文件
  • head 从开头读取N行, 默认读取10行
    • head -5 file 读取5行   
    • head +15 file 从第15行开始显示
  • tac 文件名        逆序显示文件
  • chmod 修改权限
    • chmod 777 abc.txt        可加-R递归修改目录
    • chmod o+r abc.txt        u表示用户,o表示其他,g表示用户组,r读,w写,x执行
  • chown 修改用户和属组
    • chown paas:paas abc.txt 修改用户的所属用户和属组
    • -R 递归修改目录
  • more less 分页显示文件,回车:下一行,空格下一页,b回退,q推出
  • scp    远端传输文件
    • scp 本地文件 用户名@服务器地址ip:/opt        传输本地文件到远端服务器的opt目录下
    • scp 用户名@服务器地址ip:/opt/file 本地路径        传输远端文件到本地
    • -r   递归传输目录
    • scp -r file.txt paas@10.23.156.89:/opt
  • df -h  目录        显示磁盘大小

  • du -h        显示目录大小

  • tar -zxvf 压缩文件  解压路径        解压文件,-C 指定解压到的目录

  • tar -zcvf  文件名   被压缩文件    后缀为tar.gz

  • tar -ztvf   压缩文件   查看压缩文件中的包含的文件

  • tar -zpcvf 备份

  • zip -r  文件        压缩文件    后缀为zip

  • unzip  文件        解压文件

  • gzip 文件        压缩文件    后缀为gz

  • gunzip  文件        解压文件

  • netstat - anlp | grep 8080        查看端口

  • telnet 192.168.0.221 8060        查看与指定的ip地址端口是否连通

  • curl        调用接口

    • curl -X GET www.baidu.com

  • date 查看当前系统时间

  • ntpdate cn.ntp.org.cn        自动同步时间

  • 特殊字符

            *        任意字符

            .        当前目录

            ..        上级目录

            /        路径分割符

            $        $name输出变量值

            ~        cd ~        切换到家目录 

  • 用户权限

    • umask 默认为0022

      • 新建文件夹权限为777-022=755

      • 新建文件权限为666-022=644

    • useradd aaa        创建用户aaa

      • -d 指定主目录  -g 指定用户组  -G 添加附加组 

      • -s 指定用户登陆的shell -u id 指定用户id  -c  备注  添加说明

      • id root   查看用户id,用户组id,属组

    • usermod -l bbb aaa        修改用户aaa为bbb

    • userdel bbb        删除用户bbb

    • su aaa        切换用户

    • cat /etc/shadow        查看所有用户 

    • passwd aaa        给用户aaa设置密码     

  • 用户组权限

            groupadd ccc        创建组   -g 102 指定属组id为102                   

            groups        查看当前用户的属组

            groups ccc        查看ccc用户的属组

            groupmod -n new_ccc aaa        修改组aaa为new_ccc

            usermod -g aaa test_a        修改用户aaa的属组为test_a

            groupdel test_a        删除组

  •  权限

            r        读取 4

            w        写入 2

            x        执行 1

            d        表示目录

            chown -R paas:paas aaa.txt        修改aaa文件的所属用户和组, -R表示递归处理文件目录

            chmod 777 aaa.txt        修改文件的读写权限

            chmod o+x aaa.txt        同上

            chgrp   改变文件的所属的用户组

               u 用户   g 属组  o 其他   a 全部身份(ugo)

  • 管道符、重定向

            cat -n /etc/profile | grep unset        过滤出包含unset的行,-n显示行号

            ps -ef | grep mysql        查询mysql的进程

                    ps aux        会查出和终端有关的进程  pts通过远端访问,tty服务器上直接访问的

            >         重定向(覆盖)

            >>        重定向(追加)

            2>&1        将标准错误重定向到标准输出

  • 有关进程的命令

            ps        查看进程

                        ps -ef        常用来查看运行中的进程

            top        查看内存使用情况

            python test.py &        一般用于启动服务,进程会进入后台执行,  不会自动退出

            kill -9 pid        杀死进程

  • crontab定时任务

            systemctl status crond.service        查看定时服务的状态

            crontab -e        添加定时任务

            *  *  *  *  *  command

            分 时 日 月 周 命令

            以分钟为例

            */5        表示每5分钟

            3,5,8        表示3分钟、5分钟、8分钟的时候执行

            3-10        表示3分钟到10分钟的每分钟都会去执行

            systemctl restart crond.service        重启crontab,使配置生效

            crontab -l        查看当前的定时任务

            crontab -r        清楚定时任务

  • 普通剑客

    • cut    显示切割的行数据

    • -d     指定分隔符对源文件的行进行分割

    • -f      选定显示哪些列

      • m-n    m列到n列

      • -n       第一列到第n列

      • m-      从第m列到最后一列

      • n        第n列

    • -s     不显示没有分隔符的行

    • --output-delimiter="|" passwd     自定义输出显示的分隔符

    • cut -d':' -f1,2,3 /etc/passwd      切分文本, 根据:分割,获取123列,默认使用制表符分割,-d自定义分割符

    • sort     排序,字典序和数值序

      • -n     按数值排序

      • -r      倒序     reverse

      • -t      自定义分隔符

      • -k     选择排序列

      • -f      忽略大小写

      • sort -t ':' -k2 /etc/passwd        切分文本,按:号分割,再按第二列排序输出,按位置排序

    • wc     统计行、单词、字节数

      • -l     统计有多少行

      • -w    统计有多少个单词

      • -c     统计有多少个字节

      • -m    统计有多少个字符

      • wc -l /etc/passwd    统计passwd中有多少行

  • Linux的三剑客

    • sed 行编辑器

      • -i    操作源文件

      • "2d"   删除第2行

      • -n      只显示匹配到的行

      • "s/vim/vi"   把vim替换为vi

      • "s/vi/vim/i"     i表示忽略大小写,把不管是大写还是小写的vi换为vim

      • "/[0-9]/p"   正则匹配包含0-9的行

      • -r  "s/(id:)[0-6](:init:)/\15\2/"     小括号表示里面的内容不被替换,\1表示第一个小括号中的内容

      • sed -n "/PATH/w path.log" /etc/profile   把匹配到的PATH的行写入path.log文件中

    • awk 文本分析工具,逐行读入,以空格和制表符作为默认分隔符将每行切片进行分析

      • 支持自定义分隔符

      • 支持正则表达式

      • 支持自定义变量,数组

      • 支持内置变量

      • FILENAME awk浏览的文件名

      • ARGC   命令行参数个数

      • FS  设置输入域分隔符,等价于命令行-F选项

      • NF   浏览记录的域的个数,列数

      • NR   已读的记录数,行数

      • OFS   输出域分隔符

      • ORS   输出记录分隔符

      • RS    控制记录分隔符

      • 支持函数,print、split、substr、sub、gsub

      • 支持流程控制语句,if、while、do/while、for、break、continue

      • awk -F ":" '{print $1"--"$7}' new_passwd   用冒号切割,取第一、七列,注意{}外用单引号

      • awk -F ':' 'BEGIN{print "start shell"}{print $1,$7}END{print "end shell"}' new_passwd

      • awk -F ':' '{print NR"-"NF"-" $0}' new_passwd  前面添加行数和列数

      • awk '{split($1,date, "-")}END{for(i in date){print i "\t" date[i]}}' date.txt   $1第一列,用"-"切割第一列,并赋值给date,date为数组下标从1开始

      • // $3对第三列日期数据用"-"切割赋值给date数组,下标从1开始,生成两个字典类型的数据,键为第一列的数据,值为第五列的数据
        awk '{
            split($3, date, '-')
            if (date[2] == "01"){
                map_name_money[$1] += $5
                if ($2 == "0"){
                    map_role[$1] = "Manager"
                }else{
                    map_role[$1] = "Worker"
                }
            }}
            END{
                for(name in map_name_money){
                    print name"\t"map_name_money[name]"\t"map_role[name]
                }
        }' info.txt
    • grep   对数据进行过滤、提取、分析

      • -i   忽略大小写

      • -o     仅显示匹配到目标字符串

      • -v     显示不能被匹配到的字符串

      • -E    支持使用扩展的正则表达式

      • -q     静默模式,不输出任何信息

      • -n     显示匹配行与行号

      • -c     只统计匹配行数

      • grep  "^#" test.txt -v | grep "^$" -v      过滤注释行,并过滤空行

  • mount 挂在文件

    • mkisofs -r -J -V mytest -o /home/mytest.iso /root/test  将test文件夹下的文件制作成iso镜像

    • mount /home/mytest.iso /mnt   把mytest.iso挂在到mnt目录下

    • umount /mnt/test  取消挂载

  • 三种安装方式

    • yum安装

    • rpm安装

      • rpm -ivh rpm包

      • rmp -qa  显示所有rpm安装的软件  通过grep jdk 过滤

      • rpm -qi jdk-19-19.0.1-10.x86_64  查看软件的详细信息

      • rpm -qc iptables   查找iptables所在位置

      • rpm -e --nodeps mysql*    卸载mysql --nodeps忽略依赖关系

    • 源码编译安装

      • nginx 安装

        • yum install gcc gcc-c++  -y   

        • yum install openssl-devel -y   

        • yum install pcre pcre-devel -y

        • yum install zlib zlib-devel -y

        • 解压nginx的zip包,进入nginx目录

        • ./configure --prefix=/opt/apps/nginx --with-http_ssl_module --without-http_gzip_module --error-log-path=/var/log/nginx/nginx.log --pid-path=/var/log/nginx/pid

        • make 进行编译

        • make install 进行安装

        • 进入nginx/sbin目录

        • 执行nginx文件,若端口冲突在nginx.conf中配置

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值