Linux-常用命令1---对文件进行查看、复制、移动和分割
基于Linux的操作系统是一种自由和开放源代码的类UNIX操作系统。
Linux的几大特点决定了它的不可代替和无法超越性:
(1)免费的/开源的;(2)支持多线程/多用户;
(3)安全性好; (4)对内存和文件管理有自己优越的方法。
Linux常用的命令###
路径的表示方法###
cd :change directory的缩写,用于改变当前路径;
语法:cd [相对路径或绝对路径]
绝对路径:cd /etc :表示从根目录开始进入(只要以/开始都是绝对路径)
相对路径:cd ../etc:表示返回到上一级目录然后进入etc目录。
cd ~:回到自己的家目录。
创建/删除/查看目录###
【1】 mkdir:创建目录。
语法:mkdir [-option];其常用参数有:-p
-p :当建立的目录的父目录不在时,同时建立父目录(mkdir -p test/test1)
【2】 rmdir: 用于删除目录;
语法:rmdir 目录名称。
*但是得注意目录必须为空。
【3】rm :删除;
语法:rm [-option];常用的参数有:-f,-r
-f:强制删除,不提示用户是否删除的信息。
-r:循环删除,常用于删除目录。
【4】 pwd:用于显示当前所在的目录;
语法:pwd.
【5】 ls :用于显示指定目录下的内容;
语法:ls [-option] [file];其常用参数有:-a ,-A ,-l
-a:显示所有的文件和目录,包含隐藏文件和目录。
-A:显示所有的文件和目录,包含隐藏文件和目录,但不显示“.”和“..”目录。
-l:显示文件和目录的完整属性信息。(长列表格式)
*注意:.表示当前目录; ..表示上一级目录。 两个短选项可合并。例如:-al (-a -l)
复制/移动文件###
【1】cp:复制粘贴;
语法:cp [--option] 源目标;常用参数:-r
-r:循环进行目录复制;例如:cp -r test abc:将当前目录下的test目录中的所有内容包括子目录均复制到abc目录下。
【2】mv: 用于移动文件或目录;
语法:mv 源 目标
例如:mv test abc :将当前目录下的test目录移动到abc目录下。
查找文件的位置###
【1】which:查找可执行文件的位置,该命令通过环境变量PATH所设置的路径进行搜索
语法:which 文件名
【2】whereis:根据设定好的目录进行查找,但是和which不同,它并不是使用PATH环境变量,而是自定义的一组目录。
语法:whereis [-option] 文件名;常用参数:-b;-m
-b:只查找二进制文件。
-m:只找说明文件。
【3】find:find命令可以对指定的目录以及其所有的子目录进行文件搜索。
语法:find [path] [-option] 文件名;常用参数-name file ; -type file
例子:比如我们现在想找一个文件,只记得它在/etc目录下,是否在某个子目录下却不清楚了,
名字也记不清了,只知道名字中有http这个单词,我们可以用如下格式:
find /etc -name '*http*'
find /etc -type '.txt'
但是需要注意的是find命令在查找分数据时直接查找硬盘数据,比较消耗硬盘,所以我们最好不用find命令,可以用locate代替。
【4】locate:查找文件,比find命令快很多,因为locate命令时从已建立的数据库/var/lib/slocate中查找数据,而不是直接在硬盘上查找,相当于查找快照的一种方式。
语法:locate 文件名
编辑文件及查看文件内容###
【1】vi:用于编辑文本文件。
vi编辑器是Linux下最有名的编辑器,也是我们学习Linux必须掌握的工具,在Unix下也可以使用vi进行程序的开发。
语法:vi 文件名。
vi分为三种模式:一般模式、编辑模式、命令行模式。
-
一般模式:当我们进入这个文件的时候,就是一般模式,我们可以上下移动光标,(只能用键盘来移动,鼠标是不管用的),可以删除某个字符,删除某行,复制、粘贴一行或者多行。
-
编辑模式:一般模式下,我们是不可以修改字符的,只能到编辑模式,按(i)键即可进入编辑模式,当进入编辑模式时,下方会有一行字:INSERT;这时我们就可以对文件进行编辑了,我们若想回到一般模式,需要按(esc)键。
-
命令行模式:在一般模式下输入(:),即可进入命令模式。这时我们可以对文件进行加行号显示,定位到某一行,保存退出,不保存退出等等。
:wq:保存并退出;
:q!:不保存退出;
:set nu:在每行的行首显示行号;
:n:n表示一个数字,代表你想定位到n 行。
使用vi编辑器在Linux下,编写Hello.java的程序,可以在Linux下运行。
开发步骤:
(1)Vi Hello.java回车;
(2)输入i(进入插入模式),输入i之后后面会出现INSERT,这时候才能写入东西,否则不 能写入任何东西;
(3)输入esc键(进入命令模式);
(4)输入冒号(:): 这时有两个选择:1、保存并退出(wq)。2、退出但不保存(q!);
(5)编译Hello.java(javac Hello.java);
(6)运行程序(java Hello)。
【2】cat :查看文件内容,只能查看文本文件内容。
语法:cat [-option] 文件名;常用参数:-n,-b
-n:连行号一起显示在屏幕上。
-b:连行号一起显示在屏幕上,但空行不算。
【3】more :查看文件内容;
语法:more 文件名。
more命令和cat命令相似,同样是在屏幕上显示文件内容,但是如果文件内容太多,超过40行,cat会一闪而过,more则会在显示完一屏内容后停下,等待用户往下翻,下翻命令可以用回车(单行下翻)或Ctrl+f(整页下翻)。如果要退出则按q键。
【4】head :查看文件内容;
语法:head [-option] 文件名;常用参数:-n
-n:指定显示多少行。如果不加参数-n,则默认显示文件的前10行内容。
例如:head -3 abc:显示abc文件的前3行内容。
【5】tail:查看文件内容 ;
语法:tail [-option] 文件名;常用参数:-n
-n:指定显示多少行。如果不加参数-n,则默认显示文件的后10行内容。
字符串与文件内容处理###
【1】cut:用于截取文件内容。
语法:cut [-option] 文件名;常用参数:-c, -f ,-d.
-c:参数后面跟数字,表示指定第几个字符;
-f:参数后面跟数字,表示指定第几个区;
-d:后面跟分隔用的字符,如果不加该参数,默认为tab。
例如:我们创建了一个文件test,内容是abc 2015-3-08 15:3:16;我们的目的是取出2015,步骤如下:
(1)先用-进行分割,取第一部分:cut -d "-" -f 1 test。这时的结果是abc 2015;
(2)在第一部分的基础上,取出2015:cut -d "-" -f 1 test | cut -d " " -f 2。
需要重点指出来的是,我们在截取文件内容的时候,会用到管道这个命令,用 | 来表示,它的意思是把第一次的输出内容作为第二次的输入内容。可无限制的进行连接
【2】grep: 查看文件里面的部分内容。
语法:grep [-option] 文件名;常用参数:-i,-v,-n,-x
-n:在输出符合要求的行的同时连同行号一起输出;
-i:忽略大小写;
-v:打印不符合要求的行;
-x:查询一整行一模一样匹配的项。
我们看三个例子:
例子1:grep -n -i "hello" abc :在文件abc中不区分大小写的查找有内容hello的这一整行,并打印行号。
例子2:grep -n -i "hello" abc | grep -n "linux" :从已经在文件abc中查找出来的带有hello字符串的所有行中,再进行查找有Linux字符串的行。
例子3:grep -n -i "hello" abc | grep -v "linux" :从已经在文件abc中查找出来的带有hello字符串的所有行中,再进行查找没有Linux(不符合要求的)字符串的行。