Linux03--常用命令02之:帮助命令、常用快捷键、目录和文件操作

1 查看帮助信息命令

1.man命令

# man命令的功能是查看某一条命令的详细解释。

# 格式:
    man [具体需要被查看的命令]

	eg: man shutdown : 进入查看界面
	
# 查看界面里的各项
    NAME        :一句话说明被查看命令的作用
    SYNOPSIS    :展示命令的使用格式
    OPTIONS     :被查看命令的所有选项
    DESCRIPTION :命令的简介,详细的告诉我们当前这个命令具体作用

2.help命令

# 格式:
    1 被查询命令  --help
        eg: shutdown --help
		
    2 help  被查询命令   # 注:help 命令只能用于内建命令的帮助信息查询
        eg: help cd
        
# 补充:
    内建命令 是shell程序的一部分,Linux系统加载运行时就被加载并驻留在系统内存里的,执行速度较快。
    外部命令 是通过额外安装获得的命令,不随系统一起被加载到内容中,运行速度慢但功能强大。
	
    使用 type 命令可以查看该命令是内建命令还是外部命令

2 系统常用快捷键

# 上下键: 
    1、切换屏幕
    2、根据使用命令的历史,切换命令(注:同一个命令行窗口)
     
# 页面内搜索:(注:光标最好放在第一行,按n键,查找下一个)
    第一步:按 / 键
    第二步:输入搜索的内容
    第三步:回车
    第四步:按n键,查找下一个

    退出:按 q 键

# bash的版本号:  
    \v  

# 清空屏幕信息:
    ctrl + l  # 与之相同的命令:clear
    
# 光标移动到行首与行尾
    crtl + a : 移动到行首  crtl + 左 : 快速向左移动光标
    crtl + e : 移动到行尾  ctrl + 右 : 快速向右移动光标

# 剪切内容至行首:
    crtl + u
# 剪切内容至行尾:
    crtl + k

# 粘贴内容:
    crtl + y

# 命令补全(必须唯一):
    tab

3 目录路径相关命令

#  查看目录、切换目录、创建目录


# 1 查看目录
    # pwd 命令: 查看当前所在目录的路径(绝对路径)
        实际上使用的是系统环境变量中的PWD的值

    # printenv : 打印系统环境变量
        系统环境变量:系统默认给咱们定义的变量
    
    # 查看目录的详细信息
      ls  -dl /root   或  ll -d /root


# 2 切换目录/路径

    # cd 命令 : 切换目录
        格式:
            cd [目标路径]

        绝对路径
        相对路径
        特殊路径: . ..  ~  -


    # 案例
        1:切换到/etc/sysconfig/network-scripts
            cd /etc/sysconfig/network-scripts

        2:由案例1 切换到/etc目录
            cd /etc
            cd ../..

        3:由案例2 切换至上一次所在的目录
            cd -

        4:切换到家目录
            cd ~
            cd /root
        
        
# 3 创建目录/文件夹       
        
    # mkdir 命令: 创建目录的命令
        格式:
            mkdir [选项] [被创建的目标路径]

        选项(参数)
            -p : 自动创建父级目录


    # 1.创建单层目录
        eg:在当前目录创建一个名为:test的文件夹
            mkdir test   # 相对路径

        eg:在/root目录下创建一个名为:test01的目录
            mkdir /root/test01  # 绝对路径

    # 2.创建多层目录 
        eg:在/root目录下,创建一个/root/a/b/c目录

        # 方式一:一层一层的创建
            mkdir /root/a/
            mkdir /root/a/b
            mkdir /root/a/b/c

        # 方式二:添加 -p 参数
            mkdir -p /root/aa/bb/cc

            mkdir /root/aa/bb/cc   # 若直接建立多层目录,报错
            mkdir: cannot create directory ‘/root/aa/bb/cc’: No such file or directory

# 4 查看目录树:   需要先安装tree命令,执行yum install tree -y
    tree -a 目录    # 显示所有文件,包括隐藏文件
    tree -d 目录    # 只显示子目录
    tree -L 1 目录  # -L 遍历目录的最大层数,-L后应该是大于0的正整数
    tree -F 目录    # -F 显示结果会在条目后加上文件类型的指示符号,例如 会在显示出的 目录 后面加上左斜杠/
​
[root@localhost ~]# tree /a  
/a
├── b
│   ├── 1.txt
│   ├── 2.txt
│   └── 3.txt
├── bb
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
└── bbbb

4 文件相关命令

1.创建文件

# 前提: 在同一目录下,文件名和目录名字是不能够一样的  原因:Linux系统中一切皆文件,文件夹实质也是文件

# touch 命令:
    格式:
        touch [选项] [被创建的文件的路径]

    补充:
        {} : 表示循环
        ..  : 连续
        ,   : 不连续  # 以{}中指定的参数创建

# 案例:
    1.创建一个名为abc的文件  (默认:当前目录)
        touch abc

    2.创建/root/a/abc的文件  # 指定目录路径创建文件
        touch /root/a/abc
		
    3.创建 test1 到 test100 中的所有文件
        touch test{1..100}
		
    4.创建test111 ~ test199 ,并且在其每一个目录中都创建test文件
        mkdir test1{11..99}  # 先 创建对应的目录
        touch test1{11..99}/test # 再 在对应的目录里创建test文件

    5.创建test003、test006、test009这三个文件
        touch test00{3,6,9}

2.查看数据信息

# ls 命令:    list的缩写
    查看指定目录下的所有文件 (包含子目录/文件夹)  以及相关信息

    格式:
        ls [选项] [指定的路径]   # 默认是当前文件夹的路径

    选项(参数):
        -l  : 查看文件详细信息
        -a  : 查看隐藏文件
        -h  : 格式化显示文件大小(前提:必须跟-l参数一起使用)
        -dl : 查看目录的详细信息
        --color=auto : 显示颜色(注:不能够通过颜色判断文件属性)
        
# 补充:
    1.隐藏文件:Linux中以.开头的文件即为隐藏文件
	
    2. ls -l 等价于 ll  它是怎么实现的? 通过别名命令指定的
	
    3.常见的文件的属性表示符
        f(FILE    -)  : 普通文件的标识符
        d(DIRECTORY)  :  普通文件夹的标识符
        
# 案例
    1.查看当前目录里的所有文件
        ls
         
    2.查看当前目录中文件的详细信息
        ls -l  简写: ll
 		
        结果:
            -rw-------. 1 root root 1776 Sep 13 11:10 anaconda-ks.cfg
            -rw-r--r--. 1 root root 5632 Sep 13 12:14 init.sh
            
	# 详细信息的解读
        -           : 文件的属性 
        
        rw-r--r--.  : 文件的权限
            r : 可读
            w : 可写
            x : 可执行
            - :没有对应的权限

            权限位:每三个构建一个权限位 共9个
                属主(自己)
                属组(指定组中的所有用户的权限)
                其他用户
                    
        1           : 硬链接个数 
        
        root root   : 属主 属组
        
        1776        : 文件的大小(单位:字节 B)

        Sep 13 12:14: 文件创建的时间

        init.sh     : 文件的名称
        
        
# 知识储备
    # dd 命令 : 用于读取、转换并输出数据
    
    	参数
            if : 指定读取的文件
            of : 指定写入的文件
            bs : 定义一次写入多少内容
            count:定义写入多少次

    eg: 要求生成一个1000M的文件
    	dd if=/dev/zero of=1.txt bs=10M count=100
    	
    	结果是生成一个名为1.txt的文件,大小是1000M
        100+0 records in
        100+0 records out
        1048576000 bytes (1.0 GB) copied, 13.4242 s, 78.1 MB/s
        
        
    # alias 命令 : 别名
        格式: 
            alias 字符="相关的命令"
		
        eg1.查看系统所有的别名
            alias

        eg2.设置一个别名
            alias lh="ls -l -h"
            
# 注:有些命令,就是通过alias命令起别名后,按一些指定参数执行。
    若想使用原始命令, \原始命令  执行

3.输出打印

# echo : 输出
    格式:
        echo [输出的内容] [重定向字符(非必须)] [重定向的文件(非必须)]

# 案例:
    案例1:输出Hello World
        echo "Hello Wolrd"
		
    案例2:将Hello Wolrd输出到文件2.txt中
        echo "Hello Wolrd" > 2.txt

# 知识储备:
    >     : 覆盖重定向(先将文件中原有的内容清空,然后写入内容到文件)
    >>    : 追加重定向(将内容写入到文件最后边,原有的内容不变)
    重定向 : 把某个内容,通过某种方式输入到指定文件中,即为重定向

4.查看文件内容

# cat  : 读取,打印
    格式:
        cat 选项(非必须) [读取的文件路径]
		
    选项:
        -n :显示行号
        
# 案例:
    1.读取2.txt中的内容
        cat 2.txt 
        Hello Wolrd01
        	
    2.读取/etc/hosts文件内容,输入到3.txt中
        cat /etc/hosts > 3.txt
            
            
    3.直接将多行内容,写入到4.txt中
        内容:
            127.0.0.1   localhost localhost.localdomain localhost4 
            ::1         localhost localhost.localdomain localhost6 
            
        命令:
            cat > 4.txt <<EOF  # 回车 写入内容
              127.0.0.1   localhost localhost.localdomain localhost4 
              ::1         localhost localhost.localdomain localhost6 
              EOF   # 顶格写入 EOF
                    

    4.要求读取4.txt中的内容,并打印行号
        cat -n 4.txt 
            1  127.0.0.1   localhost localhost.localdomain localhost4 
            2  ::1         localhost localhost.localdomain localhost6 

5.复制文件

# cp : copy的缩写
    格式: 
        cp [选项(非必须)] [原路径] [新路径]

    选项:
        -r : 递归复制目录
        -i : 增加覆盖提示
        -p : 保留原有文件的属性
        -a : 在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
        -d : 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
                
# 案例
    1.将1.txt文件复制到/tmp目录中
        cp 1.txt /tmp/
		
    2.将/var/log目录及其目录中的所有文件全部复制到/tmp目录
         cp -r /var/log /tmp/
	
    3.仅将/var/log/messages、/var/log/boot.log、/var/log/vmware-network.log三个文件复制到/tmp/
        cp /var/log/{messages,boot.log,vmware-network.log} /tmp/
		
    4.将/etc/system-release 复制到 /tmp目录下
        cp -d /etc/system-release /tmp/
		
    5.复制2.txt到/tmp目录中,要求不更改其创建时间
        cp -p 5.txt /tmp/
		
		
# 知识储备:
    stat : 查看文件创建时间

6.移动文件

# mv : 将linux当中的某个文件移动到指定目录 (剪切) 或 修改文件名


# 格式:
    mv [选项] [原来的文件路径] [现在的文件路径]  # 移动并修改文件名
    mv [选项] [原来的文件路径] [现在的文件夹路径]  # 移动文件

    mv命令后面既可以跟绝对路径也可以跟相对路径。


# 选项:
    -i : 覆盖前提示
# 知识储备:
    正则表达式
        *: 代表所有的文件(匹配任意字符个数的内容)
        ?: 代表一个字符


# 案例
1.将1.txt移动到/tmp目录下
    mv 1.txt /tmp
		
		
2.将/root/2.txt 移动到 /tmp目录中
    mv /root/2.txt /tmp
    
    
3.将/var/log目录移动到/tmp目录中
    mv /var/log/ /tmp/
    
    
4.将/root目录中的所有文件移动到/tmp目录中	
    mv /root/*  /tmp/
		
    # 注:隐藏文件默认不被移动
		
		
5.将/root目录下的abc1 ~ abc9 移动到/tmp目录中

    方式1:
        mv /root/abc{1..9} /tmp/
        
    方式2:
        touch abc{1..9}
        ls
            abc1  abc2  abc3  abc4  abc5  abc6  abc7  abc8  abc9
            
        mv /root/abc* /tmp/
        
    方式3:
        touch abc{1..9}
        ls
            abc1  abc2  abc3  abc4  abc5  abc6  abc7  abc8  abc9
            
        mv /root/abc? /tmp/

                        
6.将/root目录下的abc1 ~ abc9 移动到/tmp目录中
    touch abc{1..13}
    ls
        abc1  abc10  abc11  abc12  abc13   abc2  abc3  abc4  abc5  abc6  abc7  abc8  abc9
        
    mv /root/abc? /tmp/
    ls
        abc10  abc11  abc12  abc13  
    ls /tmp/
        abc1  abc2  abc3  abc4  abc5  abc6  abc7  abc8  abc9
        
        
7.将/root目录下abc1 ~ abc99 移动到/tmp目录中
    mv /root/abc{?,??} /tmp/

7.删除文件

# rm : 删除文件的命令      

# 禁止使用rm命令    linux中一切皆文件,企业中一般不允许删除文件


# 格式:
    rm [选项] [被删除文件的路径]


# 选项:
    -i : 删除前提示
    -r : 递归删除
    -f : 忽略不存在的文件和参数,从不提示
    -v : 显示指令的详细执行过程


# 禁止使用rm命令:
    方式1:修改rm的别名
        alias rm="fgfbasdb"
        rm -rf /tmp/* 
            -bash: fgfbasdb: command not found
			
    方式2:修改rm文件的真实文件名
        # 1.先查看rm命令的文件路径
    	which rm  
    	alias rm='rm -i'
            /usr/bin/rm
            
        # 2.切换到bin目录下
        cd /user/bin
        
        # 3.将rm文件修改成其他名字
        mv rm abcdefg
        
        
# 案例:
       
1.将/tmp目录下所有的文件全部删除
    \rm /tmp/* 
		
		
2.删除/tmp目录下的test目录

    第一种情况:空目录
        rm -r test/
		
    第二种情况:非空目录
        rm -rf test/
        rm -r -f test/
        
			
3.删除/tmp目录下以abc开头的文件
    rm -f /tmp/abc*
    ls
        test1  test10  test2  test3  test4  test5  test6  test7  test8  test9

8.查看命令的真实路径

# which : 查看命令的真实路径


# 格式:
    which [具体的命令]


# 案例1:查看rm命令的路径
    which rm
    alias rm='rm -i'
        /usr/bin/rm

posted @ 2022-03-25 19:39  Edmond辉仔  阅读(71)  评论(0)    收藏  举报