0%

Linux基础

Linux介绍

  • Linux的前身——Unix

    1970年,Unix诞生,因此,1970年被称为Unix元年。

    Unix时间戳:指从1970年1月1日0时0分0秒开始,到现在所经过的秒数(不包括闰秒)。

  • Linux的诞生:1991年

    李纳斯·托瓦兹——Linux之父

    1992年,Linux加入GNU计划(GNU is NOT UNIX),更名为GNU/Linux

  • Linux系统的特点:开源、多用户、多任务、良好的用户界面、优异的性能和稳定性;

    Windows系统属于单用户、多任务操作系统。

Linux常用指令

Linux基础指令

Linux基础指令
  • ls指令:

    选项 含义
    -l
    -a
    -h
  • cd指令:切换目录

  • pwd指令:打印当前目录

  • touch指令:创建文件或者修改文件时间

    • 如果文件不存在,可以创建一个空白文件
    • 如果文件已经存在,可以更新文件的末次修改时间
  • mkdir指令:创建一个新的目录

    -p 递归创建目录
    选项 含义

    使用示例:

    1
    $ mkdir -p newfile/hello/world

    注意事项:在linux环境下,不能使用touch指令和mkdir指令在同一目录下创建同名文件/目录

  • rm指令:删除文件或者目录

    选项 含义
    -f 强制删除,忽略不存在的文件,无需提示
    -r 递归删除目录下的内容,删除文件夹时必须加此参数

    注意事项:使用rm指令,文件删除后不能恢复

  • tree指令:以树状图列出文件目录结构

    选项 含义
    -d 只显示目录,不显示文件

    注意事项:linux系统可能默认不支持tree指令,使用如下命令安装sudo apt-get install tree

  • cp指令:将指定文件或目录拷贝到另一个文件或目录中

    选项 含义
    -i 覆盖文件前提示
    -r 若给出的源文件是目录型文件,则cp指令将递归复制该目录下的所有目录和文件,目标文件必须是一个目录名

    使用示例:

    1
    2
    $ cp readme.md /usr/local/uci/code/test.md # 拷贝并修改文件名
    $ cp readme.md /usr/local/uci/code # 拷贝不修改文件名,只需指定目标路径
  • mv指令:移动文件或目录,也可以给文件目录重命名

    选项 含义
    -i 覆盖文件前提示

查看文件内容相关指令

  • cat指令:cancatenate

    用于查看文件内容、创建文件、文件合并、追加文件内容等操作

    选项 含义
    -b 对非空输出行编号
    -n 对输出所有行编号
  • more指令

    用于分屏显示文件内容

    操作键 功能
    空格键 显示文件下一屏的内容
    回车键 滚动输出文件下一行的内容
    b 回滚到上一屏内容
    f 前滚下一屏
    q 退出
  • grep指令

    用于搜索文本文件内容,grep [搜索内容] [源文件]

    选项 含义
    -n 显示匹配行及行号
    -v 显示不包含匹配内容的所有行(相当于求反)
    -i 忽略大小写

    grep指令操作演示

    使用示例:

    1
    $ grep "Hello world" Hello.cpp # 用引号将带空格的搜索目标包含在一起

    特别地,grep指令具有模式查找功能:

    参数 含义
    ^a 行首,搜索以a开头的行
    ke$ 行尾,搜索以ke结尾的行

    grep指令模式查找

远程管理常用命令

  • 关机/重启

    • shutdowm
    选项 含义
    -r 重新启动
    -c 取消关机/重启计划
  • 常看或配置网卡信息

    • ifconfig
    • ping
  • 远程登录和复制文件

    • ssh指令

      命令格式:ssh [-p port] user@remote

      > user是远程机器上的用户名,如果不指定的话就默认为当前用户;

      > remote为远程机器的地址,可以是ip/域名,或者是别名;

      > port是SSH Server监听端口号,如果不指定,默认值22,-p选项是小写

      注意:ssh终端命令只能在Linux或者UNIX系统下使用

  • scp指令

    命令格式:scp [-P port] [-r] src user@remote:dest

    > port是SSH Server监听端口号,如果不指定,默认值22,-P选项是大写

    > src是源文件路径

    > : 后面的路径dest如果不是绝对路径,则以用户的家目录作为参考路径

    scp指令操作演示

其他指令

  • echo指令

    echo会在终端中显示参数指定的文字,一般会和重定向联合使用

    echo使用示例

  • 重定向>和>>

    • Linux允许将命令执行结果重定向到一个文件
    • 将本应显示在终端上的内容输出/追加到指定文件中

    其中,

    • >表示输出,会覆盖文件原有的内容
    • >>表示追加,会将内容追加到已有文件的末尾

    重定向使用示例

  • 管道|

    • Linux允许将一个命令的输出通过管道作为另一个命令的输入

    常用的管道命令有:

    • more:分屏显示内容

    管道使用示例1

    • grep:在命令执行结果的基础上查询指定的文本

    管道使用示例1

Linux进阶指令

Linux进阶指令

Linux主要目录速查表

  • /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录,所有的东西都是从这里开始;

    例如,当在终端中输入/home,其实是在告诉电脑,先从/(根目录)开始,然后进入到home目录。

  • /bin、/usr/bin:可执行二进制文件的目录,如常用的命令:ls、tar、mv、cat等;

  • /boot:放置Linux系统启动时用到的一些文件,如Linux内核文件:/boot/vnUnuz;系统引导管理器:/boot/grub;

  • /dev:存放Linux系统下的设备文件,访问该目录下的某个文件,相当于访问某个设备,常见的是挂载光驱:iiount /dev/cdron/mnt

  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有:

    1
    2
    3
    4
    5
    6
    /etc/inittab
    /etc/fstab
    /etc/initd
    /etc/Xll
    /etc/sysconfig
    /etc/xinetd.d
  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下;

    1
    2
    ~表示当前用户的家目录,例如:cd ~
    ^edu表示用户edu的家目录
  • /lib、/usr/lib、/usr/local/lib:系统使用的库函数目录,程序在执行过程中,需要调用一些额外的参数时,需要函数库的协助;

  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置在此目录下;

  • /mnt/media:光盘的默认挂载点,通常光盘挂载于/mnt/cdrom目录下,但也不一定,光盘可以选择任意位置进行挂载;

  • /opt:给主机额外安装软件所摆放的目录;

  • /proc:此目录的数据都在内存中,如系统核心、外部设备、网路状态等,由于数据都存放在内存中,所以不占用磁盘空间;

  • /root:系统管理员root的家目录