
正文
linuxpkg命令 linux package命令
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux pkg文件如何安装
提供一个线索:PKG包是通过PKGADD来添加
命令格式:
pkgadd [ -d [device | pathname ]]
pkg_name
还有pkg-config, pkg-info等命令
相关问答
Q1: Linux安装基本命令
Linux安装基本命令大全
Linux常用命令,你还能记得多少呢?下文是我为大家准备的Linux常用命令,一起来看看吧!
安装升级
查看软件xxx安装内容
dpkg -L xxx
查找软件库中的软件
apt-cache search 正则表达式
或
aptitude search 软件包
显示系统安装包的统计信息
apt-cache stats
显示系统全部可用包的名称
apt-cache pkgnames
显示包的信息
apt-cache show k3b
查找文件属于哪个包
dpkg -S filename
apt-file search filename
查看已经安装了哪些包
dpkg -l
也可用
dpkg -l | less
翻页查看
查询软件xxx依赖哪些包
apt-cache depends xxx
查询软件xxx被哪些包依赖
apt-cache rdepends xxx
增加一个光盘源
sudo apt-cdrom add
系统更新
sudo apt-get update (这一步更新包列表)
sudo apt-get dist-upgrade (这一步安装所有可用更新)
或者
sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等)
清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
----------------------------------------------------------
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
----------------------------------------------------------
编译时缺少h文件的自动处理
sudo auto-apt run ./configure
查看安装软件时下载包的临时存放目录
ls /var/cache/apt/archives
备份当前系统安装的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
从上面备份的安装包的列表文件恢复所有包
dpkg --set-selections ~/somefile
sudo dselect
清理旧版本的软件缓存
sudo apt-get autoclean
清理所有软件缓存
sudo apt-get clean
删除系统不再使用的孤立软件
sudo apt-get autoremove
如果使用
sudo apt-get autoremove --purge
的话会把这些孤立软件的残留配置文件也一并移除
查看包在服务器上面的地址
apt-get -qq --print-uris download 软件包名称 | cut -d\' -f2
彻底删除Gnome
sudo apt-get --purge remove liborbit2
彻底删除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一键安装 LAMP 服务
sudo tasksel install lamp-server
删除旧内核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
导入ppa源的'key值
#W: GPG签名验证错误: jaunty Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替换为你需要导入的Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一个ppa源
sudo add-apt-repository ppa:user/ppa-name
#使用 ppa 的地址替换 ppa:user/ppa-name
添加163镜像源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系统升级
1 这里指的是版本间的升级,例如 9.04=10.04。
2 使用该升级方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系统
查看内核
uname -a
查看系统是32位还是64位
#查看long的位数,返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看内核加载的模块
lsmod
查看PCI设备
lspci
查看USB设备
lsusb
#加参数 -v 可以显示USB设备的描述表(descriptors)
lsusb -v
查看网卡状态
sudo apt-get install ethtool
sudo ethtool eth0
激活网卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
显示当前硬件信息
sudo lshw
查看内存型号
sudo dmidecode -t memory
获取CPU序列号或者主板序列号
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
显示当前内存大小
free -m |grep "Mem" | awk '{print $2}'
查看硬盘温度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
显示系统运行时间
uptime
查看系统限制
ulimit -a
查看内核限制
ipcs -l
查看当前屏幕分辨率
xrandr
硬盘
查看块设备
lsblk
查看硬盘的分区
sudo fdisk -l
硬盘分区
#危险!小心操作。
sudo fdisk /dev/sda
硬盘格式化
#危险!将第一个分区格式化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬盘检查
#危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据
sudo fsck /dev/sda1
硬盘坏道检测
sudo badblocks -s -v -c 32 /dev/sdb
#得到坏的块后,使用分区工具隔离坏道。
分区挂载
sudo mount -t 文件系统类型 设备路经 访问路经
#常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, smbfs windows网络共享目录, reiserfs、ext3、xfs Linux分区
#如果中文名无法显示尝试在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要挂载後,普通用户也可以使用,在 -o 的参数後面增加 ,umask=022 如:-o nls=utf8,umask=022
分区卸载
sudo umount 目录名或设备名
只读挂载ntfs分区
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可写挂载ntfs分区
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
挂载fat32分区
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
挂载共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
挂载ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
查看IDE硬盘信息
sudo hdparm -i /dev/sda
查看软raid阵列信息
cat /proc/mdstat
参看硬raid阵列信息
dmesg |grep -i raid
cat /proc/scsi/scsi
查看SATA硬盘信息
sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盘剩余空间
df
df --help 显示帮助
查看目录占用空间
du -hs 目录名
闪盘没法卸载
sync
fuser -km /media/闪盘卷标
使用文件来增加交换空间
#创建一个512M的交换文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中让系统引导时自动启动
/swapfile swap swap defaults 0 0
查看硬盘当前读写情况
# 首先安装 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
sudo iostat -x 2
测试硬盘的实际写入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
进程
查看当前的内存使用情况
free
连续监视内存使用情况
watch -d free
# 使用 Ctrl + c 退出
动态显示进程执行情况
top
top指令运行时输入H或?打开帮助窗口,输入Q退出指令。
查看当前有哪些进程
ps -AFL
查看进程的启动时间
ps -A -opid,stime,etime,args
查看目前登入用户运行的程序
w
查看当前用户程序实际内存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
统计程序的内存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按内存从大到小排列进程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十个最耗内存的进程
ps aux | sort -nk +4 | tail
按cpu利用率从大到小排列进程
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看当前进程树
pstree
中止一个进程
kill 进程号(就是ps -A中的第一列的数字)
或者 killall 进程名
强制中止一个进程(在上面进程中止不成功的时候使用)
kill -9 进程号
或者 killall -9 进程名
图形方式中止一个程序
xkill 出现骷髅标志的鼠标,点击需要中止的程序即可
查看进程打开的文件
lsof -p 进程的pid
显示开启文件abc.txt的进程
lsof abc.txt
显示22端口现在运行什么程序
lsof -i :22
显示nsd进程现在打开的文件
lsof -c nsd
在後台运行程序,退出登录後,并不结束程序
nohup 程序
#查看中间运行情况 tail nohup
在后台运行交互式程序,退出登录后,并不结束程序
sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screen -ls # 2208pxs-0.ubuntu (Detached)
screen -r 1656 #恢复
#热键,同时按下Ctrl和a键结束后,再按下功能键
C-a ? #显示所有键绑定信息
C-a w #显示所有窗口列表
C-a C-a #切换到之前显示的窗口
C-a c #创建一个新的运行shell的窗口并切换到该窗口
C-a n #切换到下一个窗口
C-a p #切换到前一个窗口(与C-a n相对)
C-a 0..9 #切换到窗口0..9
C-a a #发送 C-a到当前窗口
C-a d #暂时断开screen会话
C-a k #杀掉当前窗口
在后台运行交互式程序,退出登录后,并不结束程序
tmux 进入后再运行其它命令
tmux attach #恢复
#热键,同时按下Ctrl和b键结束后,再按下功能键
C-b c #创建一个新的运行shell的窗口并切换到该窗口
C-b n #切换到下一个窗口
C-b p #切换到前一个窗口(与C-a n相对)
C-b 0..9 #切换到窗口0..9
C-b d #暂时断开会话
C-b #杀掉当前窗口
详细显示程序的运行信息
strace -f -F -o outfile
增加系统最大打开文件个数
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
将 pam_limits.so 这一行注释去掉
重起系统
清除僵尸进程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
将大于120M内存的php-cgi都杀掉
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3=120000) print $1}' | xargs sudo kill -9
Linux系统中如何限制用户进程CPU占用率
renice +10 `ps aux | awk '{ if ($3 0.8 id -u $1 500) print $2}'`
#或直接编辑/etc/security/limits.conf文件。 ;
Q2: CMake的pkg-config模块使用
很多大型第三方框架使用Pkg-Config维护它依赖库路径、头文件路径、编译选项、链接选项等信息,文件名后缀是 .pc ,方便第三方开发者便捷地获取相关信息,例如OpenCV和Seastar,通常都是大型且复杂linuxpkg命令的第三方库
可以通过Linux的 PkgConfig 命令获取相关信息,如
pkg-config --libs --cflags seastar
CMake通过 FindPkgConfig 模块来使用获取相关信息,比较经典的写法是linuxpkg命令:
后面就可以通过 SEASTARPC_LIBRARIES 等方式获取相关编译选项和库名称等。
具体有哪些可以使用,可以参看CMake的 FindPkgConfig 模块使用.
一些细节问题可以百度一下,以上方法足够日常开发使用。
seastar.pc位于/seastar/build/release/seastar.pc,文件内容如下:
Q3: linux 常用命令要具体例子
命令很多的,一下子学了也会忘记的,只能慢慢积累,很多一般都用不上的1、文件查看和连接命令
将文件连接到一起,用“”操作将几个文件组合成一个新的文件,或者是用“”把文件追加到已存文件的后面。
语法:
cat[参数]filelist
-n或--number:由1开始对所有输出的行数进行编号
-b或--number-nonblank:和n相似,但对空行不编号
-s:遇到两行空白,替换为一行空白
-v:显示不可打印的字符
filelist:用于结合文件的可选列表。2、分屏显示命令
类似于cat,但它是每次显示一页,按空格显示下一页,按q键退出,按h〉键给出帮助信息。该命令还有搜索字符的功能。
语法
more [选项] file...
-num:指定每屏显示的行数
-d:在屏幕下面提示信息
-l:more默认遇到送纸符^L会暂停,使用该选项可以取消该功能
-f:计算实际行数
-p:不是以卷动的方式显示每页,而是先清屏再显示
-s:遇到两行空白,替换为一行空白
-u:不显示下划线
+/string:在文件中搜索字符串string,并显示字符串所在页的内容
+/num:从第num行开始显示
file用于显示的文件
3、按页显示文件。类似于more,但允许在文件中前后移动。
语法:
less [参数]文件名
-i:查询时忽略大小写。
-num:指定每页显示的行数
-pstring:在文件中搜索字符串string,并从第一个符合条件的地方开始显示
-S:当某列的内容超过显示画面的宽度时,直接将超出的部分截断舍弃,默认情况下会把超出的部分折回来显示复制、删除和移动命令
1、拷贝文件。
语法:
cp[选项]sourcedest
cp[选项]source....directory
-r递归拷贝目录
-f删除已存在的目标文件再复制
-a在备份中尽可能的保留源文件的结构和属性。
2、删除
rm [选项] name....
该命令用于逐个删除指定的文件或目录。默认清苦下,name为文件名,rm命令不删除目录,只有指定-d选项时候,才能删除目录
语法:
-f强制删除,包括只读文件,并且不给用户任何提示
-i在删除每个文件时提示用户
-r递归删除目录下的内容移动或更名文件和目录
语法:
mv [参数]源文件目标文件
-f强制复盖已有文件。
-i在复盖已有文件前提示用户。
-u在目标文件的时间比原文件新时不复盖目标文件。
-v在移动文件时输出相关信息。创建和删除目录命令
1、创建目录命令
mkdir[参数]目录名
-p如果父目录不存在,创建所有的父目录。2、删除空目录。
语法:
rmdir[参数]目录列表
-p 表示删除指定目录后,如果该目录的父目录为空,则将一并删除切换工作目录和显示目录命令
1、改变当前工作目录。
语法:
cd 目录名
如果后面不加目录名,则返回用户的根目录,此外用户必须拥有进入该目录的权限。另外cd ~ 指切换到自己的主目录,cd ../.. 可以切换到单前目录的上上目录2、显示正在工作或当前的目录名。
pwd [参数]3、列出目录中的内容。
语法:
ls [参数][目录]
-A 显示所有文件,包括隐藏文件(以“.”开头的文件,但不列出当前目录“.”和上级目录“..”
-a 显示所有文件,包括“.”和“..”目录。
-d 只列出目录名;不列出它的内容。
-l 给出文件的长列表。包括权限、所有权、大小、文件名、最后修改时间等等。
-t 按时间顺序显示
-F 在列出的文件名后以符号表示文件类型,一般文件不加符号,可执行文件“*”,目录加“/”
-R 若目录下有文件,则递归地列出目录下的文件查找与定位命令
1、查找文件或目录命令
格式
find [path....] [expression]
该命令在目录树层次中从path开始向下查找文件,将符合expression要求的文件列出来。输入命令中第一个以-、(、)、,、!开始的参数作为expression的部分,在这些符号之前的参数都被认为是要搜索的路径,在这些符号之后的才被认为是expression的部分,如果不给出path,则使用当前工作的目录,如果不给出expression,则使用-print作为预设expression
expression的参数有二三十个之多,这里只提几个常用的
-aminn 在过去n分钟内被访问过的文件
-anewerfile 比文件file更晚被访问过的文件
-atimen 在过去n天被访问过的文件
-cminn 在过去n分钟内修改过的文件
-cnewerfile 比文件file更新的文件
-ctimen 在过去n天内修改过的文件
-empty 内容为空的文件
-gidn或-groupname gid是n或是group名是name的文件
-ipathp,-pathp 路径名称符合p的文件,ipath表示忽略大小写
-namename,-inamename 文件名称符合name的文件,iname表示忽略大小写
-sizen单位 文件大小是n个单位
-type文件类型〉文件类型的含义与名利ls的选型一样
-pidn 进程id是n的文件
exp1 exp2 或者exp1 -a exp2 或者exp1 -and exp2 含义相同,表示同时满足这两个条件
!expr或者-not expr 表示expr的否定
exp1 -o exp2 或者exp1 -or exp2 表示满足其中一个条件就可以2、文件定位命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用locate [选项] search string-u 建立资料库,-u 会由根目录开始
-U 建立资料库,-U 则可以指定开始的位置。-e 将排除在寻找的范围之外。-l 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。-q 安静模式,不会显示任何错误讯息。-n 至多显示 个输出。-r 使用正规运算式 做寻找的条件。-o 指定资料库存的名称。-d 指定资料库的路径-h 显示辅助讯息-v 显示更多的讯息-V 显示程式的版本讯息连接命令
ln [选项] source dest
Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。 ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
改变文件或目录的时间命令
touch [选项] file1 [file2....]
-a 改变档案的读取时间记录。
-m 改变档案的修改时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-r 使用参考档的时间记录,与 --file 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
备份命令
tar 主选项 [辅选项] 文件或目录
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。
辅选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
tar的最基本的用法举例
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -tvf all.tar |more
这条命令是列出all.tar包中所有文件,并以分屏方式压缩和解压命令
gzip命令是用来压缩文件的。它不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。
gzip [选项] [文件名]
-c 输出并保留原文件
-d 将压缩文件解压,默认情况下为压缩
-l 显示压缩文件的压缩的提示信息
-r 递归的压缩或解压
-t,可以用来测试压缩文件的完整性。如果文件正常,gzip不会给出任何显示。如果想看到OK这两个字母,可以在测试某个文件时使用-tv参数。
-v 对每个操作的文件,显示文件名和压缩比例
unzip 命令位于/usr/bin目录中,它们和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip软件功能一样,将文件压缩成.zip文件,以节省硬盘空间,当需要的时候再将压缩文件用unzip命令解开。该命令使用权限是所有用户。
unzip [选项] [压缩文件名]
-d目录 知道解压的某个目录下,默认为当前目录
-n:解压缩时不要覆盖原有的文件。
-o:不必先询问用户,unzip执行后覆盖原有文件
-j:不处理压缩文件中原有的目录路径,把所有文件解压到同一目录
-v:察看压缩文件的内容,但不解压
-t:检查压缩文件是否正确,但不解压显示文字命令
echo [-n] 字符串〉
在屏幕上显示字符串,-n表示不换行显示日立命令
cal [选项] [[月]年]
- j 显示出给定月中的每一天是一年中的第几天(从1月1日算起)。
- y 显示出整年的日历。
-1 显示当月的日历
-3显示前一月,本月,下月的日历
-s以星期天作为一周的第一天
-m以星期一作为一周的第一天如cal 5 2006
显示2006年5月份的日历
日期时间命令
date [选项] [+FormatString] 显示日期时间
date setstring 设置日期时间
它的选项比较多,一凡在此就不一一列出来了清屏命令clear软件包管理
RPM全称是 Red Hat Package Manager(Red Hat包管理器)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件。
01、安装
rpm -i ( or --install) options file1.rpm ... fileN.rpm
-h (or --hash) 安装时输出hash记号 (``#'')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为02、删除
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
参数
pkg1 ... pkgN :要删除的软件包
详细选项
--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性
03、升级
命令格式
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
参数
file1.rpm ... fileN.rpm 软件包的名字
详细选项
-h (or --hash) 安装时输出hash记号 (``#'')
--oldpackage 允许"升级"到一个老版本
--test 只进行升级测试
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为04、查询
命令格式:
rpm -q ( or --query) options
参数:
pkg1 ... pkgN :查询已安装的软件包
详细选项
-p (or ``-'') 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
--whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
--whatrequires 查询所有需要 功能的软件包
信息选项
示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能
05、校验已安装的软件包
命令格式:
rpm -V ( or --verify, or -y) options
参数
pkg1 ... pkgN 将要校验的软件包名
软件包选项
-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包
详细选项
--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性
06、校验软件包中的文件
语法:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 软件包的文件名连接帮助命令
man command
info command 该功能比man强大,但目前只在Linux中有,其他的UNIX中没有该命令
help command
Q4: 请列出linux下安装软件的命令.
Linux安装命令小结
此外您需要定期运行这一命令以确保您的软件包列表是最新的。
apt-get install packagename——安装一个新软件包(参见下文的aptitude)
apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)
apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)
dpkg --force-all --purge packagename ——有些软件很难卸载linuxpkg命令,而且还阻止了别的软件的应用linuxpkg命令,就可以用这个linuxpkg命令,不过有点冒险。
apt-get autoremove——因为apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件。
apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。如果需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。
apt-get clean——这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
apt-get upgrade——更新所有已安装的软件包
apt-get dist-upgrade——将系统升级到新版本
apt-cache search string——在软件包列表中搜索字符串
dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果不知道软件包的全名,您可以使用“*package-name-pattern*”。
aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。
apt-cache showpkg pkgs——显示软件包信息。
apt-cache stats——查看库里有多少软件
apt-cache dumpavail——打印可用软件包列表。
apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgnames——打印软件包列表中所有软件包的名称。
dpkg -S file——这个文件属于哪个已安装软件包。
dpkg -L package——列出软件包中的所有文件。
apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须 先使用apt-get install来安装它,然后运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。
另:APT HOWTO:
Q5: 1 安装基本工具
1 常用快捷键
Ctrl+A - 将光标移动到行首
Ctrl+C - 中止当前进程
Ctrl+D - 注销终端会话
Ctrl+E - 将光标移动到行尾
Ctrl+K - 从光标删除到行尾
Ctrl+L - 清除终端
Ctrl+Z - 挂起(发送SIGTSTP到)当前进程
2 基本命令
Termux除linuxpkg命令了支持apt命令外,还在此基础上封装linuxpkg命令了pkg命令,pkg命令向下兼容apt命令.apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令:
pkg search 搜索包
pkg install 安装包
pkg uninstall 卸载包
pkg reinstall 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg shoe 显示某个包的详细信息
pkg files 显示某个包的相关文件夹路径
3 目录环境结构
~ echo $HOME
/data/data/com.termux/files/home
~ echo $PREFIX
/data/data/com.termux/files/usr
~ echo $TMPPREFIX
/data/data/com.termux/files/usr/tmp/zsh
4 更换国内源
更换Termux清华大学源,加快软件包下载速度.
1 设置默认编辑器
~ $ export EDITOR=vi
2 编辑源文件
~ $ apt edit-sources
将原来的官方源替换为
# The main termux repository:
deb [arch=all,i686] stable main
保存并退出
直接编辑源文件
上面是官方推荐的方法,其实还有更简单的方法,类似于Linux下直接去编辑源文件:
~ $ vi $PREFIX/etc/apt/sources.list
1 安装基本工具
~ $ pkg update
~ $ pkg install vim curl wget git unzip unrar
2 访问外置存储优化
termux-setup-storage
~ $ ls
storage
~ $ ls storage
dcim downloads movies music pictures shared
~ $ ls storage/downloads
3 创建QQ文件夹软连接
手机上一般经常使用手机QQ来接收文件,这里为了方便文件传输,直接在storage目录下创建软链接.
ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ
TIM
ln -s /data/data/com.termux/files/home/storage/shared/tencent/TIMfile_recv TIM
最后效果图如下:
~ $ ls
QQ TIM storage www
这样可以直接在home目录下去访问QQ文件夹,非常方便文件的传输,大大提升了工作效率.
1 管理员身份
手机没有root
利用proot工具来模拟某些需要root的环境
~ $ pkg install proot
然后终端下面输入:
~ $ termux-chroot
即可模拟root环境
在这个proot环境下面,相当于是进入了home目录,可以很方便地进行一些配置.
在管理员身份下,输入exit可回到普通用户身份。
linuxpkg命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux package命令、linuxpkg命令的信息别忘了在本站进行查找喔。







