1.前言

  • 我们为什么要学习Linux?
    • 大部分网站的服务器是Linux系统
    • Android系统的底层是修改过的Linux内核
    • TOP500的超级计算机有99%是Linux系统

2.命令行提示符(用户名@电脑名:当前目录/权限)

1
ming@ming-VirtualBox:~$

故上述意思为用户名为ming,电脑名为ming-VirtualBox,家目录,普通用户(超级用户为#)

切换为超级用户

1
sudo su

要退出,使用Crtl+D或exit命令即可

3.常用命令(不常用的要RTFM)

  • 举例

    常用命令 描述
    whoami 打印用户名
    hostname 打印电脑名
    date 获取当前时间
    ls 列出当前目录下文件与目录
    history 列出所有使用过的命令(!编号 以运行对应历史命令)
    pwd 打印当前工作目录(Print Working Directory)
    which 打印可执行程序(命令)所在路径
  • 什么是命令参数

    1
    2
    command parameters
    command -p -a -T -c 等价于 command-paTc
  • 短参数举例

    1
    ls -a

    以上命令代表显示当前目录下全部(all,包括隐藏)文件与目录,linux隐藏文件以’.'开头

  • 长参数举例

    1
    ls --all

    与上述短参数命令等价

  • 参数的赋值

    1
    2
    command -p 10
    command --parameter=10 # 两行命令等价
  • 快捷/功能键介绍

    按键 描述
    Tab键 补全命令(空格键下一页,回车下一行,q退出列表)
    Ctrl+R 搜索使用过的命令
    Ctrl+L 清空终端内容
    Ctrl+D 向终端传递EOF
    Shift+PgUp/PgDn 向上/向下滚屏
    Ctrl+A / Home 光标跳到行命令开头
    Ctrl+E / End 光标跳到行命令结尾
    Ctrl+U 删除光标左侧命令字符
    Ctrl+W 删除光标左侧一个单词(空格隔开的字符串)
    Ctrl+Y 粘贴命令操作删除的字符串

4.目录命令详解

  • ls

    1
    2
    3
    4
    5
    6
    7
    8
    ls --color=auto		开启颜色标注
    ls --color=none 关闭颜色标注

    # 蓝色 --> 目录
    # 绿色 --> 可执行文件
    # 红色 --> 压缩文件
    # 浅蓝色 --> 链接文件
    # 灰色 --> 其他文件
  • ls -a (显示所有文件、目录,包括隐藏文件、目录)

  • ls -l (显示文件、目录详细信息,total单位为千字节)

  • .(点)代表当前目录

  • …(两个点)代表上一级目录

  • ls -A(显示所有文件、目录,不包括.和…)

  • ls -lh(h是human-readable,更直观显示数据)

  • ls -lt(-t表示按文件修改时间顺序排列)

  • 以上命令可以叠加使用

    1
    2
    ls -lath
    ls -l -a -t -h
  • cd(change directory)命令

    1
    2
    3
    4
    5
    6
    cd /              # 定位到根目录
    cd usr/games # 相对路径 定位到当前目录下usr/games文件夹
    cd /usr/games # 绝对路径 定位到根目录下...
    cd .. # 退到上一级目录
    cd ../.. # 回退两级目录
    cd ~ # 回到家目录
  • du(disk usage)命令

    1
    2
    3
    4
    5
    du                # 显示所有目录大小
    du -s # 只输出当前目录总大小
    du -a # 显示所有目录+文件大小

    # 提示:加上-h命令以易于阅读

5.文件命令详解

显示文件部分命令

  • cat(concatenate)命令

    1
    cat -n syslog    # 输出syslog文件所有内容,并显示行数
  • less 命令

    1
    2
    3
    4
    5
    PgDn / 空格键      读取下一页
    PgUp / b 读取上一页
    ↑ ↓ / y Enter 读取上/下行
    d / u 前进/后退半页
    q 终止less命令
  • less快捷键

    less命令常用快捷键 描述
    = 显示所在文件位置
    h 显示帮助文档(q退出)
    / 搜索模式(n/N 前后跳转)
  • head 与 tail 命令

    1
    2
    3
    4
    5
    head syslog          # 默认显示文件头部10行
    tail syslog # 默认显示文件尾部10行
    head -n 5 syslog # 显示文件头部5行
    tail -f syslog # 追踪文件更新 默认1秒一次
    tail -f -s 4 syslog # 使用-s指定检查间隔

创建文件部分命令

  • touch (创建文件)与 mkdir (创建目录)命令

    1
    2
    3
    4
    touch new_file
    touch "hello world"

    mkdir -p one/two/three # 使用-p递归创建目录结构

文件的复制、移动、删除、链接

  • cp 与 mv 命令:拷贝、移动文件

    1
    2
    3
    4
    5
    6
    7
    8
    cp new_file new_file_copy        # 当前目录拷贝文件并生成新的文件
    cp new_file one/(文件名,可省略) # 拷贝一份文件到one目录下

    cp -r one one_copy # 使用-r拷贝文件夹

    mv new_file one # 将new_file这个文件移动到one目录
    mv new_folder one # 将new_folder这个文件夹移动到one目录
    mv new_file renamed_file # 改名
  • 通配符 *

    1
    2
    cp *.txt folder     # 将目录下所有txt文件拷贝到folder子目录中
    cp ba* folder # 将目录下所有ba开头的文件拷贝到folder目录中
  • rm(删除)命令

    1
    2
    3
    4
    5
    6
    rm new_file         # 直接删除文件
    rm -i new_file # 使用-i提示是否删除(y/n)
    rm -f new_file # 使用-f强制删除文件(慎用)
    rm -r new_file # 使用-r递归的删除文件,包含子目录和文件

    rm -rf / # 危险命令,不信你试试!
  • ln(link)命令:创建链接

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Linux中文件名和文件内容(incode码识别)分开保存
    # 硬链接
    touch file1
    ln file1 file2 # 创建file2,与file1硬链接(共享),file2指向file1内容
    ls -i # 查看该目录文件的incode码

    # 提示:使用ls -l命令所输出的第二列数字其实就是拥有相同incode号文件的个数

    # 软链接(-s 含义:symbolic 符号的)
    ln -s file1 file2

    # 提示:此时使用ls -l命令会发现file2->file1,说明file2指向的并不是file1的内容了
    # 此时file2与file1的incode不同

    看下面两张图,你就会恍然大悟:

    Linux-硬链接

    Linux-软链接

  • 软链接与硬链接区别

    • 软链接可以指向目录,硬链接不可以

下篇文章推荐:Linux学习之旅2——终端和文件操作(下)