您的位置:首页 > 运维架构 > Linux

Linux 常用基础命令

2015-10-21 09:35 579 查看
一. 文件-目录-操作: 

【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】【清屏】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux