Linux 常用命令笔记

Linux基础命令大全

一. 认识Linux

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

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

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

二. 目录结构

1. Windows平台

在这里插入图片描述

2. 类Unix系统目录结构

在这里插入图片描述

三. Linux 命令

3.1 Linux命令的基本格式

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

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

关于选项:

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

3.2 ls 命令

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

在这里插入图片描述

  • ls -l -h:表示显示文件大小的单位
    在这里插入图片描述
  • ls -a:表示显示当前目录下的所有文件,包含隐藏文件

3.3 查看帮助文档

< 1 > --help

在这里插入图片描述

< 2 > man 命令

在这里插入图片描述

3.4 history 命令

  • 查看历史打印过的命令,前面的数字表示使用过命令的数量编号
    在这里插入图片描述
  • 此处使用 ! 2074,表示字节执行以前执行过的那条命令

3.5 通配符命令

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.6 重定向命令

< 1 > 重定向符号 ’ > ’
  • 把原来显示在终端的内容重定向到文件里
    在这里插入图片描述
< 2 > 重定向符号 ’ >> ’
  • 相比于 > 具有追加功能,即不会删除原来的内容

3.7 more 命令

< 1 > 基本使用
  • 以文档的形式查看文件内容,可以上下屏翻页查看,B是向上一页(back),F是向下一页(forward)
  • 与cat的区别是,cat一次显示出所有的内容,翻页起来麻烦
  • 一般看大文件的内容用more命令,按q退出
< 2 > 与其他命令相互配合
  • /bin显示在终端的内容放在 | 里,然后more命令把 | 里的内容显示出来

在这里插入图片描述

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

3.8 相对路径与绝对路径

< 1 > 基本概念

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

< 2 > 在 cd 命令里的使用
  • cd ./A表示跳到当前路径下的A文件夹,此处的 . 表示的是当前文件夹。
  • cd ..表示返回当前路径的上一个文件夹(..表示当前路径的上一个文件夹)
  • cd ../..表示跳到上上层文件夹(这是相对路径)
    在这里插入图片描述
  • cd -表示返回到你上一次操作的路径,类似电视遥控器里的回看。
  • cd ~表示跳回到家路径(快速回家)

3.9 创建树形文件夹

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

在这里插入图片描述

3.10 rmdir 和 rm 命令

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

3.11 mv命令

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

3.12 Linux 系统下的链接

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

< 1 > 软连接

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

< 2 > 硬连接

  • 关于硬链接的解释
    在这里插入图片描述
    相当于给同一份数据内容增加了一个文件名,如果将源文件1.txt删除了,还能够通过硬链接文件找到源文件的内容。
  • 创建硬链接的方式:ln (原文件) (新文件名) —不要加-s选项

< 3 > 硬链接数的概念

  • 创建一个软连接不会增加硬链接数的个数,创造一个硬链接会增硬链接的个数,下图能够看出,只要硬链接数为0,源文件的数据才被彻底删除,硬链接数的查询方式如下:
    在这里插入图片描述
  • 举例2
    在这里插入图片描述

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

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

在这里插入图片描述

< 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 选项
    在这里插入图片描述

3.16 find 命令

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

在这里插入图片描述

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 (路径)可以指定解压的位置)
    在这里插入图片描述

< 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命令

4.1 useradd 命令

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

4.2 ssh 命令

  • ssh python@172.16.7.139:远程登录用户名为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创建用户的同时默认已经创建了一个组,组名=用户名(但是它默认不在超级管理员的组里)

在这里插入图片描述

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

在这里插入图片描述

4.7 chown 命令

  • 修改文件的拥有者
    在这里插入图片描述

4.8 chgrp 命令

  • 修改用户所属于的组
  • 此时dong4716138具有什么权限,谁在这个组里,谁就具有这些权限
    在这里插入图片描述

五. 修改文件的权限

5.1 三种权限的解释

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

在这里插入图片描述

5.2 修改权限的方法

< 1 > 字母法

  • chmod 777 2.py可以直接将2.py修改为最高权限,即-rwxrwxrwx
  • u 表示文件的拥有者, g 表示同组, o 表示其他人
  • chmod u=rwx 2.py将2.py的拥有者权限改为可读可写可执行
    在这里插入图片描述
  • chmod u=w 2.py将2.py的拥有者权限改为只能写
    在这里插入图片描述
  • chmod g=rx 2.py将2.py的同组者权限改为可读可写可执行
    在这里插入图片描述
  • chmod o=rwx 2.py将2.py的其他人权限改为可读可写可执行
    在这里插入图片描述
  • chmod u=r,g=r,o=r 一次改三个的权限
    在这里插入图片描述

< 2 > 数字法

  • 定义了:
    r----->4
    w----->2
    x----->1
    所以chmod 127 2.py中1表示文件拥有者拥有的权限是只可执行,2表示同组者拥有的权限是只可写,其他成员拥有的权限是可读可写可执行
第一部分:常用命令 常用命令/文件处理 0:基础功能 1:ls 显示文件目录 语法:ls 选项[-ald][文件或目录] 2:cat 显示文件内容(内容少适合) 语法:cat[文件名] 3:tac 显示文件内容 语法:tac[文件名] 4:more 分页显示文件内容(只能往下翻页,不能往上反) 语法:more[文件名] 5:less 分页显示文件内容(上下翻页) 语法:less[文件名] 6:head 显示文件前面几行 语法:head[文件名] 7:tail 显示文件后面几行 语法:tail[文件名] 8:touch 创建空文件 语法:touch[文件名字] 9:mkdir 创建新目录 语法:mkdir -p 目录 10:cd 切换目录 语法:cd 目录 11:pwd 显示当前目录的绝对路径 语法:pwd 12:rmdir 删除空目录 语法:rmdir 目录名字 13:rm 删除文件或目录 语法:rm -rf[文件或目录] 14:cp 复制文件或目录 语法:cp -rp[源文件或目录][目标目录] 15:scp 远程和本地互传文件 语法:scp [参数] [原路径] [目标路径] 16:mv 剪切文件或该名 语法:mv[源文件或目录][目标目录] 17:ln 生成连接文件 语法:ln -s[原件名][目标文件] 常用命令/文件搜索 1:find 文件搜索 语法:find [搜索范围][比配条件] 2:locate 在文件资料库中查找文件 语法:locate 文件名 3:which 搜索命令所在目录级别名信息 语法:which[命令名称] 4:whereis 搜索命令所在目录级帮助文档路径 语法:whereis[命令名称] 5:grep 在文件中搜索字串匹配的行并输出 语法:grep -iv[指定字串][文件] 6:uname 显示当前操作系统名称 常用命令/压缩解压 1:gzip 压缩文件 语法:gzip [文件] 2:gunzip 解压缩.gz文件 语法:gunzip [压缩文件] 3:tar 打包目录 语法:tar 选项[-zcf][压缩后文件名字][目录] 4:zip 压缩文件或目录 语法:zip 选项[-r][压缩后文件名字][文件或目录] 5:unzip 压缩文件或目录 语法:unzip [压缩文件] 6:bzip2 压缩文件 语法:bzip2 选项[-k][文件] 7:bunzip2 解压缩 语法:bunzip2 选项[-k][解压文件] 常用命令/网络 1:write 给在线用户发消息 语法:write 2:wall 发广播消息 语法:wall [发送的消息] 3:ping 测试网络连通性 语法:ping 选项IP地址 4:ifconfig 查看和设置网卡信息 语法:ifconfig [网卡名称] [IP地址] 5:mail 查看发送电子邮件 语法:mail [用户名] 6:last 列出目前与过去登陆系统的用户信息 语法:last 7:lastlog 检查某用户上次登陆的时间 语法:lastlog 8:traceroute 显示数据包到主机间的路径 语法:traceroute 网址 9:netstat 显示网络相关信息 语法:netstat [-tulrn] 10:setup 配置网络 语法:setup 11:mount 挂载 语法:mount [-t 文件系统] 设备文件名挂载点 12:nmap 端口扫描 13:ifup/ifdown 启动/禁止网卡 常用命令/关机重启 1:shutdown 关机或重启 语法:shutdown [选项] 时间 2:halt 关机 语法:halt 3:poweroff 关机 语法:poweroff 4:init 关机或重启 语法:init [0~6]数字 5:reboot 重启 语法:reboot 6:logout 退出终端 语法:logout 常用命令/帮助 1:man 获得帮助信息 语法:man [命令或配置文件] 2:whatis 获得帮助简短信息 语法:whatis 命令 3:apropos 查看配置文件信息 语法:apropos 配置文件 4:--help 查看命令主要选项 语法:命令 --help 5:info 获取帮助信息 语法:info 命令 6:help 获取Shell内置命令的帮助信息 语法:help 命令 7:apt-get 安装卸载程序 第二部分:文件系统 文件系统/文件系统 0:tree 以树形结构显示文件目录结构 1:分区和文件系统 2:文件系统常用命令 df [选项][挂载点] //统计文件系统占情况 du [选项][目录或文件] //统计目录或文件大小 df和du命令的区别 fsck [选项] 分区设备文件名 //文件系统修复命令 dumpe2fs 分区设备文件名 //显示磁盘状态命令 3:挂载命令 mount [选项] 设备文件名 挂载点 4:挂载光盘与U盘 文件系统/fdisk分区 1:fdisk命令分区过程 2:分区自动挂载与fstab文件修复 文件系统/swap分区 1:free 查看内存与swap分区使用状况 2:创建swap分区或开机自动挂载 第三部分:用户权限 用户权限/用户管理命令 1:useradd 添加新用户 语法:useradd [选项] 用户名 2:passwd 设置用户密码 语法:passwd [选项] 用户名 3:usermod 修改用户信息 语法:usermod [选项] 用户名 4:chage 修改用户密码状态 语法:chage [选项] 用户名 5:userdel 删除用户 语法:userdel [-r] 用户名 6:id 查看用户id 语法:id 用户名 7:su 切换用户身份 语法:su [选项]用户名 8:env 查看用户环境变量 语法:env 9:who 查看登陆用户信息 语法:who 10:w 查看登陆用户详细信息 语法:w 用户权限/用户和用户组管理 1:用户配置文件 1.1:/etc/passwd 用户基本信息文件 1.2:/etc/shadow 影子文件(真正密码,root可以看) 1.3:/etc/group 组信息文件 1.4:/etc/gshadow 密码文件 2:用户管理相关文件 2.1:用户的家目录 2.2:用户的邮箱 /var/spool/mail/用户名/ 2.3:用户模板目录 /etc/skel/ 3:用户管理命令 4:用户组管理命令 第四部分:权限管理 权限管理/权限管理 0:创建用户/添加组 1:chmod 改变文件或目录权限 语法:chmod [{ugoa}{+-=}{rwx}][文件或目录] 2:chown 改变文件或目录所有者 语法:chown [用户][文件或目录] 3:chgrp 改变文件或目录的所属组 语法:chgrp [用户组][文件或目录] 4:umask 显示或设置文件缺省权限 语法:umask[-S] 权限管理/文件特殊权限 1:SetUID 可执行的二进制文件(u:w=s 4) 2:SetGID 可执行的二进制文件或目录(g:r=s 2) 3:Sticky BIT 只对目录有效(o:x=t 1) 权限管理/文件系统属性chattr权限 1:chattr 文件系统属性权限 2:lsattr 查看文件系统属性 权限管理/系统命令sudo权限 1:sudo 权限 权限管理/ACL 权限 1:ACL权限开启 2:查看与设定ACL权限 3:最大有效权限与删除ACL权限 4:默认ACL权限和递归ACL权限 5:删除ACL权限 第五部分:系统管理 系统管理/工作管理 1:把进程放入后台(&,ctrl+z) 2:查看后台的工作 语法:jobs [选项] 3:将后台暂停的工作恢复到前台执行 语法:fg %工作号 4:把后台暂停的工作恢复到后台执行 语法:bg %工作号 系统管理/进程管理 1:进程查看 2:进程管理 2.1:判断服务器健康状态 语法:top [选项] 2.2:查看系统中所有进程 语法:ps [选项] 2.3:查看进程数 语法:pstree [选项] 3:终止进程 3.1:kill [选项] //终止进程 3.1:killall [选项][信号] 进程名 //按照进程名杀死进程 3.1:pkill [选项][信号]进程名 //按照进程名终止进程 系统管理/系统定时任务 1:crond服务管理与访问控制 语法:crontab [选项] 系统管理/系统资源查看 1:vmstat命令监控系统资源 语法: vmstat 刷新延时 刷新次数 2:dmesg开机时内核检测信息 语法: dmesg 3:free查看内存使用状态 语法: free [选项] 4:查看CPU信息 /proc/cpuinfo 5:uptime启动时间和平均负载 语法: uptime 6:uname查看系统与内核相关信息 语法: uname [选项] 7:判断当前系统的位数(32位或64位..) 8:查看当前Linux系统的发行版本 语法: lsb_release -a 9:lsof列出进程打开或使用的文件信息 语法: lsof [选项] 10:date 第六部分:服务管理 1:服务简介与分类 2:RPM包安装服务的管理 2.1:独立服务的管理 2.2:基于xinetd服务的管理 3:源码包安装服务管理 3.1:源码包安装服务的启动 3.2:源码包服务的自启动 3.3:让源码包服务被服务管理器命令识别 第七部分:启动管理 启动管理/CentOS 6.x启动管理 1:系统运行级别 1:运行级别(0~6,7个级别) 2:查看运行级别(runlevel,init) 3:系统默认运行级别(/etc/inittab) 2:系统启动过程 1:initramfs内存文件系统 2:调用/etc/init/rcS.conf配置文件 1:先调用/etc/rc.d/rc.sysinit 2:再调用/etc/inittab确定系统默认运行级别 3:调用/etc/rc.d/rc文件 启动管理/启动引导程序grub 1:grub配置文件 2:grub加密与字符界面分辨率调整 启动管理/系统修复模式 1:单用户模式 2:光盘修复模式 3:Linux的安全性 第八部分:日志管理 日志管理简介 1:日志服务 2:rsyslogd的新特点 3:确定服务启动 4:常见日志的作用(lastb,lastlog,last) 5:其他日志 日志-轮替 1:日志文件的命名规则 2:logrotate配置文件 3:把apache日志加入轮替 4:logrotate日志轮替 语法 logrotate [选项] 配置文件名 rsyslogd-日子服务 1:日志文件格式 2:/etc/rsyslog.comf配置文件 第九部分:软件包管理 软件包管理\软件包管理 1:软件包管理简介 1:源码包(源代码安装包,手动安装) 2:二进制包(RPM包,系统默认包) 2:RPM包管理-rpm命令管理 1:RPM包命名规则 2:RPM包依赖性 3:RPM包管理-yum在线管理 1:IP地址配置和网络yum源 2:光盘yum源搭建 4:源码包管理 1:源码包和RPM包区别 2:源码包安装过程 5:脚本安装包与软件包选择 软件包管理/软件包管理命令 1:RPM包管理 rpm命令管理 命令 1:安装 rpm -ivh 包全名 2:升级 rpm -Uvh 包全名 3:卸载 rpm -e 包名 4:查询 rpm -q.. 5:校验 rpm -V 已安装的包名 6:文件提取 rpm2cpio 包全名 | cpio -idv .文件绝对路径 2:rpm包管理 yum在线管理 命令 1:查询 yum list 2:安装 yum -y install 包名 3:升级 yum -y update 包名 4:卸载 yum -y remove 包名 5:软件组管理 yum grouplist 第十部分:备份与恢复 备份与恢复/备份的概述 1:Linux系统需要备份的数据 2:安装服务的数据 3:备份策略 1:完全备份 2:增量备份 3:差异备份 备份与恢复/dump和restore命令 1:dump备份数据 2:restore恢复命令 第十一部分:shell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值