一. 文件-目录-操作:
【pwd】【查看当前工作目录的完整路径】
【ls】【列出文件夹里的内容】
【ls -a】【列出文件夹里的内容--显示隐藏文件】
【ls -l】【ll】【列出文件夹里的内容--显示文件详情】
【cd】【切换目录】
【mkdir test】【创建文件目录--单个(test)】
【mkdir test01 test02】【创建文件目录--多个(test01 test02)】
【mkdir -p test01/test02】【创建文件目录--目录树(test01/test02)】
【touch test.txt】【创建文件(test.txt)】
【rm test.txt】【删除文件--指定文件(test.txt 文件)】
【rm -rf test】【删除文件--指定目录(test目录)】
【rm -rf *.txt】【删除文件--指定类型(txt类型)】
【rmdir test】【删除空目录(test)】
【cp test.log test】【复制文件--复制文件(test.log)到指定目录(test)中】
【cp -r old/ new/】【复制目录--复制目录(old)及目录内的所有项目到指定目录(new)中】
【mv test.log test】【移动文件--把文件(test.log)移动到制定目录(test)】
【mv test01 test02】【移动目录--把目录(test01)移动到目录(test02)中】
【diff test1.log test2.log -y -W 50】【文件比较-格式输出:对文件(test01.log)和文件(test02.log)进行文件比较】
【cmp test1.txt test2.txt】【二进制文件比较--如果相同,默认返回0;如果不同,将显示不同的字节数和第一处不同的位置】
【cat test1.txt】【显示文件内容:按照标准输出单个文件(test1.txt)内容】
【cat test1.txt >> test2.txt】【追加文件内容:把文件(test1.txt)中的内容追加到文件(test2.txt)中】
【tail -n 1 test2.txt】【显示文件(test2.txt)末尾 1 行内容】
【tail -f test2.txt】【循环查看文件(test2.txt)内容】
【tail -n +1 test2.txt】【从第 1 行开始显示文件(test2.txt)内容】
【echo $PATH】【查看Linux 系统环境变量】
【ps -ef|grep svn】【查找指定进程】
【ps -ef|grep -c svn】【查找指定进程个数】
【cat test.txt | grep -f test2.txt】【从文件中读取关键词进行搜索】
【cat test.txt | grep -nf test2.txt】【从文件中读取关键词进行搜索 且显示行号】
【grep 'linux' test.txt】【从文件中查找关键词】
【grep 'linux' test.txt test2.txt】【从多个文件中查找关键词】
【find -atime -2】【查找指定时间(超找48小时内)内修改过的文件】
【find . -name "*.log】【根据关键字查找,在当前目录查找 以.log结尾的文件。 ". "代表当前目录 】
【find /opt/soft/test/ -perm 777】【按照目录或文件的权限来查找文件,查找/opt/soft/test/目录下 权限为 777的文件】
【find . -type f -name "*.log"】【按类型查找,查找当目录,以.log结尾的普通文件】
【find . -type d | sort】【查找当前所有目录并排序】
【find . -size +1000c -print】【按大小查找文件,查找当前目录大于1K的文件】
whereis -- 定位可执行文件、源代码文件、帮助文件在文件系统中的位置;速度快,不实时更新,一星期更新一次
【whereis svn】【将和 **(svn)文件相关的文件都查找出来】
【whereis -b svn】【只将二进制文件 查找出来】
【which lsmod】【查找文件、显示命令路径】
【locate pwd】【查找和pwd相关的所有文件】
【locate /etc/sh】【搜索etc目录下所有以sh开头的文件 】
【'sed'】【】
【md5sum test.txt】【计算和校验文件(test.txt)的MD5信息签名】
【ln -s log2013.log link2013】【给文件创建软链接:为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效】
【ln log2013.log ln2013】【给文件创建硬链接:为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同】
【nl -b a -n rz -w 3 log2014.log】【用 nl 列出 log2012.log 的内容,让行号前面自动补上0,统一输出格式调整为3位(-w 3)】
【more +3 log2012.log】【显示文件中从第3行起的内容】
【more +/day3 log2012.log】【从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出 】
【more -5 log2012.log】【设定每屏显示行数 】
【ls -l | more -5】【列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来】
【less log2013.log】【查看文件】
【ps -ef |less】【ps查看进程信息并通过less分页显示 】
【history | less】【查看命令历史使用记录并通过less分页显示】
【Less log2013.log log2014.log】【浏览多个文件】
【head -n 5 log2014.log】【显示文件的前n行】
【head -c 20 log2014.log】【显示文件前n个字节】
【head -c -32 log2014.log】【文件的除了最后n个字节以外的内容】
【head -n -6 log2014.log】【输出文件除了最后n行的全部内容】
二. 打包-上传-下载:
【tar -cvf log.tar log2012.log】【仅打包,不压缩!】
【tar -zcvf log.tar.gz log2012.log】【打包后,以 gzip 压缩 】
【tar -zcvf log.tar.bz2 log2012.log】【打包后,以 bzip2 压缩 】
【tar -zxvf /opt/soft/test/log.tar.gz】【解压文件】
【gzip *】【把test6目录下的每个文件压缩成.gz文件】
【gzip -dv *】【把例1中每个压缩的文件解压,并列出详细的信息】
【gzip -l *】【详细显示例1中每个压缩的文件的信息,并不解压】
【gzip -r log.tar】【压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz】
【gzip -rv test6】【递归的压缩目录】
【gzip -dr test6】【递归地解压目录】
【用SecureCRT来上传和下载文件】
三. 监控-性能-优化:
【ps -A】【显示所有进程信息】
【ps -u root】【显示指定用户信息】
【ps -ef】【显示所有进程信息,连同命令行】
【ps -ef|grep ssh】【ps 与grep 常用组合用法,查找特定进程】
【ps -l】【将目前属于您自己这次登入的 PID 与相关信息列示出来】
【ps aux】【列出目前所有的正在内存当中的程序】
【ps -axjf】【列出类似程序树的程序显示】
【ps aux | egrep '(cron|syslog)'】【列出类似程序树的程序显示】
【kill -l】【列出所有信号名称】
【kill –9 3268 】【彻底杀死进程】
【kill -9 $(ps -ef | grep peidalinux)】【kill -u peidalinux】【杀死指定用户所有进程】
【killall vi】【杀死所有同名进程】
【killall -9 bash】【把所有的登录后的shell给杀掉】
【top】【显示进程信息】
【top -c】【显示 完整命令】
【top -b】【以批处理模式显示程序信息】
【top -S】【以累积模式显示程序信息】
【top -n 2】【设置信息更新次数】
【top -d 3】【设置信息更新时间,表示更新周期为3秒】
【top -p 574】【显示指定的进程信息】
【free -m】【以MB为单位--显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略】
【free -g】【以GB为单位--显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略】
【vmstat -a 2 5】【显示活跃和非活跃内存】
【vmstat -f】【查看系统已经fork了多少次】
【vmstat -s】【查看内存使用的详细信息】
【vmstat -d】【查看磁盘的读/写】
【vmstat -m】【查看系统的slab信息】
【iostat】【显示所有设备负载情况】
【iostat 2 3】【定时显示所有信息--每隔 2秒刷新显示,且显示3次】
【iostat -t】【显示tty和Cpu信息】
【iostat -m】【以M为单位显示所有信息】
【iostat -d -k 1 1】【查看TPS和吞吐量信息】
【iostat -d -x -k 1 1】【查看设备使用率(%util)、响应时间(await)】
【 iostat -c 1 3】【查看cpu状态】
【lsof /bin/bash】【查看谁正在使用某个文件,也就是说查找某个文件相关的进程】
【lsof test/test3】【递归查看某个目录的文件信息】
【lsof |grep 'test/test3'】【不使用+D选项,遍历查看某个目录的所有文件信息的方法】
四. 网络-系统-磁盘:
【ifconfig】【显示网络设备信息(激活状态的)】
【ifconfig eth0 down】【关闭网卡】
【ifconfig eth0 up】【启动网卡】
【ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE】【修改MAC地址】
【ifconfig eth0 arp 】【开启网卡eth0 的arp协议】
【ifconfig eth0 -arp】【关闭网卡eth0 的arp协议】
【ifconfig eth0 mtu 1500】【设置最大传输单元;设置能通过的最大数据包大小为 1500 bytes】
【route -n】【显示当前路由】
【route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0】【添加网关/设置网关】
【route add -net 224.0.0.0 netmask 240.0.0.0 reject】【屏蔽一条路由】
【route del -net 224.0.0.0 netmask 240.0.0.0 reject】【删除路由记录】
【route del default gw 192.168.120.240】【删除设置默认网关】
【route add default gw 192.168.120.240】【添加设置默认网关】
【ping】【确定网络和各外部主机的状态】
【ping -b 192.168.120.1】【ping网关】
【ping -c 10 192.168.120.206】【ping指定次数】
【ping -c 10 -i 0.5 192.168.120.206】【时间间隔和次数限制的ping】
【ping -c 5
www.58.com
】【通过域名ping公网上的站点】
【ping -i 3 -s 1024 -t 255 192.168.120.206】【多参数使用】
【traceroute
www.baidu.com
】【指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置】
【traceroute -m 10
www.baidu.com
】【跳数设置】
【traceroute -n
www.baidu.com
】【显示IP地址,不查主机名】
【traceroute -p 6888
www.baidu.com
】【探测包使用的基本UDP端口设置6888】
【traceroute -q 4
www.baidu.com
】【把探测包的个数设置为值4】
【traceroute -r
www.baidu.com
】【绕过正常的路由表,直接发送到网络相连的主机】
【netstat -a】【列出所有端口】
【netstat -nu】【显示当前UDP连接状况】
【netstat -apu】【显示UDP端口号的使用情况】
【netstat -i】【显示网卡列表】
【netstat -g】【显示组播组的关系】
【netstat -s】【显示网络统计信息】
【netstat -l】【显示监听的套接口】
【netstat -n】【显示所有已建立的有效连接】
【netstat -e】【显示关于以太网的统计数据】
【netstat -r】【显示关于路由表的信息】
【netstat -at】【列出所有 tcp 端口】
【netstat -a | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'】【统计机器中网络连接各个状态个数】
【netstat -nat |awk '{print $6}'|sort|uniq -c】【把状态全都取出来后使用uniq -c统计后再进行排序】
【netstat -ap | grep ssh】【找出程序运行的端口】
【netstat -pt】【在 netstat 输出中显示 PID 和进程名称】
【netstat -anpt | grep ':16064'】【找出运行在指定端口的进程】
【ss -t -a】【显示TCP连接】
【ss -s】【显示 Sockets 摘要】
【ss -l】【列出所有打开的网络连接端口】
【ss -pl】【查看进程使用的socket】
【ss -lp | grep 3306】【找出打开套接字/端口应用程序】
【ss -u -a】【显示所有UDP Sockets】
【rcp test1 webserver1:/home/root/test3】【将当前目录下的 test1 复制到名为 webserver1的远程系统】
【rcp remote_hostname:remote_file local_fileEnter】【从远程系统复制文件:要将远程系统中的文件复制到本地目录下】
【rcp webserver1:/home/root/test2 .Enter】【将远程系统 webserver1中的 test2 复制到当前目录:】
【rcp –r local_dir remote_hostname:remote_dir Enter】【将目录复制到远程系统:要将本地目录及其文件和子目录复制到远程系统,请同时使用 rcp 和 -r(递归)选项。】
【rcp –r work webserver1:/home/root/products Enter】【要将名为 work 的子目录完整地复制到 webserver1远程计算机中的主目录下名为 products 的目录】
【rcp –r remote_hostname:remote_dir local_dir Enter】【要将远程目录及其所有文件和子目录复制到本地目录,请在以下语法中使用 rcp 和 -r(递归)选项】
【scp local_file_path
username@192.168.0.2
:remote_folder_path】【复制文件】
【scp -r local_file_path
username@192.168.0.2
:remote_folder_path】【复制目录】
【scp
username@192.168.0.2
:remote_folder_path local_file_path】【复制文件】
【scp -r
username@192.168.0.2
:remote_folder_path local_file_path】【复制目录】
【uname】【显示机器名,操作系统和内核的详细信息】
【date '+%T%n%D'】【显示时间后跳行,再显示目前日期】
【date '+%B %d'】【显示月份和日数】
【history】【命令就是历史记录。它显示了在终端中所执行过的所有命令的历史】
【lsblk】【就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备】
【man】【是系统帮助页。Man提供命令所有选项及用法的在线文档。几乎所有的命令都有它们的帮助页】
【alias】【一个系统自建的shell命令,允许你为名字比较长的或者经常使用的命令指定别名】
【hostname】【查看系统名称】
【df】【显示磁盘使用情况】
【df -i】【以inode模式来显示磁盘使用情况】
【df -t ext3】【显示指定类型磁盘】
【df -ia】【列出各文件系统的i节点使用情况】
【df -T】【列出文件系统的类型】
【du】【显示目录或者文件所占空间】
【du log2012.log】【显示指定文件所占空间】
【du scf】【查看指定目录的所占空间】
【du log30.tar.gz log31.tar.gz】【显示多个文件所占空间】
【du -s】【只显示总和的大小】
【du -h test】【方便阅读的格式显示】
【du -ah test】【文件和目录都显示】
【du -c log30.tar.gz log31.tar.gz】【显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和】
【du|sort -nr|more】【按照空间大小排序】
【du -h --max-depth=1】【输出当前目录下各个子目录所使用的空间】
五. 用户-群组-权限:
【passwd】【修改密码】
【'who'】【】
【'whoami'】【】
【'groups'】【】
【'su'】【】
【chmod a+x log2012.log】【增加文件所有用户组可执行权限】
【chmod ug+w,o-x log2012.log】【同时修改不同用户权限】
【chmod a-x log2012.log】【删除文件权限】
【chmod u=x log2012.log】【使用“=”设置权限】
【chmod -R u+x test4】【对一个目录及其子目录所有文件添加权限】
【chgrp -v bin log2012.log】【改变文件的群组属性 】
【chgrp --reference=log2012.log log2013.log】【根据指定文件改变文件的群组属性 】
【chgrp -R 100 test6】【通过群组识别码改变文件群组属性】
【chown mail:mail log2012.log】【改变拥有者和群组】
【chown root: log2012.log】【改变文件拥有者和群组】
【chown :mail log2012.log】【改变文件群组】
【chown -R -v root:mail test6】【改变指定目录以及其子目录下的所有文件的拥有者和群组 】
【sudo】【命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定】
六. 其他:
【wc test.txt】【查看文件的字节数、字数、行数】
【ls -l | wc -l】【用来统计当前目录下的文件数】
【watch -n 1 -d netstat -ant】【每隔一秒高亮显示网络链接数的变化情况】
【watch -n 1 -d 'pstree|grep http'】【每隔一秒高亮显示http链接数的变化情况】
【watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l'】【实时查看模拟攻击客户机建立起来的连接数】
【watch -d 'ls -l|grep scf'】【监测当前目录中 scf' 的文件的变化】
【watch -n 10 'cat /proc/loadavg'】【10秒一次输出系统的平均负载】
【at 5pm+3 days】【三天后的下午 5 点锺执行 /bin/ls】
【at 17:20 tomorrow】【明天17点钟,输出时间到指定文件内】
【atq】【计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务】
【atrm 7】【删除已经设置的任务】
【at -c 8】【显示已经设置的任务内容】
【* * * * * command】【每1分钟执行一次command】
【3,15 * * * * command】【每小时的第3和第15分钟执行】
【3,15 8-11 * * * command】【在上午8点到11点的第3和第15分钟执行】
【30 21 * * * /etc/init.d/smb restart】【每晚的21:30重启smb】
【45 4 1,10,22 * * /etc/init.d/smb restart】【每月1、10、22日的4 : 45重启smb】
【mount】【一个很重要的命令,用来挂载不能自动挂载的文件系统。你需要root权限挂载设备】
【clear】【清屏】
【pwd】【查看当前工作目录的完整路径】