zoukankan      html  css  js  c++  java
  • Linux03 /shell命令

    Linux03 /shell命令

    1. xshell快捷键

    ctrl+d            # 相当于logout,快速退出
    ctrl + shift +r   # 快速ssh登录
    ctrl + l          # 相当于clear
    

    2. 修改linux的命令提示符,通过变量PS1控制

    echo  $变量名  # 打印出变量的值
    
    # 输出PS1变量的值
    
    echo  $PS1
    # 修改变量的值 
    PS1='[u@h 	 w]$'
    	u  当前登录用户
    	h  当前主机名  
    		  当前系统时间
    	w   输出绝对路径
    	W  输出工作路径的最后一位
    

    3. yum安装/卸载

    yum install  vim  -y   # 安装vim软件,且自动输入yes
    yum erase    vim  -y   # 卸载vim软件,且自动输入yes
    

    4. cat命令

    cat -n  filename   显示行号
    
    示例1:
    [root@localhost 19:43:37 /tmp]  # cat -n test.py
    1	#coding:utf-8
    2	print('最近不太好!!!')
         
    cat -E  filename   每一行结尾加上$符
    示例2:
    [root@localhost 19:45:00 /tmp]#cat -E test.py
    #coding:utf-8$
    print('最近不太好!!!')$
    

    5. 重定向符号

    >	重定向覆盖输出符    w模式 
    >>   重定向追加输出符   a模式 
    
    <   重定向覆盖写入符
    <<  重定向追加写入符 
    
    示例:
    1.
    [root@localhost 19:46:09 /tmp]#cat >> test01.txt << EOF
    > 以后会怎样
    > 可能会好吧
    > EOF
    [root@localhost 19:56:33 /tmp]#cat test01.txt
    以后会怎样
    可能会好吧
    
    2.清空文件内容
    echo "" > test01
    

    6. 显示前几行、显示后几行

    head  -n  数字  filename   # 看文件的前n行 
    
    tail  -f  filename   # 持续刷新文件内容的变化
    					 # 检测文件内容的变化
    
    # 输出文件的10-20行 
    head  -20  english.txt |  tail  -10
    

    7. linux的查找命令

    find   从哪找  -type  文件类型 -name  你要找什么名字的文件
    
    文件类型 
    l  快捷方式类型
    d  文件夹类型 
    f  文本类型  
    
    # 全局搜索,所有以.txt结尾的文件 
    find  /  -type  f       -name  "*.txt"
    
    # 在opt目录下搜索 我是张三.txt  
    
    find  /opt   -name '我是张三.txt' 
    
    # 在/opt下搜索和python有关的文件夹
    find  /opt  -type  d   -name  "python"
    find  /opt  -type  d   -name  "python*"
    find  /opt  -type  d   -name  "*python"  
    find  /opt  -type   d  -name  "*python*"  
    

    8. 查看进程的命令 ,管道符的使用

    ps aux 或者 ps -ef         # 查看机器所有进程信息
    ps aux  |  grep  "vim"    # 过滤出和vim有关的进程
    
    ps aux |  grep  "python"  # 找到机器所有和python有关的进程   
    

    9. 过滤文本字符串的命令

    语法:
    grep  你想要的字符串   filename  
    -i -- 不区分大小写
    -v -- 反向查找
    
    # 1.找出文件中所有大小写的root
    grep -i  'root'   filename   # -i不区分大小写
    
    # 2.找出文件的有用信息行
    grep -v "^#" filename  |  grep -v "^$"
    
    # 3.找出文件中以#开头的行
    grep -v "^#" filename
    
    # 4.找出文件中的空行
    grep -v "^$" filename
    

    10. 远程传输scp

    语法
    scp  你想要的内容  传输到哪里
    
    # 1.把本地机器的/tmp/张三.txt发到远程机器的/opt目录下
    scp   /tmp/张三.txt   root@远程机器的ip:/opt/    
    
    # 2.把本地服务器的first.py 发送给root@192.168.16.105远程机器
    #   》如果远程服务器data文件夹存在,则放入data文件夹中
    #   》如果远程服务器没有data这个文件夹,则把first.py改名为data
    scp  ./first.py   root@192.168.16.105:/data 
        
    # 3.如果在data后加/的话,远程服务器没有data文件夹会报错
    scp  ./first.py   root@192.168.16.105:/data/
    # 错误信息:scp: /data/: Is a directory
        
    # 4.把远程服务器的文件拿过来 
    scp  root@192.168.16.105:/data/李四.txt   /opt 
    
    # 5.发送所有的文件和文件夹给远程服务器 
    scp  -r ./* root@192.168.16.105:/data/ 
    

    11. 统计文件夹大小命令

    1. ls -h  
    
    2. du命令  以du命令为准 
    	-h  显示mb  gb单位
    	-s  显示统计 
    	
    # 示例:统计/var/log文件夹大小
    du -sh  /var/log/
    

    12. linux的任务管理器 top命令

    top 命令用于动态地监视进程活动与系统负载等信息
    

    13. 更新系统时间

    yum install  ntpdate -y  
    ntpdate -u ntp.aliyun.com  # -u更新时间,和阿里提供的时间服务器,进行时间同步
    
    # 查看系统时间 
    date命令 
    

    14. 在线下载资源的命令

    wget  -r -p   www.lbzhk.com   # -r -p  递归爬取网站资源 
    

    15. 文本中内容替换

    用法:
    # sed处理字符的命令 
    # 语法,s是替换模式,g是全局替换 
    sed "s/你想替换的内容/替换之后的内容/g" 
    
    示例:
    # 把passwd文件中所有的root替换为大写的ROOT,  -i参数是将替换结果写入到文件
    sed -i "s/root/ROOT/g" passwd
    

    16. 文件特殊权限的命令

    # 1.查看文件的特殊权限
    lsattr 
    
    # 2.设置文件的特殊权限
    chattr
    
    # 示例:给settings.py加锁,禁止删除
    chattr +i settings.py  
    

    17. linux用户管理

    1、创建普通用户

    useradd  用户名  # 创建用户的同时,会创建用户组
    passwd  用户名   # 更改用户密码
    
    

    2、用户间切换的命令

    su -  用户名  # 中间这个横杠代表 用户环境变量完全切换
    
    # root切换普通不要密码
    # 普通用户间切换需要密码
    
    

    3、查看linux用户的id信息

    id  用户名 
    
    

    4、查看存放用户信息的文件

    /etc/passwd  
    
    # 经过root创建的普通用户 id从 1000开始 
    # 系统自带的用户,如 mysql  ,bin,nginx等用户,默认是1~999
    
    

    5、删除用户

    userdel  -rf 用户名
    
    

    18. 管理员权限 sudo命令

    配置sudo命令的方式
    1.用visudo命令,打开配置文件,添加如下配置
    	## Allow root to run any commands anywhere
    	root    ALL=(ALL)       ALL
    	gg      ALL=(ALL)       ALL
    
    2.此时可以使用sudo命令了
    	sudo  你想敲的命令
    
    

    19. 文件权限

    1、文件权限各部分释义

    文件的类型
    -  代表普通文件
    d  代表文件夹  
    l  代表软连接快捷方式 
    
    
    文件的权限分三类人 
    
    user   属主
    group  属组
    other  其他人
    
    
    文件的读写执行是:
    
    顺序必须是 读写执行 
    r    read   读        4
    w    write  写        2
    x    exec   可执行     1
    -   没有权限 
    
    
    ls -l    # 可以查看查看文件权限
    
    

    2、修改文件权限

    chmod  (chang  mode)  
    
    # 1.修改文件的权限
    chmod  u+x  filename  # 给文件的user用户,添加x可执行权限
    chmod  o-r  filename.txt    # 给其他人去掉r的读取权限 
    chmod  700  filename.py     # 也可以通过数字去修改文件的权限
    
    # 2.修改文件的属主
    chown  zhangsan  filename.txt   # 修改文件的主人是 zhangsan
    
    # 3.修改文件的属组
    chgrp   zhangsan   filename.txt   # 修改文件的属组为zhangsan组 
    
    # 4.将用户加入某个组中
    usermod -G  
    
    

    示例:

    # 1.已知test.py文件权限是rwxr--r--,修改权限为rw-rw-rw
    chmod 666 test.py
    
    # 2.修改test.py文件权限为700
    chmod 700 test.py
    
    # 3.修改test.py属组是lisi
    chgrp lisi test.py
    
    # 4.linux文件权限的755,700是什么意思
    755:
    	属主:读、写、执行权限
    	属组:读、执行权限
    	其他人:读、执行权限
    700:
    	属主:读、写、执行权限
    	属组:没有权限
    	其他人:没有权限
    
    

    20. 打包、压缩

    打包命令:tar   
    
    参数 :
    -z  调用gzip压缩
    -x  解包
    -c  打包
    -v  显示过程 
    -f  必须写参数结尾,指定tar包的名字 
    
    

    示例

    1.把/tmp下所有内容打包成  alltmp.tar 文件 
    tar -cvf  alltmp.tar  ./*
    
    2.打包且压缩的命令,能够节省60%-70%磁盘空间
    tar  -zcvf  alltmp.tar.gz   ./*  
    
    3.解压缩命令 
    tar  -zxvf  ../alltmp.tar.gz    ./
    
    

    21. 杀死进程/通过进程id号

    # 1.检查pid
    ps aux  | grep  nginx 
    
    # 2.杀死进程id  
    kill  id号
    
    

    22. 定时任务

    # 1.检查定时任务列表 
    crontab -l  
    
    # 2.设置定时任务
    crontab  -e   
    
    # 语法  ,每分钟向一个文件中,追加一个信息 
    
    

    定时任务规则、示例:

    分  时   日  月  周      执行命令的绝对路径
    
    *	*	*	*	*	/usr/bin/echo "定时任务" >> /tmp/文件夹.txt 
    
    # 1.每分钟执行一次命令
    *	*	*	*	*	   命令的绝对路径 
    
    # 2.每小时的3,15分组执行命令
    *	*	*	*	*      命令的绝对路径 
    3,15    *   *   *   *   
    
    # 3.在下午8-11点的第3和第15分钟执行
    *	*	*	*	*      命令的绝对路径 
    3,15  20-23   *   *   *  
    
    # 4.每晚21:30执行命令
    *	*	*	*	*      命令的绝对路径
    30  21   *   *   *   
    
    # 5.每晚的12点执行命令 
    *	*	*	*	*      命令的绝对路径
    0   0   *   *   *  
    
    # 6.每周六、日的1:30执行命令
    *	*	*	*	*      命令的绝对路径
    30  1   *   *   6,0
    
    # 7.每周一到周五的凌晨1点,清空/tmp目录的所有文件
    *	*	*	*	*      命令的绝对路径
    0   1   *   *  1-5   /usr/bin/rm -rf /tmp/*
    
    # 8.每晚的21:30重启nginx
    *	*	*	*	*	命令的绝对路径
    30  21  *   *   *   /usr/bin/systemctl  restart nginx  
    
    # 9.每月的1,10,22日的下午4:45重启nginx
    *	*	*	*	*	命令的绝对路径
    45  16  1,10,22   *   *   /usr/bin/systemctl  restart nginx  
    
    # 10.每个星期一的上午8点到11点的第3和15分钟执行命令
    *	*	*	*	*	命令的绝对路径
    3,15  8-11   *  *  1    
    
    

    23. 配置yum源

    centos的默认yum仓库路径是 /etc/yum.repos.d  ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件
    
    
    1.获取阿里云的yum源
    打开网址https://opsx.alibaba.com/mirror
    
    2.找到第一个仓库
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    3.下载第二个仓库
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    4.生成yum缓存,加速以后下载
    yum makecache 
    
    

    24. 建立软连接

    ln -s  源文件绝对路径   快捷方式绝对路径 
    
    

    25. 手动启动网卡

    [root@linux ~]# ifup {interface}
    [root@linux ~]# ifdown {interface}
    [root@linux ~]# ifup eth0
    
    

    25. 拓展:MySQL的客户端都有哪些

    1.通过cmd,使用mysql -uroot -p 这个mysql就是客户端命令
    2.pymysql  python操作mysql的模块,客户端
    3.django 提供的数据库连接驱动,pymysql,orm,mysqlclient
    4.navicat window的可视化客户端
    5.pycharm提供的数据库连接工具
    
    
  • 相关阅读:
    增长思维——模式&&组织
    BackUP
    增长思维——机会
    Android
    增长思维——作战地图
    Server架构 小知识
    Server
    产品思维——创新模式
    产品思维——用户体验
    博客迁移到~http://zhulingyu.com
  • 原文地址:https://www.cnblogs.com/liubing8/p/11778735.html
Copyright © 2011-2022 走看看