Linux学习——第二部分 常用命令、特殊字符、查看内容、VI编辑器

一、常用命令

1.touch命令

  • 创建一个文件或者修改文件的更新时间
    touch a.txt
    • 当a.txt文件不存在的时候,会创建该文件
    • 当a.txt文件存在的时候,会更新文件的修改时间
  • 创建多个文件
    touch a b c d

2.mkdir命令

  • 创建一个目录:mkdir test
  • 创建多个平级目录:mkdir test1 test2 test3
  • 在当前用户家路径下创建一个子目录:mkdir ~/test4
  • 创建多级子目录,-p表示如果子目录不存在就创建:mkdir -p test1/test2/test3

3.cp命令

  • 复制当前目录下a.txt文件内容到b.txt中:cp a.txt b.txt
    • 如果b.txt不存在,则自动创建b.txt文件
    • 如果b.txt 存在,则自动覆盖b.txt文件内容
  • 使用-i 进行覆盖提示: cp -i a.txt b.txt
  • 复制多个文件,到一个指定目录:cp a.txt b.txt test
    复制a.txt b.txt文件到test目录中,要求这些文件和目录都是存在的
  • 复制文件夹和它的内容,到另一个文件夹中:cp -r test1 test2
    • 如果test2目录不存在,则创建test2并把test1目录中的内容复制进去,不包含test1目录
    • 如果test2目录存在,则把整个test1目录及其内容全都复制到test2中,包含test1目录
  • 把test目录复制到test4目录中,并且修改目录名字为:temp cp -r test test4/temp
    要求test4目录必须是存在的

4.mv命令

  • 移动一个文件:mv a.txt test
    可以同时移动多个文件到目录中:mv a.txt b.txt c.txt test
  • 将test目录中的a.txt移动到当前目录:mv ./test/a.txt .
  • 修改一个文件的名字,将a.txt改为b.txt:mv a.txt b.txt
  • -i参数,覆盖提示:mv -i a.txt b.txt
  • 修改目录的名字(dir2不存在的时候):mv dir1 dir2
  • 将一个目录移动到另一个目录中(这是dir2存在的时候):mv dir1 dir2

5.rm命令

  • 删除一个文件:rm a.txt
  • 删除前提示确认:rm -i a.txt
  • 删除多个文件:rm a b c d
  • 删除空目录:rmdir test
  • 删除非空目录:rm -r test
  • 删除非空目录,并且删除前确认:rm -r -i test或者rm -ri test
  • 删除非空目录,强制删除,不做任何提示:rm -r -f test或者rm -rf test

6.man命令

查看ls命令的使用手册:man ls

空格,每次往下翻一个屏幕的内容
回车,每次往下翻一行内容
b,每次向上翻回一页
f, 每次向下翻一页
q,退出当前手册界面
/stirng,查找指定字符串,例如,/the 就是查找这个单词
n,配合/string命令,可以快速调整跳到下一个指定字符串的位置

7.telnet

使用telnet命令进行远程登录服务器
ifconfig ,查看ip地址

telnet远程登录服务器的要求:

  1. 本机有telnet客户端,可以使用telnet命令
  2. 服务器主机安装了telnet服务器端,并已经开启服务
  3. 本机可以ping通服务器主机的ip地址

二、特殊字符

1.*(通配):可以代表0~n个字符

  • 列出所有txt结尾的文件:ls *.txt
  • 删除所有txt结尾的文件:rm *.txt

2.?(任意的一个字符)

显示a?.txt文件:ls a?.txt

3.;(表示在一行语句中连续执行多个命令,命令之间使用分号进行分割)

  • 先cd回到家目录,然后再执行ls命令:cd;ls
  • 先显示时间,再显示日历,再显示当前路径:date;cal;pwd

4.>和>>

输出重定向符合,将来原本输出到命令行中的内容,重定向输入到另外一个地方。

  • >表示往文件中写入内容,是覆盖操作
    • 把hello写入到a文件中:echo "hello" > a
      a文件如果不存在,则自动创建,a文件如果存在,则覆盖之前的内容
    • cal命令输出的日历写入到a文件中:cal > a
  • >>表示往文件中写入内容,是追加操作
    • 先把date命令显示的日期写入到a文件中,再把cal显示的日历追到a文件中,再查看a文件的内容:
      $date >> a $cal >> a $cat a
    • 把2020年12月的日历,写入到a文件中,覆盖之前的内容:cal 12 2020 > a

5. | (管道符):可以把第一个命令的结果,交给第二个命令作为参数进行操作

  • 把当前日历通过打印机进行打印:cal | lp
  • 查看/etc/passwd中的内容并筛选出start相关的信息:cat /etc/passwd | grep "start"
    grep命令进行对结果进行过滤筛选

三、查看内容

1.cat命令(查看内容):是一次全显示出来

  • 显示文件中的所有内容:cat a.txt
  • 把a.txt和b.txt的内容合并到c.txt中: cat a.txt b.txt > c.txt
  • 把c.txt文件内容,设置为空:cat /dev/null > c.txt
  • 清空a文件:cat /dev/null > a
  • 将本来要输出的内容直接丢弃不要:ls -R > /dev/null

2.more命令(查看内容):一点点的显示内容

查看/etc/passwd文件内容:more /etc/passwd

空格,每次往下翻一个屏幕的内容
回车,每次往下翻一行内容
b,每次向上翻回一页
f, 每次向下翻一页
q,退出当前查看内容界面
v,进入vi模式(只读),在vi模式下,输入:q 则退出vi模块回到more的查看模式
在vi模式下,使用/stirng,查找指定字符串,例如,/the 就是查找这个单词
在vi模式下,n,配合/string命令,可以快速调整跳到下一个指定字符串的位置

四、VI编辑器

1.三种模式

vi编辑器有三种模式,命令模式,命令行模式,编辑模式

  • 命令模式,可以使用简单的命令进行文本内容的操作
  • 命令行模式,可以使用复杂点的命令进行文本内容操作
  • 编辑模式,可以直接编辑文本内容

如果vim编辑器不能正常显示键盘写入内容,方向键不能正常移动,直接重新下载vim编辑器:sudo apt-get install vim

(1)直接使用vi打开文件的时候,就是命令模式

  • yy命令:复制当前行
  • p命令:把复制内容粘贴到下一行

(2)在命令模式下,按冒号(shift+:)进入到命令行模式: 输入命令w,然后回车,把内容进行保存
命令行模式执行完命令自动返回到命令模式

(3)在命令模式下,按命令i或者a或者o都可以进入到编辑模式,然后可以直接编辑内容

  • i 表示在光标当前位置处插入,并变为编辑模式
  • a 表示在光标所在位置后插入,并变为编辑模式
  • o 表示在光标所在行的下方插入空行,并变为编辑模式
  • 编辑完成后,先按Esc进入到命令模式,再按(shift+:)进入到命令行模式,再输入wq,然后回车,表示保存内容并退出
  • wq! 则表示保存并强制退出

2.命令模式

命令作用
x删除一个字符
dw删除一个单词
3dw删除3个单词
dd删除一行,光所在行
2dd删除2行,光标所在行和下一行
r替换一个字符,在某个字符上按r,然后再按另一个新字符,这样新字符就会替换原来的老字符
cw先删除这个单词,再进入到编辑模式
cc先删除当前行,再进入到编辑模式
C大写C(shift+c),删除光标所在位置到当前行的末尾,然后进入编辑模式
yy复制当前行
yw复制一个单词
p粘贴复制的内容
~shift+~,把字符进行大小写转换
Jshift+j,把当前行和下一行进行连接
u撤销之前的操作
Gshift+g,将光标定位到文件末尾
nG将光标定位到文件第n行,这里n代表的是行号
/hello查找和hello的位置,然后使用n可以定位到下一个匹配的地方,从上往下查找
?test查找和test的位置,然后使用n可以定位到下一个匹配的地方,从下往上查找,将把光标移动到下一个字的字尾
w将光标移至下一个字的字首
b将光标移至上一个字的字首
h将光标左移
l将光标右移
j 将光标下移
k将光标上移

3.命令行模式

命令作用
:2,4d删除第2行到第4行
:2,4co5拷贝第2行到第4行之间的内容到第5行后面
:1,2m7移动第1行到第2行之间的内容到第7行后面
:w 保存
:w newfile保存为另一个新文件,相当于另存为功能
:q 退出
:q!强制退出
:wq!保存并强制退出
:set nu显示行号,set nonu 是取消行号
:5将光标直接定位到第五行
:r b.txt将b.txt文件内容插入到当前文件中
:1,$s/hello/test/g:%s/hello/test/g将文件中从1行开始,所有的hello替换成test

五、环境变量

1.Linux

  • 设置临时的环境变量
    • name=tom
    • 使用$符合,获取环境变量的值 echo $name

这种临时设置环境变量的方式,一旦关闭命令创建,这个环境变量就失效了

  • 设置用户级别的环境变量
    • 把环境变量配置到用户家目录中的.bashrc中 vi .bashrc
    • 保存退出后,使用 source 命令,让修改过的配置文件生效 source .bashrc
    • 当前默认使用的bash,在这个窗口中切换到sh中,然后再查看sh中是否能使用刚刚配置的环境变量 sh
    • 先退回到bash中,使用vi打开.bashrc进行修改:vi .bashrc
      打开命令窗口默认使用的bash是父shell,又打开的sh是子shell,这时候父shell中配置的环境变量没有传递给子shell中,如果想让它进行传递,需要使用export命令将配置好的环境导出。
    • 保存退出,再进行上面的测试过程
  • ls -l /bin/ls:在命令窗口中执行命令的时候,例如执行ls命令,其实是运行了一个执行文件/bin/ls文件
  • which ls:可以查看某个命令所在的路径

2.windows

windows和Linux中环境变量的主意区别:

  • 配置的地方或方式不同
  • 引用变量的符号不同,windows使用变量名字**俩边加%符号,Linux使用变量名字左边加$**符号
  • 多个路径之间分割的符号不同,windows使用分号,Linux使用冒号
  • windows系统中环境变量名字的大小写不敏感,而Linux中大小写是敏感

六、归档压缩

1.归档

归档,把若干个文件或目录简单的合并在一起,它并不对文件进行压缩,就是将多个文件前后连接在一起,形成一个大文件。
另外还会额外的添加一些信息,所以归档后的总文件的大小,反而往往比之前文件之和还要大一些。

  • 把指定文件和目录进行归档:tar -cvf work.tar a b c test1 test2
  • 解除归档文件到指定目录中:tar -xvf work.tar -C dir1
  • tar命令常用的选项及其作用:
选项作用
-c建立新的压缩文件
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-x从压缩的文件中提取文件
-t显示压缩文件的内容
-z支持gzip解压文件
-j支持bzip2解压文件
-v显示操作过程
-k保留源有文件不覆盖
-C切换到指定目录
-f指定压缩文件

2.压缩

压缩,是一种通过特定的算法来减小计算机文件大小的机制,Linux中的文件压缩命令有多种,其中最常用的命令就是gzip

  • 将归档好的文件进行压缩:gzip work.tar
  • 在tar进行归档之后直接进行压缩:
    rm work.tar.gz
    tar -zcvf work.tar.gz a b c test1 test2

3.解压

  • 对gz文件进行解压,解压到当前目录:gunzip work.tar.gz
  • 对tar.gz文件进行解压并解除归档:tar -zxvf work.tar.gz -C dir2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值