Linux基础指令

本文详细介绍了Linux系统中的一些基本命令,包括ls用于列出文件和目录、pwd显示当前工作目录、cd改变目录、mkdir创建目录、touch创建文件、cp复制文件和目录、mv移动或重命名文件和目录、rm删除文件和目录以及输出重定向和cat指令的使用方法。这些是Linux用户必备的基础知识。
摘要由CSDN通过智能技术生成

目录

指令与选项

 基础指令(重点掌握)

1、ls指令

用法1:#ls

用法2:#ls 路径

用法3:#ls 选项 路径

用法4:#ls -lh 路径

2、pwd指令

3、cd指令

4、mkdir指令

语法1:#mkdir 路径

语法2:#mkdir -p 路径

 语法3:#mkdir 路径1 路径2 路径3 ….  

5、touch指令

6、cp指令

7、mv指令

8、rm指令

9、输出重定向

10、cat指令

语法1:#cat 文件的路径

语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径


指令与选项

什么是Linux的指令?

指在Linux终端(命令行)中输入的内容就称之为指令。如下

[root@localhost ~]# ls

一个完整的指令的标准格式:Linux通用的格式

#指令主体(空格) [选项](空格) [操作对象]

一个指令可以包含多个选项

操作对象也可以是多个

例如:需要让老孟帮忙去楼下超市买一瓶今麦郎水,在这个指令中“买东西”是指令的主体,买的水是操作的对象,今麦郎是操作的选项。

 基础指令(重点掌握)

程序员不能丢掉Linux命令,就像西方不能没有耶路撒冷,夏洛不能没有冬梅,袁华不能没有一剪梅一样重要!所以必须会!

1、ls指令

含义:ls (list)

用法1:#ls

含义:列出当前工作目录下的所有文件/文件夹的名称

[root@localhost yum.repos.d]# ls    
backup  CentOS-Base.repo  epel.repo

用法2:#ls 路径

含义:列出指定路径下的所有文件/文件夹的名称

[root@localhost ~]# ls /etc/yum.repos.d/
backup  CentOS-Base.repo  epel.repo

发现没,上面两个指令,虽然写法不一样,但是结果是一样滴!

关于路径(重要):

路径可以分为两种:相对路径、绝对路径。

相对路径:相对首先得有一个参照物(一般就是当前的工作路径);

相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。

绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径

用法3:#ls 选项 路径

含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。

常见的语法:

#ls -l 路径

#ls -la 路径

选项解释:

-l:表示list,表示以详细列表的形式进行展示

-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)

 以列表形式展示

[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1269 6月  28 04:51 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 6月  28 20:15 msk

上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”表示文档类型为文件夹


 显示所有

[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  msk  .tcshrc

在Linux中隐藏文档一般都是以“.”开头


以列表形式显示所有

[root@localhost ~]# ls -la
总用量 28
dr-xr-x---.  3 root root  146 6月  28 20:15 .
dr-xr-xr-x. 17 root root  224 6月  28 04:50 ..
-rw-------.  1 root root 1269 6月  28 04:51 anaconda-ks.cfg
-rw-------.  1 root root 2131 6月  27 22:51 .bash_history
-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
drwxr-xr-x.  2 root root    6 6月  28 20:15 msk
-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

用法4:#ls -lh 路径

含义:列出指定路径下的所有文件/文件夹的名称(不包含隐藏的),以列表的形式并且在显示文档大小的时候以可读性较高的形式显示

[root@localhost ~]# ls -lh
总用量 4.0K
-rw-------. 1 root root 1.3K 6月  28 04:51 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 6月  28 20:15 msk

2、pwd指令

用法:#pwd (print working directory,打印当前工作目录)

[root@localhost ~]# pwd
/root

3、cd指令

命令:#cd (change directory,改变目录)

作用:用于切换当前的工作目录的

语法:#cd 路径

#当前在/目录下,使用绝对路径切换到/usr/local/下
[root@localhost ~]# cd /usr/local/
[root@localhost local]# pwd
/usr/local

#当前在/usr/local/目录中,使用相对路径切换到/usr/bin/中
[root@localhost local]# cd ../bin/
[root@localhost bin]# pwd
/usr/bin

补充:

在Linux中有一个特殊的符号“~”,表示当前用户的家目录

切换的方式:#cd ~

4、mkdir指令

指令:mkdir    (make directory,创建目录)

语法1:#mkdir 路径

【路径,可以是文件夹名称也可以是包含名称的一个完整路径】

#在当前目录下创建目录love
[root@localhost ~]# mkdir love
[root@localhost ~]# ls
anaconda-ks.cfg  love  msk

注意:ls列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限

在指定路径下创建目录xuexihenku,例如在love目录中

[root@localhost ~]# mkdir love/xuexihenku
[root@localhost ~]# cd love/
[root@localhost love]# ls
xuexihenku

语法2:#mkdir -p 路径

含义:当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错,-p表示递归创建

[root@localhost ~]# mkdir love/xuexihenku/a/b/c
mkdir: 无法创建目录"love/xuexihenku/a/b/c": 没有那个文件或目录
[root@localhost ~]# mkdir -p love/xuexihenku/a/b/c
[root@localhost ~]# ls love/xuexihenku/
a
[root@localhost ~]# ls love/xuexihenku/a/
b
[root@localhost ~]# ls love/xuexihenku/a/b/
c

 语法3:#mkdir 路径1 路径2 路径3 ….  

含义:表示一次性创建多个目录

[root@localhost ~]# ls
anaconda-ks.cfg  love  msk  x  y  z

5、touch指令

指令:touch   

作用:创建文件

语法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】

[root@localhost ~]# cd x
#在目录x中创建文件1.txt
[root@localhost x]# touch 1.txt
[root@localhost x]# ls
1.txt
[root@localhost x]# cd
#使用路径方式在x目录中创建文件2.txt
[root@localhost ~]# touch x/2.txt
[root@localhost ~]# cd x
[root@localhost x]# ls
1.txt  2.txt

#一次性创建多个文件
[root@localhost x]# touch 3.txt 4.txt
[root@localhost x]# ls
1.txt  2.txt  3.txt  4.txt

6、cp指令

指令:cp (copy,复制)

作用:复制文件/文件夹到指定的位置

语法:#cp 被复制的文档路径 文档被复制到的路径

#将x中的4.txt复制到y中
[root@localhost x]# cp 4.txt ../y/
[root@localhost x]# cd ../y/
[root@localhost y]# ls
4.txt

注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。 

复制文件夹时,需要添加选项【-r】,表示递归复制,否则目录将被忽略

[root@localhost ~]# cp y z    
cp: 略过目录"y"
[root@localhost ~]# cp -r y z                #加上选项-r表示递归复制,不会忽略目录y
[root@localhost ~]# ls
anaconda-ks.cfg  love  msk  x  y  z
[root@localhost ~]# cd z
[root@localhost z]# ls
y

7、mv指令

指令:mv   (move,移动,剪切)

作用:移动文档到新的位置

语法:#mv 需要移动的文档路径 需要保存的位置路径

#移动目录y中文件4.txt到目录z中,相当于剪切,在目录y中不会再有4.txt
[root@localhost y]# mv 4.txt ../z/
[root@localhost y]# ls
[root@localhost y]# cd ../z/
[root@localhost z]# ls
4.txt  y

#移动文件夹z到目录y中
[root@localhost ~]# mv z y
[root@localhost ~]# ls
anaconda-ks.cfg  love  msk  x  y
[root@localhost ~]# ls y/  
z

 另外,文件重命名也是mv指令

[root@localhost ~]# ls
a.txt  love  msk
#通过mv指令,将a.txt重命名为b.txt,本质就是将a.txt移动到当前目录,并重新命名为b.txt
[root@localhost ~]# mv a.txt b.txt
[root@localhost ~]# ls
b.txt  love  msk

8、rm指令

指令:rm (remove,移除、删除)

作用:移除/删除文档

语法:#rm 选项 需要移除的文档路径

选项:

-f:force,强制删除,不提示是否删除

-r:表示递归

#不带选项删除,需要确认是否删除
[root@localhost x]# rm 4.txt 
rm:是否删除普通空文件 "4.txt"?y
[root@localhost x]# ls
1.txt  2.txt  3.txt

#加上选项 -f,表示强制删除,不需要确认
[root@localhost x]# rm -f 3.txt 
[root@localhost x]# ls
1.txt  2.txt


#删除一个目录,需要加选项 -r,否则无法删除
[root@localhost y]# rm z
rm: 无法删除"z": 是一个目录

#以下删除还需要逐级进入目录中依次确认删除
[root@localhost y]# rm -r z
rm:是否进入目录"z"? y
rm:是否进入目录"z/y"? y
rm:是否删除普通空文件 "z/y/4.txt"?y
rm:是否删除目录 "z/y"?y
rm:是否删除普通空文件 "z/4.txt"?y
rm:是否删除目录 "z"?y
[root@localhost y]# ls

#避免频繁确认,删除文件夹时添加选项 -rf
[root@localhost ~]# rm -rf x
[root@localhost ~]# ls
anaconda-ks.cfg  love  msk  y

#删除多个文档
[root@localhost ~]# ls
1.txt  anaconda-ks.cfg  love  msk  y
[root@localhost ~]# rm -rf 1.txt y        #删除多个文档,可以是文件,也可以是文件夹
[root@localhost ~]# ls
anaconda-ks.cfg  love  msk

#删除目录下有公共特性的文档,例如都以a开头的
[root@localhost ~]# mkdir a                        #创建目录a
[root@localhost ~]# touch a1.txt a2.txt            #创建文件a1.txt和a2.txt
[root@localhost ~]# ls
a  a1.txt  a2.txt  anaconda-ks.cfg  love  msk
#这里的*表示通配符,也就是只要是a开头的文档即可,后面是什么字符无所谓
[root@localhost ~]# rm -rf a*                       
[root@localhost ~]# ls
love  msk

9、输出重定向

一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。

>:覆盖输出,会覆盖掉原先的文件内容

>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

语法:#正常执行的指令 > / >> 文件的路径

注意:文件可以不存在,不存在则新建

[root@localhost ~]# ls
b.txt  love  ls.txt  msk

#将ls执行结果覆盖到ls.txt中
[root@localhost ~]# ls > ls.txt 
[root@localhost ~]# cat ls.txt 
b.txt
love
ls.txt
msk

#执行ls -l 结果覆盖到ls.txt中,发现刚才ls.txt中数据被覆盖
[root@localhost ~]# ls -l > ls.txt  
[root@localhost ~]# cat ls.txt 
总用量 0
-rw-r--r--. 1 root root  0 6月  28 21:11 b.txt
drwxr-xr-x. 3 root root 24 6月  28 20:29 love
-rw-r--r--. 1 root root  0 6月  28 21:19 ls.txt
drwxr-xr-x. 2 root root  6 6月  28 20:15 msk

#执行ls,将结果追加到ls.txt
[root@localhost ~]# ls >> ls.txt 
[root@localhost ~]# cat ls.txt 
总用量 0
-rw-r--r--. 1 root root  0 6月  28 21:11 b.txt
drwxr-xr-x. 3 root root 24 6月  28 20:29 love
-rw-r--r--. 1 root root  0 6月  28 21:19 ls.txt
drwxr-xr-x. 2 root root  6 6月  28 20:15 msk
b.txt
love
ls.txt
msk

#若文件不存在会创建
[root@localhost ~]# ls                #查看结果没有1.txt
b.txt  love  ls.txt  msk
[root@localhost ~]# ls > 1.txt        #覆盖重定向,发现没有1.txt,会创建出来1.txt,再覆盖
[root@localhost ~]# cat 1.txt 
1.txt
b.txt
love
ls.txt
msk

10、cat指令

语法1:#cat 文件的路径

作用1:cat有直接打开一个文件的功能。

例如:查看网卡信息

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=76305285-cbd1-4af5-995d-6f8cbec8bb77
DEVICE=ens33
ONBOOT=yes
[root@localhost ~]#

语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

 作用2:cat还可以对文件进行合并

#1.txt中内容为“hello”
[root@localhost ~]# cat 1.txt 
hello
#2.txt中内容为“ linux”
[root@localhost ~]# cat 2.txt 
 linux

#使用cat结合重定向进行合并
[root@localhost ~]# cat 2.txt >> 1.txt     #使用>>将2中数据追加合并到1中,如果使用>则将2中数据覆盖合并到1中
[root@localhost ~]# cat 1.txt 
hello
 linux

好了,到这里常用得基础指令就说完了,抓紧练习吧 

能够给大家带来价值的话,给个三连哦😘,小的祝各位看官万福金安😊


 徒手摘星,爱而不得,世人万千,再难遇我。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世人万千丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值