• Linux常用操作及命令大全


    linux

    文件操作

    目录命令

    • ls 查看当前目录 (默认以水平方向多文件并排显示)
      • ls -lh 以人性化和列表方式显示文件大小
      • ls -a 查看当前目录并显示隐藏文件
      • ls -l 以列表方式显示文件的详细信息
      • ls -h 以个性化方式显示文件大小,单独用不起效
    • pwd 显示当前目录路径
    • 文件夹 默认以蓝色字体显示,是文件以白色字体显示
    • 以 ls -l 的方式显示出来文件,d开头的是目录

    通配符的使用

    • * 代表任意个数的字符
    • ? 代表任意一个字符,至少一个
    • [] 表示可以匹配字符组中的任一 一个
    • [abc] 匹配 abc 中的任意一个
    • [a- f] 匹配从a 到 f 范围内的任意一个

    切换目录

    • cd 切换当前用户的主目录,快速回到当前用户的home目录下
      • cd .. 切换到上级目录 cd 空格 ..
      • cd ~ 与cd命令相同

    文件命令

    创建

    • touch 如果文件不存在则创建空白文件 ,如果存在则修改文件最后修改日期
    • mkdir 创建一个目录
      • mkdir -p 创建多级目录 例: mkdir -p a/b/c/d

    删除

    • rm 可以删除文件 删除后不能恢复
      • rm -f 强制删除,忽略不存在文件,不提示
      • rm -r 递归删除多级目录

    拷贝和移动

    • tree 以树状图列出文件
      • tree -d 只显示目录
    • cp 源文件 目标文件 复制文件或文件夹
      • cp -i 覆盖时提示
      • cp -r 复制目录
    • mv 源文件 目标文件 移动文件
      • mv -i 覆盖时提示

    文件内容命令

    • cat 查看文件内容、创建文件、文件合并、追加文件等功能,把文件内容一次性全部展示出来

      • cat -b 对非空输出行编号
      • cat -n 对输出的所有行编号
    • more 分屏显示文件内容,文件内容过长时,可以按需加载

      • 按空格显示手册页的下一屏
      • 按回车一次只向下滚动一行
      • b 回滚一屏
      • q 退出
    • grep 搜索文本文件内容

      • -n 显示行号
      • -i 忽略大小写
      • -v 取反
      • ^a 行首, 以^ 开头 来搜索a文本
      • k $ 行尾,以 $ 为结束来搜索k文本
    • echo 文字内容 在终端显示内容

    • 重定向 linux 允许将命令执行结果重定向到一个文件

      • > 表示输出,会覆盖文件原有的内容。把echo要输出的内容放到文件中

      • 例如:echo hello word > abc
        // 此时会创建一个叫abc的文件,文件里面的内容是 hello word
        例如:ls -lh > a
        // 此时会创建一个a 文件,里面存放了 ls -lh 输出的内容
        
      • >> 表示 追加,会将内容追加到已有文件的末尾

    • 管道的概念及使用

      • linux 允许一个命令的输出,可以通过管道作为另一个命令的输入
      • 常用的命令:more 分屏显示内容 grep 在命令执行结果的基础上查询指定的文本。

    远程管理命令

    • shutdown 关机 /重启
      • shutdown -r now 立即重启
      • shutdown now 立即关机
      • shutdown 18:33 在这个时间关机
      • shutdown +10 10分钟后关机
      • shutdown -c 取消之前的关机
    • ifconfig 查看网卡配置信息
    • ping ip 检测到目标ip地址是否正常

    SSH 远程登录

    • 登录格式 ssh [-p port] user@remoto

      • user是 用户名
      • remoto 是远程机器的地址,可以是IP/域名,或者别名
      • port 是SSH server 监听的端口,如果不指定,默认值是22
      • 使用exit可以退出当前的登录
      • 注意: ssh只能在linux 和 unix 系统下使用。如果是windwos 系统可以安装PuTTY 或者XShell客户端软件
    • SSH 密钥免密码登录

      • 执行ssh-keygen即可一键生成密钥,一路回车即可
      • 然后上传公钥到服务器
      • 执行ssh-copy-id -p port user@remoto可以让远程服务器记住我们的公钥
    • SSH配置别名

      1. 在.ssh文件夹下创建一个config的文件

      2. 追加如下内容

      3. Host Mac
        HostName ip地址
        User 用户名
        Prot 22
        

    SCP远程拷贝

    • scp 就是secure copy ,是一个在linux 下用来进行远程拷贝文件的命令
    • 他的地址格式与ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写
    • 例如: scp -P 22 root@127.0.0.1:Desktop/test/hello ./
    • 例2: scp admin@192.168.1.100:Desktop/test/1.txt Desktop 把远程服务器中的1.txt 复制到桌面
    • 例3: scp 1.html admin@192.168.1.100:Desktop把本地的1.html 文件 复制到服务的桌面
    • -r 操作文件夹

    用户权限

    chmod 修改权限

    chmod +or -rwx 文件名或目录名

    用户管理

    • 创建用户
      • useradd -m -g 组
      • -m 自动建立用户家目录
      • -g 指定用户所在的组,不设置则会建立一个和同名的组
      • passwd 用户名 设置用户密码
    • 删除用户
      • userdel -r 用户名

    系统信息

    • date 当前时间
    • cal 日历
    • cal -y 查看一年的日历
    • df -h 查看目录磁盘剩余空间
    • du -h 目录名 显示目录下的文件大小
    • free -h 查看内存
    • top 动态查看当前正在运行的进程,并排序。按q退出
    • ps aux 查看进程详细信息
      • a 显示终端上所有进程,包括其他用户
      • u 显示进程的详细状态
      • x 显示没有控制终端的进程
    • kill 杀死进程, -9 表示强制关掉

    打包压缩

    • windows 常用 rar

    • mac 常用 zip

    • linux 常用 tar、gz

      • tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件

      • tar格式的命令如下(tar只负责打包不负责压缩)

      • 打包文件
        tar -cvf 打包文件.tar  被打包文件的路径
        解包文件
        tar -xvf 打包文件.tar
        
      • c 生成档案文件,创建打包文件

      • x 解开档案文件

      • v 列出归档解档的详细过程,显示进度

      • f 指定档案文件名,f 后面一定是.tar 文件 所以必须方选项最后

      • tar -zcvf 打包文件.tar.gz 被压缩打包文件的路径 ------- 打包并压缩

      • tari -zxvf 打包文件.tar.gz --------- 解压缩文件

      • tar -zxvf 打包文件.tar.gz -c 目标路径 -------------解压到指定路径

    • bzip2

      • tar与bzip2 命令结合可以使用实现文件打包和压缩(用法和gzip一样)

      • tar 只负责打包文件,但不压缩

      • 用bzip2 压缩tar打包后的文件,其扩展名为xxx.tar.bz2

      • 在tar命令中有一个 -j 可以调用bzip2 ,从而可以方便的实现压缩和解压的功能

      • 命令格式如下:

      • 压缩文件
        tar -jcvf 打包文件.tar.bz2 被压缩文件的路径
        解压文件
        tar -xzvf 打包文件.tar.bz2
        

    vim 编辑器

    打开或新建文件

    • 命令:vi 文件名

    • 如果文件已经存在则直接打开文件

    • 如果文件不存在则直接会新建文件并打开

    打开文件并定位到指定的行

    • 命令 vi 文件名 + 行数
    • 如果只带上+ 不指定行数,则定位到最后位置

    命令模式

    • 在打开文件时,默认进入命令模式,通过命令对文件进行常规的编辑操作。例如:定位,复制,粘贴,删除
    • 按ESC键可进入命令模式

    末行模式:

    执行保存、退出 等操作

    • 在命令模式下 输入: 进入末行模式

    • w 保存

    • q 退出

    • !q 不保存文件,强行退出

    • x 保存并退出

    编辑模式

    • 在命令模式下 按 i 可以进入编辑模式

    移动命令

    • h 向左移动
    • j 向下移动
    • k 向上移动
    • l 向右移动

    行数移动

    • set nu 显示行数

    • set nonu 不显示行数

    • gg 文件顶部

    • G 文件末尾

    • 数字gg 移动到数字对应行

    • 数字G 移动到数字对应对应行

    • 数字 移动到数字对应对应行(末行模式)

    屏幕移动

    • ctrl + b 向上翻页
    • ctrl + f 向下翻页
    • H 屏幕顶部
    • M 屏幕中间
    • L 屏幕底部

    段落切换和括号切换

    • { 上一段落
    • } 下一段落
    • % 移动到括号

    标记

    • mx x表示要标记的名称
    • ' x x表示回到标记名称的位置

    选中文本

    • v 可视模式 从光标位置开始按照正常模式选择文本
    • V 可视模式 选中光标经过的完整行
    • ctrl + v 可视块模式 垂直方向选中文本

    撤销和删除

    • u 回撤操作
    • ctrl + r 恢复撤销命令
    • x 删除光标所在字符,或者选中字符
    • d 移动命令 删除移动命令对应的内容
    • dd 删除光标所在行,可以ndd 复制多行
    • D删除空行尾

    复制和粘贴

    • y 复制
    • yy 复制一行,可以
    • nyy 复制多行 n表示数字
    • p 粘贴

    Linux如何查看端口状态

    netstat命令各个参数说明如下:

      -t : 指明显示TCP端口

      -u : 指明显示UDP端口

      -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

      -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

      -n : 不进行DNS轮询,显示IP(可以加速操作)

    即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

    netstat -ntlp //查看当前所有tcp端口·

    netstat -ntulp |grep 80 //查看所有80端口使用情况·

    netstat -an | grep 3306 //查看所有3306端口使用情况·

    查看一台服务器上面哪些服务及端口

    netstat -lanp

    查看一个服务有几个端口。比如要查看mysqld

    ps -ef |grep mysqld

    查看某一端口的连接数量,比如3306端口

    netstat -pnt |grep :3306 |wc

    查看某一端口的连接客户端IP 比如3306端口

    netstat -anp |grep 3306

    netstat -an 查看网络端口 
    
    lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 
    
    nmap 端口扫描
    netstat -nupl  (UDP类型的端口)
    netstat -ntpl  (TCP类型的端口)
    netstat -anp 显示系统端口使用情况
    
  • 相关阅读:
    自定义标签
    ssm学习的第一个demo---crm(1)
    xml文件中的${}
    Mybatis的回顾学习
    Mapper的.xml文件的delete的参数问题
    mybatis中xml文件的${}和#{}区别
    Mybatis:通过MapperScannerConfigurer进行mapper扫描
    Spring的applicationContext.xml的疑问解析
    Spring MVC 的springMVC.xml疑问解析
    【剑指 Offer】04.二维数组中的查找
  • 原文地址:https://www.cnblogs.com/liea/p/11219191.html
Copyright © 2020-2023  润新知