• Linux 命令


    Linux 命令大全
    Linux 常用命令全拼 
    Linux top 实时系统监控工具 
    Linux ps(英文全拼:process status)显示当前进程的状态 
    Linux du(英文全拼:disk usage)显示目录或文件的大小 
    Linux df(英文全拼:disk free)显示磁盘使用情况统计 
    Linux free 显示内存状态 
    Linux kill 删除执行中的程序或工作 

    1、简单系统命令

    1. # 查看centos操作系统版本
    2. cat /etc/centos-release
    3. rpm -q centos-release
    4. uname -a
    5. uname -r
    6. # 查看主机名
    7. hostname
    8. # 查看文件系统
    9. df -h
    10. # 查看内存
    11. free -h
    12. # ps命令可以显示各个进程的内存使用情况、以及更详细的物理内存使用情况和虚拟内存使用情况
    13. ps aux --sort -rss
    14. # top命令显示了每个进程的内存实时使用率。提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告
    15. top
    16. # 变更为其他使用者的身份【按照提示输入root用户密码回车】
    17. su
    18. # 查看ip地址
    19. ip a
    20. ip addr
    21. ifconfig
    22. # ping网络(测试网络连通)
    23. ip 目标机器的ip
    24. # 查看系统时间
    25. date
    26. # 注销
    27. logout
    28. # 关机 shutdown [-h,-r] 关机(-h)、重启(-r)
    29. shutdown now 关机
    30. shutdown -h now 立即关机
    31. shutdown -h +10 10分钟后关机
    32. shutdown -h 11:30 11:30关机
    33. shutdown -r now 立即重启
    34. poweroff 立即关机
    35. # 重启
    36. reboot
    37. # 清屏
    38. clear

    文件保存退出

    1. # 最快捷的方法:直接按shift+zz,或者切换到大写模式按ZZ,就可以保存退出了,即是按2下大写的Z。
    2. # 保存文件,不退出
    3. :w
    4. # 强制保存文件,不退出
    5. :w!
    6. # 不报存文件退出,打开的文本文件在内容上没有被改动过。
    7. :q
    8. # 保存退出,其中w是write(写入),q是quit(退出)
    9. :wq
    10. # 强制保存退出,不管内容是否发生改变,都会更新文件时间,其中w是write(写入),q是quit(退出)
    11. :wq!
    12. # 不保存文件,退出
    13. q:
    14. # 不保存文件,强制退出
    15. :q!
    16. # 强制退出
    17. :!
    18. # 放弃所有修改,从上次保存文件开始再编辑
    19. :e!
    20. # 写入文件并退出
    21. :x

    2、Linux文件系统
    ● 核心
    Linux一切皆文件
    只有一个顶级目录,不像windows分C盘、D盘、E盘

    ● 目录结构

    1. Linux    含义                                                                       windows
    2. /bin     所有用户可用的基本命令存放的位置                                                     windows没有固定的命令存放目录
    3. /sbin    需要管理员权限才能使用的命令
    4. /boot    linux系统启动的时候需要加载和使用的文件
    5. /dev     外设连接linux后,对应的文件存放的位置                                                 类似Windows中的U盘,光盘的符号文件。
    6. /etc     存放系统或者安装的程序的配置文件,注册服务等                                           类似windows中的注册表
    7. /home    家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹           类似windows中的"我的文档",每个用户有自己的目录。
    8. /root    root账户的家目录,仅供root账户使用                                                   类似windows中的Administrator账户的"我的文档"
    9. /lib     linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar    
    10. /usr     很多系统软件的默认安装路径    类似windows中的C盘下的Program Files目录。     类似windows中的C盘下的Program Files目录。
    11. /var     系统和程序运行产生的日志文件和缓存文件放在这里  

    3. 文件管理命令
    ● 
    ● 
    ● 查看文件选项

    1. 选项       作用
    2. -a         显示指定路径中的所有文件,包括隐藏文件
    3. -l         显示文件的详细信息,包括文件类型,权限,所属用户,所属用户组,文件大小,上一次修改时间等
    4. -h         文件大小以KBytes为单位显示
    5. -S         按照文件大小顺序显示,默认从大到小;若要从小到大,可使用-Sr

    *、查看文件列表

    1. # 查看文件列表
    2. ls [-参数1参数2] [目标文件夹]
    3. # 查看当前目录下的文件列表
    4. ls
    5. # 查看指定目录下的文件
    6. ls /
    7. # 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
    8. ls -l
    9. # 查看隐藏文件
    10. ls -a 
    11. # 参数并用
    12. ls -la

    ● 切换目录、拷贝文件、拷贝文件夹

    1. # 查看当前目录(Print Working Directory)
    2. pwd
    3. # 切换到根目录文件夹,不加参数,默认切换到HOME变量指定的目录
    4. cd
    5. # 跳转至当前用户的工作用户
    6. cd ~
    7. # 跳转至根目录
    8. cd /
    9. # 跳转至指定目录
    10. cd /home/king/a1/a1-1
    11. # 跳转至目前目录的上一层
    12. cd ../
    13. # 跳转至目前目录的上上两层
    14. cd ../../
    15. # 拷贝文件
    16. cp 原文件 新文件
    17. # 拷贝文件夹
    18. cp -r 源文件夹 新文件夹

    ● 移动文件或修改文件名

    1. # 移动源文件到目标文件夹中
    2. mv 文件  文件夹
    3. # 修改文件A的名字为文件B
    4. mv 文件A 文件B

    ● 新建文件夹及文件

    1. # 在当前位置新建文件夹
    2. # mkdir 文件夹名
    3. mkdir test
    4. # 在指定目录位置,创建文件夹,并创建父文件夹
    5. mkdir -p /a/b/文件夹名
    6. # 在当前目录下新建文件
    7. # touch 文件名
    8. touch a.txt

    ● 删除文件

    1. # 删除文件夹
    2. # -i 删除前逐一询问确认。
    3. # -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    4. # -r 将目录及以下之档案亦逐一删除。
    5. rm -r test
    6. # 强制删除,不询问
    7. rm -rf 文件
    8. rm -rf a.txt
    9. # 删除当前目录下的所有文件及目录
    10. rm -r *

    4、压缩解压缩
        压缩语法:tar -zcvf 压缩后文件名 被压缩文件
    解压缩语法:tar -zxvf 压缩文件名 -C 解压后文件所在目录

    1. 参数 描述
    2. -z     操作tar.gz文件需要使用
    3. -x     解压缩
    4. -c     压缩
    5. -v     显示压缩或者解压缩的执行过程信息
    6. -f     要处理的文件file,必须放在最后
    7. # 压缩语法
    8. tar -zcvf 压缩后文件名 被压缩文件
    9. # 解压缩语法
    10. tar -zxvf 压缩文件名 -C 解压后文件所在目录

    5、rpm软件,类似于Windows中的.exe程序

    1. # 安装rpm软件【需要root权限,输入su命令】【必须有安装文件,才能执行如下命令】
    2. # 安装QQ
    3. rpm -ivh linuxqq_2.0.0-b2-1089_x86_64.rpm
    4. # 卸载rpm软件
    5. rpm -e linuxqq
    6. # 升级rpm软件
    7. # 语法:rpm -Uvh [软件名称]
    8. # 查看系统中已安装的软件
    9. rpm -qa
    10. # 查看系统中是否已安装 xxx 软件
    11. rpm -qa linuxqq
    12. rpm -qa | grep linuxqq
    13. # 例子:安装tree工具
    14. # 作用:查看某个目录下的文件信息
    15. # 以树状结构查看2层文件信息
    16. tree -L 2 要查看的路径

    6、yum
    yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。

    1. # 列出所有可以安装的软件包
    2. yum list
    3. # 安装软件
    4. yum install -y 软件名
    5. # 卸载软件
    6. yum remove 软件名
    7. # 查找软件包
    8. yum search all 软件名

    7、Linux 服务

    1. # 例如:sshd network firewalld 等
    2. # 服务器管理命令
    3. systemctl status 服务名
    4. # 启动服务
    5. systemctl start 服务名
    6. # 重启服务
    7. systemctl restart 服务名
    8. # 停止服务
    9. systemctl stop 服务名
    10. # 禁止服务随linux启动。
    11. systemctl disable 服务名
    12. # 设置服务随linux启动。
    13. systemctl enable 服务名

    *、主机名

    1. # 查看主机名
    2. hostname
    3. # 设置主机名
    4. hostnamectl set-hostname 主机名

    *、必要软件安装
    ①、vim(vi编辑器增强版)

    1. # 查看vim版本
    2. vim
    3. # 安装vim
    4. yum install -y vim
    5. # vim 语法
    6. vim 文件
    7. # Step 1: 如果文件不存在,可以自动创建文件,进入到命令模式
    8. vim hello.txt
    9. # Step 2: 搜索关键字
    10. 输入斜杠【/】,在状态栏(屏幕左下脚)就出现了【/】然后输入要查找的关键字敲回车
    11. # Step 3: 切换到编辑模式(插入模式、输入模式)
    12. 一片空白,此时不可编辑内容,如果需要编辑内容,输入字母【i】切换到编辑模式(插入模式、输入模式)
    13. # Step 4: 切换到命令模式
    14. 编辑完内容需要保存退出,按Esc键盘,回到命令模式,输入【:wq】保存退出
    15. # Step 5: 查看文件内容
    16. cat hello.txt
    17. # Step 6: 搜索关键字
    18. cat user.txt | grep zhang
    19. # Step 7: 搜索关键字
    20. cd /opt/software/openGauss/data/single_node
    21. grep listen_addresses postgresql.conf

    ②、wget(下载器)

    1. # 下载到当前目录
    2. wget https://download.redis.io/releases/redis-6.0.8.tar.gz
    3. # Chrome
    4. wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    5. # QQ
    6. wget https://77710a8b47c86b78dff8df9bcc4ad3ea.rdt.tfogc.com:25347/down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm?mkey=6366785cab9dad63d881e0fca03d93f4&arrive_key=33153226668&cip=106.113.71.225&proto=https&access_type=
    7. # jdk
    8. wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz
    9. # jdk
    10. wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.rpm
    11. # 使用 -O 选项以其他名称保存下载的文件
    12. wget -O redis.tar.gz https://download.redis.io/releases/redis-6.0.8.tar.gz
    13. # 使用 -P 选项将文件下载到指定目录
    14. wget -P /software https://download.redis.io/releases/redis-6.0.8.tar.gz
    15. wget -P /software https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

    ③、tree(目录树状显示)
    # 以tree结构,递归显示当前文件下所有文件

    tree

    # 显示目标文件夹下的文件
    tree 目标目录
    ④、
    ⑤、
    ⑥、
    ⑦、
    ⑧、
    ⑨、
    ⑩、
    *
    *
    *、用户组

    1. # 查看用户组
    2. cat /etc/group
    3. # 创建组
    4. groupadd 组名
    5. # 删除组
    6. groupdel 组名
    7. # 查找系统中的组
    8. cat /etc/group | grep -n “组名”
    9. # 说明:系统每个组信息都会被存放在/etc/group的文件中

    *、用户

    1. # 查找系统账户,系统每个用户信息保存在`/etc/passwd`文件中
    2. cat /etc/passwd
    3. # 创建用户
    4. useradd -g 组名 用户名
    5. # 设置密码
    6. passwd 用户名
    7. # 切换用户
    8. su 用户名
    9. # 删除用户
    10. userdel -r 用户名

    *、export 自定义变量设置为系统环境变量,设置或显示环境变量

    1. # 设置或显示环境变量
    2. -f    代表[变量名称]中为函数名称。
    3. -n    删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
    4. -p    列出所有的shell赋予程序的环境变量。
    5. ##
    6. # 列出当前的环境变量值
    7. export -p
    8. # 定义环境变量
    9. export MYENV
    10. # 定义环境变量并赋值
    11. export MYENV=7
    12. # 删除环境变量
    13. export -n MYENV

    *、查看私有 IP 地址

    1. # 没有安装任何工具包的情况下可以通过ip addr 或者ip a 或者 ip address 来查看本机的ip地址
    2. ip addr
    3. ip addr show
    4. # 使用 ens33
    5. ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
    6. link/ether 00:0c:29:12:fb:4c brd ff:ff:ff:ff:ff:ff
    7. inet 192.168.176.129/24 brd 192.168.176.255 scope global dynamic ens33
    8. valid_lft 1039sec preferred_lft 1039sec
    9. # 安装了net-tools,可以通过以下命令来查看IP地址
    10. ifconfig -a
    11. ifconfig
    12. # 通过ihostname 命令查看私有ip地址
    13. hostname -I | awk '{print $1}'
    14. # 通过ip route命令查看私有ip地址
    15. ip route get 1.2.3.4 | awk '{print $7}'
    16. # 通过nmcli命令查看私有ip地址
    17. nmcli -p device show

    *、查看公网 IP 地址

    1. curl ipinfo.io/ip/
    2. curl api.ipify.org

    *、权限

    1. # 设置所有人可以读写及执行
    2. chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
    3. # 设置拥有者可读写,其他人不可读写执行
    4. chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )

    *、防火墙

    1. # 查看防火墙状态
    2. systemctl status firewalld
    3. firewall-cmd --state
    4. # 暂时关闭防火墙
    5. systemctl stop firewalld
    6. # 永久关闭防火墙(慎用)
    7. systemctl disable firewalld
    8. # 开启防火墙
    9. systemctl start firewalld
    10. # 开放指定端口
    11. firewall-cmd --zone=public --add-port=8067/tcp --permanent
    12. firewall-cmd --zone=public --add-port=9002/tcp --permanent
    13. # 关闭指定端口
    14. firewall-cmd --zone=public --remove-port=8080/tcp --permanent
    15. # 立即生效
    16. firewall-cmd --reload
    17. # 查看开放的端口
    18. firewall-cmd --zone=public --list-ports

    1、【echo >】输出重定向,表示写入文件,并将文件内所有文字替换,先清空原来的内容,再写入新内容【是先删除原有内容,再添加】

    1. echo "add content" > /home/data/test.sh
    2. echo "abc" > log.sh
    3. echo "" > log.sh #相当于清空

    2、【echo >>】输出追加重定向,表示写入文件,末行追加一行新的到文件中。

    1. echo "add content" >> /home/data/test.sh
    2. echo "22" >> log.sh

    3、echo 语法

    1. # 语法
    2. echo [--help][--version] 或 echo [Options][字符串]
    3. # 参数:
    4. help 显示帮助
    5. –version显示版本信息
    6. *
    7. # 选项:
    8. -n 不要输出衍生的新行, 不加时默认换行
    9. -e 启用反斜线转义解释
    10. -E 禁用反斜线转义解释(默认)
    11. 字符串可以加引号,也可以不加引号
    12. 如果使用-e选项,则可以使用如下转义序列:
    13. 字符 意义
    14. \a 发出警告声
    15. \b 删除前一个字符
    16. \c 不产生进一步输出,只输出\c之前的内容
    17. \f 换行,但下一行内容起始位置和上一行从\f处换行的位置对齐
    18. \n 换行,下一行内容和上一行内容对齐
    19. \r 换行字符,光标移至行首,输出\r后面的内容
    20. \t 插入tab水平制表符
    21. \v 换行,但下一行内容起始位置和上一行从\v处换行的位置对齐
    22. \\ 反斜线,插入\字符 反斜线,
    23. \nnn 插入nnn(八进制)所代表的ASCII字符
    24. \0NNN 八进制值表示的字节NNN(1到3个数字)
    25. \xHH 十六进制值表示的字节NNN(1到2个数字)

    *
    *
    *
    *
    *

  • 相关阅读:
    2023-11-18 mysql-sysbench压测TPS/QPS-记录
    mediapipe最小编译、插件开发及demo
    【MySQL从0到1】第五篇:表的增删查改
    pandas notes 30
    element-ui组件输入框之放大镜(搜索图标)
    高通KMD框架详解
    python实现办公自动化读书笔记——自动化整理文件
    音乐创作软件:ToneLIB Jam v4.7.8 Crack
    R语言ggplot2可视化:使用ggpubr包的ggline函数可视化分组折线图(点线图、line plot)、linetype参数指定不同分组线型不同
    【Matplotlib绘制图像大全】(二十六):Matplotlib读取本地图像
  • 原文地址:https://blog.csdn.net/KingCruel/article/details/127700206