linux常见指令上

    目前我对linux这个操作系统的了解就是很适合后端开发,开源免费又好用,学它准没错,下面就主要说linux的十条常见指令。

1.pwd

   显示当前所在目录,无常用选项

[hqy@VM-24-5-centos ~]$ pwd
/home/hqy

  当我们一开始登录账号时就会进入到对应的家目录,普通用户均在/home下建立自己的家目录,

而root账号登录时所在目录则与普通用户所在目录不同。

[root@VM-24-5-centos ~]# pwd
/root

可以配合cd命令使用,当我们cd进入某个目录的时候,可以用pwd检验是否进入该目录中

2.ls

   指令格式:ls+[选项]+文件或者目录名

查看目录或者文件信息,对于目录,ls则列出该目录下的子目录和文件,对于文件,则列出文件名以及其他信息

单独的ls和ls -l指令默认列出当前目录下的子目录和文件

   可加文件名和目录名,表示指定列出该文件或目录的信息。但是文件和目录都必须是当前目录的子目录或者子文件。

常见选项

(1)-a:

   可显示带.和带..开头的隐藏文件,我们可以用后面学的touch命令创建以点(.)开头的文件,此时用ls都是无法显示该文件的。

   在目录中一般都有.和..文件,..文件是帮我们定位到上级目录的文件,可用cd+..返回上级目录

.文件是定位当当前目录的文件。

(2)-l

红色框中是第一列,表示文件类型,蓝色框中后面提到文件和目录权限再细说。

 紧跟其后的是大小和日期以及文件名或叫目录名

(3)-d

有时候我们不想显示目录下的文件,而是显示目录本身,可用该选项。

(4)-F

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- d2
|-- test.c
`-- test.txt

2 directories, 3 files
[hqy@VM-24-5-centos ~]$ ls -F
a.out*  d1/  d2/  test.c  test.txt

   在每个文件名目录名后显示,*表示是普通可执行文件,/表示是目录,文件无显示,此外@表示符号链接,|表示FIFOs,  “=”表示套接字

    当我们一开始接触这些命令时,可在linux在尽情使用,但是敲得命令多了会占用整个屏幕,我们可以输入命令clear,清空屏幕,之后继续尝试指令输入会更加直观。

3.cd

   进入目录,不能进入文件

下面举例一些例子,方便我们熟悉cd命令

  (1)cd ..返回上级目录

[root@VM-24-5-centos ~]# pwd  

/root    当前在/root目录下           

[root@VM-24-5-centos ~]# cd ..   如上ls命令中所述,..可以返回上一级目录
[root@VM-24-5-centos /]# pwd
/                  但是之后无法再cd ..返回上级目录,这说明/是根目录

   (2)cd ~返回家目录

[hqy@VM-24-5-centos ~]$ pwd  
                           现在所处的目录是我这个账号的家目录
/home/hqy
[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- test.c
`-- test.txt

1 directory, 3 files
[hqy@VM-24-5-centos ~]$ cd d1  
                                当我们进入到其它目录想快速返回到家目录
[hqy@VM-24-5-centos d1]$ pwd
/home/hqy/d1
[hqy@VM-24-5-centos d1]$ cd ~   
                                cd /home/hqy也可以但不如cd ~ 方便
[hqy@VM-24-5-centos ~]$ pwd
/home/hqy   
如上,我们从其它目录返回到用户的家目录了  

(3)cd -返回最近访问的目录

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- d2
|-- test.c
`-- test.txt

2 directories, 3 files
[hqy@VM-24-5-centos ~]$ cd d1   
                                 先进入d1目录
[hqy@VM-24-5-centos d1]$ cd ../d2
                                然后进入到d2目录下
[hqy@VM-24-5-centos d2]$ cd -  此时我们若是想直接返回到刚刚的目录下,可用cd -
/home/hqy/d1 
                               并且还会自动显示出目录  

(4)当我们要进入某个目录的时候,可以用cd+绝对路径,也可以用相对路径,相对路径就是相对当前目录的路径,我们举例来谈谈。

​
[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- d2
|-- test.c
`-- test.txt


[hqy@VM-24-5-centos ~]$ cd d1   先进入d1目录
[hqy@VM-24-5-centos d1]$ cd ../d2   此时若想进入相对当前d1目录的上一级目录/home/hqy
                                    下的d2目录, 可用cd ../d2,..表示上一级目录,
                                     ../d2表示去上一级目录下查找d2目录。
                                    

​

上述例子中cd ../d2和cd ~有些时候作用是类似的,但我猜测在实际工作当中,两者差别会越来越大。注意:cd只是在当前目录下查找要进入的目录。

4.touch

创建文件,选项也不少,但大多感觉没有太多触动,比如更改文件时间

5.mkdir

创建目录

选项

-p可递归式创建目录

但是有时候我们想创建一个子目录但是它却无父目录,按一般思路可能要先创建它的父目录,再创建子目录,这样会比较麻烦,此时-p选项就可以帮助我们快速创建目录。如下。

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- test.c
`-- test.txt

0 directories, 3 files
[hqy@VM-24-5-centos ~]$ mkdir -p d1/d2/d3
[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|   `-- d2
|       `-- d3
|-- test.c
`-- test.txt

3 directories, 3 files
[hqy@VM-24-5-centos ~]$ 

6.rmdir

前面我们学了创建目录,现在我们就来学学删除目录

功能是:删除空目录(若是root账号一般会反复提醒)

-p当子目录被删除后父目录也变成空目录,那就把空目录一起删除了

7.rm

可删除文件和目录

选项:

(1)-r

删除目录及其下的所有文件,rm不可直接删除目录,要加-r才可

(2)-f

强制删除

(3)-i

删除前逐一询问是否要删除,当然在root账号下,不带该选项也会问。

8.man

  常用选项

   num

    要解释这个选项的意思首先要来说说man手册,手册嘛,分章节,第一章是普通的命令,第三章是库函数....等等,如果我们仅仅只是man  ls的话,它是默认到第一章节开始查找,而num的作用就是可以指定章节查找,毕竟到后面我们应该都知道我们要查找的是指令还是库函数,有这个选项可以提高效率。  

    linux的指令非常多,如果加上选项组合,非常繁杂,比如我们在vs上敲代码的时候,不知道这个函数属于什么头文件就会去查文档,在linux中也有查文档操作,也就是man指令,使用如下,

[hqy@VM-24-5-centos ~]$ man ls
man后跟要查阅的指令,就会跳转到指令的详细介绍页面

   按q即可退出。

9.cp

功能:

复制文件到某个目录下(会清空目标文件中的内容)

  可以同时复制多个文件或目录给一个文件和目录(后称目标文件和目标目录),但此时要求目标文件和目标目录存在,并且多个文件只能复制给一个目录,而不能复制给一个文件。但是如果只复制一个文件给目录d3或者文件,哪怕d3不存在也会帮忙创建。

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- d2
|-- test.c
`-- test.txt

2 directories, 3 files
[hqy@VM-24-5-centos ~]$ cp test.c d3   
[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- d2
|-- d3
|-- test.c
`-- test.txt

选项:

-f

强制复制文件,取消提示,但是有时候加了-f也无效果,甚至不加-f本来也没提示(由此我总结了个linux学习方法,大概知道就行了,抠细节没用,因为这个细节在不同环境下是不同的)

-i

覆盖文件时会询问用户,当然root账号不加该选项也会询问

-r

递归处理被复制目录下面的子目录和文件,,和mkdir中的-r选项是类似的,若要复制的不是目录,源文件或者符号链接的,都会视为普通文件处理。

-R

递归处理被复制目录下面的子目录和文件,与-r是类似的,我想区别可能就是对于其它文件例如管道文件,块设备文件的处理会不一样,毕竟-r选项中的均视为普通文件处理太绝对了,猜都能猜到不合理。

10.mv

格式:mv+[选项]+文件名/目录+文件名/目录

功能:所有的mv命令结果都是剪切并重命名

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- test.c
`-- test.txt

1 directory, 3 files
[hqy@VM-24-5-centos ~]$ mv test.c d1/test1

将test.c剪切到d1目录中,并且重命名为test1

[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|   `-- test1
`-- test.txt

1 directory, 3 files
[hqy@VM-24-5-centos ~]$ cd d1

               进入d1目录中,因为我们要对test1文件进行操作就,就要到该文件的目录中去

[hqy@VM-24-5-centos d1]$ mv test1 ../test.c

               将test1文件剪切到上级目录,并且重命名为test.c  
               若不加../,只是mv test1 test,c,则是默认剪切到当前目录
               若不加test.c,只是mv test1 ../则是剪切到上级目录,名字不变

[hqy@VM-24-5-centos d1]$ cd ..
[hqy@VM-24-5-centos ~]$ tree
.
|-- a.out
|-- d1
|-- test.c
`-- test.txt

1 directory, 3 files
[hqy@VM-24-5-centos ~]$ 

十条指令,字数不多,看书看博客终究还是不够,大家一定要多多尝试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小何只露尖尖角

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

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

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

打赏作者

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

抵扣说明:

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

余额充值