Linux基础、vi编辑器、命令

  这篇文章是我看完韦东山老师Linux基础视频之后,所总结的。

Linux命令提示符

  命令提示符表示当前终端的状态
  book@www.100ask.org:~$ 其中,book是当前登录的用户名,www.100ask.org代表主机名,’ ./ ‘代表所在目录,‘~’代表家目 录。’ $ '是用户提示符,如果是root管理员,显示#,如果是普通用户,显示$ 。所以,可以说,命令提示符,显示了1)当前登录的用户名。2)用户当前所在的路径。
【参数】
  举例:

  ls    
  ls    -l    
  ls    -l  /home
 

  可以看出
1)命令这一部分肯定是存在的。
2)选项和参数不一定存在,可有可无。 选项和参数取决于你使用该命令实现的具体目的。
3)选项是以“-”来指明的。
4)命令、选项、参数之间是以空格来隔开的,一个或多个空格都视为1个空格。如ls -l /home 和 ls -l /home。
5)完成命令输入后,按下Enter键,即可执行该命令。=============================
   如ls命令有选项-l,那么ls到底有哪些选项哪?可以通过man ls来查看。 ls命令的选项有很多,入门阶段先掌握-l,-a,-h等选项。

Shell

  1.shell是什么?
  shell就是一个应用程序,我们可以通过键盘、串口给它发送命令,回车后它就会去执行这些命令。
   “以ls -1”命令为例,
(1)接收键盘数据并回显 比如:我们使用键盘给shell程序发送字母l,他收到后会在屏幕上显示出来。
(2)解析输入的字符串,寻找程序,执行程序 当我们使用键盘给shell程序发送回车时,它就知道字符输入结束了
a. shell会解析字符串,这些字符串用空格分为好几个部分。 第1部分就是程序名、命令名,其他部分是参数。
b.shell会去寻找该程序,去哪里找?去Path环境变量所指示的位置找。你当然也可以指定绝对路径、相对路径,shell就会直接去这些路径找到程序。
c.找到程序后,会启动该程序,并传入参数。
(3)shell还可以用于循环。 for((i=0;i<10;i++));do hello $i;done

  2.怎么设置PATH?
   以在PATH中添加/home/book目录为例:
2.1 永久设置之方法1: 修改/ect/environent,比如: sudo gedit /etc/environment , 然后添加下行斜线部分:PATH = "/home/book/bin:/home/book/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin:/snap/bin:/home/book" 然后重启系统或重新登录。
2.2 永久设置之方法2: 修改~/.bashrc,在行尾添加或修改:export PATH=$PATH:/home/book 然后重启系统或重新登录。
2.3临时设置 在终端执行以下命令,这只是对当前终端有效。export PATH = $PATH:/home/book

Linux绝对路径与相对路径

绝对路径:从根目录一级一级找下去,需要写完整路径名。
相对路径:参照当前所在目录进行查找。
举例:/home/work 是绝对路径。
相对路径一般以.和…构成。
1)当前路径为/bin,然后./pwd就是执行了/bin/pwd
2)当前路径为/home/book/100ask然后cd ./Videos/ 就到达/home/book/Videos
cd …/… 就到达 /home
注意事项:1)你切换的目录必须存在,可结合ls键使用。2)多使用table键。

LInux常用命令

(1)打印命令
命令:pwd
英文来源:print workink directory
功能:打印当前所在的路径。
命令格式和常用选项:

命令    选项    参数
pwd     \           \

(2)切换路径
命令:cd
英文来源:change directory
功能:改变路径、切换路径。
命令格式和常用选项:

命令    选项    参数
cd     \          [目录]

cd ~ :切换到当前目录的家目录
cd . :切换到当前目录。
cd … :切换到上一级路径。
cd …/… 切换到上上级路径(其中在Linux中,路径分割符为/)
cd - 返回到上一次的路径。

(3)列出目录
命令:ls
英文来源:list
功能:列出目录内容。
命令格式和常用选项:

命令            选项           参数
ls                -l  -a  -h       [目录]

1)lsls : 显示当前路径内容
2)ls 目录名
ls /home , 指定显示/home的内容
ls ~ , 则指定显示/home/book内容
3)ls 选项或 ls 选项 目录名
常用的选项:-l (long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后的修改时间、文件大小)
-a(all的缩写),显示了隐藏文件-h(human-able),将文件大小以K(KB)、M(MB)、G(GB)来表示。

(4)目录操作
命令:mkdir
英文来源:make it directory
功能:创建目录
命令格式和常用选项:

命令    选项   参数
mkdir  -p       [目录]

举例:
1)mkdir 目录名
mkdir dir0 创建了dir0这个目录。
2)mkdir -p 父目录/子目录
mkdir -p dir1/dir2-p(parents的缩写)
连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。

rmdir : 删除目录举例:
1)rmdir 目录名注意:rmdir不能删除非空目录(非空目录:该目录下面有子目录或者文件)。
如何删除非空目录:rmdir -r dir1

(5)文件的操作

touch: 新建文件

 touch 文件名

举例:
touch file1 在当前目录新建名为file1的文件
注意:
1)同一目录不能创建同名的目录。
2)Linux的文件名是区分大小写的,如file1和File1是不同文件。这一点跟windows不同。

 mv : 修改文件(目录)名、移动路径        
 mv  旧文件名  新文件名

—修改文件名
如:mv file1 filea将当前目录的file1改名为filea。
mv 旧目录名 新目录名
-----修改目录名如:mv dir1 dira将当前目录dir1改为dira。
mv 文件名 目录名
===>移动路径
如:mv filea dira将filea移动到dira子目录。
如:mv filea ~ 将当前目录下filea移动到家目录。
如:mv ~/filea … 将家目录下的fila移动到上一个路径。

cp(copy的缩写):复制文件(目录)
1) cp 源文件名 目标文件名
举例:
cp File1 file2 将当前目录下的文件File1拷贝成file2 。
2) cp 源文件名 目标目录名
举例: cp file2 dira/ 将当前目录下的文件file2拷贝到dira子目录。
3) cp 源目录名 目标目录名
举例: cp -r dira dirb 复制dira目录下的所有内容到dirb,其中-r参数是递归复制
cp -i file2 dira 如果dira目录下有同名的file2,加入-i参数就会要求你确认是否覆盖同名的文件。
注意:cp的常用参数有:-i,-r,-f,-d等。

rm(remove的缩写):删除文件(目录)

格式: rm  [选项]  [文件名] [目录名]

常用选项:
-i(interactive(交互)的缩写),删除文件(目录)之前,要求你确认是否同意删除 -r(recursive(递归)的缩写),递归删除指定目录下的子目录和文件。
-f(force(强制)的缩写),强制删除。
举例:
rm File1 删除当前目录下的File1文件。
rm -i file2 删除文件file2,删除文件之前,要求你确认是否同意删除,其中y表示同意删除,n表示取消删除。
rm -r dira 删除目录dira,-r表示递归删除。
rm -ir dirb 删除目录dirb,删除文件之前,要求你确认是否同意删除,其中y表示同意删除,n表示取消删除。
注意:1)删除文件(目录)前,确定该文件(目录)是否可以被删除。2)rm的常用参数有:-i,-r,-f等。

(6)文件的查看和编辑

1)cat 查看文件内容

cat  文件名

举例:
cat file1 将file1的内容打印到标准输出(默认标准输出指向终端)。
cat file1 file2 将file1和file2的内容依次打印到标准输出。
cat -n file1 显示内容并在内容前显示行号。
类似有查看命令:more、less、head、tail等。
2)gedit图形应用程序的编辑器。
3)vi编辑器。

(7)清除屏幕
clear : 刷新屏幕,保留历史命令操作记录。
说明:此命令本质上只是让终端向后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录。
reset : 重新初始化屏幕,清楚历史命令操作记录。

(8)Linux的命令man、info、–help
1)man
在这里插入图片描述
在这里插入图片描述
ls 常用选项为-l、-a、-h可以通过man ls来查看这些选项的含义。
举例:
man man 查看man手册。
man ls 当没有指定那一页时,默认使用第一页。
man 1 lsman 1 gcc gcc是一个应用程序,在Linux中一般使用gcc编译器来编译c/c++语言的程序。open/write/read/close等等都是系统调用。
man 2 open 查看系统调用open的man手册调用。
注意:
1)man手册的9
2)info如 info ls
3)–help如 ls --help

vi编辑器

一个编辑器具备的功能
1)打开文件、新建文件、保存文件
2)光标移动
3)文本编辑
4)(多行间|多列间)复制、粘贴、删除
5)查找和替换
vi编辑器的配置

cd /etc/vim
cp vimrc ~/.vimrc
cd ~
gedit .vimrc

在.vimrc中加入如下内容:
"关闭兼容功能set nocompatible
"显示行号set number
"编辑时 backspace 键设置为2个空格set backspace=2
"编辑时 tab 键设置为4个空格set tabstop=4
"设置自动对齐为4个空格set shiftwidth=4
"搜索时不区分大小写set ignorecase
"搜索时高亮显示set hlsearch

vi编辑器有三种模式
1)一般模式(光标移动、复制、粘贴、删除)
2)编辑模式(编辑文本)
3)命令行模式(查找和替换)
注意:
1)当不知道处于何种模式时,按ESC键返回到一般模式。
2)wq(write quit) 3)
i (insert)

1.打开文件、新建文件、保存文件

vi 文件名

如果文件存在,输入结束后,:wq保存并退出文件。
如果文件不存在,输入结束后,:wq就可以新建并保存文件。
在编辑完成时,返回一般模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件。
2)输入:wq保存并退出。
3)如果不想保存被修改的内容,则:q!强制退出。

2.进入编辑模式
i(在光标前插入文本)
o(在当前行之下新开一行,并到行首)

3.光标移动
  在一般模式下,hjkl这四个按键就可以移动光标。

&#8195;&#8195;h()
&#8195;&#8195;j(下)
&#8195;&#8195;k()
&#8195;&#8195;l()

  快速的定位到某一行
  文件头、文件尾、指定的某一行
  ngg/nG光标移至第n行的行首(n为数字),如1gg就跳到第一行的行首,就是文件头。如2gg就跳到第二行的行首。
  G转至文件结尾
  k转至当前行的上一行。
  注意:ngg和G是在一般模式。
  在某一行如何快速定位到某一行
   0(数字零)光标移至当前行行首。
   ’ $ '光标移至当前行行末。
  fx搜索当前行中下一个出现字母x的地方
注意:0、$、fx是在一般模式

vi的难点
   1)vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 当你不知道处于何种模式时,使用esc键返回到一般模式。再去看光标,难点就在于移动光标,可以做到快速移动光标到某一行某一列。

4.文本复制、粘贴、删除、撤销
yy复制当前行(y:yank(复制))
注意:c:change(c代表的是change)。
nyy复制当前行及其后的n-1行(n是数字)
使用p键来粘贴(p: paste)
dd 删除光标所在行。(d: delete)
ndd 删除当前行及其后的n-1行(n是数字)。
按u键来撤销上一步操作。
x删除光标所在位置的一个字符。
注意:yy/nyy/dd/ndd/x/u都是在一般模式下。
例子:
1)复制第一行的内容到最后一行之后,然后撤销。 1gg - yy - G - p - u
2)复制第一行的内容到最后一行之前,然后撤销。 1gg - yy - G - k - p - u
3)复制第2行到第4行的内容到最后一行之后。2gg - 3yy - G - p
4)删除最后一行,在删除最后两行。G - dd - k - 2dd
5)到第一行末尾加入字符串ab,然后删除字母b。1gg - $ - i - 方向右键 - ab - esc - x或1gg - $ - a - ab - esc - x

5.查找或替换
/pattern 从光标开始处向文件尾搜索pattern,后按下n或N。
注意:
n在同一个方向重复上一次搜索命令。
N在反方向重复上一次搜索命令。
n(N)来源于单词next
注意:
在/pattern之前先跳到第一行则进行全文件搜索。
:%s/p1/p2/g将文件中所有的p1用p2替换。
:%s/p1/p2/gc替换是需要确认

s : substitute替换
g : global全局
c : confirm确认

Linux进阶命令

find
目的:查找符合条件的文件
1)在那些目录中查找
2)查找的内容
格式:

 find   目录名   选项    查找条件

举例:
1)find /work/system/dira/ -name "test1.txt"
说明:
a) /work/system/dira/ 指明了查找的路径。
b)-name表名以名字来查找文件。
c)“test1.txt”,就指明查找名为test1.txt的文件。
同理:
   find /work/system/dira/ -name ".txt"
  查找指定目录下面所有以.txt结尾的文件,其中
是通配符。
  find /work/system -name “dira”
   查找指定目录下面是否存在dira这个目录,dira是目录名。
注意:
1)如果没有指定查找目录,则为当前目录。
   find . -name “.txt" 其中.代表当前路径
  find -name "
.txt” 都是一样的功能
2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件。
   find /home -mtime -2 查找/home目录下两天内有变动的文件。

Linux进阶命令 grep
目的:使用grep命令来查找文件中符合条件的字符串。
格式: grep [选项] [查找模式] [文件名]
查找字符串时希望显示如下内容:
1)所在的文件名 ----grep查找时默认已经显示目标文件名。
2)所在的行号 ---- 使用-n选项
grep -rn “字符串” 文件名
r(recursive): 递归查找
n(number): 显示目标位置的行号
字符串:要查找的字符串。
文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录。
举例:
grep -n "abc" test1.txt 在test1.txt中查找字符串abc
grep -rn "abc" * 在当前目录递归查找字符串abc
注意:1)可以加入-w全字匹配。

Linux进阶命令之file
目的:识别文件类型
格式:file 文件名
Linux下一切皆文件。

举例:
file ~/.bashrc 为ASCII编码的text类型。
file ~/.vimrc 为UTF-8 Unicode 编码的text类型。
file ~/Pictures/* 如图形文件JPEG/PNG/BMP格式。
file ~/100ask/ 为directory表名这是一个目录。
file /bin/pwd 出现 ELF 64-bit LSB executable 即为ELF格式的可执行文件。file /dev/* 出现character special(字符设备文件)、block special(块设备文件)等

Linux进阶命令whichwhereis
目的:查找命令或应用程序的所在位置。
格式:which 命令名/应用程序名
在终端上执行pwd实际上是去执行了/bin/pwd
举例:which pwd定位到/bin/pwd
which gcc定位到/usr/bin/gcc
whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

Linux进阶命令压缩
1.压缩的概念
1)压缩的目的:
在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。 接受者接受文件后,解压即可。
2)压缩的类型 有损压缩、无损压缩。
a)有损压缩: 如mp4视频文件,即使压缩过程中,减少很多帧的数据。 b)无损压缩: 如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。
2.Linux下常用的压缩命令
小节:
单个文件的压缩(解压)使用gzip和bzip2
多个文件和目录使用tar
gzip的常用选项
-l(list) 列出压缩文件的内容
-k(keep) 在压缩或解压时,保留输入文件。
-d(decompress) 将压缩文件进行解压缩

1)查看

gzip  -l 压缩文件名  

比如:
gzip -l pwd.1.gz
2)解压

gzip -kd  压缩文件名 

比如:gzip -kd pwd.1.gz 该压缩文件是以.gz结尾的压缩文件
3)压缩

gzip -k 源文件名      

比如:gzip -k mypwd.1 得到了一个.gz结尾的压缩文件。
注意:
1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,并删除原有的文件,所以说,推荐使用gzip -k 来压缩源文件。
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。
3)gzip只能压缩单个文件,不能压缩目录。

bzip2来压缩单个文件
bzip2的常用选项
-k(keep) 在压缩或解压时,保留输入文件。
-d(decompress) 将压缩文件进行解压缩。
1)压缩

bzip2  -k 源文件名

bzip2 -k mypwd.1得到一个.bz2后缀的压缩文件。
2)解压

bzip2 -kd 压缩文件名 

bzip2 -kd mypwd.1.bz2

注意:
1)如果bzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,并删除原有的文件,所以说,推荐使用bzip2 -k来压缩源文件。
2)bzip2只能压缩单个文件,不能压缩目录。
单个文件的压缩使用gzip或bzip2,
压缩有两个参数:
1)压缩时间 2)压缩比
一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。
mypwd.1源大小是1477字节,
gzip压缩后mypwd.1.gz是879字节。
bzip压缩后mypwd.1.bz2是926字节。
-rw-r–r-- 1 book book 1477 12月 2 22:46 mypwd.1
-rw-r–r-- 1 book book 936 12月 2 22:46 mypwd.1.bz2
-rw-r–r-- 1 book book 879 12月 2 22:46 mypwd.1.gz
myls.1源大小是7664字节,
gzip压缩后mypwd.1.gz是3145字节。
bzip压缩后mypwd.1.bz2是3064字节。
-rw-r–r-- 1 book book 7664 12月 2 23:17 myls.1
-rw-r–r-- 1 book book 3064 12月 2 23:17 myls.1.bz2
-rw-r–r-- 1 book book 3145 12月 2 23:17 myls.1.gz
gzip、bizp2只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。所以需要tar来对多个目录、文件进行打包和压缩。

tar常用选项
-c(create) 表示创建用来生成文件包。
-x : 表示提取、从文件中提取文件
-t :可以查看压缩的文件
-z :使用gzip方式进行处理,它与“c”结合就表示压缩,与"x"结合就表示解压缩。
-j : 使用bzip2方式进行处理,它与“c”结合就表示压缩,与"x"结合就表示解压缩。
-v(verbose) 详细报告tar处理的信息。
-f(file) 表示文件,后面接着一个文件名。
-c <指定目录> 解压到指定目录。

1.tar打包、gzip压缩
1)压缩

tar -czvf 压缩文件名  目录名

如:tar czvf dira.tar.gz dira
注意:
tar -czvf与 tar czvf是一样的效果,所以说,后面统一取消。
2)查看
tar tvf 压缩文件如:tar tvf dira.tar.gz
3)解压
tar xzvf 压缩文件名
tar xzvf 压缩文件名 -C 指定目录
如:tar xzvf dira.tar.gz解压到当前目录
如:tar xzvf dira.tar.gz -C /home/book解压到/home/work。

1.tar打包、bzip2压缩
1)压缩

 tar -cjvf 压缩文件名  目录名

如:tar cjvf dira.tar.bz2 dira
注意: tar -cjvf与 tar czvf是一样的效果,所以说,后面统一取消。
2)查看
tar tvf 压缩文件如:tar tvf dira.tar.bz2
3) 解压
tar xjvf 压缩文件名
tar xjvf 压缩文件名 -C 指定目录
如:tar xjvf dira.tar.bz2解压到当前目录
如:tar xjvf dira.tar.bz2 -C /home/book解压到/home/work。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vi编辑器linux系统中常用的文本编辑器,常用命令如下: 1. 打开文件:vi 文件名 2. 编辑模式:i(插入模式),esc(退出编辑模式) 3. 保存文件::w(保存),:wq(保存并退出) 4. 退出文件::q(退出),:q!(强制退出) 5. 复制,剪切和粘贴:yy(复制一行),dd(剪切一行),p(粘贴) 6. 查找和替换:/关键词(查找),:%s/原文本/新文本/g(替换) 7. 移动光标:h(左),j(下),k(上),l(右) 8. 撤销和重做:u(撤销),ctrl+r(重做) 请注意,这些是vi编辑器的常用命令,完整的命令列表还有更多。 ### 回答2: vi是一款功能强大的文本编辑器,常用于Linux系统中。它具有多种命令,用于编辑、保存和退出文件等操作。 首先,当我们启动vi编辑器时,会进入命令模式。在命令模式下,我们可以执行各种操作。以下是常用的命令: 1. i或a:进入插入模式。i用于在光标前插入文本,a用于在光标后插入文本。按ESC键可退出插入模式。 2. :w:保存文件。输入:w命令后,vi会将当前文件保存。 3. :q:退出vi编辑器。输入:q命令后,vi会直接退出,但若文件未保存,则提示保存后退出。 4. :wq:保存并退出。如果文件进行了修改,可以使用这个命令同时保存并退出vi编辑器。 5. :set nu:显示行号。输入:set nu命令后,可以在编辑器左侧显示每行的行号。 6. :/keyword:搜索关键字。在命令模式下输入:/关键字,可以搜索文件中的关键字。 7. :d:删除一行或多行。输入:d命令后,可以删除光标所在的行。 8. :dd:剪切一行或多行。输入:dd命令后,可以剪切光标所在的行。 9. :p:粘贴。输入:p命令后,可以将剪切板中的内容粘贴到光标所在的行后。 10. :u:撤销。输入:u命令后,可以撤销先前的编辑操作。 以上是vi编辑器的一些常用命令,当然还有更多命令可以用于不同的编辑需求。熟悉这些命令将能提高编辑效率,方便我们在Linux系统中进行文本编辑工作。 ### 回答3: vi是一款非常常用的文本编辑器,被广泛应用于Linux操作系统中。以下是一些常见的vi编辑器命令: 1. 启动vi编辑器:在命令行界面中输入“vi命令,然后再加上要编辑的文件名即可打开该文件。例如:vi filename。 2. 进入编辑模式:在启动vi后,默认是处于命令模式下,要进入编辑模式,按下“i”键或者“A”键,即可进入插入模式或者附加(追加)模式。 3. 保存文件:在编辑模式下,按下“ESC”键退回到命令模式,然后输入“:w”命令保存文件。 4. 退出编辑器:在命令模式下,输入“:q”命令退出编辑器。 5. 保存并退出:在命令模式下,输入“:wq”命令,即可保存并退出。 6. 强制退出:如果修改了文件但没有保存,可以使用“:q!”命令强制退出编辑器。 7. 删除字符:在命令模式下按下“x”键即可删除光标所在的字符。 8. 复制和粘贴:在命令模式下,选择要复制的文本,按下“y”键进行复制,然后将光标移动到要粘贴的位置,按下“p”键即可粘贴。 9. 搜索:在命令模式下,按下“/”键,然后输入要搜索的内容,按下回车键即可进行搜索。 10. 替换:在命令模式下,按下“:s/old/new/g”命令,将文本中的“old”字符串替换为“new”。 这仅仅是vi编辑器的一些基本命令vi还有很多其他功能和命令可以探索和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值