Linux-常用命令1---对文件进行查看、复制、移动和分割

时间:2022-12-10 16:18:27

基于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 文件名

同样locate也有它的弊端,有时候我们查找到的是已经被删除的数据,或者刚刚新建的文件我们找不到,这时由于数据库文件的更新机制导致的,我们可以用updatedb命令进行手动更新,然后再用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(不符合要求的)字符串的行。