Linux 笔记

Linux : 操作系统

linux命令:

1.为什么要使用linux ?    
2.如何连接到远程服务器?
    1.远程连接工具:
        https://blog.csdn.net/weixin_53488443/article/details/120643579?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-120643579.pc_agg_new_rank&utm_term=%E5%B8%B8%E7%94%A8%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E5%B7%A5%E5%85%B7&spm=1000.2123.3001.4430
    

2.远程登录条件:
        对方机器: 
            ip 
            port 
            用户名
            密码

3.linux概述?
    1.操作系统
    2.发明: 
         林纳斯 =》linux内核
                =》git 
    3.版本:
        乌班图、小红帽、centos、Debian、。。。

        centos =》 win 专业版 

4.其他操作系统? 
    1.win、linux、ios、and、mac、鸿蒙os


部署linux系统:
    1.vm 安装
    2.linux镜像【centos 7.x】
        centos : 
            6.x 
            7.x 

完成:
    linux安装+linux命令(4-5)

文件目录:
/boot   ext4  :     1g
        分配linux机器启动的时候 需要的空间
swap:
        linux 内存 1g =》 
    把磁盘当做内存来使用 1g 

/  : 完整的磁盘空间 ext4 =》 18g   

重启网络服务
systemctl restart network


远程登录:
    1.ip :192.168.10.133
    2.port 22
    3.用户名 root
    4.密码 123456

1.查看机器网卡的ip  
    ifconfig 


thinkpad =》二手 2500  w540 : 3000
        内存=》32g  8g =》32g
        磁盘:固态硬盘 512m 
                +512m  =》 1g
mac =》 二手 1w+

1.修改一个文件 
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.重启网络服务 
    systemctl restart network


    i => 编辑 
    esc =》 退出编辑 
    shift+zz =》 保存退出


    systemctl restart network

linux : 
    文件系统: 
        层级式树状文件系统

命令使用: 
[root@gh10 ~]# 
    root 机器的用户名 最大权限用户 
    gh10 机器的名字  ip 《=》 hostname 
    ~ 家目录【目录】


1.pwd 查看当前光标所在的目录 
[root@gh10 ~]# pwd
/root

    root用户的家目录是 /root  "家目录":
    xxx用户的家目录是 /home/xxx

2.ls 显示文件夹或者文件
    [root@gh10 ~]# ls
    zuoshao

    ls -l 显示文件夹或者文件详细信息
    ls -l -a 显示文件夹或者文件详细信息+ 显示隐藏文件 【隐藏文件:.开头的文件】

    ls -l => ll 

    ls -l -h  查看文件大小  

命令帮助: 

    命令 --help 
    ls --help 
用法:ls [选项]... [文件]...

ls [option]...[file]...
ls options files

[] 代表可选
... 可以选多个

3.mkdir 创建文件夹 
[root@gh10 ~]# mkdir zuoshao
    并级创建文件夹: 
        [root@gh10 ~]# mkdir xuanxuan tiantain haoge
    串级创建文件夹:
        [root@gh10 ~]# mkdir -p zuoshao/dir1/dir2/dir3

4.cd 切换目录
[root@gh10 ~]# cd zuoshao/

目录【路径】:
    相对路径:从当前光标开始的路径
        [root@gh10 ~]# cd haoge/
    绝对路径:从根目录开始的路径
        [root@gh10 ~]# cd /root/haoge/

如何回到家目录: 
    1.cd /root 
    2.cd 回车
    3.cd ~

./  => 当前路径
../ ==》 上一层级目录

cd - 回到上一次操作的目录
 

5.创建文件:(三种方式)
    1.touch xx.xx 
    2.vim/vi xx.xx 【编辑文件的命令】
        退出保存:
            shift+;=》 : + wq  回车
    3.echo "zuoshao zhen shuai" >> 3.log 

echo "zuoshao zhen shuai"  => 控制台打印
> 创建或者 覆盖一个文件
>> 追加到文件


需求: 
    三种方式创建文件,名字 zuoshao1.txt   zuoshao2.txt zuoshao3.txt

需求: 
    创建一个空文件?
        1.touch xx.xx
        2.vim/vi xx.xx 【不要用】
        3.cat /dev/null > done 【空文件】
    
    cat 查看文件所有内容
    /dev/null 就是一个空文件

        4.echo "" > done1 【不能创建空文件】
    
6.vim 编辑文件+ 【文件里面添加内容】
    vim 三种模式:
        1.命令行模式
        2.编辑模式
        3.尾行模式
    

    vim 2.log =》 命令行模式
    i =>进入编辑模式【insert】 

    esc 退出保存: 编辑模式 -》 命令行模式

    shift+;=》: 命令行模式 =》 尾行模式 

    尾行模式 : 
        w 保存 
        q 退出
        ! 强制

    扩展: 
        1.命令行模式:
            1.移动光标:
                行:
                    1.光标移动首行 gg   **
                    2.光标移动尾行 G    **
                    3.光标移动num行  num+G 
                行内移动:
                    1.移动行头 shift +^
                    2.移动行尾 shift+$
            2.复制
                1.复制光标当前行 yy+p  **
                2.复制光标当前行以下num行 y+num+y +p

            3.删除
                1.删除当前光标所在行 dd **
                2.删除当前光标所在行以下num行  d+num+d
                3.删除当前光标以下所有行 dG **
            
            3.撤回 u

        
        2.尾行模式: shift+; =>: 
            1.w  保存
            2.q 退出
            3.! 强制退出
            
            4./查找的词  n 查找下一个 N 往上找
            5.显示行号 set nu 
            6.关闭行号 set nonu

    退出保存: 尾行模式: shift+; =>: 
        1.wq 
        2.wq! 
        3.x 
        4.快捷键 shift+zz

    需求: 
        创建一个1.log 
        添加内容: 
            1 linux easy  5行
            2 linux easy 
            ...

            删除第3 行
            删除4行以下所有行

需求: 
    清空一个文件? 【里面没有内容】
        1.echo "" > xx.log 
        2.cat /dev/null >  xx.log
        3.删除 +touch  【先不用】

        人为编辑一个文件 该如何清空?
            gg + dG  ***
        
7.查看文件
    cat 查看文件所用内容 打印到控制台 **【文件内容比较少】
        文件内容比较多 =》 vim 
    more 文件内容一页一页往下翻 按空格 往下翻 q退出  终止进程 ctrl+z  ctrl +c
    less 文件内容一页一页往下翻 按空格 往下翻 上下箭头  q退出  终止进程 ctrl+z  ctrl +c

    tail 实时查看文件内容: flume 采集日志【了解】
        -f 
        -F => -f + retry

        日志数据: 
            java app  =》 springboot =》 log 【log4j】 

                    qingtian.log  100m

                    qingtian.log qingtian_1.log

                    qingtian.log

                    日志: 
                        qingtian.log  【正在生成的日志】
                        qingtian_1.log 【写完】
                        qingtian_2.log
                        qingtian_3.log
                        qingtian_4.log
                        qingtian_5.log

                    flume : 
                        tail -F qingtian.log


cat 
    log => 监控app运行情况 =》     
            error 
        
        1.安装app 
            tail -f log 
        2.app 运行 报错
    
    思考: 
        快速定位 error 的位置 【log 1g】

    1.
        cat anaconda.log | grep -A  10 error 后10行  after
        cat anaconda.log | grep -B  10 error 前10行
        cat anaconda.log | grep -C  10 error 前后各10行

    | 管道符  上一个命令的结果作为下一个命令的输入
    grep 过滤 


cat anaconda.log | grep -C  10 error  > error.log  [error.log日志文件还是很大]

下载到本地

文件上传下载:
    1.yum install -y lrzsz 
        rz上传 
        sz xxx 下载
    2.远程连接工具:
        上传 【直接拖】
        下载  【】


linux里面安装软件: 【centos】
    1.yum 
    2.rpm 
    3.tar

github 
xxxhub


8.mv cp 移动 复制

mv 移动: 操作的文件始终是 1份
    1.移动
        [root@gh10 ~]# mv ./5.log ./zuoshao/
    2.改名字
        mv 1.log 1_1.log

cp 复制:操作的文件始终是 2份
    1.移动
        [root@gh10 ~]# cp 4.log ./zuoshao/
    2.改名字
        [root@gh10 ~]# cp 4.log 4_1.log

9.rm 删除文件或者文件夹【高危命令】
    1.文件
        1.[root@gh10 ~]# rm 4_1.log
            rm:是否删除普通空文件 "4_1.log"?y

        2.[root@gh10 ~]# rm -f 1_1.log

        [root@gh10 ~]# rm -rf .zuoshao

    2.文件夹
        1.[root@gh10 ~]# rm -r zuoshao/
            rm:是否进入目录"zuoshao/"? y
            rm:是否删除普通空文件 "zuoshao/4.log"?y
        2.[root@gh10 ~]# rm -r -f haoge/
        
    通用:
        rm -r -f xx 
        rm -rf xxx
    
    rm -rf ./*   * 表示所有
    [root@gh10 ~]# rm -rf ./*
    rm -rf / [千万别写] 


10.别名 alias

ls -l  => ll 

    注意:在当前会话生效 ,在其他会话不生效
    [root@gh10 ~]# alias aa="cd /tmp"

    [root@gh10 anaconda]# aa
        bash: aa: 未找到命令...
    aa命令 在任何位置都能用?

环境变量:好处=》在任何位置都能用
     

环境变量: 

    环境变量文件:
    1.全局环境变量 【所有用户都可以使用】
        /etc/profile
    2.个人环境变量 【个人用户可以使用】
        ~/.bash_rc
        ~/.bash_profile 
    
    1.配置环境变量: 
        [root@gh10 ~]# vim /etc/profile
        alias aa="cd /tmp"
    2.生效环境变量:
        [root@gh10 ~]# source /etc/profile

    切换用户: 
        su - xxx 

zuoshao 用户    
    alias cc="cd /tmp"
    配置在个人环境变量:
        ~/.bash_rc

11.history
    注意: 
        如果你干坏事 history
        1.!执行历史操作
        [root@gh10 ~]# !176

        2.如果你干坏事 history -c  
12.用户相关命令

    用户
    [root@gh10 ~]# ll /usr/sbin/user*
        -rwxr-x---. 1 root root 118192 11月  6 2016 /usr/sbin/useradd 
        -rwxr-x---. 1 root root  80360 11月  6 2016 /usr/sbin/userdel 
        -rwxr-x---. 1 root root 113840 11月  6 2016 /usr/sbin/usermod 
    用户组
    [root@gh10 ~]# ll /usr/sbin/group*
        -rwxr-x---. 1 root root 65480 11月  6 2016 /usr/sbin/groupadd
        -rwxr-x---. 1 root root 57016 11月  6 2016 /usr/sbin/groupdel
        -rwxr-x---. 1 root root 57064 11月  6 2016 /usr/sbin/groupmems
        -rwxr-x---. 1 root root 76424 11月  6 2016 /usr/sbin/groupmod
    1.用户
        1.创建用户
        useradd: 
        [root@gh10 ~]# useradd qs
        [root@gh10 ~]# id qs
        uid=1002(qs) gid=1002(qs) 组=1002(qs)

        useradd qs: 
            1.创建了一个用户 qs
            2.创建了一个用户组 qs 
            3.生成了家目录:/home/qs 
        
        2.切换用户 
        su - xx 
        su xx 
        注意: 
            root =》 xx  不需要密码
            xxx =》xxxx   都需要密码
        3.存储用户信息的文件 /etc/passwd

    2.组 
        1.添加一个组     
            [root@gh10 ~]# groupadd jjm
        2.存储用户组信息的文件 /etc/groups

    修改qs用户组?
        组:
            主组 附属组
        usermod -a -G jjm qs

        需求: 
            qs 主组 jjm 附属组 qs jjm 

            [root@gh10 ~]# usermod -g jjm qs
            [root@gh10 ~]# id qs
            uid=1002(qs) gid=1004(jjm) 组=1004(jjm)
            [root@gh10 ~]# usermod -a -G qs qs
            [root@gh10 ~]# id qs
            uid=1002(qs) gid=1004(jjm) 组=1004(jjm),1002(qs)

    3.设置用户密码
        passwd xxx [root]

    4.普通用户临时具有root用户的权限
    sudo ls 
        前提: 配置一个普通用户临时具有root用户的权限 文件
            /etc/sudoers
            [root@gh10 ~]# vim /etc/sudoers
            zuoshao ALL=(ALL)      NOPASSWD: ALL

            [zuoshao@gh10 root]$ sudo ls
            2.log
        
        emo  

13.文件权限相关命令        
    1.权限
    drwxr-xr-x. 2 root root     4096     3月  18 15:48 app
    权限            用户 用户组     大小    时间        文件 文件夹的名字

drwxr-xr-x:10个字母
    1.第一个字母: 
        d 文件夹
        - 文件
        l 软连接【快捷方式】
    2.权限rwxr-xr-x  755
        权限: 
            r 读权限    4
            w 写权限    2
            x 执行权限    1 
            - 没权限    0
        第一组:rwx  4+2+1=7 代表文件的所属用户的权限
        第二组:r-x    4+0+1=5 代表文件的所属用户组的权限 jjm
        第三组:r-x    5  代表文件的其他用户组的权限

        drwxr-xr-x. 2 root root     4096     3月  18 15:48 app
        755 

        -rw-r--r--. 1 root root   10 3月  18 14:50 2.log
        644 
    
    3.修改文件权限
        文件: 
            chmod 646 2.log
        文件夹:
            chmod -R 646 xx 

            drwxr-xr-x 755 
            chmod -R 750 data 
    4.修改文件的所属者
        chown
        文件: 
            [root@gh10 tmp]# chown zuoshao:zuoshao 1.log
        文件夹:
            [root@gh10 tmp]# chown -R zuoshao:zuoshao xx


14.其他

1.查找文件:
    1.find / -name "*zuoshao*"
    2.locate xxx [选择性使用]
        
2.查看文件大小
    ll -h  =>只能查看文件大小  
    du -sh xx => 既可以查看文件夹 也可以查看文件

3.相关的命令
    查看机器内存:free
        [zuoshao@gh10 ~]$ free -h
    磁盘:df
        [zuoshao@gh10 ~]$ df -h
    top:查看进程 实时进程 top
        
        load average: 0.00, 0.04, 0.05 负载  =》 10 
        每个进程的 cpu mem


网络:
linux 192.168.10.133
win 
1.ping 

2.查看某个进程的pid  
ps -ef | grep
    1.java app =》 jps =》pid
    2.http
    
    1.安装:httpd
            yum install httpd 
    
    2.启动
    [zuoshao@gh10 ~]$ service httpd start

    httpd =》 有哪些进程
    1.查看进程的pid
        ps -ef | grep httpd 
    2.杀死 进程
        service httpd stop 【优雅】
    kill -9 pid 

    3.按照app名字进行杀进程
        kill -9 $(pgrep -f http)

netstat =>pid =>port

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值