Linux/Unix/Cygwin 常用命令

Posted ccxz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux/Unix/Cygwin 常用命令相关的知识,希望对你有一定的参考价值。

以下只说明各指令的基本用法,若需详细说明,请用man去读详细的manual。[Cygwin通常没有安装 man相关的文件,所以没有man功能]

1.关于文件/目录处理的指令: 1.1 ls 这是最基本的文件指令。ls的意义为“list”,也就是将某一个目录下的内容显示出来。如果你在ls指令后 没有跟任何文件,它将会显示出目前目录中所有文件。也可以在ls后面加上所要察看的目录名称或文 件的名称,如 $ls /home/

ls有一些参数,可以给予使用者更多有关的资讯,如下: -a:(a 代表 all)在Linux中若一个目录或文件名字的第一个字元为“.”,则使用ls将不会显示出这个文 件的名字,我们称此类文件为隐藏文件,如”.bashrc”文件。如果我们要察看这类文件,则必须加上参 数“-a”。 -l:(l 代表 long)这个参数代表使用ls的长格式,可以显示更多的资讯,如文件存取权,文件拥有者 (owner),文件大小,文件最后更新日期。比如: ls -l drwxr-xr-x 4 lix staff 136 Oct 9 07:19 dir -rw-r--r-- 1 lix staff 25 Nov 8 2015 hain.h -rw-------@ 1 lix staff 1537750 Aug 27 22:49 lang.pdf -rw-r--r-- 1 lix staff 5438 Nov 4 2015 main.h -rwxr-xr-x 1 lix staff 51 Nov 8 2015 rename.sh

第一个字母如果是”d”, 则是目录(d 代表 directory);如果是”-“,那么就是文件。上面dir是目录, hang.h, lang.pdf, main.h, rename.h 都是文件。请注意,这里打印的顺序是按照英文字母排列: dir, hain.h, lang.pdf, main.h, rename.sh.

如果指令改为: ls –lrt (r代表reverse,颠倒; t 代表 time, 时间) -rw-r--r-- 1 lix staff 5438 Nov 4 2015 main.h -rw-r--r-- 1 lix staff 25 Nov 8 2015 hain.h -rwxr-xr-x 1 lix staff 51 Nov 8 2015 rename.sh -rw-------@ 1 lix staff 1537750 Aug 27 22:49 lang.pdf drwxr-xr-x 4 lix staff 136 Oct 9 07:19 dir

这时候打印出来的顺序就是按照建立或者修改的时间,从最老的到最新的。如上显示,main.h是2015 年11月4日建立或者修改的,hain.h是2015年11月8日,rename.sh也是2015年11月8日(几点几分几秒, 这里没有显示,rename.sh应该是比hain.h新的文件)。这个例子也说明,几个参数是可以一起使用的。

上面的打印结果显示,文件main.h的大小是5438 byte,文件hain.h的大小是25 byte,…,文件 lang.pdf的大小是1537750 byte。这让人读起来很不方便,因为人们通常都是说kilobyte(KB), megabyte(MB), gigabyte(GB). 1KB = 1000byte, 1MB = 1000KB, 1GB = 1000MB. 这时候可以使用参 数”-h” (h: human,意思是人读起来方便) ls –lrth (r代表reverse,颠倒; t 代表 time, 时间)
-rw-r--r-- 1 lix staff 5.4K Nov 4 2015 main.h -rw-r--r-- 1 lix staff 25B Nov 8 2015 hain.h -rwxr-xr-x 1 lix staff 51B Nov 8 2015 rename.sh -rw-------@ 1 lix staff 1.5MB Aug 27 22:49 lang.pdf drwxr-xr-x 4 lix staff 136B Oct 9 07:19 dir


-R: (R 代表 recursive;请注意,这里必须是大写,不是小写。小写的”-r”上面已经使用。) 使用这 个参数,会显示当前目录的内容,以及所有下面的子目录,子子目录内容。(你如果用鼠标在资源管 理器上点击,你则需要点击各个子目录来查看里面的内容,很不方便。)

1.2 cp cp这个指令的意义是复制(“COPY”),也就是将一个或多个文件复制成另一个文件或者是将其复制到另 一个目录去。请注意,这是复制,既原来的文件,或者目录,没有任何改变,依然存在。

cp的用法如下: cp f1 f2:将文件名为f1的文件复制一份为文件名为f2的文件。请注意:如果f2已经存在,会怎样?请 用不重要的文件尝试。答案:原来的f2文件会被一下子冲掉,所以使用这个命令要小心。

现在,f2同样是事先存在的,请运行这个指令: cp –i f1 f2 i: interactive 互动模式。回答”y”,意思是”yes”; 回答”n”, 意思是”no”。

cp f1 f2 f3 f3 f5 dir/.:将文件f1, f2, f3 …复制一份放到目录dir里面。请注意,末尾是”dir/.”。注意那 一点”.”。

cp f1 f2 f3 … dir/:作用与上面一样。请注意末尾是”dir/”,没有那一点。

cp –r dir1 dir2:将目录dir1的全部内容(包括里面的文件,子目录,子目录下面的子目录,子子目录) 全部复制为dir2。”r” means recursive,上面已经提到。对cp而言,r可以大写,或者小写,功能相同。

cp –r dir1/ dir2/: same function as above.

1.3 mv mv的意义为move,有两个功能:一是更改文件或者目录的名字;二是转移文件或者目录到另外一个地 方: mv f1 f2:将文件名为f1的文件变更成文件名为f2的文件。提问:如果f2事先已经有了,会如何?请注 意使用参数”-i” (这与cp指令的是同样的参数)。

mv f1 /dirA/dirB/.: 把文件f1移到dirB里面(请注意那个点)。

mv dir1 dir2:将文件名为dir1的目录变更成文件名为dir2的目录。提问:如果dir2事先已经有了,会 如何?请注意使用参数”-i”。

mv dir1 dir2/.:这是把目录dir1移到目录dir2里面(dir2必须是事先存在的)。注意与上面指令的区别。

mv f1 f2 f3 f4 dir/.:将文件f1,f2,f3…都移至目录dir里面。

1.4 rm rm的意义是remove,也就是用来删除一个文件或者目录的指令。一个被删除的文件除非系统有备份, 通常是不能够救回来的。所以在做rm动作的时候使用者应该要特别小心。

rm的格式如下: rm f1 f2 f3:删除文件f1, f2, f3。

而rm的参数比较常用的有几个: -i:(i: interactive.这在上面的cp和mv指令中已经介绍)在除去文件之前询问是否真要除去。

rm –rf dir1/:删除目录dir1,无论里面是空的,还是有文件,子目录,子子目录,一次全部删除。

-r:(r: recursive,递回式的)。 -f: (f: force, 强制性的)。

小心不要随便使用rm -rf,否则有一天你会“欲哭无泪”?? ? 1.5 mkdir mkdir是一个让使用者建立一个目录的指令。你可以在一个目录底下使用mkdir建立一个子目录,使用 的方法如下: mkdir dirname

再比如: mkdir -p dirnameA/dirnameB/dirnameC/ 一次性建立三层目录,目录里面有子目录,孙目录。这是用鼠标无法一次做到的。

1.6 cd 这是让使用者用来转移工作目录用的。 cd的用法如下: cd dirname 如此你就可以将目前的目录转移到dirname这一个目录去。

cd -: 回到你上一次所在的目录。

1.7 rmdir 相对于mkdir,rmdir是用来将一个“空的”目录杀掉的。这个目录必须是空的,里面没有任何文件和子目 录。rmdir的使用法如下: rmdir dirname1

如果一个目录底下有其他的文件,rmdir将无法将这个目录杀掉。参见上面使用rm ,陪上参数,删除 目录的指令。也就是因为这样的原因,我从不使用rmdir,而是使用rm。

1.8 pwd pwd 会将目前目录的路径(path working directory)显示出来。

 

以上是关于Linux/Unix/Cygwin 常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令计划任务管理

linux常用终端命令远程管理命令

Redis 入门和 RedisTemplate 常用方法(常用命令 + 案例源码)

mkdir 创建目录命令

Sqlserver,如何利用命令行或者sql脚本导出可执行的sql脚本?

必须熟练的基础linux命令