开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6。

系统服务管理

systemctl

  • 输出系统中各个服务的状态:
systemctl list-units --type=service复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYTQ1ODRiYTI
  • 查看服务的运行状态:
systemctl status firewalld复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYTdjZWE0OWQ
  • 关闭服务:
systemctl stop firewalld复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYTViMGI2Y2Q
  • 启动服务:
systemctl start firewalld复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYTVkNmRkMTI
  • 重新启动服务(不管当前服务是启动还是关闭):
systemctl restart firewalld复制代码
  • 重新载入配置信息而不中断服务:
systemctl reload firewalld复制代码
  • 禁止服务开机自启动:
systemctl disable firewalld复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYTdlMzY5YmI
  • 设置服务开机自启动:
systemctl enable firewalld复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyYWI5YjEzYzA

文件管理

ls

列出当前目录(/)下的所有文件:

ls -l /复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZGJlYzE3ZTM

pwd

获取目前所在工作目录的绝对路径

aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZWViMzA5MTk

cd

改变当前工作目录:

cd /usr/local复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZGJkYjBhYjc

date

显示或修改系统时间与日期;

date '+%Y-%m-%d %H:%M:%S'复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZGZlNWI3NDI

passwd

用于设置用户密码:

passwd root复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZTMzOGY0NjQ

su

改变用户身份(切换到超级用户):

su -复制代码

clear

用于清除屏幕信息

man

显示指定命令的帮助信息:

man ls复制代码

who

  • 查询系统处于什么运行级别:
who -r复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYyZTY5OGMwMTM
  • 显示目前登录到系统的用户:
who -buT复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMGJjMWY2MjQ

free

显示系统内存状态(单位MB):

free -m复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMGNkMGY2YWM

ps

显示系统进程运行动态:

ps -ef复制代码

查看sshd进程的运行动态:

ps -ef | grep sshd复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMTEzNDViMjQ

top

查看即时活跃的进程,类似Windows的任务管理器

aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMjBhZGQ0MTY

mkdir

创建目录

aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMWI1YWZkODM

more

用于文件过长时分页查看文件内容 每页10行查看boot.log文件

more -c -10 /var/log/boot.log复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMmNhMjA5ZWE

cat

查看Linux启动日志文件文件,并标明行号:

cat -Ab /var/log/boot.log复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMzI3ZGM1OGY

touch

创建text.txt文件:

touch text.txt复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzMmZkMTVkNDg

rm

  • 删除文件:
rm text.txt复制代码
  • 强制删除某个目录及其子目录:
rm -rf testdir/复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNDhkMDM3MmI

cp

将test1目录复制到test2目录

cp -r /mydata/tes1 /mydata/test2复制代码

mv

移动或覆盖文件:

mv text.txt text2.txt复制代码

压缩与解压

tar

  • 将/etc文件夹中的文件归档到文件etc.tar(并不会进行压缩):
tar -cvf /mydata/etc.tar /etc复制代码
  • 用gzip压缩文件夹/etc中的文件到文件etc.tar.gz:
tar -zcvf /mydata/etc.tar.gz /etc复制代码
  • 用bzip2压缩文件夹/etc到文件/etc.tar.bz2:
tar -jcvf /mydata/etc.tar.bz2 /etc复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNDhjOTIyMTg
  • 分页查看压缩包中内容(gzip):
tar -ztvf /mydata/etc.tar.gz |more -c -10复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNTE2ZmUzNzE
  • 解压文件到当前目录(gzip):
tar -zxvf /mydata/etc.tar.gz复制代码

磁盘和网络管理

df

查看磁盘空间占用情况:

df -hT复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNGY1ZGU2NTU

dh

查看当前目录下的文件及文件夹所占大小:

du -h --max-depth=1 ./*复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNWFmN2I5MTU

ifconfig

显示当前网络接口状态

aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNjQ2OGMzNTY

netstat

  • 查看当前路由信息:
netstat -rn复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNzFkZmM2ZDc
  • 查看所有有效TCP连接:
netstat -an复制代码
  • 查看系统中启动的监听服务:
netstat -tulnp复制代码
aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNjgzMTYxZmU
  • 查看处于连接状态的系统资源信息:
netstat -atunp复制代码

wget

从网络上下载文件

aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAxOS82LzEzLzE2YjUxMTYzNzZkM2EzOTk

软件的安装与管理

rpm

  • 安装软件包:rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
  • 模糊搜索软件包:rpm -qa | grep nginx
  • 精确查找软件包:rpm -qa nginx
  • 查询软件包的安装路径:rpm -ql nginx-1.12.2-2.el7.x86_64
  • 查看软件包的概要信息:rpm -qi nginx-1.12.2-2.el7.x86_64
  • 验证软件包内容和安装文件是否一致:rpm -V nginx-1.12.2-2.el7.x86_64
  • 更新软件包:rpm -Uvh nginx-1.12.2-2.el7.x86_64
  • 删除软件包:rpm -e nginx-1.12.2-2.el7.x86_64

yum

  • 安装软件包: yum install nginx
  • 检查可以更新的软件包:yum check-update
  • 更新指定的软件包:yum update nginx
  • 在资源库中查找软件包信息:yum info nginx*
  • 列出已经安装的所有软件包:yum info installed
  • 列出软件包名称:yum list nginx*
  • 模糊搜索软件包:yum search nginx

发表回复