linux常用命令-文件目录类

1、pwd命令

功能:显示当前工作目录的绝对路径
eg.:
    [root@centos6 ~] pwd
    /root

2、ls命令

2.1、功能:显示工作目录下的文件和目录
2.2、语法:
    ls [选项] [文件|目录]
    常用选项:
        -l : 以列表的方式显示信息
        -a :显示所有文件和目录,包含隐藏的
        -t :显示信息时,根据修改时间排序
        -S :按文件大小排序
        -r :排序时倒序
        -u : 同-lt 一起使用:按照访问时间排序并显示
			 同-l一起使用:显示访问时间并按文件名排序
			 其他:按照访问时间排序

    eg.:
      [cat@centos6 ~]$ ls
      a.txt  b.py  ddd  dpd
      [cat@centos6 ~]$ 
      [cat@centos6 ~]$ ls -a
      .  ..  a.txt  .bash_history  .bash_logout  .bash_profile  .bashrc  b.py  ddd  dpd  .gnome2  .mozilla
      [cat@centos6 ~]$ 
      [cat@centos6 ~]$ ls -tl
      总用量 8
      drwxrwxr-x. 2 cat cat 4096 8月   2 10:44 dpd
      -rw-rw-r--. 1 cat cat    0 8月   2 10:44 b.py
      -rw-rw-r--. 1 cat cat    0 8月   2 10:34 a.txt
      drwxrwxr-x. 2 cat cat 4096 8月   2 10:34 ddd
      [cat@centos6 ~]$ 
      [cat@centos6 ~]$ ls -lrt
      总用量 8
      drwxrwxr-x. 2 cat cat 4096 8月   2 10:34 ddd
      -rw-rw-r--. 1 cat cat    0 8月   2 10:34 a.txt
      -rw-rw-r--. 1 cat cat    0 8月   2 10:44 b.py
      drwxrwxr-x. 2 cat cat 4096 8月   2 10:44 dpd

3、cd命令

3.1 功能:切换到指定目录
3.2 语法:
   cd [-L|-P] [dir]
   选项:
       -L :强制使用符号链接
       -P :使用物理目录结构,不是用符号链接
       dir : 可以是相对路径或绝对路径
   eg.:
       [cat@centos6 ~]$ pwd
       /home/dog
       [cat@centos6 ~]$ 
       [cat@centos6 ~]$ ls
       a.txt  b.py  ddd  dpd
       [cat@centos6 ~]$ cd ddd
       [cat@centos6 ddd]$ cd ..
       [cat@centos6 ~]$ cd /home/dog/ddd
       # 切换到用户家目录
       [cat@centos6 ddd]$ cd ~
       # 切换到前一次目录
       [cat@centos6 ~]$ cd -
       /home/dog/ddd
       # 切换到用户家目录
       [cat@centos6 ddd]$ cd 
       [cat@centos6 ~]$ 

4、mkdir命令

4.1、功能:创建目录
4.2、语法:
   mkdir [选项]... 目录...
   常用选项:
       -p, --parents     	需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
   eg.:
       [cat@centos6 ~]$ mkdir par
       [cat@centos6 ~]$ mkdir par/var
       ##创建多级目录报错
       [cat@centos6 ~]$ mkdir lit/low
       mkdir: 无法创建目录"lit/low": 没有那个文件或目录
       ##加 -p 参数,创建多级目录成功
       [cat@centos6 ~]$ mkdir -p lit/low
       [cat@centos6 ~]$         

5、rmdir命令

5.1 、功能:删除指定的空目录
5.2、语法:
   rmdir [选项]... 目录...
   常用选项:
       -p, --parents		删除指定目录及其上级文件夹,例如"rmdir -p a/b/c'""rmdir a/b/c a/b a'" 基本相同
   eg.:
       [cat@centos6 ~]$ ls */
       ddd/:
       
       dpd/:
       
       lit/:
       low
       
       par/:
       var
       [cat@centos6 ~]$ 
       [cat@centos6 ~]$ rmdir dpd
       ##删除非空目录失败
       [cat@centos6 ~]$ rmdir lit
       rmdir: 删除 "lit" 失败: 目录非空
       ##删除lit目录下的low
       [cat@centos6 ~]$ rmdir lit/low
       ##lit目录还存在,low目录已删除
       [cat@centos6 ~]$ ls lit
       ##删除par目录和它下面的var目录
       [cat@centos6 ~]$ rmdir -p par/var
       [cat@centos6 ~]$ ls
       a.txt  b.py  ddd  lit
       [cat@centos6 ~]$        

6、touch命令

6.1、功能:将文件的访问时间和修改时间改为当前时间;不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。
6.2、用法:
   touch [选项]... 文件...
   常用选项:
       -a : 只更改访问时间
       -m : 只更改修改时间
       -c : 不创建任何文件
   eg.:
       [cat@centos6 ddd]$ ls
       ## -c 不创建空文件
       [cat@centos6 ddd]$ touch -c a
       [cat@centos6 ddd]$ ls
       ## 创建空文件
       [cat@centos6 ddd]$ touch a
       [cat@centos6 ddd]$ ll
       总用量 0
       -rw-rw-r--. 1 cat cat 0 8月   2 14:37 a
        ##只更新访问时间
       [cat@centos6 ddd]$ touch -a a
       [cat@centos6 ddd]$ stat a
         File: "a"
         Size: 0         	Blocks: 0          IO Block: 4096   普通空文件
       Device: 802h/2050d	Inode: 279744      Links: 1
       Access: (0664/-rw-rw-r--)  Uid: (  500/     cat)   Gid: (  501/     cat)
       Access: 2019-08-02 14:43:40.645997103 +0800
       Modify: 2019-08-02 14:41:57.682996944 +0800
       Change: 2019-08-02 14:43:40.645997103 +0800
       [cat@centos6 ddd]$ 
       #只更新修改时间
       [cat@centos6 ddd]$ touch -m a
       [cat@centos6 ddd]$ stat a
         File: "a"
         Size: 0         	Blocks: 0          IO Block: 4096   普通空文件
       Device: 802h/2050d	Inode: 279744      Links: 1
       Access: (0664/-rw-rw-r--)  Uid: (  500/     cat)   Gid: (  501/     cat)
       Access: 2019-08-02 14:43:40.645997103 +0800
       Modify: 2019-08-02 14:44:41.846999151 +0800
       Change: 2019-08-02 14:44:41.846999151 +0800
       #修改时间和访问时间都更新
       [cat@centos6 ddd]$ touch a
       [cat@centos6 ddd]$ stat a
         File: "a"
         Size: 0         	Blocks: 0          IO Block: 4096   普通空文件
       Device: 802h/2050d	Inode: 279744      Links: 1
       Access: (0664/-rw-rw-r--)  Uid: (  500/     cat)   Gid: (  501/     cat)
       Access: 2019-08-02 14:46:05.862997874 +0800
       Modify: 2019-08-02 14:46:05.862997874 +0800
       Change: 2019-08-02 14:46:05.862997874 +0800
       [cat@centos6 ddd]$ 

7、cp命令

7.1、功能:将源文件复制至目标文件,或将多个源文件复制至目标目录
7.2、用法:
   cp [选项]... [-T] 源文件 目标文件
   或:cp [选项]... 源文件... 目录
   或:cp [选项]... -t 目录 源文件...
   选项:
       -R, -r, --recursive		递归复制目录及其子目录内的所有内容
       -t,  --target-directory=目录	将所有参数指定的源文件/目录 复制至目标目录
       -T, --no-target-directory	将目标目录视作普通文件
   eg.:
       ##复制单个文件xxx.txt到target目录下
       [cat@centos6 ~]$ cp source/xxx.txt target/
       [cat@centos6 ~]$ ls target
       xxx.txt
       ##复制目录失败
       [cat@centos6 ~]$ cp source/ target/
       cp: 略过目录"source/"
       [cat@centos6 ~]$ ls target/
       xxx.txt
       ##复制整个source目录到target目录下
       [cat@centos6 ~]$ cp -r source/ target/
       [cat@centos6 ~]$ ls target
       source  xxx.txt
       ##将source目录下的文件复制到target目录
       [cat@centos6 ~]$ cp -rT source target
       [cat@centos6 ~]$ ls */
       source/:
       xxx2.txt  xxx.txt
       
       target/:
       xxx2.txt  xxx.txt
       
       ##将target,source复制到target2
       [cat@centos6 ~]$ cp -rt target2 target/ source
       [cat@centos6 ~]$ ll target2/
       总用量 8
       drwxrwxr-x. 2 cat cat 4096 8月   2 16:03 source
       drwxrwxr-x. 3 cat cat 4096 8月   2 16:03 target
       [cat@centos6 ~]$ 

8、rm命令

8.1、功能:删除目录或文件,unlink文件
8.2、用法:
   rm [选项]... 文件...
   常用选项:
       -f, --force		强制删除。忽略不存在的文件,不提示确认
       -r, -R, --recursive	递归删除目录及其内容
       #默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容。
   eg.:
       [cat@centos6 target]$ rm xxx.txt
       [cat@centos6 target]$ rm -i xxx2.txt
       rm:是否删除普通空文件 "xxx2.txt"?y
       [cat@centos6 target]$ 
       [cat@centos6 target]$ rm source
       rm: 无法删除"source": 是一个目录
       [cat@centos6 target]$ 
       [cat@centos6 target]$ rm -r source

9、mv命令

9.1、功能:将源文件重命名为目标文件,或将源文件移动至指定目录。
9.2、用法:
   mv [选项]... [-T] 源文件 目标文件
   或:mv [选项]... 源文件... 目录
   或:mv [选项]... -t 目录 源文件...
   常用选项:
       -b : 为每个已存在的目标文件创建备份,备份文件的后缀为"~"
   eg.:        
       [cat@centos6 source]$ ls
       xxx2.txt  xxx.txt
       ##重命名
       [cat@centos6 source]$ mv xxx2.txt yyy2.txt
       [cat@centos6 source]$ ls
       xxx.txt  yyy2.txt
       ##移动文件到目标目录
       [cat@centos6 source]$ mv yyy2.txt ../target/
       [cat@centos6 source]$ ls ../target
       yyy2.txt
       [cat@centos6 source]$ ls
       xxx.txt
       [cat@centos6 source]$ ls
       yyy.txt  zzz.txt
       ##mv时为存在的目标文件备份
       [cat@centos6 source]$ mv -b yyy.txt zzz.txt
       [cat@centos6 source]$ ls
       zzz.txt  zzz.txt~

10、cat命令

10.1、功能:查看文件内容(官方定义:将[文件]或标准输入组合输出到标准输出。)
10.2、用法:
    cat [选项]... [文件]...
    常用选项:
        -n : 对输出的所有行编号
        -A : 包含控制字符(回车换行,制表符等)
    eg.:
       [cat@centos6 ~]$ cat a.txt
       kdfljadskjfladsjlfjadsl
       kdfljadljfdlaskjflajl
       xshell
       work hard
       root
       
       [cat@centos6 ~]$ cat -n a.txt
            1	kdfljadskjfladsjlfjadsl
            2	kdfljadljfdlaskjflajl
            3	xshell
            4	work hard
            5	root
            6	
       [cat@centos6 ~]$      

11、more命令

11.1、功能:分屏查看文件内容
11.2、用法:
   more [选项] 文件
   选项:
       -num : 执行一屏显示的行数
   内部快捷键:
        空白键(space):向下翻一页
        Enter键      : 向下翻一行
        q            : 退出
        Ctrl+F   :     向下滚动一屏
        Ctrl+B   :     向上滚动一屏
        =           :  输出当前行号
        :f           : 输出文件名和当前行的行号
   eg.:
       [cat@centos6 ~]$ more /etc/passwd
       root:x:0:0:root:/root:/bin/bash
       bin:x:1:1:bin:/bin:/sbin/nologin
       [cat@centos6 ~]$ more -2 a.txt
       kdfljadskjfladsjlfjadsl
       kdfljadljfdlaskjflajl
       --More--(66%)
   

12、less命令

12.1、功能:与more命令相似,分屏查看文件内容;但是比more命令强大,在显示文件内容时,并非将整个文件加载再显示,而是根据显示需要加载内容。
12.2、用法:
   less [选项] 文件
   选项:
       -N : 显示行号
   内部快捷键:
        空白键(space):向下翻一页
        Enter键      : 向下翻一行
        q            : 退出
        Ctrl+F   :     向下滚动一屏
        Ctrl+B   :     向上滚动一屏
        [PageDown]  :     向下滚动一屏
        [PageUp]     :     向上滚动一屏
        /字符串           :  向下搜索字符串;n:向下查找 ;N:向上查找
        ?字符串          : 向上搜索字符串;n:向下查找 ;N:向上查找
    eg.:
           [cat@centos6 ~]$ less -N a.txt
             1 kdfljadskjfladsjlfjadsl
             2 kdfljadljfdlaskjflajl
             3 xshell
             4 work hard
             5 root
             6 

13、head命令

13.1、功能:将每个指定文件的头10 行显示到标准输出。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。
13.2、用法:
   head [选项]... [文件]...
   常用选项:
       -n K: 显示每个文件的前K 行内容
       -K:  :   显示每个文件的前K 行内容
   eg.:
       ##默认显示前10行内容
       [cat@centos6 ~]$ head /etc/passwd
       root:x:0:0:root:/root:/bin/bash
       bin:x:1:1:bin:/bin:/sbin/nologin
       daemon:x:2:2:daemon:/sbin:/sbin/nologin
       adm:x:3:4:adm:/var/adm:/sbin/nologin
       lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
       sync:x:5:0:sync:/sbin:/bin/sync
       shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
       halt:x:7:0:halt:/sbin:/sbin/halt
       mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
       uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
       [cat@centos6 ~]$ 
       ##显示2个文件的前3行内容
       [cat@centos6 ~]$ head -3 a.txt b.py
       ==> a.txt <==
       kdfljadskjfladsjlfjadsl
       kdfljadljfdlaskjflajl
       xshell
       
       ==> b.py <==
       bbbbbbbbbbbbbbbb
       ccccccccccccccccc
       dddddddddddddddd
       [cat@centos6 ~]$ 
       ##显示2个文件的前3行内容 同上
       [cat@centos6 ~]$ head -n 3 a.txt b.py
       ==> a.txt <==
       kdfljadskjfladsjlfjadsl
       kdfljadljfdlaskjflajl
       xshell
       
       ==> b.py <==
       bbbbbbbbbbbbbbbb
       ccccccccccccccccc
       dddddddddddddddd
       [cat@centos6 ~]$

14、tail命令

14.1、功能:显示每个指定文件的最后10 行到标准输出。
14.2、用法:
   tail [选项]... [文件]...
   常用选项:
       -n K: 显示每个文件的后K 行内容
       -K:  :显示每个文件的后K 行内容
       -f   :即时输出文件变化后的内容
   eg.:
       [cat@centos6 ~]$ tail -3 a.txt
       work hard
       root
       last
       [cat@centos6 ~]$ tail -n 3 a.txt
       work hard
       root
       last
       [cat@centos6 ~]$ 
       ##实时监控文件的变化
       [cat@centos6 ~]$ tail -f a.txt
       kdfljadskjfladsjlfjadsl
       kdfljadljfdlaskjflajl
       [cat@centos6 ~]$ tail -3f a.txt
       eeeeeee                        
       eeeeeee                        
       fffffff                            

15、ln命令

15.1、功能:默认创建硬链接,当使用–s 参数时创建符号链接(软链接)。当创建硬链接时每个指定的目标都必须存在。符号链接可以指向任意的位置,当链接解析正常时,将其解析为一个与其父目录关联的链接。
15.2、用法:
   ln [选项]... [-T] 目标 链接名	(第一种格式) #创建指定名称且指向指定目标链接
 或:ln [选项]... 目标		(第二种格式)     #在当前目录创建指向目标位置的链接
 或:ln [选项]... 目标... 目录	(第三种格式)     #在指定目录中创建指向指定目标的链接
 或:ln [选项]... -t 目录 目标...	(第四种格式) #在指定目录中创建指向指定目标的链接
 常用选项:
     -s, --symbolic		创建符号链接而非硬链接
     -t, --target-directory=目录	在指定目录中创建链接
     -T, --no-target-directory	将链接名称当作普通文件
 eg.:
       #硬链接指向目录报错
       [cat@centos6 ~]$ ln source lsour
       ln: "source": 不允许将硬链接指向目录
       [cat@centos6 ~]$
       #软链接指定目录成功
       [cat@centos6 ~]$ ln -s source lsour
       ##显示lsour为链接文件
       [cat@centos6 ~]$ ls -l lsour
       lrwxrwxrwx. 1 cat cat 6 8月   5 15:52 lsour -> source
       ##硬链接指定文件成功
       [cat@centos6 ~]$ ln  lyyy2 ./target/yyy2.txt
       ##显示硬链接文件和源文件大小一致,相当于copy一份,当修改源文件时,链接文件随之改变
       [cat@centos6 ~]$ ls -l lyyy2 ./target/yyy2.txt
       -rw-rw-r--. 2 cat cat 161 8月   5 15:55 lyyy2
       -rw-rw-r--. 2 cat cat 161 8月   5 15:55 ./target/yyy2.txt
       ##删除硬链接文件,源文件不受影响
       [cat@centos6 ~]$ rm lyyy2
       #建立软链接        
       [cat@centos6 ~]$ ln -s ./target/yyy2.txt lsyyy2 
       [cat@centos6 ~]$ ls -l ./target/yyy2.txt lsyyy2 
       lrwxrwxrwx. 1 cat cat  17 8月   5 16:09 lsyyy2 -> ./target/yyy2.txt
       -rw-rw-r--. 1 cat cat 189 8月   5 16:04 ./target/yyy2.txt
       ##建立目录的软链接
       [cat@centos6 ~]$ ln -s source lsour
       #删除软链接,软链接是个文件,不是目录,所以删除时文件名后不要带 /
       [cat@centos6 ~]$ rm lsour/
       rm: 无法删除"lsour/": 是一个目录
       [cat@centos6 ~]$
       [cat@centos6 ~]$ rm -f lsour

16、history命令

16.1、功能:查看执行过的历史命令
16.2、用法:
   history [number]
   eg.:
       ##查看执行过的所有历史命令
       [cat@centos6 ~]$ history
           1  id
           2  su - root
           3  su - sx
           4  exit
           5  pwd
           6  ftp --help
           7  service vsftpd status
           8  man ftp
           9  pwd
       ...
       ## 查看最近执行的10条命令   
       [cat@centos6 ~]$ history 10
         351  ll
         352  rm -r lsour/
         353  rm lsour/
         354  rm -f lsour
         355  ll
         356  history
         357  history --help
         358  man history
         359  history
         360  history 10
       [cat@centos6 ~]$
       ##执行355号命令
       [cat@centos6 ~]$ !355
       ll
       总用量 28
       -rw-rw-r--. 1 cat cat  128 8月   5 15:06 a.txt
       -rw-rw-r--. 1 cat cat  164 8月   5 14:37 b.py
       drwxrwxr-x. 2 cat cat 4096 8月   2 14:37 ddd
       drwxrwxr-x. 2 cat cat 4096 8月   2 11:27 lit
       drwxrwxr-x. 2 cat cat 4096 8月   5 16:12 source
       drwxrwxr-x. 2 cat cat 4096 8月   5 16:04 target
       drwxrwxr-x. 4 cat cat 4096 8月   2 16:03 target2
       [cat@centos6 ~]$ 
16.3、相关命令/快捷键
        光标上下键:查找较近的历史命令
        CTRL + r  : 利用关键字搜索历史命令
        ALT + . :  引用上一个命令的最后一个参数
        ESC .   : 引用上一个命令的最后一个参数 
        !$      : 引用上一个命令的最后一个参数 ,与上面的ESC.,ALT+. 等价
    eg.:
       [root@centos6 ~]# vi /etc/inittab
       [root@centos6 ~]# 
       [root@centos6 ~]# 
       [root@centos6 ~]# ls /etc/inittab 
       /etc/inittab
       [root@centos6 ~]# cat !$
       cat /etc/inittab
       # inittab is only used by upstart for the default runlevel.
       #
       # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
       #
       # System initialization is started by /etc/init/rcS.conf
       #
       # Individual runlevels are started by /etc/init/rc.conf
       #
       # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
       #
       # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
       # with configuration in /etc/sysconfig/init.
       #
       # For information on how to write upstart event handlers, or how
       # upstart works, see init(5), init(8), and initctl(8).
       #
       # Default runlevel. The runlevels used are:
       #   0 - halt (Do NOT set initdefault to this)
       #   1 - Single user mode
       #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
       #   3 - Full multiuser mode
       #   4 - unused
       #   5 - X11
       #   6 - reboot (Do NOT set initdefault to this)
       # 
       id:3:initdefault:
       [root@centos6 ~]#     
       [root@centos6 ~]# 输入CTRL+. 在输入c,搜索出命令 cat /etc/inittab
       (reverse-i-search)`c': cat /etc/inittab
    
    

17、echo命令

17.1 功能:输出一行文本到控制台
17.2 用法:
   echo 输出文本
   eg.:
       ##显示文本
       [cat@centos6 ~]$ echo 'Hello,World'
       Hello,World
       [cat@centos6 ~]$ 
       ##显示变量
       [cat@centos6 ~]$ echo $PATH
       /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dog/bin
       ##显示命令执行结果
       [cat@centos6 ~]$ echo `date`
       2019年 08月 05日 星期一 16:46:33 CST
       
17.3、显示带颜色的文本

前景色(字体):echo -e “\e[1;30mColor Text.\e[0m”

在这里插入图片描述

背景色:echo -e “\e[1;40mColor Text.\e[0m”

在这里插入图片描述

18、> 和 >> 命令

18.1、功能: 输出重定向,> 清空重定向文件重新写入新内容,>> 新内容追加到输出重定向文件的末尾。输出重定向文件不存在时会创建文件。
18.2、用法:
       ##输出重定向到文件ddd.txt,文件不存在则创建
       [cat@centos6 ~]$ echo 1 > ddd.txt
       [cat@centos6 ~]$ cat ddd.txt
       1
       ##输出重定向到文件ddd.txt,清空原文件内容重新写入新内容
       [cat@centos6 ~]$ echo 2 > ddd.txt
       [cat@centos6 ~]$ cat ddd.txt
       2
       ##输出重定向到文件ddd.txt,追加到原文件内容末尾
       [cat@centos6 ~]$ echo 3 >> ddd.txt
       [cat@centos6 ~]$ cat ddd.txt
       2
       3
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值