当前位置: 澳门新濠3559 > 操作系统 > 正文

列出目录及内容,其功能是显示当前工作目录的

时间:2019-11-09 19:36来源:操作系统
pwd与cd命令 1、查看命令帮助的几种方法 目录文件的操作 常用命令 ls cd pwd pwd命令是“print workingdirectory”中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。在实际工作

pwd与cd命令

1、查看命令帮助的几种方法

目录文件的操作

常用命令

  • ls
  • cd
  • pwd

>pwd命令是“print working directory”中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。在实际工作中,我们在命令行操作命令时,经常会在各个目录路径之间进行切换,此时可使用pwd命令快速查看当前我们所在的目录路径。

列出目录及内容,其功能是显示当前工作目录的绝对路径。a.[命令] --help   适用于一般命令,非内置命令

目录文件的查看:
  # ls   文件名:列出目录及内容

命令:ls

ls 是 list 的缩写,用来查看三类信息:

  1. 指定目录(不加路径则默认当前目录)里的文件及文件夹清单
  2. 文件权限(包括目录、文件夹、文件权限)
  3. 目录信息

还有一个 $PWD 环境变量,可以显示当前工作目录的绝对路径

b.man  [命令]     适用于一般命令,非内置命令

    # ls   [OPTION]... [FILE]...

常用参数

参数 描述
-a –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
-d –directory 将目录象文件一样显示,而不是显示其下的文件
-h –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
-t 以文件修改时间排序

如果需要加多个参数,有两种格式:

  • 分开写:ls -a -l
  • 合在一起:ls -al

以人类容易理解的格式列出 /home 目录中所有的文件目录的大小,可以使用如下命令:

ls  -alh  /home
ghostwu@dev:~$ echo $PWD
/home/ghostwu
ghostwu@dev:~$ cd ./php
ghostwu@dev:~/php$ echo $PWD
/home/ghostwu/php
ghostwu@dev:~/php$ pwd
/home/ghostwu/php
ghostwu@dev:~/php$ 

c.help  [命令]     适用于内置命令

          -l:长格式显示文件的详细属性信息
        -rwxr-xr-x. 1 root root 1273 Jul 10 19:45 anaconda-ks.cfg
              第1段:文件属性段

命令:cd

cd 是 change directory 的缩写。
cd 命令,切换当前目录至指定的目录是 Linux 中最基本的命令语句,其他的命令都建立在使用 cd 命令的基础之上。

  • 进入当前目录的父目录:cd ..
  • 进入系统根目录:cd /
  • 进入当前用户主目录:cd ~
  • 进入上次所在目录:cd -
  • 进入当前目录的子目录:
    • cd childdir
    • cd ./childdir
  • 进入当前目录的父目录下的另一子目录:cd ../childdir

 

d. info

                  左起第一位:文件类型

命令:pwd

pwd 是 Print Working Directory 的缩写。
用 pwd 命令来查看“当前工作目录”的完整路径。

ghostwu@dev:~$ pwd
/home/ghostwu
ghostwu@dev:~$ cd /
ghostwu@dev:/$ pwd
/
ghostwu@dev:/$ ls
bin    dev   initrd.img  lost+found  opt   run   srv  usr
boot   etc   lib         media       proc  sbin  sys  var
cdrom  home  lib64       mnt         root  snap  tmp  vmlinuz
ghostwu@dev:/$ cd /etc/
ghostwu@dev:/etc$ cd
ghostwu@dev:~$ cd -
/etc
ghostwu@dev:/etc$ cd ~
ghostwu@dev:~$ cd -
/etc
ghostwu@dev:/etc$ cd ../home/ghostwu/
ghostwu@dev:~$ 

2、pwd:【print name of current/working directory】

                          -:普通文件 (file)

常用参数

参数 描述
-P 显示实际物理路径,而非使用连接(link)路径
-L 当目录为连接路径时,显示连接路径

 

  注释:打印当前目录,进入别人电脑操作,要先查看当前所在位置。

                          d:目录文件 (directory)

思考题

如果把当前目录删了,pwd 仍然会显示为当前目录,为什么?
【注】删除目录命令:rm -rf dir

cd命令是“change directory”中每个单词的首字母缩写,其功能是从当前工作目录切换到指定的工作目录。

  pwd  == pwd -L(等价参数-L)

                          b:块设备文件 (block)

>切换到当前目录的上一级目录(cd..)。

  -L   --logical

                          c:字符设备文件 (character)

>切换到当前目录( cd . )。**

  -P   --physical

                          l:符号链接文件 (symbolic link file)

>切换到家目录( cd ~ ) ,cd不带参数 也是切换到家目录

3、mkdir:【Create the DIRECTORY(ies), if they do not already exist.】 MaKe DIRectory  的缩写

                          p:命名管道文件 (pipe)

>切换到刚才的目录( cd - )

  Usage:mkdir [option] ... Driectory .....   可以创建多个目录

                          s:套接字文件 (socket)

 

  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask    #创建目录,并加上权限,一般不使用它,使用chmod来创建权限
  -p, --parents     no error if existing, make parent directories as needed   
  -v, --verbose     print a message for each created directory        #查看创建过程
  -Z                   set SELinux security context of each created directory
                         to the default type

                         后面9位:文件权限,称为mode,每3位一组,每一组:rwx(读,写,执行)

tree命令,查看目录与文件的组织结构,默认ubuntu没有安装tree

  示例如下:

                                   r:读,Read

ghostwu@dev:~$ tree
The program 'tree' is currently not installed. You can install it by typing:
sudo apt install tree
ghostwu@dev:~$ sudo apt install tree

ghostwu@dev:~$ tree
.
├── Desktop
├── Documents
├── Downloads
│   ├── 1.rar
│   ├── 1 - 副本.pptx
│   ├── 2.rar
│   ├── 2 - 副本.pptx
│   ├── 3.rar
...............
root@zhu-K53SJ:/oldboy# cd /;mkdir oldboy      #正常创建目录,如果文件已经存在,则报错
mkdir: 无法创建目录"oldboy": 文件已存在
root@zhu-K53SJ:/# cd /;mkdir -p oldboy         #参数-p,如果文件存在,创建目录不会报错;如果文件不存在,可以递归的创建目录

root@zhu-K53SJ:/oldboy# mkdir -p test/alex/sb

root@zhu-K53SJ:/oldboy# mkdir -pv test/{1..3}/{4..6}   #递归的创建目录,并查看目录的创建过程

                           w:写,Write

tree -d: 只显示目录

 root@zhu-K53SJ:/oldboy/test# mkdir test{1..6}    #有规律的创建目录,可以使用{min..max}
 root@zhu-K53SJ:/oldboy/test# ls
 test1 test2 test3 test4 test5 test6

                           x:执行,Excute

tree -dL 2: L参数指定显示的层级  2表示2层

 root@zhu-K53SJ:/oldboy/test# tree

                           .:表示文件有隐藏属性

tree -df:显示完整路径

.

                           # lsattr命令可以查看
           第2段:

tree -dfi: 不显示树状层级结构

├── test1
├── test2
├── test3
├── test4
├── test5
└── test6

             数字1:文件被硬链接的次数
          第3段:
               第一个root:owner,属主,文件拥有者
          第4段:
               第二个root:group,属组,文件所属的组
          第5段:
                 1273:size,文件大小,默认单位:字节
          第6段:
             Jul 10 19:45:timestamp,时间戳,文件最近一次被修改的时间

tree -L 1 -F: F参数会在目录后面加个 /,作用:用来跟文件区分

4、echo  【Write arguments to the standard output】 将参数写入标准输出

                  访问:access

ghostwu@dev:~$ tree -L 1
.
├── Desktop
├── Documents
├── Downloads
├── examples.desktop
├── git_test
├── info
├── Music
├── php
├── Pictures
├── project
├── Public
├── python
├── software
├── Templates
└── Videos

14 directories, 1 file
ghostwu@dev:~$ tree -L 1 -F
.
├── Desktop/
├── Documents/
├── Downloads/
├── examples.desktop
├── git_test/
├── info/
├── Music/
├── php/
├── Pictures/
├── project/
├── Public/
├── python/
├── software/
├── Templates/
└── Videos/

14 directories, 1 file
ghostwu@dev:~$ 

  echo {1..10}  打印一行数据,1-10

                  修改:modify

 

root@zhu-K53SJ:/oldboy/test# echo {1..10}    #非常常用的方法,打印一行数字1-10
1 2 3 4 5 6 7 8 9 10

root@zhu-K53SJ:/oldboy/test# echo {1..3}{4..6}
14 15 16 24 25 26 34 35 36

                  改变:change,metadata,元数据
          第7段:

5、cd    change directory 【Change the shell working directory.】

             anaconda-ks.cfg:文件名

  cd: cd [-L|[-P [-e]] [-@]] [dir]

         [OPTION]

  cd ../  切换到上级目录   cd ../../.. 根目录就不能切换了,顶点   cd -切换到上一次的目录   cd ~ 切换到家目录(root目录)

           -h,--human-readable:做单位换算,以容易理解的格式显示文件大小,与 -l 一起使用

  .. 上一级目录 

           -a,--all:显示所有文件,包括以 .开头的隐藏文件
                      . :表示当前目录
                 ..:表示父目录

  - 上一次目录   

           -A,--almost-all:显示不包含 . 和 .. 以外的所有文件
             -d,--directory:显示目录自身属性,通常与 -l 一起使用
               -i,--inode:index node,显示文件的索引节点号
             -r,--reverse:逆序显示

  ~ 代表家目录

           -R,--recursive:递归显示,显示子目录中的内容

6、tree   【tree - list contents of directories in a tree-like format.】以树的形式显示目录结构

查看树目录:

  tree   以树一样来显示文件的目录   lang=en   设置字符显示格式,临时生效,要想永久生效,就要修改配置文件

      # tree [OPTION...] [DIRECTORY...]
           -a:显示所有文件及目录
           -d:只显示目录
           -f:显示完整路径
           -L level:显示指定层级目录树
           -P pattern:只显示指定 pattern 匹配的路径

  参数:

       下载tree命令的方法:    

 

            # cd /etc/yum.repos.d/
            # wget
            # rm CentOS-Base.repos
            # yum-y install tree

  -a            All files are listed.                                    #-a是显示隐藏文件,以.开始的文件和目录
  -d            List directories only.                                   #-d仅仅显示目录,不显示文件
  -l            Follow symbolic links like directories.
 -i            Don't print indentation lines.                           #不显示前面的横线
  -f            Print the full path prefix for each file.         #-f 为每个文件显示完整的路径
  -x            Stay on current filesystem only.
  -L level      Descend only level directories deep.                    #-L level 显示oldboy的层级
 -F            Appends '/', '=', '*', '@', '|' or '>' as per ls -F.    #显示目录,目录后面会加上/

目录文件的切换:

 

     # cd 目标路径(不能是一个文件必须是一个目录)

  参数实例:

        cd  :change directory(切换目录)

 

       所有从根起始的都是绝对路径:/文件名

root@zhu-K53SJ:~# tree /oldboy     #查看oldboy目录下面的文件,Linux系统中,以.形式开始是隐藏
/oldboy
├── test
│   ├── 1
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   ├── 2
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   └── 3
│       ├── 4
│       ├── 5
│       └── 6
└── test.sh

13 directories, 1 file

       基名:路径最后一个文件的名字

root@zhu-K53SJ:~# tree -a /oldboy      #-a 参数显示隐藏文件,.开始的文件是隐藏文件
/oldboy
├── .sh
├── test
│   ├── 1
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   ├── 2
│   │   ├── 4
│   │   ├── 5
│   │   └── 6
│   └── 3
│   ├── 4
│   ├── 5
│   └── 6
└── test.sh

       /x/y/z/m/n: 目标路径
       /x/y/z/m: 是目录名或者路径名

root@zhu-K53SJ:~# tree -L 2 /oldboy     #显示前两层目录结构
/oldboy
├── test
│   ├── 1
│   ├── 2
│   └── 3
└── test.sh

           两个命令:
          获取路径的基名:   # basename
          获取路径的目录名:# dirname

root@zhu-K53SJ:~# tree -F /oldboy      #-F是为了区分文件或目录,目录后面都有/斜杠,文件是没有的,就能区分出来文件和目录。
/oldboy
├── test/
│   ├── 1/
│   │   ├── 4/
│   │   ├── 5/
│   │   └── 6/
│   ├── 2/
│   │   ├── 4/
│   │   ├── 5/
│   │   └── 6/
│   ├── 3/
│   │   ├── 4/
│   │   ├── 5/
│   │   └── 6/
│   └── alex.txt
└── test.sh

  注意: 文件名可以使用除/(路径分割符)以外的任意字符(空白符也是可以),但是不要使用特殊字符,且总长度不能超过255个
      严格区分大小写

7、touch    

  注意:~ 相当于 /home   

  作用:(1)文件不存在,创建新文件  ;(2)文件存在,更新时间戳 

  如果要切换到根目录下的目录具体操作:# cd /USERNAME(可以是空文件或者目录)【只有管理员可以此操作】

  参数:

  如果要切换到家目录具体操作:# cd  或者 # cd ~

 

  如果要切换到家目录下的目录具体操作:# cd ~USERNAME(可以是空文件或者目录)【只有管理员可以此操作】

  -a            只更改访问时间(Recent access)
  -c, --no-create    不创建任何文件
  -d, --date=字符串    使用指定字符串表示时间而非当前时间
  -f            (忽略)
  -h, --no-dereference        会影响符号链接本身,而非符号链接所指示的目的地
                (当系统支持更改符号链接的所有者时,此选项才有用)
  -m            只更改修改时间 (modify time)
  -r, --reference=FILE   use this file's times instead of current time
  -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
      --time=WORD        change the specified time:
                           WORD is access, atime, or use: equivalent to -a
                           WORD is modify or mtime: equivalent to -m

  # cd -  :返回上一次所在的目录

 

  # cd .  :  切换到当前目录

  参数实例:

    # cd .. :切换到父目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思)

 

  # cd ../.. :切换上两级目录;

root@zhu-K53SJ:~/test# touch oldboy.txt   #创建目录,如果文件存在,更新时间戳
root@zhu-K53SJ:~/test# touch oldboy.txt

oot@zhu-K53SJ:~/test# touch 1.txt 2.txt   #批量创建目录方法1,不常用
root@zhu-K53SJ:~/test# touch {3..5}.txt   #批量创建目录方法2,要掌握这种方法{min..max}来创建
root@zhu-K53SJ:~/test# ls
1.txt  2.txt  3.txt  4.txt  5.txt  dir1  dir2  dir3  dir4  dir5  oldboy.txt

  # cd !$ :把上个命令的参数作为cd参数使用

 

 

  更改文件的时间戳

显示当前目录:

 

         # pwd:显示当前目录    print working directory

root@zhu-K53SJ:~/test# stat oldboy.txt                                             #查看文件属性
  文件:'oldboy.txt'
  大小:0             块:0          IO 块:4096   普通空文件
设备:801h/2049d    Inode:8389405     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2017-10-14 22:08:11.193012120 +0800           
最近更改:2017-10-14 22:08:11.193012120 +0800
最近改动:2017-10-14 22:08:11.193012120 +0800
创建时间:-

        -L:显示当前工作目录连接路径,默认 pwd 同 pwd -L
        -P:显示当前工作目录的物理路径

 

创建目录:

 

    # mkdir:创建目录 make directory   

    

        -p: 先创建父目录
        -v:显示详细信息  

路径:

删除空目录:

相对路径:不从/根开始   例如:test    相对路径是相对与当前的路径,当前工作的目录,相对路径 注意,切换目录的时候,相对切换

   # rmdir:删除空目录  remove directory

绝对路径:从/根开始   例如:/oldboy/test  

提示:以上具体操作参看bash的特性中的举例

 

 

编辑:操作系统 本文来源:列出目录及内容,其功能是显示当前工作目录的

关键词: