详解Linux基础操作与常用命令

本篇文章主要分为Linux基础操作与Linux常用指令两大板块 方便快速学习上手Linux

主要的内容是以文本的方式展示  具体还需读者实践练习

(1)Linux基础操作

1.Linux的快捷操作

  • tab键的补全
    • 自动补全、可以补全命令、补全参数
  • 方向键调用历史命令
    • 可以对之前输入过命令进行再次调用

2.ubuntu终端的工作路径

thegun@thegun-virtual-machine:~$

  • 当前用户名@当前系统名:当前的工作路径$
  • @:分割符
  • thegun-virtual-machine:当前系统名
  • :分割符
  • ~:当前工作路径
  • $:分割符

3.Linux路径

  • ~:家目录,表示当前用户的目录,在此目录下,当前用户是非常高的权限
  • /:根目录,Linux的一切文件/文件夹的起点,所有目录都是从根目录开始的
  • ./:当前目录,表示当前的工作目录
  • ../:上级目录,表示相对于当前目录而言上一级目录

注意:可以通过#和$来区分此时是超级用户还是普通用户,$表示普通用户,#表示超级用户

4.vi/vim编辑器

vi/vim是linux中最基本的、最常用的、功能最强大的文本编辑器

vim是vi进阶版。

vi/vim的两种模式

  • 编辑模式:

                键盘上输入的所有的字符都作为文件的内容使用

  • 命令模式:

                键盘上输入的字符作为命令使用

注意:编辑器已启动默认就是命令模式。

        命令模式切换至编辑模式
  • i :insert进入编辑模式之后,光标不移动
  • I :Inset进入编辑模式之后,光标移动至行首
  • o :open向下开路,在光标的所在行的下一行,新开一行。
  • O :Open向上开路,在光标的所在行的上一行,新开一行。
  • a :append追加,进入编辑模式,光标会移动到后一个字符追加
  • A :Append追加,进入编辑模式,光标会移动到行尾追加
        编辑模式切换至命令模式
  • esc

命令模式的命令

  • 退出 / 保存
  1. :q : quit 退出 只有在没有进行修改的情况下,才能正常退出(如果有修改文件内容,退出的 时候进行询问/提示)
  2. :q! :强制退出,不保存
  3. :wq :write quit 保存并退出
  4. :w :write 写入/保存
  5. :x : 保存并退出
  • 删除 / 修改
  1. x : 删除光标所在位置的字符
  2. dd :delete 删除光标所在行
  3. ndd : number delete 。n在这里是一个数字,表示删除包括光标所在行及往下n行的内容。 并且把删除的内容保存在剪切板
  4. p : print 将剪切板中的内容粘贴到当前行的后面
  5. P : Print 将剪切板中的内容粘贴到当前行的前面
  6. yy:复制当前行,把当前行的内容拷贝到剪切板中
  7. r : replace 替换光标所在的那一个字符,按下r在找要替换的字符
  8. R :替换光标及之后的多个字符,(按下esc退出替换模式)
  9. u : undo 撤销操作
  • 搜索
  1. 命令: /需要搜索的内容
  2. n :next 找到下一个匹配的内容
  3. N :找到上一个匹配的内容
  • 替换
  1. s : substitute 替换

        :{作用范围}s/{目标}/{替换内容}/{替换标志}

                作用范围:

                        作用范围如果不指定,默认在当前行进行查找 目标

                        如果是在全文范围内容寻找 %

                        如果是在指定访问内容寻找 选择区域

                                2,5 表示从第2行开始到第5行范围去寻找 目标

                                .,+2 表示从当前行开始到接下来的两行的范围内容寻找 目标

                替换标志

                        g : global 全局替换 即所有行都替换

                        i : ignore 忽略大小写

                将当前行中的第一个 目标 ,替换成 替换内容 。如果当前行存在多个 目标 则只会替换其 中一个

  • 显示行号

        : set nu

注意:在没有文件名情况下

  • 在保存的时候: :w 文件名.扩展名 保存创建
  • 使用vi/vim的时候可以指定打开的文件

5.文件系统相关的命令

文件系统是用来管理文件的一套组织方法和软件系统。

   1.文件

  • 文件属性:inode是唯一标识符,用来标识一个文件存不存在的东西。

        inode:文件名、文件大小、文件类型....

  • 文件内容:

        inode:索引节点、文件的字节数大小、拥有者、读写权限、时间信息、链接数.....

        文件存储硬盘上,操作系统把硬盘分为两个区域:

  1. 一个是数据区:存储文件的数据内容
  2. 一个是节点区:存储文件inode信息

表面上,用户通过文件名打开文件。实际上系统通过inode节点信息,找到该文件数据存储的硬盘区 域,读出数据。

   2.链接

是指,指向该inode节点的文件名。(可以粗略把文件名inode理解为指针,文件数据认为是空间)

        软连接(符号链接)
  • 文件A和文件B inode节点虽然不一样,但是文件A的内容就是文件B的路径
  • 读取文件A的时候,系统会自动将访问者导向文件B
  • 因此,无论打开文件A还是打开文件B,最终读取到的内容都是文件B的内容
  • 这种时候/情况,文件A称为文件B的 软链接 (soft Link)
  • 意味着文件A指向了文件B,删除文件A是不会对文件B有影响的,但是如果删除文件B就会对文件A 产生影响,文件A无法打开
  • 语法:

        ln -s 源文件 软连接文件名

        硬链接
  • 一般情况下,文件名和inode节点是一一对应的关系,也就是每一个inode节点对应一个文件名
  • 但是linux系统允许多个文件名指向同一个inode节点,意味着可以用不同的文件名访问相同的内容
  • 对于这个文件内容的进行修改,会影响其他文件名访问那个文件内容,但是删除一个文件名,不影 响其他文件名的使用的。这个链接称为 硬链接 (hard link)
  • 语法:

        ln 源文件 硬连接文件名

                为源文件创建一个硬链接 指向inode 目标文件指向源文件的inode

注意:不要再共享目录下使用,因为window没有链接文件

3.常用的文件系统

ext3、ext4、FAT32、NTFS...

4.Linux文件

树状 结构

linux系统下的文件组织方式是以/根目录开始

  • 绝对路径:

        所有以/根目录开始路径,称为 绝对路径 (完整路径)(起点是固定的 /根目录)

  • 相对路径:

        不以 / 根目录出发的路径,称为 相对路径 (不完整的路径)(起点并不是固定的/根目录)

(2)Linux常用命令

终端缩放字体: 放大: ctrl + shift +    缩小: ctrl + -

切换路径

cd:change directory 切换路径

第一种用法: cd 目标路径 切换到目标路径

  • 示例: cd /mnt/hgfs 切换当前工作路径至 /mnt/hgfs 路径

第二种用法: cd - 切换到上一次去到的路径

  • 示例:当前处于家目录 ~
    • 然后执行: cd /mnt/hgfs 切换到了共享目录
    • cd - 回到家目录 ~

第三种用法: cd 直接使用的时候,切换到家目录

  • 示例: cd 直接切换到家目录

列举目录/文件

ls:list 列举目录/文件

第一种用法: ls 列举当前工作路径下的文件夹和文件

  • 示例:当前处于家目录 ~
    • ls 会将家目录下的文件夹和文件给列举处理

第二种用法: ls [参数] 指定列举的一些参数

  • 示例:当前处于家目录 ~
    • ls -a 列举当前工作路径下的所有文件夹和文件(包含隐藏文件)
    • ls -l 列举当前工作路径下的文件夹和文件的属性信息

第三种用法: ls [参数] [目标] 按照指定参数去列举目标

  • 示例:当前处于家目录 ~
    • ls /mnt/hgfs 列举指定目录 /mnt/hgfs 下的文件夹和文件
    • ls -l /mnt/hgfs 列举指定目录 /mnt/hgfs 下的文件夹和文件属性
    • ls -a /mnt/hgfs 列举指定目录 /mnt/hgfs 所有的文件夹和文件

复制

cp:copy 复制

第一种用法: cp 需要拷贝的文件 目标地(目标文件)

  • 示例:当前处于家目录 ~
    • cp 1.txt class 1.txt 拷贝到 class 文件夹下(前提class文件夹要存在)
    • cp 1.txt 2.txt 1.txt 拷贝到 2.txt 文件夹下(并重命名)

第二种用法: cp [参数] 需要拷贝的文件夹 目的地(目标文件夹)

  • 示例:当前处于家目录 ~
    • cp class class2 -rclass 拷贝到当前文件夹下(并重命名)
      • -r 递归

注意:不要将文件夹拷贝到文件里面去。

移动/重命名

mv:move 移动

第一种用法: mv 需要移动的文件夹/文件 目的地

  • 示例:当前处于家目录 ~
    • mv 1.cpp class/ 将当前目录下的 1.cpp 文件移动到 class 目录下

第二种用法: mv 需要移动的文件夹/文件 新的名字

  • 示例:当前处于家目录 ~
    • mv 1.cpp 1.txt 将当前目录下的 1.cpp 文件重命名为 1.txt

注意:在重命名的时候,如果是跨目录操作,那么新名字的前面也需要带路径

创建普通文件

touch:创建一个普通的文件

用法: touch 文件名.扩展名 创建一个普通文件

        示例: touch 2.cpp 在当前目录下创建一个名为 2扩展名为 .cpp 的文件

注意:可以跨目录操作,在创建的时候可以在文件名前面加路径,那么就会在指定的路径下去创建。

注意:创建的时候要记得一定一定一定要带扩展名

常见文件夹

mkdir:make directory 创建一个文件夹

第一种用法: mkdir 文件夹的名字

  • 示例: mkdir demo 在当前目录下创建一个名为 demo 的文件夹
  • 示例: mkdir /demo 在根目录下创建一个名为 demo 的文件夹

第二种用法: mkdir 文件夹1/文件夹2/文件夹n 创建嵌套的文件夹

  • 示例: mkdir -p demo1/demo2/demo3 依次创建文件夹
    • -p parent 从父目录开始依次创建

删除

rm:remove 移除

第一种用法: rm 文件的完整名字

        示例: rm 1.cpp 移除当前目录下的 1.cpp 文件

第二种用法: rm -r 文件夹的完整名字

        示例: rm -r demo 移除当前目录下的 demo 文件夹

                -r 递归

显示当前目录的完整路径

pwd:print work directory 打印当前工作路径的完整路径

用法: pwd 打印当前工作路径的完整路径

        示例:当前处于家目录 ~

                pwd 终端会显示 /home/thegun

修改文件的权限

chmod:change mode 修改权限

认识权限: rwxrwxrwx

  •         rwx :表示了三种权限

        r :读权限

        w :写权限

        x :可执行权限

                各种组合:

        

  • linux 里面的权限是有三组

        分别为:

                        

第一种用法: chmod +/-权限值 文件名 为文件增加/删减某项权限

  • 示例: chmod +x a.out 为 a.out 增加权限
  • 示例: chmod o-x a.out 为 a.out 其它用户删减可执行权限

第二种用法: chmod 八进制权限值 文件名

  • 示例: chmod 777 a.out 为 a.out 所有赋予全部权限
  • 八进制权限值:每一位数据表示一个用户类型: 777 ---> rwxrwxrwx

注意:以上的命令在家目录操作,不要再共享目录( /mnt/hgfs )下去操作,因为共享目录是 windows 文 件系统,有的指令是无法生效的

判断文件类型

file:判断一个文件的类型

在 linux 下文件的扩展名不等同文件类型。

用法: file 文件名 判断该文件是什么类型        

        示例: file 1.cpp 终端输出: 1.cpp: C source, ASCII text

常见文件类型:

        

文件的压缩和归档

压缩:将一组文件或者目录压缩成一个文件

归档:将一组文件或者目录保存在一个文件

常见压缩算法:rar、zip、gzip、7z、bz、iso...

tar 进行文件的压缩和归档

用法: tar [参数列表] 压缩完成的文件的名字 需要压缩的文件列表

        压缩
  • tar -zcvf xxx.tar.gz 需要压缩的文件列表
    • tar :使用tar 进行压缩
    • -zcvf :使用 gzip 进行压缩文件并指定文件名字,且显示压缩过程信息
    • xxx.tar.gz :压缩之后的文件名, tar 表示由 tar 进行压缩, gz 表示是 gzip 算法压缩
        解压缩
  • tar -xvf xxx.tar.gz
    • tar :使用tar 进行压缩
    • -xvf :释放一个压缩文件并指定文件名字,且显示解压缩过程信息
    • xxx.tar.gz :需要解压缩的文件

帮助手册

man:manul 帮助手册

linux 会为每一条内置命令,系统函数、标准库函数、写一个帮助手册。不同文件,会有不同分类

用法: man 需要查询的命令/函数

  • 有的时候发现出来的帮助手册不是我们想要的。命令/函数重名了
  • man -f 需要查询的命令/函数 列出同名的命令/函数出来
    • (1) 同名的命令/函数
    • (2) 同名的命令/函数
    • ...
  • man 页数 同名的命令/函数
    • 在手册界面下按q退出

注意:帮助手册会默认调用第一个手册

临时切换超级管理员权限

sudo:super do 使用超级管理员权限执行操作

有些指令操作普通用户没有权限,所以要借用超级管理员权限去执行

用法: sudo 需要用到超级管理员权限的指令操作

sudo apt-get install g++

切换用户

su 切换用户

第一种用法: su 用户名

        示例: su thegun 切换到 thegun 用户

第二种用法: sudo su 切换超级管理员

        示例: sudo su 切换到超级管理员用户

其他命令

  • 关机命令
    • sudo shutdown now 立即关机
    • sudo shutdown n : n:number 表示一个数字 分钟,定时关机
    • sudo shutdown -c : cancel 取消定时关机
  • 重启命令
    • sudo reboot
  • 设置密码
    • passwd 用户名 为一个用户设置密码
  • 清屏
    • clear 清屏终端
    • ctrl+l 清屏终端
  • 查看文件内容
    • cat 文件名 查看该文件的内容,在终端显示
    • cat -n 文件名 查看该文件的内容,在终端显示 并显示行号
  • 查找软件
    • which 软件名
  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值