有些命令如果不常用,老是记不住,每每用到总还要去查,特此将一些命令记录在此:
(0)按指定时间删除文件
find target_dir -type f -mtime +3 -exec rm {} ;
-mtime -n or +n:按照文件的更改时间来查找文件, -n表示距现在n天以内, +n表示距现在n天以前
-mmin:分钟
(1)解压缩打包
解压(已打包的文件):
tar -xvzf filename.tar.gz #解压 filename.tar.gz 到当前文件夹 -C可以指定解压的目录
tar -xvjf filename.tar.bz2 #解压 filename.tar.bz2 到当前文件
tar -xvf filename.tar #解压 filename.tar 到当前文件夹(tar结尾表示没有被压缩)
xz -d filename.tar.xz #解压 filename.tar.xz 成filename.tar,在用上面的命令解压
如果要解压rar格式的压缩包,需要安装rar,ubuntu下:sudo apt-get install rar。然后解压:rar x filename.rar(注意是x不是-x)
解压(未打包的文件)
gzip -d filename.gz #解压gz格式的文件,等价于: gunzip filename.gz
bzip2 -d filename.bz2 #解压bz2格式的文件,等价于: bunzip2 filename.bz2
bzip2 -d filename.bz #解压bz格式的文件,等价于: bunzip2 filename.bz
unzip filename.zip #解压 filename.zip 到当前文件夹 -d可以指定解压的目录
unrar filename.rar #解压 filename.rar 到当前文件夹
打包(不压缩):
tar -cvf filename.tar .
打包并压缩:
tar -cvzf filename.tar.gz . #将当前目录下的文件及文件夹使用 gzip 压缩
tar -cvjf filename.tar.bz2 . #使用 bzip2 压缩
zip file.zip . #使用 zip 压缩
压缩文件:
gzip filename #使用 gzip 压缩
bzip2 -z filename #使用 bzip2 压缩
zip filename.zip fileNeedToCompress #递归压缩: -r
rar filename.rar fileNeedToCompress #使用 rar 压缩
(2)统计文件数目(不包括隐藏文件/文件夹)
ls -l | grep "^-" | wc -l #统计当前目录下文件的数目
ls -lR | grep "^-" | wc -l #统计当前目录下文件的数目,包括子目录里的
ls -l | grep "^d" | wc -l #统计当前目录下文件夹(也就是目录)的数目
ls -lR | grep "^d" | wc -l #统计当前目录下文件夹(也就是目录)的数目,包括子目录里的
(3)du & df
(区别:df可以看到已经删除的文件。删除一个文件的时候,这个文件并没有马上消失,后面系统会根据某些策略释放掉这些删除的文件)
du(disk usage):查看特定目录的空间使用情况,即递归显示当前目录及其子目录所占用的数据块。(先切换到指定目录下,或者du directoryPath。注意:所指定目录后面必须加上/)
du -sh #只显示目录总大小
du -h --max-depth=1 #列出当前目录下所有子目录的大小(一层)
du -ah --max-depth=1 #包括目录和文件
df(disk free):查看文件系统的磁盘空间使用情况
df -h #以更可读的方式显示结果
-T #显示文件系统类型信息
--total #会有一个汇总行
-t #指定要查看的文件系统
-x #排除指定的文件系统。如果有双系统(Linux+Windows),默认会显示整个磁盘的使用情况,使用-x选项,可以排除Windows,只显示Linux下磁盘空间使用情况。
(4)size
显示目标文件的各个段的大小,dec和hex分别表示义十进制和十六进制表示的三个段的总长度。
(5)
ctags –R *
gtags #需要安装 GNU GLOBAL
htags #生成HTML格式的索引文件
(6)chown 修改文件或文件夹的拥有者或者属组
chown [-R] user:group filename
-R 递归修改(如果修改的是目录,通常加上-R参数)
user和group之一可以为空,如
chown user filename
chown :group filename(等价于chgrp group filename)
(7)grep
grep '要搜索的内容' file [file2 file3 ……]
command [options] | grep ……
-i选项可以忽略大小写
-r递归搜索,通常后面跟目录名,默认显示文件名,-h可以禁止显示文件名
-v不匹配,或者叫反转匹配,即输出不包含执行内容的行
-l只显示匹配到的文件名
(8)
ps -e|grep process_name 查看并筛选跟process_name有关的进程,该进程名可以是进程的名字或者名字的一部分。
(9)rpm
RPM的主要功能是安装、卸载、升级、管理和查询软件。
rpm -qa #查询已安装的软件信息
rpm -qa | grep xxx #通常这样使用,查询与xxx相关的软件包
dpkg:
dpkg -l|grep softwareName #查看已安装软件
dpkg -i packageName.deb #安装软件
dpkg -L package # 列出与该包相关联的文件
查看已安装软件版本号(上面那条命令可以,下面这条也可以,不过需要安装sudo apt-get install apt-show-versions):
apt-show-versions –p softwareName
(10)apt-get & dpkg
apt-get remove packagename #卸载一个已安装的软件包(保留配置文档)
apt-get remove --purge packagename #卸载一个已安装的软件包(删除配置文档)
dpkg -r package #移除软件(保留配置文档)
dpkg -P package #移除软件(不保留配置文档)
apt-get autoremove packagename #删除包及其依赖的软件包
apt-get autoremove --purge packagname #删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点
apt-get autoclean #删除已卸载掉的软件的备份
apt-get clean #这个命令会把安装的软件的备份也删除(包缓存中的所有包),但是这样不会影响软件的使用。
->
apt-get update #更新源(重新获取软件包列表) apt-get upgrade #更新已安装的包
apt-get source package #下载该包的源代码
->
apt-cache dependspackagename #了解使用依赖
apt-cache rdepends packagename #是查看该包被哪些包依赖
apt-cache search package #搜索软件包
apt-cache show package #获取包的相关信息,如说明、大小、版本等
(11)需要安装sz/rz
sz:发送文件到本地
sz filename
rz:上传本地文件到服务器
rz
(12)
systemctl list-unit-files | grep mysqld
(13)
command --help
man command
man:
回车:向前滚动一行
空格:向前滚动一屏
f:向前滚动一屏
b:向后滚动一屏
q:退出