前言
下面的命令大都需要在 控制台 / 终端 / shell 下输入。控制台, 终端, 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制系统。
打开一个控制台:
应用程序 --> 附件SEO靠我 --> 终端
任何一个使用 sudo 作为前缀的命令都需要拥有管理员 (或 root) 访问权限。 所以你会被提示输入你自己的密码。
安装升级
查看软件xxx安装内容
dpkg -L xxx
查找软件库中的软SEO靠我件
apt-cache search 正则表达式
或
aptitude search 软件包
显示系统安装包的统计信息
apt-cache stats
显示系统全部可用包的名称
apt-cache pkgnamesSEO靠我
显示包的信息
apt-cache show k3b
查找文件属于哪个包
dpkg -S filename
apt-file search filename
查看已经安装了哪些包
dpkg -l
也可用dpkg -lSEO靠我 | less
翻页查看查询软件xxx依赖哪些包
apt-cache depends xxx
查询软件xxx被哪些包依赖
apt-cache rdepends xxx
增加一个光盘源
sudo apt-cdromSEO靠我 add
系统更新
sudo apt-get update (这一步更新包列表)
sudo apt-get dist-upgrade (这一步安装所有可用更新)
或者
sudo apt-get upgrade SEO靠我(这一步安装应用程序更新,不安装新内核等)
清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk {print $2} |sudo xargs dpkg -P
如果报如下错误,证明你的SEO靠我系统中没有残留配置文件了,无须担心。dpkg: --purge needs at least one package name argument
Type dpkg --help for help abSEO靠我out installing and deinstalling packages [*];
Use `dselect or `aptitude for user-friendly package manSEO靠我agement;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of fSEO靠我orcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for SEO靠我copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - piSEO靠我pe it through `less or `more !编译时缺少h文件的自动处理
sudo auto-apt run ./configure
查看安装软件时下载包的临时存放目录
ls /var/cacSEO靠我he/apt/archives
备份当前系统安装的所有包的列表
dpkg --get-selections | grep -v deinstall > ~/somefile
从上面备份的安装包的列表文件恢复SEO靠我所有包
dpkg --set-selections < ~/somefile
sudo dselect
清理旧版本的软件缓存
sudo apt-get autoclean
清理所有软件缓存
sudo apt-geSEO靠我t clean
删除系统不再使用的孤立软件
sudo apt-get autoremove
如果使用sudo apt-get autoremove --purge
的话会把这些孤立软件的残留配置文件也一并移除SEO靠我查看包在服务器上面的地址
apt-get -qq --print-uris download 软件包名称 | cut -d\ -f2
彻底删除Gnome
sudo apt-get --purge removSEO靠我e liborbit2
彻底删除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一键安装 LAMP 服务
sudo tasksel install lSEO靠我amp-server
删除旧内核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
导入ppa源的key值
#W: GPSEO靠我G签名验证错误: http://ppa.launchpad.net jaunty Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 5126890CDCC7AFE0
sudo SEO靠我apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替换为你需要导入的SEO靠我Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一个ppa源
sudo add-apt-repoSEO靠我sitory ppa:user/ppa-name
#使用 ppa 的地址替换 ppa:user/ppa-name
添加163镜像源
sudo add-apt-repository "deb http://mSEO靠我irrors.163.com/ubuntu/ `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repositorySEO靠我 "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-updates main restricted universe multiverse"
sSEO靠我udo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-security main restricteSEO靠我d universe multiverse"
系统升级
这里指的是版本间的升级,例如 9.04=>10.04。
使用该升级方式通常需要使用 backports 源。
sudo apt-get update
suSEO靠我do apt-get install update-manager-core
sudo do-release-upgrade
系统
查看内核
uname -a
查看系统是32位还是64位
#查看long的位数,返SEO靠我回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用uname -m
查看Ubuntu版本
lsb_reSEO靠我lease -a
或 cat /etc/lsb-release
查看内核加载的模块
lsmod
查看PCI设备
lspci
查看USB设备
lsusb#加参数 -v 可以显示USB设备的描述表(descriptorSEO靠我s)
lsusb -v
查看网卡状态
sudo apt-get install ethtool
sudo ethtool eth0
激活网卡的 Wake-on-LAN
sudo apt-get install wSEO靠我akeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
显示当前硬件信息
sudo lshw
查看内存型号
sudo dmidecode -tSEO靠我 memory
获取CPU序列号或者主板序列号
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep SeriSEO靠我al
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
显示当SEO靠我前内存大小
free -m |grep "Mem" | awk {print $2}
查看硬盘温度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
显示系统SEO靠我运行时间
uptime
查看系统限制
ulimit -a
查看内核限制
ipcs -l
查看当前屏幕分辨率
xrandr
硬盘
查看块设备
lsblk
查看硬盘的分区
sudo fdisk -l
硬盘分区
#危险!小心操作。
suSEO靠我do fdisk /dev/sda
硬盘格式化
#危险!将第一个分区格式化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sdSEO靠我a1
硬盘检查
#危险!检查第一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据
sudo fsck /dev/sda1
硬盘坏道检测
sudo badblocks -s -v -c 32 /dev/SEO靠我sdb
#得到坏的块后,使用分区工具隔离坏道。
分区挂载
sudo mount -t 文件系统类型 设备路经 访问路经
#常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区,SEO靠我 ntfs ntfs分区, smbfs windows网络共享目录, reiserfs、ext3、xfs Linux分区
#如果中文名无法显示尝试在最後增加 -o nls=utf8 或 -o iochaSEO靠我rset=utf8
#如果需要挂载後,普通用户也可以使用,在 -o 的参数後面增加 ,umask=022 如:-o nls=utf8,umask=022
分区卸载
sudo umount 目录名或设备名
只读SEO靠我挂载ntfs分区
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可写挂载ntfs分区
sudo mount -t ntfs-3g -o loSEO靠我cale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
挂载fat32分区
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sSEO靠我da1 /mnt/c
挂载共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/shareSEO靠我 /mnt/share
挂载ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
查看IDE硬盘信息
sudo hdparm -i /dev/sdSEO靠我a
查看软raid阵列信息
cat /proc/mdstat
参看硬raid阵列信息
dmesg |grep -i raid
cat /proc/scsi/scsi
查看SATA硬盘信息
sudo hdparm -SEO靠我I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盘剩余空间
df
df --help 显示帮助查看目录占用空间
du -hSEO靠我s 目录名
闪盘没法卸载
sync
fuser -km /media/闪盘卷标
使用文件来增加交换空间
#创建一个512M的交换文件 /swapfile
sudo dd if=/dev/zero of=/swapSEO靠我file bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中让系统引导时SEO靠我自动启动
/swapfile swap swap defaults 0 0
查看硬盘当前读写情况
# 首先安装 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
suSEO靠我do iostat -x 2
测试硬盘的实际写入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
进程
查看当前的内存使用情况
free
连续监视内存SEO靠我使用情况
watch -d free
# 使用 Ctrl + c 退出
动态显示进程执行情况
top
top指令运行时输入H或?打开帮助窗口,输入Q退出指令。
查看当前有哪些进程
ps -AFL
查看进程的启动时间SEO靠我
ps -A -opid,stime,etime,args
查看目前登入用户运行的程序
w
查看当前用户程序实际内存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
统计SEO靠我程序的内存耗用
ps -eo fname,rss|awk {arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}|sort -k2 -nr
按内存从大到小排SEO靠我列进程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十个最耗内存的进程
ps aux | sort -nk +4 | tail
按cpu利用率从大到小排列进程
ps SEO靠我-eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看当前进程树
pstree
中止一个进程
kill 进程号(就是ps -ASEO靠我中的第一列的数字)
或者 killall 进程名
强制中止一个进程(在上面进程中止不成功的时候使用)
kill -9 进程号
或者 killall -9 进程名
图形方式中止一个程序
xkill 出现骷髅标志的鼠SEO靠我标,点击需要中止的程序即可查看进程打开的文件
lsof -p 进程的pid
统计进程打开的文件数并排序
lsof -n|awk {print $2}|sort|uniq -c |sort -nr
显示开启文件SEO靠我abc.txt的进程
lsof abc.txt
显示22端口现在运行什么程序
lsof -i :22
显示nsd进程现在打开的文件
lsof -c nsd
在後台运行程序,退出登录後,并不结束程序
nohup 程序SEO靠我 &
#查看中间运行情况 tail nohup
在后台运行交互式程序,退出登录后,并不结束程序
sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screSEO靠我en -ls # 1656.pts-0.ubuntu (Detached)
screen -r 1656 #恢复
#热键,同时按下Ctrl和a键结束后,再按下功能键
C-a ? #显示所有键SEO靠我绑定信息
C-a w #显示所有窗口列表
C-a C-a #切换到之前显示的窗口
C-a c #创建一个新的运行shell的窗口并切换到该窗口
C-a n #切换到下一个窗口
C-a pSEO靠我 #切换到前一个窗口(与C-a n相对)
C-a 0..9 #切换到窗口0..9
C-a a #发送 C-a到当前窗口
C-a d #暂时断开screen会话
C-a k #杀掉SEO靠我当前窗口
在后台运行交互式程序,退出登录后,并不结束程序
tmux 进入后再运行其它命令
tmux attach #恢复
#热键,同时按下Ctrl和b键结束后,再按下功能键
C-b c #创建一个新的运行SEO靠我shell的窗口并切换到该窗口
C-b n #切换到下一个窗口
C-b p #切换到前一个窗口(与C-a n相对)
C-b 0..9 #切换到窗口0..9
C-b d #暂时断开SEO靠我会话
C-b & #杀掉当前窗口
详细显示程序的运行信息
strace -f -F -o outfile
增加系统最大打开文件个数
#ulimit -SHn
sudo vim /etc/security/lSEO靠我imits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
将 pam_limits.so 这一行注释去掉
重起系统SEO靠我
清除僵尸进程
ps -eal | awk { if ($2 == "Z") {print $4}} | xargs sudo kill -9
将大于120M内存的php-cgi都杀掉
ps -eo pid,SEO靠我fname,rss|grep php-cgi|grep -v grep|awk {if($3>=120000) print $1} | xargs sudo kill -9
Linux系统中如何限制用户SEO靠我进程CPU占用率
renice +10 `ps aux | awk { if ($3 > 0.8 && id -u $1 > 500) print $2}`
#或直接编辑/etc/security/limSEO靠我its.conf文件。
ADSL
配置 ADSL
sudo pppoeconf
ADSL手工拨号
sudo pon dsl-provider
激活 ADSL
sudo /etc/ppp/pppoe_on_boot
断SEO靠我开 ADSL
sudo poff
查看拨号日志
sudo plog
如何设置动态域名
#首先去 http://www.3322.org 申请一个动态域名
#然後修改 /etc/ppp/ip-up 增加拨号时更新域SEO靠我名指令
sudo vim /etc/ppp/ip-up
#在最後增加如下行
w3m -no-cookie -dump http://username:password@members.3322.org/dySEO靠我ndns/update?system=dyndns&hostname=yourdns.3322.org
网络
根据IP查网卡地址
arping IP地址
根据IP查电脑名
nmblookup -A IP地址
查看SEO靠我当前IP地址
ifconfig eth0 |awk /inet/ {split($2,x,":");print x[2]}
查看当前外网的IP地址
w3m -no-cookie -dump www.ip13SEO靠我8.com/ip2city.asp|grep -o [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}
w3m -no-cookie -dumpSEO靠我 ip.loveroot.com|grep -o [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}
curl ifconfig.me
查看当前监SEO靠我听80端口的程序
lsof -i :80
查看当前网卡的物理地址
ifconfig eth0 | head -1 | awk {print $5}
或者cat /sys/class/net/eth0/addrSEO靠我ess
同一个网卡增加第二个IP地址
#在网卡eth0上增加一个1.2.3.4的IP:
sudo ifconfig eth0:0 1.2.3.4 netmask 255.255.255.0
#删除增加的IP:SEO靠我
sudo ifconfig eth0:0 down
立即让网络支持nat
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nSEO靠我at -I POSTROUTING -j MASQUERADE
查看路由信息
netstat -rn
sudo route -n
手工增加一条路由
sudo route add -net 192.168.0.0SEO靠我 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由
sudo route del -net 192.168.0.0 netmask 255.255.255.0 gwSEO靠我 172.16.0.1
修改网卡MAC地址的方法
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然SEO靠我后改地址
sudo ifconfig eth0 up #然后启动网卡
永久改地址方法sudo gedit /etc/network/interfaces
在 iface eth0 inet static 后SEO靠我面添加一行:pre-up ifconfig eth0 hw ether 01:01:01:01:01:01
配置文件应该像如下iface eth0 inet static
pre-up ifconfig SEO靠我eth0 hw ether 01:01:01:01:01:01
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
最后是 logouSEO靠我t 或者reboot统计当前IP连接的个数
netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sorSEO靠我t -r -n
netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r -n
netstat -ntu | SEO靠我awk {print $5} | cut -d: -f1 | sort | uniq -c | sort -n
统计当前所有IP包的状态
netstat -nat|awk {print awk $NF}|SEO靠我sort|uniq -c|sort -n
统计当前20000个IP包中大于100个IP包的IP地址
tcpdump -tnn -c 20000 -i eth0 | awk -F "." {print $1SEO靠我"."$2"."$3"."$4} | sort | uniq -c | sort -nr | awk $1 > 100
屏蔽IPV6
echo "blacklist ipv6" | sudo tee /eSEO靠我tc/modprobe.d/blacklist-ipv6
察看当前网络连接状况以及程序
sudo netstat -atnp
查看网络连接状态
netstat -n | awk /^tcp/ {++S[$NFSEO靠我]} END {for(a in S) print a, S[a]}
查看当前系统所有的监听端口
nc -zv localhost 1-65535
查看网络的当前流量
#安装 ethstatus 软件
sudoSEO靠我 apt-get install ethstatus
#查看 ADSL 的速度
sudo ethstatus -i ppp0
#查看 网卡 的速度
sudo ethstatus -i eth0
#或安装 bwmSEO靠我-ng
sudo apt-get install bwm-ng
#查看当前网络流量
bwm-ng
查看域名的注册备案情况
whois baidu.cn
查看到某一个域名的路由情况
tracepath baidu.cSEO靠我n
重新从服务器获得IP地址
sudo dhclient
从当前页面开始镜像整个网站到本地
wget -r -p -np -k http://www.21cn.com
· -r:在本机建立服务器端目录结构;
· SEO靠我-p: 下载显示HTML文件的所有图片;
· -np:只下载目标站点指定目录及其子目录的内容;
· -k: 转换非相对链接为相对链接。
如何多线程下载
sudo apt-get install axel
axeSEO靠我l -n 5 http://xxx.xxx.xxx.xxx/xxx.zip
或者
lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“
如何查看HTTP头
w3SEO靠我m -dump_head http://www.example.com
或 curl --head http://www.example.com
快速使用http方式共享目录
#进入需要共享的目录后运行:
pSEO靠我ython -m SimpleHTTPServer
#其它电脑使用http://ip:8000 来访问
#自定义端口为8080:
python -m SimpleHTTPServer 8080
SSH 远程端SEO靠我口转发
ssh -v -CNgD 7070 username@sshhostipaddress
监控网络所有的tcp数据
sudo apt-get install snort #安装snort入侵检测程序
sSEO靠我udo snort -vde
监控TCP/UDP连接的流量
sudo apt-get install iftop
sudo iftop
#或
sudo apt-get install iptraf
sudo ipSEO靠我traf
扫描某个IP的端口
nc -v -w 1 192.168.1.1 -z 1-1000
iptables
防止外网用内网IP欺骗
#eth0 为外网网卡
sudo iptables -t nat -A PSEO靠我REROUTING -i eth0 -s 10.0.0.0/8 -j DROP
sudo iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -SEO靠我j DROP
sudo iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
查看nat规则
sudo iptables -t naSEO靠我t -L
查看filter规则
sudo iptables -L -n
取消nat规则
sudo iptables -t nat -F
取消filter规则
sudo iptables -F
阻止一个IP连接本机
#SEO靠我规则位于最后
sudo iptables -t filter -A INPUT -s 192.168.1.125 -i eth0 -j DROP
关闭 1234 端口
sudo iptables -A OUSEO靠我TPUT -p tcp --dport 1234 -j DROP
开启 80 端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
限制访问80端口的外SEO靠我部IP最大只有50个并发
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 --connlimit-mSEO靠我ask 32 -j DROP
禁止一个IP或者一个IP段访问服务器端口服务
#80端口 ,规则插入到前面
sudo iptables -t filter -I INPUT -s 192.168.2.0/24SEO靠我 -p tcp --dport http -j DROP
#21端口,规则插入到前面
sudo iptables -t filter -I INPUT -s 192.168.1.23 -p tcp --dSEO靠我port ftp -j DROP
安全
检查本地是否存在安全隐患
sudo apt-get install rkhunter
sudo rkhunter --checkall
如何安装杀毒软件
sudo apt-SEO靠我get install clamav
clamscan -r ~/
Linux下可以使用的商业杀毒软件
卡巴斯基(deb): http://www.kaspersky.com/productupdates?SEO靠我chapter=146274389
avast!(免费/deb): http://www.avast.com/eng/download-avast-for-linux-edition.html
小红伞(gSEO靠我z): http://www.avira.com/en/downloads/avira_antivir_professional.html
BitDefender(比特梵德/run):http://doSEO靠我wnload.bitdefender.com/SMB/Workstation_Security_and_Management/BitDefender_Antivirus_Scanner_for_UniSEO靠我ces/Unix/Current/EN_FR_BR_RO/Linux/
申请比特梵德的KEY:http://www.bitdefender.com/site/Products/ScannerLicensSEO靠我e/防止服务器被暴力破解ssh密码
sudo apt-get install denyhosts
查看系统的登录情况
last
查看所有帐号的登录情况
lastlog
服务
查看全部服务状态
service --stSEO靠我atus-all
添加一个服务
sudo update-rc.d 服务名 defaults 99
删除一个服务
sudo update-rc.d 服务名 remove
临时重启一个服务
service 服务名 rSEO靠我estart
临时关闭一个服务
service 服务名 stop
临时启动一个服务
service 服务名 start
用户管理
增加用户
sudo adduser 用户名
删除用户
sudo deluser 用户名
修SEO靠我改当前用户的密码
passwd
修改用户密码
sudo passwd 用户名
修改用户资料
sudo chfn userid
如何禁用/启用某个帐户
sudo usermod -L 用户名 #锁定用户
sudo usSEO靠我ermod -U 用户名 #解锁
或
sudo passwd -l 用户名 #锁定用户
sudo passwd -u 用户名 #解锁
增加用户到admin组,让其有sudo权限
sudo usermod -G SEO靠我admin -a 用户名
如何切换到其他帐号(需要该用户的密码)
su 用户名
如何切换到root帐号
sudo -s
sudo -i
sudo su
设置
配置默认Java环境
sudo update-alternaSEO靠我tives --config java
设置系统http代理
export http_proxy=http://xx.xx.xx.xx:xxx
设置系统https代理
export https_proxy=hSEO靠我ttp://xx.xx.xx.xx:xxx
修改系统登录信息
sudo vim /etc/motd
使用eclipse等其他自带java编译器的软件,换回sun的编译器方法
对于Java JDK6 (就是1.SEO靠我6,sun缩短Java的版本名字了):sudo update-java-alternatives -s java-6-sun
对于Java JDK1.5sudo update-java-alternatSEO靠我ives -s java-1.5.0-sun
中文
切换输入法引擎
im-switch -c
察看文件编码
enca 文件名
file 文件名
转换文件名由GBK为UTF8
sudo apt-get install SEO靠我convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *
批量转换src目录下的所有文件内容由GBK到UTF8
find src -type d -exeSEO靠我c mkdir -p utf8/{} \;
find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} \;
mv utf8/* src
rm -fSEO靠我r utf8
转换文件内容由GBK到UTF8
iconv -f gbk -t utf8 $i > newfile
批量转换文件内容由GBK到UTF8
for i in `find . *`; do if [ SEO靠我-f "$i" ]; then iconv -f gb2312 -t utf8 $i > "./converted/$i" fi ; done
转换 mp3 标签编码
sudo apt-get instaSEO靠我ll python-mutagen
find . -iname *.mp3 -execdir mid3iconv -e GBK {} \;
或者使用图形界面工具“小K”,具体请参考解决文件名mp3标签和文SEO靠我本文件内容的乱码问题控制台下显示中文
sudo apt-get install zhcon
使用时,输入zhcon即可更具体的输入:zhcon --utf8 --drv=vga
如果在/etc/zhcon.SEO靠我conf中指定了分辨率,可以去掉--drv=vga以指定的分辨率启动。
zhcon是个外挂的控制平台,也就是像US-DOS那样是额外安装的软件,装完后是需要驱动才能进去的,不然有可能死机; 当然驱动什么SEO靠我的在你sudo apt-get install zhcon的时候就已经安装了; 你所需要的是在进zhcon时要申明你所用的驱动,而zhcon在安装时,就装了3种驱动:vga,framebuffer,lSEO靠我ibggi,而我们一般都是用的第一种驱动,因为比较方便简单,而那2钟驱动.很麻烦,我也就没改过.好了说了这么多该告诉各位怎么进入zhcon了; 运行时需输入:zhcon --utf8 --drv=vgSEO靠我alftp 登录远程Windows中文FTP
lftp :~>set ftp:charset GBK
lftp :~>set file:charset UTF-8
java6 的安装和中文设置
#下面是ubuSEO靠我ntu安装标准的sun-java,安装过程中需要使用tab键切换同意其授权协议
sudo add-apt-repository "deb http://archive.canonical.com/ `lSEO靠我sb_release -c | awk {print $2}` partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-jaSEO靠我va6-plugin ttf-wqy-microhei
sudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfSEO靠我onts-core
sudo mkdir -p /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback
sudo ln -s /usr/share/fonts/truSEO靠我etype/arphic/wqy-microhei.ttc /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback
openjdk6 的安装和中文设置
sudo apSEO靠我t-get install openjdk-6-jdk ttf-wqy-microhei
#有两种解决办法,第一种关闭Java的AA
echo "export _JAVA_OPTIONS=-Dawt.usSEO靠我eSystemAAFontSettings=on" >> ~/.profile
#第二种直接修改Java字体配置
echo "allfonts.umingcn=WenQuanYi Microhei HeiSEO靠我" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties
echo "allfonts.uminghk=WenQSEO靠我uanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties
echo "allSEO靠我fonts.umingtw=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.pSEO靠我roperties
echo "allfonts.wqy-zenhei=WenQuanYi Microhei Hei" | sudo tee -a /usr/lib/jvm/java-6-openjdkSEO靠我/jre/lib/fontconfig.properties
echo "allfonts.shanheisun=WenQuanYi Microhei Hei" | sudo tee -a /usr/lSEO靠我ib/jvm/java-6-openjdk/jre/lib/fontconfig.properties
echo "filename.WenQuanYi_Microhei_Hei=/usr/share/SEO靠我fonts/truetype/wqy/wqy-microhei.ttc" | sudo tee -a /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.prSEO靠我operties
程序显示有些字大,有些小
sudo apt-get remove ttf-kochi-gothic ttf-kochi-mincho ttf-unfonts ttf-unfonts-coSEO靠我re
PDF 文件乱码
sudo apt-get install poppler-data
Flash中文乱码
sudo gedit /etc/fonts/conf.d/49-sansserif.conf
将倒SEO靠我数第四行sans-serif
改为 sans
保存即可,重启firefox
增加农历
sudo apt-get install lunar-applet
鼠标点击面板右键 -> 添加到面板 -> 农历日期
unziSEO靠我p 中文文件名乱码
sudo apt-get install p7zip-full
export LANG=zh_CN.GBK #临时在控制台修改环境为zh_CN.GBK,然后解压缩即可
7za e doSEO靠我cs.zip
ibus跟随
安装ibus-gtk即可,最好另外安装:ibus-qt4查看具体字体名称
fc-match monospace
wqy-zenhei.ttc: "WenQuanYi Zen HeiSEO靠我 Mono" "Regular"
文件管理
创建一个空文件
> file.txt
touch file.txt
一屏查看文件内容
cat 文件名
不显示以#开头的行
cat /etc/vsftpd.conf |greSEO靠我p -v ^#
分页查看文件内容
more 文件名
可控分页查看文件内容
less 文件名
带行号显示文件的内容
nl 文件名
cat -n 文件名
去除文件中的行号
cut -c 5- a.py
删除文件中的重复行
caSEO靠我t file.txt |sort -u
根据字符串匹配来查看文件部分内容
grep 字符串 文件名
显示包含或者不包含字符串的文件名
grep -l -r 字符串 路径 #显示内容包含字符串的文件名
grep SEO靠我-L -r 字符串 路径 #显示内容不包含字符串的文件名
find . -path ./cache -prune -o -name "*.php" -exec grep -l "date_cache[$SEO靠我format][lang]" {} \; #显示当前目录下不包含cache目录的所有含有“date_cache[$format][lang]”字符串的php文件。
find . -type f -namSEO靠我e \*.php -exec grep -l "info" {} \;
快速查找某个文件
whereis filename
find 目录 -name 文件名
locate 文件名 # 注意,为了得到更好的效SEO靠我果,运行前可以更新下数据库,运行 sudo updatedb 即可,但这个命令每隔一段时间会自动运行,所以不用太在意
创建两个空文件
touch file1 file2
递归式创建一些嵌套目录
mkdir -SEO靠我pv /tmp/xxs/dsd/efd
递归式删除嵌套目录
rm -fr /tmp/xxs
回当前用户的宿主目录
cd ~ # 这个是波浪线,在 Tab 键的上面
# 或者更简单的
cd
回到上一次的目录
cd - SEO靠我 # 这个是连字符,在退格键的左边两个
查看当前所在目录的绝对路经
pwd
获得文件的后缀名
echo xxx.xxx.rmvb |sed s/.*\(\..*$\)/\1/
去除文件的后缀名
echo xxx.SEO靠我xxx.rmvb |sed s/\(.*\)\..*$/\1/
列出当前目录下的所有文件,包括以.开头的隐含文件的具体参数
ls -al
或(在 Ubuntu 中)ll
移动路径下的文件并改名
mv 路径/文件SEO靠我 /新路径/新文件名
复制文件或者目录
cp -av 原文件或原目录 新文件或新目录
查看文件类型
file filename
查看文件的时间
stat filename
对比两个文件之间的差异
diff fileSEO靠我1 file2
一边比较一边编辑还是彩色的:(需要安装 Vim)vimdiff file1 file2
显示xxx文件倒数6行的内容
tail -6 xxx
让tail不停地读取最新的内容
tail -10f SEO靠我/var/log/apache2/access.log
或者tailf /var/log/apache2/access.log
查看文件中间的第五行(含)到第10行(含)的内容
sed -n 5,10p /SEO靠我var/log/apache2/access.log查找关于xxx的命令
apropos xxx
man -k xxx
通过ssh传输文件
scp -rp /path/filename username@reSEO靠我moteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
tar cvzf - /SEO靠我path/ | ssh username@remoteip "cd /some/path/; cat -> path.tar.gz" #压缩传输
tar cvzf - /path/ | ssh userSEO靠我name@remoteip "cd /some/path/; tar xvzf -" #压缩传输一个目录并解压
rsync -avh /path/to/file/or/dir user@host:/paSEO靠我th/to/dir/or/file
rsync -avh user@host:/path/to/file/or/dir /path/to/file/or/dir
把所有文件的後辍由rm改为rmvb
renaSEO靠我me s/.rm$/.rmvb/ *
把所有文件名中的大写改为小写
rename tr/A-Z/a-z/ *
删除特殊文件名的文件,如文件名:--help.txt
rm -- --help.txt 或者 rmSEO靠我 ./--help.txt
查看当前目录的子目录
ls -d */ 或 echo */
将当前目录下最近30天访问过的文件移动到上级back目录
find . -type f -atime -30 -execSEO靠我 mv {} ../back \;
查找当前目录下最近30天访问过的文件打包备份
find . -type f -atime -30 | xargs tar zrvpf backup.tar.gz
findSEO靠我 . -type f -atime -30 -print -exec tar rvpf backup.tar {} \;
显示系统服务器一小时以内的包含 xxxx 的所有邮件
find /home/ -pSEO靠我ath "*Maildir*" -type f -mmin -60|xargs -i grep -l xxxx {}
将当前目录下最近2小时到8小时之内的文件显示出来
find . -mmin +120SEO靠我 -mmin -480 -exec more {} \;
删除修改时间在30天之前的所有文件
find . -type f -mtime +30 -exec rm -v {} \;
删除访问时间在30天之前SEO靠我的所有文件
find . -type f -atime +30 -exec rm -v {} \;
查找guest用户的以avi或者rm结尾的文件并删除掉
find . -name *.avi -o -naSEO靠我me *.rm -user guest -exec rm {} \;
查找不以java和xml结尾,并7天没有使用的文件删除掉
find . ! -name *.java ! -name ‘*.xml’ SEO靠我-atime +7 -exec rm {} \;
查找目录下所有有包含abcd文字的文本文件,并替换为xyz
grep -rIl "abcd" ./* --color=never | xargs sed SEO靠我-i "s/abcd/xyz/g" #注意grep的一个参数是大写的i,一个参数是小写的L
删除当前目录里面所有的 .svn 目录
find . -name .svn -type d -exec rm -SEO靠我fr {} \;
删除当前目录所有以“~”结尾的临时文件
find . -name "*~" -exec rm {} \;
删除包含 aaa 字符串的所有文件
grep -rl "aaa" * |xargs SEO靠我rm -fv
统计当前文件个数
echo $(($(ll|wc -l)-3));
统计当前目录下所有jpg文件的尺寸
find . -name *.jpg -exec wc -c {} \;|awk {priSEO靠我nt $1}|awk {a+=$1}END{print a}
统计当前目录个数
ls -l /usr/bin|grep ^d|wc -l
统计当前目录下占空间最大的前10名文件或目录
du -sm * | sSEO靠我ort -nr | head -10
显示当前目录下2006-01-01的文件名
ls -l |grep 2006-01-01 |awk {print $8}
备份当前系统到另外一个硬盘
sudo rsyncSEO靠我 -Pa / /media/disk1 --exclude=/media/* --exclude=/home/* --exclude=/sys/* --exclude=/tmp/* --excludeSEO靠我=/proc/* --exclude=/mnt/*
使用ssh方式同步远程数据到本地目录
rsync -Pa -I --size-only --delete --timeout=300 Remote_IPSEO靠我:/home/ubuntu/back /backup
使用ftp方式同步远程数据到本地目录
lftp -c "open Remote_IP;user UserName Password;set cacheSEO靠我:enable false;set ftp:passive-mode false;set net:timeout 15;mirror -e -c /back /backup;"
去掉文件中的^M
#注意不SEO靠我要使用同样的文件名,会清空掉原文件
cat -A filename| tr -d "^M$" > newfile
或者
cat -A word|sed -e s/\^M\$//g > newfile直接修改SEO靠我文件
ex "+:%s/[Ctrl+V][Enter]//g" "+:wq" filename
或者dos2unix filename
转换Dos文本文件到Unix文本文件
tr -d \15\32 < dSEO靠我osfile.txt > unixfile.txt #dos = > unix
awk { sub("\r$", ""); print } dosfileSEO靠我.txt > unixfile.txt #dos = > unix
awk sub("$", "\r") unixfile.txt > dosfile.txt #uSEO靠我nix = > dos
转换bin/cue到iso文件
#sudo apt-get install bchunk
bchunk image.bin image.cue image
转换目录到iso文件
mkisSEO靠我ofs -o isofile.iso dirname
转换CD到iso文件
dd if=/dev/cdrom of=isofile.iso
将一个文件作为附件发到邮箱
#sudo apt-get instaSEO靠我ll mailutils sharutils
uuencode xxx.tar.gz xxx.tar.gz |mail xxx@xxx.com
(echo "hello, please see attacSEO靠我hed file"; uuencode xxx.tar.gz xxx.tar.gz)| mail xxx@xxx.com
合并多个pdf文件到一个pdf文件
#apt-get install gs pdfSEO靠我tk
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=output.pdf -dBATCH input1.pdf input2.pdf
比较两个目录里面的文件是否有SEO靠我相同
diff -r dir1 dir2
比较一个远程文件和一个本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
当SEO靠我file.log里出现Finished: SUCCESS时候就退出tail
tail -f /path/to/file.log | sed /^Finished: SUCCESS$/ q
统计py代码行数SEO靠我,不包括空行
find . -name "*.py" | xargs grep ^. | wc -l
find . \( -path *migrations* -prune -o -name *.py \SEO靠我) -type f | xargs grep ^. | wc -l
统计java代码行数,不包括空行和公共目录
find . -path ./src/java/com/xxx/common -prune SEO靠我-o -name *.java -print | xargs grep ^. | wc -l
给文件增加行号
nl HelloWorld.java > HelloWorldCode.java
影像
播放swSEO靠我f文件
安装swf解码器sudo apt-get install swfmill
如何保存串流视频(mms/rtsp)
mplayer -dumpfile dump.rm -dumpstream rstp:SEO靠我//....
批量将rmvb转为avi
#ipod touch可用
for i in *.rmvb; do mencoder -vf harddup -oac mp3lame -lameopts vbr=3SEO靠我 -ovc xvid -xvidencopts fixed_quant=4 -of avi $i -o `echo $i | sed -e s/rmvb$/avi/`; done
批量将DVD转为aviSEO靠我
for i in *.VOB; do mencoder -oac mp3lame -lameopts aq=7:vbr=2:q=6 -srate 44100 -ovc xvid -xvidencoptSEO靠我s fixed_quant=4 -of avi $i -o `echo $i | sed -e s/VOB$/avi/`; done
批量将任何格式的电影转为ogv
#sudo apt-get instaSEO靠我ll ffmpeg2theora
#firefox3.5或chrome直接支持播放,无需安装任何解码器,注意不支持rmvb,rmvb会出现a/v不同步问题
for i in *; do ffmpeg2thSEO靠我eora --optimize --deinterlace $i; done
批量将rmvb格式的电影转为ogv
#!/bin/bash
for i in *; do
mkfifo "/tmp/$i"
mencSEO靠我oder -quiet -vf harddup -ovc raw -oac pcm -o "/tmp/$i" "$i" &
ffmpeg2theora --optimize --deinterlace SEO靠我"/tmp/$i" -o "`echo $i | sed s/\(.*\)\..*$/\1/`.ogv"
rm "/tmp/$i"
done
利用gst来转换任意电影为ogv
#!/bin/bash
for iSEO靠我 in *; do
gst-launch-0.10 filesrc location="$i" ! decodebin name=demux \
{ oggmux name=mux ! filesink SEO靠我location="`echo $i | sed s/\(.*\)\..*$/\1/`.ogv" } \
{ demux. ! queue ! audioconvert ! vorbisenc ! quSEO靠我eue ! mux. } \
{ demux. ! queue ! ffmpegcolorspace ! videorate ! theoraenc ! mux. }
done批量转换任意文件为ipod SEO靠我touch使用的mp4
#!/bin/bash
#ubuntu10.04自带的mencoder由于版权问题,不支持h264编码,需要重新编译;也可以直接参考下面的压缩方法。
#sudo apt-get inSEO靠我stall mencoder mplayer
find . -name *.avi -o -name *.rm -o -name *.rmvb -o -name *.wmv -o \
-name *.voSEO靠我b -o -name *.asf -o -name *.mpg -o -name *.ts -o \
-name *.flv -o -name *.mpeg -o -name *.ogv -o -namSEO靠我e *.mov -o \
-name *.mkv -o -name *.dat | while read i; do
basename=`echo $i | sed s/\(.*\)\..*$/\1/`
fSEO靠我ont="WenQuanYi Zen Hei"if [ -f "${basename}.srt" ] ; then
cp "${basename}.srt" $$.srt
m0="-vf scale=48SEO靠我0:-10,harddup -sub $$.srt -unicode -subcp GB18030 -subfont-text-scale 3";
else
m0="-vf scale=480:-10,hSEO靠我arddup";
fi
x0="-lavfopts format=mp4 -faacopts mpeg=4:object=2:raw:br=160 -oac faac -ovc x264 -sws 9 -SEO靠我x264encopts nocabac:level_idc=30:bframes=0:global_header:threads=auto:subq=5:frameref=6:partitions=aSEO靠我ll:trellis=1:chroma_me:me=umh:bitrate=500 -of lavf -ofps 24000/1001";
mencoder $m0 -fontconfig -font SEO靠我"${font}" $x0 -o "$$.mp4" "$i"
mv "$$.mp4" "${basename}.mp4"
if [ -f "${basename}.mp4" ] ; then
rm "$i"SEO靠我
fi
done
转换任意格式的视频到H264
#!/bin/bash
#sudo apt-get install faac x264 gpac mplayer mencoder
basename=`echo $SEO靠我1 | sed s/\(.*\)\..*$/\1/`
#获得视频的长宽和帧数
mplayer -vo null -ao null -identify -frames 0 "$1" 2>/dev/null SEO靠我> video.info
FPS=`cat video.info | grep ID_VIDEO_FPS | cut -d = -f 2`
#FPS=23.976
W=`cat video.info | gSEO靠我rep ID_VIDEO_WIDTH | cut -d = -f 2`
H=`cat video.info | grep ID_VIDEO_HEIGHT | cut -d = -f 2`
WIDTH=48SEO靠我0
HEIGHT=`expr $WIDTH \* $H \/ $W`
echo $1 FPS=$FPS WIDTH=$WIDTH HEIGHT=$HEIGHT
mkfifo audio.wav video.SEO靠我yuv
faac -o audio.aac audio.wav &
mplayer -ao pcm:file=audio.wav:fast -vc null -vo null "$1"
x264 --proSEO靠我file baseline --fps $FPS -o video.264 video.yuv ${WIDTH}x${HEIGHT} &
mencoder -vf scale=$WIDTH:$HEIGHSEO靠我T,harddup,pp=fd,format=i420 -nosound -ovc raw -of rawvideo -ofps $FPS -o video.yuv "$1"
MP4Box -new -SEO靠我add video.264 -add audio.aac -fps $FPS "$basename.mp4"
rm video.info audio.aac video.264 audio.wav viSEO靠我deo.yuv
#使用方法将上面的脚本保存为 x264.sh , x264.sh xxx.avi 来进行转化。
压制DVD到H264,支持ipod
#sudo apt-get install faac x2SEO靠我64 gpac mplayer
FPS=29.970
mkfifo audio.wav
cat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTSSEO靠我_04_1.VOB | mplayer -nocorrect-pts -vo null -vc null -ao pcm:file=audio.wav:fast - &
faac audio.wav -SEO靠我o audio.aac
mkfifo video.y4m
cat VTS_01_1.VOB VTS_02_1.VOB VTS_02_2.VOB VTS_03_1.VOB VTS_04_1.VOB | mpSEO靠我layer -vo yuv4mpeg:file=video.y4m -vf scale=480:-3,harddup,pp=fd -nosound - &
x264 --profile baselineSEO靠我 --muxer mp4 --demuxer y4m video.y4m -o video.mp4
MP4Box -add video.mp4 -add audio.aac -fps $FPS videSEO靠我o.mp4
图形界面为ipod touch转mp4的方法
先确保有zenity和memcoderwget http://linuxfire.com.cn/~lily/toIpod -O ~/.gnome2SEO靠我/nautilus-scripts/toIpod && chmod +x ~/.gnome2/nautilus-scripts/toIpod
在nautilus里对视频文件点右键,选择"脚本"-"toISEO靠我pod".详情请查看出处。
转换flv到MP4
#sudo apt-get install ffmpeg
ffmpeg -i 矜持.flv -ar 22050 矜持.mp4
mencoder/mplayer SEO靠我反拉丝参数
-vf lavcdeint
合并多个 rm 文件为一个 avi 文件
mencoder -ovc lavc 1.rm -oac mp3lame -o 1.avi
mencoder -ovc lavSEO靠我c 2.rm -oac mp3lame -o 2.avi
mencoder -idx 1.avi -ovc copy -oac copy -o o1.avi
mencoder -idx 2.avi -ovSEO靠我c copy -oac copy -o o2.avi
cat o1.avi o2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -
合并视SEO靠我频到一个文件
mencoder -ovc copy -oac copy -idx -o 目标文件名 文件名1 文件名2
CD 抓轨为 mp3 (有损)
#sudo apt-get install abcdSEO靠我e
abcde -o mp3 -b
CD 抓轨为 Flac (无损)
#sudo apt-get install abcde
abcde -o flac -b
ape 转换为 flac
#sudo apt-getSEO靠我 install flac shntool iconv mac
#iconv -f GB2312 -t UTF-8 example.cue -o example_UTF-8.cue
#shntool spSEO靠我lit -t "%n.%p-%t" -f example_UTF-8.cue -o flac example.ape -d flacOutputDir#sudo apt-get install libSEO靠我av-tools
ffmpeg -i example.ape example.flac
ape/flac 转换为 mp3
#sudo apt-get install shntool iconv libav-SEO靠我tools
ffmpeg -i CDImage.ape CDImage.flac
iconv -f gbk -t utf-8 CDImage.cue | shntool split -t "%n.%p-%SEO靠我t" -o cust ext=mp3 lame --quiet - %f CDImage.flac
批量将 ape 转为 flac
find . -name "*.ape" -exec bash -c aSEO靠我vconv -i "$0" "${0/%ape/flac}" {} \;
#此命令将当前目录(包括子目录)的所有ape文件转换为flac
批量将 ape 转为 mp3
for f in *.ape; do SEO靠我gst-launch-0.10 filesrc location="$f" ! decodebin ! audioconvert ! lame vbr=0 bitrate=320 ! id3mux !SEO靠我 filesink location="${f%.ape}.mp3"; done
#需要安装 shntool
for i in *.ape; do shnconv -i ape -o "cust ext=SEO靠我mp3 lame -b 320 - %f" "$i" -d mp3OutputDir; done
批量将 ape 转为 m4a
for f in *.ape; do ffmpeg -i "$f" -acSEO靠我odec alac "${f%.ape}.m4a"; done
批量将 ape 转为 aac
for f in *.ape; do ffmpeg -i "$f" -acodec aac -strict SEO靠我experimental -ab 256k "${f%.ape}.aac"; done
批量将 flac 转为 mp3
for i in *.flac; do shnconv -i flac -o "cuSEO靠我st ext=mp3 lame -b 320 - %f" "$i" -d mp3OutputDir; done
批量将svg转为png
for i in *.svg; do inkscape $i --eSEO靠我xport-png=`echo $i | sed -e s/svg$/png/`; done
批量转换格式到mp3
#sudo apt-get install lame mplayer
for i in *SEO靠我; do base=${i%.*}; mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheaSEO靠我der:file="$i.wav" "$i" ; lame -V0 -h -b 192 -vbr-new "$i.wav" "$base.mp3"; rm -f "$i.wav" ; done
批量缩小SEO靠我图片到30%
for i in *.jpg; do convert -resize 30%x30% "$i" "sm-$i"; done
批量转换jpg到png
for i in *.jpg; do conSEO靠我vert $i `echo $i | sed -e s/jpg$/png/`; done
将文字转为图片
convert -size 200x30 xc:transparent -font /usr/shSEO靠我are/fonts/truetype/wqy/wqy-microhei.ttc -fill red -pointsize 16 -draw "text 5,15 测试中文转为图片" test.png
如SEO靠我何压缩png图片
#sudo apt-get install optipng
optipng -o7 old.png new.png
#或 sudo apt-get install pngcrush
#pngSEO靠我crush -brute old.png new.png
将多张图片合并到一个PDF文件
convert *.jpg out.pdf
批量把pdf转换为txt并格式化
sudo apt-get installSEO靠我 poppler-utils poppler-data
find ./ -name *.txt | while read i; do cat $i | awk {if ($0 ~ "^space:”) SEO靠我{printf “\n”$0} else {printf $0}}’ | sed ‘/^space:*digit:*$/d’ | sed ’s/^space:\+/ /’ | sed ’s/"/SEO靠我”/g’ > “../txt/$i”; done
转换 pdf 到 png
#sudo apt-get install imagemagick
convert -density 196 FILENAME.pSEO靠我df FILENAME.png
获取jpg的扩展信息(Exif)
identify -verbose xxx.jpg
获取视频文件 xxx.avi 的信息
mplayer -vo null -ao nullSEO靠我 -frames 0 -identify "xxx.avi" 2>/dev/null | sed -ne /^ID_/ { s/[]()|&;<>`""\\!$" []/\\&/g;p }
查看MKV视SEO靠我频文件 xxx.mkv 的信息
#sudo apt-get install mkvtoolnix
mkvinfo -v xxx.mkv抓取桌面操作的视频
ffmpeg -f x11grab -s wxga SEO靠我-r 25 -i :0.0 -sameq /tmp/out.mpg
命令行读出文本
espeak -vzh "从前有座山"
命令行抓屏
scrot -s screenshot.png
压缩
增加 7Z 压缩软件
#SEO靠我支持 7Z,ZIP,Zip64,CAB,RAR,ARJ,GZIP,BZIP2,TAR,CPIO,RPM,ISO,DEB 压缩文件格式
sudo apt-get install p7zip p7zip-fSEO靠我ull p7zip-rar
#将所有已txt结尾的文件都加入到files.7z
7z a -t7z files.7z *.txt
#解压缩files.zip
7z x files.zip
#删除 files.zSEO靠我ip中所有已bak结尾的文件
7z d -r files.zip *.bak
#列出file.7z中所有的文件信息
7z l files.7z
#测试files.zip中所有doc结尾文件的正确性
7z t -SEO靠我r files.zip *.doc
#更新files.zip中的所有doc结尾的文件(不是所有的压缩格式都支持更新这一选项)
7z u files.zip *.doc
增加 rar 格式解压和压缩支持
#解压SEO靠我
sudo apt-get install unrar
#压缩
#源里的rar包有文件名乱码问题,不建议使用。
#如果确实需要rar压缩功能,请到以下网址直接下载RAR for Linux
#http://wwSEO靠我w.rarlab.com/download.htm
增加 zip 格式解压和压缩支持
#解压
sudo apt-get install unzip
#压缩
sudo apt-get install zip
解压缩SEO靠我 xxx.tar.gz
tar -xf xxx.tar.gz
解压缩 xxx.tar.bz2
tar -xf xxx.tar.bz2
解压缩 xxx.tar.xz
tar -Jxf xxx.tar.xz
压缩aaSEO靠我a bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbb
压缩SEO靠我aaa bbb目录为xxx.tar.xz
tar -Jcvf xxx.tar.xz aaa bbb
增加 lha 支持
sudo apt-get install lha
增加解 cab 文件支持
sudo apSEO靠我t-get install cabextract
Nautilus
显示隐藏文件
Ctrl+h
显示地址栏
Ctrl+l
特殊 URI 地址
* computer:/// - 全部挂载的设备和网络
* networkSEO靠我:/// - 浏览可用的网络
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// - 可用的 windows/samba 网络资源
* x-nautilus-desktSEO靠我op:/// - 桌面项目和图标
* file:/// - 本地文件
* trash:/// - 本地回收站目录
* ftp:// - FTP 文件夹
* ssh:// - SSH 文件夹
* fonts://SEO靠我/ - 字体文件夹,可将字体文件拖到此处以完成安装
* themes:/// - 系统主题文件夹
查看已安装字体
fc-list |grep 文
获取安装的中文字体信息
文件管理器(比如nautilus)的地址SEO靠我栏里输入 ~/.fonts ,就可以查看当前用户拥有的fonts——而系统通用字体位于 /usr/share/fonts日期和时间
显示日历
cal # 显示当月日历
cal 2 2007 # 显示2007SEO靠我年2月的日历
显示农历
#sudo apt-get install lunar
date +%Y %m %d %H |xargs lunar --utf8
设置日期
date -s mm/dd/yy
设置时间
daSEO靠我te -s HH:MM
将时间写入CMOS
hwclock --systohc
查看CMOS时间
hwclock --show
读取CMOS时间
hwclock --hctosys
从服务器上同步时间
sudo ntSEO靠我pdate ntp.ubuntu.com
sudo ntpdate time.nist.gov
设置电脑的时区为上海
sudo dpkg-reconfigure tzdata
然后根据提示选择 Asia/ShSEO靠我anghai。这样在升级了 tzdata 包之后时区也是对的。XP 和 Ubuntu 相差了 8 小时的时差
#关闭UTC,将当前时间写入CMOS。
sudo sed -ie s/UTC=yes/UTC=SEO靠我no/g /etc/default/rcS
sudo hwclock --systohc
将时间截转为时间
date -d@1234567890
工作区
不同工作区间切换
Ctrl + ALT + ←
Ctrl +SEO靠我 ALT + →
或者,将滚轮鼠标放在工作区图标上滚动
控制台
指定控制台切换
Ctrl + ALT + Fn(n:1~7)
控制台下滚屏
SHIFT + pageUp/pageDown
控制台抓图
setterm SEO靠我-dump n(n:1~7)
只是支持tty1-7。没中文。没颜色代码序列。回到上一次的目录
cd –
以root的身份执行上一条命令
sudo !!
数据库
mysql的数据库存放路径
/var/lib/mysqSEO靠我l
从mysql中导出和导入数据
mysqldump 数据库名 > 文件名 #导出数据库
mysqladmin create 数据库名 #建立数据库
mysql 数据库名 < 文件名 #导入数据库
忘了mysqSEO靠我l的root口令怎么办
sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables &
sudo mysqladmin -u user SEO靠我password newpassword
sudo mysqladmin flush-privileges
修改mysql的root口令
sudo mysqladmin -u root -p passworSEO靠我d 你的新密码如何优化mysql
wget http://www.day32.com/MySQL/tuning-primer.sh
chmod +x tuning-primer.sh
./tuning-pSEO靠我rimer.sh
mysql命令行中文显示?号
mysql> set names utf8;
常用mysql管理语句
show table status; #查询表状态
show full processliSEO靠我st; #查询mysql进程
alter table site_stats engine=MyISAM; #转换表为MyISAM类型,转表锁为行锁。
show variables; #查看mysqSEO靠我l 变量
mysql的自动备份
#备份 forum myweb 数据库到 /backup/mysql 目录,并删除7天之前的备份记录
mysqldump --opt --skip-lock-tables -SEO靠我u root forum | gzip -9 > /backup/mysql/forum.`date +%Y%m%d`.sql.gz
mysqldump --opt --skip-lock-tablesSEO靠我 -u root myweb | gzip -9 > /backup/mysql/myweb.`date +%Y%m%d`.sql.gz
find /backup/mysql/ -type f -ctiSEO靠我me +7 -exec rm {} \;
控制
如何使用命令关闭显示器
xset dpms force off
设置CPU的频率
sudo apt-get install cpufrequtils
#查看cpu当SEO靠我前频率信息
sudo cpufreq-info
设置模式,对应于{最省电(最低频率),用户控制,最高或最低,正常,最大性能}
cpufreq-set -g {powersave, userspace, onSEO靠我demand, conservative, performance}
命令关机
sudo halt
sudo shutdown -h now #现在关机
定时关机
sudo shutdSEO靠我own -h 23:00 #晚上11点自动关机
sudo shutdown -h +60 #60分钟后关机
命令重启电脑
sudo reboot
sudo shutdowSEO靠我n -r now
如何修改ssh登录提示
sudo gedit /etc/motd
如何关闭ssh登录提示
sudo gedit /etc/ssh/sshd_config 修改这一行为: PrintLasSEO靠我tLog no
如何使用命令关闭笔记本的触摸板
synclient touchpadoff=1
那么开启触摸板就是:
synclient touchpadoff=0
从命令行通知桌面消息
#sudo apt-geSEO靠我t install libnotify-bin
notify-send "hello world"
统计
统计最常用的10条命令
history | awk {CMD[$2]++;count++;}END {SEO靠我 for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;} | grep -v "./" | column -c3 -s " " -t | soSEO靠我rt -nr | nl | head -n10
统计每个单词的出现频率,并排序
awk {arr[$1]+=1 }END{for(i in arr){print arr[i]"\t"i}} FILE_NASEO靠我ME | sort -rn
统计80端口的连接个数并按照从大到小排列
netstat -na|grep :80|awk {print $5}|awk -F: {print $1}|sort|uniq -cSEO靠我|sort -r -n
编辑器
vim中删除技巧
:%s/[Ctrl-v][Enter]//g 删除DOS方式的回车^M
:%s= *$== 删除行尾SEO靠我空白
:%!sort -u 删除重复行
:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf
:%s/// SEO靠我 删除多行注释
:g/^$/d 删除所有空行
:g!/^dd/d 删除不含字符串dd的行
:v/^dSEO靠我d/d 删除不含字符串dd的行
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行
:v/./.,SEO靠我/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
ndw 或 ndW 删除光标处开始SEO靠我及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd SEO靠我 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删SEO靠我除输入方式下所输入的文本。
D 删除到行尾
x,y 删除与复制包含高亮区
dl SEO靠我 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ SEO靠我 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w SEO靠我 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除SEO靠我到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B SEO靠我 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删SEO靠我除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{SEO靠我 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd SEO靠我 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,一直向前直到下一个该字样所出现的SEO靠我位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc SEO靠我 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ SEO靠我 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL SEO靠我 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工SEO靠我作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容
ci{ 删除修改光标所在的{}中的所有SEO靠我内容,change in { 的简写
ca{ 删除修改光标所在的{}中的所有内容,包括{}
ci" SEO靠我 删除修改光标所在的""中的所有内容,change in " 的简写
ca" 删除修改光标所在的""中的所有内容,包括{}
ci( SEO靠我 删除修改光标所在的()中的所有内容,change in ( 的简写
ca( 删除修改光标所在的()中的所有内容SEO靠我,包括{}
vim一个远程文件
vim scp://username@host//path/to/somefile
如何配置Emacs
打开新立得或者命令行,查找emacs, 选择你想要的版本,比如emacsSEO靠我22或者emacs21.之后的配置参考Emacs 常见问题及其解决方法
vim 如何显示彩色字符
sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /SEO靠我usr/share/vim/vimrc
让 vim 直接支持编辑 .gz 文件
sudo apt-get install vim-full
vim 如何显示行号,在~/.vimrc中加入
set numberSEO靠我
如果没有~/.vimrc文件,则可以在/etc/vim/vimrc中加入set number
vim配色方案 (~/.vimrc)
colorscheme scheme
可用的 scheme 在 /usr/SEO靠我share/vim/vim71/colors/
解决vim中文编码问题,在~/.vimrc中加入
let &termencoding=&encoding
set fileencodings=utf-8,gbSEO靠我k,ucs-bom,cp936
#再提供一个实践中觉得不错的配置:
" Encoding related
set encoding=UTF-8
set langmenu=zh_CN.UTF-8
languageSEO靠我 message zh_CN.UTF-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set fileeSEO靠我ncoding=utf-8
gedit中文乱码的解决
gsettings set org.gnome.gedit.preferences.encodings auto-detected "[GB18030SEO靠我, UTF-8, CURRENT, ISO-8859-15, UTF-16]"
编译和打包
安装通用编译环境
sudo apt-get install build-essential
通用的编译安装步骤
./cSEO靠我onfigure && make && sudo make install
如何编译安装软件 kate
sudo apt-get install apt-build
sudo apt-build instaSEO靠我ll kate
获得源代码包
sudo apt-get source mysql-server
解压缩还原源代码包
dpkg-source -x mysql-dfsg-5.1_5.1.30-1.dsc
安装编译SEO靠我打包环境
sudo apt-get build-dep mysql-server
重新编译并打包Debian化的源码
dpkg-buildpackage -rfakeroot
获得源码并重新打包
apt-getSEO靠我 source php5-cgi
#或手工下载源码后使用 dpkg-source -x php5_5.2.6.dfsg.1-3ubuntu4.1.dsc 解开源码
sudo apt-get build-SEO靠我dep php5-cgi
cd php5-5.2.6.dfsg.1
dpkg-buildpackage -rfakeroot -uc -b
给源代码打补丁
patch -p0 < mysql.patch
安装 SEO靠我gtk+ 编译环境
sudo apt-get install build-essential libgtk2.0-dev
其它
把终端加到右键菜单
sudo apt-get install nautilus-SEO靠我open-terminal
如何删除Totem电影播放机的播放历史记录
rm ~/.recently-used
清除桌面挂载硬盘图标
gconftool-2 --set /apps/nautilus/deskSEO靠我top/volumes_visible 0 --type bool
恢复:gconftool-2 --set /apps/nautilus/desktop/volumes_visible 1 --typSEO靠我e bool
如何更换gnome程序的快捷键
点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;
如果要清除该快捷键,请使用backspace
man 如何显示彩色字符
vimSEO靠我 ~/.bashrc
#增加下面的内容:
export LESS_TERMCAP_mb=$\E[01;31m
export LESS_TERMCAP_md=$\E[01;31m
export LESS_TERSEO靠我MCAP_me=$\E[0m
export LESS_TERMCAP_se=$\E[0m
export LESS_TERMCAP_so=$\E[01;44;33m
export LESS_TERMCAP_uSEO靠我e=$\E[0m
export LESS_TERMCAP_us=$\E[01;32m
#生效文件
#source .bashrc
如何在命令行删除在会话设置的启动程序
cd ~/.config/autostarSEO靠我t
rm 需要删除启动程序
如何提高wine的反应速度
sudo sed -ie /GBK/,/^}/d /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE可能造成某些SEO靠我游戏帧数降低
如何命令行刻录
mkisofs -o test.iso -Jrv -V test_disk /home/carla/
cdrecord -scanbus
scsibus1:
1,1,0 101) SEO靠我HL-DT-ST CD-RW GCE-8481B 1.04 Removable CD-ROM
cdrecord -v -eject speed=8 dev=1,1,0 test.iso
http://wwSEO靠我w.ibm.com/developerworks/cn/linux/l-cdburn/index.html
延迟抓图
gnome-screenshot -d 10 #延迟10秒抓图
gnome-screenSEO靠我shot -w -d 5 #延迟5秒抓当前激活窗口
回收站在哪里
~/.local/share/Trash/
强制清空回收站
sudo rm -fr $HOME/.local/share/Trash/fileSEO靠我s/
默认打开方式的配置文件在哪里
#全局
/etc/gnome/defaults.list
#个人
~/.local/share/applications/mimeapps.list
Firefox 的缓存目录SEO靠我在哪里
ls ~/.mozilla/firefox/*.default/Cache/
查看samba的用户
sudo pdbedit -L
增加一个用户到samba
sudo pdbedit -a usernaSEO靠我me
从samba账户中删除一个用户
sudo pdbedit -x username
显示samba账户信息
sudo pdbedit -r username
测试samba账户是否正常
smbclient -SEO靠我L 192.168.1.1 -U username -d 3
samba的数据库存在哪里
/var/lib/samba/passdb.tdb
samba用户Windows下无法登录
在Windows的运行输入SEO靠我 cmd ,进入终端,输入 net use 命令,将显示已经连接的帐号如 \\192.168.1.1\username
再输入 net use \\192.168.1.1\username /deleSEO靠我te 删除现有的共享连接,再尝试进入另外一个目录就可以正常登录了。
Pidgin 的聊天记录在哪里
~/.purple/logs/
安装PDF打印机
sudo apt-get install cups-pdfSEO靠我
#打印生成的pdf文件在 ~/PDF 文件夹里面
nvidia快速重设显示设置及配置多显示器
sudo dpkg-reconfigure xserver-xorg
sudo nvidia-xconfig
#nSEO靠我vidia-settings 用于设置分辨率和多显示器
sudo nvidia-settings
kacpid进程大量占用CPU
硬件驱动中不要激活无线网卡驱动即可替换上一条命令中的一个短语
^foo^barSEO靠我^
!!:s/foo/bar/
AMD64位系统安装免费的杀毒软件 avast!
wget http://files.avast.com/files/linux/avast4workstation_1.3.SEO靠我0-2_i386.deb
sudo dpkg --force-architecture -i avast4workstation_1.3.0-2_i386.deb
sudo apt-get installSEO靠我 ia32-libs
#然后打开 http://www.avast.com/registration-free-antivirus.php 去申请免费一年的许可证号
应用合适的字体显示尺寸
获取信息xdpySEO靠我info | grep -B1 dot
例如dimensions: 1440x900 pixels (333x212 millimeters)
resolution: 110x108 dotsSEO靠我 per inch
获取X server信息grep DPI /var/log/Xorg.0.log
例如[ 19.244] (--) NVIDIA(0): DPI set to (110, 108SEO靠我); computed from "UseEdidDpi" X config
这里设置的X DPI会被桌面的顶替,找到你自己的替换,如上的DPI从默认的96改为109。重新配置键盘类型
sudo dpkgSEO靠我-reconfigure keyboard-configuration
重新载入声卡驱动模块
有时候折腾系统突软声卡无法发声了,又不想重启系统,直接重启声卡驱动模块:pulseaudio -k && suSEO靠我do alsa force-reload
或者sudo service pulseaudio restart
网站备案号:浙ICP备17034767号-2