安装Linux系统

VMware安装

首先安装VMware

VMware下载地址

在镜像网站下载镜像,直接进行安装

虚拟机安装

镜像下载地址

这里使用\(16.04\)版本

  1. 点击创建新的虚拟机

  2. 根据向导选择镜像并安装

  3. 安装完成之后开启虚拟机

    等待虚拟机启动

Linux介绍

  • \(LINUX\)的内核

    内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
  • \(LINUX \ SHELL\)

    Shell是系统的用户界面,它是一个命令解释器,它解释用户输入的命令,并且把它们送到内核。提供了用户与内核进行交互操作的一种接口。
  • \(LINUX\) 文件系统

    Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前许多的文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。
  • \(LINUX\)应用系统

    标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。

Linux常用命令

此处使用\(Tabby\)进行ssh连接操作

文件与目录管理

目录操作

  • 系统目录结构





  • 目录创建

  1. lyj208111545116@ubuntu:~$ mkdir work
  2. lyj208111545116@ubuntu:~$ ls
  3. Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos work
  • 目录删除

    1. 删除空目录
    2. 删除非空目录
  1. lyj208111545116@ubuntu:~$ rmdir work
  2. lyj208111545116@ubuntu:~$ ls
  3. Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos
  1. lyj208111545116@ubuntu:~$ rmdir work
  2. rmdir: 删除 'work' 失败: 目录非空
  3. lyj208111545116@ubuntu:~$ rm -r work
  • 查看当前所在目录
  1. lyj208111545116@ubuntu:~$ pwd

  • 转换目录
  1. lyj208111545116@ubuntu:~$ cd [dir]
  2. # dir 相对路径或绝对路径

  • 到用户的主目录
  1. lyj208111545116@ubuntu:~/Desktop$ cd ~

  • 回到先前的目录
  1. lyj208111545116@ubuntu:~$ cd -
  2. # /home/lyj208111545116/Desktop

  • 回到上级目录
  1. lyj208111545116@ubuntu:~/Desktop$ cd ..

  • 查看当前目录的内容
  1. lyj208111545116@ubuntu:~$ ls
  2. # Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos



可选参数

  • [-a] 显示隐藏文件和目录

  • [-l]显示文件的细节.

  • [-R]递归的显示子目录

  • 复制文件

  1. lyj208111545116@ubuntu:~/work$ ls
  2. # test
  3. lyj208111545116@ubuntu:~/work$ cd test
  4. lyj208111545116@ubuntu:~/work/test$ ls
  5. # t.txt
  6. lyj208111545116@ubuntu:~/work/test$ cp t.txt ~/work
  7. lyj208111545116@ubuntu:~/work/test$ cd ..
  8. lyj208111545116@ubuntu:~/work$ ls
  9. # test t.txt

附加操作

  1. -r

    递归的复制子目录
  2. -f

    若目的地已经有相同档名的档案存在,则在复 制前先予以删除再行复制 .
  3. -a

    尽可能将档案状态、权限等资料都照原状予以复制

文件操作

  • 文件创建
  1. lyj208111545116@ubuntu:~/work$ touch t.txt
  2. lyj208111545116@ubuntu:~/work$ ls
  3. t.txt
  • 文件删除
  1. lyj208111545116@ubuntu:~/work$ rm t.txt
  2. lyj208111545116@ubuntu:~/work$ ls
  • 链接

    1. ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化 .
    2. ln的链接又分为软链接和硬链接两种
    3. 硬连接是存在同一个文件系统中,而软连接却可以跨越不同的文件系统 。不能建立指向目录的硬链接
  • 软链接

  1. lyj208111545116@ubuntu:~/work$ ln -s ~/work/test/t.txt t.txt
  2. lyj208111545116@ubuntu:~/work$ ls -l t.txt
  3. lrwxrwxrwx 1 lyj208111545116 lyj208111545116 37 8 29 15:27 t.txt -> /home/lyj208111545116/work/test/t.txt
  • 硬链接
  1. lyj208111545116@ubuntu:~/work/test$ ln ~/work/t.txt t.txt
  2. lyj208111545116@ubuntu:~/work/test$ ls -l t.txt
  3. -rw-rw-r-- 2 lyj208111545116 lyj208111545116 0 8 29 15:31 t.txt
  • 移动文件
  1. lyj208111545116@ubuntu:~/work$ ls
  2. test
  3. lyj208111545116@ubuntu:~/work$ cd test
  4. lyj208111545116@ubuntu:~/work/test$ ls
  5. t.txt
  6. lyj208111545116@ubuntu:~/work/test$ mv t.txt ~/work
  7. lyj208111545116@ubuntu:~/work/test$ ls
  8. lyj208111545116@ubuntu:~/work/test$ cd ..
  9. lyj208111545116@ubuntu:~/work$ ls
  10. test t.txt
  • 文件查看

    1. cat [filename]

      显示文件内容

    2. less [filename]

分页显示文件,显示一页,不能拖动滚动条

3. more [filename]

分页显示文件

4. head [options] [filename]

显示文件的前n行

  1. 5. tail [options] [filename]

显示文件的后n行

  • 查找文件

    • 查找指定的文件

    • 在文件中查找字符串

  • 查看文件属性

文件权限 文件所属的用户 文件所属的组 数据最后修改时间 文件
Permissions Owner Group Date file
  1. lyj208111545116@ubuntu:~/work$ ls -l
  2. 总用量 20
  3. drwxrwxr-x 2 lyj208111545116 lyj208111545116 4096 8 29 16:55 test
  4. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 10240 8 29 16:25 test.tar.gz
  5. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 74 8 29 16:19 t.txt
  • 修改文件权限
名称 字符 数值
可读 r 4
可写 w 2
可执行 x 1
可以使用直接相加的分数来进行修改
  1. lyj208111545116@ubuntu:~/work$ sudo chmod 777 ~/work/test
  2. lyj208111545116@ubuntu:~/work$ ls -l
  3. 总用量 20
  4. drwxrwxrwx 2 t1 test_grp 4096 8 29 16:55 test
  5. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 10240 8 29 16:25 test.tar.gz
  6. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 74 8 29 16:19 t.txt
  • 修改文件用户
  1. lyj208111545116@ubuntu:~/work$ sudo chown t1 ~/work/test
  2. lyj208111545116@ubuntu:~/work$ ls -l
  3. 总用量 20
  4. drwxrwxr-x 2 t1 lyj208111545116 4096 8 29 16:55 test
  5. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 10240 8 29 16:25 test.tar.gz
  6. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 74 8 29 16:19 t.txt
  • 修改文件所属组
  1. lyj208111545116@ubuntu:~/work$ sudo chgrp test_grp ~/work/test
  2. lyj208111545116@ubuntu:~/work$ ls -l
  3. 总用量 20
  4. drwxrwxr-x 2 t1 test_grp 4096 8 29 16:55 test
  5. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 10240 8 29 16:25 test.tar.gz
  6. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 74 8 29 16:19 t.txt

管理

User

  • 创建用户
  1. lyj208111545116@ubuntu:~/work/test$ sudo useradd [opt] [username]
  • 删除用户
  1. lyj208111545116@ubuntu:~/work/test$ sudo userdel [opt] [username]
  • 修改用户
  1. lyj208111545116@ubuntu:~/work/test$ sudo usermod [opt] [username]
  • 修改密码
  1. lyj208111545116@ubuntu:~/work/test$ sudo passwd [opt] [username]
  • 查看登录用户

  • 用户切换
  1. lyj208111545116@ubuntu:~$ su t1
  2. 密码:[输入密码]
  3. t1@ubuntu:/home/lyj208111545116$

Group

  • 添加组
  1. # 权限问题
  2. lyj208111545116@ubuntu:~$ sudo groupadd test_grp
  • 删除组
  1. lyj208111545116@ubuntu:~$ groupdel test_grp
  • 显示用户所在的组
  1. lyj208111545116@ubuntu:~$ groups lyj208111545116
  2. # lyj208111545116 : lyj208111545116 adm cdrom sudo dip plugdev lpadmin sambashare

杂项

  • 通配符

    • \({*}\)

      匹配多个字符
    • \(?\)

      匹配单个字符
    • [a-z]

      匹配a\(\sim\)z之间的字符
    • [^a-z]

      匹配除了a\(\sim\)z之间的字符
  • Standard I/O

读取数据的对象称为输入流,能向其写入的对象叫输出流 。

名称 文件标识符 设备
STDIN 0 键盘
STDOUT 1 显示器、打印机
STDERROR 2 显示器
  • redirect I/O
序号 命令 作用
1 > file 把结果写入文件,文件内容覆盖
2 < file 读文件内容作为命令输入
3 >> file 把结果写入文件,文件内容不覆盖
4 2>&1 把错误输出写道标准输出
  1. lyj208111545116@ubuntu:~/work$ ls -l t.txt > t.txt
  2. lyj208111545116@ubuntu:~/work$ cat t.txt
  3. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 0 8 29 16:14 t.txt
  1. lyj208111545116@ubuntu:~/work$ cat t.txt
  2. t.txt
  3. lyj208111545116@ubuntu:~/work$ cat < t.txt
  4. t.txt
  1. lyj208111545116@ubuntu:~/work$ cat t.txt
  2. t.txt
  3. lyj208111545116@ubuntu:~/work$ ls -l t.txt >> t.txt
  4. lyj208111545116@ubuntu:~/work$ cat t.txt
  5. t.txt
  6. -rw-rw-r-- 1 lyj208111545116 lyj208111545116 6 8 29 16:17 t.txt
  • 管道命令

管道可以使一个命令的输入作为另一个命令的输出 ‘|’

  1. lyj208111545116@ubuntu:~$ ps -ax | grep tty
  2. 935 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux
  3. 959 tty7 Ssl+ 0:36 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
  4. 73365 pts/4 S+ 0:00 grep --color=auto tty
  • 压缩解压命令

    • tar

      • 打包

      • 解包

      • 参数

    -x : extract files

    -v : verbose mod

    -z : to compress or decompress *.gz

    -j : to compress or decompress *.bz2

    -f : specify the file to extract

    -c : to create an archive

    • gzip

      • 压缩

      • 解压缩

    • bzip2
      • 压缩

      • 解压缩

  • 软件安装

    • install

      安装

    • update

      更新软件源

    • delete

      删除
  • 查看ip信息

  1. lyj208111545116@ubuntu:~$ ifconfig
  2. ens33 Link encap:以太网 硬件地址 00:0c:29:de:e1:77
  3. inet 地址:192.168.116.129 广播:192.168.116.255 掩码:255.255.255.0
  4. inet6 地址: fe80::b88e:a830:917e:5d19/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
  6. 接收数据包:6575 错误:0 丢弃:0 过载:0 帧数:0
  7. 发送数据包:4050 错误:0 丢弃:0 过载:0 载波:0
  8. 碰撞:0 发送队列长度:1000
  9. 接收字节:3652164 (3.6 MB) 发送字节:354508 (354.5 KB)
  10. lo Link encap:本地环回
  11. inet 地址:127.0.0.1 掩码:255.0.0.0
  12. inet6 地址: ::1/128 Scope:Host
  13. UP LOOPBACK RUNNING MTU:65536 跃点数:1
  14. 接收数据包:320 错误:0 丢弃:0 过载:0 帧数:0
  15. 发送数据包:320 错误:0 丢弃:0 过载:0 载波:0
  16. 碰撞:0 发送队列长度:1000
  17. 接收字节:25855 (25.8 KB) 发送字节:25855 (25.8 KB)
  • 查看内核日志
  1. lyj208111545116@ubuntu:~$ dmesg | more
  2. [ 0.000000] Linux version 4.15.0-142-generic (buildd@lgw01-amd64-039) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 (Ubuntu 4.15.0-142.146~16.04.1-generic 4.15.18)
  3. [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-142-generic root=UUID=709a5400-bfe1-4787-b168-3eff490adec2 ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet
  4. [ 0.000000] KERNEL supported cpus:
  5. [ 0.000000] Intel GenuineIntel
  6. [ 0.000000] AMD AuthenticAMD
  7. [ 0.000000] Centaur CentaurHauls
  8. [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
  9. [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
  10. [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
  11. [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
  12. [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
  13. [ 0.000000] e820: BIOS-provided physical RAM map:
  14. [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009e7ff] usable
  15. [ 0.000000] BIOS-e820: [mem 0x000000000009e800-0x000000000009ffff] reserved
  16. [ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
  17. [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bfedffff] usable
  18. [ 0.000000] BIOS-e820: [mem 0x00000000bfee0000-0x00000000bfefefff] ACPI data
  19. [ 0.000000] BIOS-e820: [mem 0x00000000bfeff000-0x00000000bfefffff] ACPI NVS
  20. [ 0.000000] BIOS-e820: [mem 0x00000000bff00000-0x00000000bfffffff] usable
  21. [ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
  22. [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
  23. [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
  24. [ 0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
  25. [ 0.000000] NX (Execute Disable) protection: active
  26. [ 0.000000] SMBIOS 2.7 present.
  27. [ 0.000000] DMI: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015
  28. [ 0.000000] Hypervisor detected: VMware
  29. [ 0.000000] vmware: TSC freq read from hypervisor : 2900.000 MHz
  30. [ 0.000000] vmware: Host bus clock speed read from hypervisor : 66000000 Hz
  31. [ 0.000000] vmware: using sched offset of 3092833125 ns
  32. [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
  33. [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
  34. [ 0.000000] e820: last_pfn = 0xc0000 max_arch_pfn = 0x400000000
  35. [ 0.000000] MTRR default type: uncachable
  36. [ 0.000000] MTRR fixed ranges enabled:
  37. [ 0.000000] 00000-9FFFF write-back
  38. [ 0.000000] A0000-BFFFF uncachable
  39. [ 0.000000] C0000-CFFFF write-protect
  40. [ 0.000000] D0000-EFFFF uncachable
  41. [ 0.000000] F0000-FFFFF write-protect
  42. [ 0.000000] MTRR variable ranges enabled:
  43. [ 0.000000] 0 base 000C0000000 mask 3FFC0000000 uncachable
  44. [ 0.000000] 1 base 00000000000 mask 3FF00000000 write-back
  45. [ 0.000000] 2 disabled
  46. [ 0.000000] 3 disabled

编写和编译程序

编译c程序

  • 使用vim编写c程序
  1. lyj208111545116@ubuntu:~$ vi main.c
  2. #include<stdio.h>
  3. int main()
  4. {
  5. printf("hello world");
  6. return 0;
  7. }
  • 使用指令编译并运行
  1. lyj208111545116@ubuntu:~$ gcc main.c -o ma
  2. lyj208111545116@ubuntu:~$ ~/ma
  3. hello world

编写c++程序

  • 使用vim编写c++程序
  1. lyj208111545116@ubuntu:~$ vi cpp_test.cpp
  2. #include <iostream>
  3. int main()
  4. {
  5. std::cout << "hello world" << std::endl;
  6. return 0;
  7. }
  • 使用指令编译并运行
  1. lyj208111545116@ubuntu:~$ g++ cpp_test.cpp -o ct
  2. lyj208111545116@ubuntu:~$ ~/ct
  3. hello world

Linux简易入门的更多相关文章

  1. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  2. JNI简易入门

    JNI简介 JNI(Java Native Interface)是JDK的一部分,提供了若干API实现了Java和其他语言的通信(主要是C/C++).JNI主要用于以下场景: 贴近硬件底层的功能,Ja ...

  3. crontab简易入门

    前言 crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比 ...

  4. Linux系统入门简介<1>

    linux系统入门简介 我们为什么要学习Linux? 在介绍Linux的历史前,我想先针对大家如何对Linux的发音说一下.我发现我身边的朋友对Linux的发音大致有这么几种: "里那克斯& ...

  5. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  6. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  7. Linux 基础入门 第二周9.21~9.27

    一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...

  8. 机器学习简易入门(四)- logistic回归

    摘要:使用logistic回归来预测某个人的入学申请是否会被接受 声明:(本文的内容非原创,但经过本人翻译和总结而来,转载请注明出处) 本文内容来源:https://www.dataquest.io/ ...

  9. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

  10. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件

    除了使用Linux的包管理机制进行软件的安装.更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装.从源码安装软件一般经过软件配置.编译软件.执 ...

随机推荐

  1. 【JavaWeb】学习笔记——Tomcat集成

    简介 Tomcat是基于Java的一个开放源代码.运行servlet和JSP Web应用的Web应用软件容器,又称servlet容器 安装 官方网站:https://tomcat.apache.org ...

  2. 记录在linux上单机elasticsearch8和kibana8

    目录 1.背景 2.es对jdk和操作系统的要求等 3.安装步骤 3.1 下载对应版本的es 3.2 创建es账户 3.3 修改es配置 3.3.1 修改es配置 3.3.3 修改jvm配置 3.4 ...

  3. OpenCV图像处理与视频分析详解

    1.OpenCV4环境搭建 VS2017新建一个控制台项目 配置包含目录 配置库目录 配置链接器 配置环境变量 重新启动VS2017 2.第一个图像显示程序 main.cpp #include< ...

  4. 真正“搞”懂HTTP协议03之时间穿梭

    上一篇我们简单的介绍了一下DoD模型和OSI模型,还着重的讲解了TCP的三次握手和四次挥手,让我们在空间层面,稍稍宏观的了解了HTTP所依赖的底层模型,那么这一篇,我们来追溯一下HTTP的历史,看一看 ...

  5. 如何开发Vite3插件构建Electron开发环境

    新用户购买<Electron + Vue 3 桌面应用开发>,加小册专属微信群,参与群抽奖,送<深入浅出Electron>.<Electron实战>作者签名版. 1 ...

  6. FIT软件开发

    1.baidu,google 术和道 2.FIT: future integrated Technology 3.集体检视 > commiter 4.高内聚,低耦合 => 太极 => ...

  7. java8 (jdk 1.8) 新特性——Lambda

    java8 (jdk 1.8) 新特性 --初步认识 1. 什么是lambda? 目前已知的是,有个箭头  -> 说一大段官方话,也没有任何意义 我们直接看代码: 之前我们创建线程是这样的 Ru ...

  8. Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入)

    Spring 学习笔记全系列传送门: 目录 1.学习概述 2.Spring相关概念 2.1 Spring概述 2.1.1 Spring能做的工作 2.1.2 重点学习的内容 2.1.3 Spring发 ...

  9. Android开发之线程间通信

    Android开发之线程间通信 当我们的软件启动的时候,计算机会分配进程给到我们运行的程序,在进程中包含多个线程用于提高软件运行速度. 在android网络请求中,我们知道在日常开发中不能在子线程中跟 ...

  10. c#对接每人计平台获取数据

    使用c#对接到晓舟科技的客流统计设备.那么需要先注册一个平台的账号 地址:http://mrd.meirenji.cn/login;JSESSIONID=323cbd18-29ed-4232-8c04 ...