在linux中,一切都是文件,其文件目录结构是树形,“/”称为根目录。
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动openEuler时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev是Device(设备)的缩写, 该目录下存放的是openEuler的外部设备,在openEuler中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/media:openEuler系统会自动识别一些设备,例如U盘、光驱等等,当识别后,openEuler会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有/var/run目录,应该让它指向run。
/sbin:这里存放的是系统管理员使用的系统管理程序,s就是Super User的意思。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/home:用户的主目录,在openEuler中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
绝对路径:. 表示当前目录 …表示上级目录
- pwd命令
pwd命令用于打印出当前的工作目录。
pwd命令有两个选项,-L 和 -P,其作用类似于cd 命令的同名选项。
-L 目录连接链接时,输出连接路径。
-P 输出物理路径。
- cd命令cd /usr 进入目录 /usr 中。
cd … 进入(退到)上一层目录,两个点代表父目录。
cd . 进入当前目录 cd 不带参数,则默认回到家目录。
cd - 进入前一个目录,适用于在两个目录之间快速切换。
cd ~ 进入家目录
- 列出文件信息ls命令
ls 列出当前目录下的所有文件和目录(隐藏文件除外)
ls -l 显示详细信息
ls -A 显示隐藏的文件和目录(不包括 . 和 …)
ls -a 显示隐藏的文件和目录(包括 . 和 …)
ls -t 按时间排序
ls -S 按大小排序
ls -X 按扩展名排序
ls -r 反过来排序
ls -1 一行显示一个文件
ls -lh -h 选项用人类易读的格式显示大小信息
ls -x 逐行显示,而非默认的逐列显示
ls -l /bin/bash 列出指定文件的信息
ls -l / 列出指定目录的内容
ls -ld / -d 选项用于列出目录本身的信息,而非目录的内容
ls -l file1 file2 可以同时列出多个文件
- gzip命令
gzip是经常使用的一个对文件进行压缩和解压缩的命令。
gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间。
语法:gzip[参数][文件或者目录]
-d或–decompress或----uncompress 解开压缩文件。
-f或–force 强行压缩文件,不理会文件名是否存在以及该文件是否为符号连接。
-l或—list 列出压缩文件的相关信息。
-r或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。
- tar命令
tar命令可用于打包文件,把多个文件打到一个包中,方便数据的移动。
语法:tar [OPTION…] [FILE]
-c 建立新的压缩文件。
-x 从压缩的文件中提取文件。
-t 显示压缩文件的内容。
-z 支持gzip解压文件。
-j 支持bzip2解压文件。
-v 显示操作过程。
-f 指定压缩的文件名字。
- mkdir命令
mkdir命令用于创建目录(文件夹)。
语法:mkdir [OPTION]… DIRECTORY…
参数:
-m :配置文件的权限,直接配置,不需要看默认权限 (umask) 的脸色。
-p :直接将所需要的目录(包含上一级目录)递归创建起来!
mkdir命令可以一次性创建多个目录,如果目录已经存在,默认会报错,-
p选项可以使mkdir 命令在这种情况下不报错,-p选项还可以用于自动创建
不存在的父目录。
- rmdir命令
rmdir命令用于删除空目录(文件夹)。
语法:rmdir [OPTION]… DIRECTORY…
参数:-p,从该目录起,一次删除多级空目录
- catcat命令用于读取文件的全部内容;或者将几个文件合并为一个文件。
语法:cat [OPTION] [FILE]
-A, --show-all 等价于 –vET。
-b, --number-nonblank 对非空输出行编号。
-E, --show-ends 在每行结束处显示 $。
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号。
- touch
touch命令可用于创建空文件;也可用于修改文件的时间戳。
语法:touch [OPTION]… DIRECTORY…
参数:
-a 改变档案的读取时间记录。
-m 改变档案的修改时间记录。
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
-f 不使用,是为了与其他 unix 系统的相容性而保留。
-r 使用参考档的时间记录,与 --file 的效果一样。
-d 设定时间与日期,可以使用各种不同的格式。
-t 设定档案的时间记录,格式与 date 指令相同。
- cp
cp命令用于复制文件或者目录,可以一次复制单个文件,也可以一次复制
多个文件(cp 命令属于高危命令,使用不慎就会有丢失数据的危险)。
语法:cp [OPTION]… SOURCE… DIRECTORY
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录
下的所有内容。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录
和文件。
-l:不复制文件,只是生成硬链接文件。
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件。
cp 命令既可以复制文件,也可以复制目录。我们先来看看如何复制文
件
- mv
mv命令用于移动件或者目录(高危命令,使用不慎就会有丢失数据的危
险)。
如果原文件和目标文件在同一个父目录里面,则mv命令的效果就相当于
给文件改名。
语法:mv [选项] 源文件或目录 目标文件或目录。
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖。
-u :若目标文件已经存在,且 source 比较新,才会更新(update)。
- rm
rm命令用于删除文件或者目录。
rm命令属于高危命令,没有一个工具能够100% 恢复rm命令删除的文件,
rm命令删除文件时并不是把文件放到类似图形界面的“回收站”里,所以没
有“撤销删除”操作可用。
语法:rm [OPTION] file_or_dir
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除。
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删
除。
-v, --verbose 详细显示进行的步骤。
- head
head用来显示文件的开头内容,默认head命令打印其相应文件的开头10
行。
语法:head [OPTION] [FILE]
命令参数:
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n,显示的行数
- tail
tail命令用于读取文件的尾部。
语法:tail [OPTION]… [FILE]…
主要参数:
-f 循环读取。
-q 不显示处理信息。
-v 显示详细的处理信息。
-c<数目> 显示的字节数。
-n<行数> 显示行数。
- more
more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空
白键(space)就往下一页显示,而且还有搜寻字串的功能。more命令从
前向后读取文件,因此在启动时就加载整个文件。
语法:more [OPTION]… [FILE]…
+n 从笫n行开始显示。
-n 定义屏幕大小为n行。
+/pattern 在文件显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示。
-c 从顶部清屏,然后显示。
- less
less命令读取内容,分屏显示,less与more类似,但使用less可以随意浏览
文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会
加载整个文件。
语法:less [OPTION]… [FILE]…
常用操作:
/字符串:向下搜索“字符串”的功能。
?字符串:向上搜索“字符串”的功能。
q 退出less 命令。
[pageup] 往前翻看文件。
[pagedown] 往后翻看文件。
空格键 滚动一页。
回车键 滚动一行。
- find
find命令用来在指定目录下查找文件。
可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找
文件。
常用语法:find [path…] [expression]
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件 。
-user 按照文件属主来查找文件 。
-mtime -n +n 按照文件的更改时间来查找文件。
- which
which命令在PATH所指定的目录中查找可执行文件。
使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是
哪一个位置的命令。
语法:which [options] programname […]
文本编辑器是操作系统基础的功能软件之一。根据使用环境的不同,Linux的文本编辑器有很多类型。
常见的Linux文本编辑器有:emacs、nano、gedit、kedit、vi、vim。
vi是标准的Unix文本编辑器,也是最古老的文本编辑器、最通用的文本编辑器。所有的Linux、Unix都默认带有vi文本编辑器。虽然vi的操作方式与其他常用的文本编辑器(如gedit)很不相同 ,但是由于其运行于字符界面,并可用于所有unix/linux环境,仍被经常使用。
vi的三种命令模式:
Command:命令模式,用于输入命令;
Insert:插入模式,用于插入文本;
Visual:可视模式,用于浏览文本。
优点:通用,几乎所有的Unix、Linux都自带vi。
缺点:功能简单,显示效果单一。
Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
从vi派生出来的Vim具有多种模式:
基本模式:普通模式、插入模式、可视模式、选择模式、命令行模式、Ex模式
派生模式:操作符等待模式、插入普通模式、插入可视模式、插入选择模式、替换模式
安装vim: yum -y install vim
vim [options] [file] 编辑指定文件
常见参数:
-c :打开文件前线执行指定的命令
-R :以只读方式打开,但是可以强制保存
-M :以只读方式打开,不可以强制保存
-r :回复崩溃的会话
+num :从第num行开始
vim基础操作:
- 移动光标
上下左右键或k、j、h、l键上下左右移动光标
0 移动到行首
g0 移到光标所在屏幕行行首
:n 移动到第n行。
gg: 到文件头部。
G: 到文件尾部。- 数据复制
yy or Y: 复制整行文本。
y[n]w: 复制一(n)个词。3. 数据粘贴
面向行的数据:
p 放置数据在当前行的下面
P 放置数据在当前行的上面
面向字符的数据:
p 放置数据在光标的后面
P 放置数据在光标前- 数据删除
d[n]w: 删除(剪切)1(n)个单词
[n] dd: 删除(剪切)1(n)行。- 显示与取消行号。
显示行号
:set nu
取消显示行号
:set nonu- 查找
:/word 在光标之后查找一个字符串word,按n向后继续搜索,shift+n向上
搜索。
:?word 在光标之前查找一个字符串word,按n向后继续搜索。- 替换
:1,5s/oldword/newword/g
将文档中1-5行的oldword替换为newword,不加g则只替换每行的第一个
oldword。
:%s/ oldword/newword /g
将文档所有的oldword替换为newword,不区分大小写。- 设置搜索高亮
临时设置时,在命令模式下输入:
:set hlsearch- 保存文件
:w 保存
:q 退出
:wq 保存并退出
:q! 强制退出
:wq! 强制保存并退出