avatar

目录
Linux基础命令超全笔记

Linux基础命令超全笔记

一、帮助与别名命令

  • man ls # 查看ls后面可以接哪些参数
  • alias if="ifconfig" # 给ifconfig取个别名叫做 if
  • unalias if # 取消if这个别名

二、Vim 编辑器命令

编辑文件进入方式

vim + 文件名

编辑模式切换

  1. 按下 i:从命令模式切换到编辑模式(insert 插入)
  2. 编辑完按 ESC 切换到命令模式

保存退出

  • :wq! # 强制保存并退出
  • 按下 esc + 大写锁定 + ZZ # 快速保存退出

Vim 插入模式快捷键

  • i :在光标所在位置的前方添加数据
  • I :行首进入编辑模式,在光标所在行行首输入
  • a :在光标所在位置的后面进行输入
  • A :在光标所在行的行尾进行输入
  • o :光标所在行下一行新开一行输入
  • O :光标所在行上一行新开一行输入

Vim 删除、复制、粘贴

  • x :删除光标所在位置的字母
  • X :删除光标所在前的字符
  • dd :删除光标所在行
  • yy :复制光标所在行
  • 3yy :复制光标开始往后三行
  • p :在光标所在行的下一行进行粘贴
  • P :在光标所在行的上一行进行粘贴

Vim 光标跳转

  • G :移动到最后一行
  • gg :移动到第一行
  • :8 :光标直接跳到第八行

Vim 常用底行命令

  • :wq # 保存并退出
  • :wq! # 强制保存并退出
  • :w # 只保存
  • :q # 退出
  • :q! # 强制不保存退出
  • :set nu # 设置显示行号
  • :set nonu # 取消行号展示
  • :/字符 # 高亮匹配字符
  • :noh # 取消高亮展示
  • :e bb.txt # 在vim中打开指定文件
  • :r bb.txt # 将指定文件内容插入到当前光标下一行

Vim 替换与批量操作

  • :%s/example/jdk # 替换每一行第一次出现的example为jdk
  • :%s/jdk/example/g # g全局替换,全部替换
  • :%s/example/jdk/gc # 全局替换并逐个询问确认
  • :1,$s/xxx/222/g # 全文全局替换
  • :%norm Ixxx # 每一行行首插入xxx
  • :%norm Axxx # 每一行行尾插入xxx
  • :sort # 对文件内容排序
  • :g/jdk # 只显示包含jdk的行
  • :v/jdk # 只显示不包含jdk的行
  • :undo # 撤销上一次操作
  • :redo # 重做操作

三、文件查看命令

cat 命令

  • cat 文件名 # 查看文件内容
  • cat -n aa.txt # 带行号显示文件内容
  • nl aa.txt # 带行号显示文件内容
  • cat aa.txt | grep "duoceshi" # | 管道符:左边输出作为右边输入;grep 关键词搜索

less / more

  • less aa.txt # 查看大文件,空格翻页,ctrl+z 退出
  • more head_tail.txt # 百分比进度查看文件内容

四、重定向 > 与 >>

目标文件不存在

  • cat aa.txt > bb.txt # 新建bb.txt,把aa.txt内容写入
  • cat aa.txt >> cc.txt # 新建cc.txt,把aa.txt内容写入

目标文件已存在

  • cat aa.txt > qq.txt # 覆盖原有文件内容
  • cat aa.txt >> ww.txt # 追加内容到文件末尾

五、head 与 tail 命令

  • head head_tail.txt # 默认查看前10行
  • tail head_tail.txt # 默认查看后10行
  • tail -f 文件名 # 实时查看日志

定制行数查看

  • head -n 5 head_tail.txt # 查看前5行
  • head -n -5 head_tail.txt # 忽略最后5行,不显示后5行
  • tail -n +5 head_tail.txt # 从第五行开始查看
  • tail -n 5 head_tail.txt # 查看最后5行
  • tail -n -5 head_tail.txt # 查看最后5行

查看 5~10 行内容

  • tail -n +5 head_tail.txt | head -n 6
  • head head_tail.txt | tail -n 6
  • head head_tail.txt | tail -n +5

六、find 查找命令

  • find /example -name aa.txt # 查找example目录下aa.txt路径
  • find /example -name "*.txt" # 查找所有以.txt结尾文件,*匹配任意字符
  • find /example -name "??.txt" # ? 匹配单个字符
  • find /example -type f # 只查找普通文件
  • find /example -type d # 只查找目录

七、grep 高级过滤

  • grep -A 2 "15" head_tail.txt # -A after 匹配行及后面2行
  • grep -B 2 "15" head_tail.txt # -B before 匹配行及前面2行
  • grep -C 2 "15" head_tail.txt # -C center 匹配行前后各2行

八、cp 复制命令

  • cp bb.txt cc.txt # 复制bb.txt并改名为cc.txt
  • cp -r aa bb # bb不存在:复制aa目录为bb目录
  • cp -r aa bb # bb已存在:把aa目录复制到bb目录里面

九、mv 移动/改名命令

目标目录不存在:mv 是改名
目标目录存在:mv 是移动

  • mv cc.txt aa # 将cc.txt移动到aa目录中
  • mv cc.txt bb.txt # bb.txt不存在:cc.txt改名为bb.txt

十、文件权限三剑客

chmod 改权限、chown 改属主、chgrp 改属组

权限字母说明

  • r 读:cat、less、more、nl、head、tail
  • w 写:vim、touch
  • x 执行:sh、bash

权限只对普通用户生效,root不受限制

chmod 修改权限

  • chmod 777 aa.txt # 文件所有用户读写执行权限全开
  • chmod -R 777 example # 递归修改目录及内部所有文件权限
  • chmod u+rwx aa.txt # 给属主加权限
  • chmod u-rwx aa.txt # 给属主减权限
  • chmod g+rwx aa.txt # 给属组加权限
  • chmod g-rwx aa.txt # 给属组减权限
  • chmod o+rwx aa.txt # 给其他用户加权限
  • chmod o-rwx aa.txt # 给其他用户减权限
  • chmod -R u+rwx aa # 递归给目录属主加权限

chown / chgrp

  • chown example aa.txt # 修改文件属主为example
  • chgrp example aa.txt # 修改文件属组为example
  • chown root.root aa.txt # 属主属组都改为root
  • chown example:example aa.txt # 属主属组都改为example

十一、用户与组管理

查看用户

  • cat /etc/passwd # 查看系统所有用户
    • 0 :root超级用户
    • 1-499 :系统内置用户,不可登录
    • 500及以上 :自定义普通用户,可登录

用户操作

  • useradd example1 # 创建普通用户
  • adduser example2 # 创建普通用户
  • passwd example1 # 给用户设置密码
  • userdel example2 # 删除用户
  • userdel -r -f example1 # 强制删除用户+家目录
  • useradd example2 -g example1 # 创建用户并指定归属组
  • groups example2 # 查看用户所属组

组操作

  • groupadd aaa # 创建组
  • cat /etc/group # 查看所有组
  • gpasswd -a example2 aaa # 将用户加入组
  • gpasswd -d example2 aaa # 将用户从组移除
  • groupdel aaa # 删除组

十二、打包与压缩

1. tar 打包(无压缩)

  • tar -cvf aa.tar aa.txt # 打包
  • tar -xvf aa.tar # 解压

2. tar.gz 压缩打包

  • tar -zcvf example.tar.gz example # 压缩打包
  • tar -zxvf example.tar.gz # 解压

3. zip 打包

  • zip aa.zip aa.txt # 文件打包
  • zip -r kk.zip example # 目录打包
  • unzip aa.zip # 解压zip包

4. gzip 压缩(只能文件)

  • gzip aa.txt # 压缩,源文件消失
  • gunzip aa.txt.gz # 解压

十三、rpm 软件安装

  • rpm -ivh jdk-8u121-linux-i586.rpm # 安装rpm包
  • java -version # 查看是否安装成功

十四、scp 远程拷贝

  • 拉取远程文件到本地
    scp root@192.168.13.129:/xiaozhou.txt /
  • 推送本地文件到远程
    scp /head_tail.txt root@192.168.13.129:/

十五、系统资源查看

磁盘

  • df # 查看磁盘使用
  • df -h # 带单位人性化显示

内存

  • free # 查看内存
  • free -m # 以MB为单位查看内存

进程

  • ps # 查看瞬时进程
  • ps -ef # 查看所有进程
  • ps aux # 查看所有进程详细信息
  • ps -ef | grep 进程名 # 过滤指定进程
  • kill 进程id # 正常结束进程
  • kill -9 进程id # 强制杀死进程

端口

  • netstat -nltp # 查看所有监听端口
  • netstat -tpln | grep 22 # 查看22端口
  • lsof -i:22 # 查看22端口占用进程

系统信息

  • top # 实时查看CPU、资源占用,ctrl+c退出
  • who # 查看在线登录用户
  • whoami # 查看当前登录用户
  • hostname # 查看主机名
  • getconf LONG_BIT # 查看系统位数
  • du -sh # 查看目录总大小
  • du -sh aa.txt # 查看文件大小

十六、开关机与服务

  • reboot # 重启
  • shutdown now # 立即关机
  • init 0 # 关机
  • service network restart ,CentOS7推荐新写法systemctl restart network# 重启网卡
  • /etc/init.d/sshd restart # 重启ssh服务

十七、文件传输工具

yum 在线安装

yum install lrzsz # 安装文件传输工具

rz / sz

  • rz # Windows传文件到Linux(适合0-500M)
  • sz 文件名 # Linux传文件到Windows

xftp

适合 500M以上 大文件跨系统传输

十八、Xshell 连接 Linux 步骤

  1. 打开 Xshell
  2. CentOS 执行 ifconfig 查看IP
  3. Xshell 输入 ssh IP地址
  4. 账号:root 密码:自己设置的密码

无法连接解决

  1. service network restart 重启网卡,CentOS7推荐新写法systemctl restart network
  2. /etc/init.d/sshd restart 重启ssh服务
  3. 重新连接

十九、软硬链接

软链接(快捷方式)

  • 删除源文件,软链接失效
  • ln -s /aa.txt /hs # 创建软链接

硬链接(备份)

  • 删除源文件不影响硬链接文件
  • ln -d /aa.txt /qqq # 创建硬链接

二十、其他常用命令

  • history # 查看历史输入命令
  • clear # 清空屏幕
  • reset # 重置清空屏幕
文章作者: J.M.
文章链接: https://www.masj.top/post/895fb01a.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jason的小世界