Linux_command.md

Linux是程序猿的必修课,所以掌握一下怎么和机器对话吧:)

ls

缺省下ls会打印当前目录下的文件清单,若指定其他目录则会显示指定目录下的文件及文件清单。其可以查看目录,文件权限等信息

  1. 命令格式 : ls [选项][目录名]
  2. 常用参数 :

       - a : -all,列出目录下所有文件,包括.开头的文件
       - h : 列出文件大小
       - t : 以文件修改时间排序
    

    -l : 列出文件的所有信息,包括文件权限,文件所有者,文件大小

mv

move的缩写,可以用来移动文件或者重命名文件,是Linux下常用的命令

  1. 命令格式 : mv [选项] 源文件或目录 目标文件或目录
  2. 常用参数 :
    根据目标文件或者参数来自动悬着移动或者是重命名文件,如果是目录,则移动,如果是文件,则重命名
    - b : 如果需要覆盖文件,则覆盖前先备份
    - f : 强制覆盖
    - t : 适用于移动多个源文件到一个目录
    

find

在目录结构中搜索文件,并执行指定的操作。其功能十分强大,只要你具有相应的权限,基本都是可以使用的。

  1. 命令格式 : find pathname -options [-print -exec -ok …]
  2. 命令参数 :

        - pathname : find命令所查找的目录路径
        - print : find命令将匹配的文件输出到标准输出
        - exec : find命令对匹配的文件执行该参数所给出的shell命令。
    

    3.命令选项 :

        - name : 按照文件名查找文件
        - user : 按照文件主属性来查找文件
        - cmin : 查找系统最后N分钟被改变的文件状态 
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
➜  pipe_warehouse git:(master) find tutor/ -name odsTutorMarketStudentCpa.py
tutor//odsTutorMarketStudentCpa/odsTutorMarketStudentCpa.py
➜ code cd test_code
➜ test_code ls
test_para_pass.sh
➜ test_code vim test.txt
➜ test_code ls
test.txt test_para_pass.sh
➜ test_code cd ~/Desktop/code/
➜ code pwd
/Users/zhangyangfenbi.com/Desktop/code
➜ code find test_code -name test.txt
test_code/test.txt
➜ code find test_code -name test.txt | xargs cat

hello zhangyang

pwd

查看当前目录的完整路径

  1. 命令格式 : pwd [选项]
  2. 常用参数 : 一般情况下不带任何参数,但是如果目录是链接的时候,格式: pwd -P 显示出实际路径,而非使用的Link路径。

mkdir

在指定位置创建指定名称的文件夹或者目录,要求创建者对所创建的文件夹的父文件夹具有写权限,并且创建的文件夹不可以和父文件夹重名。

  1. 命令格式 : mkdir [选项] 目录
  2. 命令参数 :
    -m : —mode = 模式,设定权限<模式>,类似于chmod
      eg : mkdir -m 777 zy_test
    
    -p : 递归创建多个目录

大型拖现场

  • date : 2018-05-28
  • date : 2018-05-29
  • date : 2018-05-30

感觉自己是个呆瓜…

  • date : 2018-05-31

出去玩三天,暂停更新。

  • date : 2018-06-04
  • date : 2018-06-05

呆瓜如我…

  • date : 2018-06-06

man

Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件、编程帮助等信息

  1. 命令格式 : man (选项)(参数)
    2.常用参数 :
       -f : 等价于whatis指令,显示给定关键词的剪短描述信息
    

Google一下,man一下, wiki一下,实在不行再问人。勿要轻易打扰他人。

which

查看可执行文件的位置

  1. 命令格式 : which 可执行文件的名称
    1
    2
    3
    4
    5
    6
    ➜  code which python3
    /usr/local/bin/python3
    ➜ code which java
    /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java
    ➜ code which mysql
    /usr/local/mysql/bin/mysql

Updated 换种版式,上面那样写不够流畅(2018-10-25)

du


命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法 :du -option -file

选项

  • -a或-all 显示目录中个别文件的大小。
  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -c或—total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -k或—kilobytes 以KB(1024bytes)为单位输出。
  • -m或—megabytes 以MB为单位输出。
  • -s或—summarize 仅显示总计,只列出最后加总的值。
  • -h或—human-readable 以K,M,G为单位,提高信息的可读性。
  • -x或—one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -L<符号链接>或—dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
  • -S或—separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -X<文件>或—exclude-from=<文件> 在<文件>指定目录或文件。
  • —exclude=<目录或文件> 略过指定的目录或文件。
  • -D或—dereference-args 显示指定符号链接的源文件大小。
  • -H或—si 与-h参数相同,但是K,M,G是以1000为换算单位。
  • -l或—count-links 重复计算硬件链接的文件。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ➜  Movies ls
    [王牌保镖.保镖救杀手][BluRay-720P.MKV][2.96GB][中英字幕] 触不可及-1280高清.mp4
    ➜ Movies du
    6243576 ./[王牌保镖.保镖救杀手][BluRay-720P.MKV][2.96GB][中英字幕]
    2425128 ./触不可及-1280高清.mp4
    8668720 .
    ➜ Movies du -m
    3049 ./[王牌保镖.保镖救杀手][BluRay-720P.MKV][2.96GB][中英字幕]
    1185 ./触不可及-1280高清.mp4
    4233 .
    ➜ Movies du -s -m
    4233 .
    ➜ Movies du -h
    3.0G ./[王牌保镖.保镖救杀手][BluRay-720P.MKV][2.96GB][中英字幕]
    1.2G ./触不可及-1280高清.mp4
    4.1G .

df


命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

语法:df -option -file
选项

  • -a或—all:包含全部的文件系统;
  • —block-size=<区块大小>:以指定的区块大小来显示区块数目;
  • -h或—human-readable:以可读性较高的方式来显示信息;
  • -H或—si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
  • -i或—inodes:显示inode的信息;
  • -k或—kilobytes:指定区块大小为1024字节;
  • -l或—local:仅显示本地端的文件系统;
  • -m或—megabytes:指定区块大小为1048576字节;
  • —no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
  • -P或—portability:使用POSIX的输出格式;
  • —sync:在取得磁盘使用信息前,先执行sync指令;
  • -t<文件系统类型>或—type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
  • -T或—print-type:显示文件系统的类型;
  • -x<文件系统类型>或—exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
  • —help:显示帮助;
  • —version:显示版本信息。

nl


nl在Linux中用来计算文件中行号。nl可以将输出的文件内容自动的加上行号,其默认结果与cat -n有点不一样,nl可以将行号做比较多的显示设计

语法:nl -option -file
选项

  • -b : 指定行号的指定方式
    • -b a : 表示不论是否为空行,也同样列出行号
    • -b t : 如果有空行,空的那一行不要列出行号
  • -n : 列出行号表示的方法
    • -n ln : 行号在屏幕最左方显示
    • -n rn : 行号在屏幕最右方显示,且不加0
    • -n rz : 行号在屏幕最右方显示,且加0

scp


scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。(优点:非常不占用系统资源)
语法: scp -option source_dir tar_dir

  • -r 递归复制整个目录
    明天问问运维大哥为啥从f04上面复制不了文件到本机。。。。