Linux玩法

发布时间 2023-11-23 19:19:27作者: 败人两字非傲即惰
通用
    man手册
        用法 :
            了解如何使用:man man
                man手册共有9本:
第一本:查脚本命令ls、cd、pwd
第二本:查系统调用函数open()、read()
第三本:查库函数printf()、scanf()
            man 2 open
man 2 close
    tty复制粘贴
        安装鼠标
            apt install gpm
        修改分辨率
            vim /etc/default/grub
            GRUB_GFXMODE=1024x768
            GRUB_GFXPAYLOAD_LINUX=keep(GRUB会尝试在启动Linux内核后保持GRUB_GFXMODE所设置的分辨率,非必须,不一定有效)
            update-grub
            其他使用grub的系统
                grub-moconfig -o /boot/grub/grub.cfg
                grub2-moconfig -o /boot/grub2/grub.cfg
    添加环境变量
        添加全局环境变量
            vim /etc/profile
        当前用户的环境变量
            vim ~/.bashrc
        在文件的最后一行添加以下代码:
            export PATH=$PATH:/usr/local/php/bin
            注意:我们一般将文件解压到/路径,解压出来的文件夹都是/usr开头的
    如何查看系统的环境变量
        echo $PATH
    或者
    env
    文件管理
        查找文件
            find / -name 文件名
        递归地查找当前目录下所有不是.c后缀的文件
            find . -type f ! -name "*.c"
        递归地查找并删除当前目录下所有不是.c后缀的文件
            find . -type f ! -name "*.*"
        递归查找当前目录下所有文件名中没有.的文件
            find . -type f ! -name "*.*" -delete
        递归删除当前目录下所有文件名中没有.的文件
            find . -type f ! -name "*.*"
        ls
                    ls 路径 -a    查看指定路径下的目录项 普通+隐藏(任何路径下都有两个隐藏的目录项:.和..),根目录有.和..吗?
                    ls 路径 -A    查看指定路径下的目录项 普通+隐藏 (不显示.和..)
                    ls 路径 -r    查看指定路径下的目录项 排序显示
    压缩和解压系统自带的解压压缩工具:tar
        tar zcvf 压缩包的名字 你要压缩谁 
-C 指定要解压路径
            tar zcvf 压缩包的名字 你要压缩谁
                gnueabi-5.4.0.tar.xz
            tar zxvf 要解压的压缩包的名字  -C 指定要解压路径
            z: 指定为gz格式压缩,解压     
j:指定为bz2格式压缩,解压   
J:指定为xz格式压缩解压
            c: 压缩(打包)              x:解压(解包)
            v: 显示压缩或者解压的过程
            f: 用来指定压缩包的名字,所以压缩包的名字一定要在f的后面
        实例
            压缩
                xz
                    tar -Jcvf ysb.tar.xz ./*
                bz2
                    tar -jcvf ysb.tar.bz2 ./*
                gz
                    tar -zcvf ysb.tar.gz ./*
            解压
                xz
                    tar -Jxvf ysb.tar.xz
                        tar -xvf xx.tar.xz -C /
                bz2
                    tar -jxvf ysb.tar.bz2
                bz
                    tar -xzvf SSH_config.tar.bz
                gz
                    tar -zxvf ysb.tar.gz
    配置环境变量
        vim ~/.bashrc 然后在文件的最后一行添加设置环境变量的命令
export PATH=/usr/local/arm/4.5.1/bin:$PATH
    vim
        vim /usr/share/vim/vimrc
        取消换行自动加//
            au FileType c,cpp setlocal comments-=:// comments+=f://
        取消换行自动加缩进
            set paste
        鼠标右键可用
            set mouse=c
    mysql
        下载安装
            rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
        yum-config-manager --disable mysql80-community
        yum-config-manager --enable mysql57-community
        vim /etc/yum.repos.d/mysql-community.repo
        所有gpgcheck=1改为gpgcheck=0 #参考https://www.cnblogs.com/patrick-yeh/p/14184489.html
        vim /etc/my.cnf
            在最后一行加:skip-grant-tables
        service mysqld start
        mysql:mysql -u root -p
        create database cacti charset=utf8;
        #下面这个语句在8.0没有,5.7有,建议用mysql5.7
            grant all on cacti.* to cacti@localhost identified by '123456';
        quit
    创建Python虚拟环境
        https://blog.csdn.net/buling_me/article/details/122435629
        virtualenv
            python -m pip install --upgrade pip
            pip3 install virtualenv
            yum install virtualenvwrapper
            whereis python
            virtualenv -p /usr/bin/python3 venv
            source venv/bin/activate
            deactivate
        virtualenvwrapper
            pip install virtualenvwrapper pip install
            virtualenvwrapper-win  #Windows使用该命令(http://www.cnblogs.com/QYGQH/p/7635172.html)
    剪切板共享(复制粘贴互通)
不过在xshell下不用这样了
        剪切板共享,让主机和虚拟机可以复制粘贴,建议改一下终端的复制粘贴快捷键
        yum install open-vm-tools open-vm-tools-desktop
        vmware-user
    允许吐核gdb
        ulimit -c unlimited
        https://blog.csdn.net/qq_42351880/article/details/85332621
        #开启无限制转储
            ulimit -c unlimited;
        #关闭转储
            ulimit -c 0;
        #num为最多转储的核心文件数目
            ulimit -c (num);
        gdb test(可执行文件名) core.21922(吐出的转储文件)
        https://blog.csdn.net/qq_41115702/article/details/104264018
        https://blog.csdn.net/kxlalala/article/details/123864419
    网络管理
        /etc/init.d/network restart #重启网络
        service network restart
        systemctl restart network.service
        systemctl status network.service
    进程管理
        图像页面
            gnome-system-monitor
        查看
            netstat -tanlp
        杀
            kill -9 PID
        启动
            sysctl restart 服务名
            可执行文件名  start
    linux centos网络图标消失的解决办法
        https://blog.csdn.net/c2682736/article/details/126219714
        systemctl restart NetworkManager
    防火墙selinux
        echo 0 > /selinux/enforce#临时关闭selinux
        setenforce 0#临时关闭selinux
        vim /etc/selinux/config#永久关闭selinux
        sestatus #查看selinux状态
        systemctl stop firewalld       #关闭防火墙
systemctl disable firewalld    #永久防火墙
setenforce 0                   #临时关闭selinux
sed -i 's/enforcing/disabled/g' /etc/selinux/config
systemctl start vsftpd    #启动服务
systemctl enable vsftpd    #加入开机自启动
firewall-cmd --permanent --add-service=ftp #加防火墙规则
firewall-cmd --reload                                      #重载防火墙
        systemctl stop firewalld       #关闭防火墙
        systemctl disable firewalld    #永久防火墙
        setenforce 0                   #临时关闭selinux
        sed -i 's/enforcing/disabled/g' /etc/selinux/config #永久关闭selinux
        修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
        https://blog.csdn.net/u010098331/article/details/68946913

RH系列如CentOS7.4
    软件管理
        查看已安装的应用
            rpm -qa|grep httpd
            yum list|grep ssh
        安装应用
            yum install openssh-server
            apt  install openssh-server
        卸载应用
            yum -y remove openssh-server
            apt  -y remove openssh-server
    创建源
        1、清空yum源文件
            ls /etc/yum.repos.d/
        mkdir /etc/yum.repos.d/bak
            mv -f /etc/yum.repos.d/* /etc/yum.repos.d/bak
        mount /dev/sr0 /mnt/            #将镜像挂载到mnt目录下
        mkdir /yum               #创建一个目录,用于存放镜像文件
            #cp -rvf /mnt/* /yum/    #将镜像文件复制到该目录内
        vim /etc/yum.repos.d/iso.repo
            #仓库的标识
[base]
#解释仓库的用途
name=base
#指定yum源仓库,file:// 代表类型,/yum 代表yum源仓库的位置
baseurl=file:///yum
#此仓库是否生效     1代表生效,0代表不生效
enabled=1
#检查rpm包的完整性与安全性   1代表检查,0代表不检查
gpgcheck=0
        yum clean all      # 清理yum缓存
            yum makecache      # 建立数据缓存
                yum repolist       #检查yum仓库是否建立
    开机默认文本
        文
            ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
        图
             ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
    vim /etc/inittab
        id:5:initdefault:
        id:3:initdefault:
    防火墙selinux
        echo 0 > /selinux/enforce#临时关闭selinux
        setenforce 0#临时关闭selinux
        vim /etc/selinux/config#永久关闭selinux
        sestatus #查看selinux状态
        systemctl stop firewalld       #关闭防火墙
systemctl disable firewalld    #永久防火墙
setenforce 0                   #临时关闭selinux
sed -i 's/enforcing/disabled/g' /etc/selinux/config
systemctl start vsftpd    #启动服务
systemctl enable vsftpd    #加入开机自启动
firewall-cmd --permanent --add-service=ftp #加防火墙规则
firewall-cmd --reload                                      #重载防火墙
        systemctl stop firewalld       #关闭防火墙
        systemctl disable firewalld    #永久防火墙
        setenforce 0                   #临时关闭selinux
        sed -i 's/enforcing/disabled/g' /etc/selinux/config #永久关闭selinux
    进程管理
        图像页面
            gnome-system-monitor
        查看
            netstat -tanlp
        杀
            kill -9 PID
        启动
            sysctl restart 服务名
            可执行文件名  start
    修改IP地址
        vim /etc/sysconfig/network-scripts/ifcfg-ens33
            BOOTPROTO="none"
    SFTP
        sftp -oPort=22 root@192.168.8.4

Debian系列如ubuntu20.04
    ssh
        https://blog.csdn.net/rustwei/article/details/125641938
        /etc/ssh/sshd_config
        PermitRootLogin yes
            就改这个其的都别动
        systemctl restart sshd.service
    Ubuntu系统Root用户无法登录解决办法
        https://blog.csdn.net/xw850/article/details/125465504
        gedit /etc/pam.d/gdm-autologin
            注释第3行auth    required    pam_succeed_if.so user != root quiet_success
        gedit /etc/pam.d/gdm-password
            注释第3行auth    required    pam_succeed_if.so user != root quiet_success
        vim /root/.profile
            tty -s&&mesg n 2> /dev/null || true
    关闭防火墙
        ufw disable
        apt-get remove iptables
        apt install selinux-utils
        setenforce 0
        修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled
    ssh登陆
        s5p
        https://blog.csdn.net/oNelson123/article/details/125417939
        安装
            sudo apt install openssh-server
            sudo apt install openssh-client #这个是连别人
        配置
            vim /etc/ssh/sshd_config
                将 #PermitRootLogin prohibit-password 改为: PermitRootLogin yes
其他的都别动
            /etc/ssh/sshd_config
                就改这个其的都别动
            service ssh start
        启动
            sudo service ssh start
        改root密码
            sudo passwd root
        配置ssh服务
            gedit /etc/ssh/sshd_config
                将 #PermitRootLogin prohibit-password 改为: PermitRootLogin yes
其他的都别动
        重启
            重启sshd 使配置生效:
                systemctl restart sshd
        gedit /etc/pam.d/gdm-autologin
        将打开的文件中第三行前加#,注释掉语句 “auth required pam_succeed_if.so user != root quiet_success”
    网络管理
        s5p开发板设置
            vi /etc/profile
                子主题 1
        /etc/init.d/network restart #重启网络
        service network restart
        systemctl restart network.service
        systemctl status network.service
        vim /etc/netpaln/xxx
            netplan apply
        vim /etc/network/interfaces
    开机默认文本
        https://www.likecs.com/show-305624383.html#sc=1001.2578125
        gedit /etc/default/grub
        
        sudo update-grub
        systemctl set-default multi-user.target
    软件管理
        安装
            apt-get install inetutils-ping
        list
            dpkg --list
        卸载
            sudo apt-get --purge remove 包名

AidLux
    Xshell通过ssh连接手机shell
        手机安装aidLux APP(近5G)
        安装
            apt install sshd
                好像不用安装,自带sshd,看看跳过这步行不行
        启动服务
            /usr/sbin/sshd
        修改sshd配置
如端口号,是否允许root登陆
            vim /etc/ssh/ssh_config
                PasswordAuthentication yes那里
        不改root密码和sshd端口号的话
默认是aidlux和9022
            端口号错了密码会被一直拒绝
    ssh
        ssh
            ssh root@192.168.1.3 -p9022
        图形化
            http://192.168.1.3:8000/
        文件浏览器
            http://192.168.1.3:38080/files/
    sftp
        sftp -oPort=9022 root@192.168.1.3