学习笔记之linux系统常用命令

    xiaoxiao2024-11-25  93

    1、查找文件及文件夹

       1)find path -name filename查找文件

        eg: find / -name aa.py查找根目录下所有名为aa.py的文件

              find ./ -name *.py 查找当前目录下所有后缀为py的文件

        2)find path -type d 查找文件夹

             eg: find ./ -type d 查找当前目录下所有文件夹,包含子文件夹

                   find ./ -type d -name test 查找当前目录下名为test的文件夹

    2、在文件中查找特定内容

        1)grep string file 在file文件中查找string,grep 对大小写敏感,若想忽略大小写,可加 -i

            eg: grep info ./aa.log  - i 在当前目录下aa.log文件中查找字符串"info",忽略大小写

        2)若文本中含有二进制文件,用1)中形式会提示“匹配到二进制文件 file",影响查找,此时可用

             more file | grep string 

           eg: more aa.log | grep info 在aa.log文件中查找字符串"info",同样,加-i忽略大小写

        3)cat file | grep string也可用于查找特定内容

    3、替换内容

      sed -i "s/oldstring/newstring/g" filename 

      eg:  sed -i "s/,/;/g" tmp.txt   将tmp.txt文件中所有英文逗号替换为英文分号

    4、文件复制

        1)cp fileA fileB 将单个文件fileA复制给fileB

             cp -r  fileA fileB 加-r表示fileA可以是文件夹,或者文件

             scp -r A B 可以将不同linux服务器之间的文件/文件夹复制

         2)复制文件特定几行内容到另一个文件

               2.1)head -n 100 aa.txt >b.txt  将aa.txt文件前100行复制到b.txt中

                        tail -n 100 aa.txt > b.txt 将aa.txt文件最后100行复制到b.txt中

               2.2)cat aa.txt |tail -n +10 | head -n 25 > b.txt 将aa.txt文件第10行开始(包括第10行)的25行内容复制到b.txt中

                        cat aa.txt |head -n 15 |tail -n +10 >b.txt 将aa.txt文件第10行到第15行复制到bb.txt中

               2.3)sed -n "5,15p" aa.txt > b.txt 将aa.txt文件第5行至第15行复制到b.txt中

               2.4)split -n 100 aa.txt 将文件aa.txt分成多份,每份100行

    5、权限账户相关

       1)设置/修改root账号密码:sudo passwd root

       2)获取所有用户:cat /etc/passwd

       3)创建用户:useradd name

       4)   非root用户切换为root用户:sudo su 或 su -root

             root用户切换为非root用户:exit 或 su tester (tester为用户)

       5)赋予文件修改权限:chmod 777 file 或chmod -X  file

            赋予文件夹下所有文件修改权限:chmod -R 777 file

    6、查看文件大小及解压缩

       1)查看所有文件大小:ls -a

            根据文件大小(显示合适单位)显示:ll -h

       2) 显示当前目录文件夹大小: du -sh * 

       3)显示系统占用情况:  df -h

       4) 将file文件压缩为object.zip文件 :zip object.zip file

           解压zip格式文件(./表示当前目录下):unzip object.zip ./

           将file文件压缩为tar格式文件: tar cvf object.tar file

           解压tar格式文件:tar -xvf object.tar

           将file文件压缩为tar.gz格式:tar zcvf object.tar.gz file

           解压tar.gz格式文件:tar -xvf object.tar.gz

     7、统计文本行数

          1)、wc -l file 统计file中总行数(包括全空行)

          2)、grep "^$"  file | wc -l 统计file文件中全空行行数

          3)、grep -v  "^$"  file | wc -l 统计file文件中非全空行行数

    8、查看端口占用情况

         1)、netstat -anp |grep 8888 查看端口号8888是否别占用,返回listening表示被占用

         2)、netstat -nultp 返回所有被占用端口 

         3)lsof -i:8888 返回含义待查询

    9、防火墙开启/关闭

        1)、查看防火墙运行状态: systemctl status firewalld

                 dead表示停止,active表示运行

        2)、开启防火墙:systemctl start firewalld

        3)、停止防火墙:  systemctl stop firewalld

                                    systemctl disable firewalld

    10、环境变量

           编辑环境变量:vim /etc/profile---->插入:export java_path=./jar------->source /etc/profile

    11、vim下快捷键

           1)、注释多行:vim下,control+v >按下键选多行>shift+i>输入#>Esc

           2)、vim先显示行数:set nu

           3)、跳到文档首行: :0(冒号0) 跳到文档末尾: :$(冒号$)

           4)、跳到文档行首:0  跳到文档行末:e

           5)、批量缩进,如第10行到第15行空一格:10,15> 反过来为:10,15<

    12、获取cpu、memory信息,输出到文件中

            nohup -b -d 10 -p PID |tee >>test.txt &

           其中-d后参数为时间间隔10分钟获取一次

    13、linux下查看文件编码方式:file 文件

           windows下查看方式:hexdump.exe -C zi.txt

    14、批量kill进程

           ps -ef|grep 进程名 |awk '{print $2}'|xargs kill

    15、给文件添加行号

           awk '$0=""NR"."$0' tmp.txt

           加个格式: awk '$0=""NR"_"$0' tmp.txt  >>test.txtawk '$0=""NR"."$0' tmp.txt

    效果:

           1_jsfhs skj肌肤快速减肥是十分数据快速减肥

           2_kjs

           3_说减肥是减肥是分散

           4_【】/2【42-5908晚饭吗4

           5_sfjfw f

           

     

        

             

     

     

    最新回复(0)