Linux基本操作

搜索文件

find用于搜索文件

find命令的一般形式为:

find pathname -options [-print -exec -ok ...]

参数含义:

pathname

所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print

将匹配的文件输出到标准输出。

-exec

对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command { } ;,注意{ }和;之间的空格。

-ok

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

使用方法举例如下:

find . -name "*.txt" -print

用于在当前目录及子目录中查找所有的*.txt文件

find . -name "*.txt" -delete

用于查找所有的*.txt文件在当前目录及子目录中,并将查找到的文件删除,用户可使用此命令来删除陈旧的较大文件

find . -name "[A-Z]*" -print

用于当前目录及子目录中查找文件名以一个大写字母开头的文件

find /etc -name "host*" -print

在/etc目录中查找文件名以host开头的文件

find . -name "[a-z][a-z][0--9][0--9].txt" -print

在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件

获取Linux系统信息

uname -a

$ uname -a
Linux tc4600v4 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

文件打包压缩常用的命令

gzip:用gzip新建的压缩文件为*.gz的文件名,默认的状态下原本的文件被压缩为.gz的文件名,原文件就不存在了。

使用方法:

gzip [-cdtv#] 文件名

常见参数:

-c

将压缩过程中产生的数据输出到屏幕上,可通过数据流重定向来处理;

-d

解压缩操作的参数。

-t

用来检验一个压缩文件的一致性,看看文件有无错误;

-v

显示出原文件/压缩文件的压缩比等信息;

-#

压缩登记,-1最快,但压缩比差,-9最慢,压缩比好。默认是-6。

bzip2:用bzip2新建的压缩文件为.bz2的文件名,当压缩文件的名称为.bz、.bz2、.tbz、.tbz2等时,可用bzip2来解压缩。

使用方法

bzip2 [-cdkzv#] 文件名

常见参数:

-c

将压缩过程中产生的数据输出到屏幕上;

-d

解压缩操作的参数;

-k

保留原文件,而不会删除原始的文件;

-z

压缩的参数;

-v

可以显示出原文件/压缩文件的压缩比等信息;

-#

与gzip相同,计算压缩比的参数,-9最佳,-1最快。

tartar命令的参数很多,

使用方法

tar [-j|-z] [cv] [-f 新建的文件名] filename 或 tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录名]

常见参数:

-c

新建打包文件,可搭配-v来查看过程中被打包的文件名(filename);

-t

查看打包文件的内容含有哪些文件名,重点在查看文件名;

-x

解打包或解压缩的功能,可以搭配-C在特定目录解开;

-j

通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2

-z

通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz

-v

在压缩/解压缩的过程中,将正在处理的文件名显示出来;

-f

filename -f后边要接被处理的文件名,建议-f单独写一个参数;

-C

这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数。

注意

-c-t-x不可同时出现在一串命令行中;

文件编辑命令vim

vim共分为3个模式,即一般模式(默认的模式)、编辑模式、命令行模式。3种模式的作用分别如下:

一般模式: 以vim打开一个文件就直接进入了一般模式。在这个模式中,用户可以使用上下左右按键来移动光标,可以删除字符或删除整行,也可以复制、粘贴文件数据。

编辑模式: 要编辑文件内容,需要按下”i,I,o,O,a,A,r,R”等任何一个字母来进入编辑模式。通常在Linux中,按下这些按键时,在界面的左下方出现INSERT或REPLACE的字样,此时才可以进行编辑。如果要回到一般模式,则必须按下ESC按键退出编辑模式。

命令行模式: 在一般模式中,输入”:、/、?”3个中的任何一个按键,光标会移动到最下面一行。在此模式中,可以提供查找数据的操作,而读取、保存、大量替换字符、离开vim、显示行号等操作均是在此模式中完成的。

使用vim的常用命令快捷按键:

在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现``-Insert-`` )

在一般模式当中输入: o, O 为在一个新的一行输入新字符;

在一般模式当中输入: r, R 为取代字符!(左下角出现 -Replace-

如何由编辑模式跳回一般模式? [Esc]

若上下左右键无法使用时,请问如何在一般模式移动光标? h, j, k, l

若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页? [Ctrl] + [f] [Ctrl] + [b]

如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符? G, 1G, 0, $

如何删除一行、n行;如何删除一个字符? dd, ndd, xXdGd1G分别表示删除到页首及页尾)

如何复制一行、n行并加以贴上? yy, nyy, pP

如何搜寻 string 这个字符串? ?string (往前搜寻) /string (往后搜寻)

如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何? :1,$s/word1/word2/g:1,$s/word1/word2/gc (需要使用者确认)

如何读取一个档案filename进来目前这个档案? :r filename

如何另存新档成为newfilename? :w newfilename

如何存盘、离开、存盘后离开、强制存盘后离开? :w; :q: :wq; :wq!

如何设定与取消行号? :set nu :set nonu

类似的编辑修改文件命令还有:nanovimemacs等,请参考各软件相应的帮助手册。

显示列出目录下的文件ls

ls最常用的参数有三个:-a-l、指定目录,参数可混合使用。

ls -a Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到它们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。超算中心用户经常需要操作的隐藏文件是~/.bashrc文件,用于设定使用程序的环境变量。

ls -l(这个参数是字母L的小写,不是数字1) 以更加详细的信息方式显示目录下文件的属性。超算中心用户经常需要注意的是,查看需要调用的程序是否有可执行权限。指定目录ls命令之后,指定一个目录,用于显示列出指定目录下的所有文件。

查看文件内容命令cat

cat是concatenate的简写,它的功能是显示或连结一般的ascii文本文件。cat会将文件里的内容全部显示出来。当文件内容过多,一个屏幕显示不全时,可使用类似功能的操作命令,headlessmoretail等,区别是它们每次仅显示部分内容。

它的用法如下:

cat text 显示text这个文件里的内容。

cat file1 file2 依顺序显示file1,file2的内容。

cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

>是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。

如果>左边没有文件的名称,而右边有文件名,例如: cat >file1结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是刚刚输入的内容。

另外,如果你使用如下的指令: cat file1>>file2两个>,这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在。

获取命令的帮助手册

一般参数说明可在命令名后加-h--help,详细的命令帮助与参数说明可用maninfo命令。

例如命令`ls`的帮助信息:ls --helpman lsinfo ls 或者使用baidu、google等搜索相关的帮助信息。

重命名、移动、复制命令

重命名、移动命令:mv

重命名文件可以理解为对原文件进行移动,保存成另一个名称的新文件,并将原文件删除。移动文件则可以将文件移动到当前目录下,或指定的其他目录下。

新建删除命令:touchmkdirrm

新建普通文件命令:touch,也可以用catvi等命令完成

新建目录命令:mkdir,即make directory的意思。

删除文件命令:rm,即remove的意思。执行此命令需要小心,删除后的文件将无法恢复。

复制命令:cpscp

复制命令cp,即copy的意思,用于复制一个文件在当前目录下或指定的另一个目录下。

scp命令用于跨节点或远程服务器之间的复制操作。