Linux常用命令

一套非常实用的Linux命令(基于CentOS 7.6)

系统服务管理

systemctl

systemctl命令是servicechkconfig命令的组合体,可用于管理系统。

  • 输出系统中各个服务的状态:
systemctl list-units --type=service

img

  • 查看服务的运行状态:
systemctl status firewalld

img

  • 关闭服务:
systemctl stop firewalld

img

  • 启动服务:
systemctl start firewalld

img

  • 重新启动服务(不管当前服务是启动还是关闭):
systemctl restart firewalld
  • 重新载入配置信息而不中断服务:
systemctl reload firewalld
  • 禁止服务开机自启动:
systemctl disable firewalld

img

  • 设置服务开机自启动:
systemctl enable firewalld

img

文件管理

ls

列出指定目录下的所有文件,列出/目录下的文件:

ls -l /

img

pwd

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

img

cd

改变当前工作目录:

cd /usr/local

img

#date

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

date '+%Y-%m-%d %H:%M:%S'

img

#passwd

用于设置用户密码:

passwd root

img

su

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

su -

clear

用于清除屏幕信息

man

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

man ls

who

  • 查询系统处于什么运行级别:
who -r

img

  • 显示目前登录到系统的用户:
who -buT

img

free

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

free -m

1

img

ps

  • 显示系统进程运行动态:
ps -ef
  • 查看sshd进程的运行动态:
ps -ef | grep sshd

img

#top

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

img

#mkdir

创建目录:

img

#more

用于分页查看文件,例如每页10行查看boot.log文件:

more -c -10 /var/log/boot.log

1

img

#cat

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

cat -Ab /var/log/boot.log

1

img

#touch

用于创建文件,例如创建text.txt文件:

touch text.txt

1

img

#rm

  • 删除文件:
rm text.txt

1

  • 强制删除某个目录及其子目录:
rm -rf testdir/

1

img

#cp

用于拷贝文件,例如将test1目录复制到test2目录

cp -r /mydata/tes1 /mydata/test2

1

#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

img

  • 分页查看压缩包中内容(gzip):
tar -ztvf /mydata/etc.tar.gz |more -c -10

img

  • 解压文件到当前目录(gzip):
tar -zxvf /mydata/etc.tar.gz
  • 解压文件到指定目录(gzip):
tar -zxvf /mydata/etc.tar.gz -C /mydata/etc

磁盘和网络管理

df

查看磁盘空间占用情况:

df -hT

img

dh

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

du -h --max-depth=1 ./*

img

ifconfig

显示当前网络接口状态:

img

netstat

  • 查看当前路由信息:
netstat -rn

img

  • 查看所有有效TCP连接:
netstat -an
  • 查看系统中启动的监听服务:
netstat -tulnp1

img

  • 查看处于连接状态的系统资源信息:
netstat -atunp

wget

从网络上下载文件

img

文件上传下载

  • 安装上传下载工具lrzsz
yum install -y lrzsz
  • 上传文件,输入以下命令XShell会弹出文件上传框;
rz
  • 下载文件,输入以下命令XShell会弹出文件保存框;
sz fileName

软件的安装与管理

rpm

RPM是Red-Hat Package Manager的缩写,一种Linux下通用的软件包管理方式,可用于安装和管理.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

1

yum

Yum是Yellow dog Updater, Modified的缩写,能够在线自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,非常方便!

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

用户管理

用户信息查看

  • 查看用户信息:
cat /etc/passwd
  • 用户信息格式如下(密码已过滤):
# 用户名:密码:用户标识号:组标识号:组注释性描述:主目录:默认shell
root:x:0:0:root:/root:/bin/bash
macro:x:1000:982:macro:/home/macro:/bin/bash
  • 查看用户组信息:
cat /etc/group
  • 用户组信息格式如下:
# 组名:密码:组标识号:组内用户列表
root:x:0:
docker:x:982:macro,andy

passwd

用于设置用户密码:

passwd root

img

su

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

# 切换到root用户
su -
# 切换到macro用户
su macro

groupadd

添加用户组,使用-g可以设置用户组的标志号:

groupadd -g 1024 macrozheng

1

groupdel

删除用户组:

groupdel macrozheng

1

useradd

添加用户,-u设置标志号,-g设置主用户组:

useradd -u 1024 -g macrozheng macro

usermod

修改用户所属用户组:

usermod -g docker macro

userdel

删除用户,使用-r可以删除用户主目录:

userdel macro -r

Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

相关文章:史上最全Vim快捷键键位图 — 入门到进阶


什么是 vim?

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vim 键盘图:

img


vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:

img


vi/vim 使用实例

使用 vi/vim 进入一般模式

如果你想要使用 vi 来建立一个名为 runoob.txt 的文件时,你可以这样做:

$ vim runoob.txt

直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

img

按下 i 进入输入模式(也称为编辑模式),开始编辑文字

在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!

在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。

这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

img

按下 ESC 按钮回到一般模式

好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!

在一般模式中按下 :wq 储存后离开 vi

OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开!

img

OK! 这样我们就成功创建了一个 runoob.txt 的文件。

posted @ 2022-05-25 10:53  我是个机器人  阅读(29)  评论(0编辑  收藏  举报