【Linux-常用命令】Linux 常用命令大全

本文详细介绍了Linux系统中的各种常用命令,包括文件管理(目录操作、打包压缩等)、文件权限管理、程序运行(命令行、后台、服务)、系统管理、用户管理、软件安装等,为开发者提供了一个全面的学习和参考指南。
摘要由CSDN通过智能技术生成

img

无论你是编程小白还是职场老手,都建议你收藏这份常用 Linux 命令手册。

无论是后端程序员还是前端程序员,一定避免不了和Linux系统打交道。可能是自己在学习的时候搭建虚拟机环境,也可能是在公司测试环境进行服务的维护,甚至可能去线上服务器进行生产问题的排查。

这就要求我们要熟练使用Linux命令行,相关的常用命令很可能不经常使用就忘了,这里我收集了一些常用命令以便需要时查看,欢迎作补充。(这里的提到操作都默认以CentOS系统为基础)

如果你还没有安装 Linux 虚拟机,可以参考这篇文章:

开发攻城狮必备的Linux虚拟机搭建指南

img

1)文件管理

1.1.目录操作

切换目录 cd

查看目录 ls

  • -l 列出文件详细信息 或者直接ll
  • -a 列出当前目录下所有文件及目录,包括隐藏的a(all)

创建目录 mkdir

  • -p 创建目录,若无父目录,则创建p(parent)

输出信息 echo

打印文件到命令行(查看文件) cat

改变文件所属用户 chown

改变文件所属组 chgrp

下载文件 wget

在文本文件中查找某个字符串 grep

统计文本中行数、字数、字符数 wc

部分显示 more/less

查找文件 find / -name 'auto.cnf'

创建空文件 touch

复制文件 cp

移动或重命名 mv

删除文件 rm

  • -r 递归删除,可删除子目录及文件
  • -f 强制删除

删除空目录 rmdir

树形结构显示目录,需要安装tree包 tree

显示当前目录 pwd

创建链接文件 ln

分页显示文本文件内容 more、less

显示文件头、尾内容 head、tail

1.2.vim 操作

进入编辑器 vi/vim,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

  • 进入编辑模式插入 i
  • 退出编辑模式 esc
  • 保存:后面输入w
  • 退出:后面输入q
  • 不保存退出:后面输入q!
  • 显示行号 set number
  • 查找关键字 /xxxx 按n跳到下一个,shift+n上一个
  • 复制光标所在行,并粘贴 yyp
  • h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

1.3.打包压缩相关命令

打包压缩 tar\gzip\bzip2

  • -c归档文件
  • -x 压缩文件
  • -z gzip压缩文件
  • -j bzip2压缩文件
  • -v 显示压缩或解压缩过程 v(view)
  • -f 使用档名

例如

只打包,不压缩:tar -cvf /home/abc.tar /home/abc

打包,并用gzip压缩:tar -zcvf /home/abc.tar.gz /home/abc

打包,并用bzip2压缩:tar -jcvf /home/abc.tar.bz2 /home/abc

如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。

1.4.Linux 管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例如

grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

1.5.Linux 远程拷贝命令

# 1、从本地拷贝文件到远程的命令
scp 本机文件名  远程主机用户名@远程主机名或ip:本地存放路径
# 2、从本地 拷贝文件夹到 远程的命令
scp -r 本机文件名  远程主机用户名@远程主机名或ip:本地存放路径
# 3、从远程拷贝文件到本地的命令
scp 远程主机用户名@远程主机名或ip:本地存放路径  本机文件名
# 4、从远程拷贝文件夹到本地的命令
scp -r 远程主机用户名@远程主机名或ip:本地存放路径  本机文件名

1.6.查看文件目录大小

目录的容量(du)语法格式[plain] du [-ahskm] 文件或者目录名

参数解释:

-a:列出所有的文件与目录容量,因为默认仅统计目录的容量而已

-h:以人们较易读的容量格式呈现(G/M/K)显示,自动选择显示的单位大小

-s:列出总量而已,而不列出每个个别的目录占用容量

-k:以KB为单位进行显示

-m:以MB为单位进行显示常用命令参考 查看当前目录大小[plain] du -sh ./

查看某一指定目录大小:[plain] du -sh directory_name

在指定目录下显示10个占用空间最大(最小)的目录或文件最大:[plain] du -sh * | sort -nr | head

最小:[php] du -sh * | sort -n | head

2)文件权限管理

2.1.三种基本权限

R:读,数值表示为 4

W:写,数值表示为 2

X:可执行,数值表示为1

[root@VM-16-2-centos ~]# ll
total 597952
-rw------- 1 root root  12387614 Aug 29  2021 apache-zookeeper-3.7.0-bin.tar.gz
-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

如上所示,jdk-8u281-linux-x64.rpm文件的权限为-rw-r--r--,一共十个字符,分成四段。

  • 第一个字符“-”表示普通文件;这个位置还可能会出现l链接;d表示目录
  • 第二三四个字符rw-表示当前所属用户的权限,所以用数值表示为 4+2=6
  • 第五六七个字符r--表示当前所属组的权限,所以用数值表示为 4
  • 第八九十个字符r--表示其他用户权限,所以用数值表示为 4

所以操作此文件的权限用数值表示为 644

2.2.更改权限

更改权限:sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名

例如:有一个文件 filename,权限为-rw-r----x ,将权限值改为-rwxrw-r-x,用数值表示为765

sudo chmod u+x g+w o+r filename` 也可以用数值表示 `sudo chmod 765 filename

3)运行程序

3.1.命令行运行

运行./filename

退出ctrl+c

3.2.后台运行

后台运行jar nohup java -jar xxx.jar 2>&1 &

运行 nohup command >out.file 2>&1 &

退出 ps -ef |grep 关键字 |awk '{print $2}'|xarg kill -9

3.3.服务方式运行

设置开机启动 systemctl enable

启动systemctl start

关闭systemctl stop

4)系统相关

4.1.系统管理命令

查看端口占用情况 netstat -tunlp | grep 端口号

查看cpu使用情况 lscpu或者cat /proc/cpuinfo

指定行数查看日志信息 tail -f xx

显示指定文件的详细信息,比ls更详细 stat

显示在线登陆用户 who

显示当前操作用户whoami

显示主机名hostname

显示系统信息uname

动态显示当前耗费资源最多进程信息top

显示瞬间进程状态 ps \ ps -aux

查看目录大小 du -h /home (带有单位显示目录信息)

查看磁盘大小 df -h (带有单位显示磁盘信息)

查看内存 top

查看磁盘IO读写情况 iotop(需要安装一下:yum install iotop

直接查看输出比较高的磁盘读写程序 iotop -o

查看网络情况 ifconfig

测试网络连通 ping

显示网络状态信息 netstat

命令不会用了,看文档 如:man grep

[root@VM-16-2-centos ~]# man grep
GREP(1)                    General Commands Manual                       GREP(1)
NAME
       grep, egrep, fgrep - print lines matching a pattern

SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
……

清屏 clear

对命令重命名 alias ,如:alias showmeit="ps -aux" ,解除使用unaliax showmeit

杀死进程 kill,可以先用pstop命令查看进程的id,然后再用kill命令杀死进程。kill -9 强制删除

查看进程 ps aux

查看端口号占用情况 nestat -tunlp | grep

远程传输 scp -r /dir/xx root@ip:/dir

4.2.防火墙

查看防火墙状态 firewall-cmd --state

停止防火墙 systemctl stop firewalld.service

禁止firewall开机启动 systemctl disable firewalld.service

4.3.关机和重启

关机 shutdown -h now

  • -r 关机重启
  • -h 关机不重启
  • now 立刻关机

重启 reboot

关机 halt

4.4.网络配置

查看网卡信息 ifconfig

网络配置 /etc/sysconfig/network-script/ifcfg-eth0

配置网卡 /etc/udev/rules.d/70-persistent-net.rules

5)用户管理

创建用户 useradd

设置密码 passwd

  • 存储组账号 /etc/group
  • 系统用户配置文件 /etc/passwd

存储用户账号的密码 /etc/shadow

存储用户组账号的密码/etc/gshadow

用户名useradd

用户名userdel

用户名adduser

组名groupadd

组名groupdel

给root设置密码passwd root

su root
su - root

系统环境变量/etc/profile

用户环境变量bash_profile

用户环境变量.bashrc

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown [-R] owner[:group] {File|Directory}
-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

例如

还以 jdk-8u281-linux-x64.rpm 为例。属于用户root,组root

要想切换此文件所属的用户及组。可以使用命令。

sudo chown daley:java jdk-8u281-linux-x64.rpm

6)安装软件

6.1.下载 rpm 安装包方式

安装 rpm -i jdk-XXX_linux-x64_bin.rpm

查找 rpm -qa | grep jdk

列表 rpm -qa | more

ubuntu dpkg 方式

查找dpkg -I | grep jdk

列表dpkg -I | more

安装dpkg -i jdk-XXX_linux-x64_bin.deb

6.2.yum 方式

比如安装 vim:yum install -y vim

比如卸载 vim:yum erase vim*

安装 rz:yum install lrzsz

  • rz:从本地上传文件至服务器

  • sz filename:从服务器下载文件至本地

离线下载安装包:yum -y install vim --downloadonly --downloaddir /home/test/

搜索 yum search jdk

安装 yum install java-11-openjdk.x86_64

删除 yum erase java-11 -openjdk.x86 64

配置文件 /etc/yum.repos.d/CentOS-Base.repo

ubuntu apt-get 方式

搜索 apt・cache search jdk

安装apt-get install openjdk-9-jdk

删除apt-get purge openjdk-9-jdk

配置文件/etc/apt/sources. Iist

6.3.下载压缩文件方式

编辑 .bashrc

环境变量配置

  • 打开环境变量文件 vi /etc/profile
  • 配置环境变量 export JAVA_HOME=/root/j d k-XXX_lin ux-x64
  • export PATH=$JAVA HOME/bin:$PATH
  • 刷新配置 source /etc/profile
  • 41
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值