Linux--基础命令:

1.ls:列出当前目录内容或隐藏内容

   用法:ls【options】【parameters】

   选项:

  1. -a     查看所有文件包含隐藏文件;
  2. -l      查看文件的长格式;
  3. -h     显示文件的单位度量;

2.pwd: 显示当前在的位置

3.cat:查看 

选项:

1.-A:查看特殊符号,当复制win内容到Linux时,如果碰到无法运行时,会使用-A来进行查看是否存在特殊符号;

2.-n: 查看行号;

4.less:查看比较的大文件:、

空格:翻页

ctrl+f:向下翻页;

ctrl+d:向上翻页;

q:退出

5.more:查看大文件(显示百分比):

空格:翻页

ctrl+f:向下翻页;

ctrl+d:向上翻页;

q:退出

 

6.touch: 创建空文件:

用法:  

1.需要在/etc/目录下创建一个mg.txt文件

  touch/etc/ma.txt

2.需要创建/root/1~10.txt 10个文件

  touch{1..10}.txt

 

7. mkdir:创建

用法:

mkdir [OPTION]... DIRECTORY...

-p:递归创建
-v: 显示创建过程;

1..在/data 目录
                    mkdir /data

2.创建 /usr/loca/redis/
                            conf
                            logs
                            data
                    mkdir  /usr/local/redis/{logs,conf,data}

                    /usr/local/nginx/{logs,conf}
                    /usr/local/tomcat/{logs,conf}
                    /usr/local/httpd/{logs,conf}
    
                    yum install tree -y
                    mkdir -p /usr/local/{nginx,tomcat,httpd}/{logs,conf}
        

8.cp:复制文件或目录:

选项:

 cp 源文件  目标位置

 cp 源文件1   源文件2  目标位置

  -r:递归复制

 -p:保持文件属性

 

9.mv:移动文件或目录:

用法:

mv 源文件  目标位置

mv 源文件1 源文件2  目标路径

 

10.rm:删除

rm  root身份
            -r: 递归删除(删目录)
            -f: 强制不提示
        
            [root@node ~]# rm -f H.pdf
            [root@node ~]# rm -f *.pdf

11.cd:进入

进入/usr/local目录(绝对路径)
            回到/usr目录 
                相对和绝对:
                    cd ../

重新进入到local目录:
                相对和绝对:
                    cd /usr/local
                    cd local
                    cd ./local
                    
                    
                    /etc/sysconfig/network

        ctrl+l  清屏
        ctrl+c  结束掉当前前台的进程;
        ctrl+a,e  光标跳转行首,行尾;
        ctrl+u,k   删除光标前所有内容,k:删除光标后所有的内容;
        ctrl+w        按单词向光标前删除;
    
        ctrl+><   按照单词跳转;
        ctrl+d --->next   退出

 

查看命令:

head:查看文件的头部;默认十行;-number  看前多少行;

tail:   查看文件的尾部;默认十行;-number  看尾多少行;

                                                           -f      动态追踪文件尾部变化(日志)

                                                  实例:tail  -f  /var/log/secure

head与tail组合使用:例:ip a| head  -3|tail-1 

:inet 127.0.0.1/8 scope host lo

 

下载命令:

wget: -O:指定路径+文件保存的名称;

例:wget -O /opt/nginx -1.21.1.tar. gz https://nginx.org/download/nginx-1.21.1.tar.gz

安装wget :yum install wget  -y

安装rz ,sz:yum install lrzsz -y

rz:输入命令,选择windows文件可直接上传,

sz:

sz/PATH路径   下载到windows

(不支持断点续传)

(仅支持上传文件,可以选择将文件夹打成.zip包,在上传就可以了)

(不支持上传单个文件超过4Gb以上的.iso镜像)

 

查找命令:不是查找文件;而是查找命令的路径;因为有些命令都带有了别名,而当我们通过相对路径执行命令时,就会先执行别名;

which :

which mkdir

mkdir:/usr/bin/mkdir

whereis:

whereis mkdir 

mkdir:/usr/bin/mkdir /usr/share/man/man1/mkdir.1gz

 whereis -b mkdir

mkdir:/usr/bin/mkdir

如查找失败:

1.根本不存在这个命令;

2.没有安装这个命令

 

扩展

问题:为什么执行相对路径的命令,可以成功,而实际命令存储在某个目录下面,它们是如何管理起来的?

1.他们通过一个叫环境变量的关联起来的

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/bin:/root/bin

当执行ls命令时,他会读取$PATH 存储的路径,通过这个路径去获取该命令是否存在,存在就执行

过滤:

rep: “过滤关键字”文件路径

-v:取反

-E:支持多条件匹配

-i:忽略大小写

-o 提取关键字

例:过滤文件students.txt包含root的行:

grep "root"  studens

过滤文件students.txt不包含root的行;

grep -v "root" studens.txt

 

排序 sort

-k:指定列(默认以空格为分隔符)

-n:以number方式排序

-r:反转(把从小到大变为从大到小)

例:把students.txt文件第二列从大到小的排序sort -k 2 -n -r students.txt  

去重:uniq

-c:count出现的次数;

sort -k 2 -n-r studens.txt | uniq -c 

需求:有一个日志文件,统计每个IP出现的次数,然后top3打印出来;

1.先排序;

2.去重,统计;

3.取前3;

sort 1.log | uniq -c| sort -nr |head -3

                        153 161.35.86.181
                         60 180.97.165.74
                         42 101.72.213.150

统计:wc 统计文件有多少行:

wc -l 统计文件内容中有多少行;

明确知道/wtc/passwd中有多少行为/sbin/nologin;

grep "/sbin/nologin$" /etc/passwd | wc -l

取列:awk

-F:指定分隔符;将其拆分成多列

awk '{print $n}' :  提取其中某列

 

替换:sed

替换:sed 's#旧#新#g'

匹配:打印到屏幕sed -r 's#()()()#\1\2\3#g'

特殊的字符

^:以什么开头

$:以什么结尾

^$:空行

.     :任意单个字符 

*:    重复0次或多次

.*:所有

 

 

 

 

 

 

 

                        

    

 

 

 

 

 

 

Linux--理论

1.VM功能:
        1.1 快照技术;
        1.2 克隆技术;(地址是一样;修改地址;)

2.1 目录结构
        2.2 基本指令:
                   [root@node ~]#
                   [oldxu@node ~]$ 
        
             root:当前登录系统的用户;
             node:当前系统的主机名称;
            ~:当前你在哪            
            
            #:表示管理员        不一定;默认情况都是;
            $: 表示普通用户

3.历史记录:
            histroy 查看当前所有执行的命令;
                -c:清空历史(内存)
                -d:清除指定的条目;
                -w:将记录写入到文件中(磁盘);
                

4.别名:
            为一个复杂的命令起一个简单的名称:            command not found
            
        临时操作
            alias
                结构:  alias net='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
        
            unalias 

永久操作:
            将临时的命令放入到一个文件中,而这个文件必须是 在登录shell窗口时系统需要加载一个文件,才可以实现;

           5. /  :根 
            sbin :超级管理员执行的命令
            bin  : 存放的都是二进制文件;命令文件;
            boot :启动,存放内核文件,grub菜单
            dev  :设备,键盘,硬盘,光盘,u盘,显示器
                /dev/null: 黑洞
                /dev/zero: 摇钱树;取数据;
                /dev/random: 随机数    
            etc  : 存放的是配置文件  (软件  程序)
                /etc/hostname: 主机名称
                /etc/sysconfig/network-scripts/ifcfg-ens32  网卡的配置

            home : 普通用户的家目录  /home/{USERNAME}
            lib   :    库文件,
            lib64 : 
            
            mnt 、media : 早起挂光盘使用的;
            opt   : 早起第三方厂商工具,存储的路径;oracle
            proc  : 存放系统运行时的一些状态数据;
            root  : 超级管理员的家目录; (普通用无权限进入)
            run   : 存放设备的驱动,进程的pid文件。锁文件;
            sys   : 
            tmp   : 临时;所有的用户都可以存储数据到目录中来; 谁创建谁可以删除;
            usr   : 类似于windows系统文件目录;
                /usr/bin
                /usr/sbin
            var        :  可变化的目录;日志; 
            

6.绝对路径:  /var/log/message   (以/开始的,都算绝对;)
        相对路径:    var/log/message
            是:     当前处于/目录
            不是:


        以/开始的路径都算绝对路径:
        
        不以/开始的都算相对路径;        
                .        当前目录
                ..        当前目录的上一级目录;
                
        进入/usr/local目录(绝对路径)
            回到/usr目录 
                相对和绝对:
                    cd ../
                    
            重新进入到local目录:
                相对和绝对:
                    cd /usr/local
                    cd local
                    cd ./local
                    
                    
                    /etc/sysconfig/network
                    1、明确知道这个文件所在的位置;
        
        路径的概念:(文件名称+文件位置=路径)
            访问文件有两种方式:
                绝对路径:只要从 / 开始的路径都算绝对;
                相对路径:不以/开始的路径算相对路径;
                
                    . : 表示当前目录
                    ..:当前目录的上一级目录

      7.别名
                简化执行的命令
                    临时
                        alias  查看当前的所有系统别名
                        unalias  取消别名
                        alias  Name='Command'
                    永久
                        ~/.bashrc
                            通过文件编辑工具
                                vim
                                    按下i 键
                                    插入内容
                                    按下ESC
                                    :wq 保持退出
                            加载该文件
                                source
                                    将文件重新到尾在执行一次
                                重新登录会话