30no2's Blog.

linux学习--指令篇

字数统计: 1.6k阅读时长: 6 min
2019/07/22 Share

linux实用指令

帮助指令

1.man

查找函数的详细帮助文档,获得帮助信息
1
man ls

2.help

获得shell内置命令的帮助信息
1
help cd

文档目录类

1.pwd

显示当前工作目录的绝对路径

2.ls

显示目录或者文件
  • 常用选项
  1. -a:显示当前目录的所有文件和目录,包括隐藏的
  2. -l:以列表的方式显示信息
  3. -al:以列表的方式显示信息

3.cd

切换到指定目录
  • 常用选项

  • 绝对路径/相对路径

    1
    2
    1. 绝对路径:/home 即从根目录开始定位
    2. 相对路径: ../home 从当前工作目录开始定位到需要的目录中去
  1. cd ~或者cd 回到自己的家目录
  2. cd .. 回到当前目录的上一级目录

4.mkdir

创建目录
1
mkdir /home/dog
  • 常用选项
  1. -p 创建多级目录用
    1
    mkdir -p /home/cat/cat1

5.rmdir

删除目录
1
rmdir /home/dog
  • 说明
  1. 不能删除非空目录
  2. 删除非空目录 则 rm -rf /home/cat

6.touch

创建空文件
1
touch hello.txt
  • 说明
  1. 一次性创建多个文件 空格间隔
    1
    touch hello.txt hello1.txt

7.cp

拷贝到指定目录 -- cp [参数] 源目录 目标目录
  • 常用选项
  1. -r 递归拷贝文件夹

    1
    2
    3
    cp -r aaa/ bbb/

    cp -r hello.txt bbb/
  2. \cp 强制覆盖 当目标目录有同名文件强制覆盖操作

    1
    \cp -r aaa/ bbb/
  • 说明
    强制覆盖的时候,有同名的会覆盖不同名则会复制

8.rm

删除文件或文件夹
  • 常用选项
  1. -r:递归删除整个文件夹
  2. -f:强制删除不提示
1
2
rm -rf aaa/
rm -f hello.txt

9.mv

移动文件目录或者重命名
1
2
mv hello.txt good.txt 重命名
mv good.txt aaa/ 移动
  • 说明
    移动如果当前目录有这个文件则会认为是重命名
    如果没有则认为是移动相当于windows中的剪切

10.cat

查看文件内容
cat [选项] 文件名    
1
cat -n /etc/profile | more
  • 常用选项
  1. -n :显示行号
  • 说明
    |more 分页显示

11.more

基于vi编辑器的文本过滤器,它以全屏的方式按页显示文本
  • 常用选项
  1. 空格翻页
  2. ctrl+b 向上滚动一屏
  3. ctrl+f 向下滚动一屏
  4. = 输出当前行号
  5. :f 输出文件名和当前行号

12.less

跟more类似,但是并不是整个加载后显示,根据需要显示
1
less book.txt
  • 常用选项
  1. 空格 向下翻页
  2. pagedown /pageup 翻页
  3. /字串 向下查找关键字
  4. ?子串 向上查找关键字
  5. q 退出文档

13.>指令和>>指令

> 输出重定向(覆盖)
>> 追加
  • 基本语法
  1. ls -l>文件 (功能描述:列表中的内容写入文件a.txt中(覆盖写))
  2. ls -al>>文件 (功能描述:列表中的内容追加到文件aa.txt的末尾)
  3. cat 文件1>文件2 (将文件1的内容覆盖到文件2)
  4. echo “内容”>>文件
  5. cal > a.txt(覆盖)
  6. cal >> a.txt(尾部追加)

    14.echo

    输出内容到控制台
  • 语法
    echo [选项] 输出内容
  • 应用实例
  1. 输出环境变量:echo $PATH
  2. 输出hello world: echo hello word.

15.head

显示文件开头几行的内容
1
head -n 5 hello.txt

16.tail

用于输出文件尾部的几行
  • 基本语法
  1. tail 文件 (功能:查看文件后10行内容)
  2. tail -n 5 文件 (功能描述,查看文件后5行的内容)
  3. tail -f 文件 (功能描述:实施追踪该文件所有更新)重点

17.ln

创建软连接,也叫符号链接,类似window中的快捷方式
  • 基本语法
  1. ln -s [源文件或者目录][软链接名]
  • 应用实例
  1. 创建root的软连接
    1
    ln -s /root linktoroot
  • 注意
    删除的时候一定不要加/ 例如linktoroot/
    这样会把目录下的文件都删掉不是删除这个快捷方式

18.history

查看执行过的历史命令
  • 案例
  1. 查看所有历史指令

    1
    history
  2. 查看最后10条指令

    1
    history 10
  3. 执行历史第5条历史指令

    1
    !5

文件目录类

1.date

显示当前日期
  • 参数
  1. date 显示时间信息 2019年 07月 24日 星期三 18:14:32 CST
  2. date “+%Y-%m-%d” 2019-07-24
  3. date -s “2018-11-11 11:22:22” 设置时间

    2.cal

    查看日历

搜索查找类

1.find

  • 语法
    find [搜索范围] [选项]
  • 选项说明
  1. -name <查询方式>
  2. -user<用户名>
  3. -size<文件大小>

    • 按照文件名查找/home目录下的hello.txt文件

      1
      find /home -name hello.txt
    • 按照拥有者查找/home目录下,用户名为root的文件

      1
      find /home -user root
    • 查找整个linux系统下大于20兆的文件(+n大于 -n小于 n等于)

      1
      find / -size +20M
    • 查找整个linux系统下.txt文件

      1
      find / -name *.txt

2.locate

快速定位文件路径
  • 语法
    locate 搜索文件
  • 特别说明
    在第一次运行之前,必须使用updatedb指令创建locate数据库
1
2
updatedb
locate hello.txt

压缩解压类

1.grep指令和管道符 |

  • 语法
    grep [选项] 查找内容源文件
  • 常用选项

    1. -n 显示匹配行及行号
    2. -i 忽略字母大小写
    • 案例
      1.在hello.txt中查找yes所在行,并显示行号
      1
      2
      3
      cat hello.txt | grep -n yes
      cat hello.txt | grep -i yes
      cat hello.txt | grep -n -i yes

    2.gzip/gunzip

    gzip 用于压缩文件 gunzip用于解压缩

    • 语法
      gzip 文件 (只能将文件压缩为gz)
      gunzip 文件.gz
    1
    2
    gzip hello.txt
    gunzip hello.txt.gz

3.zip/unzip

zip用于压缩文件,unzip用于解压
  • 语法
    zip [选项] 文件名
    unzip [选项] 文件名
  • 选项
  1. zip
    1. -r 递归压缩
  2. unzip
    1. -d<目录>:指定解压后的目录
  • 案例

    • 将/home下的文件压缩成mypackage.zip

      1
      zip -r mypackage.zip /home/
    • 将mypackage.zip 解压到/opt/tmp目录下

      1
      unzip -d /opt/tmp/ mypackage.zip

4.tar

tar指令是打包指令,最后打包后的文件是.tar.gz的文件 
  • 基本语法
    tar [选项] XXX.tar.gz
  • 选项
  1. -c 产生.tar的打包文件
  2. -v 显示详细信息
  3. -f 指定压缩后的文件名
  4. -z 打包同时压缩
  5. -x 解包。tar文件
  • 实例

    1. 压缩多个文件a.txt b.txt 压缩成为a.tar.gz

      1
      tar -zcvf a.tar.gz  a.txt b.txt
    2. 将home文件夹整体打包成myhome.tar.gz

      1
      tar -zvcf myhome.tar.gz /home/
    3. 将a.tar.gz解压到当前目录

      1
      tar -zxvf a.tar.gz
    4. 将a.tar.gz解压到aaa目录下

      1
      2
      tar -zxvf a.tar.gz -C aaa
      //-C 必须要有否则报错
CATALOG
  1. 1. linux实用指令
    1. 1.1. 帮助指令
      1. 1.1.1. 1.man
      2. 1.1.2. 2.help
    2. 1.2. 文档目录类
      1. 1.2.1. 1.pwd
      2. 1.2.2. 2.ls
      3. 1.2.3. 3.cd
      4. 1.2.4. 4.mkdir
      5. 1.2.5. 5.rmdir
      6. 1.2.6. 6.touch
      7. 1.2.7. 7.cp
      8. 1.2.8. 8.rm
      9. 1.2.9. 9.mv
      10. 1.2.10. 10.cat
      11. 1.2.11. 11.more
      12. 1.2.12. 12.less
      13. 1.2.13. 13.>指令和>>指令
      14. 1.2.14. 14.echo
      15. 1.2.15. 15.head
      16. 1.2.16. 16.tail
      17. 1.2.17. 17.ln
      18. 1.2.18. 18.history
    3. 1.3. 文件目录类
      1. 1.3.1. 1.date
      2. 1.3.2. 2.cal
    4. 1.4. 搜索查找类
      1. 1.4.1. 1.find
      2. 1.4.2. 2.locate
    5. 1.5. 压缩解压类
      1. 1.5.1. 1.grep指令和管道符 |
      2. 1.5.2. 2.gzip/gunzip
      3. 1.5.3. 3.zip/unzip
      4. 1.5.4. 4.tar