Linux学习笔记

Linux常用命令

文件搜索命令

  1. find命令
    ① find 目录 -name 文件名:
    文件名可以用通配符,* 代表任意个任意字符; ?代表一个任意字符。
    -iname 代表文件名不区分大小写搜索。
    在这里插入图片描述
    ② find 目录 -size +n/-n/n:
    +n代表大于n;-n代表小于n;n代表等于n;
    在这里插入图片描述

    ③ find 目录 -user 用户名; find 目录 -group 属组名:
    用于查找拥有者或所属组为XXX的文件或目录。
    在这里插入图片描述
    ④ find 目录 -type d/f/l:
    用于查找类型为d(目录),f(文件),l(软链接)。
    在这里插入图片描述
    ⑤ find 目录 -inum i节点号:
    根据i节点号搜索文件。
    在这里插入图片描述
    ⑥ -a和-r 搜索条件拼接:
    -a即and; -r即or。
    在这里插入图片描述
    ⑦ 对搜索结果执行其他命令:
    find /etc -name inittab -exec/-ok 命令 {} ;
    -exec和-ok区别就是-ok在执行命令前会询问是否执行。
    在这里插入图片描述

  2. locate命令
    find是实时查找,耗时耗资源会较多。locate是系统维护了一个文件资料库,在文件资料库中查找文件会快很多。
    缺点: 新创建的文件或在/tmp/目录的文件,不再文件资料库中会找不到。
    通过updatedb更新文件资料库。
    locate 文件名; locate -i 文件名。 加-i参数文件名不区分大小写。
    在这里插入图片描述

  3. which命令
    用于搜索命令所在目录及别名信息。
    which 命令名称
    在这里插入图片描述

  4. whereis命令
    搜索命令所在目录及帮助文档路径。
    帮助文档一般都放在/user/share/man目录下。
    在这里插入图片描述

  5. grep命令
    在文件中搜寻字串匹配的行并输出。
    -i 不区分大小写;
    -v 排除指定字串;
    在这里插入图片描述

帮助命令

  1. man命令
    man ls : 查看ls命令的帮助文档,包括作用,参数等。
  2. whatis命令
    whatis ls : 查看ls命令的作用。仅列出man ls中的NAME中的内容。
  3. 命令的 --help参数
    ls --help :ls的参数信息。
  4. help命令
    例如:umask、cd命令都是linux内置的命令,不能通过man命令查询帮助,需要通过help cd查看。
    获得Shell内置命令的帮助信息。

软件包管理

软件包管理简介

  1. 软件包分类:
    源码包:脚本安装包
    二进制包(RPM包、系统默认包)
  2. 源码包
    源码包的优点是:
    开源,如果有足够的能力,可以修改源代码;
    可以自由选择所需的功能;
    软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高;
    卸载方便(直接删除安装目录,一般源码包安装在/usr/local/下)。
    源码包的缺点是:
    安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现错误;
    编译过程时间较长,安装比二进制安装时间长;
    因为是编译安装,安装过程中一旦报错新手很难解决。
  3. RPM包:
    二进制包的优点
    包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
    安装速度比源码包安装快的多;
    二进制包缺点
    经过编译,不再可以看到源代码;
    功能选择不如源码包灵活;
    依赖性。

RPM包管理-rpm命令管理

  1. RPM包命名原则:
    httpd-2.2.15-15.el6.centos.1.i686.rpm
    httpd 软件包名
    2.2.15 软件版本
    15 软件发布的次数
    el6.centos 适合的Linux平台
    i686 适合的硬件平台
    rpm rpm包扩展名

  2. RPM包安装时的依赖
    树形依赖: a -> b -> c
    环形依赖: a -> b -> c -> a
    模块依赖: 模块依赖查询网站:www.rpmfind.net

  3. 包全名与包名
    包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。比如:执行命令安装rpm包时要写包全名(带.rpm后缀)。
    包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。比如:查询已经安装的rpm包时只需要写包名(不需要带.rpm后缀)

  4. RPM安装:
    rpm –ivh 包全名
    选项:
    -i(install) 安装
    -v(verbose) 显示详细信息
    -h(hash) 显示进度
    –nodeps 不检测依赖性

  5. 查询是否安装
    rpm -q 包名 #查询包是否安装
    选项:
    -q 查询(query)
    rpm –qa #查询所有已经安装的RPM包
    选项:
    -a 所有(all)

  6. 查询软件包详细信息
    rpm –qi 包名
    选项:
    -i 查询软件信息(information)
    -p 查询未安装包信息(package)

  7. 查询包中文件安装位置
    rpm –ql 包名
    选项:
    -l 列表(list)
    -p 查询未安装包信息(package)

  8. 查询系统文件属于哪个RPM包
    rpm –qf 系统文件名
    选项:
    -f 查询系统文件属于哪个软件包(file)

  9. 查询软件包的依赖性
    rpm –qR 包名
    选项:
    -R 查询软件包的依赖性(requires)
    -p 查询未安装包信息(package)

  10. RPM包升级:
    rpm -Uvh 包全名
    选项:
    -U(upgrade) 升级

  11. 卸载
    rpm -e 包名
    选项:
    -e(erase) 卸载
    –nodeps 不检查依赖性

RPM包管理-yum在线管理

  1. 查询
    yum list # 查询所有可用软件包列表
    yum search 关键字 # 搜索服务器上所有和关键字相关的包

  2. 安装
    yum –y install 包名
    选项:
    -y 自动回答yes

  3. 升级
    yum -y update 包名
    选项:
    -y 自动回答yes

  4. 卸载
    yum -y remove 包名
    选项:
    -y 自动回答yes

  5. YUM软件组管理命令
    yum grouplist # 列出所有可用的软件组列表
    yum groupinstall 软件组名 # 安装指定软件组,组名可以由grouplist查询出来
    yum groupremove 软件组名 # 卸载指定软件组

源码包管理

源码包和RPM包的区别
  1. 区别
    安装之前的区别:概念上的区别。
    安装之后的区别:安装位置不同。

  2. RPM包安装位置
    是安装在默认位置中
    在这里插入图片描述

  3. 源码包安装位置:
    安装在指定位置当中,一般是/usr/local/软件名/

  4. 安装位置不同带来的影响
    RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
    /etc/rc.d/init.d/httpd start
    service httpd start
    而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
    /usr/local/apache2/bin/apachectl start

文件系统管理

分区和文件系统

分区类型
  1. 主分区:总共最多只能分四个
  2. 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用
  3. 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区;如果是SCSI硬盘Linux最多支持11个逻辑分区
分区表示方法

:1,2,3,4这4个编号只能给主分区或扩展分区使用。 当主分区+扩展分区小于4时,逻辑分区依然从5开始计数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件系统

ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)

ext3: ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件

ext4:它是ext3文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进。EXT4的变化可以说是翻天覆地的,比如向下兼容EXT3、最大1EB文件系统和16TB文件、无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS 6.3的默认文件系统(1EB=1024PB=1024*1024TB)

文件系统常用命令

df命令、du命令、fsck命令和dump2fs命令
  1. 文件系统查看命令df:
    df [选项] [挂载点]
    选项:
    -a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs;
    -h 使用习惯单位显示容量,如KB,MB或GB等;
    -T 显示文件系统类型;
    -m 以MB为单位显示容量;
    -k 以KB为单位显示容量。默认就是以KB为单位;
    在这里插入图片描述

  2. 统计目录或文件大小:
    du [选项] [目录或文件名]
    选项:
    -a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量;
    -h 使用习惯单位显示磁盘占用量,如KB,MB或GB等;
    -s 统计总占用量,而不列出子目录和子文件的占用量;
    在这里插入图片描述
    在这里插入图片描述

  3. du命令和df命令的区别:
    df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)
    du命令是面向文件的,只会计算文件或目录占用的空间
    在这里插入图片描述

  4. 文件系统修复命令fsck:
    fsck [选项] 分区设备文件名
    选项:
    -a:不用显示用户提示,自动修复文件系统
    -y:自动修复。和-a作用一致,不过有些文件系统只支持-y

  5. 显示磁盘状态命令dumpe2fs:
    dumpe2fs 分区设备文件名
    在这里插入图片描述

Shell编程

基础

概念
  1. Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
    在这里插入图片描述
  2. Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
  3. Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。
  4. Bash: Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。Linux支持的Shell:/etc/shells
执行方式
  1. echo输出命令:
    echo -n 不换行输出:
    在这里插入图片描述
    echo -e 支持反斜线控制的字符转换。例如:\t在不加-e参数时,会直接输出\t;但是加-e参数时,会输出制表

Linux学习笔记是关于学习Linux操作系统的记录和总结。在学习Linux时,你可能会遇到以下几个方面的内容。 首先,Linux是一个面向网络服务的操作系统,因此你可以随意更换桌面系统。Linux有多种不同的桌面系统供你选择。这意味着你可以根据自己的喜好和需求,选择适合自己的桌面环境。 其次,在Ubuntu中,root用户默认是被锁定的,因此你无法直接使用root权限进行操作。但是,你可以使用sudo命令来提升权限,以执行需要root权限的操作。通过sudo命令,普通用户可以在需要时暂时获得root权限,以便进行需要的操作。 此外,如果你需要修改内核为bash,可以使用vim编辑器打开/etc/passwd文件进行修改。在Linux系统中,vim是一种常用的文本编辑器,类似于Windows的记事本。通过编辑/etc/passwd文件,你可以修改用户的登录shell为bash。 总结起来,Linux学习笔记记录了学习Linux操作系统的过程和经验,包括选择适合自己的桌面环境、使用sudo提升权限以及通过vim编辑器修改/etc/passwd文件等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux学习笔记](https://blog.csdn.net/m0_65379736/article/details/125700177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值