Linux 常用命令笔记

一. 认识Linux

1. 什么是操作系统(OS)

  • 向下能够直接控制硬件,向上能够支持软件的运行
  • 操作系统是一套软件代码,这套代码比较特殊可以直接控制硬件
  • Linux内核是用C语言写的

如果想要研究Linux内核的话,去研究最早的版本。所有的发行版本都是基于Linux的内核基础上添加外包装就成为了一个新的操作系统,所以最核心的还是Linux内核。此处链接到内核源码网址

二. 目录结构

1. Windows平台

Linux 常用命令笔记_第1张图片

2. 类Unix系统目录结构

Linux 常用命令笔记_第2张图片

三. Linux 命令

3.1 Linux命令的基本格式

在这里插入图片描述
关于参数:

  • ls / ,表示显示根目录下的文件夹,ls /etc ,表示显示根目录下etc文件夹里的内容,这里ls后面接的叫参数

关于选项:

  • ls -lahls -a,这里 ls -选项,命令后面带’–'的叫做选项

3.2 ls 命令

  • ls -l:表示以列表的形式显示文件,不显示单位

在这里插入图片描述

  • ls -l -h:表示显示文件大小的单位
    Linux 常用命令笔记_第3张图片
  • ls -a:表示显示当前目录下的所有文件,包含隐藏文件

3.3 查看帮助文档

< 1 > --help

在这里插入图片描述

< 2 > man 命令

Linux 常用命令笔记_第4张图片

3.4 history 命令

  • 查看历史打印过的命令,前面的数字表示使用过命令的数量编号
    Linux 常用命令笔记_第5张图片
  • 此处使用 ! 2074,表示字节执行以前执行过的那条命令

3.5 通配符命令

< 1 > 只显示以2开头的文件

Linux 常用命令笔记_第6张图片

< 2 > 显示以1开头,3结尾,中间是任何数或字符的文件

在这里插入图片描述

< 3 > 显示以1开头,3结尾,中间是数字1-5之间的文件

在这里插入图片描述

3.6 重定向命令

< 1 > 重定向符号 ’ > ’

  • 把原来显示在终端的内容重定向到文件里
    Linux 常用命令笔记_第7张图片

< 2 > 重定向符号 ’ >> ’

  • 相比于 > 具有追加功能,即不会删除原来的内容

3.7 more 命令

< 1 > 基本使用

  • 以文档的形式查看文件内容,可以上下屏翻页查看,B是向上一页(back),F是向下一页(forward)
  • 与cat的区别是,cat一次显示出所有的内容,翻页起来麻烦
  • 一般看大文件的内容用more命令,按q退出

< 2 > 与其他命令相互配合

  • /bin显示在终端的内容放在 | 里,然后more命令把 | 里的内容显示出来

Linux 常用命令笔记_第8张图片

  • | 称为管道
  • | 的左边是一个命令,右边也是一个命令,通过管道将两个命令结合在一起(这个用的比较多)

3.8 相对路径与绝对路径

< 1 > 基本概念

相对路径:从当前路径开始算起的路径。
绝对路径:从根目录开始算起的路径。

< 2 > 在 cd 命令里的使用

  • cd ./A表示跳到当前路径下的A文件夹,此处的 . 表示的是当前文件夹。
  • cd ..表示返回当前路径的上一个文件夹(..表示当前路径的上一个文件夹)
  • cd ../..表示跳到上上层文件夹(这是相对路径)
    Linux 常用命令笔记_第9张图片
  • cd -表示返回到你上一次操作的路径,类似电视遥控器里的回看。
  • cd ~表示跳回到家路径(快速回家)

3.9 创建树形文件夹

命令:mkdir A/B/C/D/E -p

Linux 常用命令笔记_第10张图片

3.10 rmdir 和 rm 命令

  • rmdir 只能删除空的文件夹
  • rm可以删除文件和文件夹以及非空文件夹,删除文件夹的时候要加-r选项

3.11 mv命令

  • 命令:mv (原文件的名字) (新文件的名字)
  • 核心目的是移动某个文件:mv 111.txt LAOWANG/:表示把111.txt剪切粘贴到LAOWANG这个文件夹里
  • 顺带的功能是能给一个文件或者一个文件夹改名

3.12 Linux 系统下的链接

  • Linux里的软链接类似Windows里的快捷方式

< 1 > 软连接

  • 关于软连接的解释
    Linux 常用命令笔记_第11张图片
    创建的软链接就是右边的1-softlink.txt,此时它是指向源文件1.txt的,我们可以通过1-softlink.txt来运行我们的源文件,如果删除了源文件1.txt,上图红色的箭头就断开了,那么软连接文件就找不到源文件了,也就打不开源文件了。
  • 创建软连接的方式:ln -s (原文件) (新文件名) —(选项-s表示soft,软)

< 2 > 硬连接

  • 关于硬链接的解释
    Linux 常用命令笔记_第12张图片
    相当于给同一份数据内容增加了一个文件名,如果将源文件1.txt删除了,还能够通过硬链接文件找到源文件的内容。
  • 创建硬链接的方式:ln (原文件) (新文件名) —不要加-s选项

< 3 > 硬链接数的概念

  • 创建一个软连接不会增加硬链接数的个数,创造一个硬链接会增硬链接的个数,下图能够看出,只要硬链接数为0,源文件的数据才被彻底删除,硬链接数的查询方式如下:
    Linux 常用命令笔记_第13张图片
  • 举例2
    Linux 常用命令笔记_第14张图片

3.13 cat 命令 以及与重定向的配合使用

< 1 > 一次显示多个文件的内容

Linux 常用命令笔记_第15张图片

< 2 > 把两个文件内容合并到一个文件

在这里插入图片描述

3.14 grep 命令

  • grep "ntfs" xxx.txt:搜索xxx.txt文件中含ntfs四个字符的内容
  • grep "^ntfs" xxx.txt:搜索xxx.txt文件中必须开头是ntfs四个字符的内容
  • grep "ntfs$" xxx.txt:搜索xxx.txt文件中必须结尾是ntfs四个字符的内容
  • 总之grep是在文件里搜内容

3.15 cp 命令

  • 作用:复制拷贝一个文件,原文件不会被删除
  • 只要操作一个文件夹时报错,加入 -r 选项
    Linux 常用命令笔记_第16张图片

3.16 find 命令

  • find 是在文件夹里搜文件名,grep是在文件里面搜具体内容

Linux 常用命令笔记_第17张图片

3.17 tar 命令

< 1 > 打包和解包

  • tar -cvf test.tar *.py:把.py结尾的文件打包成test.tar文件
  • tar -xvf test.tar:把test.tar解包,原包不会删除
  • 以上打包和解包没有压缩,此时虽然放在同一个文件夹里,但是它的大小没有变,所以不常用,而下面的压缩可以减小包占用硬盘的大小

< 2 > 打包和解包并压缩方式1

  • tar -zcvf test.tar.gz *.py:打包加上压缩
  • tar -zxvf test.tar.gz:解开压缩包(tar命令时最后面加上选项-C (路径)可以指定解压的位置)
    Linux 常用命令笔记_第18张图片

< 3 > 打包和解包并压缩方式2

  • tar -jcvf test.tar.bz2 *.py:打包并压缩
  • tar -jxcf test.tar.bz2:解压缩

< 4 > 打包和解包并压缩方式3

  • zip zzz.zip *.py:打包并压缩
  • unzip zzz.zip:解压缩(用zip解压缩加入-d可以指定路径)
    在这里插入图片描述

3.18 查看任务进程

< 1 > ps 命令

  • ps -aux:显示乌班图所有开启的进程,显示一遍就结束了,类似Windows里的任务管理器

< 2 > top、htop命令

  • top 可以实时显示进程(不停刷新)
  • htop 也显示进程,更加高级

3.19 kill 命令

  • kill -9 9822:杀死9822这个进程,(-9 表示强制杀死)

3.20 shutdown、reboot

  • shutdown -h now:直接关机
  • reboot:重启

3.21 df 命令

  • df -h:查看硬盘的使用情况
    Linux 常用命令笔记_第19张图片

四. 与用户相关的Linux命令

4.1 useradd 命令

  • sudo useradd shuaige -m:创建一个新的用户,用户名叫做shuaige,-m表示创建ssss账户的时候顺便创了一个文件夹当作sss的家目录,创建用户的同时默认已经创建了一个组,组名=用户名(但是它默认不在超级管理员的组里)
    在这里插入图片描述
  • 确定用户创建成功的方式:执行cat /etc/passwd命令,最低下会多一行用户名开头的代码,表示创建成功
    在这里插入图片描述
  • 此时如果要切入到新创建的用户会报错,因为默认没有给其设置密码:
    在这里插入图片描述
  • 使用sudo passwd shuaige命令给其设定密码
    在这里插入图片描述
  • 切换账户与退出账户
    Linux 常用命令笔记_第20张图片

4.2 ssh 命令

  • ssh [email protected]:远程登录用户名为python,IP地址为172.16.7.139的系统(exit注销)

4.3 建议

  • 以后不要开多个终端,用另一种方式开第二个中断,类似浏览器下的多个小窗口:
    在这里插入图片描述
  • 命令:Ctrl+Shift+T 可以在同一个窗口里再打开一个标签,Alt+1/2可以切换标签

4.4 userdel 命令

  • sudo userdel 用户名:删除用户,这个目录下的shuaige用户就没了
    在这里插入图片描述
    但是该用户的家目录文件没有被删除
    在这里插入图片描述
  • sudo userdel -r 用户名:同时删除用户和用户家目录下的文件夹,此时以上两个图片都不存在shuaige这个用户

4.5 切换到超级管理员

  • Ubuntu利用sudo -s切换到root超级管理员,不用su root

4.6 用户组相关

  • 第一个python表示文件的拥有者,表示后面的这个1.py是这个python用户创建的
  • 第二个python表示用户组,用户组的作用是如果某个用户在这个组里,那么这个组具有的对这个文件的任何权限,组里的某个用户也具有,一个组里可以有多个用户,这里的python用户就是在python组里
  • 当我们使用useradd创建用户的同时默认已经创建了一个组,组名=用户名(但是它默认不在超级管理员的组里)

Linux 常用命令笔记_第21张图片

  • Ubuntu默认装好之后,含有sudo组和adm组,当我们新建了一个普通用户,决定它能不能够使用超级管理员权限sudo,或者直接切换到超级管理员就看这个用户在不在这两个组里
    Linux 常用命令笔记_第22张图片
    为创建的普通用户添加sudo权限:

Linux 常用命令笔记_第23张图片

4.7 chown 命令

  • 修改文件的拥有者
    Linux 常用命令笔记_第24张图片

4.8 chgrp 命令

  • 修改用户所属于的组
  • 此时dong4716138具有什么权限,谁在这个组里,谁就具有这些权限
    Linux 常用命令笔记_第25张图片

五. 修改文件的权限

5.1 三种权限的解释

  • 第一个符号为 - 表示为普通文件,第一个符号为d为文件夹
    eg:-rw-rw-r--,一用有十个符号,第一个符号单独一组,后面每三个一组
    如此例子中,剩余三组的第一个组为文件拥有者的权限
    第二个组为同组者的权限
    第三个组为其他人的权限
  • r表示可读,w表示可写,x表示可执行,后面的九个字符中只要出现 - 就表示没有指定的权限

Linux 常用命令笔记_第26张图片

5.2 修改权限的方法

< 1 > 字母法

  • chmod 777 2.py可以直接将2.py修改为最高权限,即-rwxrwxrwx
  • u 表示文件的拥有者, g 表示同组, o 表示其他人
  • chmod u=rwx 2.py将2.py的拥有者权限改为可读可写可执行
    Linux 常用命令笔记_第27张图片
  • chmod u=w 2.py将2.py的拥有者权限改为只能写
    Linux 常用命令笔记_第28张图片
  • chmod g=rx 2.py将2.py的同组者权限改为可读可写可执行
    Linux 常用命令笔记_第29张图片
  • chmod o=rwx 2.py将2.py的其他人权限改为可读可写可执行
    Linux 常用命令笔记_第30张图片
  • chmod u=r,g=r,o=r 一次改三个的权限
    Linux 常用命令笔记_第31张图片

< 2 > 数字法

  • 定义了:
    r----->4
    w----->2
    x----->1
    所以chmod 127 2.py中1表示文件拥有者拥有的权限是只可执行,2表示同组者拥有的权限是只可写,其他成员拥有的权限是可读可写可执行

你可能感兴趣的:(Alpha,Linux)