Linux基本命令

Linux简介

和Windows操作系统软件一样,Linux也是一个操作系统软件,并且它是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。要使用Linux可以通过安装CentOS镜像,然后通过VMware虚拟机软件打开;或者购买云服务器,通过XShell工具远程连接使用。

目录管理命令

ls命令:查看当前目录下的文件目录

ls -a : 可以查看当前目录下的隐藏文件

ls -ll : 可以查看当前目录下的所有不隐藏文件

ls -al : 可以查看当前目录下的所有文件

cd命令:跳转目录

cd : 跳转到用户目录下

cd /xxx : 跳转到xxx目录下

cd .. : 跳转到上一级目录

[root@iZbp12mphokxxqnq0q4eoiZ /]# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@iZbp12mphokxxqnq0q4eoiZ ~]# cd /home
[root@iZbp12mphokxxqnq0q4eoiZ home]# cd ..
[root@iZbp12mphokxxqnq0q4eoiZ /]# ls /
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

pwd命令:查看当前所在路径

[root@iZbp12mphokxxqnq0q4eoiZ /]# cd /home
[root@iZbp12mphokxxqnq0q4eoiZ home]# pwd
/home

mkdir命令:创建一个目录

[root@iZbp12mphokxxqnq0q4eoiZ home]# mkdir zhu   #创建目录
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# mkdir xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
xiaozhu  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# mkdir -p hhh/xiaozhu/abc   #创建层级目录,递归目录
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
hhh  xiaozhu  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# cd hhh
[root@iZbp12mphokxxqnq0q4eoiZ hhh]# ls
xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ hhh]# cd xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# ls
abc

rmdir命令:删除目录

[root@iZbp12mphokxxqnq0q4eoiZ home]# ls   #删除目录
hhh  xiaozhu  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# rmdir zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
hhh  xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# rmdir -p hhh/xiaozhu/abc   #删除层级目录,递归目录
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
xiaozhu

cp命令:复制文件或者目录到指定目录中

[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
xiaozhu  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# > abc.txt   #创建一个abc.txt的文件
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
abc.txt  xiaozhu  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# cp abc.txt xiaozhu   #将abc.txt文件复制到xiaozhu目录下
[root@iZbp12mphokxxqnq0q4eoiZ home]# cd xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# ls
abc.txt
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# cd ..
[root@iZbp12mphokxxqnq0q4eoiZ home]# cp -r zhu xiaozhu   #复制目录到指定位置要再前面加一个-r
[root@iZbp12mphokxxqnq0q4eoiZ home]# cd xiaozhu
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# ls
abc.txt  zhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# cp abc.txt xiaozhu   #如果目录中有了要复制过去的文件,他首先会问你是否覆盖,如果输入y就表示覆盖,n表示不覆盖
cp: overwrite 'xiaozhu/abc.txt'? y

rm命令:移除文件或者目录!

-f 忽略不存在的文件,不会出现警告,强制删除!

-r 递归删除目录!

-i 互动,删除前询问是否删除

rm -rf /   #系统中所有的文件就被删除了,删库跑路!(危险操作)
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# ls
abc.txt  zhu
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# rm -rf zhu
[root@iZbp12mphokxxqnq0q4eoiZ xiaozhu]# ls
abc.txt

mv命令:移动文件或者目录,也可以用来修改目录名

-f 强制移动

-u 只替换已经更新过的文件

[root@iZbp12mphokxxqnq0q4eoiZ home]# mv abc.txt xiaozhu/
mv: overwrite 'xiaozhu/abc.txt'? y
[root@iZbp12mphokxxqnq0q4eoiZ home]# mv zhu zhuzhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
xiaozhu  zhuzhu

基本属性

文件或目录的属性都有十个字母,第一个表示类型,后面九个分别表示不同用户的读写执行的权限

Linux基本命令
image-20211211145608082

实例中,boot文件的第一个属性用“d”表示,表示该文件是一个目录文件

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等;

  • 当为[ d ]则目录
  • 当为[ – ] 则是文件
  • 若是[ I ]则表示为链接文档
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

接下来的字符中,以三个为一组,且均为[ rwx ]的三个参数的组合

其中,[ r ]代表可读(read),[ w ]代表可写(write),[ x ]代表可执行(execute)

这三个位置如果没有对应的权限,在对应的位置就会出现[ – ]

修改文件属性

1、chgrp:更改文件属组

chgrp [-R] 属组名 文件名

-R : 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会改变

2、chown:更改文件属主,也可以同时更改文件属组

chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

chomd [-R] xyz 文件或目录

Linux文件的基本权限有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限

这九个权限是三个三个为一组,其中我们可以用数字来表示这三个权限

r:4 w:2 x:1

在修改文件的属性的时候,可以直接使用数字相加进行更改,如6就代表该文件可以执行读写操作,如果为7就表示该文件可以执行读写执行操作

如:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others = — = 0+0+0 = 0

img

可以看到abc.txt中我们将三个身份的权限都设置了读写执行,zhuzhu文件的owner和group设置了读写执行权限,others没有权限

文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
Linux基本命令
image-20211211185301321
  • tac 从最后一行开始显示,倒着显示文件内容
Linux基本命令
image-20211211185316981
  • nl 显示的时候,顺道输出行号!
Linux基本命令
image-20211211185340422
  • more 一页一页的显示文件内容(如果需要查看下一页内容的话,只需要按空格键即可)
Linux基本命令
image-20211211185519722
  • less 与 more 类似,但是比more更好的是,它可以往前翻页!(如果需要查看下一页内容的话,可以按空格或者右边键盘的上下键即可,并且如果需要退出的话按下q > quit即可)
Linux基本命令
image-20211211185615784
  • head只看头几行(在head后面添加-n 行号即可查看文件开头的指定行数的内容)
Linux基本命令
image-20211211185742365
  • tail只看尾巴几行(在tail后面添加-n 行号即可查看文件末尾的指定行数的内容)
Linux基本命令
image-20211211185921086

可以使用man [命令]来查看各个命令的使用文档,如 : man cp

Linux基本命令
image-20211211184847875
  • 在Windows中可以通过ping来查看ip信息;在Linux中则需要通过ifconfig来查看ip信息
Linux基本命令
image-20211211185203193

链接

拓展:Linux链接的概念

Linux的链接分为两种:硬链接、软连接!

硬链接:A…B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件有多个路径,这样用户就可以使用硬链接到一些重要文件上,防止误删!硬链接只能应用在文件上面,不能对目录进行硬链接处理!

软链接:类似Windows下的快捷方式,删除了源文件,快捷方式也访问不了了

创建链接方式是ln命令,默认是创建硬链接,如果要创建软链接的话只需要在ln命令后面加上-s即可

touch 命令创建文件

echo 输入字符串,也可以输入到文件中

[root@iZbp12mphokxxqnq0q4eoiZ home]# touch f1   #创建f1文件
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
abc.txt  f1  xiaozhu  zhuzhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# ln f1 f2   #给f1创建硬链接f2
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
abc.txt  f1  f2  xiaozhu  zhuzhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# ln -s f1 f3   #给f1创建软连接f3
[root@iZbp12mphokxxqnq0q4eoiZ home]# ls
abc.txt  f1  f2  f3  xiaozhu  zhuzhu
[root@iZbp12mphokxxqnq0q4eoiZ home]# echo "I love you" >> f1   #给f1文件中添加内容
[root@iZbp12mphokxxqnq0q4eoiZ home]# cat f1
I love you
[root@iZbp12mphokxxqnq0q4eoiZ home]# cat f2
I love you
[root@iZbp12mphokxxqnq0q4eoiZ home]# cat f3
I love you
[root@iZbp12mphokxxqnq0q4eoiZ home]# rm -rf f1   #删除f1文件
[root@iZbp12mphokxxqnq0q4eoiZ home]# cat f2
I love you
[root@iZbp12mphokxxqnq0q4eoiZ home]# cat f3
cat: f3: No such file or directory   #f1文件被删除之后,软连接(快捷方式)

Vim编辑器

编辑一个文件,如果这个文件没有创建,就会自动帮你创建并且编辑,如果创建了,就编辑原来的文件

三种使用模式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

Vim 按键说明

除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d] 屏幕『向下』移动半页
[Ctrl] + [u] 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
光标移动到非空格符的上一行
n< space> 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
n< Enter> n 为数字。光标向下移动 n 行(常用)
搜索替换
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
删除、复制与粘贴
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 删除游标所在的那一整行(常用)
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)


原文始发于微信公众号(爱吃薯片):Linux基本命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/25995.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!