美文网首页Linux
Linux基础命令

Linux基础命令

作者: lily_5945 | 来源:发表于2021-08-01 17:35 被阅读0次

    Linux是严格区分大小写的,如果没有特别的说明,保持小写
    Linux所有的内容都是以文件形式保存,不靠扩展名区分文件类型
    命令之间都是有空格的,不要向英文字母一样,全部挤在一起

    系统命令

    • 登录基本信息:当前登录用户名、主机名、当前目录
    • (# 管理员用户提示符,$ 普通用户提示符)
    • who:查看登入的用户
    • whoami:确认自己的身份
    • su + 用户名:切换用户
    • history :查看当前用户运行命令的历史
    • ipconfig :查看IP地址
    • ping + 网址 :检查网络是否通畅(ping www.baidu.com

    目录操作命令

    • pwd:显示当前路径 (print working director
    • cd :切换目录 (change directory)
      1, cd .\ 当前目录
      2,cd .. 切换到上级目录
      3,cd \ 切换到根目录
      4,cd ~ (或只有 cd) 切换到当前用户主目录(home下以用户名命名的文件夹)
      5,cd \user\ -> cd bin 和 cd \user\ -> cd \bin 的区别
      (cd bin 是从user下查找 bin文件;cd \bin 是从根目录下查找bin文件)
    • 创建/删除目录
      mkdir + 目录名 :创建目录 (make dirctory)
      mkdir -p dir1/dir12/dir13 dir2/dir23 dir3 :一次创建多个带层级的目录
      rmdir + 目录名: 删除空目录 (remove dictory)
      rm -r + 目录名:删除带有文件的目录
      rm -rf + 目录名/文件名:强制删除目录或文件

    文件操作命令(重点)

    • touch:创建文件
      touch [路径]file :创建一个文件名为file的文件,可以加后缀(路径必须存在)
      touch dir1/file1 file2 file3 :一次创建多个文件

    • vim [路径]文件名,再按 i 键进入编辑状态

    • esc键:退出编辑状态,再按shift+:,输入以下命令:
      wq (保存退出);q (退出不保存);q! (强制退出,不保存);write filename (内容保存到新建文件中)
      进入文件后一些边便捷方法:(按非编辑魔术下按shfit+:才能输入)
      1,输入 /lemon:从光标开始处,向文件末尾搜索 lemon
      2,输入 ?lemon:从光标开始处,向文件首搜索 lemon
      3,输入 :set nu :显示每一行的行数
      4,按大写的 G,光标定位到末尾;按小写的 g,定位到首行(非编辑模式下)

    • ls :查看目录及文件
      1,Is [选项] 路径,若没有路径则显示当前目录的内容
      2,- a 显示所有文件,包括隐藏文件
      3,- l 显示文件属性
      4,ls -a -l ./Linux/test1 :查看test1目录下的所有文件并显示属性,包括隐藏文件

    • cp :复制命令(copy)
      1,基本用法:cp [选项] [路径]文件名/目录 目标地址
      2,- R 拷贝目录和目录下所有的目录和文件
      3,cp a.txt b.txt ,将a文件复制,且命名为b文件(目录名)
      4,cp dir1/dir11/file1 dir2/file2:将file1复制到dir2下,命名为file2
      5,cp -R dir1/dir11 dir2/dir22:将dir11目录及下面的文件复制到dir22目录下,目录名不变

    • mv 移动命令
      1,move 文件名或目录 目标目录
      2,mv a.txt ../ 将a文件移动到上级目录(将文件移动到另一个目录没有重命名)
      3,mv a.txt ../b.txt 将a文件移动到上级目录并改名为b文件(将文件移动到另一个目录并且重命名)
      4,mv dir1/dir12 dir2/dir22:将目录dir12及下面的文件移动到目录dir22下

    • rm 删除文件或目录
      1,rm -f 强制删除文件
      2,rm -r 删除目录
      3,rm -rf 强制删除文件或目录 (慎用)

    • find 查找文件
      1,用法:find [路径] [选项] 查找内容
      2,常用选项有:

      • find . -name '*.log' 在当前目录查找以 .log 结尾的文件
      • find ./dir -name '* test *' 在当前目录的dir目录下查找文件名包含test的文件
      • find / -name log 在根目录查找 log 命令的目录
    • grep 字符串 [路径]文件名1 文件名2 :在指定文件中查找字符(串)并打印该行
      grep 'hello word' test1/file1 file2 file3 在file1 file2 file3文件中串查找hello word 并打印所在行
      经常和管道符|一起使用,|grep 字符串

    • cat 命令:显示文件内容
      1,cat [路径]文件名:显示文本文件内容
      2,cat -n ./Linux/test1/file1 : 查看file1文件内容,对所有行(包括空白行)进行编号,从1开始
      3, cat -b ./Linux/test1/file1 : 查看file1文件内容,对所有非空白行进行编号
      4,cat -s ./Linux/test1/file1:查看file1文件内容,有多行空行的只显示一行空行
      5,cat -e ./Linux/test1/file1 : 查看file1文件内容,并且在每行的结尾处附加$符号,包括空白行
      6,cat -n file>file1,对file文件中每一行加上行号后然后写入到file1中,会覆盖原来的内容,文件不存在则创建它。
      7,cat -n file>>file2,对file1文件中每一行加上行号后然后追加到file2中去,不会覆盖原来的内容,文件不存在则创建它。

    • head :查看前几行(不带参数默认获取前10行)
      heah file1 :查看file1文件的前10行
      head -n 20 file1:查看file1的前20行

    • tail :查看后几行(不带参数默认获取倒数10行)
      tail file1 :查看file文件的倒数10行内容
      tail -n 20 file1:查看file文件的倒数20行内容
      tail -f error.log 不断刷新,看到最新内容,一般用于查看日志
      tail -500f error.log :查看最新500条数据

    • sed -n "开始行,结束行p" [路径]文件名:查看开始行到结束行的内容
      sed -n 5p file1 :输出第5行
      sed -n '5p;8p;10,20p' file1 :输出第5行,第8行,第10到20行的内容
      sed -n '15,20p' file1: 输出file1文件的15-20行的内容(等同于 head -n 20 file4 |tail -n 5 )

    • more/less:
      cat error.log|grep 'https'|more : 分页查看更多内容

    • sed命令下批量替换文件内容  
      格式: sed -i "s/查找字段/替换字段/g" 'grep 查找字段 -rl 路径`文件名
      (实操失败,会进入quote>。grep前后的点是esc下面那个键上的点)

    • vim状态下文件内容替换(只能操作一个文件)
      先vim file1,再shift+:,输入以下命令
      注释:%s表示替换文件全部,s表示替换光标所在行,g表示替换所有,不写g表示替换第一个,分隔符/ 也可以使用#,此时/不会当作分隔符,以下是部分示例
      1,%s/hello word/hello baby/g:把文件中所有的hello word替换为hello baby
      2,%s#/usr/bin#/bin#g :把文件中所有的路径/usr/bin替换为/bin
      3,s/hello word/hello baby:把当前行的第一个hello word替换为hello baby

    • perl 命令直接替换文件中的字符串(不用打开文件,可以批量替换多个文件)
      示例:
      1,perl -p -i.txt -e"s/hello word/hello baby/g" ./dir1/file1 ./file2
      将dir1目录下的file1和当前目录下的file2文件中的所有hello word替换hello baby,旧文件备份为file1.txt 和file2.txt
      2,perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
      将所有C程序中的foo替换成bar,旧文件备份成.bak
      参数详解:
      -p 自动循环+自动输出,相当于 while(<>) { 脚本; print; }
      -n 自动循环,相当于 while(<>) { 脚本; }(实际操作会清空文件内容)
      -i<扩展名> 原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份
      -e 执行指定的脚本
      -a 自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
      -F 指定-a的分隔符,可以使用正则表达式
      -l 对输入内容自动chomp,对输出内容自动添加换行

    相关文章

      网友评论

        本文标题:Linux基础命令

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