Linux Shell常用命令总结

合集下载

Shell命令大全

Shell命令大全

Shell命令⼤全⼀、Linux下常⽤命令:⽂件与⽬录操作basename:从⽂件名中去掉路径和扩展名cd:切换当前⼯作⽬录到指定⽬录chgrp:改变⽂件所属组chmod:改变⽂件的权限chown:改变⽂件的所有者和组cp:复制⽂件或⽬录dd:复制⽂件并转换⽂件内容file:确定⽂件类型find:在指定⽬录下查找⽂件并执⾏指定的操作ln:创建⽂件链接locate/slocate:快速定位⽂件的路径ls/dir/vdir:显⽰⽬录内容mkdir:创建⽬录mv:移动或重命名⽂件pwd:显⽰当前⼯作⽬录rename:重命名⽂件rm:删除⽂件或⽬录rmdir:删除空⽬录touch:修改⽂件的时间属性updatedb:创建或更新slocate数据库whereis:显⽰指令程序、源代码和man⼿册页which:显⽰指令的绝对路径⼆、Linux下常⽤命令:备份与压缩ar:创建、修改归档⽂件和从归档⽂件中提取⽂件arj:.arj⽂件压缩指令bunzip2:压缩bzip2格式的压缩⽂件bzcat:解压缩⽂件到标准输出bzip2:创建.bz2格式的压缩⽂件bzip2recover:修复损坏的.bz2⽂件bzless/bzmore:解压缩.bz2⽂件并分屏显⽰内容compress:压缩数据⽂件cpio:存取归档包中的⽂件dump:⽂件系统备份gunzip:解压缩由gzip压缩的⽂件gzexe:压缩可执⾏程序gzip:GNU的压缩和解压缩⼯具lha:压缩和解压缩指令resotre:还原由dump备份的⽂件或⽂件系统tar:创建备份档案⽂件unarj:解压缩.arj⽂件uncompress:解压缩.Z⽂件unzip:解压缩.zip⽂件zcat:解压缩⽂件并送到标准输出zforce:强制gzip格式的⽂件加上.gz扩展名zip:压缩⽂件zipinfo:显⽰zip压缩⽂件的详细信息znew:将“.Z”⽂件转换成“.gz”⽂件三、Linux下常⽤命令:⽂本处理cat:链接⽂件并显⽰到标准输出cksum:检查和计算⽂件循环冗余校验码cmp:⽐较两个⽂件的差异col:过滤控制字符colrm:从输⼊中过滤掉指定的列comm:⽐较两个有序⽂件的不同csplit:分割⽂件cut:显⽰⽂件中每⾏的指定内容diff3:⽐较3个⽂件的不同diff:⽐较并显⽰两个⽂件的不同diffstat:根据diff指令的结果显⽰统计信息ed:⾏⽂本编辑器emacs:全屏⽂本编辑器ex:⽂本编辑器expand:将Tab转换为空⽩(Space)fmt:最优化⽂本格式fold:设置⽂件显⽰的⾏宽grep/egrep/fgrep:显⽰⽂件中匹配的⾏head:输出⽂件开头部分内容ispell:交互式拼写检查程序jed:⽂本编辑器joe:编辑⽂本⽂件join:合并两个⽂件的相同字段less:分屏查看⽂本⽂件look:显⽰⽂件中以特定字符串开头的⾏more:分屏查看⽂本⽂件od:以数字编码输出⽂件内容paste:合并⽂件的内容pico:⽂本编辑器sed:流⽂件编辑器sort:排序数据⽂件spell:拼写检查split:分割⽂件sum:计算并显⽰⽂件的校验码tac:反序显⽰⽂件内容tail:输出⽂件尾部部分内容tee:将输⼊内容复制到标准输出和指定⽂件tr:转换或删除⽂件中的字符unexpand:将空⽩(Space)转换为Tabuniq:删除⽂件中的重复⾏vi:全屏⽂本编辑器wc:计算⽂件的字节数、单词数和⾏数四、Linux下常⽤命令:shell指令alias:定义命令别名bg:将作业(或任务)放到后台运⾏bind:显⽰或设置键盘配置declare:声明shell变量dirs:显⽰shell⽬录堆栈中的记录echo:打印字符串到标准输出enable:激活与关闭shell内部命令eval:执⾏指定指令并返回结果exec:执⾏给定指令后退出登录exit:退出当前shellexport:设置与显⽰环境变量fc:编辑并执⾏历史命令fg:将后台任务(或作业)切换到前台运⾏hash:显⽰与清除指令时运⾏查询的哈希表history:显⽰与操纵历史命令jobs:显⽰shell的作业信息kill:杀死进程或作业logout:退出登录shellpopd:从shell⽬录堆栈中删除记录pushd:向shell⽬录堆栈中添加记录set:设置shell的执⾏⽅式shopt:设置控制shell⾏为变量的开关值ulimit:设置shell的资源限制umask:设置创建⽂件的权限掩码unalias:取消由alias定义的命令别名unset:删除定义的变量或函数五、Linux下常⽤命令:打印相关指令accept:接受打印请求cancel:取消打印任务disable:停⽌打印机enable:启动打印机lp:打印⽂件lpadmin:配置cups打印机和类lpc:控制打印机lpq:显⽰当前打印队列lpr:打印⽂件lprm:删除当前打印队列中的作业lpstat:显⽰CUPS的状态信息pr:打印前转换⽂本格式reject:拒绝打印请求六、Linux下常⽤命令:其他基础指令bc:实现精确计算的计算器cal:显⽰⽇历clear:清屏指令consoletype:显⽰当前使⽤的终端类型ctrlaltdel:设置热键Ctrl+Alt+Del的功能date:显⽰和设置系统⽇期时间dircolors:设置ls指令显⽰时的颜⾊eject:弹出可移动设备的介质halt:关闭计算机hostid:显⽰当前主机的数字标识hwclock:查询和设置系统硬件时钟info:读取帮助⽂档login:登录系统man:显⽰联机帮助⼿册md5sum:计算并显⽰⽂件的md5摘要信息mesg:设置终端写权限mtools:显⽰mtools软件包的指令mtoolstest:测试并显⽰mtools⼯具包的配置poweroff:关闭计算机并切断电源reboot:重新启动计算机shutdown:关闭计算机sleep:睡眠指定长的时间stat:显⽰⽂件或⽂件系统的状态talk:与其他⽤户交谈wall:向所有终端发送信息whatis:在数据库中查询关键字who:显⽰当前已登录⽤户的信息whoami:显⽰当前⽤户名write:向指定⽤户终端发送信息yes:不断输出指定字符串七、Linux下常⽤命令:⽤户管理chfn:改变⽤户的finger信息chsh:改变⽤户登录时的默认shellfinger:⽤户信息查询程序gpasswd:管理组⽂件/etc/groupgroupadd:创建组groupdel:删除组groupmod:修改组信息groups:显⽰⽤户所属的组grpck:验证组⽂件/etc/group的完整性grpconv:启⽤组的影⼦⼝令⽂件grpunconv:关闭组的影⼦⼝令⽂件logname:显⽰登录⽤户名passwd:设置⽤户密码pwck:验证⽤户⽂件密码⽂件的完整性pwconv:启⽤⽤户的影⼦⼝令⽂件pwunconv:关闭⽤户的影⼦⼝令⽂件su:切换⽤户useradd:创建⽤户userdel:删除⽤户usermod:修改⽤户的配置信息users:显⽰当前登录系统的⽤户名⼋、Linux下常⽤命令:进程管理init:进程初始化控制killall:根据名称结束进程nice:设置进程优先级nohup:以忽略挂起信号⽅式运⾏程序pgrep:基于名字查询并显⽰进程号pidof:查找正在运⾏程序的进程号pkill:向指定的进程发送信号ps:显⽰系统当前的进程状态pstree:⽤树形图显⽰进程的⽗⼦关系renice:调整进程优先级w:显⽰当前登录⽤户的相关信息watch:全屏⽅式显⽰指定命令的输出信息九、Linux下常⽤命令:磁盘与⽂件系统管理badblocks:磁盘坏块检查⼯具blockdev:从命令⾏调⽤块设备的ioctl函数chattr:改变⽂件的第2扩展⽂件系统属性convertquota:转换quota⽂件格式df:报告磁盘剩余空间情况dumpe2fs:显⽰ext2/ext3⽂件系统信息e2fsck:检查ext2/ext3⽂件系统e2image:保存ext2/ext3源数据到⽂件e2label:设置ext2/ext3⽂件系统标签edquota:编辑⽤户的磁盘空间配额fdisk:Linux下的分区⼯具findfs:查找⽂件系统fsck:检查与修复Linux⽂件系统grub:Linux下的引导加载器hdparm:调整硬盘I/O性能lilo:Linux加载器lsattr:显⽰⽂件的ext2⽂件系统属性mkbootdisk:为当前系统创建专门的引导软盘mke2fs:创建第2扩展⽂件系统mkfs:创建各种⽂件系统mkinitrd:创建初始化ram磁盘映像⽂件mkisofs:创建光盘映像⽂件mknod:创建块设备或字符设备⽂件mkswap:创建交换分区⽂件系统mktemp:创建临时⽂件mount:加载⽂件系统parted:磁盘分区管理⼯具quota:显⽰⽤户磁盘配额quotacheck:创建、检查和修复配额⽂件quotaoff:关闭⽂件系统的磁盘配额功能quotaon:打开⽂件系统的磁盘配额功能quotastat:显⽰磁盘配额状态repquota:显⽰⽂件系统磁盘配额信息报表swapoff:关闭交换空间swapon:激活交换空间sync:强制将缓存数据写⼊磁盘tune2fs:调整ext2/ext3⽂件系统的参数umount:卸载已经加载的⽂件系统⼗、Linux下常⽤命令:内核与性能depmod:处理内核可加载模块的依赖关系dmesg:显⽰内核的输出信息free:显⽰内存使⽤情况insmod:加载模块到内核iostat:报告CPU、I/O设备及分区状态ipcs:显⽰进程间通信的状态信息kernelversion:显⽰内核主版本号lsmod:显⽰已加载的模块modinfo:显⽰内核模块信息modprobe:加载内核模块并解决依赖关系mpstat:显⽰进程相关状态信息rmmod:从内核中删除模块sar:收集、显⽰和保存系统活动信息slabtop:实时显⽰内核的slab缓存信息sysctl:运⾏时修改内核参数tload:监视系统平均负载情况top:显⽰和管理系统进程uname:显⽰系统信息uptime:显⽰系统运⾏时间及平均负载vmstat:显⽰虚拟内存的状态⼗⼀、Linux下常⽤命令:X-Window系统startx:初始化X-Window会话xauth:X系统授权许可⽂件管理⼯具xhost:显⽰和配置X服务器的访问权限xinit:X-Window系统初始化程序xlsatoms:显⽰X服务器原⼦数据定义xlsclients:显⽰指定显⽰器上运⾏的X程序xlsfonts:显⽰X服务器使⽤的字体信息xset:设置X系统的⽤户偏爱属性⼗⼆、Linux下常⽤命令:系统安全chroot:以指定根⽬录运⾏指令nmap:⽹络探测⼯具和安全扫描器scp:加密的远程复制⼯具sftp:安全⽂件传输⼯具slogin:加密的远程登录⼯具ssh:加密的远程登录⼯具sudo:以另⼀个⽤户⾝份执⾏指令⼗三、Linux下常⽤命令:编程相关指令awk/gawk:模式扫描与处理语⾔expr:计算表达式的值gcc:GNU的C语⾔编译器gdb:GNU调试器ldd:显⽰共享库依赖make:⼯程编译⼯具nm:显⽰⽬标⽂件的符号表perl:perl语⾔的命令⾏⼯具php:PHP脚本语⾔命令⾏接⼝test:条件测试⼗四、Linux下常⽤命令:其他系统管理与维护指令arch:显⽰当前主机的硬件架构at:按照时间安排任务的执⾏atq:查询待执⾏的任务atrm:删除待执⾏的任务batch:在指定时间运⾏任务chkconfig:设置系统在不同运⾏等级下所执⾏的服务crontab:按照时间设置计划任务last:显⽰以前登录过系统的⽤户相关信息lastb:显⽰登录系统失败的⽤户相关信息logrotate:系统⽇志的轮循⼯具logsave:将命令的输出信息保存到⽇志⽂件logwatch:报告和分析系统⽇志lsusb:显⽰所有的USB设备patch:补丁与更新⽂件rpm:Red Hat软件包管理器runlevel:显⽰当前系统的运⾏等级service:Linux服务管理和控制⼯具telinit:切换当前系统的运⾏等级yum:RPM软件包⾃动化管理⼯具⼗五、Linux下常⽤命令:⽹络配置dnsdomainname:显⽰系统的DNS域名domainname:显⽰和设置主机域名hostname:显⽰或者设置系统主机名ifcfg:配置⽹络接⼝ifconfig:配置⽹络接⼝的⽹络参数ifdown:关闭指定⽹络接⼝ifup:启动指定⽹络接⼝nisdomainname:显⽰和设置主机域名route:显⽰与操纵本机的IP路由表ypdomainname:显⽰和设置主机域名⼗六、Linux下常⽤命令:⽹络测试与应⽤arp:管理本机arp缓冲区arping:向相邻主机发送ARP请求报⽂arpwatch:监听⽹络上的ARP信息dig:域名查询⼯具elinks:纯⽂本⽹页浏览器elm:电⼦邮件客户端程序ftp:⽂件传输协议客户端host:DNS域名查询⼯具ipcalc:IP地址计算器lynx:纯⽂本⽹页浏览器mail:电⼦邮件管理程序ncftp:增强的FTP客户端⼯具netstat:显⽰⽹络状态nslookup:DNS域名查询⼯具pine:电⼦邮件和新闻组处理程序ping:测试到达⽬标主机的⽹络是否通畅rsh:远程shelltelnet:远程登录⼯具tftp:简单⽂件传输协议客户端tracepath:追踪数据经过的路由traceroute:追踪数据包到达⽬的主机经过的路由wget:从指定URL地址下载⽂件⼗七、Linux下常⽤命令:⾼级⽹络指令arptables:管理内核的ARP规则表ip:强⼤的多功能⽹络配置⼯具iptables:IP包过滤与NAT管理⼯具iptables-save:保存内核中iptables的配置iptables-restore:还原iptables的配置信息tcpdump:监听⽹络流量⼗⼋、Linux下常⽤命令:⽹络服务器指令ab:Web服务器性能测试apachectl:Apache HTTP服务器控制接⼝exportfs:管理NFS服务器共享的⽂件系统htdigest:管理⽤于摘要认证的⽤户⽂件htpasswd:管理⽤于基本认证的⽤户⽂件httpd:Apache超⽂本传输协议服务器mailq:显⽰待发送的邮件队列mysql:MySQL服务器的客户端⼯具mysqladmin:MySQL服务器管理⼯具msqldump:MySQL服务器备份⼯具mysqlimport:MySQL数据库导⼊⼯具mysqlshow:显⽰MySQL数据库、表和字段信息nfsstat:显⽰⽹络⽂件系统状态sendmail:电⼦邮件传送代理程序showmount:显⽰NFS服务器上的加载信息smbclient:samba服务器客户端⼯具smbmount:加载samba⽂件系统smbpasswd:改变samba⽤户的密码squid:HTTP代理服务器程序sshd:OpenSSH守护进程。

linux常用100个命令

linux常用100个命令

linux常用100个命令以下是常用的100个Linux命令:1. ls - 列出当前目录中的文件和文件夹2. cd - 改变当前工作目录3. pwd - 显示当前工作目录的路径4. mkdir - 创建一个新的目录5. rmdir - 删除一个空的目录6. touch - 创建一个新的空文件7. cp - 复制文件或目录8. mv - 移动或重命名文件或目录9. rm - 删除文件或目录10. cat - 显示文件内容11. less - 逐行显示文件内容12. head - 显示文件的前几行内容13. tail - 显示文件的后几行内容14. grep - 在文件中搜索匹配的文本15. find - 在文件系统中搜索文件16. chmod - 改变文件或目录的权限17. chown - 改变文件或目录的所有者18. chgrp - 改变文件或目录的所属组19. du - 显示目录或文件的磁盘使用情况20. df - 显示文件系统的磁盘使用情况21. file - 显示文件的类型22. ln - 创建一个硬链接或符号链接23. mount - 挂载文件系统24. umount - 卸载文件系统25. tar - 创建或解压归档文件26. gzip - 压缩文件27. gunzip - 解压缩文件28. wget - 下载文件29. curl - 通过URL获取或发送数据30. ssh - 远程登录到另一台计算机31. scp - 在本地主机和远程主机之间复制文件32. ping - 测试与另一台计算机的连接33. ifconfig - 显示或配置网络接口34. netstat - 显示网络连接、路由表等信息35. iptables - 配置防火墙规则36. ps - 显示当前运行的进程37. top - 显示系统中运行的进程和资源使用情况38. kill - 终止正在运行的进程39. service - 启动、停止或重启系统服务40. systemctl - 管理系统服务41. uname - 显示系统信息42. date - 显示或设置系统时间和日期43. history - 显示或搜索命令历史记录44. which - 显示可执行文件的路径45. echo - 显示文本或变量的值46. export - 设置环境变量47. source - 执行一个脚本文件48. alias - 创建命令别名49. sed - 流编辑器,用于文件内容的替换和修改50. awk - 文本处理工具,用于提取和处理文本数据51. sort - 对文本进行排序52. uniq - 删除重复的行53. diff - 比较两个文件的差异54. tr - 替换、删除或压缩字符55. cut - 从文本中提取字段56. paste - 将多个文件的行合并成一行57. join - 根据共同的字段将两个文件合并58. split - 将文件分割成多个较小的文件59. grep -v - 显示不匹配的文本行60. grep -c - 统计匹配的文本行数61. grep -i - 忽略大小写进行匹配62. grep -r - 递归地搜索目录中的文件63. grep -w - 匹配整个单词而不是部分匹配64. grep -A - 显示匹配行及其后面的几行65. grep -B - 显示匹配行及其前面的几行66. grep -C - 显示匹配行及其前后的几行67. awk '{print $1}' - 打印每行的第一个字段68. awk '{print $NF}' - 打印每行的最后一个字段69. awk '/pattern/{print}' - 打印匹配模式的行70. awk '/pattern/{print $2}' - 打印匹配模式的第二个字段71. awk '{sum+=$1} END {print sum}' - 计算第一列的总和72. awk '{if ($1 > 10) print}' - 打印第一列大于10的行73. awk '{if ($1 > 10) print $2}' - 打印第一列大于10的第二个字段74. awk '{print NR, $0}' - 打印行号和整行内容75. awk '{for (i=1; i<=NF; i++) print $i}' - 打印每个字段76. sed 's/pattern/replace/' - 替换匹配的文本77. sed '/pattern/d' - 删除匹配的文本行78. sed '/pattern/s/old/new/' - 在匹配的文本行中替换文本79. sed '/pattern/!d' - 删除不匹配的文本行80. sed '1d' - 删除第一行81. sed '$d' - 删除最后一行82. sed -n '1,5p' - 打印前5行83. sed -n '5,$p' - 打印从第5行到最后一行84. sed -n '/pattern/p' - 打印匹配的文本行85. sed -n '/pattern/{p;q;}' - 打印匹配的文本行并退出86. sort -n - 对数字进行排序87. sort -r - 逆序排序88. sort -u - 去除重复的行89. sort -k2 - 按第二个字段进行排序90. sort -t',' -k2 - 使用逗号作为分隔符,按第二个字段进行排序91. uniq -c - 统计重复的行数92. uniq -d - 只显示重复的行93. uniq -u - 只显示不重复的行94. diff -u - 显示详细的差异95. diff -r - 递归比较目录中的文件96. tr 'a-z' 'A-Z' - 将小写字母转换为大写字母97. tr -d '[:digit:]' - 删除所有数字98. tr -s ' ' - 合并连续的空格为一个空格99. cut -d',' -f1 - 使用逗号作为分隔符,打印第一个字段100. cut -c1-5 - 打印每行的前五个字符这些命令是Linux中最常用的命令之一,可以帮助您在终端中进行文件和文本处理、系统管理、网络配置等操作。

linux-实验指导手册-常用命令

linux-实验指导手册-常用命令

实验一Linux常用命令(一)1、Shell环境和Shell命令格式如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。

方法:桌面:右键菜单-Terminal(终端);或:主菜单-系统工具-Terminal(终端)。

命令格式:command [-option(s)] [option argument(s)] [command argument(s)]步骤1:使用who命令步骤2:使用date命令步骤3:使用上下健提取历史命令who,执行。

2、文件系统操作命令(1)改变目录命令:cd 目标目录路径步骤1:使用绝对路径依次进入Linux根目录下的所有子目录。

例如:cd /usr/bin步骤2:使用绝对路径依次进入用户目录。

步骤3:使用相对路径进入子目录1)使用绝对路径进入/lib目录2)使用相对路径进入/lib/i868目录3)使用相对路径退回到/lib目录(2)列出并观察目录中的文件步骤1:进入任意目录,使用无参数ls命令列出并观察其中所有文件;步骤2:进入任意目录,使用通配符列出其中部分文件;例如:cd /binls c*步骤3:使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。

步骤4:直接列出子目录中的文件。

例如:ls i868步骤5:仅列出子目录本身(-d)步骤6:使用-F选项,显示文件类型标志。

步骤7:使用-a或-A选项,观察结果有什么变化。

步骤8:综合使用以上选项。

(3)目录的创建与删除步骤1:在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。

mkdir tmp步骤2:删除该目录rmdir tmp步骤3:在根目录中,使用绝对路径在用户命令中创建一个子目录。

mkdir ~/tmp步骤4:删除该目录rmdir ~/tmp步骤5:使用-p参数一次创建多级目录。

如:mkdir ~/tmp/dir1步骤6:使用-p参数删除多级目录。

如:cd ~rmdir tmp/dir1(4)文件和目录拷贝命令:cp步骤1:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中mkdir ~/tmpcp /usr/include/signal.h ~/tmp步骤2:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中,并改变其文件名。

Linux之BASH和SHELL学习总结

Linux之BASH和SHELL学习总结

Bourne Again SHell (简称 bash)功能:1、命令编修能力 .bash_history文件2、命令与档案补全能力 Tab键[Tab] 接在一串指令的第一个字的后面,则为命令补全;[Tab] 接在一串指令的第二个字以后时,则为『档案补齐』!3、命令别名设定,指令: alias ---alias lm='ls -al',在.bash_profile文件里4、工作控制、前景背景控制: (job control, foreground, background)-----------------------???????????不懂5、程序化脚本: (shell scripts)6、通配符(Wildcard)bash内建命令 type type [-tpa] name,产看命令是否是bash内建命令,还是外部命令。

命令多行输入反斜杠'\' 然后紧接回车。

变量取用 echo $variable变量设定规则1、等号连接,等号两边没有空格;2、变量名只能是字母和数字,变量名开头不能为数字;3、发量内容若有空格符可使用双引号『"』或单引号『'』将发量内容结合起来,但双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:『var="lang is $LANG"』则『echo $var』可得『lang is en_US』单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』;4.可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符;5、在一串指令中,还需要藉由其他的指令提供的信息,可以使用反单引号『`指令`』或『$(指令)』。

特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号!例如想要取得核心版本的设定:『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』;6、若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如下所示:『PATH="$PATH":/home/bin』7、若该变量需要在其他子程序执行,则需要以 export 来使变量变成环境变量:『export PATH』8、通常大写字符为系统默认变量,自行讴定变量可以使用小写字符,方便判断 (纯粹依照使用者兴趣与嗜好) ;9、取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的设定:『unset myname』获取版本信息 uname -r查看环境变量 env查看当前shell环境下所有环境变量,set 查看所有变量(包括环境变量和自定义变量),两者区别为该变量是否可以被子程序所继续引用。

shell脚本常用命令

shell脚本常用命令

shell脚本常⽤命令shell基本命令1.#!/bin/sh是指此脚本使⽤/bin/sh来解释执⾏。

解释:#! 是⼀个约定的标记,它告诉系统这个脚本需要什么解释器来执⾏,即使⽤哪⼀种 Shell。

2.echo 命令⽤于向窗⼝输出⽂本。

举例:echo "Hello World !"3.your_name="qinjx"赋值变量echo ${your_name}打印变量;使⽤变量的时候加括号和美元符4.chmod +x ./test.sh #使脚本具有执⾏权限./test.sh #执⾏脚本chmod 777 /tmp -R 意思是把tmp⽂件夹及其⼦bai⽂件夹的权限全部修改为777解释语句⼀:ping -c 5 > /dev/null 2>&11. ping -c 5 -c<完成次数>:设置完成要求回应的次数;2. >/dev/null这条命令的作⽤是将标准输出1重定向到/dev/null中。

/dev/null代表linux的空设备⽂件,所有往这个⽂件⾥⾯写⼊的内容都会丢失,俗称“⿊洞”。

那么执⾏了>/dev/null之后,标准输出就会不再存在,没有任何地⽅能够找到输出的内容。

3. 2>&1这条命令⽤到了重定向绑定,采⽤&可以将两个输出绑定在⼀起。

这条命令的作⽤是错误输出将和标准输出同⽤⼀个⽂件描述符,说⼈话就是错误输出将会和标准输出输出到同⼀个地⽅。

linux在执⾏shell命令之前,就会确定好所有的输⼊输出位置,并且从左到右依次执⾏重定向的命令,所以>/dev/null 2>&1的作⽤就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重⽤了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。

执⾏了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到⽂件中。

xshell操作linux系统的常用命令

xshell操作linux系统的常用命令

xshell操作linux系统的常用命令实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。

接下来是小编为大家收集的xshell操作linux系统的常用命令,希望能帮到大家。

xshell操作linux系统的常用命令(1)命令ls——列出文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出当前目录下以.doc结尾的所有文件(2)命令cp——复制文件cp afile afile.bak 把文件复制为新文件afile.bakcp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。

为了方便起见,-a选项包含-R选项cp -i 在覆盖前询问用户cp -v 告诉用户正在做什么(3)命令mv——移动和重命名文件mv aflie bfile 将afile重命名为bfilemv afile /tmp 把当前目录下的afile移动到/tmp/目录下(4)命令rm——删除文件和目录rm afile 删除文件afilerm * 删除当前目录下的所有文件(未隐藏文件)。

rm命令不删除目录,除非也指定了-r(递归)参数。

rm -rf domed 删除domed目录以及它所包含的所有内容rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认(5)命令cd——更改目录cd ~ 切换到主目录cd /tmp 切换到目录/tmpcd dir 切换到当前目录下的dir目录cd / 切换到根目录cd .. 切换到到上一级目录cd ../.. 切换到上二级目录cd ~ 切换到用户目录,比如是root用户,则切换到/root下(6)命令mkdir——建立目录mkdir phots 在当前目录中建立名为photos的目录mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录(7)命令mkdir——删除目录mkdir 将删除空目录(8)命令more、less——查看文件内容more /etc/passwd 查看/etc/passwd的内容功能:分页显示命令more filemore命令也可以通过管道符(|)与其他的命令一起使用,例如:ps ux|morels|moreless /etc/passwd 查看/etc/passwd的内容(9)命令grep——搜索文件内容grep bible /etc/exports 在文件exports中查找包含bible的所有行tail -100 /var/log/apache/access.log|grep 404 在WEB服务器日志文件access.log的后100行中查找包含“404”的行tail -100 /var/log/apache/access.log|grep -v googlebot 在WEB服务器日志文件access.log的后100行中,查找没有被google访问的行grep -v ^# /etc/apache2/httpd.conf 在主apache配置文件中,查找所有非注释行(10)命令find——查找文件find .-name *.rpm 在当前目录中查找rpm包find .|grep page 在当前目录及其子目录中查找文件名包含page 的文件locate traceroute 在系统的任何地方查找文件名包含traceroute 的文件(11)命令vi——编辑文件vi /etc/bubby.txt 用vi编辑文件/etc/bubby.txtvim /etc/bubby.txt 用vi编辑文件/etc/bubby.txt快捷操作:切换窗口:alt+1,alt+2全屏:alt+回车将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg 命令切换回vim界面继续编辑:MR:查看历史文件记录(注意:MR大写):sp 横向切换界面窗口 :vsp 纵向切换界面窗口方便多文件对照编码(如下图:)emacs /etc/bubby.txt 用emacs编辑文件/etc/bubby.txt(12)命令rz、sz——文件上传下载运行命令Sudo rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。

Linux系统shell之top命令详解

Linux系统shell之top命令详解

Linux系统shell之top命令详解top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器。

下⾯详细介绍它的使⽤⽅法。

top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 17616k free, 22052k buffersSwap: 192772k total, 0k used, 192772k free, 123988k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/03 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区前五⾏是系统整体的统计信息。

第⼀⾏是任务队列信息,同 uptime 命令的执⾏结果。

其内容如下:01:06:48 当前时间up 1:22 系统运⾏时间,格式为时:分1 user 当前登录⽤户数load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。

Linux13:shell脚本基本命令

Linux13:shell脚本基本命令

Linux13:shell脚本基本命令shell脚本基本命令输出命令echo输出命令echo,基本模式就是echo [选项] [输出内容]输出内容如果包含空格,则必须将内容⽤双引号括起来。

选项-e可以使输出语句⽀持反斜线转义。

加⼊退格后就不会显⽰退格符左边的⼀个字符。

ascii码表中有对应的⼋进制和⼗六进制表⽰法,所以可以表⽰对应的字符。

显⽰环境变量的值:echo ${PATH}或echo $PATH,如果⼀个变量没有被设定,那么就什么都不返回。

颜⾊输出如将abcd⽤红⾊打印:echo -e "\e[1;31m abcd \e[0m"其中\e[1的意思是开启颜⾊输出,⽽\e[0m是结束颜⾊输出,31m代表红⾊,abcd是输出内容,其他颜⾊如下:第⼀个脚本与脚本执⾏⽅式新建⼀个脚本hello.sh:#!/bin/bash#the first programecho "hello world"exit 0其中第⼀⾏是声明,不是注释,不能省略,这是在指定使⽤哪个shell,如果没有这⾏有的程序可能⽆法执⾏。

第⼆⾏#开头的是注释,第四⾏是命令。

最后⼀⾏在设置回传值,在执⾏完该脚本后,执⾏echo $?就能查看这个值,可以通过这个⾃定义错误信息。

在脚本中有需要时要重新定义⼀下PATH环境变量,以便直接使⽤⼀些外部命令⽽不是写绝对路径:PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/module/jdk1.8.0_144/bin:/opt/module/hadoop-2.7.2/bin:/opt/module/hadoop-2.7.2/sbin:/root/bin export PATH执⾏shell脚本要先赋予其可rx权限:chomd 755 hello.sh然后再执⾏./hello.sh这⾥也可以⽤绝对路径执⾏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. findfind pathname -options [-print -exec -ok]让我们来看看该命令的参数:pathname find命令所查找的目录路径。

例如用.来表示当前目录,用/来表示系统根目录。

-print find命令将匹配的文件输出到标准输出。

-exec find命令对匹配的文件执行该参数所给出的shell命令。

相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格,注意一定有分号结尾。

0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细.find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后删除他们.find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全.find . -name "datafile" -ctime -1 -ok rm -f {} \;1) find . -name 基于文件名查找,但是文件名的大小写敏感.find . -name "datafile*"2) find . -iname 基于文件名查找,但是文件名的大小写不敏感.find . -iname "datafile*"3) find . -maxdepth 2 -name fred 找出文件名为fred,其中find搜索的目录深度为2(距当前目录), 其中当前目录被视为第一层.4) find . -perm 644 -maxdepth 3 -name "datafile*" (表示权限为644的, 搜索的目录深度为3, 名字为datafile*的文件)5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目录下文件名为datafile*的文件。

find . -path "./dir*" 列出所有符合dir*的目录及其目录的文件.find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目录下文件名为datafile*的文件。

6) find . -user ydev 找出所有属主用户为ydev的文件。

find . ! -user ydev 找出所有属主用户不为ydev的文件,注意!和-user之间的空格。

7) find . -nouser 找出所有没有属主用户的文件,换句话就是,主用户可能已经被删除。

8) find . -group ydev 找出所有属主用户组为ydev的文件。

9) find . -nogroup 找出所有没有属主用户组的文件,换句话就是,主用户组可能已经被删除。

10) find . -mtime -3[+3] 找出修改数据时间在3日之内[之外]的文件。

find . -mmin -3[+3] 找出修改数据时间在3分钟之内[之外]的文件。

find . -atime -3[+3] 找出访问时间在3日之内[之外]的文件。

find . -amin -3[+3] 找出访问时间在3分钟之内[之外]的文件。

find . -ctime -3[+3] 找出修改状态时间在3日之内[之外]的文件。

find . -cmin -3[+3] 找出修改状态时间在3分钟之内[之外]的文件。

11) find . -newer eldest_file ! -newer newest_file 找出文件的更改时间betweeneldest_file and newest_file。

find . -newer file 找出所有比file的更改时间更新的文件find . ! -newer file 找出所有比file的更改时间更老的文件12) find . -type d 找出文件类型为目录的文件。

find . ! -type d 找出文件类型为非目录的文件。

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

13) find . -size [+/-]100[c/k/M/G] 表示文件的长度为等于[大于/小于]100块[字节/k/M/G]的文件。

14) find . -empty 查找所有的空文件或者空目录.15) find . -type f | xargs grep "ABC"使用xargs和-exec的区别是, -exec可能会为每个搜索出的file,启动一个新的进程执行-exec的操作, 而xargs都是在一个进程内完成, 效率更高.2. crontab:文件格式如下(每个列之间是使用空格分开的):第1列分钟1~59第2列小时1~23(0表示子夜)第3列日1~31第4列月1~12第5列星期0~6(0表示星期天)第6列要运行的命令分时日月星期要运行的命令30 21* * * /apps/bin/cleanup.sh上面的例子表示每晚的21:30运行/apps/bin目录下的cleanup.sh。

45 4 1,10,22 * * /apps/bin/backup.sh上面的例子表示每月1、10、22日的4:45运行/apps/bin目录下的backup.sh。

10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;上面的例子表示每周六、周日的1:10运行一个find命令。

0,30 18-23 * * * /apps/bin/dbcheck.sh上面的例子表示在每天18:00至23:00之间每隔30分钟运行/apps/bin目录下的dbcheck.sh。

0 23 * * 6 /apps/bin/qtrend.sh上面的例子表示每星期六的11:00pm运行/apps/bin目录下的qtrend.sh。

-u 用户名。

-e 编辑crontab文件。

-l 列出crontab文件中的内容。

-r 删除crontab文件。

系统将在/var/spool/cron/目录下自动保存名为<username>的cron执行脚本.cron是定时完成的任务, 在任务启动时,一般来讲都是重新启动一个新的SHELL, 因此当需要使用登录配置文件的信息,特别是环境变量时,是非常麻烦的.一般这种问题的使用方法如下:0 2 * * * ( su - USERNAME -c "export LANG=en_US;/home/oracle/yb2.5.1/apps/admin/1.sh"; ) > /tmp/1.log 2>&1如果打算执行多条语句, 他们之间应使用分号进行分割. 注: 以上语句必须在root的帐户下执行. 3. nohup:nohup command &如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。

该命令可以在你退出帐户之后继续运行相应的进程。

Nohup就是不挂起的意思(no hang up)。

4. cut:1) cut一般格式为:cut [options] file1 file2-c list 指定剪切字符数。

-f field 指定剪切域数。

-d 指定与空格和tab键不同的域分隔符。

-c 用来指定剪切范围,如下所示:-c1,5-7 剪切第1个字符,然后是第5到第7个字符。

-c2- 剪切第2个到最后一个字符-c-5 剪切最开始的到第5个字符-c1-50 剪切前50个字符。

-f 格式与-c相同。

-f1,5 剪切第1域,第5域。

-f1,10-12 剪切第1域,第10域到第12域。

2) 使用方式:cut -d: -f3 cut_test.txt (基于":"作为分隔符,同时返回field 3中的数据) *field从0开始计算。

cut -d: -f1,3 cut_test.txt (基于":"作为分隔符,同时返回field 1和3中的数据)cut -d: -c1,5-10 cut_test.txt(返回第1个和第5-10个字符)5. sort:1) 对文件内容进行排序,缺省分割符为空格,如果自定义需要使用-t选择,如-t:2) 使用分隔符分割后,第一个field为0,awk中为13) 具体用法如下:sort -t: sort_test.txt(缺省基于第一个field进行排序,field之间的分隔符为":")sort -t: -r sort_test.txt(缺省基于第一个field进行倒序排序,field之间的分隔符为":")sort -t: +1 sort_test.txt(基于第二个field进行排序,field之间的分隔符为":")sort +3n sort_test.txt(基于第三个field进行排序,其中n选项提示是进行"数值型"排序)sort -u sort_test.txt(去除文件中重复的行,同时基于整行进行排序)sort -o output_file -t: +1.2[n] sort_text.txt(基于第二个field,同时从该field的第二个字符开始,这里n的作用也是"数值型"排序,并将结果输出到output_file中)sort -t: -m +0 filename1 filename2(合并两个文件之后在基于第一个field排序)6. pgrep和pkill:查找和杀死指定的进程, 他们的选项和参数完全相同, 这里只是介绍pgrep/> sleep 100&1000/> sleep 100&1001/> pgrep sleep10001001/> pgrep -d: sleep # -d定义多个进程之间的分隔符, 如果不定义则使用newline1000:1001/> pgrep -n sleep # -n表示如果该程序有多个进程,查找最新的.1001/> pgrep -o sleep # -o表示如果该程序有多个进程,查找最老的.1000/> pgrep -G root,oracle sleep # -G 表示进程的group id在-G后面的组列表中的进程会被考虑10001001/> pgrep -u root,oracle sleep # -u 表示进程的effetive user id在-u后面的组列表中的进程会被考虑10001001/> pgrep -U root,oracle sleep # -U 表示进程的real user id在-u后面的组列表中的进程会被考虑10001001/> pgrep -x sleep # -x 表示进程的名字必须完全匹配, 以上的例子均可以部分匹配10001001/> pgrep -x sle/> pgrep -l sleep # -l 将不仅打印pid,也打印进程名1000 sleep1001 sleep/> pgrep -lf sleep # -f 一般与-l合用, 将打印进程的参数1000 sleep 1001001 sleep 100/> pgrep -f sleep -d, | xargs ps -fpUID PID PPID C STIME TTY TIME CMDroot 1000 2138 0 06:11 pts/5 00:00:00 sleep 1000root 1001 2138 0 06:11 pts/5 00:00:00 sleep 10007. fuser:fuser -m /dev # 列出所有和/dev设备有染的进程pid.fuser testfile # 列出和testfile有染的进程pidfuser -u testfile # 列出和testfile有染的进程pid和useridfuser -k testfile # 杀死和testfile有染的进程pid8. mount:如何在unix下面mount一个windows下面的共享目录mount -t smbfs -o username=USERNAME,password=PASSWORD//windowsIp/pub_directory /mountpoint/> mkdir -p /mnt/win32/> mount -o username=administrator,password=1234 //10.1.4.103/Mine /mnt/win32 /> umount /mnt/win32 # 卸载该mount.9. netstat:-a 表示显示所有的状态-l 则只是显示listen状态的,缺省只是显示connected-p 显示应用程序的名字-n 显示ip、port和user等信息-t 只显示TCP的连接/> netstat -apnt/> netstat -lpnt #如果只是显示监听端口的状态,可以使用该命令10. tune2fs:调整ext2/ext3文件系统特性的工具-l 查看文件系统信息/> tune2fs -l /dev/sda1 #将会列出所有和该磁盘分区相关的数据信息,如Inode等。

相关文档
最新文档