zoukankan      html  css  js  c++  java
  • linux常用命令总结-updating


    Linux 命令总结

    启动终端: ctr+alt+t
    终端字体放大: ctr+shift+'+',终端字体缩小: ctr+'-'
    ls: 查看当前目录下的文件信息
    pwd: 查看目录所在的路径
    touch: 创建文件
    mkdir: 创建文件夹
    rmdir: 删除文件夹,提示:只能是空文件夹
    rm: 默认删除的是文件,如果删除文件夹需要加上-r选项,-r:以递归的方式把文件夹下的所有文件信息删除掉

    cd:切换目录

    9.1 cd 目录名 : 切换到指定目录
    9.2 cd .: 切换到当前目录
    9.3 cd ..: 切换到上一级目录
    9.4 cd ~: 切换到当前用户的目录
    9.5 cd: 等价与cd ~ 切换到当前用户的目录
    9.6 cd -: 切换到上一次目录

    绝对路径: 从根目录算起的路径叫做绝对路径,比如: /home/python

    相对路径: 从当前目录算起的路径叫做相对路径, 比如: ./AAA ../BBB
    路径的使用总结: 如果离当前目录近使用相对路径,如果离根目录近使用绝对路径,如果进入的是中间目录建议使用绝对路径
    自动补全: 两次tab键

    cp: 拷贝

    14.1 cp 文件名 路径: 把文件拷贝到指定路径
    14.2 cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径
    14.3 cp 文件名 路径/新的文件名 : 先把文件拷贝到指定目录然后再重命名
    14.4 cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去

    mv: 移动(剪切)

    15.1 mv 文件名 路径: 把文件移动到指定路径
    15.2 mv 路径/文件名 路径: 把指定路径的文件移动到指定路径
    15.3 mv 文件名 新的文件名: 重命名
    15.4 mv 文件夹 路径: 把文件夹移动到指定目录,不需要加上-r

    tree: 以目录树方式显示当前文件夹信息
    16.1 tree / : 以目录树方式显示指定路径的文件信息

    命令的格式

    17.1 命令名 选项 参数, 提示:有些命令选项可以放到参数的后面,但是:scp 选项必须要放到命令名的后面

    ls 选项

    21.1 -l: 以列表的方式取显示
    21.2 -a: 显示隐藏文件
    21.3 -h: 显示文件大小的单位
    21.4 ll: ls -al 显示隐藏文件并且以列表方式显示 , l->ls

    mkdir 选项
    22.1 -p: 把依赖文件夹提取创建好,比如: mkdir 123/456/789 -p

    rm选项

    23.1 -r: 以递归的方式删除文件夹里面的所有内容
    23.2 -i: 显示删除的时候提醒信息
    23.3 -v: 显示删除后的描述信息
    23.4 -d: 删除空目录
    23.5 -f: 如果文件或者目录存在则删除,否则就不删除也不会报错

    cp选项

    24.1 -i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息
    24.2 -v:显示拷贝文件的路径描述
    24.3 -r:以递归的方式拷贝文件夹里面的所有内容

    mv选项

    25.1 -i:移动文件显示提醒信息
    25.2 -v:显示移动后的路径描述

    重定向(>,>>): 在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了

    26.1 > :如果文件不存在,那么先创建,否则会先把原有文件的数据清空然后再写入
    26.2 >> : 在原有数据的基础上进行追加
    26.3 总结: ls, cat, tree都可以使用重定向

    gedit:文本编辑工具,可读可编辑

    cat: 内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)

    more:分屏显示

    29.1 f:表示下一页
    29.2 空格:表示下一页
    29.3 回车: 表示下一行
    29.4 b:表示上一页
    29.5 q:退出

    文件合并

    cat 1.txt 2.txt > 3.txt

    管道: 可以理解成是一个容器,存放在终端显示的内容

    28.1 总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的

    链接
    29.1 软连接:可以理解成快捷方式,把原文件删除掉通过软链接无法打文件的数据, 提示:创建软连接不会对硬链接数加1
    29.2 硬连接: 同一个数据有多个文件名在使用,某个文件删除掉,还可以通过其它文件名访问这个文件的数据, 提示:创建硬链接硬链接数会加1
    29.3 提示:如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接

    grep: 根据指定的内容在文件中进行查找

    30.1 grep "a" 8.txt : 根据指定内容在文件中进行查找
    30.2 -n:行号, -i:忽略大小写 -v: 取反
    30.3 总结: ^,$ [], . 支持的正则表达式

    find:在指定目录查找对应的文件

    31.1 find . -name ".txt": 在当前目录查找后缀是.txt的文件, -name根据文件名查找
    31.3 find . -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找
    31.3 总结: ? [] 支持的通配符

    ls:支持的通配符: _,? , [], []:表示匹配任意列举中的一个字符

    通配符: ? _ [],起到了模糊查询的作用

    tar: 打包、压缩、解包、解压缩

    34.1 打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:显示文件打到包里面 -f:表示文档名称,提示-f必须放到所有选项的后面
    34.2 解包 tar -xvf test.tar , -x:表示解包
    34.3 打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt
    34.4 解压缩及解包合并的命令:tar -zxvf test.tar.gz ->得到对应的文件
    34.5 指定解压缩的路径 tar -zxvf test.tar.gz -C ../BBB, -C:指定解压缩后的路径
    34.6 tar -jcvf test.bz2 *.txt -> test.bz2
    34.7 tar -jxvf test.bz2 -> 得到对应的文件
    34.8 -C: 指定解压缩的路径: tar -jxvf test.bz2 -C ../BBB

    zip的压缩及解压缩

    35.1 zip test *.txt -> test.zip ,提示:压缩包的后缀不需要指定默认是.zip
    35.2 unzip test.zip -> 得到是压缩包里面的文件
    35.3 unzip -d ./123 test.zip -> 解压到指定路径 , -d:表示解压的路径

    chmod:修改权限

    36.1 -r(4):可读 -w(2):可写 -x(1):可执行
    36.2 u:当前用户 g: 同组用户 o: 其它用户 a:所有用户
    36.3 +:添加权限, -:撤销权限 , = : 赋值权限
    36.4 chmod 000 1.txt : 全部没有权限
    36.5 chmod a=- 1.txt chmod a= 1.txt : 全部没有权限
    36.6 chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行
    36.7 chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限

    cp选项

    37.1-a: 保留文件原有权限,-a包含-r,也就是使用-a也可以拷贝文件夹

    which : 查看命令的路径

    sudo -s: 切换到管理员账号
    passwd:修改密码
    who :当前那些用户登陆
    whoami:当前电脑登陆的用户是谁
    exit:退出
    ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

    scp: 远程拷贝

    45.1 scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端
    45.2 scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端
    45.3 scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地
    46.4 scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

    apt list 支持的安装包

    vim的使用

    47.1 命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

    vim常用命令

    48.1. i: 进入编辑模式
    48.2. yy: 复制光标所在行 复制多行: 数字+yy
    48.3. p: 粘贴, 粘贴多次: 数字+p
    48.4. dd(删除、剪切), 剪切或者删除多行:数字+dd
    48.5. V: 选中多行
    48.6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
    48.7. x: 从前往后删除一个字母
    48.8. X: 从后往前删除一个字母
    48.9. u: 撤销
    48.10. shift + >: 往右缩进
    48.11. shift + <: 往左缩进
    48.12. .:重复上一次操作
    48.13. G: 回到最后一行
    48.14. gg: 回到第一行 1G
    48.15. 18G: 回到指定行
    48.16. shift + 4:回到行末
    48.17. shift + 6:回到行首
    48.18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
    48.19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
    48.20. ctr+f: 下一页
    48.21. ctr+b: 上一页
    48.22. :wq, :x: 保存退出

    1. 问题

    vim在编辑文件时,按了Ctrl+S后怎么都不动了。只能关闭SSH窗口。

    2. 原因

    Ctrl+S :在Linux 下是锁定屏幕的快捷键

    3. 解决

    Ctrl+Q :解锁屏幕 
    Ctrl+ S :锁定屏幕

    linux各种查看命令

    telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080

    top:查看进程及cpu使用率
    htop:任务管理器
    lsof -i:8080: 查看此端口占用信息
    ps aux: 查看所有进程
    ps aux | grep "mysql" : 查询mysql在进程中的信息

    netstat -anp | grep service_name : 查看某个服务的端口等信息

      netstat -a # 列出 tcp, udp 和 unix 协议下所有套接字的所有连接

      netstat -at # 只列出tcp

      netstat -au # 只列出udp

      netstat -atn # 禁用域名解析功能

      netstat -tnl  # 正在监听中的连接

       -p # 选项查看进程信息

      netstat -s # 打印网络统计数据

        -r # 打印内核路由数据

        -i # 打印网络接口信息

        -ei # 友好的显示网络接口信息

        -c # 持续输出信息

         -g # 会输出 IPv4 和 IPv6 的多播组信息

    linux通过 ln -s 建立启动软连接,开机自启服务脚本

    在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录

    Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策

    这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务

    由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务

    K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行

    因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可

    [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

    此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动

    如果需要在多个运行级别下设置自启动,则需建立多个软链接

    这种方式比较繁琐,适用于自定义的服务脚本

    如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的方式

    第二种方式:chkconfig

    如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off

    在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项

    上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别

    Tips:--list选项可查看指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态

    linux开放端口及查看 (firewalld防火墙)

    sudo firewall-cmd --add-port=9200/tcp --permanent  # 开启对应端口

    sudo firewall-cmd --reload  # 保存更改并重启

    sudo firewall-cmd --query-port=9200/tcp  # 查看对应端口是否开启(yes/no)

    firewall-config是firewalld防火墙的客户端可视化工具

    linux发行版debian/Ubuntu( raspbian )常用命令

    1. sudo reboot   # 重启
    2. sudo halt     # 关机
    3. sudo rpi-update     #树莓派更新
    4. sudo apt-get update     #更新软件信息数据库 
    5. sudo apt-get upgrade     #进行系统升级 
    6. sudo raspi-config     #配置
    7. ifconfig     #显示联网信息,会返回有线网络和无线网络的MAC地址和IP地址状态
    8. sudo apt-get install xrdp     #WINDOWS的远程桌面连接树莓派服务
    9. sudo apt-get install 软件名1 软件名2 软件名3……     #安装软件 
    10. sudo apt-get remove 软件名1 软件名2 软件名3……        #卸载软件
    11. sudo apt-get remove –purge 软件名1     #卸载并清除配置
    12. sudo apt-cache search 软件名1 软件名2 软件名3……      #搜索软件包 
    13. sudo apt-get install chromium-browser  chromium-l10n     #安装chrome

    Centos不能解析域名,DNS配置

    ping www.baidu.com不通

    在/etc/sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置
    比如:DNS1=8.8.8.8
    114.114.114.114和8.8.8.8,这两个DNS都很纯净,不用担心因ISP运营商导致的DNS劫持等问题,而且都是免费提供给用户使用的。
    114.114.114.114是国内移动、电信和联通通用的DNS
    8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的

    然后需要重启网卡:service network restart

    当然我的设置都对,在以前虚拟机上这样设置后也能使用了。偏偏我的云服务器还是出错。
    最后总于发现是named服务器压根就不存在,哎,真的是mini版的系统,很多软件都没装

    解决:
    yum install bind
    chkconfig named on

    fdisk磁盘扩容

    参考: https://blog.csdn.net/namdlo/article/details/80884213

    内存溢出OOM(测试)

    日志解释:

    • total-vm:进程总共使用的虚拟内存;
    • anon-rss:虚拟内存实际占用的物理内存;
    • file-rss:虚拟内存实际占用的磁盘空间;
    • shmem-rss

    参考:https://blog.csdn.net/hearbeat/article/details/82793258

       https://blog.csdn.net/dta0502/article/details/82016616

  • 相关阅读:
    centOS 6.5下升级mysql,从5.1升级到5.6
    利用PHP脚本辅助MySQL数据库管理5-检查异常数据
    利用PHP脚本辅助MySQL数据库管理4-两个库表结构差异比较
    利用PHP脚本辅助MySQL数据库管理3-删除重复表索引
    利用PHP脚本辅助MySQL数据库管理2-表主键表索引
    利用PHP脚本辅助MySQL数据库管理1-表结构
    Linux驱动设计——内存与IO访问
    Linux驱动设计—— 驱动调试技术
    Linux系统编程@终端IO
    Linux驱动设计—— 内外存访问
  • 原文地址:https://www.cnblogs.com/lzc978/p/10099149.html
Copyright © 2011-2022 走看看