今天我们来学习一下Linux的基本命令
0.LINUX的命令格式
命令 选项 参数
ls -a /home
###1.软件管理相关命令
Debian平台,代表作Ubuntu
dpkg:用来安装离线安装包,不会自动安装依赖
apt:可以离线或者在线安装软件,并且会自动安装依赖
.deb:基于Debian平台的软件安装包
Fedora平台,代表作CentOS
rpm:用来安装离线安装包,不会自动安装依赖
yum: 可以离线或者在线安装软件,并且会自动安装依赖
.rpm:基于Fedora平台的软件安装包
安装软件的三种方式
- 下载离线安装包
dpkg/rpm
#dpkg的相关用法
dpkg -i package.deb #安装包
dpkg -r package #删除包
dpkg -P package #删除包(包括配置文件)
dpkg -L package #列出与该包关联的文件
dpkg -l package #显示该包的版本
dpkg --unpack package.deb #解开deb包的内容
dpkg -S keyword #搜索所属的包内容
dpkg -l #列出当前已安装的包
dpkg -c package.deb #列出deb包的内容
dpkg --configure package #配置包
#rpm的相关用法实例
rpm -hvi dejagnu-1.4.2-10.noarch.rpm #安装软件
rpm -qi dejagnu-1.4.2-10.noarch.rpm #显示软件安装信息
rpm -aq #列出安装的所有包
rpm -e vsftpd #卸载
rpm -ql vsftpd #查询安装路径
rpm -qi vsftpd #查看已安装的软件信息
rpm -qd vsftpd #查询已安装软件的文档位置信息
其他参数
-a 查询所有套件。
-b <完成阶段><套件档>+或-t <完成阶段><套件档>+ 设置包装套件的完成阶段,并指定套件档的文件名称。
-c 只列出组态配置文件,本参数需配合"-l"参数使用。
-d 只列出文本文件,本参数需配合"-l"参数使用。
-e <套件档>或--erase<套件档> 删除指定的套件。
-f <文件>+ 查询拥有指定文件的套件。
-h 或--hash 套件安装时列出标记。
-i 显示套件的相关信息。
-i <套件档>或--install<套件档> 安装指定的套件档。
-l 显示套件的文件列表。
-p <套件档>+ 查询指定的RPM套件档。
-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-R 显示套件的关联性信息。
-s 显示文件状态,本参数需配合"-l"参数使用。
-U <套件档>或--upgrade<套件档> 升级指定的套件档。
-v 显示指令执行过程。
-vv 详细显示指令执行过程,便于排错。
-addsign <套件档>+ 在指定的套件里加上新的签名认证。
--allfiles 安装所有文件。
--allmatches 删除符合指定的套件所包含的文件。
--badreloc 发生错误时,重新配置文件。
--buildroot <根目录> 设置产生套件时,欲当作根目录的目录。
--changelog 显示套件的更改记录。
--checksig <套件档>+ 检验该套件的签名认证。
--clean 完成套件的包装后,删除包装过程中所建立的目录。
--dbpath <数据库目录> 设置欲存放RPM数据库的目录。
--dump 显示每个文件的验证信息。本参数需配合"-l"参数使用。
--excludedocs 安装套件时,不要安装文件。
--excludepath <排除目录> 忽略在指定目录里的所有文件。
--force 强行置换套件或文件。
--ftpproxy <主机名称或IP地址> 指定FTP代理服务器。
--ftpport <通信端口> 设置FTP服务器或代理服务器使用的通信端口。
--help 在线帮助。
--httpproxy <主机名称或IP地址> 指定HTTP代理服务器。
--httpport <通信端口> 设置HTTP服务器或代理服务器使用的通信端口。
--ignorearch 不验证套件档的结构正确性。
--ignoreos 不验证套件档的结构正确性。
--ignoresize 安装前不检查磁盘空间是否足够。
--includedocs 安装套件时,一并安装文件。
--initdb 确认有正确的数据库可以使用。
--justdb 更新数据库,当不变动任何文件。
--nobulid 不执行任何完成阶段。
--nodeps 不验证套件档的相互关联性。
--nofiles 不验证文件的属性。
--nogpg 略过所有GPG的签名认证。
--nomd5 不使用MD5编码演算确认文件的大小与正确性。
--nopgp 略过所有PGP的签名认证。
--noorder 不重新编排套件的安装顺序,以便满足其彼此间的关联性。
--noscripts 不执行任何安装Script文件。
--notriggers 不执行该套件包装内的任何Script文件。
--oldpackage 升级成旧版本的套件。
--percent 安装套件时显示完成度百分比。
--pipe <执行指令> 建立管道,把输出结果转为该执行指令的输入数据。
--prefix <目的目录> 若重新配置文件,就把文件放到指定的目录下。
--provides 查询该套件所提供的兼容度。
--queryformat <档头格式> 设置档头的表示方式。
--querytags 列出可用于档头格式的标签。
--rcfile <配置文件> 使用指定的配置文件。
--rebulid <套件档> 安装原始代码套件,重新产生二进制文件的套件。
--rebuliddb 以现有的数据库为主,重建一份数据库。
--recompile <套件档> 此参数的效果和指定"--rebulid"参数类似,当不产生套件档。
--relocate <原目录>=<新目录> 把本来会放到原目录下的文件改放到新目录。
--replacefiles 强行置换文件。
--replacepkgs 强行置换套件。
--requires 查询该套件所需要的兼容度。
--resing <套件档>+ 删除现有认证,重新产生签名认证。
--rmsource 完成套件的包装后,删除原始代码。
--rmsource <文件> 删除原始代码和指定的文件。
--root <根目录> 设置欲当作根目录的目录。
--scripts 列出安装套件的Script的变量。
--setperms 设置文件的权限。
--setugids 设置文件的拥有者和所属群组。
--short-circuit 直接略过指定完成阶段的步骤。
--sign 产生PGP或GPG的签名认证。
--target <安装平台>+ 设置产生的套件的安装平台。
--test 仅作测试,并不真的安装套件。
--timecheck <检查秒数> 设置检查时间的计时秒数。
--triggeredby <套件档> 查询该套件的包装者。
--triggers 展示套件档内的包装Script。
--verify 此参数的效果和指定"-q"参数相同。
--version 显示版本信息。
--whatprovides <功能特性> 查询该套件对指定的功能特性所提供的兼容度。
--whatrequires <功能特性> 查询该套件对指定的功能特性所需要的兼容度。
2.源代码安装
#1.下载源代码或者通过SFTP上传
wget http://mek.plus:8000/file/python3.9.6.tar.gz
#2.解压
tar -zxvf python3.9.6.tar.gz
#3.进入已解压的文件夹
cd python3.9.6.tar.gz
#4.执行./configure --prefix=url
./configure --prefix=url 进行配置
#--prefix是用来指定安装路径
#配置的目的是查看当前系统的环境是否能够安装软件,在此过程中可能会出现错误提示,需要安装第三方的依赖包
#在此过程中,会提示需要安装第三方的依赖包,此时需要手动的运行命令安装依赖
#依赖安装完成以后,再次执行 ./configure
#configure命令执行成功以后,会生成一个新的 Makefile 文件
#5.安装
sudo make && sudo make install
#&&是把两个命令连起来,上一个执行成功在执行下一个
3.在线安装
#apt命令
sudo apt update #列出所有可更新的软件清单命令
sudo apt upgrade #升级已安装的软件包
apt list #列出所有软件包
sudo apt install <package_name> #安装指定的软件命令
sudo apt install <package_1> <package_2> <package_3> #安装多个软件包
sudo apt update <package_name> #更新指定的软件命令
sudo apt show <package_name> #显示软件包具体信息,例如:版本号,安装大小,依赖关系
sudo apt remove <package_name> #删除软件包命令
sudo apt autoremove #清理不再使用的依赖和库文件
apt list --installed #列出所有已安装的包
apt list --all-versions #列出所有已安装的包的版本信息
#yum用法
yum check-update #列出所有可更新的软件清单命令
yum update #更新所有软件命令
yum install <package_name> #仅安装指定的软件命令
yum update <package_name> #仅更新指定的软件命令
yum list #列出所有可安裝的软件清单命令
yum remove <package_name> #删除软件包命令
yum search <keyword> #查找软件包命令
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
#清除缓存目录下的软件包及旧的 headers
2.目录及文件相关命令
cd / #切换目录,后面跟路径
cd ~ #切换到用户目录
cd .. #返回上级
ls #当前目录下文件夹及文件
ls -a #当前目录下所有文件夹及文件,包括隐藏
ls -d #仅列出目录
ls -l #显示详细信息,如创建时间、体积
pwd #打印当前路径
mkdir test #创建文件夹
mkdir -p test1/test2/test3 #依次创建文件夹
mkdir -m 711 test #创建文件夹时设置权限
rmdir test #删除空文件夹
rmdir -p tets #连同上级空文件夹一起删除
cp ~/.bashrc /tmp/bashrc #复制.bashrc到 /tmp并重命名bashrc
cp -i ~/.bashrc /tmp/bashrc #覆盖时提醒
fm test #删除
fm -i test #询问
fm -r test #递归删除,常用于目录
rm -rf #用来移除文件或者文件夹 r:递归删除 f:强制删除
touch <filename> #用来创建一个空的文件