• Linux基本命令大全


    linux的基本命令
    mKdir test			# 创建一个名为test的文件夹
    
    	mkdir -p test1/test2/test3			# 递归创建directory
        mkdir -p {aaa,bbb,ccc}				# 创建同级directory
    
    touch test.txt		# 创建名为test.txt的文件
    
    rmdir test1 		# 直接删除目录(只能directory,不能删除file)
    
    rm -r				# 删除目录(directory or file)并询问是否删除
    
    rm -f				# 强制无条件删除文件(file) 不询问
    
    rm -rf				# 强制删除(directory or file),并且不询问
    
    rm -rf /*			# 删除根目录下的所有
    
    ls			# 查看该目录下的文件
    
    ls -l		# 查看该目录下的文件及文件详情(主 组 大小 等等)
    
    cat test.txt			# 查看文件的内容(一次性查看全部)
    				# cat 详细用法看后面
    
    tail -f test.txt		# 实时监控文件内容
    
    more test.txt			# 分页查看文件内容
    
    echo $PATH				# 查看环境变量
    
    echo '要改写的内容' >> test.txt
    
    • 目录相关操作
    cd .				# 当前目录
    
    cd ..				# 上一级目录
    
    cd - 				# 上一个工作目录
    
    cd ~ 				# 当前用户所在的家目录
    
    pwd					# 当前目录的绝对路径
    
    • 执行
    # 执行文件
    ./
    
    • 网卡配置相关
    # 查看网卡信息的两种方式
    # 方式一:
    if add show
    # 方式二:
    ifconfig
    
    
    # 启动网卡
    ifup 网卡名(在查看网卡信息的时候可以看到网卡名)
    
    # 禁止网卡
    ifdown	网卡名
    
    
    # 但是这里有一个问题,每一次系统启动之后都需要去启用网卡,不然就没办法连接网络并获取IP地址
    
    • 编辑网卡配置
    # 1 打开网卡配置文件
    
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    # 2 按i进入编辑模式
    
    # 3 将最后一行ONBOOT=no改为ONBOOT=yes, 按ESC退出编辑模式,再输入:wq保存退出
    
    # 4 init 6重启服务器即可
    
    • 开机和重启命令
    init 0	关机
    poweroff 关机
    init 6 重启
    reboot 重启
    
    • linux的目录结构

    linux的目录结构,   根目录	/
    				  root 和 home是同级的
    
    • 创建用户
    # 1 创建用户名
    useradd aaa			# aaa 为用户名
    
    # 2 为哪个用户设置密码
    passwd aaa	
    
    # 3 输入密码
    
    • 底线命令
    # 1 按引号:
    
    :w 		# 保存不退出
        
    :wq		# 保存并退出
        
    :wq!	# 无理由保存退出
            
    :q		# 退出
                
    :q!  	# 无理由强制退出
    
    • vim
    # vi/vim 操作流程:
    
    	# 1. vi打开文件	此时进入命令模式,输入i,进入编辑模式
        # 2. 在编辑模式下,开始输入字符串
        # 3. 编辑完之后,esc退出编辑模式,回到命令模式,按:进入底线命令模式
        # 4. 输入底线命令
    
    • cat
    ### cat 只能查看纯文本类型(只能看file,不能看directory)
    
    # 显示行号
    cat -n test.txt	
    
    # 在每行结尾加上$符号
    cat -e test.txt	
    
    # 将“你好”添加到test.txt文件中
    cat >>test.txt<<EOF		
    你好
    EOF			
    
    • more
    # 用于查看内容较多的文本,会以百分比的形式显示看到多少
    
    more /etc/passwd
    """
        按下空格space是翻页
        按下b键是上一页
        回车键向下读取内容
    """
    
    • echo
    # 追加
    echo '要追加的内容'>>目标文件
    
    # 覆盖
    echo '要覆盖的内容'>目标文件
    
    • linux快捷键
    # 自动补全命令/文件名/目录名
    	tab	
        
    # 清理终端显示
    	ctrl + l
        clear
       
    # 终止当前操作
    	ctrl+c
        
    # 复制
    """
     # 移动test.py 到/tmp目录下
     cp test.py /temp/
     
     # 移动test.py 到/tmp目录下并重命名为aaa
     cp test.py /temp/aaa.py
    
    cp -r 递归,复制目录以及目录的子孙后代(copy目录 ) 
    cp -p 复制文件,同时保持文件属性不变
    cp -a 相当于-pdr ,类似于wimdows系统的复制快捷方式
    
    """
    
    • alias
    alias 新的命令='原命令 -选项/参数'
    
    eg:
        alias aaa='cp -r'
        alias bbb='echo'"大哥,你想干啥"
    
    • 查找命令
    find 	(目录)	(类型)	(文件名)
    
    # 找出/temp所有以.txt结尾的文件
    find /temp/ -type f -name '*.txt'
    
    # 找出/etc下所有名字以host开头的文件
    find /temp/ -name 'host*'
    
    # 找出/opt上一个名字为setting.py的文件
    find /opt/ -name 'setting.py'
    
    """
        b - 块设备文件。
        d - 目录。
        c - 字符设备文件。
        p - 管道文件。
        l - 符号链接文件。
        f - 普通文件。
        s - socket文件
    """
    
    • 管道符命令
    将第一个命令的输出 作为下一个命令的输入
    
    ps -ef|grep 'python'
    
    所有进程中  含有'python'字样的进程
    
    """
    grep(global search regular expression(RE) and print out the line)
    全面搜素正则表达式并把行打印出来,使用正则表达式搜索文本,并把行打印出来。
    """
    
    • grep
    grep '找的东西'	目录
    
    """
        -i : 忽略大小写
        -n : 输出行号
        -v : 反向选择
        --color = auto : 给关键词部分添加颜色
    """
    
    # 找出/etc/passwd下root用户所在的行,以及行号,显示颜色
    cat /etc/passwd |grep '^root' --clolr=auto -n
    
    # 找出/etc/passwd所有不允许登录的用户
    grep /sbin/nologin /etc/passwd			# /sbin/nologin为查找的目标
    
    # 找出/etc/passwd所有与mysql有关行,行号
    cat /etc/passwd |grep 'mysql' -n
    
    • head tail
    head		# 显示文件前几行,默认是10行
    	head -2 /tmp/test.py
        
    tail		# 显示文件后几行,默认是10行
    	tail -2 /tmp/test.py
    
    # 显示文件10-30行 (利用管道)
    head -30 /tmp/test.py|tail -21
    
    # 持续刷新显示
    tail -f xx.log
    
    • which
    which  
    """
    用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历目录,会再环境变量$PATH设置的目录里查找符合条件的文件
    """
    which pwd
    which python
    	/usr/bin/python  
    
    • mv
    # 移动文件或者重命名files
    
    # 移动
    mv test/test1 /new_test/
    
    # 重命名
    mv test1.py new_test.py
    
    • scp
    # secure copy:远程copy命令,用于linux之间的文件或目录的远程传输
        
        """
    scp 【可选参数】 本地源文件 远程文件标记
    scp 本地文件  远程用户名@远程ip:远程文件夹/
    scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
    scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
        
        """
        
    # 传输文件到远程并且重命名
    scp /tmp/test.py root@192.168.1.68:/home/
        
    # 传输文件到远程并且重命名
    scp /tmp/test.py root@192.168.1.68:/home/new_test.py
        
    # 传输directory到远程并且重命名
    scp -r /tmp/test.py root@192.168.1.68:/home/new_test.py
        
        
    # 复制远程文件到本地
    scp root@192.168.1.68:/home/test.py /tmp/test/new_test.py
        
        
        # 参数
        """
            -r :递归复制整个目录
            -v:详细方式输出
            -q:不显示传输进度条
            -C:允许压缩
        """
    
    • du
    # 用法
    du 参数 文件或目录
    
    # 参数
    """
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强
    """
    
    # 实例
    du -sh /home
    
    df		# 查看磁盘大小
    
    • top
    # 很重要,用于动态监视进程活动信息与系统负载等信息
    
    # 第一行(uptime)
    """
    系统时间	主机运行时间		用户连接数	系统1,5,15分钟平均负载
    """
    
    • 加锁
    chattr +a test
    
    chattr -a test
    
    # 参数
    """
    aAcCdDeijsStTu
    """
    
    • linux时间
    # 将linux客户端时间和阿里云服务器时间同步(修改客户端时间)
    ntpupdate -u ntp.aliyun.com
    
    # 将linux硬件时间和客户端时间同步
    """
    	1 . 以系统时间为基准,修改硬件时间
    		hwclock -w
    		
    	2 . 以硬件时间为基准,修改系统时间
    		hwclock -s
    """
    
    • yum
    能够从指定的服务器自动吓到RPM包并且安装,可以自动处理依赖关系,并且一次性安装所有的依赖
    
    
    # 使用
    """
     1.先备份yum源
     mkdir repo_bak
     mv *.repo repo_bak			#  *.repo:所有以repo结尾的隐藏文件
     
     2.下载阿里repo文件
     wget http://mirrors.aliyun.com/repo/Centos-7.repo
     
     3.清空yum缓存并且生成新的yum缓存
     yum clean all
     yum makecache
     
     4.安装软件扩展源
     yum install -y epel-release
    """
    
    • 软件包
    # 各个系统下面软件包的格式
    
    # 1. windows
    .exe / .msi
    
    # 2.mac
    .dmg
    
    # 3.linux
    .rpm
    
    • 小知识
    yum install lrzsz			# 下载lrzsz工具包
    
    rz			# 上传文件
    sz			# 下载文件
    
    • wget
    # wget命令用于再终端下载网络文件
    
    # 使用方法
    # 参数是 wget [参数]	下载地址
    
    # 实例
    wget -r -p http://www.58.com	# 递归下载
    
    
    用户管理和文件权限
    • 用户管理
    # user 拥有root的权限
    
    """
    1. 在sudoers中配置授权用户,用visudo进入此文件的vim模式
    2.用/root找到授权配置
    3.将授权用户添加进去
    4.授权用户在使用root权限时,应该先在前面使用sudo ,如sudo useradd -bbb
    
    """
    
    # 添加用户
    useradd username
    
    # 切换用户
    su username
    
    # 退出登录
    logout
    
    • 文件权限
    chmod u+r test.py	# 给主添加读的权限
    
    chmod g+w test.py	# 给组添加写的权限
    
    chmod o+x test.py	# 给other添加执行的权限
    
    chmod 777 test.py	# 给主,组,other添加读写执行的权限
    
    • 软链接
    # 用法
    ln -s 源目录地址	/user/bin/rename
    
    # 举例
    ln -s /opt/python3.6 /user/bin/pyhton
    
    • 配置环境变量
    # 先cd到用户的家目录下面
    
    # vim ~/.bash_profile 进入配置文件的vim模式
    
    # 配置需要添加的环境变量
    
    • tar
    # 参数
    """
    -v:详情
    -c:压缩
    -x:解压
    -z:使用gzip工具进行压缩
    """
    
    # 实例
    
    # 压缩文件
    tar -cf filename
    
    # 解压文件
    tar -xvf filename
    
    # 进一步压缩,通过gzip
    tar -zxvf filename			# 获取到.tar.gz后最的文件
    
    # 解压.tar.gz后最的文件
    方式1:gzip -d filename     # 去掉.gz后缀,得到.tar后缀的文件按
    	  tar -xvf filename		
        
    方式二:tar -zxvf filename.tar.gz
    
    • history
    history			# 显示历史命令
    
    !+历史命令的序号可以调用此命令
    
    • netstat
    # 查看服务器端口信息
    
    
    • ps
    ps -ef 查看服务器上进程信息,可以配合管道符或者grep进行过滤信息
    
    # 参数
    """
    -a   显示所有进程
    -u	 用户及其他详细信息
    -x 	 显示没用控制终端的进程
    """
    
    • kill
    # 结束进程命令
    
    kill -9	进程id
    pkill 进程名		# 支持正则匹配
    killall 进程名
    
    • SELinux
    # 查看selinux状态
    getenforce
    
    # 临时关闭
    setenforce 1/0
    
    # 永久关闭,(修改配置文件)
    vim /etc/selinux/config
    SELINUX=disable
    
    • iptables
    # 防火墙
    
    iptables -L   # 查看防火墙规则
    iptables -F   # 清空防火墙规则
    
    # centos7默认使用firewall作为防火墙了
    
    # 关闭防火墙
    systemctl status firewalld			# 查看防火墙状态
    
    systemctl stop firewalld				# 关闭防火墙
    
    systemctl disable firewalld			# 关闭防火墙,开机启动
    
    
    • 中文乱码
    # 1 .修改配置文件
    vim /etc/locale.conf
    
    # 2 .将LANG="en_US.UTF-8"改为LANG="zh_CN.UTF-8"
    
    # 3 .重新加载配置文件
    source /etc/locale.conf
    
    • dns
    # 域名解析系统
    
    # 工作原理:
    """
    1  我们要想访问www.baidu.com, 首先会去本地DNS缓存中查找
    
    2  如果本地DNS缓存中没有,那就要去本地文件hosts文件中查找
    
    3  如果本地hosts文件中也没有,那就会去公网的DNS服务器中找
    
    4  如果公网DNS服务器中也没有,就说明此域名没有注册,没有办法访问
    
    """
    
    • crontab
    # 计划任务
    
    # 格式
    
    *  *  *  *  *
    分 时 日 月 周
    
    
    # 实例
    #每晚的21:30重启nginx
    30 21 * * * systemctl restart nginx
    
    #每月的1,10,22日的4:45重启nginx
    45 4 1,10,22 * * systemctl restart nginx
    
  • 相关阅读:
    Sublime Text 3 支持的热门插件推荐
    Sublime text 2/3 中 Package Control 的安装与使用方法
    UML类图中箭头和线条的含义和用法
    this guy gonna be a daddy
    PHP设计模式之:单例模式
    PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
    php memcache 基础操作
    获取IP地址方法
    短信发送
    使用Shell脚本对Linux系统和进程资源进行监控
  • 原文地址:https://www.cnblogs.com/oden/p/10639269.html
Copyright © 2020-2023  润新知