Linux指令入门

一、编辑器

vi和vim编辑器

vi是Unix操作系统和类Unix操作系统中最通用的文本编辑器

vim编辑器是从vi发展而来的,是一个功能和性能更加强大的文本编辑器,方便程序设计。vi和vim编辑器是完全兼容的

二、3种模式

1.vi/vim模式

2.一般模式

vi 文件名.后缀名

vim 文件名.后缀名

文件的操作

命令(语法)功能描述
yy复制光标所在的一整行
p粘贴(粘贴到光标所在的下一行)
u撤销上一步操作
dd删除光标所在一整行
y数字y复制一段文字内容(从当前光标开始往后数数字行)
d数字d删除一段文字内容(从当前光标开始往后数数字行)
G光标移动到页尾
gg光标移动到页头

3.编辑模式

按键功能描述
i当前光标前插入数据
o在当前光标下一行插入数据
a当前光标后插入数据
I(大写i)光标所在行的前面插入数据
A光标所在行的后面插入数据
O(大写o)当前光标上一行插入数据

4.命令模式

ESC

按键功能描述
:set nu 或 :set number显示行号
:set nonu关闭行号
:q关闭
:q!不保存强制退出
:w保存
:wq保存并退出
ZZ(大写)保存后退出
/输入要查找的词n查找下一个,N查找上一个
:nohl去掉高亮显示
:%s/要替换的/替换后的批量替换

三、文件目录操作指令

1.ls(列出目录内容)

list:列出

列出目录的内容

  # 语法 []可有可无
  ls [选项][目录或者文件]
选项功能描述
-a全部文件,连同隐藏文件一起列出
-l长数据串,包括文件的属性和权限

清屏:

ctrl+L 或者 clear

  # 查询当前目录(~)下的所有文件
  [root@localhost ~]# ls -a
  .   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus      .ICEauthority  .mozilla        .tcshrc   公共  视频  文档  音乐
  ..  .bash_history    .bash_profile  .cache   .cshrc   .esd_auth  .local         .mysql_history  .viminfo  模板  图片  下载  桌面
  # 查看 / (根目录下)的文件
  [root@localhost ~]# ls /
  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
  # 查看/(根目录)下的所有文件
  [root@localhost ~]# ls -a /
  .  ..  .autorelabel  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
  ​
  ​
  # ls -l   等同于  ll

2.cd(切换目录)

cd:change directory 切换目录

  
  # 语法
  cd [参数]
参数功能描述
cd 绝对路径切换到绝对路径(路径前面有/)
cd 相对路径切换到相对路径
cd..返回上一级目录
cd-返回上一次所在的目录
cd~回到home目录
  
  # 进入到/usr (绝对路径)目录
  [root@localhost ~]# cd /usr
  [root@localhost usr]# ls 
  2024991709  bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
  # 进入到usr目录里面的tmp(相对路径)目录
  [root@localhost usr]# cd tmp
  # 返回上一次操作所在的目录
  [root@localhost tmp]# cd -
  /usr
  # 返回上一次操作所在的目录
  [root@localhost usr]# cd -
  /usr/tmp
  # 返回上一层目录
  [root@localhost tmp]# cd ..
  [root@localhost usr]# cd ..
  [root@localhost /]# cd /usr/tmp
  # 返回上一层,上一层目录
  [root@localhost tmp]# cd ../../

3.mkdir(创建文件夹)

创建一个新的目录(文件夹)

mkdir:make directory 建立目录(文件夹)

  
  #语法
  mkdir [选项] 要创建的目录名
选项功能描述
-p创建一级或多级目录
  
  # 在当前目录(~)里面创建目录a
  [root@localhost ~]# mkdir a
  [root@localhost ~]# ls
  a  anaconda-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  # 在当前目录(~)里面的a文件里创建b文件夹
  [root@localhost ~]# mkdir a/b
  # 在当前目录(~)里面的a/b文件夹里创建c文件夹
  [root@localhost ~]# mkdir a/b/c
  [root@localhost ~]# ls
  a  anaconda-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  # 创建失败。原因:使用mkdir 不能直接创建多级目录(如果有上级目录不存在,则不能创建)
  [root@localhost ~]# mkdir abc/def
  mkdir: 无法创建目录"abc/def": 没有那个文件或目录
  # 创建成功。加入选项-p后,表示可以创建多级目录
  [root@localhost ~]# mkdir -p abc/def/zzz
  # 创建成功。添加选项-p后,也可以创建一级目录
  [root@localhost ~]# mkdir -p ggg

4.rmdir(删除文件夹)

删除一个目录

rmdir:remove directory 删除目录

  
  # 语法
  rmdir 空的目录(文件夹)
  
  # 使用rmdir指令删除文件夹,必须删除的是空的文件夹
  [root@localhost ~]# rmdir abc/def/zzz
  [root@localhost ~]# rmdir abc/def
  [root@localhost ~]# rmdir abc
  ​
  # 删除非空文件夹就会出现错误提示
  [root@localhost ~]# rmdir a
  rmdir: 删除 "a" 失败: 目录非空

四、文件操作指令

1.touch(创建文件)

创建空文件

  
  #语法:
  touch 文件名.后缀名
  
  # 在当前目录(相对路径)里创建了一个空文件java.txt
  [root@localhost ~]# touch java.txt

2.cp(复制文件)

复制文件

  
  #语法
  cp [选项] 复制的源 复制到哪里去(目的地)
选项功能描述
-r递归复制整个文件夹
  
  # 复制当前目录里的anaconda-ks.cfg,复制到文件夹abc里面
  [root@localhost ~]# cp anaconda-ks.cfg  abc
  [root@localhost ~]# ls abc
  anaconda-ks.cfg
  [root@localhost ~]# vim abc/anaconda-ks.cfg 
  [root@localhost ~]# mkdir my
  [root@localhost ~]# ls
  abc  anaconda-ks.cfg  my  公共  模板  视频  图片  文档  下载  音乐  桌面
  # 复制失败。文件夹abc不为空,直接复制文件夹导致里面的文件无法复制报错
  [root@localhost ~]# cp abc my
  cp: 略过目录"abc"
  [root@localhost ~]# ls my
  # 递归复制文件夹abc,复制到文件夹my里面
  [root@localhost ~]# cp -r abc my/

3.rm(删除文件)

remove:删除、移除

移除文件或者文件夹

  
  #语法:
  rm [选项] 要删除的文件或者是目录(文件夹)
选项功能描述
-r递归删除目录中所有内容
-f强制执行删除操作,不出现确认提示
-v显示指令执行过程
  
  # 强制删除当前目录中的my文件夹,以及该文件中的所有内容,并显示执行过程
  [root@localhost ~]# rm -rfv my
  已删除"my/abc/anaconda-ks.cfg"
  已删除目录:"my/abc"
  已删除目录:"my"
  # 递归删除文件夹abc,以及其中的内容,显示执行过程
  [root@localhost ~]# rm -rv abc
  rm:是否进入目录"abc"? y
  rm:是否删除普通文件 "abc/anaconda-ks.cfg"?y
  已删除"abc/anaconda-ks.cfg"
  rm:是否删除目录 "abc"?

4.mv(剪切文件)

mv:move 移动

剪切文件/目录,重命名文件名

  
  # 语法:
  mv 要剪切的文件 移动到的目的地(此时可重命名)
  
  # 将当前目录(~)中的anaconda-ks.cfg,剪切到~/abc目录里
  [root@localhost ~]# mv anaconda-ks.cfg abc/
  [root@localhost ~]# ls
  abc  公共  模板  视频  图片  文档  下载  音乐  桌面
  [root@localhost ~]# ls abc
  anaconda-ks.cfg
  # ~/abc/anaconda-ks.cfg,剪切到 ~/ 并且重命名为anacond.cfg
  [root@localhost ~]# mv abc/anaconda-ks.cfg ~/anacond.cfg
  [root@localhost ~]# ls abc/
  [root@localhost ~]# ls
  abc  anacond.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  # 将当前目录的anacond.cfg移动到当前目录,并且重命名为anaconda-ks.cfg
  [root@localhost ~]# mv anacond.cfg anaconda-ks.cfg
  [root@localhost ~]# ls
  abc  anaconda-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  ​
  ​
  # 剪切文件夹abc,到/usr目录里
  [root@localhost ~]# mv abc /usr/

5.cat(查看文件内容)

查看文件的内容

  
  #语法
  cat [选项] 要查看的文件
选项功能描述
-n查看文件并显示行号
  
  # 查看文件anaconda-ks.cfg,并添加行号
  [root@localhost ~]# cat -n anaconda-ks.cfg 

6.more(分屏查看文件)

more指令是一个基于vi编辑器的文本过滤器,它以全屏的方式按照页显示文件内容

  
  # 语法
  more 要查看的文件
操作指令功能描述
space(空格键)下一页
enter(回车键)下一行
q退出该模式
ctrl + f向下滚动一个屏幕的信息
ctrl + b向上滚动一个屏幕的信息
=查看当前行号
:f输出文件名以及当前的行号信息

7.less(分屏查看文件)

分屏查看文件

它的功能比more更强大

  
  #语法
  less 要查看的文件
操作指令功能描述
space(空格键)向下翻一页
Pageup(↑)向上翻动一行
Pagedown(↓)向下翻动一行
/要查找的内容n:向后查找 N:向上查找
?要查找的内容N:向后查找 n:向上查找
q退出

8.echo(输出内容到控制台)

输出内容到控制台

  
  #语法
  echo [选项] 输出的内容
选项功能描述
-e支持反斜线的字符转换
字符转换
控制字符功能描述
\\输出\本身
>>>

>:覆盖

>>:追加

  
  #语法
  #意思:创建文件,并在文件中写入字符串,以覆盖的方式写入的
  echo 字符串>文件
  ​
  #意思:创建文件,并且在文件中写入字符串,以i追加的方式
  echo 字符串>>文件
  
  # 创建文件java.txt,写入字符串abc
  [root@localhost ~]# echo abc>java.txt
  [root@localhost ~]# ls
  anaconda-ks.cfg  java.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
  [root@localhost ~]# cat java.txt 
  abc
  # 如果java.txt存在,会先删除java.txt,然后重新创建java.txt,写入def
  [root@localhost ~]# echo def>java.txt
  [root@localhost ~]# cat java.txt 
  def
  [root@localhost ~]# rm -rf java.txt 
  [root@localhost ~]# 
  [root@localhost ~]# ls
  anaconda-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  # 如果java.txt不存在,则先创建然后写入到abc,如果该java.txt已经存在,则追加字符串abc
  [root@localhost ~]# echo abc>>java.txt
  [root@localhost ~]# cat java.txt 
  abc
  [root@localhost ~]# echo def>>java.txt
  [root@localhost ~]# cat java.txt 
  abc
  def

9.ln(软连接,创建快捷方式)

软连接,也就是windows中的快捷方式

  
  #语法:
  ln -s 源文件 软连接地址11
  
  # 创建软连接 (真实的文件是/usr/java.txt)   软连接是  ~/java.txt
  [root@localhost ~]# ln -s /usr/java.txt  ~/java.txt
  ​
  # 删除软连接(删除后对真实的文件没有任何影响)
  [root@localhost ~]# rm -rf java.txt 

五、cal(日历)

查看日历

  
  #查看今天的日历
  [root@localhost ~]# cal
        九月 2024     
  日 一 二 三 四 五 六
   1  2  3  4  5  6  7
   8  9 10 11 12 13 14
  15 16 17 18 19 20 21
  22 23 24 25 26 27 28
  29 30
  ​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值