常用命令整合

find与grep的组合使用

在当前目录下所有文件中查找内容包含 string 的文件:

     find ./ -name “*” -exec grep “string” {} \;
注意:在最后不能加 print ,否则会出错.
在当前目录下所有文件中查找内容包含 string 的文件并列出字符所在的文件:
     find ./ -name “*” -exec grep -l “string” {} \;
在当前目录下 *.c 中查找内容包含 string 的文件并列出字符所在的文件的所在行(不显示文件名):
     find ./ -name “*.c” -exec grep -n “string” {} \;
在当前目录下所有文件中查找内容包含 string 的文件并列出字符所在的文件,所在行及所在行的内容:
     find ./ -name “*” -exec grep -n “string” ./ {} \;
用find命令调用grep,如所有C源代码中的“Chinput”
    find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print
查找大于500000字节且在24小时内修改过的文件:
     find /etc -size +500000c -and -mtime+1
结合正则查找匹配文件

    ls -l | grep ´∧d´


其它常用命令

安装文件:./configure => make => make install

cat                                                          显示文件内容
head                                         输出文件头开始计算的多少行
tail                                            输出文件尾开始计算的多少行
head -20 file | tail -10                  输出文件从20行开始到倒数第10行结束的内容
uname                                      查看系统信息
stty                                          显示关于您的终端设置的信息
date                                          命令可用于显示或设置日期
du                                             磁盘信息
fdisk                                         命令是 Linux 的分区表操作命令
ps                                            命令提供了当前运行进程的快照
kill                                            终止进程
top                                           即时查看最活跃的进程
ls … | more                               逐屏显示文件内容
ls … | less                                逐屏显示文件内容,可以上下滚动
cat -n 文件名 |less                     显示文件内容
ln [options] 源文件 [链接名]    在文件之间创建链接,硬软两种方式,其中软链接相当于WINDOWS快捷方式
tar                                    解压缩文件,注意事项,格式选择要放在最前,f选择放在最后,如下面例子
tar -zxvf …      tar -jxvf …       tar -zcf …     tar -jcf
alias 别名=’命令短语’             设置命令的快捷方式
unalias 别名                        删除临时建立的命令快捷方式

touch  文件名                       建立一个新的空文件

dpkg -l |grep ii | grep packagename  查询软件是否已经安装(UBUNTU)

rpm -qa | grep -i packagename 查询软件是否已经安装

更新为正确时间:sudo ntpdate time.windows.com
查看端口: netstat -tulpn | netstat -npl
查看软件xxx安装内容: dpkg -L xxx
查找软件库中的软件: apt-cache search 正则表达式 | aptitude search 软件包
清除所有已删除包的残馀配置文件: dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
编译时缺少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
一键安装 LAMP 服务: sudo tasksel install lamp-server
查看内核: uname -a
查看Ubuntu版本: cat /etc/issue
查看CPU信息: cat /proc/cpuinfo
显示当前内存大小: free -m |grep "Mem" | awk '{print $2}'
查看系统限制: ulimit -a
查看硬盘的分区: sudo fdisk -l
查看硬盘剩余空间: df
查看当前的内存使用情况: free
连续监视内存使用情况: watch  -d free
查看当前用户程序实际内存占用,并排序: ps -u $USER -o pid,rss,cmd --sort -rss
按内存从大到小排列进程: ps -eo "%C  : %p : %z : %a"|sort -k5 -nr|less
统计程序的内存耗用: ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按cpu利用率从大到小排列进程: ps -eo "%C  : %p : %z : %a"|sort  -nr | less
动态显示进程执行情况: top
查看当前有哪些进程: ps -AFL
挂载共享文件: 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
中止一个进程: kill 进程id
强制中止一个进程:kill -9 进程id | 或者 killall -9 进程id
显示80端口现在运行什么程序: lsof -i :80
在后台运行程序,退出登录后,并不结束程序: nohup 程序 & #查看中间运行情况 tail nohup
屏蔽IPV6: echo "blacklist ipv6" | sudo tee /etc/modprobe.d/blacklist-ipv6
查看当前网络流量(需要安装:sudo apt-get install bwm-ng): bwm-ng
查看域名的注册备案情况: whois baidu.cn
根据字符串匹配来查看文件部分内容: grep 字符串 文件名
递归式创建一些嵌套目录: mkdir -pv /tmp/xxs/dsd/efd
递归式删除嵌套目录: rm -fr /tmp/xxs
对比两个文件之间的差异: diff file1 file2
把所有文件的后辍由rm改为rmvb: rename 's/.rm$/.rmvb/' *
把所有文件名中的大写改为小写: rename 'tr/A-Z/a-z/' *
查看当前目录的子目录: ls -d */ 或 echo */
回到上一次的目录: cd -
备份当前系统到另外一个硬盘: sudo rsync -Pa / /media/disk1 --exclude=/media/* --exclude=/home/* --exclude=/sys/* --exclude=/tmp/* --exclude=/proc/* --exclude=/mnt/*
使用ssh方式同步远程数据到本地目录: rsync -Pa -I --size-only --delete --timeout=300 Remote_IP:/home/ubuntu/back /backup
使用ftp方式同步远程数据到本地目录: lftp -c "open Remote_IP;user UserName Password;set cache:enable false;set ftp:passive-mode false;set net:timeout 15;mirror -e -c /back /backup;"
抓取桌面操作的视频: ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
显示隐藏文件(浏览文件时): Ctrl+h
显示地址栏(浏览文件时): Ctrl+l
桌面挂载硬盘图标:
    清除:gconftool-2 --set /apps/nautilus/desktop/volumes_visible 0 --type bool
    恢复:gconftool-2 --set /apps/nautilus/desktop/volumes_visible 1 --type bool
增加一个ppa源:
    sudo add-apt-repository ppa:user/ppa-name  
    #使用 ppa 的地址替换 ppa:user/ppa-name
从当前页面开始镜像整个网站到本地:
    wget -r -p -np -k http://www.21cn.com
    · -r:在本机建立服务器端目录结构;
    · -p: 下载显示HTML文件的所有图片;
    · -np:只下载目标站点指定目录及其子目录的内容;
    · -k: 转换非相对链接为相对链接。
使用文件来增加交换空间:
    #创建一个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
快速使用http方式共享目录:
    #进入需要共享的目录后运行:
    python -m SimpleHTTPServer
    #其它电脑使用http://ip:8000 来访问
    #自定义端口为8080:
    python -m SimpleHTTPServer 8080
关闭 1234 端口: sudo iptables -A OUTPUT -p tcp --dport 1234 -j DROP
开启 80 端口: sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
限制访问80端口的外部IP最大只有50个并发: sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP
禁止一个IP或者一个IP段访问服务器端口服务:
    #80端口 ,规则插入到前面
    sudo iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp --dport http -j DROP
    #21端口,规则插入到前面
    sudo iptables -t filter -I INPUT -s 192.168.1.23 -p tcp --dport ftp -j DROP
阻止一个IP连接本机:
    #规则位于最后
    sudo iptables -t filter -A INPUT -s 192.168.1.125 -i eth0 -j DROP
防止外网用内网IP欺骗:
    #eth0 为外网网卡
    sudo iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
    sudo iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
    sudo iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
转换文件名由GBK为UTF8:
    sudo apt-get install convmv
    convmv -r -f cp936 -t utf8 --notest --nosmart *
批量转换src目录下的所有文件内容由GBK到UTF8:
    find src -type d -exec mkdir -p utf8/{} \;
    find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} \;
    mv utf8/* src
    rm -fr utf8
转换文件内容由GBK到UTF8: iconv -f gbk -t utf8 $i > newfile
批量转换文件内容由GBK到UTF8: for i in `find . *`; do if [ -f "$i" ]; then iconv -f gb2312 -t utf8 $i > "./converted/$i" fi ; done
转换 mp3 标签编码:
    sudo apt-get install python-mutagen
    find . -iname '*.mp3' -execdir mid3iconv -e GBK {} \;
增加农历:
    sudo apt-get install lunar-applet
    鼠标点击面板右键 -> 添加到面板 -> 农历日期
忘了mysql的root口令怎么办:
    sudo /etc/init.d/mysql stop
    sudo mysqld_safe --skip-grant-tables &
    sudo mysqladmin -u user password 'newpassword
    sudo mysqladmin flush-privileges
mysql的自动备份:
    #备份 forum myweb 数据库到 /backup/mysql 目录,并删除7天之前的备份记录
    mysqldump --opt --skip-lock-tables -u root forum | gzip -9 > /backup/mysql/forum.`date +%Y%m%d`.sql.gz
    mysqldump --opt --skip-lock-tables -u root myweb | gzip -9 > /backup/mysql/myweb.`date +%Y%m%d`.sql.gz
    find /backup/mysql/ -type f -ctime +7 -exec rm {} \;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值