常用命令

来源:互联网 发布:js循环table tr 编辑:程序博客网 时间:2024/06/01 08:17
搜索字符串
/向下查找
?向上查找
n重复上面操作

x删除,相当于backspace
d
y
dd剪切整行
yy复制整行

编辑状态下按退格,虽然尸体尚在,但是可以重新改写

p向后粘贴
P向前粘贴

J

文档首行1G
尾行G

$光标到行尾
0光标到行首
:16移动到16行

head -n
Tail -n

u撤销

set nu/nonu

Ctrl insert复制
Shift insert粘贴

Find wu*

>wu.log 删除文件内容

mv重命名
cp 复制文件创建文件



FTP  
LCD切换至本地目录 
Bin 
Put/get
Mget/mput 支持tab* 的get
Prompt关闭交互 
Bye 


建立文件 
Touch建立空文件,echo 
建立目录 
Mkdir 
删除文件 
Rm 
删除空目录 
Rmdir 


ls -a"命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件。 
ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。 


uname -a  
  
Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux  


注意: uname显示内核类别, uname -a显示详细信息。上面的输出详细说明了uname -a 
“Linux“: 机器的内核名 
“tecmint“: 机器的节点名 
“3.8.0-19-generic“: 内核发布版本 
“#30-Ubuntu SMP“: 内核版本 
“i686“: 处理器架构 
“GNU/Linux“: 操作系统名 
history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。 


  
root@tecmint:~# history  
  
 1  sudo add-apt-repository ppa:tualatrix/ppa  
 2  sudo apt-get update  
 3  sudo apt-get install ubuntu-tweak  
 4  sudo add-apt-repository ppa:diesch/testing  
 5  sudo apt-get update  
 6  sudo apt-get install indicator-privacy  
 7  sudo add-apt-repository ppa:atareao/atareao  
 8  sudo apt-get update  
 9  sudo apt-get install my-weather-indicator  
 10 pwd  
 11 cd && sudo cp -r unity/6 /usr/share/unity/  
 12 cd /usr/share/unity/icons/  
 13 cd /usr/share/unity  
注意:按住“CTRL + R”就可以搜索已经执行过的命令,它可以在你写命令时自动补全。 

(reverse-i-search)`if': ifconfig  


touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。 


x解压tar
c创建tar
z调用gzip对.gz文件解压
v显示解压过程详细信息
f指定文档名
t查看 

范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar 
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩! 
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩 
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩 
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~ 
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~ 
# 上述指令在执行的时候,会显示一个警告讯息: 
# 『tar: Removing leading `/” from member names』那是关於绝对路径的特殊设定。 


范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件? 
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz 
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时, 
# 就得要加上 z 这个参数了!这很重要的! 


范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 
[root@linux ~]# cd /usr/local/src 
[root@linux src]# tar -zxvf /tmp/etc.tar.gz 
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说, 
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz , 
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc 
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔! 


范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已 
[root@linux ~]# cd /tmp 
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd 
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件, 
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了! 


范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限! 
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc 
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时! 


范例六:在 /home 当中,比 2005/06/01 新的文件才备份 
[root@linux ~]# tar -N ‘2005/06/01′ -zcvf home.tar.gz /home 


范例七:我要备份 /home, /etc ,但不要 /home/dmtsai 
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc 


范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件! 
[root@linux ~]# cd /tmp 
[root@linux tmp]# tar -cvf – /etc | tar -xvf – 
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! 
# 要注意的地方在於输出档变成 – 而输入档也变成 – ,又有一个 | 存在~ 
# 这分别代表 standard output, standard input 与管线命令啦! 




实例一:ps aux 最常用 
[root@localhost ~]# ps -aux |more 
可以用 | 管道和 more 连接起来分页查看; 
[root@localhost ~]# ps -aux > ps001.txt 
[root@localhost ~]# more ps001.txt 
这里是把所有进程显示出来,并输出到ps001.txt文件,然后再通过more 来分页查看; 
实例二:和grep 结合,提取指定程序的进程; 
[root@localhost ~]# ps aux |grep httpd 
ps -ef|grep java 
weblogic 282746 254140  1 22:15:35  pts/0  1:00 /usr/java6/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea103/wlserver_10.3 -Dwls.home=/home/weblogic/bea103/wlserver_10.3/server -Dweblogic.home=/home/weblogic/bea103/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea103/patch_wls1030/profiles/default/sysext_manifest_classpath:/home/weblogic/bea103/patch_cie660/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea103/wlserver_10.3/server/lib/weblogic.policy weblogic.Server 
weblogic 389290 409808  0 22:28:01  pts/1  0:00 grep java 


11111111表示当前进程ID, 22222222 表示父进程ID. 
#kill -9  pid  //kill -9  11111111,杀掉进程号为11111111的这个进程。 
懒省事儿可以这样做,在生产环境下,建议不要这样操作,使用指定的关闭进程的脚本或命令去使这个进程安全地退出。 


“pwd”(print working directory),在终端中显示当前工作目录的全路径。 

 1 


root@tecmint:~# pwd  
  
/home/user/Desktop  
注意: 这个命令并不会在脚本中经常使用,但是对于新手,当从连接到nux很久后在终端中迷失了路径,这绝对是救命稻草。


参数
/b
如果位于行的开头则匹配模式。
/e
如果位于行的末尾则匹配模式。
/l
逐字地搜索字符串。
/r
使用搜索串作为正则表达式。Findstr 将所有元字符解释为正则表达式,除非使用了 /l。
/s
在当前目录和所有子目录中搜索匹配的文件。
/i
指定搜索不区分大小写。
/x
打印完全匹配的行。
/v
仅打印不包含匹配的行。
/n
在每个匹配的行之前打印行号。
/m
如果文件包含匹配项,则仅打印该文件名。
/o
在每个匹配行之前打印查找偏移量。
/p
跳过包含非可打印字符的文件。
/offline
利用脱机属性设置处理文件。
/f:File
从指定文件中读取文件列表。
/c:String
使用指定的文本作为文字搜索字符串。
/g:File
从指定文件得到搜索字符串。
/d:DirList
搜索以逗号分隔的目录列表。
/a:ColorAttribute
使用两个十六进制数指定颜色属性。
Strings
指定要在 FileName 中搜索的文本。
[ Drive:][Path] FileName [...]
指定要搜索的文件。
/?
在命令提示符下显示帮助。
注释

使用空格分隔多个搜索字符串,除非参数以 /c 为前缀。要在文件 x.y 中搜索“hello”或“there”,请键入:

findstr "hello there" x.y

要在文件 x.y 中搜索“hello there”,请键入:

findstr /c:"hello there" x.y

若要查找文件 Proposal.txt 中出现的所有单词“Windows”(首字母 W 大写),请键入:

findstr Windows proposal.txt

若要搜索包含单词 Windows 的当前目录和所有子目录中的每个文件(不考虑字母大小写),请键入:

findstr /s /i Windows *.*

要查找包含字“FOR”的所有行(前面可有任意空格,如:计算机程序中的循环),并包括每次出现的行号,请键入:

findstr /b /n /c:"*FOR" *.bas

如果要在相同组文件中搜索几个不同项目,请在新行上创建包含每个搜索标准的文本文件。也可以列出要在文本文件中搜索的确切文件。要使用文件 Finddata.txt 中的搜索标准来搜索 Filelist.txt 中列出的文件,然后将结果保存到文件 Results.out 中,请键入:

findstr /g:finddata.txt /f:filelist.txt > results.out

假设您想要查找当前目录和所有子目录中包含单词“computer”的每个文件,而不考虑字母的大小写。若要列出包含单词“computer”的所有文件,请键入:

findstr /s /i /m "/<computer/>" *.*

现在假定不仅需要查找单词“computer”,而且需要查找以字母“comp”开头的所有其他单词,例如“compliment”和“compete”。请键入:

findstr /s /i /m "/<comp.*" *.*



[Tree命令范例]

[例一] 
tree d: > d:\dTree.txt 
或者 
tree d:\ > d:\dTree.txt

作用:把D盘下的所有目录结构以树状结构导出,以文本文件dTree.txt保存在文件夹d:\下。

[例二] 
tree d: /f > d:\dF.txt 
或者 
tree d:\ /f > d:\dF.txt

作用:把D盘下的所有目录及文件结构以树状结构导出,以文本文件dF.txt保存在文件夹d:\下。

[例三] 
tree C:\WINDOWS\system32 /f > C:\s32f.txt

作用:把C:\WINDOWS\system32 /f > C:\s32f.txt下的所有目录及文件结构以树状结构导出,以文本文件s32f.txt保存在文件夹c:\下。

[例四] 
tree E:\BitComet\Downloads /f > f:\download\tree\dl.txt

作用:把E:\BitComet\Downloads下的所有目录及文件以树状结构导出,以文本文件dl.txt保存在文件夹f:\download\tree\下。 

[Tree命令注意事项] 
[注意1] TREE命令中涉及的文件夹名称中不得有空格
 
例如,类似下面的命令发挥不了作用: 
tree C:\Documents and Settings\Administrator /f > c:\administrator.txt

若要提取诸如E盘My doc文件夹下的文件结构,可以先进入这个目录(先e:回车,再cd My doc回车),再用tree命令提取: 
tree /f>mydoc.txt

[注意2]了解DOS的对当前提示符的一些默认  
例如,在提示符 E:\My doc> 下,可以用下面的简洁命令 
tree /f>mydoc.txt 
把E:\My doc>下的所有目录及文件结构以树状结构导出,以文本文件mydoc.txt保存在文件夹E:\My doc下。

注意这个TREE命令后没有盘符及路径,缺省时,默认值就是当前提示符所在路径。导出符“>”后也同此默认。

[注意3]关于路径后面的反斜杠 
(1)在提示符 C:\Documents and Settings\Administrator> 下,如果要导出C盘的所有文件结构,必须使用类似下列命令: 
tree c:\ > c:\ct.txt 

而不能是诸如此类之命令: 
tree c: > c:\ct.txt

因为此命令导出的不是整个C盘的内容,而是提示符所在路径C:\Documents and Settings\Administrator>下的内容。 

(2)但在一般情况下,路径后面不能有反斜杠  
例如若需导出D:\ghost下的结构,不能用诸如此类的命令: 
tree D:\ghost\ /f > d:\ghost.txt 
而只能是: 
tree D:\ghost /f > d:\ghost.txt 

[注意4]导出符前后空格均可省略,但参数\F等前面的空格不可以。 
此命令有效:tree D:\ghost /F>d:\ghost.txt

而此命令无效:tree D:\ghost/F > d:\ghost.txt 


windows下:

dir /s /b |find "str"  查找当前目录及子目录 文件名包含str的文件,b只显示文件名


tree /f >1.txt 当前文件结构,f列出文件名


findstr /s /i /m "str" *.*  s递归查子目录,i不区分大小写,m只显示文件名


linux下


在linux系统管理中,经常需要查找,包含某个特定字符串的文件,这需要联合使用 find、xargs 和 grep 命令才能达到目的。

以下介绍,如何在 Linux 中,使用 find、xargs 和 grep 命令,来查找包含某一特定字符串的文件,并打印出文件的名称和路径。
同时还将延伸 find 命令的特定用法,来实现寻找特定目录深度中包含某一特定字符串的文件。

首先,基本用法。

通过下面这个命令组合,就可以查找当前目录以及其子目录中,所有包含 “VPSeek” 这个字符串的文件。
示例:
 

find . |xargs grep "VPSeek"

其次,延伸用法。

通过下面这个命令组合,查找当前目录以及其第一级子目录中,所有包含 “VPSeek” 这个字符串的文件。
示例:
 

find . -maxdepth 2|xargs grep "VPSeek"

进而,通过使用下面这个命令组合,查找当前目录以及其第一级子目录中,所有以 “.txt” 结尾并且包含 “VPSeek” 这个字符串的文件。
示例:
 

find . -maxdepth 2 -name "*.txt" |xargs grep "VPSeek"


find . -regex '.*\.txt\|.*\.doc\|.*\.mp3' 







0 0