Linux主要shell命令详解

Linux主要shell命令详解作者:北南南北 2005-02-03 15:43:30 来自:Linux先生shell是用户和Linux操作系统之间的接口。

Linux中有多种shell,其中缺省使用的是Bash。

本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。

什么是shellLinux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。

它是命令语言、命令解释程序及程序设计语言的统称。

shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。

当仍shell或其他程序向Linux传递命令时,内核会做出相应的反应。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。

用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

有一些命令,比如改变工作目录命令cd,是包含在shell内部的。

还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。

对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。

shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。

然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。

如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。

如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。

shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。

shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。

当普通用户成功登录,系统将执行一个称为shell的程序。

正是shell进程提供了命令行提示符。

作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。

一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。

shell将执行这些命令。

如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以仍键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。

当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。

我们来实习一下shell是如何工作的。

$ make workmake:***No rule to make target ‘work’. Stop.$注释:make是系统中一个命令的名字,后面跟着命令参数。

在接收到这个命令后,shell便执行它。

本例中,由于输入的命令参数不正确,系统返回信息后停止该命令的执行。

在例子中,shell会寻找名为make的程序,并以work为参数执行它。

make是一个经常被用来编译大程序的程序,它以参数作为目标来进行编译。

在“make work”中,make编译的目标是work。

因为make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。

另外,用户键入有关命令行后,如果shell找不到以其中的命令名为名字的程序,就会给出错误信息。

例如,如果用户键入:$ myprogbash:myprog:command not found$可以看到,用户得到了一个没有找到该命令的错误信息。

用户敲错命令后,系统一般会给出这样的错误信息。

shell的种类Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。

三种shell各有优缺点。

Bourne shell是UNIX最初使用的shell,并且在每种UNIX 上都可以使用。

Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。

Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。

Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。

Linux为喜欢使用C shell的人提供了Tcsh。

Tcsh是C shell的一个扩展版本。

Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell 是提示符兼容,而且还提供比Bash shell更多的提示符参数。

Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。

Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。

Linux并没有冷落其他shell用户,还包括了一些流行的shell如ash、zsh等。

每个shell都有它的用途,有些shell是有专利的,有些能仍Internet网上或其他来源获得。

要决定使用哪个shell,只需读一下各种shell的联机帮助,并试用一下。

用户在登录到Linux时由/etc/passwd文件来决定要使用哪个shell。

例如:# fgrep lisa /etc/passwdlisa:x:500:500:TurboLinux User:/home/lisa:/bin/bashshell被列每行的末尾(/bin/bash)。

由于Bash是Linux上缺省的shell,本章主要介绍Bash及其相关知识。

shell命令命令行c用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。

用户可以在提示符后面输入任何命令及参数。

例如:$ date二 11 23 01:34:58 CST 1999$用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。

命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:$ Command Option Arguments1. 选项和参数选项是包括一个或多个字母的代码,它前面有一个减号(减号是必要的,Linux用它来区别选项和参数),选项可用于改变命令执行的动作的类型。

例如:$ lsmotd passwd$这是没有选项的ls命令,可列出当前目录中所有文件,只列出各个文件的名字,而不显示其他更多的信息。

$ ls -ltotal 2-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd$加入-l选项,将会为每个文件列出一行信息,诸如数据大小和数据最后被修改的时间。

大多数命令都被设计为可以接纳参数。

参数是在命令行中的选项之后键入的一个或多个单词,例如:$ ls -l text-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd$将显示text目录下的所有文件及其信息。

有些命令,如ls可以带参数,而有一些命令可能需要一些最小数目的参数。

例如,cp命令至少需要两个参数,如果参数的数目与命令要求不符,shell将会给出出错信息。

例如:$ cp -i mydata newdata注意:命令行中选项先于参数输入。

2. 命令行特征命令行实际上是可以编辑的一个文本缓冲区,在按回车之前,可以对输入的文本进行编辑。

比如利用BACKSPACE键可以删除刚键入的字符,可以进行整行删除,还可以插入字符,使得用户在输入命令,尤其是复杂命令时,若出现键入错误,无须重新输入整个命令,只要利用编辑操作,即可改正错误。

利用上箭头可以重新显示刚执行的命令,利用这一功能可以重复执行以前执行过的命令,而无须重新键入该命令。

bash保存着以前键入过的命令的列表,这一列表被称为命令历史表。

按动上箭头,便可以在命令行上逐次显示各条命令。

同样,按动下箭头可以在命令列表中向下移动,这样可以将以前的各条命令显示在命令行上,用户可以修改并执行这些命令。

这一特征将在10.4节中进行详细的论述。

在一个命令行中还可以置入多个命令,用分号将各个命令隔开。

例如:$ ls -F;cp -i mydata newdata也可以在几个命令行中输入一个命令,用反斜杠将一个命令行持续到下一行。

$ cp –imydatanewdata上面的cp命令是在三行中输入的,开始的两行以反斜杠结束,把三行作为一个命令行。

shell中的特殊字符shell中除使用普通字符外,还可以使用一些具有特殊含义和功能的特殊字符。

在使用它们时应注意其特殊的含义和作用范围。

下面分别对这些特殊字符加以介绍。

1. 通配符通配符用于模式匹配,如文件名匹配、路经名搜索、字符串查找等。

常用的通配符有*、?和括在方括号[]中的字符序列。

用户可以在作为命令参数的文件名中包含这些通配符,构成一个所谓的“模式串”,在执行过程中进行模式匹配。

* 代表任何字符串(长度可以不等),例如:“f*”匹配以f打头的任意字符串。

但应注意,文件名前的圆点(.)和路经名中的斜线(/)必须显式匹配。

例如“*”不能匹配.file,而“.*”才可以匹配.file。

? 代表任何单个字符。

[]代表指定的一个字符范围,只要文件名中[]位置处的字符在[]中指定的范围之内,那么这个文件名就与这个模式串匹配。

方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符(-)组成。

例如,f [a- d]与f [abcd]的作用相同。

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守护进程。

linuxshell获取当前时间命令详解

linuxshell获取当前时间命令详解

linux shell获取当前时间命令详解当出现一个获取一个时间戳或时间差需求时,那么我们该使用什么命令来获取当前时间呢?下面由店铺为大家整理了linux shell获取当前时间的命令的相关知识,希望大家喜欢!1. Linux shell获取时间的相关命令time命令:获取一个程序的执行时间,可以获取到实际运行时间以及程序在用户态和内核态分别的时间,大部分的性能测试,可能只需要关注实际时间。

time命令的使用就很简单了,在原有的要运行的程序(可执行文件、脚本等任何可执行程序)之前加上time即可。

time命令的常用选项使用time,常用的选项是:-f和-p。

其中-f后面指定一个格式串,控制time的输出的格式,默认的time输出是real、user、sys三行以xmxxx.xxxs的格式输出,通过-f可以控制。

-p选项也是格式,表示使用posix标准的格式,主要的区别是显示的时间都是以s为单位的,具体关于格式的问题参考man time的帮助内容就知道了。

-f选项没法工作?弄不清楚为何-f和-o等选项都无法工作,知道的请补充。

(-p是工作的)另一种控制格式的方法是设置TIMEFORMAT环境变量,具体参考man time可以知道这些格式控制符分别表示什么。

举例如下:#time pwd/home/sgeng2real 0m0.000suser 0m0.000ssys 0m0.000s#export TIMEFORMAT="real time %E, user time %U,sys time %S"#time pwd/home/sgeng2real time 0.000, user time 0.000,sys time 0.000#time -p pwd/home/sgeng2real 0.00user 0.00sys 0.00#time命令的输出的问题上面已经说到,好像-o选项并不工作,那么,我们就只能自己想办法了。

linuxshellset命令详解

linuxshellset命令详解

linux shell set命令详解set命令是linux下的一个命令,那么这个命令到底有什么用处呢?下面由店铺为大家整理了set命令的相关知识,希望大家喜欢!linux shell set命令基本说明用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命令将显示shell 的全部变量.除非遇到非法的选项,否则set总是返回ture.当shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中($1,$2,...,$n) set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...] 选项说明-a 自动向已经修改的变量或为导出后序命令的变量作出标志-b 不是在原提示符之前,而是立即引发终止后台任务的状态表表-e 如果命令带非零值返回,立即退出-f 禁止带扩展名的路径-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询函数命令-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放在环境命令中-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后台进程以单独的进程组运行,在每次完成任务时显示包含退出的状态行-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互shell被忽略-o option-name 选项名可以是下列之一:选项说明allexport 同-a选项braceexpand shell执行花括号扩展,在默认情况下起作用emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing选项启动,否则当shell交互时,通过默认启动该选项errexit 同-e选项histexpand 同-H选项ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符-commandsmonitor 同-m选项noclobber 同-C选项noexec 同-n选项noglob 同-f选项nohash 同-d选项notify 同-b选项nounset 同-u选项physical 同-p选项posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准verbose 同-v选项vi 使用vi风格的命令行编辑器XTRACE 同-x选项,如果没有给出选项名,显示当前选项值-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭此选项将使得有效用户和组IDs设置实用户和组IDs)-t 在读取命令并执行之后退出-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图出现在非设置变量中,shell显示错误信息.如果不是交互式,则带非凌值退出)-v 输入行被读取时,显示shell输入行-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令-l 保存和恢复绑定在命令中的名称-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到就不再继续查找)-C 效果好像是执行了noclobber=shell命令-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是使用实际的目录如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a选项开始,也要把位置参数设置为argument- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v选项被关闭.如果没有argument,位置参数将保留未改变的参数)。

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子目录中,并改变其文件名。

一天一个shell命令linux文本操作系列-wc命令详解

一天一个shell命令linux文本操作系列-wc命令详解

⼀天⼀个shell命令linux⽂本操作系列-wc命令详解
全称
wc是⼀个⽤于统计的⼯具,全拼为:Word Count(单词统计)
实例:
1. 统计⾏数
$wc –l file
2. 统计单词数
$wc –w file
3. 统计字符数
$wc –c file
4. 统计流中的字符数
$echo –n 1234 | wc –c
输出:4
解读--help
⽤法:wc [选项]... [⽂件]...
或:wc [选项]... --files0-from=F
打印每⾏的换⾏符,单词,字节的数量,如果多于⼀个⽂件,则打印每个总⾏数。

如果没有⽂件,或者⽂件位置⽤“-”表⽰,则读取标准流。

⼀个单词是由空⽩符分隔的⾮零长的字符序列下⾯的操作可能⽤于选择某种类型数量的打印,通常顺序是换⾏符,单词,字符,字节,最⼤⾏的长度
-c, --bytes 打印字节数
-m, --chars 打印字符数
-l, --lines 打印换⾏符,即总⾏数
--files0-from=⽂件从指定⽂件读取以NUL 终⽌的名称,如果该⽂件被
指定为"-"则从标准输⼊读⽂件名
-L, --max-line-length 显⽰最长⾏的长度
-w, --words 显⽰单词计数
--help 显⽰此帮助信息并退出
--version 显⽰版本信息并退出
解读:
1. 多于⼀个⽂件
$wc file1 file2
打印两个⽂件的分别的统计⾏数
2. –L
打印最长的⾏数的字符数,即长度
3. 直接wc ⽂件,⽆任何参数
顺序是⾏数,单词,字符,字节,最⼤⾏长度。

linuxsh命令详解

linuxsh命令详解

linux sh命令详解linux sh命令时linux下的一个命令,那么它是用来干吗的呢?下面由店铺为大家整理了linux sh命令的相关知识,希望大家喜欢!linux sh命令sh命令是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。

通过用户输入命令,和内核进行沟通!Bourne Again Shell (即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux 系统中一个默认的Shell。

Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。

linux sh命令语法bash [options] [file]linux sh命令选项-c string:命令从-c后的字符串读取。

-i:实现脚本交互。

-n:进行shell脚本的语法检查。

-x:实现shell脚本逐条语句的跟踪。

linux sh命令实例使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态:[root@AY1307311912260196fcZ satools]# sh -x check_ssh_login.sh + DEFINE=30+ cat /var/log/secure+ awk '/Failed/ {++ip[$(NF-3)]} END {for (i in ip) print i"="ip[i]}'++ cat /root/satools/black.txt+ for i in '`cat /root/satools/black.txt`'++ echo 121.42.0.16=1427 ++ awk -F= '{print $1}'+ IP=121.42.0.16++ echo 121.42.0.16=1427++ awk -F= '{print $2}'+ NUM=1427+ '[' 1427 -gt 30 ']'+ grep 121.42.0.16 /etc/hosts.deny + '[' 1 -gt 0 ']'+ echo sshd:121.42.0.16+ echo vsftpd:121.42.0.16+ for i in '`cat /root/satools/black.txt`' ++ echo 121.42.0.72=276++ awk -F= '{print $1}'+ IP=121.42.0.72++ awk -F= '{print $2}'++ echo 121.42.0.72=276+ NUM=276 + '[' 276 -gt 30 ']'+ grep 121.42.0.72 /etc/hosts.deny + '[' 1 -gt 0 ']'+ echo sshd:121.42.0.72+ echo vsftpd:121.42.0.72。

linuxshell编辑文件命令详解

linux shell编辑文件命令详解在Linux下,如果你需要进行文件编辑操作,那么应该使用那个命令呢?下面由店铺为大家整理了linux shell编辑文件命令的相关知识,希望对大家有帮助!linux shell编辑文件方式vi编辑器有3种基本工作模式首先需要知道vi编辑器有3种基本工作模式,分别是:命令模式、文本输入模式、和末行模式。

第一:命令行模式:该模式是进入vi编辑器后的默认模式。

任何时候,不管用户处于何种模式,按下ESC键即可进入命令模式。

在该模式下,用户可以输入vi命令,用户管理自己的文档。

此时从键盘上输入的任何字符都被当作编辑命令来解释。

若输入的字符是合法的vi 命令,则vi在接受用户命令之后完成相应的动作。

但需要注意的是,所输入的命令并不回显在屏幕上。

若输入的字符不是vi命令,vi会响铃报警。

第二:文本输入模式:在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。

在该模式下,用户输入的任何字符都被vi当作文件内容保护起来,并将其显示在屏幕上。

在文本输入过程中,若想回到命令模式下,按ESC键即可。

第三:末行模式:末行模式也称ex转义模式。

在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。

多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。

末行命令在执行完后,vi自动回到命令模式。

如果要从命令模式转换到编辑模式,可以键入a或者i。

如果需要从文本模式返回,则按ESC即可。

在命令模式下输入“:”即可切换到末行模式,然后输入命令。

综上,一般我们使用命令打开文件的时候,是进入到命令模式。

在命令模式下,可以切换到文本输入模式和末行模式,但是文本输入模式和末行模式之间是不可以直接相互切换了,因此文本输入模式切换到末行模式,需要先回到命令模式再切换,反之亦然。

Linux的xshell命令

Linux的xshell命令1,Linux基本命令⾏的组成结构2,Linux系统命令操作格式命令空格参数空格需要处理的内容rm-rf/tmp/*ls-la/home1. ⼀般情况下(参数)是可选的,⼀些情况下(⽂件的路径)也是可选的2. 参数 > 同⼀个命令,跟上不同的参数执⾏不同的功能,执⾏Linux命令,添加参数的⽬的是让命令更加贴近实际⼯作的需要,Linux命令,参数之间,普遍应该⽤⼀个或多个空格分割3,创建⼀个⽬录/xuexuemkdir xuexue 在root⽬录下创建xuexue⽂件夹mkdir /xuexue 在根⽬录下创建xuexue⽂件夹mkdir -p a/b c/d 递归创建⽂件夹mkdir test{a,b,c,d} 递归创建四个⽬录mkdir -p a/b/c/d/ 递归创建⽂件夹4,创建⽂件或者修改⽂件时间戳(⽂件属性)修改⽂件的更改时间,很多⿊客就会在恶意修改⽂件之后再修改之前的时间ls -l 查看所有⽂件夹echo "xuexue" >> python.py 表⽰把xuexue这个字符串写到python.py中5,stat命令(显⽰⽂件或⽂件系统的状态):⽤法: stat [参数] ⽂件参数列表:-L, --dereference 跟随连接-f. --file-system 显⽰⽂件系统状态⽽⾮⽂件状态-c --format-格式使⽤指定输出格式代替默认值,每⽤⼀次指定格式换⼀新⾏--printf=格式类似 --format,但是会解释反斜杠转义符,不使⽤换⾏作输出结尾,如果您仍希望使⽤换⾏,可以在格式中加⼊"\n"-t, --terse 使⽤简洁格式输出--help 显⽰此帮助信息并退出--version 显⽰版本信息并退出格式化输出参数:%a ⼋进制权限%A ⽤可读性较好的⽅式输出权限显⽰⽂件的权限stat -c %a python.pystat -c %A python.py6,vim:所有的Unix Like系统都会内建vi编辑器,其他的⽂书编辑器则不⼀定会存在但是⽬前我们使⽤⽐较多的是vim编辑器vim具有程序编辑的能⼒,可以主动的以字体颜⾊辨别语法的正确性,更⽅便程序的设计vi vim:使⽤vi打开python.py默认是命令模式,需要输⼊a/i进⼊编辑模式,然后输⼊⽂本"Life is short,i use python"按下esc键,回到命令模式输⼊:wq!, 强制保存退出w write 写⼊q quit 退出! 强制或者:x 保存退出:q 不保存退出:q! 不保存强制退出7,查看⽂件内容:cat命令⽤于查看纯⽂本内容(常⽤于内容⽐较少)cat -n python.py 查看⽂件显⽰⾏号cat python.py 直接查看⽂件内容在每⼀⾏的结尾加上$符cat -E python.py追加⽂字到⽂件中cat >> python.py << EOF世情薄,⼈情恶,⾬送黄昏花易落,晓风⼲,泪痕残,欲笺⼼事,独语斜阑,难,难,难!EOF8,more命令1. more命令⽤于查看内容较多的⽂本,列如要看⼀个很长的配置⽂件,cat查看内容屏幕会快速翻滚到结尾2. more命令查看⽂本会以百分⽐形式告知已经看到多少,使⽤回车键向下读取内容more/etc/passwd按下空格键space是翻页按下b键上⼀页回车键向下读取内容9,Linux的快捷键1. tab键, ⽤于⾃动补全命令/⽂件名/⽬录名2. ctrl + l: 清理终端显⽰3. clear/cls:清理终端显⽰4. ctrl +c: 终⽌当前操作10,echo命令:echo命令⽤于在终端输出字符串或变量提取后的值,格式"echo[字符串|$变量]"# 默认把内容显⽰到终端echo "帅爆太阳的男⼈",echo "帅爆太阳的男⼈" > python.py11,特殊符号输⼊输出,重新定向1. >> 追加重定向, 把⽂字追加到⽂件的结尾2. > 重新定向符号,清空原⽂件所有内容,然后把⽂字覆盖到⽂件末尾3. < 输⼊重定向4. << 将输⼊结果输⼊重定向5. eg:<< 和>> ⼀起⽤:如下6.7.8. 通配符: ls -l /etc/us*9.12,赋值(拷贝的命令)cp xxx.py /tmp⽬录下移动xxx.py⽂件到/tmp⽬录下cp xxx.py /tmp/yyy.py移动xxx.py⽬录,并重命名xxx.py为yyy.pyLinux下⾯很多命令,⼀般没有办法直接出处理⽂件夹,因此需要加上参数cp -r 递归,复制⽬录以及⽬录的⼦孙后代cp -p复制⽂件,同时保持⽂件属性不变, 可以⽤statcp -a相当于 -pdrcp -r test test2操作命令前,先cp复制⼀份cp main.py main.py.bak13,移动命令mv /home14,删除命令删除/ --->remove/ ---->rm参数: -i 需要删除确认参数: -f 强制删除参数: -r 递归删除⽬录和内容15,查找命令格式:find 在哪⾥(⽬录) 什么类型(⽂件类型) 叫什么名字(⽂件名)参数: -name 按照⽂件名查找⽂件 -type查找某⼀类⽂件列如b -块级设备⽂件d -⽬录c -字符串设备名称p -管道⽂件l -符号链接⽂件s -socket⽂件# 表⽰找出"xuexue".txt⽂件find -type f -name "xuexue".txt# 找出所有以.txt结尾的⽂件find -type f -name "*.txt"# 找到当前⽬录下所有名字以host开头的⽂件find -name "host*"# 找到当前⽬录名为settings.py⽂件find -name "settings.py"16,管道命令Linux提供的管道符"|"是将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输⼊,常见⽤法:# 检查python程序是否启动ps -ef | grep "python"# 找到test⽬录下的所有.txt⽂件ls test|grep ".txt"# 检查nginx的端⼝是否存活netstat -tunlp |grep nginx命令格式grep:(global search regular expression(RE) and print out the line,全⾯搜索正则表达式并把⾏打印出来)是⼀种强⼤的⽂本搜索⼯具,它能使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来.语法:grep [参数] [--color=auto] [字符串] filename参数详解:-i:忽略⼤⼩写-n: 输出⾏号-v: 反向选择--color = auto :给关键部分添加颜⾊grep "我要找什么" ./test/ python.py# 排除 -v,排除我要找的东西grep -v "我要找什么" ./test/ python.txt16.1,head,tail命令head显⽰⽂件前⼏⾏,默认前10⾏tail显⽰⽂件后⼏⾏,默认后10⾏# 查看前 2⾏head -2 /test/python.txt#查看后2⾏tail -2 /test/python.txt持续刷新显⽰tail -f xx.log#显⽰⽂件10-30⾏head -30 /test/python.txt |tail -2117,别名alias命令Linux在使⽤rm(删除),cp(覆盖),mv(搬家)等命令的时候,必须⾮常⼩⼼,因为这些命令都是"炸弹",删库跑路,就是这么来的查看系统别名的命令:alias默认别名:alias cp="cp -i"alias egrep="egrep --color=auto"alias fgrep="fgrep --color=auto"alias grep="grep --color=auto"alias l.="ls -d .* --color=auto"alias ll="ls -l --color=auto"alias ls="ls --color=auto"alias mv="mv -i"alias rm="rm -i"alias which="alias | /usr/bin/which --tty-only --read-alias --show-dot --show-title"别名的作⽤:我们在Linux中使⽤cp时候相当于执⾏了cp -i-i: 删除已有⽂件或⽬录之前先询问⽤户# 别名⽤⽐较危险的操作,防⽌犯错18,为rm设置别名让系统显⽰do not use rmecho do not use rm# 设置rm别名alias rm = "echo do not use rm"# 设置别名永远⽣效,写⼊到etc/prodile(针对登录⽤户的客户,设置环境变量)vim /etc/profile # 编辑⽂件G 快速到达最后⼀⾏O 当前⾏下⼀⾏,创建⼀个新⾏,进⼊编辑模式source /etc/profile# 读取⽂件,合同⽣效取消别名unalias rm19,which命令which命令⽤于查找并显⽰给命令的绝对路径,环境变量PATH中保存了命令时需要遍历的⽬录.wgich指令会在环境变量$PATH设置的⽬录⾥查找符合条件的⽂件也就是说,使⽤which命令,就可以看到某个系统命令是否存在,以及执⾏到那⼀位置的命令which pwdwhich python查看到的都是绝对路径下的命令的位置20,scp命令Linux scp命令⽤于Linux之间复制⽂件和⽬录scp 是 source copy的缩写,scp是linux系统下基于ssh登录进⾏安全的远程⽂件拷贝命令语法 :scp (可选参数)本地原⽂件远程⽂件标记参数:-r : 递归复制这个⽬录-v : 详细⽅式输出-q : 不显⽰出书进度条-c :允许压缩20.1,⽂件的传输传输本地⽂件到远程地址scp 本地⽂件远程⽤户@远程ip: 远程⽂件夹/scp ./test/xuexue.txt root@192.168.21.8:/root/practice/scp 本地⽂件远程⽤户名@远程ip:远程⽂件夹/远程⽂件名scp test/python.txt root@192.168.21.8:/practice/xuexue_python.txt# 复制远程⽂件到本地scp root@192.168..21.8:/root/practice/python.py test/python.pyscp -r root@192.168.21.8:/test/python.py这个先得创建好python.py⽂件去接收21,du命令Linux中du命令显⽰⽬录或⽂件的⼤⼩du会显⽰指定⽬录或⽂件所占⽤的磁盘⼤⼩⽤法:du (参数) (⽂件或⽬录)-s: 显⽰总计-h以k,m,g为单位显⽰,可读性强# 显⽰⽬录或⽂件所占空间,什么都不跟,代表显⽰当前⽬录所有⽂件⼤⼩du# 显⽰/home的总⼤⼩du -sh /home22,top命令:top命令⽤于动态地进⾏监视活动与系统负载等信息图⽚分析第⼀⾏(uptime)系统时间主机运⾏时间⽤户连接数(who) 系统1,5,15分钟的平均负载第⼆⾏进程信息进程总数, 正在运⾏的进程数睡眠的进程数停⽌得进程数僵⼫进程数第三⾏:cpu信息1.5 us: ⽤户空间所占cpu百分⽐0.9 sy: 内核空间占⽤CPU百分⽐0.0 ni: ⽤户进程空间内改变过优先级的进程占⽤cpu百分⽐97.5 id:空闲cpu百分⽐0.2 wa:等待输⼊输出的cpu时间百分⽐0.0 hi:硬件CPU中断占百分⽐0.0 si:软中断占⽤百分⽐0.0 st: 虚拟机占⽤百分⽐第四⾏内存信息8053444 total: 物理内存总量7779224 used: 已使⽤的内存总量274220 free: 空闲的内存总量359212 buffers: ⽤做内核缓存的内存量第五⾏ :swap信息8265724 total:交换分区总量33840 used: 已使⽤的交换分区总量8231884 free :空闲交换区总量7358088 cached Mem: 缓冲的交换区总量,内存中的内容被换出到交换区,然后使⽤过的交换的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的⼤⼩,相应的内存再次被换出时,可不⽐再对交换区写⼊.23,chattr命令给⽂件加锁,只能写⼊数据,⽆法删除chattr +a python.txt # 加锁chattr -a python.txt # 解锁24,lasttr命令查看⽂件隐藏属性lsattr test/python.txt25,Linux时间同步Linux的date命令可以显⽰当前时间或者设置系统时间查看当前时间格式化输出时间-d --date=string 显⽰指定的时间,⽽不是当前时间以年-⽉-⽇显⽰当前时间date + "%Y-%m-%d"以年-⽉-⽇时分秒显⽰当前时间date +"%Y-%m-%d %T"在Linux下系统时间和硬件时间不会⾃动同步,在Linux运⾏过程中,系统时间和硬件时间以异步的⽅式运⾏,互不⼲扰.硬件时间的运⾏,是靠Bios电池来运⾏,⽽系统时间是CPU tick来维持的在系统开机的时候,会从Bios中获取硬件时间,设置系统时间硬件始终的查看hwclock同步系统时间和硬件时间,可以⽤hwclock命令# 以系统时间为基准,修改硬件时间# 以硬件时间为基准,修改系统时间26,NTP时间服务器时间对于⼈类来说是必不可少的,时间就是⾦钱,因此对于服务器时间额度把控⾮常重要,如果系统的时间不对,那么对于每⼀个⽂件的擦欧洲哦都是错误的关于时间服务器的配置⽂件,有如下⼏种/bin/date ⽤于Linux时间(软件时钟)的修改与显⽰的指令/sbin/hwclock ⽤于BISO时钟(硬件时间)的修改与显⽰的命令,这是⼀个root才执⾏的命令,因为Linux系统上⾯BISO时间与Linux系统时间时分开的,所以使⽤date这个指令调整了时间之后,还需要使⽤hwclock才能将修改后的时间写⼊BISO当中!/usr/sbin/ntpd 主要提供NTP服务的程序,配置⽂件为/etc/ntp.conf/usr/sbin/ntpdate :⽤于客户端的时间的矫正.如果你没有要启⽤NTP⽽仅想⽤NTP Client功能,只会⽤到这个指令就好了由于我们只需要⽤作客户端更新时间ntpdate -u ntp.aliyun,com27,wget命令wget命令⽤于在终端下载⽹络⽂件参数是wget(参数)下载地址28,开关机命令reboot命令⽤于重启机器poweroff⽤于关闭系统。

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里的当前目录。

linuxshellfind命令详解

linux shell find命令详解find命令是linux下的一个命令,那么它到底有什么用处呢?下面由店铺为大家整理了find命令的相关知识,希望大家喜欢!linux shell find命令一、简介由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。

即使系统中含有网络文件系统( NFS),find 命令在该文件系统中同样有效,只要你具有相应的权限。

在运行一个非常消耗资源的find 命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统能会花费很长的时间(这里是指30G 字节以上的文件系统)。

二、find 命令格式1、find 命令的一般形式为;find pathname -options [-print -exec -ok ...]2、find 命令的参数;pathname: find 命令所查找的目录路径。

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

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

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

相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

-ok:和-exec 的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell 命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

3、find 命令选项-name按照文件名查找文件。

-perm按照文件权限来查找文件。

-prune使用这一选项可以使find 命令不在当前指定的目录中查找,如果同时使用-depth 选项,那么-prune 将被find 命令忽略。

-user按照文件属主来查找文件。

-group按照文件所属的组来查找文件。

-mtime -n +n按照文件的更改时间来查找文件, - n 表示文件更改时间距现在n 天以内,+ n 表示文件更改时间距现在n 天以前。

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