linux命令大全 Linux命令大全搜索工具
connygpt 2024-10-05 14:46 4 浏览
===================目录操作======================== mkdir: 创建目录 -p : 递归的创建目录 也就是可以创建多层目录 一次创建多个目录: mkdir {a,b,c,d,e,f} 一次创建 a b c d e f多个目录。 rmdir:删除一个空文件夹 cp:复制文件或者文件夹 -a =-pdr -p 同时复制文件属性,比如修改日期 -d 复制时保留文件链接 -r: 复制文件夹时,递归复制子文件夹 -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。 note:可以在拷贝的同时重命名 mv:移动文件或者文件夹,可以在移动的时候重命名 rm :删除文件或者文件夹 -r:递归删除 -f:强制删除 即没有提醒 ======================文件处理命令============================== ls :查看文件 -l 以列表形式查看 -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示 -a 查看所有文件,包括隐藏文件 -i 显示出文件的i节点号 touch 文件名:创建文件 可以一次创建多个文件,以空格隔开 cat :查看文件内容 -n:带行号 tac:反向显示文件内容 more:分页查看文件内容 进入浏览模式后: f或者空格:下一页 enter:一行一行往下翻 q:退出 less:查看文件内容 空格翻页 回车换行 pageup:上一页 pagedown:下一页 上箭头:向上翻 下箭头:向下翻 /搜索词 n向下找 head -n 文件名 :查看文件前n行。缺省-n显示前10行 tail -n 文件名 :查看文件的末尾几行 -f :动态显示文件末尾内容 ln:链接命令 -s创建软连接 硬链接和cp -p的区别是硬链接会同步更新 源文件如果丢失,硬链接依然存在。 硬链接和源文件的i节点相同。 硬链接不能夸分区,软连接可以跨分区。 硬链接不可以链接目录,链接可以 软连接文件具有的权限是ugo都是rwx ====================权限管理命令============== chmod:修改文件或目录的权限,只有root和所有者可以更改 [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421] [文件或目录] -R 递归修改 权限的数字表示: r->4 w->2 x->1 例:chmod u+x a.txt chmod g+w,o-r a.txt //同时做多个权限的修改 chmod g=rwx a.txt chmod 640 a.txt chmod -R 777 testdir //把目录和下面所有文件的权限 针对文件 针对目录 r 读权限 可以查看文件内容 可以列出目录中的内容 w 写权限 可以修改文件内容 可以在目录中创建、删除文件 x 执行权限 可以执行文件 可以进入目录 chown:更改文件所有者,只有root可以更改 chown root a.txt//把a.txt更改为root所有 chgrp:更改所属组 chgrp lambrother fengjie //把fengjie的所属组更改为lambrother umask -S:查看创建文件的缺省权限,即默认权限 umask 023:修改文件的缺省权限为777-023=754。即rwxr-xr-- =====================文件搜索命令======================================== find:搜索制定范围内的文件 find [搜索范围] [匹配条件] -name 按文件名搜索 -iname 根据文件名查找,不区分大小写 -size +n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小 -user 根据所有者查找 -group 根据所属组查找 根据文件属性查找: -amin 访问时间 access -cmin 根据文件属性被修改的时间 change -mmin 根据文件内容被修改的时间 modify 例: find /etc -cmin -5 :查找/etc目录下五分钟内被修改过属性的文件和目录 -a 两个条件同时满足 find /etc -size +10 -a -size -50 -o 两个条件满足一个即可 -type f 文件 d 目录 l软连接文件 -inum 根据i节点查找 对找到的结果进行操作 -exec或者-ok 命令 {} \; 例如: find /etc -name init* -exec ls -l {} \; 对找到的文件名按列表查看 find /etc -name init :搜索目录/etc下面所有的init文件,精确匹配,包括子目录中的init文件 find / -size +204800 搜索大于100M的文件 locate:(查找速度非常快,因为它维护了一个文件库。缺点就是新建立的文件没有很快收录到文件库) locate 文件名 updatedb 更新locate的文件资料库 文件资料库不收录/tmp下的文件 -i 不区分大小写 which :查找命令的目录以及别名 which 命令 whereis :搜索命令所在目录及帮助文档路径。 grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开。 -i不区分大小写 -v排除指定字符串 -E 以正则表达式的方式搜索 -F 以普通文本的方式搜索 -n 显示搜索到的内容在文件中的行号。 ==================帮助命令====================== man:查看命令或者配置文件的帮助信息 man 命令/配置文件 在手册里面,可以输入/要查找的str man ls man services man fstab //直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。 如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如: man 1 passwd 查看命令passwd的帮助 man 5 passwd 查看配置文件passwd的帮助 whatis 命令:得到命令的简要信息 apropos 配置文件名:查看配置文件的简短信息 命令 --help:查看命令的选项。 help 命令:查看shell内置命令的帮助信息。 shell内置命令是没有命令路径。不能使用man查看帮助。 ===================用户管理命令========================================== useradd: 添加用户 useradd 用户名 passwd: 修改用户密码 passwd 用户名 不加用户名直接更改自己的密码 who:查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址 w:查看更详细的用户登录信息。 =====================================压缩解压缩命令============================ .gz格式 压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了 解压缩:gunzip/gzip -d 压缩包名称 tar: -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz -zxvf 要解压的文件名 :解压缩.tar.bz2的文件 -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2 -jxvf 要解压的文件名 :解压.tar.bz2的文件 zip: zip -r 压缩生成的文件名 要压缩的目录 zip 压缩生成的文件名 要压缩的文件。 unzip: unzip 要解压缩的文件 bzip2: bzip2 -k 要压缩的文件名 -k选项:保留源文件 bunzip2 -k 要解压的文件名 -k选项:保留压缩包 ===============网络命令========================== write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存 write 用户名 wall:给所有用户名发送信息 wall 要发送的信息 ping:测试网络连通性 ping ip地址 -c 要ping的次数 ifconfig: 直接回车查看当前网卡信息 ifconfig 网卡名 ip地址 临时修改网络ip ifconfig th0:0 192.168.1.100 netmask 255.255.255.0 给th0这个网卡新添加一个ip ifconfig eth0:0 down ifconfig eth0:0 up ifdown th0 禁用th0这块网卡 ifup th0 开启th0这块网卡 mail:邮件命令 mail 要发送的用户名 mail 直接回车:查看命令 help :查看支持的命令格式 输入序列号:查看邮件详细内容 h: 回到邮件列表 d 序列号:删除序列号对应的邮件 last:统计计算机所有用户登录的时间信息,以及重启信息 lastlog:所有用户最后一次登录的时间 -u 用户的uid 查看指定用户的登录信息。 traceroute:显示数据包到主机间的路径 traceroute 要探测的地址. -n 使用ip而不使用域名 nslookup www.baidu.com 查看百度的ip地址 netstat:显示网络相关信息 -t :tcp协议 -u :udp协议 -l:监听 -r:路由 -n:显示ip地址和端口号 netstat -tlun:查看本机监听的端口 netstat -an:查看所有的监听信息 netstat -rn :查看路由表,即网管 wget 文件地址 下载文件 service network restart:重启网络服务。 telnet 域名或ip 远程管理与端口探测 如: telnet 192.168.2.3:80 探测192.168.2.3是否开启了80端口 mount:挂在命令 mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0挂在到cdrom ==============关机重启命令==================== shutdown:这个关机命令更安全一些,不推荐使用其他关机命令。 -h:关机 shutdown -h now shutdown -h 20:30 -r:重启 shutdown -r now -c:取消上次的关机命令 重启: init 6 reboot 关机: init 0 poweroff 系统运行级别: 0 关机 1 单用户 类似windows安全模式 2 不完全多用户,不含nfs服务 3 完全多用户 4 未分配 5 图形界面 6 重启 可以通过查看/etc/inittab来查看系统启动的运行级别 runlevel:查看当前的运行级别 init n:设置系统运行级别 logout:退出当前用户,返回到登录界面 ==============其他小技巧========== \命令名字 :使用原始的命令 比如: ls 实际上是ls --color auto \ls 就是原始的ls ============================================= 一、软件包分类 源码包 脚本安装包 特点: 1. 开源 2. 可以自由选择所需的功能 3. 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高 4. 卸载方便,即可以直接删除文件夹。 缺点: 1. 安装过程步骤较多,尤其安装较大的软件集合时,容易出现错误 2. 编译时间较长,安装毕二进制安装时间长 3. 因为是编译安装,安装过程中一旦报错新手很难解决 二进制包(RPM包、系统默认包) 优点: 1. 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载 2. 安装速度比源码包安装快的多 缺点: 1. 经过编译,不再可以看到源代码 2. 功能选择不如源码包灵活 3. 依赖性 =============rpm命令管理-包命名与依赖性======================================= 1. RPM包命名原则 httpd-2.2.15-15.el6.centos.l.i686.rpm httpd 软件包名 2.2.15 软件版本 15 软件发布的次数 el6.centos 适合的Linux平台 i686 适合的硬件平台 rpm rpm包扩展名 如果名字里有noarch,则表示所有平台都可以。 2、 rpm包依赖性 树形依赖: a->b->c 从后往前安装所依赖的包。 环形依赖: a->b->c->a 解决办法:一次性安装三个包 模块依赖:模块依赖查询网站 :www.rpmfind.net 一般以.so.数字结尾的依赖包,是库依赖包,只需要安装包括这个库的软件就可以自动安装好这个所需的库依赖包 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。安装、升级时用 包名 :操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库。一般查询,卸载时用 3. rpm安装: rpm-ivh 包全名 -i(install) 安装 -v(verbose) 显示详细信息 -h(hash) 显示进度 --nodeps 不检测依赖性 一般都必须要检测 4. rpm包升级: rpm -Uvh 包全名 -U(upgrade) 升级 -h 5. rpm -e 包名 -e(erase) 卸载 --nodeps 不检查依赖性 6. 查询是否安装 rpm - q 包名 :查询包是否安装 -q(query) 查询 -a(all) 所有 -i(information) 查询软件信息 -p(package) 查询未安装包信息 rpm -ql 包名:查询包中文件安装位置(list) 注:包的安装路径在包生成的时候就确定了 rpm -qlp 包全名:查询未安装包安装时会安装在哪里。 rpm -qf 系统文件名 :查询系统文件属于哪个rpm包 注:系统文件名必须是通过安装哪个包生成的文件 -f:查询系统文件属于哪个包 rpm -qR 包名 查询已安装软件包的依赖性 -r: 查询软件包的依赖性(requires) rpm -qRp:查询未安装包的依赖性 -p: 查询未安装包的依赖性 例如: rpm -qa | grep httpd 查询所有Apache的包 7. rpm包校验 rpm -V 已安装的包名 :如果没有提示则表示没有被修改过 -V 校验指定rpm包中的文件(verify) 校验值的含义: S:文件大小是否改变 M:文件的类型或文件的权限(rwx)是否被改变 5:文件MD5校验和是否改变(可以看成文件内容是否改变) D:设备的中,从代码是否改变 L:文件路径是否改变 U:文件的属主(所有者)是否改变 G:文件的属组是否改变 T:文件的修改时间是否改变 8. rpm包中文件提取: rpm2cpio 包全名 | \ cpio -div .文件绝对路径 rpm2cpio:讲rpm包转换为cpio格式的命令 \表示命令没有输完,在下一行继续输入 cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件 cpio 选项 <[文件|设备] -i copy-in模式,还原 -d:还原时自动新建目录 -v:显示还原过程 例如: rpm -qf /bin/ls #查看ls命令属于哪个包 mv /bin/ls /tmp #将ls命令移走 rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm保重ls命令到当前目录的/bin/ls下 cp /root/bin/ls /bin/ #把ls命令复制到/bin/目录,修复文件丢失 yum在线管理: 一、 ip地址配置 第1步:setup:使用图形界面配置ip地址 第2步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改为ONBOOT="yes" #启动网卡 第3步:service network restart :重新启动网络服务。 二、网络yum源 1. yum源位置:/etc/yum.repos.d/CentOS-Base.repo,这个是默认的网络yum源 [base] 容器名称,一定要放在[]中 name 容器说明,可以自己随便写 mirrorlist 镜像站点,这个可以注释掉 baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址 enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效 gpgcheck 如果是1是指rpm的数字证书生效,如果是0则不生效 gpgkey 数字证书的公钥文件保存位置。不用修改。 2. yum命令 yum list :获取服务器上所有可用的软件的列表 yum search 关键字:搜索服务器上所有和关键字相关的包 yum -y install 包名:安装软件包 install:安装 -y:自动回答yes yum -y update 包名:升级软件包 update:升级 -y:自动回答yes 如果没有包名,就会升级所有的软件包,包括Linux内核。慎用 yum -y remove 包名 remove:卸载 -y:自动回答yes 注:yum会自动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。 yum grouplist:列出所有可用的软件组列表 yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来 注:如果查询出来的软件组名中间有空格,要使用""引起来。 yum groupremove 软件组名:卸载指定软件组 3. 光盘yum源 1) 挂在光盘 mount /dev/sr0 /mnt/cdrom 2) 让网络yum源文件失效 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak mv Centos-Vault.repo Centos-Vault.repo.bak 3) 修改光盘yum源文件 vim CentOS-Media.repo [c6-media] name=CentOS-$releaserver -Media baseurl=file:///mnt/cdrom #地址为你自己的光盘挂载地址 # file:///media/cdrom/ # file:///media/cdrecorder/ #注释这两个不存在的地址 gpgcheck=1 enabled=1 #把enabled=0改为enabled=1,让这个yum配置文件生效 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 注意:注释配置行的时候,#符号一定要写在开头,不要随便在配置文件某一行后面加注释,也不要随便加空格。 源码包管理 1. 区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2. rpm包安装位置(大多数) /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc 软件的基本使用书册保存位置 /usr/share/man/ 帮助文件保存位置 3. 源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ 4. 安装位置不同带来的影响 rpm包安装的服务可以使用系统服务管理命令(service)来管理 例如rpm包安装的Apache的启动方法是: /etc/rc.d/init.d/httpd start 注:服务的安装路径一般在:/etc/rc.d/init.d下 service httpd start 注:service命令是红帽的专用命令,只能管理rpm包安装的服务 源码包安装过程 1. 安装准备 安装C语言编译器 gcc 下载源码包 http://mirror.bit.edu.cn/apach/httpd/ 2. 安装注意事项 源代码保存位置:/usr/local/src/ 软件安装位置: /usr/local/ 如何确定安装过程报错: 安装过程停止并出现error、warning或no的提示 3. 源码包安装过程 1)下载源码包 2)解压缩下载的源码包 3)进入解压缩目录 注:里面有个INSTALL是系统安装的步骤说明 4)./configure 软件配置与检查 定义需要的功能选项 检测系统环境是否符合安装要求 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。 ./configure --prefix=/usr/local/apache2 :定义安装位置 5)make :编译 如果前面有错误,则使用make clean命令清楚编译产生的临时文件 6)make install:编译安装 4. 源码包的卸载 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件 脚本安装 1. 脚本安装包 脚本安装包并不是独立的软件包类型,常见安装的是源码包 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装 非常类似于windows下软件的安装方式 2. Webmin的作用 Webmin是一个基于web的Linux系统管理界面,你就可以通过图形化的方式 设置用户账号、Apache,DNS、文件共享等服务。 3、 webmin安装过程 1) 下载软件 http;//sourceforge.net/projects/webadmin/files/webmin/ 2) 解压缩,并进入解压缩目录 3) 执行安装脚本 ./setup.sh 其他命令 du -sh 文件名 ps 静态查看系统进程,系统默认安装 ps -aux 使用BSD语法查看所有进程 ps -ef 标准语法查看所有进程 UID 程序被该 UID 所拥有 PID 就是这个程序的 ID PPID 则是其上级父程序的ID C CPU 使用的资源百分比 STIME 系统启动时间 TTY 登入者的终端机位置 TIME 使用掉的 CPU 时间。 CMD 所下达的指令为何 ps -aux --sort -pcpu,-pmem 根据CPU占用情况和内存占用情况来显示进程 watch -n 1 'ps -aux --sort -pcpu,-pmem' 每隔1秒监控一次进程情况 top 动态查看系统的状态 lsof -Pti :8000 通过端口号获得进程pid kill -9 pid 杀死指定pid的进程,强行杀死。 history 查看历史命令 执行历史命令 !! 执行上一条命令 !n 执行历史命令的中第n条 !-n 执行导数第n条 !string 执行以string开头的历史命令行 !?string? 执行包含string的历史命令行 alias 给命令起别名 alias 命令='别名' alias -p 查看已存在的别名 unlias 取消别名 unlias name cal 查看某一年的日历,可以是1-9999中的任意一年 cal 88 zcat 查看压缩包中的内容 sed -i 's#old#new#g' 文件名 使用new替换文件中的old ssh root@192.168.8.15 "ifconfig" 远程执行命令 bash -x 脚本名 调试脚本 centos6上的三个网络配置文件 /etc/sysconfig/network-scripts/ifcfg-etho /etc/sysconfig/network /etc/resolv.conf # dns
===================目录操作======================== mkdir: 创建目录 -p : 递归的创建目录 也就是可以创建多层目录 一次创建多个目录: mkdir {a,b,c,d,e,f} 一次创建 a b c d e f多个目录。 rmdir:删除一个空文件夹 cp:复制文件或者文件夹 -a =-pdr -p 同时复制文件属性,比如修改日期 -d 复制时保留文件链接 -r: 复制文件夹时,递归复制子文件夹 -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。 note:可以在拷贝的同时重命名 mv:移动文件或者文件夹,可以在移动的时候重命名 rm :删除文件或者文件夹 -r:递归删除 -f:强制删除 即没有提醒 ======================文件处理命令============================== ls :查看文件 -l 以列表形式查看 -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示 -a 查看所有文件,包括隐藏文件 -i 显示出文件的i节点号 touch 文件名:创建文件 可以一次创建多个文件,以空格隔开 cat :查看文件内容 -n:带行号 tac:反向显示文件内容 more:分页查看文件内容 进入浏览模式后: f或者空格:下一页 enter:一行一行往下翻 q:退出 less:查看文件内容 空格翻页 回车换行 pageup:上一页 pagedown:下一页 上箭头:向上翻 下箭头:向下翻 /搜索词 n向下找 head -n 文件名 :查看文件前n行。缺省-n显示前10行 tail -n 文件名 :查看文件的末尾几行 -f :动态显示文件末尾内容 ln:链接命令 -s创建软连接 硬链接和cp -p的区别是硬链接会同步更新 源文件如果丢失,硬链接依然存在。 硬链接和源文件的i节点相同。 硬链接不能夸分区,软连接可以跨分区。 硬链接不可以链接目录,链接可以 软连接文件具有的权限是ugo都是rwx ====================权限管理命令============== chmod:修改文件或目录的权限,只有root和所有者可以更改 [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421] [文件或目录] -R 递归修改 权限的数字表示: r->4 w->2 x->1 例:chmod u+x a.txt chmod g+w,o-r a.txt //同时做多个权限的修改 chmod g=rwx a.txt chmod 640 a.txt chmod -R 777 testdir //把目录和下面所有文件的权限 针对文件 针对目录 r 读权限 可以查看文件内容 可以列出目录中的内容 w 写权限 可以修改文件内容 可以在目录中创建、删除文件 x 执行权限 可以执行文件 可以进入目录 chown:更改文件所有者,只有root可以更改 chown root a.txt//把a.txt更改为root所有 chgrp:更改所属组 chgrp lambrother fengjie //把fengjie的所属组更改为lambrother umask -S:查看创建文件的缺省权限,即默认权限 umask 023:修改文件的缺省权限为777-023=754。即rwxr-xr-- =====================文件搜索命令======================================== find:搜索制定范围内的文件 find [搜索范围] [匹配条件] -name 按文件名搜索 -iname 根据文件名查找,不区分大小写 -size +n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小 -user 根据所有者查找 -group 根据所属组查找 根据文件属性查找: -amin 访问时间 access -cmin 根据文件属性被修改的时间 change -mmin 根据文件内容被修改的时间 modify 例: find /etc -cmin -5 :查找/etc目录下五分钟内被修改过属性的文件和目录 -a 两个条件同时满足 find /etc -size +10 -a -size -50 -o 两个条件满足一个即可 -type f 文件 d 目录 l软连接文件 -inum 根据i节点查找 对找到的结果进行操作 -exec或者-ok 命令 {} \; 例如: find /etc -name init* -exec ls -l {} \; 对找到的文件名按列表查看 find /etc -name init :搜索目录/etc下面所有的init文件,精确匹配,包括子目录中的init文件 find / -size +204800 搜索大于100M的文件 locate:(查找速度非常快,因为它维护了一个文件库。缺点就是新建立的文件没有很快收录到文件库) locate 文件名 updatedb 更新locate的文件资料库 文件资料库不收录/tmp下的文件 -i 不区分大小写 which :查找命令的目录以及别名 which 命令 whereis :搜索命令所在目录及帮助文档路径。 grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开。 -i不区分大小写 -v排除指定字符串 -E 以正则表达式的方式搜索 -F 以普通文本的方式搜索 -n 显示搜索到的内容在文件中的行号。 ==================帮助命令====================== man:查看命令或者配置文件的帮助信息 man 命令/配置文件 在手册里面,可以输入/要查找的str man ls man services man fstab //直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。 如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如: man 1 passwd 查看命令passwd的帮助 man 5 passwd 查看配置文件passwd的帮助 whatis 命令:得到命令的简要信息 apropos 配置文件名:查看配置文件的简短信息 命令 --help:查看命令的选项。 help 命令:查看shell内置命令的帮助信息。 shell内置命令是没有命令路径。不能使用man查看帮助。 ===================用户管理命令========================================== useradd: 添加用户 useradd 用户名 passwd: 修改用户密码 passwd 用户名 不加用户名直接更改自己的密码 who:查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址 w:查看更详细的用户登录信息。 =====================================压缩解压缩命令============================ .gz格式 压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了 解压缩:gunzip/gzip -d 压缩包名称 tar: -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz -zxvf 要解压的文件名 :解压缩.tar.bz2的文件 -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2 -jxvf 要解压的文件名 :解压.tar.bz2的文件 zip: zip -r 压缩生成的文件名 要压缩的目录 zip 压缩生成的文件名 要压缩的文件。 unzip: unzip 要解压缩的文件 bzip2: bzip2 -k 要压缩的文件名 -k选项:保留源文件 bunzip2 -k 要解压的文件名 -k选项:保留压缩包 ===============网络命令========================== write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存 write 用户名 wall:给所有用户名发送信息 wall 要发送的信息 ping:测试网络连通性 ping ip地址 -c 要ping的次数 ifconfig: 直接回车查看当前网卡信息 ifconfig 网卡名 ip地址 临时修改网络ip ifconfig th0:0 192.168.1.100 netmask 255.255.255.0 给th0这个网卡新添加一个ip ifconfig eth0:0 down ifconfig eth0:0 up ifdown th0 禁用th0这块网卡 ifup th0 开启th0这块网卡 mail:邮件命令 mail 要发送的用户名 mail 直接回车:查看命令 help :查看支持的命令格式 输入序列号:查看邮件详细内容 h: 回到邮件列表 d 序列号:删除序列号对应的邮件 last:统计计算机所有用户登录的时间信息,以及重启信息 lastlog:所有用户最后一次登录的时间 -u 用户的uid 查看指定用户的登录信息。 traceroute:显示数据包到主机间的路径 traceroute 要探测的地址. -n 使用ip而不使用域名 nslookup www.baidu.com 查看百度的ip地址 netstat:显示网络相关信息 -t :tcp协议 -u :udp协议 -l:监听 -r:路由 -n:显示ip地址和端口号 netstat -tlun:查看本机监听的端口 netstat -an:查看所有的监听信息 netstat -rn :查看路由表,即网管 wget 文件地址 下载文件 service network restart:重启网络服务。 telnet 域名或ip 远程管理与端口探测 如: telnet 192.168.2.3:80 探测192.168.2.3是否开启了80端口 mount:挂在命令 mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0挂在到cdrom ==============关机重启命令==================== shutdown:这个关机命令更安全一些,不推荐使用其他关机命令。 -h:关机 shutdown -h now shutdown -h 20:30 -r:重启 shutdown -r now -c:取消上次的关机命令 重启: init 6 reboot 关机: init 0 poweroff 系统运行级别: 0 关机 1 单用户 类似windows安全模式 2 不完全多用户,不含nfs服务 3 完全多用户 4 未分配 5 图形界面 6 重启 可以通过查看/etc/inittab来查看系统启动的运行级别 runlevel:查看当前的运行级别 init n:设置系统运行级别 logout:退出当前用户,返回到登录界面 ==============其他小技巧========== \命令名字 :使用原始的命令 比如: ls 实际上是ls --color auto \ls 就是原始的ls ============================================= 一、软件包分类 源码包 脚本安装包 特点: 1. 开源 2. 可以自由选择所需的功能 3. 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高 4. 卸载方便,即可以直接删除文件夹。 缺点: 1. 安装过程步骤较多,尤其安装较大的软件集合时,容易出现错误 2. 编译时间较长,安装毕二进制安装时间长 3. 因为是编译安装,安装过程中一旦报错新手很难解决 二进制包(RPM包、系统默认包) 优点: 1. 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载 2. 安装速度比源码包安装快的多 缺点: 1. 经过编译,不再可以看到源代码 2. 功能选择不如源码包灵活 3. 依赖性 =============rpm命令管理-包命名与依赖性======================================= 1. RPM包命名原则 httpd-2.2.15-15.el6.centos.l.i686.rpm httpd 软件包名 2.2.15 软件版本 15 软件发布的次数 el6.centos 适合的Linux平台 i686 适合的硬件平台 rpm rpm包扩展名 如果名字里有noarch,则表示所有平台都可以。 2、 rpm包依赖性 树形依赖: a->b->c 从后往前安装所依赖的包。 环形依赖: a->b->c->a 解决办法:一次性安装三个包 模块依赖:模块依赖查询网站 :www.rpmfind.net 一般以.so.数字结尾的依赖包,是库依赖包,只需要安装包括这个库的软件就可以自动安装好这个所需的库依赖包 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。安装、升级时用 包名 :操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库。一般查询,卸载时用 3. rpm安装: rpm-ivh 包全名 -i(install) 安装 -v(verbose) 显示详细信息 -h(hash) 显示进度 --nodeps 不检测依赖性 一般都必须要检测 4. rpm包升级: rpm -Uvh 包全名 -U(upgrade) 升级 -h 5. rpm -e 包名 -e(erase) 卸载 --nodeps 不检查依赖性 6. 查询是否安装 rpm - q 包名 :查询包是否安装 -q(query) 查询 -a(all) 所有 -i(information) 查询软件信息 -p(package) 查询未安装包信息 rpm -ql 包名:查询包中文件安装位置(list) 注:包的安装路径在包生成的时候就确定了 rpm -qlp 包全名:查询未安装包安装时会安装在哪里。 rpm -qf 系统文件名 :查询系统文件属于哪个rpm包 注:系统文件名必须是通过安装哪个包生成的文件 -f:查询系统文件属于哪个包 rpm -qR 包名 查询已安装软件包的依赖性 -r: 查询软件包的依赖性(requires) rpm -qRp:查询未安装包的依赖性 -p: 查询未安装包的依赖性 例如: rpm -qa | grep httpd 查询所有Apache的包 7. rpm包校验 rpm -V 已安装的包名 :如果没有提示则表示没有被修改过 -V 校验指定rpm包中的文件(verify) 校验值的含义: S:文件大小是否改变 M:文件的类型或文件的权限(rwx)是否被改变 5:文件MD5校验和是否改变(可以看成文件内容是否改变) D:设备的中,从代码是否改变 L:文件路径是否改变 U:文件的属主(所有者)是否改变 G:文件的属组是否改变 T:文件的修改时间是否改变 8. rpm包中文件提取: rpm2cpio 包全名 | \ cpio -div .文件绝对路径 rpm2cpio:讲rpm包转换为cpio格式的命令 \表示命令没有输完,在下一行继续输入 cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件 cpio 选项 <[文件|设备] -i copy-in模式,还原 -d:还原时自动新建目录 -v:显示还原过程 例如: rpm -qf /bin/ls #查看ls命令属于哪个包 mv /bin/ls /tmp #将ls命令移走 rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm保重ls命令到当前目录的/bin/ls下 cp /root/bin/ls /bin/ #把ls命令复制到/bin/目录,修复文件丢失 yum在线管理: 一、 ip地址配置 第1步:setup:使用图形界面配置ip地址 第2步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改为ONBOOT="yes" #启动网卡 第3步:service network restart :重新启动网络服务。 二、网络yum源 1. yum源位置:/etc/yum.repos.d/CentOS-Base.repo,这个是默认的网络yum源 [base] 容器名称,一定要放在[]中 name 容器说明,可以自己随便写 mirrorlist 镜像站点,这个可以注释掉 baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址 enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效 gpgcheck 如果是1是指rpm的数字证书生效,如果是0则不生效 gpgkey 数字证书的公钥文件保存位置。不用修改。 2. yum命令 yum list :获取服务器上所有可用的软件的列表 yum search 关键字:搜索服务器上所有和关键字相关的包 yum -y install 包名:安装软件包 install:安装 -y:自动回答yes yum -y update 包名:升级软件包 update:升级 -y:自动回答yes 如果没有包名,就会升级所有的软件包,包括Linux内核。慎用 yum -y remove 包名 remove:卸载 -y:自动回答yes 注:yum会自动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。 yum grouplist:列出所有可用的软件组列表 yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来 注:如果查询出来的软件组名中间有空格,要使用""引起来。 yum groupremove 软件组名:卸载指定软件组 3. 光盘yum源 1) 挂在光盘 mount /dev/sr0 /mnt/cdrom 2) 让网络yum源文件失效 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak mv Centos-Vault.repo Centos-Vault.repo.bak 3) 修改光盘yum源文件 vim CentOS-Media.repo [c6-media] name=CentOS-$releaserver -Media baseurl=file:///mnt/cdrom #地址为你自己的光盘挂载地址 # file:///media/cdrom/ # file:///media/cdrecorder/ #注释这两个不存在的地址 gpgcheck=1 enabled=1 #把enabled=0改为enabled=1,让这个yum配置文件生效 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 注意:注释配置行的时候,#符号一定要写在开头,不要随便在配置文件某一行后面加注释,也不要随便加空格。 源码包管理 1. 区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2. rpm包安装位置(大多数) /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc 软件的基本使用书册保存位置 /usr/share/man/ 帮助文件保存位置 3. 源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ 4. 安装位置不同带来的影响 rpm包安装的服务可以使用系统服务管理命令(service)来管理 例如rpm包安装的Apache的启动方法是: /etc/rc.d/init.d/httpd start 注:服务的安装路径一般在:/etc/rc.d/init.d下 service httpd start 注:service命令是红帽的专用命令,只能管理rpm包安装的服务 源码包安装过程 1. 安装准备 安装C语言编译器 gcc 下载源码包 http://mirror.bit.edu.cn/apach/httpd/ 2. 安装注意事项 源代码保存位置:/usr/local/src/ 软件安装位置: /usr/local/ 如何确定安装过程报错: 安装过程停止并出现error、warning或no的提示 3. 源码包安装过程 1)下载源码包 2)解压缩下载的源码包 3)进入解压缩目录 注:里面有个INSTALL是系统安装的步骤说明 4)./configure 软件配置与检查 定义需要的功能选项 检测系统环境是否符合安装要求 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。 ./configure --prefix=/usr/local/apache2 :定义安装位置 5)make :编译 如果前面有错误,则使用make clean命令清楚编译产生的临时文件 6)make install:编译安装 4. 源码包的卸载 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件 脚本安装 1. 脚本安装包 脚本安装包并不是独立的软件包类型,常见安装的是源码包 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装 非常类似于windows下软件的安装方式 2. Webmin的作用 Webmin是一个基于web的Linux系统管理界面,你就可以通过图形化的方式 设置用户账号、Apache,DNS、文件共享等服务。 3、 webmin安装过程 1) 下载软件 http;//sourceforge.net/projects/webadmin/files/webmin/ 2) 解压缩,并进入解压缩目录 3) 执行安装脚本 ./setup.sh 其他命令 du -sh 文件名 ps 静态查看系统进程,系统默认安装 ps -aux 使用BSD语法查看所有进程 ps -ef 标准语法查看所有进程 UID 程序被该 UID 所拥有 PID 就是这个程序的 ID PPID 则是其上级父程序的ID C CPU 使用的资源百分比 STIME 系统启动时间 TTY 登入者的终端机位置 TIME 使用掉的 CPU 时间。 CMD 所下达的指令为何 ps -aux --sort -pcpu,-pmem 根据CPU占用情况和内存占用情况来显示进程 watch -n 1 'ps -aux --sort -pcpu,-pmem' 每隔1秒监控一次进程情况 top 动态查看系统的状态 lsof -Pti :8000 通过端口号获得进程pid kill -9 pid 杀死指定pid的进程,强行杀死。 history 查看历史命令 执行历史命令 !! 执行上一条命令 !n 执行历史命令的中第n条 !-n 执行导数第n条 !string 执行以string开头的历史命令行 !?string? 执行包含string的历史命令行 alias 给命令起别名 alias 命令='别名' alias -p 查看已存在的别名 unlias 取消别名 unlias name cal 查看某一年的日历,可以是1-9999中的任意一年 cal 88 zcat 查看压缩包中的内容 sed -i 's#old#new#g' 文件名 使用new替换文件中的old ssh root@192.168.8.15 "ifconfig" 远程执行命令 bash -x 脚本名 调试脚本 centos6上的三个网络配置文件 /etc/sysconfig/network-scripts/ifcfg-etho /etc/sysconfig/network /etc/resolv.conf # dns
===================目录操作======================== mkdir: 创建目录 -p : 递归的创建目录 也就是可以创建多层目录 一次创建多个目录: mkdir {a,b,c,d,e,f} 一次创建 a b c d e f多个目录。 rmdir:删除一个空文件夹 cp:复制文件或者文件夹 -a =-pdr -p 同时复制文件属性,比如修改日期 -d 复制时保留文件链接 -r: 复制文件夹时,递归复制子文件夹 -l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。 note:可以在拷贝的同时重命名 mv:移动文件或者文件夹,可以在移动的时候重命名 rm :删除文件或者文件夹 -r:递归删除 -f:强制删除 即没有提醒 ======================文件处理命令============================== ls :查看文件 -l 以列表形式查看 -h 以一种人性化的方式查看,也是文件的大小以合适的单位显示 -a 查看所有文件,包括隐藏文件 -i 显示出文件的i节点号 touch 文件名:创建文件 可以一次创建多个文件,以空格隔开 cat :查看文件内容 -n:带行号 tac:反向显示文件内容 more:分页查看文件内容 进入浏览模式后: f或者空格:下一页 enter:一行一行往下翻 q:退出 less:查看文件内容 空格翻页 回车换行 pageup:上一页 pagedown:下一页 上箭头:向上翻 下箭头:向下翻 /搜索词 n向下找 head -n 文件名 :查看文件前n行。缺省-n显示前10行 tail -n 文件名 :查看文件的末尾几行 -f :动态显示文件末尾内容 ln:链接命令 -s创建软连接 硬链接和cp -p的区别是硬链接会同步更新 源文件如果丢失,硬链接依然存在。 硬链接和源文件的i节点相同。 硬链接不能夸分区,软连接可以跨分区。 硬链接不可以链接目录,链接可以 软连接文件具有的权限是ugo都是rwx ====================权限管理命令============== chmod:修改文件或目录的权限,只有root和所有者可以更改 [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421] [文件或目录] -R 递归修改 权限的数字表示: r->4 w->2 x->1 例:chmod u+x a.txt chmod g+w,o-r a.txt //同时做多个权限的修改 chmod g=rwx a.txt chmod 640 a.txt chmod -R 777 testdir //把目录和下面所有文件的权限 针对文件 针对目录 r 读权限 可以查看文件内容 可以列出目录中的内容 w 写权限 可以修改文件内容 可以在目录中创建、删除文件 x 执行权限 可以执行文件 可以进入目录 chown:更改文件所有者,只有root可以更改 chown root a.txt//把a.txt更改为root所有 chgrp:更改所属组 chgrp lambrother fengjie //把fengjie的所属组更改为lambrother umask -S:查看创建文件的缺省权限,即默认权限 umask 023:修改文件的缺省权限为777-023=754。即rwxr-xr-- =====================文件搜索命令======================================== find:搜索制定范围内的文件 find [搜索范围] [匹配条件] -name 按文件名搜索 -iname 根据文件名查找,不区分大小写 -size +n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小 -user 根据所有者查找 -group 根据所属组查找 根据文件属性查找: -amin 访问时间 access -cmin 根据文件属性被修改的时间 change -mmin 根据文件内容被修改的时间 modify 例: find /etc -cmin -5 :查找/etc目录下五分钟内被修改过属性的文件和目录 -a 两个条件同时满足 find /etc -size +10 -a -size -50 -o 两个条件满足一个即可 -type f 文件 d 目录 l软连接文件 -inum 根据i节点查找 对找到的结果进行操作 -exec或者-ok 命令 {} \; 例如: find /etc -name init* -exec ls -l {} \; 对找到的文件名按列表查看 find /etc -name init :搜索目录/etc下面所有的init文件,精确匹配,包括子目录中的init文件 find / -size +204800 搜索大于100M的文件 locate:(查找速度非常快,因为它维护了一个文件库。缺点就是新建立的文件没有很快收录到文件库) locate 文件名 updatedb 更新locate的文件资料库 文件资料库不收录/tmp下的文件 -i 不区分大小写 which :查找命令的目录以及别名 which 命令 whereis :搜索命令所在目录及帮助文档路径。 grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开。 -i不区分大小写 -v排除指定字符串 -E 以正则表达式的方式搜索 -F 以普通文本的方式搜索 -n 显示搜索到的内容在文件中的行号。 ==================帮助命令====================== man:查看命令或者配置文件的帮助信息 man 命令/配置文件 在手册里面,可以输入/要查找的str man ls man services man fstab //直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。 如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如: man 1 passwd 查看命令passwd的帮助 man 5 passwd 查看配置文件passwd的帮助 whatis 命令:得到命令的简要信息 apropos 配置文件名:查看配置文件的简短信息 命令 --help:查看命令的选项。 help 命令:查看shell内置命令的帮助信息。 shell内置命令是没有命令路径。不能使用man查看帮助。 ===================用户管理命令========================================== useradd: 添加用户 useradd 用户名 passwd: 修改用户密码 passwd 用户名 不加用户名直接更改自己的密码 who:查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址 w:查看更详细的用户登录信息。 =====================================压缩解压缩命令============================ .gz格式 压缩:gzip 文件名 只能压缩文件不能压缩目录,压缩完源文件也不见了 解压缩:gunzip/gzip -d 压缩包名称 tar: -zcvf 压缩后文件名 打包的目录 :生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gz -zxvf 要解压的文件名 :解压缩.tar.bz2的文件 -jcvf 压缩后的文件名 打包的目录:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2 -jxvf 要解压的文件名 :解压.tar.bz2的文件 zip: zip -r 压缩生成的文件名 要压缩的目录 zip 压缩生成的文件名 要压缩的文件。 unzip: unzip 要解压缩的文件 bzip2: bzip2 -k 要压缩的文件名 -k选项:保留源文件 bunzip2 -k 要解压的文件名 -k选项:保留压缩包 ===============网络命令========================== write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存 write 用户名 wall:给所有用户名发送信息 wall 要发送的信息 ping:测试网络连通性 ping ip地址 -c 要ping的次数 ifconfig: 直接回车查看当前网卡信息 ifconfig 网卡名 ip地址 临时修改网络ip ifconfig th0:0 192.168.1.100 netmask 255.255.255.0 给th0这个网卡新添加一个ip ifconfig eth0:0 down ifconfig eth0:0 up ifdown th0 禁用th0这块网卡 ifup th0 开启th0这块网卡 mail:邮件命令 mail 要发送的用户名 mail 直接回车:查看命令 help :查看支持的命令格式 输入序列号:查看邮件详细内容 h: 回到邮件列表 d 序列号:删除序列号对应的邮件 last:统计计算机所有用户登录的时间信息,以及重启信息 lastlog:所有用户最后一次登录的时间 -u 用户的uid 查看指定用户的登录信息。 traceroute:显示数据包到主机间的路径 traceroute 要探测的地址. -n 使用ip而不使用域名 nslookup www.baidu.com 查看百度的ip地址 netstat:显示网络相关信息 -t :tcp协议 -u :udp协议 -l:监听 -r:路由 -n:显示ip地址和端口号 netstat -tlun:查看本机监听的端口 netstat -an:查看所有的监听信息 netstat -rn :查看路由表,即网管 wget 文件地址 下载文件 service network restart:重启网络服务。 telnet 域名或ip 远程管理与端口探测 如: telnet 192.168.2.3:80 探测192.168.2.3是否开启了80端口 mount:挂在命令 mount -t iso9660 /dev/sr0 /mnt/cdrom :把sr0挂在到cdrom ==============关机重启命令==================== shutdown:这个关机命令更安全一些,不推荐使用其他关机命令。 -h:关机 shutdown -h now shutdown -h 20:30 -r:重启 shutdown -r now -c:取消上次的关机命令 重启: init 6 reboot 关机: init 0 poweroff 系统运行级别: 0 关机 1 单用户 类似windows安全模式 2 不完全多用户,不含nfs服务 3 完全多用户 4 未分配 5 图形界面 6 重启 可以通过查看/etc/inittab来查看系统启动的运行级别 runlevel:查看当前的运行级别 init n:设置系统运行级别 logout:退出当前用户,返回到登录界面 ==============其他小技巧========== \命令名字 :使用原始的命令 比如: ls 实际上是ls --color auto \ls 就是原始的ls ============================================= 一、软件包分类 源码包 脚本安装包 特点: 1. 开源 2. 可以自由选择所需的功能 3. 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高 4. 卸载方便,即可以直接删除文件夹。 缺点: 1. 安装过程步骤较多,尤其安装较大的软件集合时,容易出现错误 2. 编译时间较长,安装毕二进制安装时间长 3. 因为是编译安装,安装过程中一旦报错新手很难解决 二进制包(RPM包、系统默认包) 优点: 1. 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载 2. 安装速度比源码包安装快的多 缺点: 1. 经过编译,不再可以看到源代码 2. 功能选择不如源码包灵活 3. 依赖性 =============rpm命令管理-包命名与依赖性======================================= 1. RPM包命名原则 httpd-2.2.15-15.el6.centos.l.i686.rpm httpd 软件包名 2.2.15 软件版本 15 软件发布的次数 el6.centos 适合的Linux平台 i686 适合的硬件平台 rpm rpm包扩展名 如果名字里有noarch,则表示所有平台都可以。 2、 rpm包依赖性 树形依赖: a->b->c 从后往前安装所依赖的包。 环形依赖: a->b->c->a 解决办法:一次性安装三个包 模块依赖:模块依赖查询网站 :www.rpmfind.net 一般以.so.数字结尾的依赖包,是库依赖包,只需要安装包括这个库的软件就可以自动安装好这个所需的库依赖包 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。安装、升级时用 包名 :操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库。一般查询,卸载时用 3. rpm安装: rpm-ivh 包全名 -i(install) 安装 -v(verbose) 显示详细信息 -h(hash) 显示进度 --nodeps 不检测依赖性 一般都必须要检测 4. rpm包升级: rpm -Uvh 包全名 -U(upgrade) 升级 -h 5. rpm -e 包名 -e(erase) 卸载 --nodeps 不检查依赖性 6. 查询是否安装 rpm - q 包名 :查询包是否安装 -q(query) 查询 -a(all) 所有 -i(information) 查询软件信息 -p(package) 查询未安装包信息 rpm -ql 包名:查询包中文件安装位置(list) 注:包的安装路径在包生成的时候就确定了 rpm -qlp 包全名:查询未安装包安装时会安装在哪里。 rpm -qf 系统文件名 :查询系统文件属于哪个rpm包 注:系统文件名必须是通过安装哪个包生成的文件 -f:查询系统文件属于哪个包 rpm -qR 包名 查询已安装软件包的依赖性 -r: 查询软件包的依赖性(requires) rpm -qRp:查询未安装包的依赖性 -p: 查询未安装包的依赖性 例如: rpm -qa | grep httpd 查询所有Apache的包 7. rpm包校验 rpm -V 已安装的包名 :如果没有提示则表示没有被修改过 -V 校验指定rpm包中的文件(verify) 校验值的含义: S:文件大小是否改变 M:文件的类型或文件的权限(rwx)是否被改变 5:文件MD5校验和是否改变(可以看成文件内容是否改变) D:设备的中,从代码是否改变 L:文件路径是否改变 U:文件的属主(所有者)是否改变 G:文件的属组是否改变 T:文件的修改时间是否改变 8. rpm包中文件提取: rpm2cpio 包全名 | \ cpio -div .文件绝对路径 rpm2cpio:讲rpm包转换为cpio格式的命令 \表示命令没有输完,在下一行继续输入 cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件 cpio 选项 <[文件|设备] -i copy-in模式,还原 -d:还原时自动新建目录 -v:显示还原过程 例如: rpm -qf /bin/ls #查看ls命令属于哪个包 mv /bin/ls /tmp #将ls命令移走 rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm保重ls命令到当前目录的/bin/ls下 cp /root/bin/ls /bin/ #把ls命令复制到/bin/目录,修复文件丢失 yum在线管理: 一、 ip地址配置 第1步:setup:使用图形界面配置ip地址 第2步:vi/etc/sysconfig/network-scripts/ifcfg-eth0 把ONBOOT="no"改为ONBOOT="yes" #启动网卡 第3步:service network restart :重新启动网络服务。 二、网络yum源 1. yum源位置:/etc/yum.repos.d/CentOS-Base.repo,这个是默认的网络yum源 [base] 容器名称,一定要放在[]中 name 容器说明,可以自己随便写 mirrorlist 镜像站点,这个可以注释掉 baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址 enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效 gpgcheck 如果是1是指rpm的数字证书生效,如果是0则不生效 gpgkey 数字证书的公钥文件保存位置。不用修改。 2. yum命令 yum list :获取服务器上所有可用的软件的列表 yum search 关键字:搜索服务器上所有和关键字相关的包 yum -y install 包名:安装软件包 install:安装 -y:自动回答yes yum -y update 包名:升级软件包 update:升级 -y:自动回答yes 如果没有包名,就会升级所有的软件包,包括Linux内核。慎用 yum -y remove 包名 remove:卸载 -y:自动回答yes 注:yum会自动卸载依赖包,而很有可能这个依赖包也被别的包依赖,所以很危险,慎用。 yum grouplist:列出所有可用的软件组列表 yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来 注:如果查询出来的软件组名中间有空格,要使用""引起来。 yum groupremove 软件组名:卸载指定软件组 3. 光盘yum源 1) 挂在光盘 mount /dev/sr0 /mnt/cdrom 2) 让网络yum源文件失效 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak mv Centos-Vault.repo Centos-Vault.repo.bak 3) 修改光盘yum源文件 vim CentOS-Media.repo [c6-media] name=CentOS-$releaserver -Media baseurl=file:///mnt/cdrom #地址为你自己的光盘挂载地址 # file:///media/cdrom/ # file:///media/cdrecorder/ #注释这两个不存在的地址 gpgcheck=1 enabled=1 #把enabled=0改为enabled=1,让这个yum配置文件生效 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 注意:注释配置行的时候,#符号一定要写在开头,不要随便在配置文件某一行后面加注释,也不要随便加空格。 源码包管理 1. 区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2. rpm包安装位置(大多数) /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc 软件的基本使用书册保存位置 /usr/share/man/ 帮助文件保存位置 3. 源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ 4. 安装位置不同带来的影响 rpm包安装的服务可以使用系统服务管理命令(service)来管理 例如rpm包安装的Apache的启动方法是: /etc/rc.d/init.d/httpd start 注:服务的安装路径一般在:/etc/rc.d/init.d下 service httpd start 注:service命令是红帽的专用命令,只能管理rpm包安装的服务 源码包安装过程 1. 安装准备 安装C语言编译器 gcc 下载源码包 http://mirror.bit.edu.cn/apach/httpd/ 2. 安装注意事项 源代码保存位置:/usr/local/src/ 软件安装位置: /usr/local/ 如何确定安装过程报错: 安装过程停止并出现error、warning或no的提示 3. 源码包安装过程 1)下载源码包 2)解压缩下载的源码包 3)进入解压缩目录 注:里面有个INSTALL是系统安装的步骤说明 4)./configure 软件配置与检查 定义需要的功能选项 检测系统环境是否符合安装要求 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。 ./configure --prefix=/usr/local/apache2 :定义安装位置 5)make :编译 如果前面有错误,则使用make clean命令清楚编译产生的临时文件 6)make install:编译安装 4. 源码包的卸载 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件 脚本安装 1. 脚本安装包 脚本安装包并不是独立的软件包类型,常见安装的是源码包 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装 非常类似于windows下软件的安装方式 2. Webmin的作用 Webmin是一个基于web的Linux系统管理界面,你就可以通过图形化的方式 设置用户账号、Apache,DNS、文件共享等服务。 3、 webmin安装过程 1) 下载软件 http;//sourceforge.net/projects/webadmin/files/webmin/ 2) 解压缩,并进入解压缩目录 3) 执行安装脚本 ./setup.sh 其他命令 du -sh 文件名 ps 静态查看系统进程,系统默认安装 ps -aux 使用BSD语法查看所有进程 ps -ef 标准语法查看所有进程 UID 程序被该 UID 所拥有 PID 就是这个程序的 ID PPID 则是其上级父程序的ID C CPU 使用的资源百分比 STIME 系统启动时间 TTY 登入者的终端机位置 TIME 使用掉的 CPU 时间。 CMD 所下达的指令为何 ps -aux --sort -pcpu,-pmem 根据CPU占用情况和内存占用情况来显示进程 watch -n 1 'ps -aux --sort -pcpu,-pmem' 每隔1秒监控一次进程情况 top 动态查看系统的状态 lsof -Pti :8000 通过端口号获得进程pid kill -9 pid 杀死指定pid的进程,强行杀死。 history 查看历史命令 执行历史命令 !! 执行上一条命令 !n 执行历史命令的中第n条 !-n 执行导数第n条 !string 执行以string开头的历史命令行 !?string? 执行包含string的历史命令行 alias 给命令起别名 alias 命令='别名' alias -p 查看已存在的别名 unlias 取消别名 unlias name cal 查看某一年的日历,可以是1-9999中的任意一年 cal 88 zcat 查看压缩包中的内容 sed -i 's#old#new#g' 文件名 使用new替换文件中的old ssh root@192.168.8.15 "ifconfig" 远程执行命令 bash -x 脚本名 调试脚本 centos6上的三个网络配置文件 /etc/sysconfig/network-scripts/ifcfg-etho /etc/sysconfig/network /etc/resolv.conf # dns
相关推荐
- 3分钟让你的项目支持AI问答模块,完全开源!
-
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下最近开源的Next-Admin的最新更新。最近对这个项目做了一些优化,并集成了大家比较关注...
- 干货|程序员的副业挂,12个平台分享
-
1、D2adminD2Admin是一个完全开源免费的企业中后台产品前端集成方案,使用最新的前端技术栈,小于60kb的本地首屏js加载,已经做好大部分项目前期准备工作,并且带有大量示例代码,助...
- Github标星超200K,这10个可视化面板你知道几个
-
在Github上有很多开源免费的后台控制面板可以选择,但是哪些才是最好、最受欢迎的可视化控制面板呢?今天就和大家推荐Github上10个好看又流行的可视化面板:1.AdminLTEAdminLTE是...
- 开箱即用的炫酷中后台前端开源框架第二篇
-
#头条创作挑战赛#1、SoybeanAdmin(1)介绍:SoybeanAdmin是一个基于Vue3、Vite3、TypeScript、NaiveUI、Pinia和UnoCSS的清新优...
- 搭建React+AntDeign的开发环境和框架
-
搭建React+AntDeign的开发环境和框架随着前端技术的不断发展,React和AntDesign已经成为越来越多Web应用程序的首选开发框架。React是一个用于构建用户界面的JavaScrip...
- 基于.NET 5实现的开源通用权限管理平台
-
??大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!??今天小编推荐一款基于.NE...
- StreamPark - 大数据流计算引擎
-
使用Docker完成StreamPark的部署??1.基于h2和docker-compose进行StreamPark部署wgethttps://raw.githubusercontent.com/a...
- 教你使用UmiJS框架开发React
-
1、什么是Umi.js?umi,中文可发音为乌米,是一个可插拔的企业级react应用框架。你可以将它简单地理解为一个专注性能的类next.js前端框架,并通过约定、自动生成和解析代码等方式来辅助...
- 简单在线流程图工具在用例设计中的运用
-
敏捷模式下,测试团队的用例逐渐简化以适应快速的发版节奏,大家很早就开始运用思维导图工具比如xmind来编写测试方法、测试点。如今不少已经不少利用开源的思维导图组件(如百度脑图...)来构建测试测试...
- 【开源分享】神奇的大数据实时平台框架,让Flink&Spark开发更简单
-
这是一个神奇的框架,让Flink|Spark开发更简单,一站式大数据实时平台!他就是StreamX!什么是StreamX大数据技术如今发展的如火如荼,已经呈现百花齐放欣欣向荣的景象,实时处理流域...
- 聊聊规则引擎的调研及实现全过程
-
摘要本期主要以规则引擎业务实现为例,陈述在陌生业务前如何进行业务深入、调研、技术选型、设计及实现全过程分析,如果你对规则引擎不感冒、也可以从中了解一些抽象实现过程。诉求从硬件采集到的数据提供的形式多种...
- 【开源推荐】Diboot 2.0.5 发布,自动化开发助理
-
一、前言Diboot2.0.5版本已于近日发布,在此次发布中,我们新增了file-starter组件,完善了iam-starter组件,对core核心进行了相关优化,让devtools也支持对IAM...
- 微软推出Copilot Actions,使用人工智能自动执行重复性任务
-
IT之家11月19日消息,微软在今天举办的Ignite大会上宣布了一系列新功能,旨在进一步提升Microsoft365Copilot的智能化水平。其中最引人注目的是Copilot...
- Electron 使用Selenium和WebDriver
-
本节我们来学习如何在Electron下使用Selenium和WebDriver。SeleniumSelenium是ThoughtWorks提供的一个强大的基于浏览器的开源自动化测试工具...
- Quick 'n Easy Web Builder 11.1.0设计和构建功能齐全的网页的工具
-
一个实用而有效的应用程序,能够让您轻松构建、创建和设计个人的HTML网站。Quick'nEasyWebBuilder是一款全面且轻巧的软件,为用户提供了一种简单的方式来创建、编辑...
- 一周热门
- 最近发表
- 标签列表
-
- kubectlsetimage (56)
- mysqlinsertoverwrite (53)
- addcolumn (54)
- helmpackage (54)
- varchar最长多少 (61)
- 类型断言 (53)
- protoc安装 (56)
- jdk20安装教程 (60)
- rpm2cpio (52)
- 控制台打印 (63)
- 401unauthorized (51)
- vuexstore (68)
- druiddatasource (60)
- 企业微信开发文档 (51)
- rendertexture (51)
- speedphp (52)
- gitcommit-am (68)
- bashecho (64)
- str_to_date函数 (58)
- yum下载包及依赖到本地 (72)
- jstree中文api文档 (59)
- mvnw文件 (58)
- rancher安装 (63)
- nginx开机自启 (53)
- .netcore教程 (53)