linux的基本指令(一)

目录

路径指令:

1.pwd

2.ls

常用选项:

-a:

-d:

-l:

3.cd

.. :

绝对路径和相对路径:

~:

-:

创建和删除指令:

1.touch:

2.mkdir

3.tree

4.rmdir

5.rm

“复制”和“剪切”

1.cp

2.mv


路径指令:

1.pwd

查看用户当前所在路径

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# pwd
/root    //路径

2.ls

可以列出当前目录(与windows中的文件夹一个概念)下的文件和子目录及属性,或列出当前文件的

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
  • 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件

当前的操作都是在root目录下进行的,每个指令只会简绍几个常用的选项

-a:

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls -a
.  ..  a  b  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .lesshst  .pip  .pydistutils.cfg  .ssh  .tcshrc
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# 

可以看到直接使用 ls,只会显示a b两个文件,无法显示前缀有.的文件,使用 -a 就可以将这些隐藏文件显示出来。

-d:

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls -d
.

-d 显示了当前的目录,正如所显示的 . 就表示的是当前的目录。

-l:

文件的信息也是文件的属性,有文件的创建时间、文件大小等等。

-l 可以写成 ll

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 27 08:54 a
drwxr-xr-x 2 root root 4096 Nov 27 08:54 b

3.cd

改变当前所在的目录到指定的目录下

  • cd .. : 返回上级目录
  • cd /home/litao/linux/ : 绝对路径
  • cd ../day02/ : 相对路径
  • cd ~:进入用户家目录
  • cd -:返回最近访问目录

.. :

之前看到过 . 表示当前目录,.. 表示的就是上级目录。

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# pwd
/root
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# cd ..
[root@iZf8z6xc36jyvqb5ktedhaZ /]# pwd
/

原本在root目录下,通过 cd .. 进去到了上级目录 / 下,/ 是根目录,也表示路径分割符。

linux的整个目录是多叉树的形式:

绝对路径和相对路径:

在操作系统中,同一目录下不能存在相同的名字,不同目录可以,而这些目录都具有唯一的路径。也正是由此特性,我们在系统中可以通过路径准确的查找到想要的文件。

[root@iZf8z6xc36jyvqb5ktedhaZ /]# pwd
/
[root@iZf8z6xc36jyvqb5ktedhaZ /]# cd /root/a
[root@iZf8z6xc36jyvqb5ktedhaZ a]# pwd
/root/a

从根目录开始向下找文件就是绝对路径。

[root@iZf8z6xc36jyvqb5ktedhaZ a]# pwd
/root/a
[root@iZf8z6xc36jyvqb5ktedhaZ a]# cd ../b
[root@iZf8z6xc36jyvqb5ktedhaZ b]# pwd
/root/b

从当前目录开始,直接进去子目录,或如上 使用.. 从上级目录去查看同级目录都是相对路径。可以说就是以当前目录为起点去查找。

~:

linux和windows一样都是多用户操作系统,我们每次使用都需要登陆用户,操作系统也会为每位用户创建一个目录,也称家目录,首次登陆所处的路径都是自己的家目录

[root@iZf8z6xc36jyvqb5ktedhaZ b]# pwd
/root/b
[root@iZf8z6xc36jyvqb5ktedhaZ b]# cd ~
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# pwd
/root

对于root账号:默认的家目录是/root——超级管理员账号,可以访问任意用户

对于普通用户:默认家目录/home/XXX,XXX新建用户名,不能访问其他用户

-:

[root@iZf8z6xc36jyvqb5ktedhaZ a]# pwd
/root/a
[root@iZf8z6xc36jyvqb5ktedhaZ a]# cd ../b
[root@iZf8z6xc36jyvqb5ktedhaZ b]# cd -
/root/a
[root@iZf8z6xc36jyvqb5ktedhaZ a]# cd -
/root/b

原本在a目录下,cd进入b目录,这时使用cd - 就可以在a目录和b目录中来回切换。

创建和删除指令:

1.touch:

当前路径下新建一个空文件,也可以更改文件或目录的日期时间,包括存取时间和更改时间

  • -a   或--time=atime或--time=access或--time=use只更改存取时间。
  • -c   或--no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m   或--time=mtime或--time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

以现在的进度只需要使用touch创建一个文件就可以,这些选向并不常用。

[root@iZf8z6xc36jyvqb5ktedhaZ b]# ll
total 0
[root@iZf8z6xc36jyvqb5ktedhaZ b]# touch test.c
[root@iZf8z6xc36jyvqb5ktedhaZ b]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 27 11:01 test.c

对于文件我们也要知道一个概念,一个文件是分为两部分:内容+属性。一个空文件是指文件的内容为空,但文件的属性是一定存在的在磁盘中占有空间。

2.mkdir

当前路径下创建一个目录

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# mkdir c
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b  c

-p:

可以递归创建多个目录

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# mkdir -p d/e/f
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls b
test.c
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls d
e
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls d/e
f

3.tree

以树状的形式显示目录结构

上面我们想查看b目录下有多少文件,用ls是非常麻烦的,tree就可以直接显示出来

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# tree d
d
└── e
    └── f

2 directories, 0 files

directories表示目录,files表示文件

Ctrl+C:

在我们输入一些指令或程序时,可能会发生程序错误或执行内容过多等等,出现这些情况就可以使用Ctrl+C来终止程序和指令。如tree /:

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# cd ..
[root@iZf8z6xc36jyvqb5ktedhaZ /]# pwd
/
[root@iZf8z6xc36jyvqb5ktedhaZ /]# tree /

可以自己试一下,tree / 会出现很多目录和文件,Ctrl+C就可以终止:

│   │   │   │   │   ├── wireless
│   │   │   │   │   └── xfrm_stat
│   │   │   │   ├── ns
│   │   │   │   │   ├── ipc -> ipc:[4026531839]
│   │   │   │   │   ├── mnt -> mnt:[4026531840]
^C[root@iZf8z6xc36jyvqb5ktedhaZ /]# ^C
[root@iZf8z6xc36jyvqb5ktedhaZ /]# ^C
[root@iZf8z6xc36jyvqb5ktedhaZ /]# ^C

4.rmdir

删除空目录

-p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# rmdir d
rmdir: failed to remove ‘d’: Directory not empty
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# rmdir c
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b  d

rmdir的适用范围是非常有限的,通常都会使用rm完成删除

5.rm

删除目录或文件

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# rm -rf d
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b

在root用户下删除一个文件或目录都会让我们在重新确认一下,输入n(NO)不删除,y(yes)删除。使用 -f 时就可以不进行选择直接删除。

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# rm -r a
rm: remove directory ‘a’? n
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b

“复制”和“剪切”

1.cp

可以将一个或多个文件和目录复制到指定的目录中,指定的目标目录必须是存在的,否则会报错。

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# mkdir -p c/d/e/f
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# tree c
c
└── d
    └── e
        └── f

3 directories, 0 files
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# cp -rf c a
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# tree a
a
└── c
    └── d
        └── e
            └── f

4 directories, 0 files
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b  c

2.mv

1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。

2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# mv c b
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# tree b
b
├── c
│   └── d
│       └── e
│           └── f
└── test.c

4 directories, 1 file
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b

改变文件所在路径+重命名:

[root@iZf8z6xc36jyvqb5ktedhaZ ~]# cd b
[root@iZf8z6xc36jyvqb5ktedhaZ b]# mv c ../f
[root@iZf8z6xc36jyvqb5ktedhaZ b]# cd ..
[root@iZf8z6xc36jyvqb5ktedhaZ ~]# ls
a  b  f

如果想在当前目录下修改文件名字之接 mv "name" "newname"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值