/*creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.通过假设使用fromEncoding编码并将其转换为toEncoding,从给定的输入文件创建一个新文件*/
iconv -f fromEncoding -t toEncoding inputFile > outputFile
/*batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick) 批量调整当前目录中的文件大小,并将其发送到缩略图目录(需要从Imagemagick进行转换)*/
find .-maxdepth 1-name *.jpg -print -exec convert "{}"-resize 80x60 "thumbs/{}" \;
文件搜索
命令
说明
find / -name file1
从 ‘/’ 开始进入根文件系统搜索文件和目录
find / -user user1
搜索属于用户 ‘user1’ 的文件和目录
find /home/user1 -name
在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件
find /usr/bin -type f -atime +100
搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10
搜索在10天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}’ ;
搜索以 ‘.rpm’ 结尾的文件并定义其权限
find / -xdev -name *.rpm
搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps
寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令
whereis halt
显示一个二进制文件、源码或man的位置
which halt
显示一个二进制文件或可执行文件的完整路径
挂载文件系统
命令
说明
mount /dev/hda2 /mnt/hda2
挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在
umount /dev/hda2
卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出
fuser -km /mnt/hda2
当设备繁忙时强制卸载
umount -n /mnt/hda2
运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy
挂载一个软盘
mount /dev/cdrom /mnt/cdrom
挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder
挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder
挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom
挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5
挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk
挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
挂载一个windows网络共享
磁盘空间相关
命令
说明
df -h
显示已经挂载的分区列表
ls -lSr |more
以尺寸大小排列文件和目录
du -sh dir1
估算目录 ‘dir1’ 已经使用的磁盘空间’
du -sk * | sort -rn
以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=‘
I
n
s
t
a
l
l
e
d
−
S
i
z
e
;
10
t
{Installed-Size;10}t
Installed−Size;10t{Package}n’ | sort -k1,1n
rpm2cpio package.rpm | cpio --extract --make-directories bin
从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm
从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm
从一个rpm源码构建一个 rpm 包
YUM(Fedora, RedHat及类似系统)
命令
说明
yum install package_name
下载并安装一个rpm包
yum localinstall package_name.rpm
将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm
更新当前系统中所有安装的rpm包
yum update package_name
更新一个rpm包
yum remove package_name
删除一个rpm包
yum list
列出当前系统中安装的所有包
yum search package_name
在rpm仓库中搜寻软件包
yum clean packages
清理rpm缓存删除下载的包
yum clean headers
删除所有头文件
yum clean all
删除所有缓存的包和头文件
DEB包 (Debian, Ubuntu及类似系统)
命令
说明
dpkg -i package.deb
安装/更新一个 deb 包
dpkg -r package_name
从系统删除一个 deb 包
dpkg -l
显示系统中所有已经安装的 deb 包
dpkg -l | grep httpd
显示所有名称中包含 “httpd” 字样的deb包
dpkg -s package_name
获得已经安装在系统中一个特殊包的信息
dpkg -L package_name
显示系统中已经安装的一个deb包所提供的文件列表
dpkg --contents package.deb
显示尚未安装的一个包所提供的文件列表
dpkg -S /bin/ping
确认所给的文件由哪个deb包提供
APT软件工具 (Debian, Ubuntu及类似系统)
命令
说明
apt-get install package_name
安装/更新一个 deb 包
apt-cdrom install package_name
从光盘安装/更新一个 deb 包
apt-get update
升级列表中的软件包
apt-get upgrade
升级所有已安装的软件
apt-get remove package_name
从系统删除一个deb包
apt-get check
确认依赖的软件仓库正确
apt-get clean
从下载的软件包中清理缓存
apt-cache search searched-package
返回包含所要搜索字符串的软件包名称
查看文件内容
命令
说明
cat file1
从第一个字节开始正向查看文件的内容
tac file1
从最后一行开始反向查看一个文件的内容
more file1
查看一个长文件的内容
less file1
类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1
查看一个文件的前两行
tail -2 file1
查看一个文件的最后两行
tail -f /var/log/messages
实时查看被添加到一个文件中的内容
文本处理
/*general syntax for text manipulation using PIPE, STDIN and STDOUT 使用管道、STDIN和STDOUT进行文本操作的通用语法*/
cat file1 file2 ...| command <> file1_in.txt_or_file1_out.txt