Linux基础知识

Linux基础知识
Linux系统下的目录结构以及各个目录的存放数据指令行前缀的含义gec:用户名称ubuntu:主机名称:~表示当前所处的路径~表示是家目录$:普通用户 #表示超级用户普通用户--超级用户使用命令sudo -s变化 用户名gec(自己的名字) -- root 用户标识 $ -- #超级用户才能在根目录里创建修改文件超级用户--普通用户使用命令su 自己的用户名变化 用户名root -- gec(自己的名字) 用户标识 # -- $目录构成目录核心作用备注 / 存放内容/bin基础工具目录存放系统最基本的命令如ls,cp所有用户均可执行。/sbin管理员工具目录存放系统管理命令如fdisk,mount通常仅root用户可使用。/dev设备文件目录存放硬件设备如硬盘、键盘、鼠标的抽象文件/dev/null就在这里。/proc进程信息目录虚拟文件系统存放内核与进程的状态信息如内存、CPU是系统运行时的“画像”。/sys内核与驱动信息类似/proc更侧重于硬件设备、驱动及内核对象的实时信息。/etc系统配置文件存放系统及大部分软件的配置文件如passwd,fstab相当于系统的“注册表”。/var动态数据目录存放经常变化的数据如系统日志 (/var/log)、邮件、打印队列。/boot系统启动文件存放开机引导加载程序BootLoader及 Linux 内核文件 (vmlinuz)。/lib基础库文件存放/bin和/sbin命令所需的共享库文件类似于 Windows 的.dll文件。/root管理员家目录超级管理员root的个人主目录普通用户无权访问。/home普通用户家目录存放所有普通用户的个人文件夹如/home/gec。/mnt临时挂载目录通常用于手动挂载外部设备如 U 盘、网络共享文件夹。/tmp临时文件目录存放程序运行时的临时文件系统重启后通常会清空。/cdrom光驱挂载目录早期的光驱默认挂载点现在多为/media目录下。/usr用户程序目录存放用户安装的应用程序、库及文档是 Linux 中最大的目录之一。Linux常用命令1、pwd:打印当前所在的路径2、lsls -a查看当前路径下的所有文件把隐藏文件以‘.’开头的文件显示出来.当前文件目录..上一个文件目录在文件前面带.的表示隐藏文件e.g .bashrcls -l以列表的形式罗列当前路径下的文件大小也可以组合起来使用ls -al(显示所有文件包括隐藏文件并且显示所有详细信息)解析-rw-rw-r-- 1 gec gec 189 Jul 18 2021 a.cpp-rw-rw-r--第1位数据-普通存储文件存储在硬盘的文件d目录文件文件夹蓝色字体l软链接文件类似快捷方式点击之后就会跳转到对应的东西第2-4位文件拥有者的权限rwx第5-7位同组用户的权限rwx第8-10位其他用户的权限rwx硬链接可以被访问的个数a.cpp数字为1--只能有一个访问的位置大小189 Byte更新日期Jul 18 20213、cdchange dirctory改变路径cd 需要前往的目标路径cd ..回到上一级目录cd .当前目录cd -:退回到上一次的路径cd只能切换路径但是无法打开文件4、cpcopy复制拷贝cp 需要拷贝的文件复制谁 需要拷贝到的路径到哪里去cp 文件夹 目标路径 -r将文件夹里面的所有东西一起拷贝过去cp 目标 不存在的文件将目标文件夹重新命名然后保存在路径下备份5mvmove移动mv 目标文件 目标路径将目标文件移动到目标路径中如果存在的话原来的文件就会被覆盖掉mv 目标文件 不存在的文件将目标文件重命名6、rmremove删除对单个文件进行删除时rm 要删除的文件名称对文件夹进行删除时需要加上 -rf:(其中 r表示递归f表示强制)rm 要删除的文件夹 -rf解释7.echo用途在终端上输出8.sudosudo 可以用于切换为超级用户sudo -s也可以让普通用户临时拥有超级用户的权限如在根目录下创建文件9.mv1.剪切/移动mv 被移动的文件路径 需要移动到的路径2.重命名mv 需要修改名称的文件 修改名称后的文件10.chmod用于修改文件的权限chmod 文件的权限 需要修改的文件名称chmod 文件夹的权限 文件夹名称 -R (注意这里是R)11.连接软链接符号链接可以理解为Windows里的快捷方式。它是一个独立的文件但内容只存储了“指向目标文件的路径”。如果原文件被删软链接就会失效变成红色闪烁状态。硬链接可以理解为给同一个文件数据起了个别名。它和原文件完全平级指向硬盘上同一块数据区域。删除原文件硬链接依然可以正常访问数据直到所有硬链接都被删除数据才会真正被释放。创建软连接ln -s 原文件 软连接的名字创建硬连接ln 原文件 硬连接的名字举例echo Hello file.txtln -s file.txt soft_link # 创建软链接ln file.txt hard_link # 创建硬链接rm file.txt # 删除原文件cat soft_link # ❌ 报错软链接失效cat hard_link # ✅ 输出 Hello硬链接依然有效对比维度软链接硬链接本质独立的文件存储路径文件数据的另一个名字别名依赖原文件依赖原文件删则失效不依赖删原文件仍有效文件类型l开头链接文件与原文件类型相同如-普通文件指向目录✅可以指向目录❌不可以指向目录防止循环递归跨文件系统✅ 可以跨分区❌ 不能跨分区inode 仅在本分区有效inode 编号与原文件不同与原文件相同12.压缩文件参数全称作用-cCreate创建新的打包文件压缩包-xeXtract解包解压-tlisT查看压缩包内的文件列表-jbzip2使用bzip2算法压缩/解压生成.tar.bz2压缩率更高速度较慢-zgzip使用gzip算法压缩/解压生成.tar.gz压缩率适中速度较快最常用-fFile必须放在最后指定压缩包的文件名。后面紧跟文件名-CChange directory解压时指定目标路径大写 C-vVerbose可选显示过程详细信息你的笔记未提但推荐加上在linux中常见的2种压缩包格式.bz2 和 .gz特性.tar.bz2(bzip2).tar.gz(gzip)压缩率更高文件更小适中速度较慢更耗 CPU较快使用场景对空间要求苛刻的归档如大量文本日志日常使用、软件分发最常用常用的压缩命令tar -jcf xxx.tar.bz2 文件名1 文件名2 ....... 压缩为bzip2类型tar -zcf xxx.tar.gz 文件名1 文件名2 ....... 压缩为gzip类型常用的解压命令tar -jxf xxx.tar.bz2 -C 你要解压到的路径tar -zxf xxx.tar.gz -C 你要解压到的路径查看压缩包内的内容tar -tf 压缩包的名字13.查找以及搜索find用于寻找文件find 指定路径必须 匹配条件可选 执行动作可选对于匹配条件可以有很多种类别条件格式示例说明文件名-name 模式-name *.c区分大小写-iname 模式-iname stdio.h忽略大小写文件类型-type 类型-type f普通文件-type d目录-type l链接文件筛选文件或目录文件大小-size [±]大小-size 100M大于 100MB-size -1k小于 1KB单位c(字节)、k、M、G修改时间-mtime [±]天数-mtime -33 天内修改-mtime 3030 天前修改以天为单位权限-perm 权限值-perm 0644精确匹配-perm -0644至少包含这些权限八进制权限用户/组-user 用户名-group 组名-user root按所有者筛选多个条件-a与默认-o或!非-name *.c -a -size 1k-name *.txt -o -name *.log逻辑组合grep用于寻找文件中的内容grep [选项] 搜索模式 [目标文件......]常见的选项选项英文全称作用示例-nNumber显示匹配行的行号grep -n error log.txt-HHeader显示文件名grep -H main *.c-rRecursive递归搜索目录下的所有文件grep -r TODO ./src/-iIgnore case忽略大小写grep -i warning log.txt-vInvert反向匹配显示不含模式的行grep -v debug log.txt-wWord只匹配整个单词不匹配单词的一部分grep -w main *.c不会匹配maintain-cCount只统计匹配的行数不显示内容grep -c error log.txt-lList只显示文件名不显示匹配行内容grep -l main *.c-EExtended regex使用扩展正则表达式支持|、等grep -E error|warning log.txt-A nAfter显示匹配行后面 n 行grep -A 3 error log.txt-B nBefore显示匹配行前面 n 行grep -B 2 error log.txt-C nContext显示匹配行前后各 n 行grep -C 3 error log.txt--color高亮显示默认在终端自动高亮匹配的关键词grep --colorauto error log.txt14.查看文件的内容catcat [选项](可选) [文件名1] [文件名2] ......cat适合查看短文件不适合查看大文件。场景推荐工具原因文件只有几行cat快速查看非常方便文件有几百行cat会刷屏推荐less或head内容太多看不全翻不到开头文件有几万行绝对不要用cat会卡死终端大量无用信息滚动如果需要查看大文件less file.txt # 分页查看按空格翻页q 退出head file.txt # 查看文件前 10 行tail file.txt # 查看文件后 10 行15.别名alias就是让你给 Linux 命令取小名unalias 删除命令的别名创建别名alias 要取的别名命令取消别名unalias 需要取消的别名16.重启ubuntureboot17.查看或修改ubuntu的ip地址查看ipifconfig典型输出ens33: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet192.168.2.200netmask255.255.255.0broadcast192.168.2.255inet6 fe80::20c:29ff:fe12:3456 prefixlen 64 scopeid 0x20ether00:0c:29:12:34:56 txqueuelen 1000 (Ethernet)RX packets12345 bytes 9876543 (9.4 MB)TX packets6789 bytes 1234567 (1.2 MB)字段含义ens33网卡名称Ubuntu 虚拟网卡inetIP 地址192.168.2.200netmask子网掩码broadcast广播地址etherMAC 地址物理地址UP网卡已启用如果是DOWN表示禁用RX packets接收数据包统计TX packets发送数据包统计临时修改IP地址想要修改必须是超级用户/借用超级用户权限sudo ifconfig 网卡名 IP地址18.查看文件大小du 文件名 [选项]选项含义单位示例-bBytes字节精确du -b file.txt-kKilobytesKB1024 字节du -k file.txt-mMegabytesMB1024 KBdu -m file.txt-hHuman readable自动选择 KB/MB/GB最常用du -h file.txt-sSummary只显示总计不列出子目录du -sh /home-aAll显示所有文件含子目录下的du -ah /home-cCombine显示总计最后一行输出总和du -ch *.log--excludepattern排除匹配的文件跳过某些文件du -sh --exclude*.mp4-d n显示深度为n层控制查看目录层级du -hd 1 /home