[Linux] 最完整的Linux学习笔记(ubuntu)

1、介绍

  • Linux是一个开源、免费的操作系统,具有很强的稳定性、安全性、以及处理多并发的能力,目前大多数企业级应用甚至是集群项目都部署运行在Linux操作系统上,很多软件公司考虑到开发成本都首选Linux,Linux在中国软件公司得到了广泛使用。
  • Linux发行版本主要有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE、红旗Linux。

2、安装

  • 虚拟机。
  • 镜像系统。

3、常用操作及概念

快捷键

  • Tab:命令和文件名补全
  • Ctrl + C:中断正在运行的程序
  • Ctrl + D:结束键盘输入

求助

  • –help

  • man

    man是manual的缩写,将指令的基本信息显示出来,比如man date

  • info

    info与man类似,但是info将文档分成一个个页面,每个页面可以跳转

  • doc

    /usr/share/doc存放着一整套说明文件

关机

  • who

    在关机前需要先使用who命令查看有没有其他用户在线

  • sync

    为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘,因此关机之前需要先进行sync同步操作

  • shutdown

    -k 不会关机,只是发送警告信息,通知所有在线用户
    -r 将系统服务停掉后就重新启动
    -h 将系统服务停掉后就立即关机
    -c 取消已经在进行的shutdown
    

sudo

  • sudo允许一般用户使用root可执行的命令,不过只在/etc/sudoers配置文件中添加的用户才能使用该命令

VIM三个模式

  • 一般指令模式:VIM的默认模式,可以用于移动游标查看内容
  • 编辑模式:按下“i”等按键之后进入,可以对文本进行编辑
  • 指令列模式:按下“:”按键之后进入,用于保存退出等操作

命令模式下,命令汇总

命令作用
:w写入磁盘
:w!当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关
:q离开
:q!强制离开不保存
:wq写入磁盘后离开
:wq!强制写入磁盘后离开
  • 快捷键
    yy:复制光标所在行
    nyy:复制光标所在行向下 n 行(包括光标所在行)
    p:粘贴到光标所在行的下一行
    dd:删除光标所在行
    ndd:删除光标所在行向下 n 行(包括光标所在行)
    u:撤销上一次操作
    /xxx:搜索 xxx,在命令模式下使用
    set nu:显示行号,在命令模式下使用
    set nonu:关闭行号,在命令模式下使用

4、分区

开机检测程序

  • BIOS

    BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入在硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。

    BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的主要开机记录(MBR),由主要开机记录(MBR)执行其中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。

    安装多重引导,最好先安装 Windows 再安装 Linux。因为安装 Windows 时会覆盖掉主要开机记录(MBR),而 Linux 可以选择将开机管理程序安装在主要开机记录(MBR)或者其它分区的启动扇区,并且可以设置开机管理程序的选单。

  • uefi

    BIOS 不可以读取 GPT 分区表,而 UEFI 可以。

5、常见指令

文件与目录的基本操作

  • ls

    列出文件或者目录的信息,目录的信息就是其中包含的文件

    -a 列出全部文件
    -d 仅列出目录本身
    -l 以长数据串行列出,包含文件的属性与权限等等数据
    
  • cd

    更换当前目录

  • mkdir

    创建目录

    -m 配置目录权限
    -p 创建多级目录
    
  • rmdir

    删除目录

    -p 删除多级目录
    
  • touch

    更新文件时间或者建立新文件

    -a 更新atime
    -c 更新ctime,若该文件不存在,则不创建新文件
    -m 更新mtime
    -d 可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
    -t 可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]
    
  • cp

    复制文件

    -a 相当于 -dr --preserve=all
    -d 若来源文件为链接文件,则复制链接文件属性而非文件本身
    -i 若目标文件已经存在时,在覆盖前会先询问
    -p 连同文件的属性一起复制过去
    -r 递归复制
    -u destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制
    --preserve=all 除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了
    
  • rm

    删除文件

    -r 递归删除
    
  • mv

    移动文件

    -f 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    

修改权限

  • 查看文件和目录权限

    # 查看path目录下名为filename的文件或文件夹权限
    ls -l path/filename  
    
    # 查看path路径下的所有文件权限
    ls -ls path  
    
    # 查看当前文件夹权限
    ls -ld 文件夹名称(所在目录) 
    
  • 1,代表文件类型,一般有三类,- 代表普通的二进制文件,l 代表符号链接文件(软链接),d 代表目录文件

  • 2-4,代表文件所有者的权限表示情况,分别对应可读® 可写(w) 可执行(x),- 代表没有该项权限

  • 5-7,代表文件所有者和所属组的权限表示情况,分别对应可读® 可写(w) 可执行(x),- 代表没有该项权限

  • 8-10,代表除文件所有者和所属组的其他人所拥有的权限表示情况,分别对应可读® 可写(w) 可执行(x),- 代表没有该项权限

  • 修改文件和目录权限

    • sudo chmod 600 ×××  (只有所有者有读和写的权限)-rw------- 
      sudo chmod 644 ×××  (所有者有读和写的权限,组用户只有读的权限)-rw-r--r--  
      sudo chmod 700 ×××  (只有所有者有读和写以及执行的权限)-rwx------ 
      sudo chmod 755 xxx	(只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限)-rwxr-xr-x
      sudo chmod 711 xxx	(只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限)-rwx--x--x
      sudo chmod 666 ×××  (每个人都有读和写的权限)-rw-rw-rw-  
      sudo chmod 777 ×××  (每个人都有读和写以及执行的权限)-rwxrwxrwx  
      
    • # 批量修改权限,全部子目录和子文件权限被修改
      chmod 777 * -R
      
    • # 表示给其他人授予写xxx.xxx这个文件的权限
      chmod o+w xxx.xxx
      
      # 表示删除xxx.xxx中组群和其他人的读和写的权限
      chmod go-rw xxx.xxx
      
      # u代表所有者(user)
      # g代表所有者所在的组群(group)
      # o代表其他人(other)
      # a代表全部人(包括u、g、o)
      
      # r 表示文件可以被读(read)
      # w 表示文件可以被写(write)
      # x 表示文件可以被执行(如果它是程序的话)
      # rwx-也可以用数字4210来分别代替
      
      # +表示添加权限
      # -表示删除权限
      # =表示使之成为唯一的权限
      

默认权限

  • 文件默认权限

    文件默认没有可执行权限,因此为666,也就是-rw-rw-rw-

  • 目录默认权限

    目录必须要能够进入,也就是必须拥有可执行权限,因此为777,也就是drwxrwxrwx

获取文件内容

  • cat

    取得文件内容

    -n 打印出行号,连同空白行也会有行号
    
  • tac

    是cat的反向操作,从最后一行开始打印

  • more

    和 cat 不同的是它可以一页一页查看文件内容,比较适合大文件的查看

  • less

    和 more 类似,但是多了一个向前翻页的功能

  • head

    取得文件前几行

    -n 后面接数字,代表显示几行的意思
    
  • tail

    是 head 的反向操作,只是取得是后几行

  • od

    以字符或者十六进制的形式显示二进制文件

文件搜索

  • which

    指令搜索

    -a 将所有指令列出,而不是只列第一个
    
  • whereis

    文件搜索,速度比较快,因为它只搜索几个特定的目录

  • locate

    文件搜索,可以用关键字或者正则表达式进行搜索。

    locate 使用 /var/lib/mlocate/ 这个数据库来进行搜索,它存储在内存中,并且每天更新一次,所以无法用 locate 搜索新建的文件。可以使用 updatedb 来立即更新数据库。

  • find

    文件搜索,可以使用文件的属性和权限进行搜索。

压缩与打包

常见压缩文件名

压缩指令

  • gzip

    gzip 是 Linux 使用最广的压缩指令,可以解开 compress、zip 与 gzip 所压缩的文件。

    经过 gzip 压缩过,源文件就不存在了。

    有 9 个不同的压缩等级可以使用。

    可以使用 zcat、zmore、zless 来读取压缩文件的内容。

    gzip [-cdtv#] filename
    -c :将压缩的数据输出到屏幕上
    -d :解压缩
    -t :检验压缩文件是否出错
    -v :显示压缩比等信息
    -# : # 为数字的意思,代表压缩等级,数字越大压缩比越高,默认为 6
    
  • bzip2

    提供比 gzip 更高的压缩比。

    查看命令:bzcat、bzmore、bzless、bzgrep。

    bzip2 [-cdkzv#] filename
    -k :保留源文件
    
  • xz

    提供比 bzip2 更佳的压缩比。

    可以看到,gzip、bzip2、xz 的压缩比不断优化。不过要注意的是,压缩比越高,压缩的时间也越长。

    查看命令:xzcat、xzmore、xzless、xzgrep。

    xz [-dtlkc#] filename
    

打包指令:

压缩指令只能对一个文件进行压缩,而打包能够将多个文件打包成一个大文件。tar 不仅可以用于打包,也可以使用 gzip、bzip2、xz 将打包文件进行压缩。

tar [-z|-j|-J] [cv] [-f 新建的 tar 文件] filename...  ==打包压缩
tar [-z|-j|-J] [tv] [-f 已有的 tar 文件]              ==查看
tar [-z|-j|-J] [xv] [-f 已有的 tar 文件] [-C 目录]    ==解压缩
-z :使用 zip;
-j :使用 bzip2;
-J :使用 xz;
-c :新建打包文件;
-t :查看打包文件里面有哪些文件;
-x :解打包或解压缩的功能;
-v :在压缩/解压缩的过程中,显示正在处理的文件名;
-f : filename:要处理的文件;
-C 目录 : 在特定目录解压缩。

6、进程管理

  • ps

    查看某个时间点的进程信息

    查看自己的进程:

    ps -l
    

    查看系统所有进程:

    ps aux
    
  • pstree

    查看进程树

  • top

    实时显示进程信息

    两秒刷新一次

    top -d 2
    
  • netstat

    查看占用端口的进程

    netstat -anp | grep port
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值