Linux基本操作¶
搜索文件¶
find
用于搜索文件
find
命令的一般形式为:
find pathname -options [-print -exec -ok ...]
参数含义:
|
所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 |
|
将匹配的文件输出到标准输出。 |
|
对匹配的文件执行该参数所给出的shell命令。相应命令的形式为command { } ;,注意{ }和;之间的空格。 |
|
和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 |
使用方法举例如下:
|
用于在当前目录及子目录中查找所有的 |
|
用于查找所有的 |
|
用于当前目录及子目录中查找文件名以一个大写字母开头的文件 |
|
在/etc目录中查找文件名以host开头的文件 |
|
在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.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#] 文件名
常见参数:
|
将压缩过程中产生的数据输出到屏幕上,可通过数据流重定向来处理; |
|
解压缩操作的参数。 |
|
用来检验一个压缩文件的一致性,看看文件有无错误; |
|
显示出原文件/压缩文件的压缩比等信息; |
|
压缩登记,-1最快,但压缩比差,-9最慢,压缩比好。默认是-6。 |
bzip2
:用bzip2
新建的压缩文件为.bz2
的文件名,当压缩文件的名称为.bz、.bz2、.tbz、.tbz2等时,可用bzip2
来解压缩。
使用方法
bzip2 [-cdkzv#] 文件名
常见参数:
|
将压缩过程中产生的数据输出到屏幕上; |
|
解压缩操作的参数; |
|
保留原文件,而不会删除原始的文件; |
|
压缩的参数; |
|
可以显示出原文件/压缩文件的压缩比等信息; |
|
与gzip相同,计算压缩比的参数,-9最佳,-1最快。 |
tar
:tar
命令的参数很多,
使用方法
tar [-j|-z] [cv] [-f 新建的文件名] filename 或 tar [-j|-z] [xv] [-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
, x
或 X
(dG
及 d1G
分别表示删除到页首及页尾)
如何复制一行、n行并加以贴上? yy
, nyy
, p
或 P
如何搜寻 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
类似的编辑修改文件命令还有:nano
、vim
、emacs
等,请参考各软件相应的帮助手册。
显示列出目录下的文件ls¶
ls最常用的参数有三个:-a
、-l
、指定目录,参数可混合使用。
ls -a
Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到它们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。超算中心用户经常需要操作的隐藏文件是~/.bashrc文件,用于设定使用程序的环境变量。
ls -l
(这个参数是字母L的小写,不是数字1) 以更加详细的信息方式显示目录下文件的属性。超算中心用户经常需要注意的是,查看需要调用的程序是否有可执行权限。指定目录ls
命令之后,指定一个目录,用于显示列出指定目录下的所有文件。
查看文件内容命令cat¶
cat
是concatenate的简写,它的功能是显示或连结一般的ascii文本文件。cat
会将文件里的内容全部显示出来。当文件内容过多,一个屏幕显示不全时,可使用类似功能的操作命令,head
、less
、more
、tail
等,区别是它们每次仅显示部分内容。
它的用法如下:
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
,详细的命令帮助与参数说明可用man
、info
命令。
例如命令`ls`的帮助信息:ls --help
或 man ls
或 info ls
或者使用baidu、google等搜索相关的帮助信息。
重命名、移动、复制命令¶
重命名、移动命令:mv
重命名文件可以理解为对原文件进行移动,保存成另一个名称的新文件,并将原文件删除。移动文件则可以将文件移动到当前目录下,或指定的其他目录下。
新建删除命令:touch
、mkdir
、rm
新建普通文件命令:touch
,也可以用cat
、vi
等命令完成
新建目录命令:mkdir
,即make directory的意思。
删除文件命令:rm
,即remove的意思。执行此命令需要小心,删除后的文件将无法恢复。
复制命令:cp
、scp
复制命令cp
,即copy的意思,用于复制一个文件在当前目录下或指定的另一个目录下。
scp
命令用于跨节点或远程服务器之间的复制操作。